;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Logo Pagbenk Seu dinheiro rende mais
Topo

Itaú diz que vai ressarcir multa de conta atrasada após falha em site e app

Fachada de uma agência do Itaú, que teve problemas em site e app nesta quinta. - Shutterstock
Fachada de uma agência do Itaú, que teve problemas em site e app nesta quinta. Imagem: Shutterstock

Do UOL, em São Paulo

04/03/2022 15h20Atualizada em 04/03/2022 15h21

Após uma falha no sistema do banco Itaú tirar o site e o aplicativo do ar nesta quinta-feira (3), a instituição afirmou que irá ressarcir os clientes que tiveram que pagar multa porque atrasaram o pagamento de contas.

"Clientes com faturas de cartões e boletos vencidos na quinta-feira (3) e pagos nesta sexta-feira (4) terão juros e encargos referentes a 1 dia de atraso inibidos ou, se cobrados, ressarcidos automaticamente em sua conta corrente", informou o Itaú em nota enviada ao UOL.

"Demais situações serão avaliadas caso a caso", acrescentou.

Segundo o Itaú, a origem do problema teve relação com um atraso no processamento de dados e reforçou que "a causa não teve relação com quaisquer eventos externos" e que "lamenta o transtorno".

Segundo o Idec (Instituto Brasileiro de Defesa do Consumidor) os correntistas devem ficar atentos aos direitos e deveres em casos como este. Quem usou o dinheiro que apareceu a mais na conta, por exemplo, terá que devolvê-lo. Se o pagamento de contas não foi processado, é preciso entrar em contato com o fornecedor para ver se o débito foi quitado.

Itaú fora do ar

Na quinta (4), clientes do Itaú relataram nas redes sociais problemas em seus extratos bancários. Eles afirmavam que estavam sem saldo, enquanto outros declaravam que foram feitos saques não identificados nas contas, e que o dinheiro havia sumido.

Houve relatos também de entrada de dinheiro não especificado, pagamentos realizados que retornaram às contas e de impossibilidade de o até mesmo em caixas eletrônicos. O caos foi tão grande que o aplicativo e o site do banco também saíram do ar

Ao todo, o Itaú tem mais de 56 milhões de correntistas, segundo o relatório mais recente do banco, de 2020.

"Estamos melhorando nossos serviços", diz a mensagem que aparece no app do Itaú - Reprodução - Reprodução
Usuários não conseguem ar o app do Itaú: "Estamos melhorando nossos serviços", diz a mensagem
Imagem: Reprodução

O que diz o Itaú

Em nota enviada ao UOL, o Itaú conta que o erro ocorreu por causa de um atraso no processamento de dados bancários.

"O Itaú Unibanco informa que está atuando intensamente para solucionar a inconsistência de informações verificada no extrato e saldo das contas correntes de parte de seus clientes nesta quinta-feira (3). A origem do problema está relacionada com um atraso no processamento de dados bancários, o que gerou a necessidade de reprocessamento destes. Portanto, a causa não tem relação com quaisquer eventos externos. O banco lamenta o transtorno e trabalha para que a situação seja corrigida o mais rapidamente possível", destaca.

O Itaú não informou à reportagem quantos clientes foram afetados. Depois, no fim da noite de ontem, o banco informou que "os extratos e saldos das contas correntes de todos os seus clientes estavam atualizados, com todos os valores integralmente recompostos". O o via canais digitais, porém, estava "sendo liberado gradativamente".

Nas redes sociais, clientes relatavam filas em pontos de atendimento.