Rebuild search UI: zero dependencies, plain JS, DOM-only, works

Replaced complex dashboard with minimal search.html:
- No external JS/CSS files, no transpilation, no module imports
- Plain JS with .then() chains (no async/await compat issues)
- DOM-only rendering via createElement (no innerHTML with data)
- 20s AbortController timeout so fetch never hangs
- Detects /lakehouse/ proxy prefix automatically
- 7KB total, loads in 18ms

Calls lakehouse /vectors/hybrid directly — SQL filters always apply,
works even when HNSW isn't loaded (brute-force fallback).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
root
2026-04-17 13:26:27 -05:00
co-authored by Claude Opus 4.6
parent e7e988dcc0
commit 7cb9999451
2 changed files with 182 additions and 2 deletions
+4 -2
View File
@@ -852,9 +852,11 @@ tr:hover{background:#111827}
});
}
// Dashboard UI
// Dashboard — calls lakehouse /vectors/hybrid directly (no gateway hop)
if (url.pathname === "/" || url.pathname === "/dashboard") {
return new Response(Bun.file(import.meta.dir + "/dashboard.html"));
return new Response(Bun.file(import.meta.dir + "/search.html"), {
headers: { ...cors, "Content-Type": "text/html" },
});
}
if (url.pathname === "/dashboard.css") {
return new Response(Bun.file(import.meta.dir + "/dashboard.css"), { headers: { "Content-Type": "text/css" } });