Repository navigation
Upstream integration cycle: catch-up through 4a4c6dd2 (2026-09-11) #497
Description
Activity
The maintainer has authorized proceeding through all remaining catch-up work. Resumed against
origin/pylonatf3402be466efd50bc70e00d7245bb3ed4efe927e; frozen source range remains6c583620ff7ad3235b135af7107c0543467eecfa..4a4c6dd2adc350a68ba18bb28b24b5a7e4660dab(98 sources). No upstream refetch or range expansion.Implementation is assigned across seven isolated lanes: linked PRs/search/stacks (21 sources), devices/hosts/SSH/previews (12), scoped settings/defaults (9), mobile rendering/composer (13), web/chat/client sync (26), desktop/editors/licenses/distribution (10), and provider/compaction/rewind (7). Every source has exactly one primary owner; overlapping shared-file changes will receive integrated review. Each lane must preserve Pylon capabilities, record full-source dispositions, pass focused verification and adversarial review, and land only with final-head green CI. No release or device installation is planned. The existing deferred/watch checks remain valid for this frozen range.
Progress update for the frozen 98-source cycle (
6c583620ff7ad3235b135af7107c0543467eecfa..4a4c6dd2adc350a68ba18bb28b24b5a7e4660dab):Nine PRs are merged: #499 remote Zed, #500 Pylon marketing app redirect, #501 provider launch/model identifiers, #502 desktop keyboard fixes, #503 review diff rename detection, #504 mobile fixes, #506 fullscreen media playback, #507 web rendering/client synchronization, and #508 CLI Effect shared-runtime pin. Checked
origin/pylonis7df0bd7edfafter these merges. Each landed after independent review and final-head green CI.Pending: #505 macOS permission helper rebased with new CI running; #509 device support has fixed all five review findings and is integrating #507/#508 before final CI; #510 persisted multi-PR/search/stack workflow passed review and CI but must rebase conflicts after #507; #511 licenses awaits the final device dependency graph and independent review. Settings, durable compaction queuing, and rewind/edit-prompt groups remain in their owned worktrees with focused regression work ongoing. Reviews found settings legacy-write/replay compatibility issues and rewind session replacement/cancellation issues; owners are fixing them before any PR can be called complete.
No cursor advancement yet. Upstream has not been refreshed beyond the frozen head. No manual relay deployment, desktop/mobile release or device installation; final relay auto-deploy result will be recorded after the integration lands. Local browser/native visual verification remains unperformed and is explicitly distinguished from regression and CI evidence in the PRs.
Verified cycle progress: 63 of the frozen98 source commits are settled through merged PRs #499–#509 (60 adopted, two Android fix/revert sources superseded, one T3-only marketing-metrics source skipped). Pylon is
6c5687f95dc44b13bf1eb29ebfbaab2172e3922b. Exactly35 remain in pending groups; the existing Git inventory has no omissions or duplicate primary owners.- feat(pull-requests): link, search and manage multiple reviews and GitHub stacks #510: all21 PR workflow sources reviewed; previous head401324997a passed CI, but merging feat(devices): add simulator hosts and floating streams #509 introduced shared MCP/provider conflicts. The owner is rebasing onto6c5687f95d and will rerun CI. Migration059 must land before compaction060.
- feat(settings): show generated Pylon open-source notices #511: license generation complete at38efa3c35430f1a7df8c742c9eb9b65be48a1021, independent final dependency review approved.84 focused tests, types, strict Metro generation and strict web build pass; final CI running. Root is holding landing until feat(pull-requests): link, search and manage multiple reviews and GitHub stacks #510 resolves.
- Settings: all9 sources implemented at468b8c534a on6c5687f95d, including final project-scoped device composition. Six package types and252 final overlap tests pass. Final dependency rebase/PR remains. Legacy project edits replay through an atomic settings cursor; missing/failed project lookups cannot enable automatic restart.
- fix(compaction): preserve drafts and queue messages through durable admission #512: both compaction sources reviewed at5f8815cf842a37a8f98cb15a4abb7fa72f2aca2c.305 focused tests and seven consumer types pass. Durable FIFO, in-flight receipts and exact bind-pending checks preserve Stop/restart/session replacement. Awaiting feat(pull-requests): link, search and manage multiple reviews and GitHub stacks #510 dependency and final CI.
- Rewind: both sources implemented at7141550a71d49794994fb495f14e14aa3d71cc7c in
upstream/2026-09-12-rewind, clean. Independent backend, OpenCode/client/UI and Claude lifecycle reviews passed, all seven directly affected package types and focused tests passed. Final rebase/PR remains.thread.conversation.revertpreserves files through durable recovery; web/desktop restore selected prompts/attachments and mobile adds the file choice. Existing exact-target eligibility is preserved because relative-only native operations cannot prove durable retries or compensation.
The cursor remains6c583620ff7ad3235b135af7107c0543467eecfa. No new upstream fetch. No manual deployment, release or installation; final automatic relay deployment result remains to be recorded. Local native/rendered UI evidence is unperformed, explicitly distinguished from tests/CI.
Upstream cycle #497 — complete source accounting
Frozen range
6c583620ff7ad3235b135af7107c0543467eecfa..4a4c6dd2adc350a68ba18bb28b24b5a7e4660dab; checked Pylon391cfe3b09ab19420219b8c5bcd5fedc5736db37.All 98 unique upstream commits are accounted for across 571 source paths: 95 adopted/adapted, 2 superseded, 1 skipped. Delivery at this snapshot: 96 settled (93 adopted, 2 superseded, 1 skipped); 2 adopted sources await #513's final CI and merge. No cursor advance or cycle closure is claimed.
# Upstream SHA Source Outcome / delivery Pylon PR 1 a29a7cc5853e16d4ca7e07acf364836f71b6101afix(mobile): blur glass fallbacks to prevent background text bleed (#10964) Adopted — settled #504 2 e16b8b059c9f5ff6dfed1addecffb831c6aee043feat(web): add provider model bulk toggle (#10947) Adopted — settled #515 3 50f918c57a2df85bd97612b958386aaca035dcabfix(web): allow expanding duplicate tool call commands (#10981) Adopted — settled #507 4 75e4ceb96489a2fe92c710c79dbea59778cccfd1fix(mobile): prevent Android chat rows overlapping during sync (#10983) Adopted — settled #504 5 383cc40f4d5d9f61d47b3caa28fac839a8b9c433fix(mobile): prevent text leaking through Android glass (#10998) Adopted — settled #504 6 afb84898be3bf9b83bd4cb98c608b79c433579ccfeat(pull-requests): link multiple pull requests to threads (#10839) Adopted — settled #510 7 f0401c629038100edafc496aca79fdc53d1d4db8feat(search): find threads by linked pull request (#10870) Adopted — settled #510 8 de37964db26bd3260d253f138bfde2ac60fe254efeat(prs): navigate, merge and rebase GitHub stacks (#10875) Adopted — settled #510 9 33242d0164d47c6935ba5c7725296539384de65dfix(server): preserve recent PR reads across server restarts (#11007) Adopted — settled #510 10 8d8189e67dc091ffb91df451c9a957bbd68a5364feat(web): zoom and pan expanded images (#10869) Adopted — settled #507 11 b7b3ef1e6fcb5c22a9790d2578fe8af7ce396835fix(ui): use available space for composer model names (#11002) Adopted — settled #507 12 addfb1390eea5e850fb5e235525f9eb6c4ade100fix(web): restore pr list diff counts to the top right (#10609) Adopted — settled #510 13 385cc0a4c669aeae786ad47bfe3ecbbc352eff24fix(web): show message copy buttons on touch devices (#11020) Adopted — settled #507 14 d1eeb16247a0bd2eca8bbbfa5ab777e096af949cfix(web): middle-click pastes in the terminal on Linux (#11018) Adopted — settled #507 15 0f602b3372b300ae94084bd3fe7dbaadaa58ba3afix(editors): open remote projects in Zed (#11022) Adopted — settled #499 16 bb5e824c9fcbd76c93ef15b304f89f8b6999f32cfeat: add blue and orange diff color palette (#10671) Adopted — settled #507 17 d29c56a5c404cb0f58d3b2ac41762fa0d0ac28d4fix(server): resolve project identity before legacy pr relinks (#11045) Adopted — settled #510 18 444fd8badd265ddde33babf2a21bf3f527334e98fix(mobile): keep Android markdown icons aligned with text (#11079) Superseded — settled. Canceled by source19; final Android alignment/wrapping is sources34 and84 in #504. #504 19 3836890e4484406813997259efc69065b25ce698Revert "fix(mobile): keep Android markdown icons aligned with text" (#11098) Superseded — settled. Cancels source18 across all nine paths; sources34 and84 supply the final behavior. #504 20 e784975bbec7c54ed75fc6da3d4ffd4038fae041fix(ui): simplify multiple linked pull request badges (#11104) Adopted — settled #510 21 0882431e0fc0fabe950743dd44b674a07a584bc9fix(preview): return to pip when closing the right panel (#11102) Adopted — settled #509 22 0527ddf06defc88169c245a0fe53635d41d66469fix: quiet settled threads and simplify PR badges (#11101) Adopted — settled #510 23 f814983c262b42bd79247bae377a709925c70d63fix(web): emphasize primary pull request actions (#11105) Adopted — settled #510 24 21a5ccf881abc3aa8b5ea9de4a65edbb6ceadbdafix(web): prevent seams in the topbar scroll fade (#10914) Adopted — settled #507 25 21d744039bf76c072c875886ee497e391a0dd430fix(web): fit provider update text inside sidebar notices (#11034) Adopted — settled #507 26 3997b9a3a4ee6b43ee768a9b372ff3dd52fd840efix(web): align floating browser preview corners (#10915) Adopted — settled #509 27 60eff99f25dbfc9799043ad979537e2da1aea590fix(web): save PR body edits with Cmd/Ctrl+Enter (#10660) Adopted — settled #510 28 502131adff7494d1a1797b4fe518870f7e8431fdfix(web): collapse a tool call by clicking its expanded label (#11017) Adopted — settled #507 29 dca7b59bea7e8a4a24e75b290027496a523b0ca7feat(devices): add simulator and emulator support (#10677) Adopted — settled #509 30 e022fa430edbf8d448efe0f34303ff290ebb3dc0feat(devices): scope targets and sessions to their hosts (#10854) Adopted — settled #509 31 7734c6d71b6dd5df9c9b4856cff8e419b8837fe8feat(devices): target concurrent agent sessions across hosts (#10855) Adopted — settled #509 32 d2eeacd8ccde4d8763ca315b4cddf2964db93329feat(devices): connect simulator hosts over SSH (#10856) Adopted — settled #509 33 dfa345b3697a9117364cc6730a1598d6c27096f2feat(web): use a compact right-panel surface menu (#11111) Adopted — settled #509 34 32b690934039ea31c8bf8079aea8e9c088e97d9ffix(mobile): keep Android markdown icons aligned (#11118) Adopted — settled #504 35 47dbb06c3b171c40ebdfbd5b38cd954127949bc0fix(mobile): add close controls to tablet files and terminal (#11115) Adopted — settled #504 36 96f43708a0ec97e9da89ab1e165039f50f09e037fix(mobile): preserve the final composer animation frame (#11114) Adopted — settled #504 37 859304b7808ab9a4be87b1bddcd07c6485bf9c4ffix(mobile): keep composer transitions aligned (#11127) Adopted — settled #504 38 1a9336bcda98e75814c1985e9274d919e580dbc5refactor(mobile): name shared markdown renderer without iOS suffixes (#11128) Adopted — settled #504 39 a5ac766596bdf6c7d6852ecda453e2a85a7b08d4fix(media): preserve playback during fullscreen transitions (#11113) Adopted — settled #506 40 39ca4171e95cc85c5e85bc9a5b94b02a4d06646afix(marketing): redirect /app to app.t3.codes (#11145) Adopted — settled #500 41 2afa02a280acb0db4868d36409ba9bf7eae286c1chore(marketing): update to 300k users and 22k stars (#11146) Skipped — settled. T3 user/star counts are not Pylon facts; no functional feature omitted. #500 42 c52b8d96e4b34201f19b5e5bb12c6b2a77bfaa9afeat(command-palette): show environments in search results (#10722) Adopted — settled #507 43 6a2d2466673c010a15cb530fa2a8f77b363e046dfix(pr): update labels and reviewers without redundant reloads (#11117) Adopted — settled #510 44 27eb79dc719d70a99db495b0cb20bd6e3ac10b8dfix(chat): fold question answers into tool activity (#11014) Adopted — settled #507 45 48654c1182c41dbd5e99ef0d6620a13ba2400f26fix(usage): flag unpriced model activity instead of showing $0.00 (#11021) Adopted — settled #507 46 5735693d4acb949c2b0daf1219b4f62845115435fix(server): let Claude launch args override the derived permission mode (#11026) Adopted — settled #501 47 20ef25037f455a570426ac2a93fcf499d1f91167fix(editors): accept root paths and Windows servers in Zed remote links (#11044) Adopted — settled #499 48 4d06156dd7821851007e61489105f33dbb241a7ffix(web): center pull request unavailable states (#11110) Adopted — settled #510 49 0a37240a87bb2fed8f48cf20dc8312ee3b94eba6fix(web): remove sidebar pull request link icon (#11179) Adopted — settled #510 50 02297e3dbd896ef619d5c916938c751e343e76a8fix(ui): color linked pr counts by aggregate status (#11180) Adopted — settled #510 51 6c69534a5800a95e1640b0571580561ef71ec461fix(preview): render website favicons for browser tool activity (#11032) Adopted — settled #509 52 18c5a1d2dfbb02856ec51b54edac82952852a58afix(web): simplify pull request summary sections (#10612) Adopted — settled #510 53 ef6fa118749572da1905eca5d0543d1e98f0b1b2fix(web): preserve drafts when compacting context (#11103) Adopted — settled #512 54 57aee3e19f1910f3323f06384bb2a1d02b79e369fix(server): queue messages during context compaction (#11107) Adopted — settled #512 55 8fc253605e6d203c3654dbb1ce22fa1fd6fa0767perf(web): format minimap previews only when opened (#11181) Adopted — settled #507 56 a9dabbf100d1f6c0b2ed7b5e879d469ac14fd186perf(web): reuse completed Markdown prefixes while streaming (#11193) Adopted — settled #507 57 d7d7f8f3eb7bf593925281eb62348e15a91252b8perf(web): resume syntax highlighting from completed lines (#11196) Adopted — settled #507 58 8078c532ceeee5cb951325031f216171507f3d5eperf(web): preserve completed code-line DOM while streaming (#11198) Adopted — settled #507 59 211618fd9fe39d3dde01171a6856ce9f633571c9perf(web): huge-thread switch no longer blanks the chat pane (#11169) Adopted — settled #507 60 fb3d165d33b155038de717851207d25fb52fe65efix(web): show platform file manager icons in Open menu (#11228) Adopted — settled #507 61 26894dda7b6d78c5863ccec6581caf0ec7f4843bfix(server): detect file renames in review diffs (#8086) Adopted — settled #503 62 5eecc24a10013be14e496b485f8d1d9491c75f6afix(cli): pin shared Effect dependency for npm installs (#11240) Adopted — settled #508 63 2ebc9fa4ed24e389eef24039f27c73ae6633858ffix(mobile): prevent Hermes crashes when opening threads (#11233) Adopted — settled. Complete across #504 and #507: reverse and Hermes regression in #504; new userInput.ts uses texts.sort() in #507. Counted once. #504, #507 64 05d404210058d714cfef902517fc20ad66b82339feat(web): open Usage on the Limits tab by default (#11261) Adopted — settled #515 65 2b7d3a45e6ee9454e4dd46aaf0276ca05d8555d3perf(web): avoid scanning chat history for sidebar backgrounds (#11206) Adopted — settled #507 66 7bd7f99e6cab940892ff9240549c507bfd066aeeperf(mobile): reuse completed code lines while streaming (#11211) Adopted — settled #504 67 6e8931d75615ec020e602e97df2694b0541a6272perf(client): reduce remote request and message sync overhead (#11029) Adopted — settled #507 68 e1c94f703f05b43f2935d09ed1ef882d0ee13ff8fix(web): refresh usage limit countdowns without switching tabs (#11187) Adopted — settled #507 69 fb52d125b78b2ed1638a719a7546fad9c695c620fix(client-runtime): typecheck device hub ticket request on main (#11304) Adopted — settled #509 70 2c0e891740f86205784506a974096cf110b64da7feat(settings): add per-project overrides for scopable server settings (#11176) Adopted — settled #515 71 8b2c0465def151f022e01dd04b1b6ba3859bd714feat(web): pick settings environment and project as two selects (#10636) Adopted — settled #515 72 e22040dfc190d04573238c5db2e69df72e5f1017feat(settings): edit any scopable setting as a project override (#10639) Adopted — settled #515 73 8bbe2bf660c361e33db9c30f03fc72ab183eef3ffeat(web): float device streams over chat (#11285) Adopted — settled #509 74 18f7254e0adbd7d642f4d78f9b9c8e6cb569af56fix(web): floating preview can use the margins beside the composer (#11290) Adopted — settled #509 75 e145c5f22a10d7433420b447537ed3f29a66d7d9perf(client-runtime): speed up message sync on desktop and mobile (#11302) Adopted — settled #507 76 15c6167bc48922c9359235d6eee11259f2164d1dfix(web): use the configured panel shortcut on the PR page (#11292) Adopted — settled #510 77 b3ed07fb39fb795b9d2c74644e4b0a7f12392ad5feat(web): add PR page selections to new draft threads (#11296) Adopted — settled #510 78 0eaa18c12936dffde078b277be91cbafa5758cb9feat(web): show recording status on floating previews (#11312) Adopted — settled #509 79 095d57552c4579ce33a6560a76b7c643b92f00f9fix(desktop): hold-to-quit no longer strands the quit (#11016) Adopted — settled #502 80 4a8ab1b720c41b035dc4b7c58030ed62fbe6bd7ffeat(web): mark projects on another machine in project pickers (#11323) Adopted — settled #515 81 871192933fe0a501fd92a1ed3a5d317ba1eea9d3fix(web): show pointer cursors on pull request controls (#11283) Adopted — settled #510 82 867eb9bffc1e46ce0f7493ae760f9eb9d9dec3a8fix(web): themed panel toggles show their disabled state (#11188) Adopted — settled #507 83 50791a0530a9c4eed7924dbfedf2fcf430d4ed98fix(web): use branch wording in commit dialogs (#11281) Adopted — settled #507 84 cd64ad384e40988f57e4caa5a3f74f25ca5ef450fix(mobile): keep Android file icons on the line with wrapped filenames (#11234) Adopted — settled #504 85 a92161a05040c3fcaaa479f1b60d2d45cd368dd4fix(codex): preserve qualified model ids in selection and generation (#9921) Adopted — settled #501 86 36668dbe4fe2f8c881cc4f93bc675413eef1406ffeat(desktop): share macOS permission onboarding (#11289) Adopted — settled #505 87 8a2d5f545ae1f76d08a6a6515f6b6c383cada5adfix(test): drain worker broadcasts before restoring browser globals (#11349) Adopted — settled #507 88 8461c25ffd0a11dfb537b081ed8460283d04f033fix(web): disable linked pull requests when none are linked (#11348) Adopted — settled #510 89 1f73a89fc4d5c8b3e188282aeb8173f8f8bf257bfix(models): default to astra medium and fable 5.1 medium (#11347) Adopted — settled. Functional model defaults adopted; upstream updatedAt metadata omitted for Pylon manifest validation/cache compatibility. #515 90 4d16e6bc6f0be52c5d44b8864000c70c7825e4f7fix(web): align provider settings with shared settings rows (#10571) Adopted — settled #515 91 cf1ba3d7da98357243ee056d2fd358eed8171981feat(settings): configure default permissions for new threads (#11346) Adopted — settled #515 92 fd5553f1afcef4f410a067687faa991743b5034cfix: restore provider history and prompts when rewinding (#11338) Adopted — pending merge. Exact-target safety divergence retained: relative-only providers cannot prove durable target retries or compensation. #513 93 25da986037a99d1e87bf1ed51aa58d7babee064afix(web): keep comment actions visible when pr comments are folded (#11357) Adopted — settled #510 94 efccda9ac9230db22b36990cffabdad218fa41b0feat: rewind conversations while keeping file changes (#11358) Adopted — pending merge. Keep-files uses exact persisted Saga targets; history-only mode never captures/applies/compensates workspace files. Relative-only providers remain disabled. #513 95 38827789c4de97955315b459cb3b0b8207f692d8fix(web): keep sidebar scroll position when pinning threads (#10757) Adopted — settled #507 96 8eec78cf839a6ce507c085f0b4c42042831407c7fix(web): remove pr description reactions (#11361) Adopted — settled #510 97 e816064945144957b6eb9b268912a98b0555644bfix(desktop): keep preview keystrokes out of the composer (#11354) Adopted — settled #502 98 4a4c6dd2adc350a68ba18bb28b24b5a7e4660dabfeat(settings): add open source license notices (#8962) Adopted — settled #511 Pylon adaptations and retained divergences are documented in each owning PR. The decision index in #513 summarizes them; every source SHA appears exactly once above.
The upstream
applyManifestDefaulthelper dependency06336460c9988f29c71e839c4c9c840c4552e077is separately documented in #501 and is not an additional source in this frozen range. The separately owned Pylon telemetry typing repair #514 is inherited from the latest product branch and is outside this source count.No source implementation remains unassigned. Only #513 delivery is pending. Revisit relative-provider rewind when immutable absolute anchors and verifiable source/target recovery can satisfy Pylon’s durable rollback guarantee. Preserve earlier deferred/watch records.
Final integration review found that rewind admission must reject a still-present durable compaction queue, including its draining phase. That interaction is being fixed with regression coverage in #513 before final-head CI and landing; no queued prompt loss is accepted.
Completed the frozen range
6c583620ff7ad3235b135af7107c0543467eecfa..4a4c6dd2adc350a68ba18bb28b24b5a7e4660dab: all 98 sources have landed dispositions across 16 implementation PRs — 95 adopted/adapted, two superseded, one skipped. No source is unclassified or awaiting a port. The complete source mapping remains the audit index; its last two pending sources are now completed by #513.Final rewind head
d4bb89c595a2d4428285718d76a9c3a1fdc8f29cpassed independent adversarial review and all ten Actions CI jobs, then merged as6ea4ae45084fd00637bfd379d8edd728585a5d25. Git verifies that the merged product tree exactly equals the tested PR tree. Final integration fixes protect accepted compaction prompts from rewind in both the target thread and sibling threads sharing its workspace, while distinct worktrees remain independent.The ledger cursor is now
4a4c6dd2adc350a68ba18bb28b24b5a7e4660dab(source date 2026-09-11). Existing deferred/watch conditions and Pylon divergences remain recorded, including exact durable rollback requirements, #479’s mobile Antigravity exception, and truthful Pylon marketing. No upstream ancestry change was made.Automatic relay deployment succeeded on the final merge: Deploy Pylon Connect relay 34681853387. The duplicate post-merge CI run is still running and remains under watch. No manual deployment, desktop/mobile release or device installation was performed. Optional Vercel marketing previews hit the external account deployment quota; the plan and quota were left unchanged.
Eight completed cycle worktrees and sixteen local branches have been removed after verification; only the clean final rewind worktree remains until the post-merge watch completes. Caller and unrelated worktrees are preserved. The next action is one fresh upstream fetch, with any newer commits tracked in a new bounded cycle.
Final post-merge CI also passed all ten jobs on
6ea4ae45084fd00637bfd379d8edd728585a5d25: https://github.com/pylon-code/pylon/actions/runs/34681853378 . Relay deployment is already successful. The fresh upstream fetch found exactly four newer sources, now frozen and owned by #516 throughb1e223e2b0d87124883b1410ab52dd6a1338e40d; none belong to this completed 98-source cycle.
Continues completed cycle #414. Final implementation PRs #483 and #480 and closing ledger PR #498 are merged with green CI; the review cursor is now the lower bound below. The ledger merge is
f3402be466efd50bc70e00d7245bb3ed4efe927e. This issue owns the next bounded cycle; arrivals after its frozen head belong to a later cycle.Frozen range and verified base
6c583620ff7ad3235b135af7107c0543467eecfa.4a4c6dd2adc350a68ba18bb28b24b5a7e4660dab(fresht3code-upstream mainfetch, 2026-09-11 local date).ae27742ce14c112cc0c310e8aa5d780c5ad19205.git cherryfound 0 patch-equivalent commits. This is not proof that all 98 represent missing behavior; compare final Pylon behavior before assigning dispositions.applied); details are in Upstream integration cycle: catch-up through 6c583620 (2026-09-09) #414.Standing maintainer scope
Port every upstream feature while preserving Pylon’s capabilities. Keep a divergence only where upstream cannot provide Pylon’s behavior. Follow upstream theming; retain Pylon naming and branding. Make reversible in-scope adaptations and report them afterwards. Every completed integration unit needs adversarial review and green CI on its final head. Preserve Prime/provider lifecycle, rollback and migration lineage, remote authentication, local/remote/tunnel behavior, and release identity. A capability loss or unresolved choice between duplicate implementations still needs a concrete maintainer decision.
Use
.agents/skills/review-t3-upstream/SKILL.mdand its continuation reference. Refreshorigin/pylonwhen resuming, keep this upstream bound frozen, and consult this issue before creating worktrees. No fresh unbounded upstream inventory.First review priorities
Deferred/watch checks at cycle opening
1e8276a76ff194d8b03bc65aa78750b4505ff036; no new action.claudeOAuthUsage.ts,provider/Layers/ClaudeProvider.tsorproviderRateLimitEvents.ts; model-identifying native overage metadata trigger remains unmet.Source inventory
Every commit’s changed paths were inventoried. The source links below preserve the complete per-commit diffs; no source is omitted or pre-classified by its title.
a29a7cc5853e16d4ca7e07acf364836f71b6101a— fix(mobile): blur glass fallbacks to prevent background text bleed (#10964) (5 paths)e16b8b059c9f5ff6dfed1addecffb831c6aee043— feat(web): add provider model bulk toggle (#10947) (2 paths)50f918c57a2df85bd97612b958386aaca035dcab— fix(web): allow expanding duplicate tool call commands (#10981) (1 paths)75e4ceb96489a2fe92c710c79dbea59778cccfd1— fix(mobile): prevent Android chat rows overlapping during sync (#10983) (1 paths)383cc40f4d5d9f61d47b3caa28fac839a8b9c433— fix(mobile): prevent text leaking through Android glass (#10998) (3 paths)afb84898be3bf9b83bd4cb98c608b79c433579cc— feat(pull-requests): link multiple pull requests to threads (#10839) (172 paths)f0401c629038100edafc496aca79fdc53d1d4db8— feat(search): find threads by linked pull request (#10870) (9 paths)de37964db26bd3260d253f138bfde2ac60fe254e— feat(prs): navigate, merge and rebase GitHub stacks (#10875) (53 paths)33242d0164d47c6935ba5c7725296539384de65d— fix(server): preserve recent PR reads across server restarts (#11007) (5 paths)8d8189e67dc091ffb91df451c9a957bbd68a5364— feat(web): zoom and pan expanded images (#10869) (3 paths)b7b3ef1e6fcb5c22a9790d2578fe8af7ce396835— fix(ui): use available space for composer model names (#11002) (5 paths)addfb1390eea5e850fb5e235525f9eb6c4ade100— fix(web): restore pr list diff counts to the top right (#10609) (1 paths)385cc0a4c669aeae786ad47bfe3ecbbc352eff24— fix(web): show message copy buttons on touch devices (#11020) (1 paths)d1eeb16247a0bd2eca8bbbfa5ab777e096af949c— fix(web): middle-click pastes in the terminal on Linux (#11018) (2 paths)0f602b3372b300ae94084bd3fe7dbaadaa58ba3a— fix(editors): open remote projects in Zed (#11022) (4 paths)bb5e824c9fcbd76c93ef15b304f89f8b6999f32c— feat: add blue and orange diff color palette (#10671) (11 paths)d29c56a5c404cb0f58d3b2ac41762fa0d0ac28d4— fix(server): resolve project identity before legacy pr relinks (#11045) (2 paths)444fd8badd265ddde33babf2a21bf3f527334e98— fix(mobile): keep Android markdown icons aligned with text (#11079) (9 paths)3836890e4484406813997259efc69065b25ce698— Revert "fix(mobile): keep Android markdown icons aligned with text" (#11098) (9 paths)e784975bbec7c54ed75fc6da3d4ffd4038fae041— fix(ui): simplify multiple linked pull request badges (#11104) (5 paths)0882431e0fc0fabe950743dd44b674a07a584bc9— fix(preview): return to pip when closing the right panel (#11102) (1 paths)0527ddf06defc88169c245a0fe53635d41d66469— fix: quiet settled threads and simplify PR badges (#11101) (6 paths)f814983c262b42bd79247bae377a709925c70d63— fix(web): emphasize primary pull request actions (#11105) (1 paths)21a5ccf881abc3aa8b5ea9de4a65edbb6ceadbda— fix(web): prevent seams in the topbar scroll fade (#10914) (1 paths)21d744039bf76c072c875886ee497e391a0dd430— fix(web): fit provider update text inside sidebar notices (#11034) (1 paths)3997b9a3a4ee6b43ee768a9b372ff3dd52fd840e— fix(web): align floating browser preview corners (#10915) (1 paths)60eff99f25dbfc9799043ad979537e2da1aea590— fix(web): save PR body edits with Cmd/Ctrl+Enter (#10660) (1 paths)502131adff7494d1a1797b4fe518870f7e8431fd— fix(web): collapse a tool call by clicking its expanded label (#11017) (2 paths)dca7b59bea7e8a4a24e75b290027496a523b0ca7— feat(devices): add simulator and emulator support (#10677) (77 paths)e022fa430edbf8d448efe0f34303ff290ebb3dc0— feat(devices): scope targets and sessions to their hosts (#10854) (19 paths)7734c6d71b6dd5df9c9b4856cff8e419b8837fe8— feat(devices): target concurrent agent sessions across hosts (#10855) (11 paths)d2eeacd8ccde4d8763ca315b4cddf2964db93329— feat(devices): connect simulator hosts over SSH (#10856) (30 paths)dfa345b3697a9117364cc6730a1598d6c27096f2— feat(web): use a compact right-panel surface menu (#11111) (4 paths)32b690934039ea31c8bf8079aea8e9c088e97d9f— fix(mobile): keep Android markdown icons aligned (#11118) (1 paths)47dbb06c3b171c40ebdfbd5b38cd954127949bc0— fix(mobile): add close controls to tablet files and terminal (#11115) (2 paths)96f43708a0ec97e9da89ab1e165039f50f09e037— fix(mobile): preserve the final composer animation frame (#11114) (5 paths)859304b7808ab9a4be87b1bddcd07c6485bf9c4f— fix(mobile): keep composer transitions aligned (#11127) (6 paths)1a9336bcda98e75814c1985e9274d919e580dbc5— refactor(mobile): name shared markdown renderer without iOS suffixes (#11128) (7 paths)a5ac766596bdf6c7d6852ecda453e2a85a7b08d4— fix(media): preserve playback during fullscreen transitions (#11113) (2 paths)39ca4171e95cc85c5e85bc9a5b94b02a4d06646a— fix(marketing): redirect /app to app.t3.codes (#11145) (1 paths)2afa02a280acb0db4868d36409ba9bf7eae286c1— chore(marketing): update to 300k users and 22k stars (#11146) (1 paths)c52b8d96e4b34201f19b5e5bb12c6b2a77bfaa9a— feat(command-palette): show environments in search results (#10722) (4 paths)6a2d2466673c010a15cb530fa2a8f77b363e046d— fix(pr): update labels and reviewers without redundant reloads (#11117) (5 paths)27eb79dc719d70a99db495b0cb20bd6e3ac10b8d— fix(chat): fold question answers into tool activity (#11014) (10 paths)48654c1182c41dbd5e99ef0d6620a13ba2400f26— fix(usage): flag unpriced model activity instead of showing $0.00 (#11021) (5 paths)5735693d4acb949c2b0daf1219b4f62845115435— fix(server): let Claude launch args override the derived permission mode (#11026) (2 paths)20ef25037f455a570426ac2a93fcf499d1f91167— fix(editors): accept root paths and Windows servers in Zed remote links (#11044) (4 paths)4d06156dd7821851007e61489105f33dbb241a7f— fix(web): center pull request unavailable states (#11110) (3 paths)0a37240a87bb2fed8f48cf20dc8312ee3b94eba6— fix(web): remove sidebar pull request link icon (#11179) (3 paths)02297e3dbd896ef619d5c916938c751e343e76a8— fix(ui): color linked pr counts by aggregate status (#11180) (7 paths)6c69534a5800a95e1640b0571580561ef71ec461— fix(preview): render website favicons for browser tool activity (#11032) (9 paths)18c5a1d2dfbb02856ec51b54edac82952852a58a— fix(web): simplify pull request summary sections (#10612) (6 paths)ef6fa118749572da1905eca5d0543d1e98f0b1b2— fix(web): preserve drafts when compacting context (#11103) (2 paths)57aee3e19f1910f3323f06384bb2a1d02b79e369— fix(server): queue messages during context compaction (#11107) (2 paths)8fc253605e6d203c3654dbb1ce22fa1fd6fa0767— perf(web): format minimap previews only when opened (#11181) (3 paths)a9dabbf100d1f6c0b2ed7b5e879d469ac14fd186— perf(web): reuse completed Markdown prefixes while streaming (#11193) (5 paths)d7d7f8f3eb7bf593925281eb62348e15a91252b8— perf(web): resume syntax highlighting from completed lines (#11196) (3 paths)8078c532ceeee5cb951325031f216171507f3d5e— perf(web): preserve completed code-line DOM while streaming (#11198) (8 paths)211618fd9fe39d3dde01171a6856ce9f633571c9— perf(web): huge-thread switch no longer blanks the chat pane (#11169) (4 paths)fb3d165d33b155038de717851207d25fb52fe65e— fix(web): show platform file manager icons in Open menu (#11228) (6 paths)26894dda7b6d78c5863ccec6581caf0ec7f4843b— fix(server): detect file renames in review diffs (#8086) (2 paths)5eecc24a10013be14e496b485f8d1d9491c75f6a— fix(cli): pin shared Effect dependency for npm installs (#11240) (3 paths)2ebc9fa4ed24e389eef24039f27c73ae6633858f— fix(mobile): prevent Hermes crashes when opening threads (#11233) (3 paths)05d404210058d714cfef902517fc20ad66b82339— feat(web): open Usage on the Limits tab by default (#11261) (3 paths)2b7d3a45e6ee9454e4dd46aaf0276ca05d8555d3— perf(web): avoid scanning chat history for sidebar backgrounds (#11206) (1 paths)7bd7f99e6cab940892ff9240549c507bfd066aee— perf(mobile): reuse completed code lines while streaming (#11211) (11 paths)6e8931d75615ec020e602e97df2694b0541a6272— perf(client): reduce remote request and message sync overhead (#11029) (12 paths)e1c94f703f05b43f2935d09ed1ef882d0ee13ff8— fix(web): refresh usage limit countdowns without switching tabs (#11187) (3 paths)fb52d125b78b2ed1638a719a7546fad9c695c620— fix(client-runtime): typecheck device hub ticket request on main (#11304) (1 paths)2c0e891740f86205784506a974096cf110b64da7— feat(settings): add per-project overrides for scopable server settings (#11176) (25 paths)8b2c0465def151f022e01dd04b1b6ba3859bd714— feat(web): pick settings environment and project as two selects (#10636) (9 paths)e22040dfc190d04573238c5db2e69df72e5f1017— feat(settings): edit any scopable setting as a project override (#10639) (71 paths)8bbe2bf660c361e33db9c30f03fc72ab183eef3f— feat(web): float device streams over chat (#11285) (15 paths)18f7254e0adbd7d642f4d78f9b9c8e6cb569af56— fix(web): floating preview can use the margins beside the composer (#11290) (4 paths)e145c5f22a10d7433420b447537ed3f29a66d7d9— perf(client-runtime): speed up message sync on desktop and mobile (#11302) (3 paths)15c6167bc48922c9359235d6eee11259f2164d1d— fix(web): use the configured panel shortcut on the PR page (#11292) (1 paths)b3ed07fb39fb795b9d2c74644e4b0a7f12392ad5— feat(web): add PR page selections to new draft threads (#11296) (1 paths)0eaa18c12936dffde078b277be91cbafa5758cb9— feat(web): show recording status on floating previews (#11312) (1 paths)095d57552c4579ce33a6560a76b7c643b92f00f9— fix(desktop): hold-to-quit no longer strands the quit (#11016) (2 paths)4a8ab1b720c41b035dc4b7c58030ed62fbe6bd7f— feat(web): mark projects on another machine in project pickers (#11323) (5 paths)871192933fe0a501fd92a1ed3a5d317ba1eea9d3— fix(web): show pointer cursors on pull request controls (#11283) (3 paths)867eb9bffc1e46ce0f7493ae760f9eb9d9dec3a8— fix(web): themed panel toggles show their disabled state (#11188) (1 paths)50791a0530a9c4eed7924dbfedf2fcf430d4ed98— fix(web): use branch wording in commit dialogs (#11281) (1 paths)cd64ad384e40988f57e4caa5a3f74f25ca5ef450— fix(mobile): keep Android file icons on the line with wrapped filenames (#11234) (4 paths)a92161a05040c3fcaaa479f1b60d2d45cd368dd4— fix(codex): preserve qualified model ids in selection and generation (#9921) (8 paths)36668dbe4fe2f8c881cc4f93bc675413eef1406f— feat(desktop): share macOS permission onboarding (#11289) (30 paths)8a2d5f545ae1f76d08a6a6515f6b6c383cada5ad— fix(test): drain worker broadcasts before restoring browser globals (#11349) (1 paths)8461c25ffd0a11dfb537b081ed8460283d04f033— fix(web): disable linked pull requests when none are linked (#11348) (3 paths)1f73a89fc4d5c8b3e188282aeb8173f8f8bf257b— fix(models): default to astra medium and fable 5.1 medium (#11347) (3 paths)4d16e6bc6f0be52c5d44b8864000c70c7825e4f7— fix(web): align provider settings with shared settings rows (#10571) (5 paths)cf1ba3d7da98357243ee056d2fd358eed8171981— feat(settings): configure default permissions for new threads (#11346) (13 paths)fd5553f1afcef4f410a067687faa991743b5034c— fix: restore provider history and prompts when rewinding (#11338) (31 paths)25da986037a99d1e87bf1ed51aa58d7babee064a— fix(web): keep comment actions visible when pr comments are folded (#11357) (1 paths)efccda9ac9230db22b36990cffabdad218fa41b0— feat: rewind conversations while keeping file changes (#11358) (10 paths)38827789c4de97955315b459cb3b0b8207f692d8— fix(web): keep sidebar scroll position when pinning threads (#10757) (2 paths)8eec78cf839a6ce507c085f0b4c42042831407c7— fix(web): remove pr description reactions (#11361) (1 paths)e816064945144957b6eb9b268912a98b0555644b— fix(desktop): keep preview keystrokes out of the composer (#11354) (4 paths)4a4c6dd2adc350a68ba18bb28b24b5a7e4660dab— feat(settings): add open source license notices (#8962) (38 paths)