Skip to content

History

Revisions

  • Document the popover scroll trap and the dropped root-absolute imports Safari Quirks F5 (the popover never scrolls its main frame) and G1a (a root-absolute importScripts target resolved to nowhere, so the background page loaded none of its libraries), plus the Runtime Shim notes for both and a Tested Extensions row for Replace AI Translator API 1.0.21.

    magicelk235 committed Aug 24, 2026
    d824055
  • Record v1.12.0

    magicelk235 committed Aug 23, 2026
    a37e511
  • Document D4a (iframe loads labeled main_frame), the --debug/--logs pair, and today's corrections New Safari-Quirks entry D4a: webRequest reports every frame's document load as main_frame with a raw 64-bit frameId, which made uBlock's strict blocker hijack the tab over ad-iframe cookie syncs, plus the WebKit weak-wrapper lesson that forced the fix onto the event prototype. D4 gains the main-frame-vs-subresource split with the live tabs-API strict-blocking evidence. B4's Handling paragraph is brought back in line with the source (the empty getURL arg IS lowercased) and gains the port path. C3 and both Tampermonkey rows drop the sandbox-setter misdiagnosis, a Firefox-only code path, and name the real remaining suspects. The uBlock row records the live verifications and explains the serverlist.txt console noise. CLI-Reference, Testing-and-Debugging and Runtime-Shim document --debug conversions and the --logs reader.

    magicelk235 committed Aug 23, 2026
    065b66c
  • Record v1.11.8 and v1.11.9

    magicelk235 committed Aug 22, 2026
    bb918d3
  • Document why the color-scheme floor paints body and not html (F2a)

    magicelk235 committed Aug 22, 2026
    ea26d03
  • Document E15 (dispatch resolves through the global chrome/browser) and the menus.create rejections TWP 10.2.5 (MV3): the webRequest sanitizer's global-root republish silently detached the background from all message dispatch (fixed in 895e7a3), and menus.create threw on file://*/* and page_action (fixed in cf96d63). New quirk entry E15 with the WebKit mechanism, F4 extended, shim table and tested-extensions rows updated.

    magicelk235 committed Aug 22, 2026
    6732b27
  • Document --background-launch

    magicelk235 committed Aug 22, 2026
    e471cb4
  • Record the headless probe method that verified 1.11.7

    magicelk235 committed Aug 21, 2026
    08f98f2
  • Record v1.11.7

    magicelk235 committed Aug 21, 2026
    8e1857b
  • Document the two Safari behaviors behind a login that never persisted E13a: no webNavigation event reaches a listener the background added after it evaluated, so the auth tab's redirect went unseen and every silent re-auth timed out. E13b: neither minimized nor off-screen hides a window, so the flow keeps a background tab. E14a: the owner's storage.session dies with its page, hence the mirror. Plus the __c2sAuthLog record and how to read it from outside the browser.

    magicelk235 committed Aug 21, 2026
    16a9ea0
  • Document the silent-refresh clock split

    magicelk235 committed Aug 21, 2026
    38a6bb5
  • Document the shared session store

    magicelk235 committed Aug 21, 2026
    3a76110
  • Document the store download retry and the plainer analyzer output Input-Handling now explains why a single hardcoded prodversion declines extensions with a newer minimum_chrome_version, and what the retry does about it. Analyzer quotes the verdict lines as they print now.

    magicelk235 committed Aug 20, 2026
    b9f0b9c
  • Document the signing fixes in 1.11.4 Why a profile alone no longer nominates a team, the ad-hoc retry for a detected team that cannot sign, and where xcodebuild actually writes its diagnostics.

    magicelk235 committed Aug 20, 2026
    c2c8066
  • Document keeping a converted extension signed in

    magicelk235 committed Aug 19, 2026
    5e4fc60
  • Document the navigation the emulation used to miss Safari 26, measured with a probe extension: a page-world pushState re-injects no content script and produced no report at all, so the burst-after-input watcher missed any route change the page made on its own. C5 said SPA navigation was an open gap; it now records what was measured, the standing watch armed by the background's answer to a report, and the round trip confirmed working. The Cloaked row gets the user report that found it and what is still untested, the shim table names the emulated pair, and 1.11.2 gets its release entry.

    magicelk235 committed Aug 19, 2026
    04cc92a
  • Document the frame-ancestors limit and the blank-frame explainer

    magicelk235 committed Aug 19, 2026
    2ff1453
  • Document the bridge transports, sender rules and world:"MAIN" fallback Covers what 1.11.0 changed and why each piece is shaped the way it is: the two transports into a converted background, the origin and tab a bridged sender carries, the script-tag fallback for a world:"MAIN" entry Safari skipped, the scoping rule on strict_min_version, and Safari's "Tab not found." teardown. Adds Safari Quirks E9 and E10, updates E1, records the diagnostics in Testing and Debugging, and moves Claude in Chrome to a verified login.

    magicelk235 committed Aug 19, 2026
    20f60ce
  • Document the 1.10.3 legacy team-format coverage

    magicelk235 committed Aug 18, 2026
    ba9b81c
  • Document the 1.10.2 team-detection and signing-verdict fixes

    magicelk235 committed Aug 18, 2026
    0d70559
  • Updated _Footer (markdown)

    @magicelk235 magicelk235 committed Aug 17, 2026
    42f1773
  • Document the serviceWorker bridge and cookies.get precedence for v1.10.1

    magicelk235 committed Aug 17, 2026
    29049db
  • Record 1.10.0 The getURL host-case correction, the @@extension_id placeholder URL rewrite, and the signing check, including the exit-code change that comes with it.

    magicelk235 committed Aug 17, 2026
    f12e1c6
  • Document the signing check and the keychain fallback The --team row described detection as reading Xcode's preference cache, which stopped being the whole story once the keychain fallback landed, and nothing said the signature is now read back off the built .appex and checked. The FAQ answers had the same gap. Also drops the part of the README discrepancy note about --verify being undocumented, since it is in the README options block now.

    magicelk235 committed Aug 16, 2026
    c927932
  • Record LastPass fix, Google Translate/Session Buddy passes, uBlock popup regression, Requestly/Tampermonkey partials

    magicelk235 committed Aug 16, 2026
    6407c90
  • Record 1.9.1 Four shim fixes off the Honey conversion, two of them undoing things viaduct was doing to itself: the tabId query it injected into action popups, and the half-lowercased getURL. Marks Honey as working on this build.

    magicelk235 committed Jul 31, 2026
    552c373
  • Record the four Honey fixes and how they were found Honey converts and works now: popup renders, session is recognized. Four shim bugs came out of it, none of them Honey-specific. - B4 is new: Safari reports the UUID in different cases per API, and getURL can only return one of them. Says why the fix moved onto the sender. - C6 is new: no tab or window events reach a converted background page, so an extension caching the selected tab from them stays blind, and the shim now polls for it. - B2 and F3 were wrong about ?tabId. It is our own injection, not Safari's, and it no longer goes into action popups. - Runtime-Shim's getURL and onMessage rows described the old lowercasing. Also writes down the storage.local instrumentation used throughout, since the background console was never reachable in that session and every conclusion had to come from a log the popup could read.

    magicelk235 committed Jul 31, 2026
    70ad81c
  • Record the 1.9.0 release and how far Cloaked was driven

    magicelk235 committed Jul 29, 2026
    560aecd
  • Record the global-swap messaging bug and the four fixes around it E7 is the big one: replacing an extension page's global chrome/browser with a Proxy makes Safari stop delivering content-script messages to that page, and a listener attached to the pristine native event before the swap stops receiving too. E6 already covered this bug class but concluded the relay was safe once scoped to extension pages. The background is an extension page, so the inbound path stayed broken for every MV3 conversion. Also A9 (the service-worker-to-page conversion breaking "am I the background?" checks), C4 (windows.create resolving a Window with no tabs), and the keychain fallback for team detection in Build-and-Install. C5 is deliberately written as unresolved. The background receives no navigation events even with host access confirmed granted and E7 fixed, and the emulation built on top of content-script announcements has never been seen firing end to end. It says so plainly rather than implying coverage that isn't there, since an inert event that looks handled is exactly what cost days here.

    magicelk235 committed Jul 29, 2026
    6d2521a
  • 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.

    magicelk235 committed Jul 25, 2026
    05e9dd3