Skip to content

feat: start YouTube transcriptions from Chrome - #35

Merged
MyButtermilk merged 5 commits into
mainfrom
codex/youtube-chrome-handoff
Aug 24, 2026
Merged

feat: start YouTube transcriptions from Chrome#35
MyButtermilk merged 5 commits into
mainfrom
codex/youtube-chrome-handoff

Conversation

@MyButtermilk

@MyButtermilk MyButtermilk commented Aug 24, 2026

Copy link
Copy Markdown
Owner

Summary

  • add a narrow Manifest V3 Chrome extension with an inline YouTube action and toolbar fallback
  • register and strictly validate the versioned scriber://youtube/transcribe desktop handoff
  • forward secondary Windows launches to the already-running tray instance without exposing the backend token
  • consume the one-shot request in the authenticated WebView and reuse the existing captions-first YouTube job
  • add the public Chrome Web Store privacy disclosure and document installation, architecture, security boundaries, and focused gates

Validation

  • node --test browser-extension\chrome\tests\shared.test.cjs (3 passed)
  • cd Frontend && npm run test:lib (98 passed)
  • cd Frontend && npm run check
  • cd Frontend && npm run lint
  • cd Frontend && npm run build:webview
  • scripts\project-python.cmd -m pytest tests\api\test_youtube_routes.py -q (15 passed)
  • cargo fmt -- --check
  • cargo metadata --locked --no-deps --format-version 1
  • loaded the unpacked extension in an isolated Chrome-for-Testing profile and verified the button on a live YouTube watch page

Native test note

The focused Rust unit tests could not reach the crate on this workstation because its Visual Studio installation lacks the Windows SDK headers/libraries (windows.h, kernel32.lib). The PR's Windows CI runner should provide the authoritative native build/test result.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c2bea56293

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment on lines +1879 to +1883
for request in
drain_single_instance_deep_links(SINGLE_INSTANCE_MUTEX_NAME, started_at_ms)
{
if let Err(error) =
queue_youtube_deep_link_navigation(app.handle(), &request, false)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Preserve every queued browser handoff

When two extension launches reach a starting primary instance before the WebView navigation listener is ready, this loop drains both requests and calls queue_youtube_deep_link_navigation for each, but PendingNavigationState::queue stores only one pending value. The emitted events have no listener yet, so each iteration overwrites the previous request and only the final video is transcribed; retain a queue or wait for acknowledgement before advancing to the next request.

AGENTS.md reference: AGENTS.md:L346-L350

Useful? React with 👍 / 👎.

@MyButtermilk
MyButtermilk merged commit 3914a4e into main Aug 24, 2026
6 checks passed
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.

1 participant