;(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

Usar mal o celular pode bloquear app Caixa Tem e interromper auxílio

Filipe Andretta

Do UOL, em São Paulo

10/12/2020 04h00

Usar o mesmo celular para ar mais de uma conta no Caixa Tem pode levar ao bloqueio do aplicativo e deixar a pessoa sem auxílio emergencial, abono salarial do PIS/Pasep e dinheiro de outros progrmas sociais do governo. Segundo a Caixa, por razões de segurança, o app aceita apenas uma conta por número de celular (chip) e até duas contas por aparelho.

Quando o aplicativo é bloqueado pelo uso de mais contas do que o permitido, é necessário ir pessoalmente a uma agência. A Caixa afirma que o desbloqueio é imediato, mas usuários reclamam do tempo de espera para o atendimento e do risco de contaminação durante a pandemia.

O Caixa Tem é o aplicativo usado para ar e movimentar a poupança social digital de caixa. É nessa poupança que o banco deposita o auxílio emergencial para todos os beneficiários, exceto os do Bolsa Família.

Desde este mês, a Caixa está usando o aplicativo também para o grupo do Bolsa Família e para o depósito do abono salarial (PIS/Pasep). O app é usado também para pagamento do BEm (Benefício Emergencial de Manutenção do Emprego e da Renda) para empregados intermitentes.

Professora precisa ajudar mãe, mas não consegue

A professora Ana Paula Santos, de 44 anos, ou pelo problema de ter o app bloqueado. Ela recebe o auxílio emergencial e mora em Angra dos Reis (RJ), mas precisa ar a poupança digital da mãe, que mora em Volta Redonda (RJ).

As coisas lá [em Volta Redonda] estão cada vez piores, aí achei melhor que ela não fosse mais à lotérica enfrentar fila. Minha mãe tem 70 anos e é cheia de comorbidades. Então eu ava o Caixa Tem pelo meu celular, com o F dela.
Ana Paula Santos, professora

Ela afirma que é muito difícil conseguir atendimento presencial na única agência da Caixa de Angra dos Reis, município que tem cerca de 207 mil habitantes. "Como é que vou fazer para ir lá com meu bebê pequeno, sabendo que vou ficar oito horas na fila?", questiona.

Agora, a professora diz que pretende explicar para a mãe por telefone como ar o Caixa Tem sozinha. "Vamos tentar assim, não sei se dará certo."

Bloqueio por suspeita de hackers

A operadora de caixa Claudirene Coelho, 43, afirma que já foi quatro vezes a uma agência da Caixa em Santa Luzia (MG) para tentar solucionar o problema do aplicativo, mas ainda não conseguiu. Ela recebeu a explicação que sua conta foi bloqueada depois de uma tentativa de ataque hacker.

"Fiz os testes na presença dos funcionários da agência, mas eles me falaram que não podiam fazer mais nada. O e tecnológico da caixa disse que tinha um bloqueio por monitoramento e, mesmo informando todas as vezes em que fui até a agência, me ignoraram", diz Claudirene.

Procedimento para desbloquear o app

Segundo a Caixa, quem receber a mensagem "Procure uma agência da CAIXA com seu documento de identidade para regularizar seu cadastro" deve seguir essa orientação para a regularização da conta. O banco afirma que o desbloqueio na agência é imediato.

Já em caso de "inconsistência cadastral", o beneficiário deverá realizar um novo o ao aplicativo e enviar a documentação solicitada, sem precisar ir à agência. Neste caso, o Caixa Tem enviará mensagem com um link que leva a uma conversa no aplicativo WhatsApp.

O banco pede que as pessoas nunca abram links enviados fora do aplicativo Caixa Tem, para evitar golpes.