fabro/apps/fabro-web
Bryan Helmkamp f4cfa50bc4
fix(server): make --watch-web honest and fast
In --watch-web dev mode the server silently fell back to the embedded SPA
snapshot whenever the disk dist/ was missing or partial, so edits to the
web app appeared not to take effect with no error anywhere. This change
makes the dev loop visible and quick:

- static_files plumbs a dev_disk_only flag from RouterOptions.watch_web
  into the fallback handler. When set, embedded fallback is skipped and
  a miss returns 503 with a "build in progress" auto-refresh page.
- The web build script writes each rebuild into apps/fabro-web/.dist-builds/<id>/
  and atomically replaces the dist symlink via rename(2), so requests
  never observe a partially-populated dist tree.
- Tailwind is invoked through node_modules/.bin/tailwindcss directly
  instead of bunx, removing a per-rebuild bun add @latest --force round-
  trip and dropping rebuild time from ~10s to ~250ms.
- load_asset no longer falls through to the workspace dist/ when an
  explicit asset_root is provided, restoring test isolation when a
  real dev build is sitting next door.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 10:36:01 -04:00
..
app fix(web): virtualize run file diffs consistently 2026-05-05 16:41:39 -04:00
public/images chore(web): namespace static images under /images and skip in HTTP logs 2026-04-30 08:57:14 -04:00
scripts fix(server): make --watch-web honest and fast 2026-05-06 10:36:01 -04:00
.dockerignore Rename Arc to Fabro in TypeScript/JavaScript 2026-03-12 11:13:18 -04:00
.gitignore Rename Arc to Fabro in TypeScript/JavaScript 2026-03-12 11:13:18 -04:00
index.template.html chore(web): namespace static images under /images and skip in HTTP logs 2026-04-30 08:57:14 -04:00
package.json feat(web): add Trees-based file tree sidebar to Files Changed tab 2026-04-25 08:32:11 -04:00
tsconfig.json Fix login route collision after SPA cutover 2026-04-01 21:55:30 -07:00