Skip to content

[Bug]: Linux AppImage 0.0.41-nightly.20260914.1687 returns HTTP 500 — static handler uses fs.open on app.asar #11710

Description

@darox

Summary

The Linux AppImage starts, but the backend returns HTTP 500 for GET /. The desktop UI cannot load.

Version

  • T3 Code: 0.0.41-nightly.20260914.1687
  • Package: Linux x86_64 AppImage, 188708343 bytes
  • Electron 44.1.0, Node 24.19.0, Chrome 152.0.7977.65
  • Ubuntu 26.04.1 LTS, GNOME on Wayland

Steps to reproduce

  1. Run T3-Code-0.0.41-nightly.20260914.1687-x86_64.AppImage.
  2. Wait for backend ready in ~/.local/state/t3code/t3code.log.
  3. Run curl -i http://127.0.0.1:3773/.

Actual result

HTTP/1.1 500 Internal Server Error
content-type: text/plain
content-length: 21

Internal Server Error

Expected result

The backend returns the web client. The desktop UI loads.

Cause

The static handler calls FileSystem.open on this path:

/tmp/.mount_T3-Cod.../resources/app.asar/apps/server/dist/client/index.html

The Electron asar layer fails the open call with ENOENT:

openStaticFile -> PlatformError: NotFound: FileSystem.open (.../app.asar/apps/server/dist/client/index.html)
ENOENT, apps/server/dist/client/index.html not found in .../app.asar

The file is present in the archive. fs.statSync returns size 20143, and fs.readFileSync returns valid HTML. fs.openSync and fs.promises.open fail with ENOENT. Electron asar support implements stat and readFile, but not open.

Regression

PR #9669 added the file-handle streaming path. That code returns 500 on PlatformError. The failure occurs when the client files are inside app.asar, as in the AppImage build.

This is not #11523. #11523 reports truncated assets on the t3code:// path.

Suggested fix

Read the file with FileSystem.readFile, or mark the client directory as unpacked in the AppImage build.

Workaround

Run an older AppImage.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    acceptedfeature request acceptedbugSomething is broken or behaving incorrectly.via-triageFiled through npx t3 triage

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions