Skip to content

fix(relay): use released drizzle rc.5 and fail installs on unmet peers - #31016

Merged
juliusmarminge merged 2 commits into
mainfrom
t3/relay-drizzle-rc5
Nov 4, 2026
Merged

juliusmarminge merged 2 commits into
mainfrom
t3/relay-drizzle-rc5

Conversation

@juliusmarminge

Copy link
Copy Markdown
Member

The relay pinned drizzle-orm and drizzle-kit to 1.0.0-rc.5-ab785fc, a commit build from August. That build reads the migrations out path as ./${path}, so an absolute path broke the relay deploy and we had to patch @alchemy.run/drizzle around it in https://git.cafe/pingdotgg/t3code/pulls/30513. The pin is also outside alchemy's 1.0.0-rc.5 peer range. pnpm reported that on every install, but only as a warning, so nothing failed.

Drizzle

Peer rules

  • Sets strictPeerDependencies: true, so resolving the lockfile fails on an unmet peer. That happens on a local install and in check:changed's fresh resolve. With the old pin put back, resolution fails with "unmet peer drizzle-kit / drizzle-orm".
  • Fixes the peer mismatches strict mode found:
    • @pierre/trees>@pierre/theming moves to 1.0.2, because 1.0.0 predates @pierre/theme 2.
    • Two allowedVersions entries:
      • react-native-screens: our fork is a 5.x prerelease, which >= 4.0.0 excludes.
      • ws 7's utf-8-validate: it only calls isValidUTF8, which v6 doesn't change.
    • Pins @react-native/metro-config to 0.88.0. react-native-worklets peers on any version, so a fresh resolve picks 0.88.1, while React Native's CLI wants exactly 0.88.0.

Removed from pnpm-workspace.yaml

  • Overrides for packages that no longer depend on the target:
    • sigil's react, react-reconciler and scheduler (sigil now bundles its own React);
    • @clerk/clerk-js>@solana/*;
    • @pierre/diffs>@shikijs/transformers.
  • The expo-router override, which nothing uses.
  • allowBuilds entries for msgpackr-extract and msw, which we no longer install.
  • All of minimumReleaseAgeExclude. pnpm adds entries but never removes them, and every listed release is now past the release-age window. The supply-chain check and a fresh resolve both pass without the list.

vp run check:changed passes, including the fresh strict resolve. 305 relay tests pass.

Done by Claude Opus 5.5 in Claude Code.

🤖 Generated with Claude Code

juliusmarminge and others added 2 commits November 3, 2026 21:16
The relay pinned drizzle-orm and drizzle-kit to 1.0.0-rc.5-ab785fc, a
commit build that reads snapshots as `./${path}` and broke on the
absolute scratch folder alchemy beta.85 passes. The released
1.0.0-rc.5 fixes that read and is the version alchemy's peer range asks
for, so the drizzle patch goes away. rc.5 stores postgres snapshots as
a base plus diffs; the snapshots are upgraded with `drizzle-kit up`
so deploys see no schema change. Migration SQL is unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ntries

The relay pinned drizzle to a commit build outside alchemy's peer range,
and pnpm only warned. strictPeerDependencies makes that fail whenever the
lockfile is resolved, and the three existing warnings are resolved:
@pierre/trees takes @pierre/theming 1.0.2, which accepts @pierre/theme 2,
and the react-native-screens fork and ws 7's utf-8-validate get explicit
allowances. A fresh resolve also needed @react-native/metro-config pinned
to react-native's exact version.

Removed entries that no longer match anything: overrides cutting edges
@alchemy.run/sigil, @clerk/clerk-js and @pierre/diffs no longer declare,
the expo-router override, allowBuilds for packages we no longer install,
and minimumReleaseAgeExclude, whose versions have all aged past the
policy (the lockfile resolves identically without it).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XXL 1,000+ changed lines (additions + deletions). labels Nov 4, 2026
@macroscopeapp

macroscopeapp Bot commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at c8c4ca1

Macroscope's review found this PR approvable — The change removes an obsolete Drizzle workaround and makes installs reject unmet peers, with targeted compatibility exceptions. The assessed changes do not alter product defaults or database resources, and the reported schema plan shows no change.

You can add or adjust custom eligibility rules. Learn more.

@juliusmarminge
juliusmarminge merged commit dd5f98e into main Nov 4, 2026
27 of 28 checks passed
@juliusmarminge
juliusmarminge deleted the t3/relay-drizzle-rc5 branch November 4, 2026 17:28
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Nov 5, 2026
**v0.1.8-nightly.20261104.4192** · 10 changes from 1 contributor

**2 bug fixes.**

<details>
<summary>Full changelog</summary>

## What's Changed
* fix(relay): use released drizzle rc.5 and fail installs on unmet peers by @juliusmarminge in pingdotgg/t3code#31016
* build: typecheck with tsrs and Effect's rules through @effect/tsgo by @juliusmarminge in pingdotgg/t3code#31028
* refactor: replace jose with effect/jose by @juliusmarminge in pingdotgg/t3code#30474
* refactor: move HMAC, key, and random work to effect/crypto by @juliusmarminge in pingdotgg/t3code#30501
* refactor(server): sign server tokens through PayloadSigner by @juliusmarminge in pingdotgg/t3code#30523
* refactor: hold relay signing keys in EnvironmentSigningKey and CloudMintSigner by @juliusmarminge in pingdotgg/t3code#30529
* refactor(client-runtime): share DPoP proof creation across web and mobile by @juliusmarminge in pingdotgg/t3code#30540
* fix(client-runtime): a thread keeps syncing after a stream defect by @juliusmarminge in pingdotgg/t3code#31071
* test(server): AgentSessionScanner blocked-repo test no longer races the git-read timeout by @juliusmarminge in pingdotgg/t3code#30554
* test(web): PDF preview tests wait on pdf.js loads and stop timing out by @juliusmarminge in pingdotgg/t3code#31104


**Full Changelog**: pingdotgg/t3code@v0.1.8-nightly.20261104.4179...v0.1.8-nightly.20261104.4192

</details>


Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.1.8-nightly.20261104.4192
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL 1,000+ changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant