Repository navigation
chore(fork): sync upstream through 337c5858c3 - #123
Open
jamesainslie wants to merge 4 commits into
Open
jamesainslie wants to merge 4 commits into
jamesainslie wants to merge 4 commits into
Conversation
Upstream's tree at this commit, run through scripts/fork-rename-codemod.ts and vp fmt, with the lockfile regenerated. Upstream: 337c585
Upstream 337c585 adds relative-home handling to install.sh ($t3_home, t3_cwd) and a T3SECRET placeholder and t3.filter local in the MCP evals.
Brings the fork up to upstream 337c585 (377 commits) through the renamed mirror, with the fork code that upstream's refactors broke fixed in the same commit so every commit builds: - effect/Crypto is gone in Effect 4.1.2; fork code uses SecureRandom and Digest, and fork errors are Schema.TaggedError per upstream's rules. - Antigravity's no-response hint starts once the runtime is ready (upstream pingdotgg#30079), through a ready signal in AuthRelayFlow. - Lathe keeps writing its own thread references on Copy, and outside MCP clients keep getting links on the server origin they reached, instead of upstream's app.t3.codes links. One fork switch, LATHE_COPIES_HOSTED_THREAD_LINKS, flips this once Lathe has a hosted app (#71). Hosted links still parse and open in Lathe. - Managed-policy templates use the fork's app id. - The mobile sidebar keeps the fork's dependency and continue actions after upstream moved it into WorkspaceThreadSidebar. - ci-fork mirrors upstream's ASCII filter on the shared Test job.
Upstream's star prompt now imports canvas-confetti dynamically. CI's heavy browser step runs ChatView in its own Vite server, which found the dependency mid-run, re-optimized and reloaded, so ChatView failed to import.
This branch has not been deployed
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.
Syncs the fork with upstream through
337c5858c3. That is 377 upstream commits since47f2c8d29e, merged through theupstream-lathemirror asdocs/internals/fork-upstream-sync.mddescribes. Merge this with a merge commit, never a squash, or the mirror parent is lost.Commits
32b2d8d141Rename rules. Classifies the names upstream added: the installer's relative-home variables ($t3_home,t3_cwd), the MCP evals't3.filterlocal andT3SECRETplaceholder. Also includes two rules added after the merge: upstream hosts written as escaped regexes (preview\.t3\.codes) stay as they are, and a"t3"thread id fixture that the same test also writes inside a kept app.t3.codes link stays too.59146b3a06Mirror. Upstream's tree at337c5858c3run through the codemod andvp fmt, with the lockfile regenerated. Already pushed toupstream-lathe.56a8bfbfecMerge. Conflicts in 49 files, resolved by keeping each fork feature on upstream's new structure. The fixes below are in the same commit, because the merge alone does not build.Fixes after the merge
effect/Cryptois gone. Fork code now usesSecureRandomandDigestthe way upstream does. Typecheck now applies Effect's rules as errors, so fork code was updated to match: errors becomeSchema.TaggedError, env reads go throughHostProcess.Environment, andtryPromisegets a typed catch.modelproxysource keeps its kept routes, retries and live status stream, and only cliproxy keys go through the secret provider.AuthRelayFlow) now has a ready signal that Antigravity sends afterinitialize(). Claude and Codex sign-in are unchanged.WorkspaceThreadSidebar.tsx. The fork's "Depends on", "Start a thread to unblock this" and "Continue in new thread" actions moved with it. The dependency picker screen usesAppBar, since upstream now restrictsAndroidScreenHeader.com.t3tools.t3code. They now useFORK_IDENTITY.appId, so the generated macOS profile governs Lathe.t3code-forksystemd unit, thelathelauncher, thelathe://scheme. Fork test mocks gained the services and exports that upstream's new code reaches.ci-forkmirrors upstream's ASCII filter on the shared Test job, which works around the runner's trace writer crashing on surrogate pairs.Decision: thread links stay Lathe's
Upstream now makes thread Copy produce
https://app.t3.codes/threads/...links, and gives outside MCP clients the same links. app.t3.codes opens upstream's hosted app and hands off to T3 Code, not Lathe. So, as James decided:One switch,
LATHE_COPIES_HOSTED_THREAD_LINKSinpackages/shared/src/forkThreadLinks.ts, turns on upstream's behaviour once Lathe has a hosted app of its own (#71).Verification
Run locally on the branch:
vp lintandvp fmtare clean on the changed files, andvp run knip:checkpasses.node scripts/fork-rename-codemod.tsreports 0 renames.packages/sharedandscriptssuites. Failures remain only where upstream fails the same way on this host: GitVcsDriver sparse checkpoints, GitManager "includes CLAUDE.md ..." (the global gitignore), andknip-schemas.test.tsandcached-tests.test.ts, which hit the 5s timeout on the plain upstream tree too.The full suites were not run locally. CI runs them.
Worth a look
InternalErrorinstead of ending the request.failureEdgeAtchange means a failed run with nocompletedAtno longer counts fromupdatedAt. The fork's dependency logic inthreadRaisedHandSinceshares that helper, so it behaves the same way.Opus 5.5 in Claude Code, run from Lathe.