refactor: move the canonical libghostty-vt vendor to the repository root - #5102
Conversation
The shared upstream pin, license, and C API headers lived inside the mobile terminal module, so the web adapter's build script, ABI regression test, and docs reached across into apps/mobile. The canonical vendor now lives at native/libghostty-vt/ beside the other top-level native code, and both platforms reference it there: - Android's CMake include path and the Android build script follow - the web WASM build script and the ABI test read the root pin - docs and third-party notices point at the new location Platform build outputs stay with their apps (Android jniLibs and the iOS xcframework in the mobile module, the wasm artifacts in the web adapter). The web WASM build was re-run from the relocated pin to verify the script end to end; the artifact is byte-identical. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
ApprovabilityVerdict: Approved fb6d5a6 Purely mechanical file reorganization moving a vendored library to the repository root with corresponding path reference updates in documentation, build scripts, and tests. No behavioral changes. You can customize Macroscope's approvability policy. Learn more. |
## What's Changed * feat(cli): `npx t3 pair` - generate QR code from a running server by @t3dotgg in pingdotgg/t3code#4955 * fix(server): self-update no longer rolls itself back on restart by @t3dotgg in pingdotgg/t3code#5095 * fix(ci): rotate iPad showcase captures without Simulator UI scripting by @juliusmarminge in pingdotgg/t3code#5094 * feat(web): render terminals with libghostty-vt by @StiensWout in pingdotgg/t3code#4860 * refactor: move the canonical libghostty-vt vendor to the repository root by @StiensWout in pingdotgg/t3code#5102 **Full Changelog**: pingdotgg/t3code@v0.0.32-nightly.20260731.964...v0.0.32-nightly.20260731.965 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.32-nightly.20260731.965
Follow-up to #4860, as discussed: the canonical
libghostty-vtvendor (upstream pin, license, and C API headers) lived inside the mobile terminal module, so the web adapter's build script, ABI regression test, and docs reached across intoapps/mobile. It now lives atnative/libghostty-vt/beside the repo's other top-level native code, and both platforms reference it there.What changed
git mv apps/mobile/modules/t3-terminal/Vendor/libghostty-vt→native/libghostty-vt(pin, license, headers; pure rename)build-libghostty-android.shfollow the moveWhat deliberately stayed
Platform build outputs remain with their apps: Android's
jniLibsand the iOSGhosttyKit.xcframeworkin the mobile module, and the wasm artifacts in the web adapter. The single source of truth for the upstream revision is the rootnative/libghostty-vt/VERSION; the wasm continues to embed that revision as build metadata and the ABI test verifies it against the root pin.Validation
bash -non both build scripts, and a full reproducible WASM rebuild from the relocated pin — the produced artifact is byte-identical to the committed one🤖 Generated with Claude Code
Note
Low Risk
Pure relocation and path reference updates with no terminal runtime or ABI logic changes; main residual risk is a miscomputed relative path in Android CMake until CI confirms the native build.
Overview
Moves the shared libghostty-vt vendor (upstream pin, license, C headers) from the mobile terminal module to
native/libghostty-vt/, next to other top-level native code. Android and web both point at that location instead ofapps/mobile/modules/t3-terminal/Vendor/libghostty-vt.Android’s CMake include path and
build-libghostty-android.shnow read headers and write rebuilt includes into the root vendor tree. The web WASM build script andruntimeAbi.test.tsimportnative/libghostty-vt/VERSIONas the single pin for ABI regression checks. READMEs, third-party notices, anddocs/architecture/terminal-renderers.mddocument the new path.Platform build outputs are unchanged: Android
jniLibs, iOS GhosttyKit, and webvendor/wasm artifacts still live under their apps; only the canonical metadata and headers moved.Reviewed by Cursor Bugbot for commit fb6d5a6. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Move libghostty-vt vendor directory to repository root at
native/libghostty-vtRelocates the canonical
libghostty-vtvendor tree fromapps/mobile/modules/t3-terminal/Vendor/libghostty-vttonative/libghostty-vtso the headers,VERSION, andLICENSEare shared across both mobile and web builds from a single location. Build scripts,CMakeLists.txt, the ABI test, and all documentation are updated to reference the new path.Macroscope summarized fb6d5a6.