mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-22 16:25:58 +00:00
Hot-path pass following the switch-latency work. Four independent costs, one theme — work that runs on every boot or every turn but only needed to run on actual change: - electron: start the Python backend in parallel with the renderer load instead of on did-finish-load. The backend cold boot is the dominant startup cost and was serialized behind Chromium's load; the connection promise is shared, so the renderer's getConnection() joins the in-flight boot, and its getBootProgress() pull on mount recovers any progress events emitted before the renderer was listening. - boot/soft-switch: after the socket connects, run the independent post-connect fetches (cwd seed, config, session lists) concurrently instead of serially — profile adoption still lands first because the session fetch scopes by it. - session.info: config refetch is now gated to the foreground context and coalesced (one trailing fetch per event burst) — it used to fire two REST calls per event, including background sessions' heartbeats. model-options invalidation now requires a VALUE change vs the session's cached runtime state; the backend stamps model/provider on every event, so the presence-typed flags refetched the provider catalog once or twice per turn for a model that never changed. - turn complete: sidebar refreshes (recents + cron + messaging fan-out, each scanning profile state.dbs server-side) coalesce across near-simultaneous completions; $sessions and profile totals keep their identity when a refresh returns content-identical rows (same signature gate cron/messaging already use), and the loading flag no longer flickers over a populated list. |
||
|---|---|---|
| .. | ||
| bootstrap-installer | ||
| desktop | ||
| shared | ||