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

Após ameaça de suspensão, Telegram indica novos representantes no Brasil

Do UOL, em Brasília

26/05/2023 15h09Atualizada em 27/05/2023 10h11

O Telegram indicou ao STF (Supremo Tribunal Federal) o nome de quatro advogados que vão defender a plataforma no Brasil. A manifestação foi enviada após cobrança do ministro Alexandre de Moraes, que ameaçou suspender a plataforma por 48 horas caso não fossem nomeados novos representantes.

Quem são os advogados:

Marcel Leonardi
Fernanda Simplicio Maia
Guilherme Viana
Guilherme Nunes Lima

Advogado deixou o Telegram; Moraes cobrou novo representante

Como mostrou o UOL, o escritório Campos Thomaz e Meirelles Advogados Associados, que representava a plataforma no Brasil, deixou os processos.
A renúncia foi comunicada pelos advogados no último dia 16 e foi motivada por "razões de foro íntimo".
O UOL apurou que o principal motivo para a renúncia foram as intimações pessoais do advogado Alan Thomaz. Isso fazia com que ele fosse tratado como um representante istrativo do Telegram no Brasil, e não sócio do escritório que defende a empresa em processos judiciais.
Thomaz foi ouvido pela PF no inquérito que mira o Telegram por disparar mensagem contra o PL das Fake News e informou aos investigadores que não presta mais serviços para a empresa.
Em decisão proferida nesta tarde, Moraes afirmou que a saída do advogado deixou o Telegram sem representante no país, dificultando o o da Justiça à empresa.

Diante do exposto, DETERMINO QUE SE INTIME a empresa TELEGRAM INC. para que, no prazo de 24 (vinte e quatro) horas, iniciadas a partir da intimação pelo canal eletrônico por ela informado proceda à indicação, em Juízo, de representação oficial no Brasil (pessoa física ou jurídica), sob pena de suspensão do funcionamento dos serviços do TELEGRAM no Brasil, pelo prazo inicial de 48 (quarenta e oito) horas"
Alexandre de Moraes

Telegram é investigado em inquérito

Junto do Google, o Telegram é alvo de um inquérito instaurado no Supremo a pedido da PGR. O objetivo é investigar dirigentes das duas empresas que tenha participado de uma campanha de desinformação contra o PL 2630, o PL das Fake News.

A manifestação da PGR se baseou em uma notícia-crime enviada pelo presidente da Câmara, Arthur Lira (PP-AL), que apontou "contundente e abusiva ação" das plataformas contra o projeto de lei. Lira apontou que tanto o Google quanto o Telegram visam "resguardar seus interesses econômicos" e "tem lançado mão de toda a sorte de artifícios em uma sórdida campanha de desinformação, manipulação e intimidação".

São mencionados o link disponibilizado na página inicial do Google e a mensagem disparada pelo Telegram a todos os usuários, ambos críticos ao PL das Fake News. Eles já foram retirados do ar.

Na avaliação da Câmara, as plataformas podem ter cometido crimes contra as instituições democráticas, contra a ordem consumerista e crimes contra a economia e as relações de consumo.

O cenário fático narrado aponta para a existência de elementos de informações mínimos da prática de conduta delituosa que fundamentam a possibilidade de instauração de procedimento de investigação sob a supervisão do Supremo Tribunal Federal, a exemplo do que ocorre em caso similar sob apuração desta Corte no Inquérito n. 4.874"
Procuradoria-Geral da República, em manifestação ao STF

No último dia 10, Moraes mandou o Telegram deletar, em uma hora, a mensagem enviada contra o PL das Fake News. Na decisão, Moraes ameaçou suspender a plataforma no país por 72 horas caso ela descumprisse a medida.

O ministro determinou ainda que o Telegram envie novo comunicado dizendo que a mensagem anterior do aplicativo caracterizou "ilícita desinformação". A plataforma cumpriu a decisão e enviou o texto ontem a todos os usuários.