diff --git a/README.md b/README.md index 52ccbd2..73f74df 100644 --- a/README.md +++ b/README.md @@ -11,13 +11,12 @@ you subscribe to it with your own atproto account. `` head tags as hints. Verification is bidirectional: the well-known endpoint at the publication record's own `url` must return the record's at-uri. -- The toolbar icon shows per-tab status as a small dot overlaid on the logo's - bottom-right corner: grey refresh dot while checking, green dot for a - verified publication (hollow green ring when signed out, so subscription - state is unknown), green dot with a check when subscribed, amber dot with - an exclamation for an unverified candidate or a detection error, red dot - with an X when the page is not on standard.site. Non-http pages show the - bare logo. +- The toolbar icon is always the substandard logo; per-tab status is shown + with Chrome's native action badge: grey `•` while checking, plain green + while a verified publication is detected (`?` on green when signed out, so + subscription state is unknown), `✓` on green when subscribed, `!` on amber + for an unverified candidate or a detection error, `x` on red when the page + is not on standard.site. Non-http pages carry no badge. - The popup shows the publication's name, icon, and description, plus the current article when the page has a document record. - The popup also carries a per-state status line (`src/lib/status.ts`), so @@ -120,11 +119,11 @@ whitespace/EOF/JSON hygiene, the typecheck above, and `tofu fmt -check` for Layout: - `src/background.ts` — service worker: per-tab detection state, toolbar - icon states, public reads (records, subscription list) + badge states, public reads (records, subscription list) - `src/content.ts` — reads head link tags, reports to the worker - `src/lib/detection.ts` — well-known probing and verification -- `src/lib/icon.ts` — icon state mapping and OffscreenCanvas compositing - (logo + status-dot overlay) +- `src/lib/icon.ts` — state and badge mapping, plus the overscanned base + icon render - `src/lib/atproto.ts` — DID/handle resolution, public record fetches - `src/lib/oauth.ts` — OAuth client; extension pages only, never the worker (the browser OAuth client needs `window`/`localStorage`)