Files
routstrd/tests/daemon
be374601d8 feat(clients): add --manual-refresh and scheduled-refresh toggle (#97)
`routstrd clients` only exposed list/delete/add, so operators had no way to
refresh client integrations on demand or to stop the daemon from rewriting
their client configs every 21 minutes.

- clients --manual-refresh: refresh routstr21 models from Nostr and re-run
  every registered client integration now. The old `routstrd refresh` body
  moves into a shared refreshModelsAndClientsAction() so both commands stay
  in sync.
- clients --disable-automatic-refresh / --enable-automatic-refresh: toggle
  the daemon's scheduled refresh job via a new POST /settings/auto-refresh
  endpoint, so the toggle also works against a remote daemon where the config
  lives on the host. Persisted as autoRefresh.enabled in config.json.
- The daemon refresh job now re-reads autoRefresh on every tick (like the NWC
  auto-refill getter), so toggling takes effect without a restart. While
  disabled it polls once a minute so re-enabling applies promptly.
- Startup still fetches models (the proxy needs them) but skips the client
  integration pass when the job is disabled, so a restart cannot overwrite
  hand-edited client configs.

Adds tests/daemon/auto-refresh.* covering the endpoint contract and the
persisted flag.

Co-authored-by: redshift <213178690+1ftredsh@users.noreply.github.com>
2026-09-08 11:34:13 +00:00
..