You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+32Lines changed: 32 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,20 @@
1
1
# Changelog
2
2
3
+
## Version 3.1.7
4
+
5
+
### YouTube Kids & Backup support
6
+
7
+
- Added complete Channel & Keyword based blocking on YT Kids it block channels by passive listening to 3 dot menu UI in YT Kids content card i.e. "Block this video" and "Block this channel".
8
+
- Added a Settings toggle to enable/disable auto backups.
9
+
- Auto backups now save into `Downloads/FilterTube Backup/`.
10
+
- Manual exports now download into `Downloads/FilterTube Export/`.
11
+
12
+
### Fixes
13
+
14
+
- Hardened 3-dot menu channel-name labeling on watch Mix cards so Mix metadata strings don't replace channel names.
15
+
16
+
---
17
+
3
18
## Version 3.1.6
4
19
5
20
### Release Notes Experience
@@ -72,52 +87,69 @@
72
87
## Version 3.1.1
73
88
74
89
### Watch Page (Playlists)
90
+
75
91
- Watch-page playlist panel rows now hide deterministically for blocked channels (playlist items are enriched via `videoChannelMap`).
- Added a Help section in the dashboard (new tab UI) documenting all features/toggles.
80
97
81
98
### Identity & Robustness
99
+
82
100
- Improved channel identity convergence (handle/customUrl ↔ UC ID mapping) so blocking is resilient to `/@handle/about` failures.
83
101
84
102
---
85
103
86
104
## Version 3.1.0
87
105
88
106
### Watch Page & Docs
107
+
89
108
- Documented that watch-page 3-dot menus now mirror Home/Search collaborator behavior and clarified the remaining single-channel label gap plus Shorts coverage (`docs/home_watch_collab_plan.md`, `docs/CHANNEL_BLOCKING_SYSTEM.md`, `docs/youtube_renderer_inventory.md`).
90
109
- Captured the outstanding playlist/mix regression (hidden rows reappearing after hard refresh) so it stays visible in watch-page plans.
91
110
92
111
### Misc
112
+
93
113
- Version bump to keep manifests, build tooling, and UI footer aligned with the new release.
94
114
115
+
---
116
+
95
117
## Version 3.0.9
96
118
97
119
### Refactor
120
+
98
121
-**3-dot menu module split**: Moved the dropdown observer/bootstrap logic into `js/content/block_channel.js` (loaded before `content_bridge.js`).
99
122
100
123
### Cleanup
124
+
101
125
-**Legacy observer removal**: Removed the old/disabled dropdown observer code from `content_bridge.js` after validating the new `block_channel.js` entry-point.
102
126
103
127
### Documentation
128
+
104
129
- Updated docs to reflect the new isolated-world module structure + load order.
105
130
- Expanded `docs/youtube_renderer_inventory.md` with additional menu DOM variants used by the 3-dot injection pipeline.
106
131
132
+
---
133
+
107
134
## Version 3.0.8
108
135
109
136
### Channel Blocking Hardening
137
+
110
138
-**404 Recovery Pipeline**: Added a four-layer strategy (cache-first lookup, ytInitialData replay, Shorts helpers, DOM cache reset) so blocking always resolves a UC ID even when `/@handle/about` fails.
111
139
112
140
-**DOM Reprocessing**: Cards now re-run the fallback when their `data-filtertube-last-processed-id` changes, preventing stale metadata from skipping new videos.
113
141
114
142
### Documentation
143
+
115
144
- Added `docs/handle-404-remediation.md` playbook and updated architecture/tech docs to reflect the new recovery flow.
116
145
- Expanded `CONTENT_HIDING_PLAYBOOK.md` and `CHANNEL_BLOCKING_SYSTEM.md` with channel identity guidance for Shorts/home surfaces.
117
146
147
+
---
148
+
118
149
## Version 3.0.7
119
150
120
151
### New Features
152
+
121
153
-**Posts Support**: Added proper channel extraction for YouTube community posts
122
154
- "Block Channel" menu now works correctly on posts via 3-dot menu
123
155
- Extracts channel info from post author links and thumbnails
Copy file name to clipboardExpand all lines: data/release_notes.json
+13Lines changed: 13 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,19 @@
2
2
{
3
3
"_comment": "Shared release notes source for the dashboard What’s New tab and the YouTube release banner. Keep entries sorted newest-first by version."
4
4
},
5
+
{
6
+
"version": "3.1.7",
7
+
"headline": "YT Kids + Auto-backup support",
8
+
"summary": "Block channel based content on YT Kids & Auto backups can now be toggled on/off",
9
+
"bannerSummary": "New setting: enable/disable auto backups. Exports now save into Downloads/FilterTube Export/.",
10
+
"highlights": [
11
+
"Added complete Channel & Keyword based blocking on YT Kids it block channels by passive listening to 3 dot menu UI in YT Kids",
12
+
"Added a Settings toggle to enable/disable auto backups (best-effort; no Save As prompts).",
13
+
"Auto backups save into Downloads/FilterTube Backup/ with rotation (latest files kept).",
14
+
"Manual exports now download silently into Downloads/FilterTube Export/."
Copy file name to clipboardExpand all lines: docs/ARCHITECTURE.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,8 @@
1
-
# FilterTube v3.1.6 Architecture Documentation
1
+
# FilterTube v3.1.7 Architecture Documentation
2
2
3
3
## Executive Summary
4
4
5
-
FilterTube v3.1.6 implements a robust **Hybrid Filtering Architecture** that combines preemptive **Data Interception (Main World)** with a resilient **DOM Fallback (Isolated World)**. This dual-layer approach ensures comprehensive content filtering across all YouTube surfaces (Home, Search, Watch, Shorts) while maintaining high performance and a "Zero Flash" user experience when YouTube routes content through JSON.
5
+
FilterTube v3.1.7 implements a robust **Hybrid Filtering Architecture** that combines preemptive **Data Interception (Main World)** with a resilient **DOM Fallback (Isolated World)**. This dual-layer approach ensures comprehensive content filtering across all YouTube surfaces (Home, Search, Watch, Shorts) while maintaining high performance and a "Zero Flash" user experience when YouTube routes content through JSON.
Copy file name to clipboardExpand all lines: docs/NETWORK_REQUEST_PIPELINE.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
## Overview
4
4
5
-
FilterTube v3.1.6 implements a sophisticated network request pipeline for channel identity resolution across both YouTube Main and YouTube Kids domains. This pipeline ensures accurate channel information is available for 3-dot menu labels and blocking actions.
5
+
FilterTube v3.1.7 implements a sophisticated network request pipeline for channel identity resolution across both YouTube Main and YouTube Kids domains. This pipeline ensures accurate channel information is available for 3-dot menu labels and blocking actions.
Copy file name to clipboardExpand all lines: docs/THREE_DOT_MENU_IMPROVEMENTS.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,11 +2,11 @@
2
2
3
3
## Overview
4
4
5
-
FilterTube v3.1.6 significantly improves the 3-dot menu experience across YouTube Main and YouTube Kids, ensuring accurate channel names are displayed and blocking actions work reliably for Shorts, Mixes, Playlists, and Watch page videos.
5
+
FilterTube v3.1.7 significantly improves the 3-dot menu experience across YouTube Main and YouTube Kids, ensuring accurate channel names are displayed and blocking actions work reliably for Shorts, Mixes, Playlists, and Watch page videos.
6
6
7
7
## Problem Statement
8
8
9
-
Prior to v3.1.6, users experienced:
9
+
Prior to v3.1.7, users experienced:
10
10
1.**UC IDs displayed**: 3-dot menu showed `UCxxxxxxxx...` instead of human-readable channel names
11
11
2.**Mix titles as channel names**: Mix/playlist cards showed video titles instead of actual channel names
12
12
3.**Metadata strings as names**: Watch right-pane showed strings like "Title • 1.2M views • 2 days ago"
Copy file name to clipboardExpand all lines: docs/YOUTUBE_KIDS_INTEGRATION.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,13 +2,13 @@
2
2
3
3
## Overview
4
4
5
-
FilterTube v3.1.6 introduces native integration with YouTube Kids, allowing users to block channels directly from Kids UI while maintaining the same filtering power available on YouTube Main.
5
+
FilterTube v3.1.7 introduces native integration with YouTube Kids, allowing users to block channels directly from Kids UI while maintaining the same filtering power available on YouTube Main.
<spanclass="info-hint" title="Download a portable JSON that includes every FilterTube list (channels, keywords, kids settings, design preferences, kids profiles, and more).">
274
274
Details
@@ -305,6 +305,26 @@ <h3>Import / Export</h3>
305
305
</div>
306
306
</div>
307
307
308
+
<divclass="card">
309
+
<divclass="card-header">
310
+
<h3>Backups</h3>
311
+
</div>
312
+
<divclass="card-body">
313
+
<divclass="toggle-row" title="When enabled, FilterTube will automatically save timestamped backups after you add/remove channels or keywords and after major settings changes.">
Auto backups are saved to <code>Downloads/FilterTube Backup/</code>.
324
+
</div>
325
+
</div>
326
+
</div>
327
+
308
328
</div>
309
329
310
330
<divid="whatsnewView" class="view-section">
@@ -493,7 +513,7 @@ <h3>Import & Export backups</h3>
493
513
<divclass="help-item-body">
494
514
<ul>
495
515
<li>Click <strong>Download JSON</strong> to capture the latest channels, keywords, Kids settings, and theme choices.</li>
496
-
<li>File name follows <code>filtertube_backup_YYYY-MM-DD.json</code> so you can keep multiple snapshots.</li>
516
+
<li>Export is saved to <code>Downloads/FilterTube Export/</code> (file name follows <code>filtertube_export_v3_YYYY-MM-DD.json</code>).</li>
497
517
<li>Store it anywhere private (cloud drive, USB) for quick restores.</li>
498
518
</ul>
499
519
</div>
@@ -512,6 +532,40 @@ <h3>Import & Export backups</h3>
512
532
</div>
513
533
</div>
514
534
535
+
<divclass="card">
536
+
<divclass="card-header">
537
+
<h3>YouTube Kids Integration</h3>
538
+
</div>
539
+
<divclass="card-body">
540
+
<divclass="help-list">
541
+
<divclass="help-item">
542
+
<divclass="help-item-title">Passive Listening on YouTube Kids</div>
543
+
<divclass="help-item-body">FilterTube provides complete Channel & Keyword based blocking on YouTube Kids by passively listening to the 3-dot menu UI in YT Kids content cards ("Block this video" and "Block this channel").</div>
544
+
</div>
545
+
<divclass="help-item">
546
+
<divclass="help-item-title">YouTube's Native Blocking vs FilterTube</div>
547
+
<divclass="help-item-body">When parents block channels using YouTube Kids' native 3-dot menu, those blocks are managed by YouTube's system. FilterTube maintains its own separate blocklist for Kids Mode, giving you additional control and backup options.</div>
<p>Parents should understand YouTube's complex channel blocking system:</p>
553
+
<ulstyle="margin: 8px 0; padding-left: 20px;">
554
+
<li>Channels blocked via YouTube Kids' native UI are managed by YouTube's system</li>
555
+
<li>FilterTube's passive listener creates entries in its own Kids Mode blocklist</li>
556
+
<li>If a channel doesn't appear after removing from FilterTube's list, it may still be blocked by YouTube's native system</li>
557
+
<li>Use YouTube's official unblocking process for native blocks: <ahref="https://support.google.com/youtubekids/answer/7178746?hl=en#zippy=%2Cunblock-individual-channels-from-youtube-using-your-linked-parent-account" target="_blank" rel="noopener noreferrer">Unblock channels from YouTube using your linked parent account</a></li>
<divclass="help-item-body">YouTube Kids blocking requires a verified parent account. Parents can block content from their child's YouTube Kids profile and share content from YouTube to their child's profile. See <ahref="https://support.google.com/youtubekids/answer/7178746?hl=en" target="_blank" rel="noopener noreferrer">YouTube Kids Help Center</a> for complete details.</div>
564
+
</div>
565
+
</div>
566
+
</div>
567
+
</div>
568
+
515
569
<divclass="card">
516
570
<divclass="card-header">
517
571
<h3>Troubleshooting</h3>
@@ -520,7 +574,7 @@ <h3>Troubleshooting</h3>
520
574
<divclass="help-list">
521
575
<divclass="help-item">
522
576
<divclass="help-item-title">"Failed to fetch" while blocking</div>
523
-
<divclass="help-item-body">If FilterTube already knows the channel UC ID, it can still persist the block even if fetching the logo/name fails. Try reloading if the UI doesn’t update immediately.</div>
577
+
<divclass="help-item-body">If FilterTube already knows the channel UC ID, it can still persist the block even if fetching the logo/name fails. Try reloading if the UI doesn't update immediately.</div>
524
578
</div>
525
579
<divclass="help-item">
526
580
<divclass="help-item-title">Blocked channel still appears</div>
0 commit comments