- server/src/routes/checkout.js: remove unused createBillingPortalSession
from the destructuring import. The portal logic lives in
routes/billing.js; checkout.js never called it.
- src/background/events.js: remove a stale commented-out
browser.runtime.openOptionsPage() line.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* Port dev.sh + release CI from curb; make redirects free
dev.sh runs Firefox via web-ext from src/ and Chrome from a dist/chrome/
symlink tree. The two manifests live at different paths, so both browsers
can run side-by-side without clobbering each other's manifest.json. Edits
in src/ propagate live to both.
release.yml builds Chrome + Firefox zips on tag push (v*) and attaches
them to a GitHub Release, retiring the manual extension.zip workflow.
The four redirect-home options (redirect_to_subs / _to_wl / _to_library /
_off) drop the premium flag — they're advertised on the store listings,
so it feels right to have them free.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* Trim dev section in README to just the commands
Cut the rationale paragraphs (symlink trick, manifest clobbering); anyone
needing that detail can read dev.sh.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* Sync dist/chrome with rsync instead of symlinks
Chrome's content-script loader silently rejects scripts whose realpath is
outside the extension directory. The popup loaded fine through symlinks
but content scripts on YouTube never injected (no Chrome error, just
nothing). Real file copies sidestep the realpath check. Trade-off: re-run
dev.sh chrome and click reload after edits.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* Fix redirect-to-Library URL after YouTube renamed Library to You
YouTube renamed the Library section to "You" and moved its URL from
/feed/library to /feed/you. The redirect option silently broke.
Fixes#123
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
YouTube migrated the subscriptions feed to yt-lockup-view-model with
yt-thumbnail-view-model inside, so `ytd-thumbnail` no longer matches
the feed thumbnails there. Add the new element to the
remove_video_thumbnails hide rule and the blur_video_thumbnails filter
rule so both features work on /feed/subscriptions again.
Caught by the rys-test Playwright harness.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds "all" and "active" tabs at the top of the sidebar. "Active" shows
all currently-enabled options in one place; "all" explicitly resets to
the default view. Also lightens the sidebar selected state from solid
black to a subtle tint.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add RYS Premium subscription system
Introduce optional paid tier with sign-in, Stripe billing, and premium
feature gating. Core features remain free. Includes Node.js server for
auth, payments, and license management.
Extension changes:
- Sign-in flow with magic link email
- Premium/upgrade/account modals with branded UI
- Premium feature gating (60+ advanced settings)
- Password lock and scheduling (premium)
- Fix "hide all but first row" for YouTube's new flat homepage DOM
- Hide sidebar ad panels by default
- Enable "Hide all Shorts" by default
Server:
- Magic link auth with rate limiting
- Stripe checkout, webhooks, and billing portal
- JWT-based license tokens
- AWS SES transactional emails (welcome, sign-in, cancellation)
- Grandfathered donor support
Also adds CI workflow, server test suite, and extension unit tests.
* fixed shrinking issue in channel tab
* fixed playlist video shirinking and overlapping in channel pages
* fixed post shirinking
* style: fix whitespace in shrink thumbnails CSS
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: prinixoz <prinixoz@gmail.com>
Co-authored-by: Lawrence Hook <lawrencehook@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* Added removing the bell in the title
* add comment on what it does
* Start of title
* style: fix spacing in if statement
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Lawrence Hook <lawrencehook@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Options page:
- Pause timeLoop when popup is hidden (Page Visibility API)
- Use { once: true } for log prompt button listeners
- Remove stray console.log in settings import
Content script:
- Slow polling from 100ms to 500ms after page settles (was stuck at 100ms)
- Stop playlist autoplay interval once manager is found
- Only check dismiss buttons every 5th iteration
- Only check reveal boxes for first 30 iterations
- Only query clip button DOM if setting is enabled
- Skip subscriptions page queries if no sub-settings enabled
- Fix ad skip button selector for current YouTube UI
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add non-blocking bottom banner prompting users to enable logging
- Default log_enabled to false, track user response with log_prompt_answered
- Banner shows until user clicks Sure/No thanks, dismiss hides for session only
- Update settings menu icon from dots to gear
- Widen sidebar to prevent "Video Player" text wrapping
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add shared banner system (src/shared/banners.js) for extensible banner config
- Display RYS-branded announcement banner on YouTube homepage and options page
- Banner pushes down YouTube page content with CSS variable for height
- Revamp reveal suggestion boxes with polished two-row layout and RYS branding
- Add per-surface reveal settings (homepage/sidebar/end-of-video) with migration
- Consolidate colors and dimensions into CSS variables
- Cache reveal box config at module level for performance
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Squashed commit of the following:
commit cfefa197ec
Author: Lawrence Hook <lawrencehook@gmail.com>
Date: Tue Jan 27 20:43:02 2026 -0500
feat: add close and dismiss buttons to announcement banner
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
commit b193516096
Author: Lawrence Hook <lawrencehook@gmail.com>
Date: Tue Jan 27 19:57:25 2026 -0500
feat: add announcement banner for upcoming premium features
Adds a dismissible banner at the top of the options page announcing
upcoming premium features with a link to the explainer page.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
commit 3d021923e6
Author: Lawrence Hook <lawrencehook@gmail.com>
Date: Sat Jan 24 20:43:36 2026 -0500
update versions
commit 4fa9023ef4
Merge: 3b5f50fa774514
Author: Lawrence Hook <lawrencehook@gmail.com>
Date: Sat Jan 24 20:43:08 2026 -0500
Merge branch 'released'
commit 3b5f50fa82
Author: Lawrence Hook <6572030+lawrencehook@users.noreply.github.com>
Date: Sat Jan 24 20:37:53 2026 -0500
feat(extension): revamp donate/feedback pages and polish options UI (#189)
- Redesign donors page with modern card-based tier system
- Redesign feedback page with contact grid and cleaner layout
- Both pages now fit within 600px without scrolling
- Apply subtle UI improvements to main options page:
- System fonts, softer borders, hover states
- Improved sidebar, menus, and footer styling
- Denser option spacing for info-density
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
commit 8ca3247d68
Author: Lawrence Hook <lawrencehook@gmail.com>
Date: Tue Dec 30 17:41:59 2025 -0500
claude recommends some TODOs
commit e6418d6aaa
Author: Lawrence Hook <lawrencehook@gmail.com>
Date: Tue Dec 23 15:48:47 2025 -0500
update versions
commit 89d7b09629
Author: Lawrence Hook <lawrencehook@gmail.com>
Date: Tue Dec 23 15:41:38 2025 -0500
fix whitespace
commit b46281aeef
Author: Jagan <sreejaganj@gmail.com>
Date: Wed Dec 24 02:07:39 2025 +0530
fix(sidebar): correct mapping of sidebar section (#186)
Youtube changed the structure of the sidebar, this caused several toggle target issues in the extension.
-> Hiding you/library removed the section contents but left a small empty container.
-> Hiding other sections hid the wrong ones. Explore hid you/library completely, more from youtube hid explore, settings hid more from youtube. And couldn't hide settings at all.
This commit updates the CSS to match the new DOM structure.
-> Replaced nth-child with nth-of type
-> Realigned indexes to match new structure.
- `remove_sub_section` targets the 2nd section (Subscriptions)
- `remove_quick_links_section` targets the 3rd section (You / Library)
- `remove_explore_section` targets the 4th section (Explore)
- `remove_more_section` targets the 5th section (More from YouTube)
- `remove_settings_section` targets the 6th section (Settings)
- `remove_footer_section` still hides `#guide-renderer > #footer`
-> Modified the order of the buttons in src/content-script/main.css to match the order in the sidebar.
Resolves: #185
commit ecab1e69c6
Author: Lawrence Hook <lawrencehook@gmail.com>
Date: Tue Oct 21 22:49:04 2025 -0400
update version
Adds a dismissible banner at the top of the options page announcing
upcoming premium features with a link to the explainer page.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Squashed commit of the following:
commit 3b5f50fa82
Author: Lawrence Hook <6572030+lawrencehook@users.noreply.github.com>
Date: Sat Jan 24 20:37:53 2026 -0500
feat(extension): revamp donate/feedback pages and polish options UI (#189)
- Redesign donors page with modern card-based tier system
- Redesign feedback page with contact grid and cleaner layout
- Both pages now fit within 600px without scrolling
- Apply subtle UI improvements to main options page:
- System fonts, softer borders, hover states
- Improved sidebar, menus, and footer styling
- Denser option spacing for info-density
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
commit 8ca3247d68
Author: Lawrence Hook <lawrencehook@gmail.com>
Date: Tue Dec 30 17:41:59 2025 -0500
claude recommends some TODOs
commit e6418d6aaa
Author: Lawrence Hook <lawrencehook@gmail.com>
Date: Tue Dec 23 15:48:47 2025 -0500
update versions
commit 89d7b09629
Author: Lawrence Hook <lawrencehook@gmail.com>
Date: Tue Dec 23 15:41:38 2025 -0500
fix whitespace
commit b46281aeef
Author: Jagan <sreejaganj@gmail.com>
Date: Wed Dec 24 02:07:39 2025 +0530
fix(sidebar): correct mapping of sidebar section (#186)
Youtube changed the structure of the sidebar, this caused several toggle target issues in the extension.
-> Hiding you/library removed the section contents but left a small empty container.
-> Hiding other sections hid the wrong ones. Explore hid you/library completely, more from youtube hid explore, settings hid more from youtube. And couldn't hide settings at all.
This commit updates the CSS to match the new DOM structure.
-> Replaced nth-child with nth-of type
-> Realigned indexes to match new structure.
- `remove_sub_section` targets the 2nd section (Subscriptions)
- `remove_quick_links_section` targets the 3rd section (You / Library)
- `remove_explore_section` targets the 4th section (Explore)
- `remove_more_section` targets the 5th section (More from YouTube)
- `remove_settings_section` targets the 6th section (Settings)
- `remove_footer_section` still hides `#guide-renderer > #footer`
-> Modified the order of the buttons in src/content-script/main.css to match the order in the sidebar.
Resolves: #185
commit ecab1e69c6
Author: Lawrence Hook <lawrencehook@gmail.com>
Date: Tue Oct 21 22:49:04 2025 -0400
update version
- Redesign donors page with modern card-based tier system
- Redesign feedback page with contact grid and cleaner layout
- Both pages now fit within 600px without scrolling
- Apply subtle UI improvements to main options page:
- System fonts, softer borders, hover states
- Improved sidebar, menus, and footer styling
- Denser option spacing for info-density
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Youtube changed the structure of the sidebar, this caused several toggle target issues in the extension.
-> Hiding you/library removed the section contents but left a small empty container.
-> Hiding other sections hid the wrong ones. Explore hid you/library completely, more from youtube hid explore, settings hid more from youtube. And couldn't hide settings at all.
This commit updates the CSS to match the new DOM structure.
-> Replaced nth-child with nth-of type
-> Realigned indexes to match new structure.
- `remove_sub_section` targets the 2nd section (Subscriptions)
- `remove_quick_links_section` targets the 3rd section (You / Library)
- `remove_explore_section` targets the 4th section (Explore)
- `remove_more_section` targets the 5th section (More from YouTube)
- `remove_settings_section` targets the 6th section (Settings)
- `remove_footer_section` still hides `#guide-renderer > #footer`
-> Modified the order of the buttons in src/content-script/main.css to match the order in the sidebar.
Resolves: #185