javascript:(async()=>{var p=/contact:([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})/gi;function i(){return document.querySelector('div[role="tabpanel"][id*="tabpanel-all"] ul')}function u(e){let o=new Set;for(let[,r]of e.matchAll(p))o.add(r.toLowerCase());return[...o]}(function(){"use strict";let e=i();if(!e){alert("No conversation panel found on this page.");return}let o=Array.from(e.querySelectorAll('a[href*="blissnxt"]')).map(t=>t.href),r=e.innerText?.match(/https?:\/\/blissnxt[^\s<>"']+/g)??[],f=[...o,...r],a=u(f.join(" "));if(a.length===0){alert("No Bliss contact links found in conversation.");return}let n=new URL(window.location.href),l=n.searchParams.get("tabs")??"",c=l?l.split(","):[],m=new Set(c.filter(t=>t.startsWith("contact:")).map(t=>t.slice(8))),s=a.filter(t=>!m.has(t));if(s.length===0){alert(`Found ${a.length} contact(s) but all are already open in the current URL.`);return}let d=[...c,...s.map(t=>`contact:${t}`)];n.searchParams.set("tabs",d.join(",")),n.searchParams.has("view")||n.searchParams.set("view","0"),console.log(`[Bliss Contacts] Adding ${s.length} contact(s) to URL`,s),window.location.href=n.toString()})();})()