Admin dashboard serves the web app copy and shows empty data (RPC 405) #13

Closed
opened 2026-06-07 12:58:55 +00:00 by sameh-farouk · 1 comment
Member

Clicking Admin in the web app opens a blank page with no data.

Cause: /hero_planner/admin/ serves a copy of the normal web app instead of the admin dashboard. That copy calls the wrong RPC path (/hero_planner/admin/rpc/rpc), which returns 405, so no data loads.

Expected: Admin should open the real admin dashboard (Overview / API / Docs / Settings) and use the correct RPC path (/hero_planner/rpc/).

Likely fix: the installed admin binary is stale/misbuilt (serving the web app), or its route is misconfigured. Rebuild/reinstall the admin binary and confirm it serves the admin dashboard.

Clicking **Admin** in the web app opens a blank page with no data. **Cause:** `/hero_planner/admin/` serves a copy of the normal web app instead of the admin dashboard. That copy calls the wrong RPC path (`/hero_planner/admin/rpc/rpc`), which returns **405**, so no data loads. **Expected:** Admin should open the real admin dashboard (Overview / API / Docs / Settings) and use the correct RPC path (`/hero_planner/rpc/`). **Likely fix:** the installed admin binary is stale/misbuilt (serving the web app), or its route is misconfigured. Rebuild/reinstall the admin binary and confirm it serves the admin dashboard.
Author
Member

Root cause

The admin dashboard was disabled via skip = true in crates/hero_planner_admin/service.toml, so no admin.sock was ever created. The web app still showed an Admin link to /hero_planner/admin/. With no admin socket present, that path fell through to a copy of the end-user web UI, whose data calls resolved to /hero_planner/admin/rpc/rpc and returned HTTP 405 — so every list came back empty. The "empty admin page" was therefore not the admin dashboard at all, but a broken fallback.

Fix

Re-enabled the admin service by removing skip = true from service.toml (main @ 847b0e9; development already had it removed). With the flag gone, hero_planner_admin is registered in the build/deploy lifecycle again and binds admin.sock, so the router serves the real ops dashboard (Overview / API / Docs / Settings) instead of the broken fallback.

Verified the dashboard loads correctly against a live backend. Takes effect on the next redeploy.

## Root cause The admin dashboard was disabled via `skip = true` in `crates/hero_planner_admin/service.toml`, so no `admin.sock` was ever created. The web app still showed an **Admin** link to `/hero_planner/admin/`. With no admin socket present, that path fell through to a copy of the end-user web UI, whose data calls resolved to `/hero_planner/admin/rpc/rpc` and returned **HTTP 405** — so every list came back empty. The "empty admin page" was therefore not the admin dashboard at all, but a broken fallback. ## Fix Re-enabled the admin service by removing `skip = true` from `service.toml` (`main` @ `847b0e9`; `development` already had it removed). With the flag gone, `hero_planner_admin` is registered in the build/deploy lifecycle again and binds `admin.sock`, so the router serves the real ops dashboard (Overview / API / Docs / Settings) instead of the broken fallback. Verified the dashboard loads correctly against a live backend. Takes effect on the next redeploy.
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_planner#13
No description provided.