Problem
Running railtracks viz without first running railtracks init starts the server successfully (port 3030, no terminal errors, browser opens automatically), but every browser request returns:
{"error":"File not found"}
There is no error message in the terminal indicating that the UI package is missing or that railtracks init needs to be run first. The server logs look completely healthy, so the user has no way of knowing what went wrong.
Root cause
railtracks viz calls create_railtracks_dir() (creates .railtracks/) but never downloads the UI bundle. The server's catch-all route in viz_server.py silently falls through to a 404 JSON response when .railtracks/ui/index.html does not exist.
Steps to reproduce
# Fresh clone, or after deleting .railtracks/
railtracks viz
# → browser opens to http://localhost:3030
# → shows {"error":"File not found"} — no hint in the terminal
Expected behaviour
Either:
railtracks viz should auto-download the UI if missing (no extra step needed), or
- a clear error message should be shown: "UI bundle not found — run
railtracks init first"
The current silent failure is especially confusing because the server reports itself as running successfully.
Fix
Check for index.html in viz before starting the server and auto-download if missing — making railtracks init optional rather than an undocumented prerequisite.
Problem
Running
railtracks vizwithout first runningrailtracks initstarts the server successfully (port 3030, no terminal errors, browser opens automatically), but every browser request returns:{"error":"File not found"}There is no error message in the terminal indicating that the UI package is missing or that
railtracks initneeds to be run first. The server logs look completely healthy, so the user has no way of knowing what went wrong.Root cause
railtracks vizcallscreate_railtracks_dir()(creates.railtracks/) but never downloads the UI bundle. The server's catch-all route inviz_server.pysilently falls through to a 404 JSON response when.railtracks/ui/index.htmldoes not exist.Steps to reproduce
Expected behaviour
Either:
railtracks vizshould auto-download the UI if missing (no extra step needed), orrailtracks initfirst"The current silent failure is especially confusing because the server reports itself as running successfully.
Fix
Check for
index.htmlinvizbefore starting the server and auto-download if missing — makingrailtracks initoptional rather than an undocumented prerequisite.