chore(desktop): stop bundling uBlock Origin — MarkSyncr blocks now - #78
Merged
Conversation
MarkSyncr is already in the bundle for bookmark sync, and it now ships declarativeNetRequest blocking: two enabled static rulesets, rules/ads.json and rules/privacy.json, 15,000 rules each. Shipping uBlock Origin alongside it means two blockers filtering the same requests, and it was the last reason we carried an MV2 extension in the default install. Removed the build-time fetch and the staging step, plus the tooling entries that existed only for it — the eslint ignore and the .gitignore path for a tree we no longer download. Manifest V2 support stays. It was commented as being for uBlock, but that was never the whole truth: recent Chromium disables MV2 by default, and flipping that kill switch back on would silently break any MV2 extension a user installed themselves. Not bundling one is our decision to make; theirs isn't. Verified by building the linux archive: extensions/ are ai-sidebar and marksyncr, nothing matches ublock, and the staged MarkSyncr manifest carries both rulesets. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
ThreatCrush Security Scan93 finding(s) HIGH/CRITICAL: 6 | MEDIUM: 87
…and 43 more. Full results in the Security tab. Snippets are redacted; ThreatCrush never prints matched credential material. |
ralyodio
added a commit
that referenced
this pull request
Aug 4, 2026
main moved twice underneath this branch: #77 rewrote the profile-state blocks and #78 reworded the Manifest V2 comment after uBlock stopped being bundled. The conflict was that comment — this branch still carried the old wording, with the GPU block inserted above it. Kept main's wording and the GPU block, ordered so the block runs before MV2_KEEP is used. The branch was parked as WIP with no tests, and launcher flag handling is exactly what this suite covers, so it should not merge without them. Six cases: each mode's effect on the command line, that `safe` appends Vulkan to the disable-features list without displacing the MV2 kill switch it shares that list with, that an unknown mode falls back to `on` and says so, and that TRONBROWSER_GPU overrides the stored mode. Verified 5 of the 6 fail against main's launcher; the sixth asserts the default, which holds either way. Still worth saying plainly: this is an escape hatch, not a diagnosis. Launching with --disable-gpu did NOT fix the freeze it was written for. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
Why
MarkSyncr is already in the bundle for bookmark sync, and it now ships
declarativeNetRequestblocking. Verified against the CRX the build actually fetches (v0.8.37):Sample rules:
||pagead2.googlesyndication.com^ → block,||googleadservices.com^ → block,||stats.g.doubleclick.net^ → block.Shipping uBlock Origin alongside it means two blockers filtering the same requests, and uBlock was the last reason the default install carried an MV2 extension.
Changed
build-release.sh— droppedfetch_ublock(),UBO_SRC, the staging step and the calleslint.config.js,.gitignore— entries that existed only for the fetched treetronbrowser.cmd,launcher.test.tsManifest V2 support stays
It was commented as being for uBlock, but that was never the whole truth. Recent Chromium disables MV2 by default, and letting that kill switch back on would silently break any MV2 extension a user installed themselves. Not bundling one is our call; theirs isn't. Comments reworded to say that accurately.
Verified
Built the linux archive from this branch:
Lint clean, 169 tests pass.
One thing to be aware of
15,000 + 15,000 = exactly 30,000 static rules, which is Chrome's guaranteed static-rule ceiling across enabled rulesets. It fits, but with no headroom — adding a third ruleset or growing either file would start silently dropping rules. Worth knowing on the MarkSyncr side; not a blocker here.
🤖 Generated with Claude Code