PopUp Blocked #17

Open
opened 2026-08-08 03:57:48 +07:00 by sulthan · 2 comments
Owner

Any functionalites either in the userscript or web that are using the PopUp mechanism / new tab + url mechanism will going to be blocked in cromite ( the bromite fork )

Any functionalites either in the userscript or web that are using the PopUp mechanism / new tab + url mechanism will going to be blocked in cromite ( the bromite fork )
Author
Owner

Triage notes, parked — no code change yet.

Surface. No window.open in the repo. Every new-tab path is a plain <a target="_blank"> on a real user click. 11 anchors total:

  • backend/internal/web/templates/card.html:7 (cover), :42 (play) — both {{.ContinueURL}}
  • backend/internal/web/templates/chrome.html:15 (recent-card) — {{.ContinueURL}}
  • userscript/manga-bookmark.user.js:1617-1621 — WEB_BASE + 4 site chips
  • userscript/novel-bookmark.user.js:1382-1384 — WEB_BASE + 2 site chips

Panel list items (manga-bookmark.user.js:1383,1389) are already same-tab and are not reported broken. So same-tab navigation works; only _blank fails.

Likely cause (unverified — no Cromite on the dev machine). Cromite wires AdblockPlus popup filtering into `CanCreateWindow` (uazo/cromite#553). ABP `$popup` rules act on window creation, keyed on destination — and the destinations are asurascans / demonicscans / comix / kagane, the class of host that sits on anti-piracy filter lists. Not the gesture, not our markup.

Fix when we get to it. Drop `target="_blank"` + `rel` from the 11 anchors; same-tab nav, back button returns. Nothing in docs/design-system.md mandates a new tab.

Rejected: JS fallback on a blocked open (a blocked anchor navigation fires no event — undetectable). Rejected: user-facing new-tab preference (YAGNI).

Open question for later: keep `_blank` on the web UI only (desktop keeps its library tab) vs. same-tab everywhere.

Triage notes, parked — no code change yet. **Surface.** No `window.open` in the repo. Every new-tab path is a plain `<a target="_blank">` on a real user click. 11 anchors total: - `backend/internal/web/templates/card.html:7` (cover), `:42` (play) — both `{{.ContinueURL}}` - `backend/internal/web/templates/chrome.html:15` (recent-card) — `{{.ContinueURL}}` - `userscript/manga-bookmark.user.js:1617-1621` — WEB_BASE + 4 site chips - `userscript/novel-bookmark.user.js:1382-1384` — WEB_BASE + 2 site chips Panel list items (`manga-bookmark.user.js:1383,1389`) are already same-tab and are **not** reported broken. So same-tab navigation works; only `_blank` fails. **Likely cause (unverified — no Cromite on the dev machine).** Cromite wires AdblockPlus popup filtering into \`CanCreateWindow\` (uazo/cromite#553). ABP \`\$popup\` rules act on window *creation*, keyed on destination — and the destinations are asurascans / demonicscans / comix / kagane, the class of host that sits on anti-piracy filter lists. Not the gesture, not our markup. **Fix when we get to it.** Drop \`target="_blank"\` + \`rel\` from the 11 anchors; same-tab nav, back button returns. Nothing in docs/design-system.md mandates a new tab. Rejected: JS fallback on a blocked open (a blocked anchor navigation fires no event — undetectable). Rejected: user-facing new-tab preference (YAGNI). Open question for later: keep \`_blank\` on the web UI only (desktop keeps its library tab) vs. same-tab everywhere.
sulthan added the bugneeds-info labels 2026-08-08 04:06:43 +07:00
Author
Owner

Grilling outcome, parked. Three options on the table when this is un-parked:

A. Chips only — drop target="_blank" from the 8 panel nav anchors (manga:1617-1621, novel:1382-1384). Keep web UI cover/play/recent-card as-is. Cost: panel chips navigate away from the chapter the user is reading; back-button returns. Cromite: chips work, web cover still blocked — half-fix, still needs allowlist for the web.

B. Global — drop target="_blank" from all 11 anchors (A + card.html:7,42 + chrome.html:15). Same-tab everywhere. Cost: the web UI cover is a "play" affordance, not nav — every non-cromite user regresses from "tap cover → read → tap next" to "tap cover → read → back-button → tap next", with the back-button losing scroll/state on most manga sites.

C. No code change — document the cromite path: Settings → Content → Pop-ups and redirects → Allow bookmark.violetcrown.my.id + the manga sites, or long-press → Open in new tab (works in cromite; right-click → Open in new tab works everywhere). Zero regression, one-time setup per cromite user. Defensible if the affected user base is one mobile fork with a documented knob.

The A vs B call is the open question from the existing triage comment. Neither has been runtime-verified on real Cromite — that is the next test before any code change. C is the safe default if the affected user is just @sulthan.

Will revisit after the cromite popup-blocker-disabled trial.

Grilling outcome, parked. Three options on the table when this is un-parked: **A. Chips only** — drop `target="_blank"` from the 8 panel nav anchors (manga:1617-1621, novel:1382-1384). Keep web UI cover/play/recent-card as-is. Cost: panel chips navigate away from the chapter the user is reading; back-button returns. Cromite: chips work, web cover still blocked — half-fix, still needs allowlist for the web. **B. Global** — drop `target="_blank"` from all 11 anchors (A + card.html:7,42 + chrome.html:15). Same-tab everywhere. Cost: the web UI cover is a "play" affordance, not nav — every non-cromite user regresses from "tap cover → read → tap next" to "tap cover → read → back-button → tap next", with the back-button losing scroll/state on most manga sites. **C. No code change** — document the cromite path: Settings → Content → Pop-ups and redirects → Allow `bookmark.violetcrown.my.id` + the manga sites, or long-press → Open in new tab (works in cromite; right-click → Open in new tab works everywhere). Zero regression, one-time setup per cromite user. Defensible if the affected user base is one mobile fork with a documented knob. The A vs B call is the open question from the existing triage comment. Neither has been runtime-verified on real Cromite — that is the next test before any code change. C is the safe default if the affected user is just @sulthan. Will revisit after the cromite popup-blocker-disabled trial.
sulthan added wontfix and removed needs-info labels 2026-08-12 05:53:52 +07:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sulthan/mangaBookmark#17