chore(sync): merge upstream main into Fold - #52
Merged
Merged
Conversation
…10831) Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
…tgg#12657) Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
…ion (pingdotgg#10098) Co-authored-by: shivamhwp <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
Brings in 14 upstream commits (through adcd908) as a true merge, so the next sync only has to resolve what changes after this point. Conflicts, and how they were settled: - OpenInPicker / ProjectScriptsControl / GitActionsControl: upstream added a `presentation` prop ("toolbar" | "menu") for its collapsed narrow header while Fold had added `displayMode` ("toolbar" | "panel") for the thread details panel. Both name the same axis, so they are now one `presentation` prop with three values. Upstream's name wins so its own call sites and future edits merge unchanged; Fold's "panel" rides along as an extra member. Upstream's extracted item lists (`editorItems`, `scriptItems`, `gitItems`, `initializeGit`) are reused by every mode rather than duplicated. - ChatHeader: Fold moved scripts, open-in, and Git actions out of the header and into the thread details panel, so upstream's rework of that region does not apply. The header keeps Fold's layout and picks up upstream's WorkspaceBreadcrumbText fade for narrow titles. - MessagesTimeline: Fold replaced the queued-message timeline row with its own queue UI, so upstream's citation fix for that row has no target here. The matching `UserMessageBody` prop relaxation merged cleanly. - state/query.ts: both sides added `dataUpdatedAt`. Kept upstream's `number | null` contract plus Fold's fallback to the previous success, which keeps the timestamp consistent with `data` on a failed refetch. - bin.test.ts / server.test.ts: stay deleted; orchestration v2 removed the v1 harnesses they exercise. Also migrated Fold's server testkits and cli/project.test.ts to upstream's per-signal OTLP config (`otlpTracesExport` and friends) from pingdotgg#12657. Verified: typecheck across all workspaces, lint on every touched file, and the tests covering the merged areas. Pre-existing failures are unchanged — the `act is not a function` suites fail the same way on the pre-merge tree, as does contracts' responseStreamingMode case. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The merge lineage is the thing that keeps these syncs cheap, so write down that it must stay a merge, and the recurring conflict shapes that otherwise get re-derived from scratch each time. Refresh the README's upstream baseline to the commit this sync landed. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.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.
Problem
Fold's
mainwas 14 commits behind upstreampingdotgg/t3code, and nothing in the repo recorded how these syncs are supposed to be done — so each one re-derived the same conflict decisions from scratch.What this does
Merges upstream
main(through adcd90858c) as a true merge commit, preserving the merge base so the next sync only has to resolve what changes after this point. No rebase, no squash, no cherry-picking.All 14 upstream commits come in, and every Fold feature is preserved.
Conflicts, and how they were settled
One
presentationprop instead of two overlapping ones. Upstream addedpresentation("toolbar" | "menu") toOpenInPicker,ProjectScriptsControl, andGitActionsControlfor its collapsed narrow header. Fold had independently addeddisplayMode("toolbar" | "panel") to the same components for the thread details panel. They name the same axis, so they're now onepresentationprop with three values. Upstream's name wins deliberately — renaming it to Fold's convention would make every future upstream hunk touching that prop conflict. Upstream's extracted item lists (editorItems,scriptItems,gitItems,initializeGit) are reused by all three modes rather than duplicated into Fold's branches.Regions Fold relocated. Fold moved the header's script/open-in/Git controls into
ThreadDetailsPanel, and replaced the queued-message timeline row with its own queue UI. Upstream's reworks of those old locations don't apply; Fold's side stands.ChatHeaderstill picks up upstream'sWorkspaceBreadcrumbTextfade for narrow titles, which is the part of that change that does apply here.state/query.ts. Both sides addeddataUpdatedAt. Kept upstream'snumber | nullcontract plus Fold's fallback to the previous success —dataalready falls back on a failed refetch, so the timestamp has to follow it or the two disagree.bin.test.ts/server.test.ts. Stay deleted. Orchestration v2 removed the v1 harnesses they exercise.Also migrated Fold's server testkits and
cli/project.test.tsto upstream's per-signal OTLP config (otlpTracesExportand friends) from pingdotgg#12657.Maintainability
Adds
docs/operations/upstream-sync.md: the procedure, why it must stay a merge, and the recurring conflict shapes above so the next sync recognises them instead of re-deciding. Refreshes the README's upstream baseline commit and date.Verification
Pre-existing failures are unchanged, and each was confirmed against a pre-merge checkout of the same tree: the
act is not a functionsuites (a React 19 test-env issue that also fails in the main checkout) and contracts'responseStreamingModecase.No UI screenshots: the only visual change Fold actually renders is upstream's breadcrumb text fade in
ChatHeader.Claude Opus 5 (1M context) via Claude Code in T3 Code.
🤖 Generated with Claude Code