Skip to content

feat(youtube): browser extension skeleton for YouTube and YouTube Music (#136) - #407

Merged
rowkav09 merged 1 commit into
mainfrom
feat/youtube-extension
Sep 24, 2026
Merged

rowkav09 merged 1 commit into
mainfrom
feat/youtube-extension

Conversation

@rowkav09

Copy link
Copy Markdown
Member

Part of #136, slice 2. Adds extension/youtube/, a Manifest V3 extension for Chrome and Edge. It's separate from the app, and nothing in the app changes.

  • Permissions: storage, http://127.0.0.1/*, and content scripts on www.youtube.com and music.youtube.com. No tabs, history, cookies or other sites.
  • reader.js: reads only the player on the page: video ID from the URL, title, channel and artwork from the page's media session, position, duration, paused and live. Every YouTube-specific selector is in this one file. Shorts and ads return "skip", and non-watch pages return nothing.
  • content.js: reports while playing (every 10 s and on play/pause/end), reports a pause once, and says "stopped" on ads, Shorts, leaving the page or closing the tab.
  • background.js: adds a per-tab ID and posts to 127.0.0.1:<port>/bridge/youtube with the pairing code. Nothing is sent until paired.
  • Options page: paste the pairing code, set the port, unpair. Plain layout, blue and orange only, keyboard focus visible.

Tests run the real reader.js against fixture pages (normal, paused, Music, ad, Shorts, live, search page). They check the manifest's permissions, and that the events it builds pass the app's bridge schema from #395.

Not yet: the app route and pairing code (#405 plus the next PR), and zipping it in CI (release lane). Testers can load the folder unpacked for now.

Checks

@rowkav09

Copy link
Copy Markdown
Member Author

/mira resume

@github-actions

Copy link
Copy Markdown
Contributor

/mira pause

@github-actions github-actions Bot added mira-paused Pause automatic Mira reviews on this pull request size:L labels Sep 24, 2026
@codecov

codecov Bot commented Sep 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

📢 Thoughts on this report? Let us know!

@rowkav09
rowkav09 force-pushed the feat/youtube-extension branch from 0ba8116 to 0ffb143 Compare September 24, 2026 12:42
@rowkav09

Copy link
Copy Markdown
Member Author

No Mira review came in after /mira resume (Mira is still paused). Rebased, tests pass and every check is green. I reviewed it myself: minimal permissions, selectors isolated in reader.js, nothing sent until paired, and it doesn't touch the app. Merging with an explicit squash message.

@rowkav09
rowkav09 merged commit 4e8bc8f into main Sep 24, 2026
11 checks passed
@rowkav09
rowkav09 deleted the feat/youtube-extension branch September 24, 2026 12:44
@github-project-automation github-project-automation Bot moved this from Backlog to Done in nowplaying Sep 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

mira-paused Pause automatic Mira reviews on this pull request size:L

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant