jueves, julio 9

Este resumen es generado por inteligencia artificial y revisado por la redacción.

`; document.body.appendChild(modalWrapper); let figcaption = modalWrapper.querySelector(«figcaption»); if(figcaption) figcaption.style.display=»none»; modalWrapper.querySelector(«.s-multimedia__close-modal»).addEventListener(«click»,()=>{modalWrapper.remove(); e.style.display=»flex»; if(caption) caption.style.display=»block»;});})})});});

Meta está trabajando en una nueva herramienta de edición para WhatsApp que permitirá ocultar información de los mensajes y que obligará a los usuarios a pinchar en él para descubrir lo que contiene.

Meta está trabajando en una nueva herramienta de edición para WhatsApp que permitirá ocultar información de los mensajes y que obligará a los usuarios a pinchar en él para descubrir lo que contiene.

MIRA: Mark Zuckerberg en el banquillo: las claves del histórico proceso que podría definir el futuro de las redes sociales

La nueva herramienta de edición de los mensajes se presenta con el nombre de ‘Spoiler’ (destripar o desvelar) y permite a un usuario esconder información en un mensaje de texto, de tal forma que si se selecciona, la información no será visible en la conversación aunque el mensaje se haya enviado.

La información permanecerá oculta bajo una franja de color y para descubrir de qué se trata, el resto de participantes tienen que tocar la burbuja del mensaje, como ha compartido el portal especializado WABetainfo.

De esta manera, se evita que todos los miembros de un grupo descubran un dato clave de una película recién estrenada o de una novela antes de que hayan podido verla o leerla, y permite a los participantes elegir si quieren arriesgarse con el contenido.

Se trata de una herramienta en desarrollo, presente en la beta de WhatsApp para iOS v26.6.10.71. Por el momento se limita a los mensajes de texto y no hay información que indique planes para extenderla a otros formatos, como vídeos o imágenes.

Conforme a los criterios de

Tipo de trabajo:

‘+sanitizeHTML(modalConfig.message)+’

‘;}function closeSources(){isSourcesExiting=true;const sourcesEl=document.getElementById(‘merlin-sources-overlay’);if(sourcesEl){sourcesEl.className=CLS.sourcesOverlay+’ ‘+CLS.sourcesOverlayExiting;}setTimeout(function(){showSources=false;isSourcesExiting=false;sourcesButtonRect=null;sourcesData=[];nonNoticiaUrlsData=[];document.body.style.overflow=»;if(sourcesEl&&sourcesEl.parentNode){sourcesEl.parentNode.removeChild(sourcesEl);}},200);}function getDisplayTitle(source){if(source.title)return source.title;try{const url=new URL(source.url.replace(/[?&]merlin=true/,»));const pathname=url.pathname;const lastSegment=pathname.split(«https://elcomercio.pe/»).filter(Boolean).pop()||»;return lastSegment .replace(/-/g,’ ‘).replace(/bw/g,function(char){return char.toUpperCase();});}catch{return ‘Ver artículo’;}}function getNonNoticiaDisplayTitle(urlItem,index){if(urlItem.title)return urlItem.title;try{var clean=urlItem.url.split(‘?’)[0];var urlObj=new URL(clean);var path=urlObj.pathname.replace(/^/+/,»).replace(//$/,»);if(!path)return index!==undefined?’Ver enlace ‘+(index+1):’Ver enlace’;return ‘Ver ‘+path;}catch(e){return index!==undefined?’Ver enlace ‘+(index+1):’Ver enlace’;}}function escapeHTML(str){if(!str)return »;const div=document.createElement(‘div’);div.textContent=str;return div.innerHTML;}function sanitizeURL(url){if(!url)return »;try{const parsed=new URL(url);if(parsed.protocol!==’http:’&&parsed.protocol!==’https:’){return »;}return parsed.href;}catch{return »;}}function renderSources(){if(!showSources||(sourcesData.length===0&&nonNoticiaUrlsData.length===0))return »;const totalSources=sourcesData.length+nonNoticiaUrlsData.length;const isSingleSource=totalSources===1;return »;}const root=document.createElement(‘div’);root.id=’merlin-widget-root’;document.body.appendChild(root);function render(){root.innerHTML=’

‘+(isLoggedIn()?renderModal():»)+renderWarningModal()+renderSources()+’

‘;setupModalEventDelegation();bindEvents();}function setupModalEventDelegation(){document.removeEventListener(‘click’,handleGlobalOverlayClicks,true);document.addEventListener(‘click’,handleGlobalOverlayClicks,true);setTimeout(function(){const warningCloseBtn=document.getElementById(‘merlin-warning-modal-close’);const warningModal=document.getElementById(‘merlin-warning-modal’);const sourcesCloseBtn=document.getElementById(‘merlin-sources-close’);const sourcesOverlay=document.getElementById(‘merlin-sources-overlay’);},0);}function handleGlobalOverlayClicks(e){const target=e.target;if(!target||!target.closest)return;if(target.closest(‘#merlin-warning-modal-close’)){e.preventDefault();e.stopPropagation();closeModal();return;}if(target.closest(‘#merlin-sources-close’)){e.preventDefault();e.stopPropagation();closeSources();return;}const warningModal=document.getElementById(‘merlin-warning-modal’);if(warningModal&&target===warningModal){closeModal();return;}const sourcesOverlay=document.getElementById(‘merlin-sources-overlay’);if(sourcesOverlay&&target===sourcesOverlay){closeSources();return;}const showSourcesBtn=target.closest(‘[data-show-sources]’);if(showSourcesBtn){e.preventDefault();e.stopPropagation();const messageId=showSourcesBtn.getAttribute(‘data-show-sources’);sourcesButtonRect=showSourcesBtn.getBoundingClientRect();const msg=messages.find(function(m){return m.id===messageId;});if(!msg)return;if(msg.enrichedSources){sourcesData=msg.enrichedSources.noticiaSources||[];nonNoticiaUrlsData=msg.enrichedSources.nonNoticiaSources||[];showSources=true;isSourcesExiting=false;document.body.style.overflow=’hidden’;const totalSources=sourcesData.length+nonNoticiaUrlsData.length;const isSingleSource=totalSources===1;const finalHTML=»;const widgetDiv=root.querySelector(‘.’+CLS.widget);if(widgetDiv){const existingSources=document.getElementById(‘merlin-sources-overlay’);if(existingSources&&existingSources.parentNode){existingSources.parentNode.removeChild(existingSources);}widgetDiv.insertAdjacentHTML(‘beforeend’,finalHTML);setupModalEventDelegation();}return;}const urls=msg.urls&&msg.urls.length>0?msg.urls:extractUrlsFromMessage(msg.text);if(urls&&urls.length>0){if(!msg.urls){msg.urls=urls;}let noticiaUrls=urls.filter(function(u){return isNoticiaUrl(u.url);});const nonNoticiaUrls=urls.filter(function(u){return!isNoticiaUrl(u.url);});if(noticiaUrls.length>5){noticiaUrls=noticiaUrls.slice(noticiaUrls.length-5);}nonNoticiaUrlsData=nonNoticiaUrls;showSources=true;isSourcesExiting=false;document.body.style.overflow=’hidden’;const skeletonCount=noticiaUrls.length;const isSingleSource=skeletonCount===1;let skeletonItems=»»;for(let i=0;i‘;}const skeletonHTML=»;const widgetDiv=root.querySelector(‘.’+CLS.widget);if(widgetDiv){const existingSources=document.getElementById(‘merlin-sources-overlay’);if(existingSources&&existingSources.parentNode){existingSources.parentNode.removeChild(existingSources);}widgetDiv.insertAdjacentHTML(‘beforeend’,skeletonHTML);setupModalEventDelegation();}enrichSources(noticiaUrls).then(function(enrichedSources){sourcesData=enrichedSources;msg.enrichedSources={noticiaSources:enrichedSources,nonNoticiaSources:nonNoticiaUrls};const sourcesList=document.querySelector(‘.’+CLS.sourcesList);if(sourcesList&&showSources){let html=sourcesData.map(function(source){const safeUrl=sanitizeURL(source.url);if(!safeUrl)return »;const urlWithMerlin=safeUrl.includes(‘?’)?safeUrl+’&chatbotmerlin=true’:safeUrl+’?chatbotmerlin=true’;const safeCategory=escapeHTML(source.category);const safeAuthor=escapeHTML(source.author);const safeTimestamp=escapeHTML(source.timestamp);const safeTitle=escapeHTML(getDisplayTitle(source));const safeImage=sanitizeURL(source.image);const safeAlt=escapeHTML(source.title||’Imagen de la fuente’);return ‘

  • ‘+»+(safeCategory?’

    ‘+safeCategory+’

    ‘:»)+’

    ‘+((safeAuthor||safeTimestamp)?»:’
    ‘+safeTitle+’

    ‘)+(safeImage?’

    ‘:»)+’

    ‘+»+’

  • ‘;}).join(»);html+=nonNoticiaUrlsData.map(function(urlItem,index){const safeUrl=sanitizeURL(urlItem.url);if(!safeUrl)return »;const urlWithMerlin=safeUrl.includes(‘?’)?safeUrl+’&chatbotmerlin=true’:safeUrl+’?chatbotmerlin=true’;const safeTitle=escapeHTML(getNonNoticiaDisplayTitle(urlItem,index));return ‘

  • ‘+»+’
    ‘+safeTitle+’

    ‘+»+’

  • ‘;}).join(»);sourcesList.innerHTML=html;}}).catch(function(err){console.error(‘[Merlin Widget]Error enriching sources:’,err);});}}}function renderModal(){return »;}function renderChat(){let messagesHTML=»;if(messages.length>0){messagesHTML=messages.map(function(msg){return renderMessage(msg);}).join(»);}else{messagesHTML=’

     

    ‘;}return ‘

    ‘+messagesHTML+(isBotTyping?renderTypingIndicator():»)+’

    ‘+renderInput()+’

    ‘+_0x3m4n+’

    ‘;}function isMobileDevice(){return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)||(‘ontouchstart’ in window)||(navigator.maxTouchPoints>0);}function updateChatDOM(){const modalBody=document.querySelector(‘.’+CLS.body);if(!modalBody)return;chatEventsBound=false;modalBody.innerHTML=renderChat();const container=document.querySelector(‘.’+CLS.chatMessages);if(container){container.style.overflowY=’auto’;container.style.overflowX=’hidden’;container.style.flex=’1′;container.style.display=’flex’;container.style.flexDirection=’column’;const targetBottom=container.scrollHeight;const startPosition=Math.max(0,targetBottom-container.clientHeight-150);container.scrollTop=startPosition;requestAnimationFrame(function(){container.scrollTo({top:container.scrollHeight,behavior:’smooth’,});});}setupChatEvents();if(pendingInputRestore){const input=document.getElementById(‘merlin-input’);if(input&&pendingInputRestore){input.value=pendingInputRestore;pendingInputRestore=null;if(!isMobileDevice()){input.focus();}}}else if(!isBotTyping&&isLoggedIn()&&!showModal&&!showSources){setTimeout(function(){const input=document.getElementById(‘merlin-input’);if(input&&!input.disabled&&!isMobileDevice()){input.focus();}},100);}const warningModal=root.querySelector(‘.’+CLS.warningModal);if(warningModal){warningModal.outerHTML=renderWarningModal();}else if(showModal){const widgetDiv=root.querySelector(‘.’+CLS.widget);if(widgetDiv){widgetDiv.insertAdjacentHTML(‘beforeend’,renderWarningModal());}}const sourcesOverlay=root.querySelector(‘.’+CLS.sourcesOverlay);if(sourcesOverlay){sourcesOverlay.outerHTML=renderSources();}else if(showSources){const widgetDiv=root.querySelector(‘.’+CLS.widget);if(widgetDiv){widgetDiv.insertAdjacentHTML(‘beforeend’,renderSources());}}}function renderMessage(msg){const bubbleClass=msg.type===’sent’?CLS.bubbleContainer+’ ‘+CLS.bubbleContainerSent:CLS.bubbleContainer+’ ‘+CLS.bubbleContainerReceived;const bubbleTypeClass=msg.type===’sent’?CLS.bubble+’ ‘+CLS.bubbleSent:CLS.bubble;if(msg.type===’received’){const formattedText=formatTextToHTML(msg.text);const sanitizedHTML=sanitizeHTML(formattedText);const urls=msg.urls&&msg.urls.length>0?msg.urls:extractUrlsFromMessage(msg.text);const hasUrls=urls&&urls.length>0;if(hasUrls&&!msg.urls){msg.urls=urls;}const showSourcesButton=msg.hasValidSources===true||(msg.enrichedSources&&(msg.enrichedSources.noticiaSources.length>0||msg.enrichedSources.nonNoticiaSources.length>0));return ‘

    ‘+sanitizedHTML+’

    ‘+(showSourcesButton?’

    ‘+ICONS.sourceIcon+’

    Fuentes‘:»)+’

    ‘;}else{const div=document.createElement(‘div’);div.textContent=msg.text;const escapedText=div.innerHTML;return »;}}function renderTypingIndicator(){return ‘

    ‘+ICONS.merlinThinkingIcon+’

    ‘;}function renderScrollButton(){return »;}function renderInput(){const placeholder=isLoggedIn()?’Pregúntale a Merlín’:’Por favor inicia sesión’;const disabledAttr=!isLoggedIn()?’ disabled’:»;return ‘

    ‘;}function renderTooltip(){return »;}let chatEventsBound=false;function setupChatEvents(){if(chatEventsBound)return;chatEventsBound=true;const input=document.getElementById(‘merlin-input’);const sendBtn=document.getElementById(‘merlin-send’);const messagesContainer=document.querySelector(‘.’+CLS.chatMessages);const scrollBtn=document.getElementById(‘merlin-scroll-down’);if(input){input.addEventListener(‘keydown’,function(e){if(e.key===’Enter’&&!e.shiftKey&&!isBotTyping){e.preventDefault();handleSend();}});input.addEventListener(‘input’,function(e){if(!isBotTyping){const cursorPos=input.selectionStart;const originalValue=e.target.value;const sanitized=sanitizeInput(originalValue);if(sanitized!==originalValue){const diff=originalValue.length-sanitized.length;input.value=sanitized;const newPos=Math.max(0,cursorPos-diff);input.setSelectionRange(newPos,newPos);}}});input.addEventListener(‘touchstart’,function(e){if(!input.disabled){input.readOnly=false;}},{passive:true});input.addEventListener(‘focus’,function(){if(!input.disabled){input.readOnly=false;}});}if(sendBtn){sendBtn.addEventListener(‘click’,handleSend);sendBtn.addEventListener(‘touchend’,function(e){e.preventDefault();handleSend();});}if(messagesContainer){messagesContainer.addEventListener(‘scroll’,checkScrollPosition,{passive:true});}if(scrollBtn){scrollBtn.addEventListener(‘click’,function(){scrollToBottom(true);});scrollBtn.addEventListener(‘touchend’,function(e){e.preventDefault();scrollToBottom(true);});}}async function handleSend(){const input=document.getElementById(‘merlin-input’);if(!input||!isLoggedIn()||isBotTyping)return;const messageToSend=input.value.trim();if(messageToSend){const validation=validateMessage(messageToSend);if(!validation.valid){errorMessage=validation.error||’Mensaje no válido.’;showModal=true;isModalExiting=false;insertWarningModal();input.focus();return;}try{window.dataLayer=window.dataLayer||[];window.dataLayer.push({event:’merlin_search_query’,search_term:messageToSend,query_type:’manual’,query_location:’widget’});}catch(e){console.error(‘Error pushing to dataLayer:’,e);}if(showModal){closeModal();}input.value=»»;await handleSendMessage(messageToSend);}}let mainEventsBound=false;function bindEvents(){const widgetBtn=document.getElementById(‘merlin-widget-button’);const closeBtn=document.getElementById(‘merlin-close’);const expandBtn=document.getElementById(‘merlin-expand’);const tooltipBtn=document.getElementById(‘merlin-tooltip-btn’);const tooltipMenu=document.getElementById(‘merlin-tooltip-menu’);const aboutBtn=document.getElementById(‘merlin-about’);const clearBtn=document.getElementById(‘merlin-clear’);if(widgetBtn){widgetBtn.onclick=function(){if(!isLoggedIn())return;toggle();};}if(closeBtn){closeBtn.onclick=toggle;closeBtn.ontouchend=function(e){e.preventDefault();toggle();};}if(expandBtn){expandBtn.onclick=expand;expandBtn.ontouchend=function(e){e.preventDefault();expand();};}if(tooltipBtn){const toggleTooltip=function(e){e.stopPropagation();tooltipOpen=!tooltipOpen;const menu=document.getElementById(‘merlin-tooltip-menu’);if(menu){if(tooltipOpen){menu.classList.remove(‘merlin-hidden’);}else{menu.classList.add(‘merlin-hidden’);}}};tooltipBtn.onclick=toggleTooltip;tooltipBtn.ontouchend=function(e){e.preventDefault();toggleTooltip(e);};}if(aboutBtn){aboutBtn.onclick=function(){window.open(«https://elcomercio.pe/»+LANDING_REDIRECT,’_blank’,’noopener,noreferrer’);tooltipOpen=false;const menu=document.getElementById(‘merlin-tooltip-menu’);if(menu)menu.classList.add(‘merlin-hidden’);};}if(clearBtn){clearBtn.onclick=function(){clearChat();tooltipOpen=false;const menu=document.getElementById(‘merlin-tooltip-menu’);if(menu)menu.classList.add(‘merlin-hidden’);};}if(!mainEventsBound){mainEventsBound=true;document.addEventListener(‘click’,function(e){const menu=document.getElementById(‘merlin-tooltip-menu’);const btn=document.getElementById(‘merlin-tooltip-btn’);if(menu&&btn&&tooltipOpen&&!menu.contains(e.target)&&!btn.contains(e.target)){tooltipOpen=false;menu.classList.add(‘merlin-hidden’);}});document.addEventListener(‘keydown’,handleEscKey);}}function handleEscKey(e){if(e.key===’Escape’){if(showSources){closeSources();}else if(showModal){closeModal();}}}function toggle(){if(isOpen){chatEventsBound=false;if(showModal){showModal=false;errorMessage=null;responseMessage=null;responseCode=null;remainingQuestions=null;isModalExiting=false;const modalEl=document.getElementById(‘merlin-warning-modal’);if(modalEl&&modalEl.parentNode){modalEl.parentNode.removeChild(modalEl);}}if(showSources){showSources=false;isSourcesExiting=false;document.body.style.overflow=»;const sourcesEl=document.getElementById(‘merlin-sources-overlay’);if(sourcesEl&&sourcesEl.parentNode){sourcesEl.parentNode.removeChild(sourcesEl);}}}const wasOpen=isOpen;isOpen=!isOpen;const existingModal=document.querySelector(‘.’+CLS.modal);if(existingModal){if(isOpen){existingModal.classList.add(CLS.modalOpen);}else{existingModal.classList.remove(CLS.modalOpen);}}else{render();}if(isOpen&&!wasOpen){chatEventsBound=false;retrieveHistory().then(function(){updateChatDOM();setTimeout(function(){scrollToBottom(false);checkScrollPosition();},100);}).catch(function(error){console.error(‘Error loading chat history:’,error);updateChatDOM();setTimeout(function(){scrollToBottom(false);checkScrollPosition();},100);});}else if(isOpen){try{const lastSync=localStorage.getItem(_0x9i0j);if(lastSync){retrieveHistory().then(function(){updateChatDOM();setTimeout(function(){scrollToBottom(false);checkScrollPosition();},100);}).catch(function(error){console.error(‘Error reloading messages:’,error);});}}catch(error){}setTimeout(function(){scrollToBottom(false);checkScrollPosition();},100);}}function expand(){try{localStorage.setItem(‘merlin-expand-to-chat’,’true’);localStorage.setItem(‘merlin-origin-url’,window.location.href);}catch(error){console.error(‘Error al guardar estado:’,error);}window.location.href=window.location.origin+»https://elcomercio.pe/»+REDIRECT_PATH;}(function setupStorageListener(){window.addEventListener(‘storage’,function(e){if(e.key===_0x1k2l&&e.newValue!==e.oldValue){if(isOpen&&isLoggedIn()){messages=[];showScrollButton=false;updateChatDOM();tooltipOpen=false;const scrollBtnContainer=document.querySelector(‘.’+CLS.chatScrollDownButtonContainer);if(scrollBtnContainer){scrollBtnContainer.classList.add(‘merlin-hidden’);}}}else if(e.key===_0x9i0j&&e.newValue!==e.oldValue){if(isOpen&&isLoggedIn()){setTimeout(function(){retrieveHistory().then(function(){responseCode=null;responseMessage=null;errorMessage=null;updateChatDOM();setTimeout(function(){scrollToBottom(false);checkScrollPosition();},100);}).catch(function(error){console.error(‘Error reloading messages after sync:’,error);});},500);}}});})();function startWidget(){(async function init(){try{await waitForCryptoHelpers();}catch(error){console.error(‘Failed to load cryptoHelpers:’,error);}messages=[];render();})();}if(document.readyState===’loading’){document.addEventListener(‘DOMContentLoaded’,startWidget);}else{startWidget();}})();

    Share.
    Exit mobile version