[codex] Sync local validation and Firefox compatibility updates - #1
Conversation
|
Validation summary for this sync branch:
Remaining blocker:
|
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Free Run ID: ⛔ Files ignored due to path filters (4)
📒 Files selected for processing (77)
📝 WalkthroughWalkthroughTransforms SnapVault's architecture from offscreen-specific to multi-browser heavy-worker pattern, adding Edge support, comprehensive documentation (design system, testing rules, architecture guides), ML model bundling with local WASM assets, centralized heavy-worker service, dynamic browser-shell synchronization, and new CI/CD infrastructure for cross-browser testing and Firefox linting. Changes
Estimated code review effort🎯 5 (Critical) | ⏱️ ~120 minutes Poem
📝 Coding Plan
Note 🎁 Summarized by CodeRabbit FreeYour organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login. Comment Tip CodeRabbit can approve the review once all CodeRabbit's comments are resolved.Enable the |
|
Added a new top-level Included in the README:
|
Summary
This PR syncs GitHub with the full local SNAPV project state and carries the browser-extension validation and Firefox compatibility work that was completed locally. The branch is intended to make the remote repository match the current local tree exactly, including code, tests, build scripts, workflow updates, generated assets, and documentation.
What Changed
The diff includes the current local project state across the extension runtime, build pipeline, docs, tests, and supporting assets. The most important product-facing changes are:
User Impact
Before this work, real Firefox usage exposed runtime gaps that did not show up clearly enough in the pre-existing local/CI flow. In particular, Firefox production tabs could miss the content-script receiver needed for page-backed actions, which could break behavior like DOM redaction and other tab-message-driven operations. That meant a build could look healthy in development while still failing in real browser-extension usage.
With this branch, the repository now includes the code and validation changes needed to keep the local project and GitHub aligned, and the extension behavior is validated more like a real shipped product across Chrome, Edge, and Firefox.
Root Cause
The main product issue found during real-browser validation was Firefox-specific runtime behavior around content-script availability and extension messaging. Some page-backed flows depended on a receiver being present in the tab, but Firefox production behavior could leave that receiver unavailable when the background service attempted to send messages. The result was transport failures in flows that relied on tab messaging.
A second issue was that the editor-side DOM redaction flow could treat malformed transport failures like successful responses, which hid the real error from the user.
Fix
The fix was to make the runtime more explicit and browser-aware:
Validation
The local validation performed for this branch included:
npm run typechecknpm run test:runnpm run test:e2e:extension:chromiumnpm run test:e2e:extension:edgenpm run test:firefox:packageOne transient Chromium Playwright service-worker startup timeout occurred during an initial rerun of the full Chromium suite, but the isolated test passed immediately and the full Chromium matrix passed cleanly on rerun.
Remaining External Blocker
Live Stripe checkout/webhook verification is still blocked by missing test credentials and price IDs. The code and validation path for the browser-extension product have been updated, but the live licensing end-to-end pass still depends on the required Stripe test configuration being supplied.
Notes For Reviewers
This PR is intentionally broad because the request was to make the remote repository match the local project exactly. Reviewers should treat this as a repo-sync plus validation-hardening branch rather than a narrowly scoped single-feature change.
Summary by CodeRabbit
Release Notes v3.1.0
New Features
Improvements
Infrastructure