Skip to content

bug: Release binaries are missing frontend assets (0-byte index.html served on web UI) #223

Description

@wzli

Summary

A user encountered this issue when running the official v1.1.3 precompiled release binary (explo-linux-arm64) on Termux/Linux. Navigating to the Web UI (http://localhost:7288 or via reverse proxy) returns an HTTP 200 OK response with a 0-byte empty page, rendering the Web UI unusable.

Root Cause / Investigation (AI-assisted investigation)

Inspecting .github/workflows/release.yml shows that the Create Release workflow step creates a dummy file to satisfy go:embed:

- name: Create dummy dist directory
  run: mkdir -p src/web/dist && touch src/web/dist/index.html

Because npm run build is never executed in src/web/frontend prior to go build during the release workflow, the embedded dist/ filesystem contains only a 0-byte empty index.html. While the Docker build correctly compiles the frontend, all standalone GitHub release binaries ship without the React assets.

Suggested Fix

In .github/workflows/release.yml, setup Node.js and build the frontend assets before running go build:

- name: Setup Node.js
  uses: actions/setup-node@v4
  with:
    node-version: '20'

- name: Build frontend assets
  run: |
    cd src/web/frontend
    npm ci
    npm run build

Building the binary after compiling the frontend produces a functional ~24MB binary with the full embedded React Web UI.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions