Merge origin/main: reconcile case-insensitive relay origin match with media-lane origin store

Conflict resolution in mediaUrl.ts unifies both sides under one canonical
origin rule: main's canonicalOrigin() (lowercased scheme/host, default port
dropped) is now the only representation the cached relay origin ever holds,
so both rewriteRelayUrl and isRelayDownloadable (which compares
URL.origin === relayOrigin) inherit case-insensitive matching. Dawn's
retried, deadline-bounded poll loop and useSyncExternalStore origin store
are kept; the two generation counters (main's cacheGeneration, the lane's
relayOriginGeneration) are collapsed into one cacheGeneration guarding both
the port cache and origin publication. Both sides' tests retained. The
app_state.rs size override is bumped to the union of the two independently
approved additions (media-fetch client builder + profile-reconcile flag).

Co-authored-by: Tyler Longwell <tlongwell@block.xyz>
Signed-off-by: Tyler Longwell <tlongwell@block.xyz>
This commit is contained in:
npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d
2026-07-17 09:09:58 -04:00
111 changed files with 6685 additions and 2280 deletions

View File

@@ -202,11 +202,6 @@ const overrides = new Map([
// mapper. This is the existing API boundary; split remains queued.
// team-instructions-first-class: createManagedAgent Tauri bridge threads the
// new teamId input through to the backend (+1 line).
// #1970 merge-skew: add-community deep-link wiring (+4) was based before
// #1923 (+3) landed, so PR CI was green while the merged total crossed the
// cap (996 -> 1003). Pre-existing red on main, not one PR's feature debt.
// Queued to split with the rest of this list.
["src/app/AppShell.tsx", 1003],
["src/shared/api/tauri.ts", 1305],
// doctor-npm-eacces-preflight: hint field added to InstallStepResult (+1 line).
// codex-acp-package-swap: "adapter_outdated" variant added to AcpAvailabilityStatus (+1 line).
@@ -376,7 +371,10 @@ const overrides = new Map([
// here beside `build_app_state` and its sibling client; its doc comment
// carries the load-bearing SSRF rationale. Extraction would only relocate,
// not reduce, the security-critical code.
["src-tauri/src/app_state.rs", 1068],
// +5 (1068 -> 1073): merge with main, which independently added the
// managed_agent_profile_reconcile_enabled flag (field + doc + init) under
// its own 1042-line override. Union of two separately approved additions.
["src-tauri/src/app_state.rs", 1073],
// multi-slot splitting + no-op suppression (#1309): the ReadStateManager
// class grew from ~700 lines to ~1019 with the addition of
// splitContextsIntoBudgetedSlots (pure fn + 5 tests), publishSplitSlots,