From efaf74023d3e0bdab2e25122c2112826c4a714cb Mon Sep 17 00:00:00 2001 From: Dan Connolly Date: Wed, 7 Oct 2026 04:48:15 -0500 Subject: [PATCH] diigo-cache: webkey page logs in with the password manager /cache/ without a fragment is now a login form: petname (autocomplete=username) and cache id (type=password, autocomplete=current-password), the shape password managers fill from the entries the save button makes. Its inputs have no name, so a native submit (script failed) sends nothing; the key stays in memory, out of the address bar and history. Home links to it. Generated-by: Claude Opus 5.5 --- diigo-cache/src/cache-page.ts | 27 +++++++++++++++++++++++++-- diigo-cache/src/index.ts | 1 + diigo-cache/tests/fill.test.ts | 11 +++++++++++ 3 files changed, 37 insertions(+), 2 deletions(-) diff --git a/diigo-cache/src/cache-page.ts b/diigo-cache/src/cache-page.ts index 1944619..c019f62 100644 --- a/diigo-cache/src/cache-page.ts +++ b/diigo-cache/src/cache-page.ts @@ -5,6 +5,11 @@ * it for a capability (`api.cache(key)`, Cap'n Web over /api, in-band), * and drives the fill job. Each round trip is its own HTTP batch session: * calls made before an await travel together. + * + * Without a fragment, the page is a login form a password manager fills + * (petname as username, cache id as password). Its inputs have no + * `name`, so a native submit (script failed) sends nothing; the key + * stays in memory, out of the address bar and history. */ export const CACHE_PAGE_HTML = ` @@ -13,6 +18,11 @@ export const CACHE_PAGE_HTML = `

diigo cache

+