Missing static asset: hero-bootstrap-bridge.css (PR #69 commit was incomplete) #15

Open
opened 2026-04-30 06:34:04 +00:00 by sameh-farouk · 0 comments
Member

Symptom

Browser console: GET http://[host]:9988/hero_browser/ui/hero-bootstrap-bridge.css net::ERR_ABORTED 404 (Not Found) whenever any hero_browser UI page is opened.

Cause

crates/hero_browser_ui/templates/base.html:10 references the file:

<link href="{{ base_path }}/hero-bootstrap-bridge.css" rel="stylesheet" />

…but the file does not exist anywhere under crates/hero_browser_ui/static/. The static dir contains only css/, fonts/, js/, favicon.svg.

hero_browser_ui uses rust_embed::Embed (Cargo.toml: rust-embed = "8") to bake static/ into the binary at compile time, so a missing file is a 404 at request time.

Why it slipped in

Git history shows commit fcddf69 titled "fix: add hero-bootstrap-bridge.css, fix theme listener, use relative RPC URL (#69)" — but the diff only touches crates/hero_browser_ui/static/index.html:

crates/hero_browser_ui/static/index.html | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)

The commit message intent was to add the file; the actual file commit appears to have been missed in git add. The template references it but it was never bundled.

Fix

Add crates/hero_browser_ui/static/hero-bootstrap-bridge.css. A known-good copy lives at hero_proxy/crates/hero_proxy_ui/static/hero-bootstrap-bridge.css (stable since 8c6e393) — it's the same shared bridge file other hero_* UIs use.

No Makefile target exists for asset-syncing across repos, and the static dir is just whatever's checked in; rebuild after adding via make installdev (debug, ~30s) or make install (release).

Comparison

Diff between hero_browser/.../static and hero_proxy/.../static shows hero_browser is also missing:

  • css/unpoly.min.css
  • js/unpoly.min.js
  • js/chart.umd.min.js

…in addition to the bridge CSS. Worth verifying whether those are needed by the templates too.

Workaround

None for end users; CSS just doesn't load. Visual degradation only — no functional impact.

## Symptom Browser console: `GET http://[host]:9988/hero_browser/ui/hero-bootstrap-bridge.css net::ERR_ABORTED 404 (Not Found)` whenever any hero_browser UI page is opened. ## Cause `crates/hero_browser_ui/templates/base.html:10` references the file: ```html <link href="{{ base_path }}/hero-bootstrap-bridge.css" rel="stylesheet" /> ``` …but the file does **not exist** anywhere under `crates/hero_browser_ui/static/`. The static dir contains only `css/`, `fonts/`, `js/`, `favicon.svg`. `hero_browser_ui` uses `rust_embed::Embed` (`Cargo.toml: rust-embed = "8"`) to bake `static/` into the binary at compile time, so a missing file is a 404 at request time. ## Why it slipped in Git history shows commit `fcddf69` titled *"fix: add hero-bootstrap-bridge.css, fix theme listener, use relative RPC URL (#69)"* — but the diff only touches `crates/hero_browser_ui/static/index.html`: ``` crates/hero_browser_ui/static/index.html | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) ``` The commit message intent was to add the file; the actual file commit appears to have been missed in `git add`. The template references it but it was never bundled. ## Fix Add `crates/hero_browser_ui/static/hero-bootstrap-bridge.css`. A known-good copy lives at `hero_proxy/crates/hero_proxy_ui/static/hero-bootstrap-bridge.css` (stable since `8c6e393`) — it's the same shared bridge file other hero_* UIs use. No Makefile target exists for asset-syncing across repos, and the static dir is just whatever's checked in; rebuild after adding via `make installdev` (debug, ~30s) or `make install` (release). ## Comparison Diff between `hero_browser/.../static` and `hero_proxy/.../static` shows hero_browser is also missing: - `css/unpoly.min.css` - `js/unpoly.min.js` - `js/chart.umd.min.js` …in addition to the bridge CSS. Worth verifying whether those are needed by the templates too. ## Workaround None for end users; CSS just doesn't load. Visual degradation only — no functional impact.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_browser#15
No description provided.