Theseus: remove the non-functional "Add this site's search" (+) entry

Dropped the OpenSearch "+" item from the engine dropdown and the per-page
OpenSearch scan that fed it (it ran a fetch on every page load). Users add
engines via Settings instead.
This commit is contained in:
Local Dev 2026-08-01 01:37:18 +02:00
parent 48aa007591
commit 73f3781825
2 changed files with 1 additions and 19 deletions

View file

@ -25,7 +25,6 @@
<div id="list"></div>
<div class="sep"></div>
<div class="foot">
<div class="item" id="detected" hidden><span class="ic"><span class="em"></span></span><span class="nm" id="detName"></span></div>
<div class="item" id="settings"><span class="ic"><span class="em">⚙️</span></span><span class="nm">Search settings…</span></div>
</div>
</div>
@ -43,13 +42,8 @@
return `<div class="item" data-id="${esc(e.id)}"><span class="ic">${ic}</span><span class="nm">${esc(e.name)}</span>${e.id === d.current ? '<span class="chk"></span>' : ""}</div>`;
}).join("");
list.querySelectorAll(".item").forEach((el) => el.onclick = () => window.picker.pick(el.dataset.id));
// "Add this site's search" (OpenSearch scan)
const det = $("detected");
if (d.detected && d.detected.name) { det.hidden = false; $("detName").textContent = "Add " + d.detected.name; }
else det.hidden = true;
report();
});
$("detected").onclick = () => window.picker.addDetected();
$("settings").onclick = () => window.picker.openSettings();
</script>
</body></html>

14
main.js
View file

@ -680,20 +680,8 @@ function createTab(initial, opts = {}) {
wc.on("page-title-updated", (_e, title) => { tab.title = title; emitTabs(); });
wc.on("did-navigate", () => emitTabs());
wc.on("did-navigate-in-page", () => emitTabs());
wc.on("did-start-loading", () => { tab.detected = null; setLoading(tab, true); });
wc.on("did-start-loading", () => setLoading(tab, true));
wc.on("did-stop-loading", () => setLoading(tab, false));
// OpenSearch scan: note any search engine the page advertises, so the picker
// can offer to add it ("Add <site>'s search").
wc.on("did-finish-load", async () => {
if (tab.settings) return;
try {
const href = await wc.executeJavaScript(
`(()=>{const l=document.querySelector('link[rel="search"][type="application/opensearchdescription+xml"]');return l?new URL(l.getAttribute('href'),location.href).href:null})()`, true);
if (!href) return;
const osd = await fetchOpenSearch(href);
if (osd) { tab.detected = osd; if (tab.id === activeId && epVisible) emitEngines(); }
} catch {}
});
wc.on("will-navigate", (e, u) => {
try {
const parsed = new URL(u);