Write down what made the Tampermonkey debugging expensive
Adds a Testing and Debugging section aimed at the cost of a live iteration, since
each one spends a person's convert, install, relaunch, permission grant and
copy-paste: write the end-to-end test from real captured shapes before the first
reinstall, never swallow errors or gate a diagnostic on the condition under test,
make diagnostics readable from the console the tester is actually in, verify the
artifact before theorising, keep viaduct's own channels off runtime.sendMessage,
treat a backfilled event as inert until proven otherwise, and label how well a
finding is evidenced before writing it down as fact.
Adds Safari Quirks A8 for the trap underneath most of it: host access defaults to
Ask and every reinstall resets it, which silences content scripts and tab and
navigation events together while leaving extension pages working, so a negative
result from an ungranted build looks exactly like a platform limitation.
05e9dd3
Record the chrome.userScripts work and where Tampermonkey still stops
c08d747
Document the three Tampermonkey fixes: offscreen postMessage, DNR batching, locale tail
329c775
Note the dynamic-DNR content-blocker fix and the stable Tampermonkey build
6eb0178
Add a Tested Extensions page
Records which extensions have been converted and actually used in Safari,
split between the three verified on the current build (Dark Reader, Claude
in Chrome, TWP) and the June corpus round that hasn't been re-checked since.
Recovered the June results from the reports/ tree before it was untracked.
5155db0
Document the content-script / MV2-background native messaging carve-out
The storage relay wraps chrome/browser in a Proxy for extension-page to
background messaging. That Proxy breaks Safari's native content-to-background
delivery, and the relay can't cross a content script's separate storage.local
partition anyway, so the relay must never touch a content script or the MV2
background. Records the quirk (Safari-Quirks E6), the relay scoping in the
runtime shim, and the corrected MV2 background.scripts row in Manifest-Transform.
36b6a39
Note the collective cross-file setPopup scan in the action-bridge quirk
f0ad1cc
Document setPopup opt-out for the action-click bridge (TWP fix)
52e54bc
Document getManifest content_scripts stripping breaking the action hotkey
The shim's __viaductMsgListeners capture was gated on getManifest().content_scripts,
which Safari strips inside a content script; ungating it fixed SuperDev Pro's
Cmd+Shift+S. Update A5, Runtime-Shim, and Release-History.
924bfea
Document polyfill-clobber content-script failure (#10)
Add Safari-Quirks E5, a Release-History bullet, and a Runtime-Shim note for
the browser-polyfill.min.js overwrite that killed uBlock's content scripts.
28fd095
Document chrome:// scheme in permissions load failure (#11)
Add Safari-Quirks A6, a Release-History bullet, and a Manifest-Transform
table note for the chrome://favicon/ permission strip.
89e75e7
Document the pipeline bug-hunt fixes (92fa2ee)
Add an Unreleased section to Release-History and update the matching subsystem
references for the eight fixes: CRX-key lenient parse (Input Handling), the
defaultBundleId slug-collision fix and uninstall broker id read (Build and
Install), the shared redirect deadline (Input Handling), the ancestorOrigins
guard hardening (Safari Quirks E3), the hotkey key mapping (Safari Quirks A5),
the deriveChromeId dead-catch removal (OAuth Bridge), and the importScripts
comment-in-static-args fix (Runtime Shim).
93846b5
Release History: promote unreleased fixes to v1.8.0
b9f07e4
Document content-script double-injection fix and XHR timeout event fix
- Safari Quirks E4: document_end/all_frames groups re-evaluated into a shared
isolated world (about:blank/srcdoc), top-level const/let crash, and the
idempotentContentScriptGlobals const-to-var fix.
- Safari Quirks D6: proxied XHR now fires timeout (not error) on a timeout.
- Wire the new stage into Conversion Pipeline (11a + diagram), Input Handling
and Manifest Transform export lists, and Release History unreleased notes.
33270ac
Humanize wiki prose: remove em/en dashes and curly quotes
Replace em/en dashes with commas, colons, or sentence breaks per context,
and normalize curly quotes to straight. Dashes inside code blocks, diagrams,
and range expressions are preserved.
0d1e9e3
Merge GitHub wiki initial page
# Conflicts:
# Home.md
412675e
Add Viaduct CLI wiki
Contributor-grade documentation for viaduct-cli, verified against src/ and
grounded in the git history. 14 content pages plus Home, sidebar, and footer:
architecture, conversion pipeline, CLI reference, input handling, manifest
transform, analyzer, runtime shim, OAuth bridge, build/install, Safari quirks,
testing/debugging, limitations/FAQ, and a commit-grounded release history.
bec76e5