feat: integrate local subscription feed - #99
Merged
Conversation
- preserve timestamp restoration across YouTube player replacement, media handoffs, and SPA navigation, with focused Chromium and Firefox diagnostics - persist canonical local follows from page controls and channel context menus, resolve handle-only identities, and expose visible per-playlist history controls - localize static and dynamic feed views in English, Bulgarian, German, Spanish, and French with shared plural, number, relative-time, and fallback helpers - remove unreferenced locale entries and validate merged catalogs, placeholders, runtime consumers, and UTF-8 translations - make Chrome and Firefox packaging include the complete feed runtime, recreate build trees and versioned archives, and keep Firefox locale paths store-compatible - expand unit, integration, Chromium, and Firefox coverage for feed startup, subscriptions, overlays, playlists, storage, and media-transition restores This is an integration checkpoint for the remaining pre-deployment work, not the final v5 release-candidate commit.
- update Babel core and source-map helpers beyond the reported arbitrary-file-read range - refresh web-ext, addons-linter, Firefox profile, runner, ZIP, YAML, URI, glob, and shell parsing dependencies to patched compatible releases - retain latest web-ext 10.6.0 and image-size 2.0.2; the remaining image parser denial-of-service advisories have no patched upstream release and affect development linting only - keep production dependencies audit-clean and preserve the current Firefox build and lint workflow
Remove the retired in-extension YouTube search and playlist hydration paths, preserve canonical subscriptions across backup and restore, and tighten packaged permissions and artifact cleanup.\n\nAdd matched Chrome and Firefox release/canary coverage and refresh the public documentation and roadmap for the stabilized V5 scope.
- preserve the existing documentation structure and navigation while adding screenshot-backed popup and feed guidance - generate deterministic fictional extension screenshots during every local and CI documentation build - run both destinations through one staged, strict, macros-enabled MkDocs builder - verify the complete site and all screenshot artifacts before the unchanged deployment handoff - reject machine-specific paths, private infrastructure details, and credential patterns from documentation sources
Defer saved-position restoration while YouTube is playing an ad, then resume through the existing media-transition path after the main video becomes available. Synchronize Chromium and Firefox playlist identity checks, remove fragile fresh-profile timing assumptions, and make Chromium consent handling detect, solve, and verify the YouTube consent surface. Add deterministic long-ad restore coverage and verify the complete Chromium and Firefox E2E suites.
Implement ignored-channel review, pagination, analytics, refresh scheduling, and backup improvements. Expand deterministic and live Chromium/Firefox coverage, including stable consent and Shorts SPA tracking.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR delivers the stable YT re:Watch v5 local-feed release. It expands the extension from a popup-centered history tracker into a complete local YouTube companion with explicit local subscriptions, public RSS-backed discovery, account-independent history and progress, channel management, analytics, backup/restore, and matched Chrome and Firefox coverage.
Supersedes #97 and is based on the original
local-feedimplementation by @tannery495. The original contributor commit remains in this branch ancestry and should be preserved by merging this PR with a merge commit.User-facing changes
Local subscriptions and feed
Clear feed controls
Channels and ignored imports
History, progress, Shorts, and YouTube integration
Playlist references and Watch Later
Analytics
Backup, restore, and reset
Architecture and privacy boundaries
Browser support and release packaging
Documentation and marketplace preparation
npm run marketplace:screenshotsgenerator.Deliberate v5 limits
Verification
The final branch passed:
npm run test:local:offlinenpm run lintnpm run docs:safetynpm run docs:buildnpm run marketplace:screenshotsgit diff --checkLive YouTube, RSS, channel-metadata, and permission checks remain available separately through
npm run test:canary.Attribution and review
@tannery495 — thank you for the original local-feed implementation. It provided the foundation for this integration and remains represented in the commit history. Review of the final subscription, feed, and channel behavior is welcome.
Recommended merge method: Create a merge commit so the original contributor commit and the integration history remain visible.