[Bug]: 0.0.41-nightly desktop UI "T3 Code could not load." — t3code:// serves truncated asset (SyntaxError: Unexpected end of input)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 23k
- Forks
- 5.9k
- Avg merge
- 11h 14m
- Merged PRs (30d)
- 357
Description
Before submitting
- I searched existing issues and did not find a duplicate.
- I included enough detail to reproduce or investigate the problem.
Area
apps/desktop
Steps to reproduce
-
Download
T3-Code-0.0.41-nightly.20260913.1625-x86_64.AppImage(Linux x86_64),chmod +xit. -
Launch it, with the renderer console visible:
ELECTRON_ENABLE_LOGGING=1 ./T3-Code.AppImage --no-sandbox --enable-logging=stderr -
The window opens, the backend becomes ready, then the UI is replaced by "T3 Code could not load."
-
The renderer console reports a truncated module:
[INFO:CONSOLE:2] "T3 Code failed to start. SyntaxError: Unexpected end of input", source: t3code://app/assets/index-DRGRqw-K.js (2)
Reproduces 100% of launches. I also tried to rule out local causes:
- Clean Electron profile — launched with
--user-data-dirpointed at an empty temp dir: same error (rules out a poisoned HTTP cache). - No FUSE / no AppImage — extracted the AppImage with
--appimage-extractand ran the extractedt3codebinary: same error (rules out squashfs/FUSE truncation).
Expected behavior
The bundled web client loads through t3code://app/... and the desktop reaches the normal UI, as it does on the previous nightly v0.0.41-nightly.20260912.1612.
Actual behavior
The bootstrap module is served truncated over the custom t3code:// protocol, so bootstrap.ts's import("./main").catch(showBootError) fails with SyntaxError: Unexpected end of input and paints the boot-error screen.
The same asset is intact in the package and over the backend HTTP URL, so the truncation is specific to the t3code://app serving path in this build:
- Inside
app.asar,apps/server/dist/client/assets/index-DRGRqw-K.jsis present and valid — 7971 bytes, ends with//# sourceMappingURL=index-DRGRqw-K.js.map. GET http://127.0.0.1:3773/assets/index-DRGRqw-K.jsreturns HTTP 200,content-length: 7971, valid JS (I can load the same URL in Chrome and the app reaches the UI/pairing screen).- The renderer, however, loads it via
t3code://app/assets/index-DRGRqw-K.jsand the module fails to parse.
This is a different symptom from #10719 (0.0.40, does not provide an export named 't' inter-chunk mismatch). The failure here is a parse error, which is what you get from a truncated/mangled body rather than a missing export.
Impact
Blocks work completely
Version or commit
v0.0.41-nightly.20260913.1625 (commit 2db675aeffd9)
Environment
- Ubuntu 24.04.4 LTS, x86_64, Hyprland (Wayland)
- T3 Code 0.0.41-nightly.20260913.1625, Linux AppImage (
T3-Code-0.0.41-nightly.20260913.1625-x86_64.AppImage, 188486467 bytes) - Electron 44.1.0 / Chrome 152.0.7977.65
- Also reproduced with the AppImage extracted to disk and with a fresh
--user-data-dir - Previous nightly
v0.0.41-nightly.20260912.1612works on the same machine, same profile, same launch flags
Logs or stack traces
ELECTRON_ENABLE_LOGGING=1 ./T3-Code.AppImage --no-sandbox --enable-logging=stderr
Desktop log (backend comes up fine, window is created, then the renderer boot fails):
INFO (#3): runtime logging configured
INFO (#3): using update channel
INFO (#167): backend ready
INFO (#167): main window created
[INFO:CONSOLE:2] "T3 Code failed to start. SyntaxError: Unexpected end of input", source: t3code://app/assets/index-DRGRqw-K.js (2)
[INFO:CONSOLE:2] "T3 Code failed to start. SyntaxError: Failed to execute 'appendChild' on 'Node': Unexpected end of input", source: t3code://app/assets/index-DRGRqw-K.js (2)
Asset status compared across the two paths (broken build):
$ unzip-less read of app.asar -> apps/server/dist/client/assets/index-DRGRqw-K.js size 7971 (valid)
$ curl http://127.0.0.1:3773/assets/index-DRGRqw-K.js
HTTP 200 content-length: 7971 content-type: text/javascript (valid)
$ renderer via t3code://app/assets/index-DRGRqw-K.js
SyntaxError: Unexpected end of input
Screenshots, recordings, or supporting files
Screenshot of the boot-error screen attached in the report ("T3 Code could not load." with the Reload button). Happy to provide the full --enable-logging=stderr capture if useful.
Workaround
Downgrade to the previous nightly, which launches normally:
v0.0.41-nightly.20260912.1612→T3-Code-0.0.41-nightly.20260912.1612-x86_64.AppImage
https://github.com/pingdotgg/t3code/releases/download/v0.0.41-nightly.20260912.1612/T3-Code-0.0.41-nightly.20260912.1612-x86_64.AppImage
Related: #10719 (0.0.40 desktop boot failure — same t3code://app serving path, different error).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in apps/desktop and inspect the t3code://app serving path, comparing its response for apps/server/dist/client/assets/index-DRGRqw-K.js with the intact 7,971-byte package asset and backend HTTP response. Read bootstrap.ts to understand the boot failure, then verify that the asset is served without truncation and the desktop reaches the normal UI on the affected nightly.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- electron, typescript
- Domain
- build-system, desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100