Reload and restart
A save to an App’s files reloads it in place; a change to what it grants, where its data comes from or how it signs people in waits for a restart.
npx tablewalk --config tablewalk.json --app . # watches the App directory# edit views.ts → reloaded# edit tablewalk.json → stop, then start againA save reloads
Section titled “A save reloads”app.tsand every module it imports,pages/,features/, and the modules and stylesheets of its custom components. The whole module graph is read again, so an import’s edit is never stale.- A save that does not load (a typo, a refused view) keeps the last good App serving; the log and the App’s issues say why.
- Saves are debounced: one burst of writes is one reload.
A restart is needed for
Section titled “A restart is needed for”| Change | While it waits |
|---|---|
What the App grants: resources’ access, fields, delete, roles, public reads, command grants, ui.connect |
Every App request answers 503 until a restart; neither the old nor the new authority is served. |
Its sources or connection |
The same: bindings are authority. |
Its sign-in: providers, sign-up, default role, the session store, the App’s id |
The same. |
tablewalk.json: connections, writable, apps and their env |
Unseen until a restart: the file is read once, at start. |
--commands, --jobs, --policy modules |
Handlers keep the code they started with. |
| A row-policy or tenant App’s files | Data requests stop until a restart. |
With --api-reads the App API is restart-only: a save retires its reads
until the server restarts. An App with an authority.lock starts only when the
lock agrees with what it grants, so accept a reviewed change with
tablewalk --app <dir> --check-app --write-authority before restarting.
Never reloaded
Section titled “Never reloaded”A tablewalk build output is served as built: nothing is watched.