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

Esse conteúdo é antigo

Após suspender Telegram, Moraes dá 24 h para app cumprir ordens pendentes

O ministro Alexandre de Moraes durante sessão no STF (Supremo Tribunal Federal) - Rosinei Coutinho/SCO/STF
O ministro Alexandre de Moraes durante sessão no STF (Supremo Tribunal Federal) Imagem: Rosinei Coutinho/SCO/STF

Do UOL, em São Paulo, e colaboração para o UOL, em Brasília

19/03/2022 17h28Atualizada em 19/03/2022 19h28

Após ordenar a suspensão do aplicativo de mensagens Telegram no Brasil, o ministro Alexandre de Moraes, do STF (Supremo Tribunal Federal), deu 24 horas para a companhia cumprir uma série de ordens judiciais pendentes.

"O Telegram, até o presente momento, cumpriu parcialmente as determinações judiciais, sendo necessário o cumprimento integral para que seja afastada a decisão de suspensão proferida em 17/3/2022", disse o ministro hoje em despacho.

Para reverter o bloqueio, o Telegram deve cumprir uma série de medidas determinadas por Moraes:

  • indicar à Justiça um representante oficial do Telegram no Brasil (pessoa física ou jurídica);
  • informar ao STF, "imediata e obrigatoriamente", as providências adotadas pelo Telegram para "o combate à desinformação e à divulgação de notícias fraudulentas, incluindo os termos de uso e as punições previstas para os usuários que incorrerem nas mencionadas condutas";
  • excluir imediatamente os links no canal oficial de Jair Bolsonaro que permitem baixar documentos de um inquérito sigiloso e não concluído da Polícia Federal;
  • bloquear o canal "Claudio Lessa", fornecer os dados cadastrais da conta ao STF e preservar a íntegra do conteúdo veiculado nesse espaço.

Após a decisão de Moraes neste sábado, o Telegram enviou nota ao UOL dizendo que está cooperando com o STF e que espera encontrar uma solução para manter o aplicativo disponível "às dezenas de milhões de brasileiros que confiam nele."

Para app, houve 'falha de comunicação'

A manifestação ocorre após o fundador e presidente executivo da empresa, Pavel Durov, pedir desculpas pela "falha de comunicação" com o STF. O executivo solicitou ontem prazo maior para atender aos primeiros pedidos do Supremo.

"Considerando o estabelecimento de comunicação da plataforma com o STF, verifico pertinência de intimação da empresa, oportunizando nova possibilidade para efetivar o cumprimento das determinações faltantes", escreveu Moraes hoje.

A determinação do STF para suspensão do Telegram atendeu a um pedido da Polícia Federal, que apontou o constante descumprimento de ordens judiciais pelo aplicativo.

Segundo a PF, a empresa que controla o aplicativo é conhecida por sua postura de "não cooperar com autoridades judiciais e policiais" dos países.

"Inclusive colocando essa atitude não colaborativa como uma vantagem em relação a outros aplicativos de comunicação, o que o torna um terreno livre para proliferação de diversos conteúdos, inclusive com repercussão na área criminal", diz o documento.

    AGU protestou contra bloqueio

    A manifestação ocorreu horas depois de a AGU (Advocacia-Geral da União) protocolou na Corte um pedido de revogação da ordem de suspensão do aplicativo de troca de mensagens.

    Na mesma solicitação, o Ministério da Justiça e Segurança Pública aponta possível "descumprimento dos direitos do consumidor" na decisão de Moraes.

    "Observa-se a violação dos direitos dos consumidores de o a serviço considerado essencial [...], em descumprimento dos direitos do consumidor, incluindo sua proteção prevista no Marco Civil da Internet, justamente por parte do Poder Judiciário, justamente a que deve zelar pela Constituição", diz a pasta em peça anexada aos autos do pedido de medida cautelar da AGU.

    Hoje mais cedo, o presidente Jair Bolsonaro (PL) criticou a decisão do STF. [Essa determinação] não encontra nenhum amparo no Marco Civil da Internet e [em] nenhum dispositivo da Constituição", disse.

    Ontem, durante participação em evento em Rio Branco (AC), Bolsonaro classificou o bloqueio do Telegram como "inissível".

    Olha as consequências da decisão monocrática de um ministro do Supremo Tribunal Federal. É inissível uma decisão dessa magnitude. Porque ele não conseguiu atingir duas ou três pessoas, que, na cabeça dele deveriam ser banidas do Telegram... Ele atinge 70 milhões de pessoas, podendo, inclusive, causar óbitos no Brasil, a partir do banimento, por falta de um contato.
    Jair Bolsonaro

    O Telegram já foi bloqueado em ao menos dez países. Na lista, está a Rússia, onde o aplicativo foi criado, e Cuba — o bloqueio aconteceu durante os protestos contra o regime local, em julho de 2021.