sync(upstream): merge upstream/main 23f0a1ae3 into fork/dev - #374
Merged
Conversation
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
…pingdotgg#5563) Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com> Co-authored-by: maria-rcks <maria@kuuro.net> Co-authored-by: Julius Marminge <jmarminge@gmail.com>
…g#5579) Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Adopts the six upstream commits after #372: per-device provider settings (pingdotgg#4479), the modular theme library and theme editor (pingdotgg#5226), Done/Woke sidebar semantics (pingdotgg#5579), the non-pulsing Working label (pingdotgg#5580), mobile T3 Connect device cleanup (pingdotgg#5563), and a download-page copy fix (pingdotgg#4511). Upstream's new filePicker/projectSearch/themeEditor shortcuts arrive with an overlay-mode host for the command palette. The fork rewrote that component, so the host was ported rather than taken: the palette reducer gains `mode` and `ToggleMode`, and the two overlays bring their own popup instead of the popup being lifted out of OpenCommandPaletteDialog. Without that the new default keybindings would have been dead. Welds found by typecheck and tests, not by conflict markers: - SidebarV2 ended up with two per-row VCS status queries: upstream's full-mode `vcsEnvironment.status` auto-merged in above the fork's budgeted `listStatus`. Upstream's new isWoke reads prState, so the fork's query and its pr/prState derivation are hoisted above it and the duplicate dropped. Keeping the fork's list mode matters: full mode is one poller per worktree. - ElectronDialog: the fork's pickApplication and upstream's pickFiles are independent additions that collided at every declaration site. - The keybindings test fixture kept the fork's list, silently dropping upstream's two new bindings while its new assertions expected them. The v1 sidebar body is a fork rewrite; upstream restructured the same region for its own layout, so both sides were whole-body alternatives and the fork's is kept. Co-authored-by: Patrick Roza <42661+patroza@users.noreply.github.com>
omegent-app Bot
added a commit
that referenced
this pull request
Aug 7, 2026
Adopts the three upstream commits after #374: mobile keyboard avoiding (pingdotgg#5451), dev-runner cold-start speedup (pingdotgg#5584), and rewritten --share instructions (pingdotgg#5586). Resolutions: dev-runner.ts unions the fork's METRO_PORT passthrough with upstream's launcher-env scrubbing (T3_SERVICE_LAUNCHER_CONTEXT / T3_BOOT_SERVICE_UNIT deletion). AGENTS.md's auto-union dropped upstream's rewritten "Dev servers" bullets into the fork's ship-gate section; the share/pairing guidance is folded into the fork's own Dev Servers section instead, replacing its older --share bullet. Lockfile regenerated. Co-authored-by: Patrick Roza <42661+patroza@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adopts upstream through
23f0a1ae3— the six commits after #372, headlined by per-device providersettings (pingdotgg#4479) and the modular theme library + theme editor (pingdotgg#5226).
Important
Merge with a merge commit, not squash. Squashing collapses the second parent and discards
upstream's commits as ancestors — the thing that keeps "commits behind upstream" honest.
Upstream commits entering the product
23f0a1ae385b1734d43ffe84f96220efad62b98a0f0d295305c36fThe one real piece of work: the command-palette overlay host
Upstream's new
filePicker.toggle(mod+p),projectSearch.toggle(mod+shift+f)and
themeEditor.toggle(mod+alt+shift+t) shortcuts arrive with a rewritten palette thathosts three overlays (palette · files · content). The fork rewrote that component, so the host was
ported, not taken:
modeandToggleMode, and moves toCommandPalette.logic.tswhereupstream keeps it (so it stays unit-testable);
CommandDialogPopupinstead of the popup being liftedout of
OpenCommandPaletteDialog, which the fork has heavily customised;"Esc Back" affordance both overlays render;
are discoverable by search and not only by shortcut.
Without the port those three default keybindings would have been dead on arrival.
Welds found by typecheck and tests, not by conflict markers
SidebarV2vcsEnvironment.statusauto-merged in above the fork's budgetedlistStatus, and upstream's newisWokereadsprStatedeclared in its copypr/prStatehoisted aboveisWoke; upstream's duplicate dropped. Full mode is one poller per worktree — the storm the fork's list mode exists to avoidElectronDialogpickApplication(macOS Open With) and upstream's newpickFilescollided at every declaration site; a naive union fused two error classes, two interfaces, and duplicatedconfirm/showMessageBoxpickFilesre-indented into the servicekeybindings.test.tsDEFAULT_BINDINGSfixture kept the fork's list while upstream's new assertions expected the two new chords — tests failed against a fixture that no longer matched shipped defaultsSidebar.tsx(v1)fixedHeaderrestructure not adopted for v1Keybinding additions (
mod+p,mod+shift+f,mod+alt+shift+t) were checked against the fork'sexisting chords, including
board.open= mod+t: no collisions.Adversarial review
grok-4.5 and gpt-5.6-sol both ran over the
git show --ccsurface with the merged worktreeavailable. They independently converged on the same finding: the overlay host was only half
ported. All four are fixed in this branch.
onOpenChangeinterceptsescape-keywhilemode !== "command"and switches back insteadopenOverlayModethreaded intoOpenCommandPaletteDialog; both actions registeredpreviewFocus/previewOpen, so customized bindings using thosewhenconditions could not matchpreviewOpenderived as upstream doesCommandPalette.logic.tsand upstream's four reducer tests restoredBoth cleared the rest: ElectronDialog (no duplicate declarations, both APIs wired), keybinding
registry/handlers/fixtures agree, and the deliberate
listStatuschoice plus Done/Woke andnon-pulsing Working semantics are coherent.
Verification
CodexTextGenerationlaunch-args one,which reproduces on unmerged
fork/dev.AddProviderInstanceDialog.environment, new in feat(web): per-device provider settings pingdotgg/t3code#4479) failed once in a fullworkspace run and passed both in isolation and on two subsequent full runs — order-dependent
flakiness in upstream's own test, not a resolution defect. Flagging rather than papering over it.
pnpm-lock.yamlregenerated rather than hand-merged.Co-authored by @patroza
opened by Patrick Roza in chat thread Discord · Discord · T3