Skip to content

merge: sync upstream through b73232bdd (15 commits) - #397

Merged
omegent-app[bot] merged 18 commits into
fork/devfrom
sync/upstream-b73232bdd
Aug 12, 2026
Merged

merge: sync upstream through b73232bdd (15 commits)#397
omegent-app[bot] merged 18 commits into
fork/devfrom
sync/upstream-b73232bdd

Conversation

@omegent-app

@omegent-app omegent-app Bot commented Aug 12, 2026

Copy link
Copy Markdown

Adopts upstream through b73232bdd — the 15 commits after 083fa4ab2.

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

Commit
b73232bdd feat(web): reset sidebar width on double click (pingdotgg#6320)
f131228a5 fix(web): theme Clerk surfaces (pingdotgg#6300)
e321667b1 fix(web): prevent changed files header overlap (pingdotgg#6314)
849bac894 fix(connect): preserve CLI OAuth parameters through browser sign-in (pingdotgg#6285)
6fd088af9 fix(web): align mobile onboarding header (pingdotgg#6293)
b54bfc931 feat(web): a better right panel empty state (pingdotgg#6258)
e1378a1f4 fix(mobile): keep ordered lists inside user bubbles (pingdotgg#6154)
5a8461480 fix(web): align the composer model picker (pingdotgg#6252)
d37a9b09b feat(mobile): add thread title regeneration (pingdotgg#6253)
560d4a456 fix(web): keep sidebar wordmark visible at minimum width (pingdotgg#6246)
52e5a75a8 feat(web): compact sidebar footer actions (pingdotgg#6210)
c196f422e fix(web): clean up composer resize animation (pingdotgg#6209)
f0b57ca23 feat(web): add Open VSX theme search (pingdotgg#5654)
2db08457f fix(web): use upload icon for disabled push action (pingdotgg#6207)
63e6faef6 chore: add dara to vouched (pingdotgg#6259) — the fork's VOUCHED.td deletion stands

Resolutions

Nine conflicts, almost all of them pingdotgg#6253 (mobile title regeneration) landing in the same files the
fork has been extending
. Three needed judgement:

Where Situation Resolution
thread-list-items.tsx the union produced two menuActions declarations — the fork's settle-aware builder and upstream's regeneration list — and two stacked dependency arrays on one useCallback, which typechecked as a three-argument call rather than failing outright buildThreadRowMenuActions now takes the regeneration items and splices them in, on both the settlement-supported and legacy branches, so a row has one menu carrying both features. Dependency arrays merged
HomeRouteScreen.tsx upstream passes onEnvironmentChange={setSelectedEnvironmentId}single-environment selection. The fork replaced that surface with a multi-select upstream's prop dropped; the fork's onToggleEnvironment / onClearEnvironments are already wired beside it
useThreadListActions.ts upstream extracted actionFailureMessage / ThreadListAction into threadActionMessages; the fork still declared them locally, so the import collided with the local declaration local copies removed — the extracted module already carries the fork's settle / unsettle actions, so it is a true superset

ChangedFilesTree takes upstream's @container/changed-files inside the fork's cn() so the
caller-supplied className survives; the rest are additive unions.

Note on the Pull Requests button

pingdotgg#6210 reshapes the sidebar footer into compact icon buttons, and it landed here without a
conflict
. I checked it deliberately, since that file holds the button you could not find: upstream's
change applied intact, and the gate is still usePrimaryEnvironment() only (SidebarChrome.tsx:131).
So the button now looks different, but the reason it stays hidden when your primary environment is
old or disconnected is unchanged — still worth its own fix.

Adversarial review

Both reviewers went through all the resolutions. Neither found a HIGH. Four findings were real
and are fixed in f8948145b and 3d263e1dc.

Finding Disposition
both, MEDIUMrenderV2Item's dependency array lost nowMinute, which upstream listed. Unioning conflict hunks keeps both sides' code but silently keeps only one side's dependency array Fixed. A screen left mounted across a minute boundary kept handing rows a stale minute, so snooze presets drift from the times they advertise
grok-4.5, MEDIUM — the same array also omitted snoozeEnvironmentIds, which the row reads for snoozeSupported Fixed. A row could keep offering — or withholding — snooze after the environment's capability resolved
gpt-5.6-sol, LOW — the v2 layout memo reads props.threadGrouping but did not depend on it Fixed. Switching grouping could keep recency headers until some other input changed identity
gpt-5.6-sol, LOWCONTRIBUTING.md:13 still links to .github/VOUCHED.td, which the fork deletes. My merge message claimed nothing referenced it, and that was wrong Fixed. The link is in the contributing guide, so anyone following the trust-status docs hit a 404
grok-4.5, MEDIUM — upstream's showDesktopUpdateDownloadedToast is never called Not this merge. Verified against both parents: upstream calls it from LegacySidebar.tsx:3552, and the fork parent already did not — a pre-existing fork divergence, not something this weld dropped. Worth its own look
grok-4.5, LOW — regenerate sits above Archive on the settlement branch rather than upstream's exact relative slot Cosmetic ordering inside a menu the fork already reorders

Both independently confirmed the parts I most wanted checked: every menu entry in
thread-list-items is reachable and dispatched with no duplicates or dead handlers; dropping
onEnvironmentChange is correct because HomeScreenProps requires the multi-select trio instead and
no upstream selection surface became unreachable; threadActionMessages is an exact superset of the
fork's local copies including the settle/unsettle wording; @container/changed-files appears once on
the real query container with the caller's className intact; and main.tsx uses both the fork's
preload recovery and upstream's Clerk appearance.

On SidebarChrome.tsx — the file behind the missing Pull Requests button, which did not
conflict: git diff HEAD^2 HEAD on it is empty, so the merge result is upstream's tip exactly.
pingdotgg#6210's compact footer landed intact, and the gate is still usePrimaryEnvironment()-only at
:131-133. Notably both reviewers confirmed upstream uses that same gate — so it is upstream's
own single-environment assumption, not a fork-side removal.

Verification

  • Recursive typecheck clean across all 18 packages; vp build of the web app passes.
  • 2,763 tests pass; the only failure is the pre-existing CodexTextGeneration launch-args one,
    which reproduces on unmerged fork/dev.
  • pnpm-lock.yaml regenerated rather than hand-merged.

Note

A full-suite run surfaced the pre-existing browserHistoryStore.test.ts flake (~1 in 3). Not from
this branch — reproduced earlier on clean fork/dev and at f067b34a1.

Co-authored by @patroza

opened by Patrick Roza in chat thread Discord · Discord · T3

t3-code Bot and others added 18 commits August 11, 2026 20:25
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: maria <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Wout Stiens <71498452+StiensWout@users.noreply.github.com>
Adopts the 15 upstream commits that landed after 083fa4a: mobile thread title
regeneration (pingdotgg#6253), Open VSX theme search (pingdotgg#5654), a better right panel empty
state (pingdotgg#6258), compact sidebar footer actions (pingdotgg#6210), CLI OAuth parameters
preserved through browser sign-in (pingdotgg#6285) and assorted web/mobile fixes.

Nine conflicts, almost all of them pingdotgg#6253 meeting fork additions in the same
mobile files. What needed judgement:

thread-list-items had two menus after the union — the fork's settle-aware
builder and upstream's regeneration list — and two stacked dependency arrays on
one useCallback. The builder now takes the regeneration items so a row has one
menu carrying both, and the arrays are merged.

HomeRouteScreen drops upstream's onEnvironmentChange: it is single-environment
selection, and the fork replaced that surface with a multi-select that is
already wired beside it (onToggleEnvironment / onClearEnvironments).

useThreadListActions kept local copies of actionFailureMessage and
ThreadListAction after upstream extracted them into threadActionMessages. The
extracted module already carries the fork's settle and unsettle actions, so the
local copies go.

ChangedFilesTree takes upstream's @container/changed-files inside the fork's
cn() so the caller-supplied className survives.

Co-authored-by: Patrick Roza <42661+patroza@users.noreply.github.com>
Unioning conflict hunks kept both sides' code but not both sides' dependency
arrays. Two came out short:

renderV2Item passes snoozePresetMinute={nowMinute} and upstream listed
nowMinute as a dependency; without it a screen left mounted across a minute
boundary keeps handing rows a stale minute, so snooze presets drift from the
times they claim.

The v2 layout memo reads props.threadGrouping for its recency headers but did
not depend on it, so switching grouping could keep recency headers until some
other input changed identity.

Also fixes CONTRIBUTING's link to .github/VOUCHED.td. The fork deleted that
file, and I claimed in the merge that nothing referenced it — the link is right
there in the contributing guide, so a contributor following the trust-status
docs lands on a 404.

Found by the gpt-5.6-sol adversarial review.

Co-authored-by: Patrick Roza <42661+patroza@users.noreply.github.com>
renderV2Item passes snoozeSupported={snoozeEnvironmentIds.has(...)} but did not
depend on that set, so a row could keep offering — or withholding — snooze after
the environment's capability resolved.

Found by the grok-4.5 adversarial review, alongside the nowMinute drop.

Co-authored-by: Patrick Roza <42661+patroza@users.noreply.github.com>
@omegent-app
omegent-app Bot merged commit 1ae7185 into fork/dev Aug 12, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants