Skip to content

Popup pair button + OpenRouter placeholder + green CI + rewritten Pages homepage#7

Merged
amiller merged 3 commits into
mainfrom
ux-ci-docs
May 3, 2026
Merged

Popup pair button + OpenRouter placeholder + green CI + rewritten Pages homepage#7
amiller merged 3 commits into
mainfrom
ux-ci-docs

Conversation

@amiller

@amiller amiller commented May 3, 2026

Copy link
Copy Markdown
Contributor

Three loosely-related improvements bundled because they're all small.

1. Extension UX (commit d3714cd)

  • Popup "📱 Pair phone" button under the doomscroll toggle. Opens dashboard with #pair hash → auto-starts QR flow on load.
  • New "⚙ Advanced" card on dashboard with OpenRouter API key placeholder. No effect yet (LLM-roast push body needs RFC 8291 payload encryption first), but lets power users plant their key now.
  • 2 new Playwright tests for the deep link + key persistence. 9/9 pass.

2. CI fix (commit f4d923c)

The previous workflow ran the old e2e.spec.ts (BYO-server flow) under docker compose. After the architecture pivot, that spec's assumptions (visible #serverUrl in popup, InnerTube poll path) are stale and CI has failed on every PR since.

Replaced with a lean native-Playwright run of extension-only.spec.ts:

  • No docker / compose / container builds
  • ~2min CI vs previous ~5min
  • Actually tests the local-only path users follow now

The BYO-server e2e.spec.ts stays in the repo for manual runs; updating it for the ⚙-gated popup form is separate work.

3. Docs rewrite (commit b2f4b5b)

The Pages homepage described the BYO-server flow as the default. After the pivot, the canonical flow is:

  1. Load unpacked from git clone (Web Store coming)
  2. Click icon → popup shows your shorts count in ~1s
  3. Tick "Doomscroll notifications" → laptop alerts
  4. Optional: click "Pair phone" → scan QR → phone alerts
  5. Optional/advanced: BYO server for cross-device cookie sync

Trust model section now itemizes what (if anything) leaves the machine per opt-in mode.

🤖 Generated with Claude Code

amiller and others added 3 commits May 3, 2026 14:43
…enRouter key placeholder

Three small UX additions that round out the v0 onboarding:

- Popup now has a "📱 Pair phone" secondary button under the doomscroll
  toggle. Click → opens dashboard.html#pair in a new tab. If a phone is
  already paired, button reads "Phone paired — re-pair" and a small
  green note confirms.
- Dashboard treats #pair hash as a deep link: if no phone is paired and
  no in-flight pairing, auto-runs startPairing() on load. So the
  popup button is one-click to QR.
- New "⚙ Advanced" card on the dashboard with an OpenRouter API key
  field. Currently a no-op placeholder — copy explains "no effect yet —
  feature in flight". Lets power users plant their key now so it's
  picked up the moment LLM-roast push payloads ship.

Adds two Playwright tests covering the deep-link auto-start and the
OpenRouter key persistence. 9/9 in extension-only.spec.ts pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…spec

The previous workflow ran docker compose to bring up the Deno server
and a Playwright container, then executed e2e.spec.ts which tests the
old "extension syncs cookies → server polls InnerTube → server sends
push" flow. After the local-only architecture pivot, that spec's
assumptions (visible #serverUrl in popup; InnerTube poll path) no
longer hold and CI has been failing on every PR.

Replaces the workflow with a lean native Playwright run:

- setup-node@v4 with cached test/package-lock.json
- Materialize cookies.json from the YT_COOKIES_JSON repo secret
- npm ci + playwright install --with-deps chromium
- Run extension-only.spec.ts (9 tests, ~15s locally)

No docker, no compose, no container builds — runs in ~2min vs the
previous ~5min, and actually tests the path users now follow.

The old e2e.spec.ts (BYO-server flow) is left in the repo for manual
runs but no longer gates CI; updating it for the new popup ⚙-gated
config form is a separate piece of work.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The old homepage was entirely stale — described the BYO-server flow
(install ext → run server → cookie sync → server polls) which is now
an *optional* advanced path. The default user flow is dramatically
simpler:

  1. Load unpacked from a git clone (Web Store coming).
  2. Click extension icon → popup populates with shorts count in ~1s.
  3. Tick "Doomscroll notifications" → laptop alerts work.
  4. Optional: click "Pair phone" → scan QR → phone alerts work.

New page reflects that ordering. Drops the Mac-specific Deno install
and ngrok tunnel sections (no longer needed for the default path).
Adds a brief "BYO server (advanced)" section pointing power users to
the ⚙ panel for the cross-device cookie-sync use case. Trust model
section adapted to describe what data leaves the machine in each
opt-in mode (none in default; ~300 bytes through ntfy.sh once at phone
pairing; cookies to your own server in BYO).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@amiller amiller merged commit 7057835 into main May 3, 2026
@amiller amiller deleted the ux-ci-docs branch May 3, 2026 18:43
amiller added a commit that referenced this pull request May 3, 2026
…tecture

Old description still mentioned "Sync your YouTube cookies to your
self-hosted OpenFeedling server" which is now an optional advanced
path, not the default. New description (99 chars, well under Web
Store's 132-char limit) reflects the actual local-only flow.

Version bump to 0.2.0 reflects the substantial architecture change
shipped over PRs #3-#7: HTML+ytInitialData fetch path, ID-set delta
activity detection, popup-as-status + dashboard split, QR-pair phone
flow with VAPID push, OpenRouter placeholder.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@TuneMe81

TuneMe81 commented May 5, 2026

Copy link
Copy Markdown

c

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants