Skip to content

[Bug]: delayed npm tarball availability (their slow postpublish review) can break cli builds #14409

Closed

Description

@BOTKooper

Before submitting

  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.

Area

apps/server

Steps to reproduce

github surfaced #12218 as potential dupe, checked for the linux-x64 package on the npm - it exists and was published under 2h ago (with 0 downloads) https://www.npmjs.com/package/@t3code/t3-linux-x64/v/0.0.45-nightly.20260930.2481

due to that - my best guess is that npm is continuing to fuck up their hold on new package versions - the barrel t3 is available but the platform-specific is not (same issue as effect had?)

➜  ~ npx t3@nightly --host 0.0.0.0 --no-browser
Need to install the following packages:
t3@0.0.45-nightly.20260930.2481
Ok to proceed? (y)
t3: no T3 Code CLI build is available for this platform (linux-x64).
Supported platforms: darwin-arm64, linux-arm64, linux-x64, win32-arm64, win32-x64.
If yours is listed, reinstall t3 so npm fetches its optional dependency.
The desktop app and release archives are at https://github.com/pingdotgg/t3code/releases

Expected behavior

it runs

Actual behavior

it doesn't

Impact

Blocks work completely

Version or commit

No response

Environment

Arch linux, no system updates compared last nightly

Logs or stack traces

Screenshots, recordings, or supporting files

No response

Workaround

not for users but for maintainers - maybe we should holding off the release of the main package until npm actually makes all the deps downloadable?

Activity

  1. added
    bugSomething is broken or behaving incorrectly.
    needs-triageIssue needs maintainer review and initial categorization.
    on Sep 30, 2026
  2. juliusmarminge commented on Sep 30, 2026

    @juliusmarminge
    Member

    Triage

    This isn't a broken linux-x64 build, and it isn't a duplicate of #12218 (closed issue). That one was about Intel Macs (darwin-x64), and there's no package for that target because Node SEA doesn't support it. linux-x64 is one of the five published targets. @t3code/t3-linux-x64@0.0.45-nightly.20260930.2481 is on npm with os: ["linux"] and cpu: ["x64"], and its tarball has been downloadable since 2026-09-30T09:54Z. A clean npx t3@0.0.45-nightly.20260930.2481 --version on linux-x64 now prints t3 v0.0.45-nightly.20260930.2481.

    What you hit was the few minutes before that. npx t3 only runs bin/t3.js, which resolves @t3code/t3-<platform>/package.json and exits with the message you saw when that optional dependency is missing. npm treats a failed optional dependency as non-fatal, so the launcher installs fine and then refuses to start.

    We already publish the platform packages first and the launcher last (apps/server/scripts/cli.ts), but that isn't enough anymore. npm now scans new publishes before they can be installed (publish-time malware scanning), and the delay grows with package size. For this nightly (release run):

    • @t3code/t3-linux-x64 was accepted by npm publish around 09:44:43Z, but the registry didn't serve it until 09:54:07Z.
    • The t3 launcher (1.5 kB) was live at 09:47:30Z, so the nightly tag moved while the 72 MB linux-x64 tarball was still being scanned.
    • The Discord announcement went out at 09:50:05Z, right in that gap.

    Recent nightlies show the same gap, with the launcher going live 3 to 10 minutes before the linux-x64 package. The "0 downloads" figure on the version page is just npm's usual stats lag.

    npx also caches the broken install under ~/.npm/_npx, so re-running the same command doesn't fetch the optional dependency again, even after it exists. This should get you going:

    rm -rf ~/.npm/_npx
    npx --yes t3@0.0.45-nightly.20260930.2481 --host 0.0.0.0 --no-browser

    If it still prints the missing-build error, something is skipping optional dependencies locally. Could you paste the output of npm config get optional, any omit=optional setting, and the npm WARN optional lines from a fresh install?

    Your suggested fix is the right one. After each @t3code/t3-<platform> publish, the release should wait until that version's tarball is actually fetchable, and only then publish t3 and move nightly.

  3. added
    via-triageFiled through npx t3 triage
    and removed
    needs-triageIssue needs maintainer review and initial categorization.
    on Sep 30, 2026
  4. BOTKooper commented on Sep 30, 2026

    @BOTKooper
    Author
    • ref to 12218 was to ack that platform packages are separated from the main one and THAT + slowness of npm can effectively kill the "published" build for some time right after release
    • current nightly (0.0.45-nightly.20260930.2493) works fine
    • rolled back one version while issue existed to keep the work going, so idk if npm cache has/had any bearing on this (but honest guess it that it wouldn't help)
  5. changed the title [-][Bug]: recent build broke the linux-x64 cli[/-] [+][Bug]: delayed npm tarball availability (their slow postpublish review) can break cli builds[/+] on Oct 7, 2026
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

    bugSomething 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