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

Facebook restaura perfil de Eduardo Bolsonaro; rede diz ter havido engano

Deputado federal Eduardo Bolsonaro (PSL-SP) durante sessão deliberativa na Câmara, em abril de 2020 - Cleia Viana/Câmara dos Deputados
Deputado federal Eduardo Bolsonaro (PSL-SP) durante sessão deliberativa na Câmara, em abril de 2020 Imagem: Cleia Viana/Câmara dos Deputados

De Tilt, em São Paulo

20/07/2021 16h22Atualizada em 21/07/2021 14h51

A conta do Facebook do Eduardo Bolsonaro (PSL-SP) voltou ao normal no início da tarde desta terça-feira (20), informou a rede social a Tilt. O perfil do deputado federal tinha sido suspenso após uma publicação que, segundo o Facebook, foi removida por engano. Até então, o prazo sem o ao perfil seria de 30 dias.

"O post de Eduardo Bolsonaro foi removido indevidamente e já foi restaurado. A consequente restrição foi levantada do perfil do deputado", diz nota enviada pelo Facebook.

A empresa não deu maiores detalhes sobre o tipo de publicação feita. No entanto, informação da coluna "Ancelmo Gois", do jornal "O Globo", dizia que a postagem tinha relação com frases supostamente ditas por Adolf Hitler.

Tilt apurou que existe uma ação judicial entre as partes e, por isso, a rede social não tem dado muitos detalhes sobre esse caso. Da parte do deputado, a própria coluna do jornal "O Globo" cita que Eduardo Bolsonaro solicitou uma liminar na Justiça para remover as restrições de seu perfil no Facebook.

De modo geral, um post pode ser removido e restaurado por diversas razões. Em um documento da rede social, o Facebook diz que isso ocorre quando há violação dos padrões da comunidade, como discurso de ódio, assédio ou difamação.

Muitas vezes estes conteúdos são removidos usando tecnologia automatizada e acabam sendo restaurados após uma segunda análise — que parece que foi o que aconteceu com a postagem de Eduardo Bolsonaro.

Ainda que a página do deputado tenha voltado à normalidade, ele já tinha levado um "gancho" do Facebook. Em junho, ele ficou sete dias sem poder usar sua página após publicar um vídeo de seu pai dizendo que metade das mortes ocorridas por covid-19 no Brasil não ocorreram por causa da doença — a informação foi desmentida pelo próprio pai do deputado, o presidente Jair Bolsonaro.

Casos de família

A família Bolsonaro tem histórico de suspensões ou notificações de postagem de conteúdo falso em redes sociais.

Em abril deste ano, por exemplo, Facebook e Instagram marcaram uma postagem do presidente Jair Bolsonaro como falsa.

Tratava-se de um vídeo em que um homem dizia que que os títulos em português do jornal "El País" sobre a participação do presidente no Fórum Econômico Mundial, em 2019, não correspondiam com os feitos em espanhol. Segundo apuração da Agência Lupa, havia uma má tradução de palavras do espanhol para o português, e que o vídeo enganava a audiência.

Em pelo menos duas ocasiões, o Twitter marcou postagens de membros da família como falsas durante o período de pandemia. Uma feita em janeiro na conta do presidente Bolsonaro por por defender tratamento precoce, algo que já foi comprovado como ineficiente, e em outra feita por Eduardo Bolsonaro criticando o lockdown.