Keep recently-opened panels loaded (instant switching)
Once you have opened one of Omniscio's heavier panels — the calendar, mail, Team Chat, the mind-map and whiteboard canvases — this keeps it alive in the background so returning to it is an instant flip instead of a cold rebuild. It is on by default, desktop only, and fully reversible.
What it is
What it does
Some of Omniscio's bigger panels are slow to open the first time — they build a canvas, an editor, or fetch a list from the internet. Normally, the moment you switch to something else, that panel is thrown away, so coming back rebuilds it from scratch (a spinner, a flash, a rebuilt canvas).
Keep recently-opened panels loaded stops that. Once you've opened one of the covered panels, Omniscio keeps it alive in the background — hidden, but fully built — so switching back is an instant flip instead of a cold rebuild. You only pay the build cost once, the first time you open it.
It is a performance convenience, not a workflow change: what you see and do is identical; the only difference is that returning to a panel you'd already opened is instant.
It is on by default (opt-out), desktop only. It is a fully reversible layer: turn it off (or use the kill switch) and Omniscio behaves exactly as before — each panel mounts when you open it and is thrown away when you leave, byte-for-byte the old behavior.
Where to find it
Settings → Performance → "Keep recently-opened panels loaded". It is on by default, and a developer kill switch can turn the whole layer off without changing the setting.
How it behaves
Which panels it covers
- AI Coaching
- Calendar
- Drive
- Sheets
- Supermail
- Team Chat
- Mind Map and Whiteboard (the docked editors — the expensive React Flow / Excalidraw canvases)
Each is only kept loaded after you've opened it at least once this session — a panel you never visit costs nothing.
Supermail is the exception: when it's enabled it's kept loaded from app launch (warmed quietly in the background a few seconds after start), so even the first time you open it in a session it appears instantly with fresh mail instead of pausing to load. Turning Supermail off, or turning this "keep panels loaded" setting off, removes the pre-warm and returns it to load-on-first-open.
KMS and Tasks already have their own "Keep … loaded" toggles (same idea, separate switches). Gmail needs no setting — its message list is already kept in memory and refreshes in the background, so returning to Gmail is already instant.
Turning it off
It is already on — nothing to enable. To go back to rebuilding each panel every time: Settings → Performance → "Keep recently-opened panels loaded for instant switching" and turn it off.
The toggle's own description reads: "Keeps recently-opened panels — AI Coaching, Calendar, Drive, Sheets, Supermail, and Team Chat — loaded in the background once you've opened them, so switching back into one is an instant flip instead of rebuilding and re-fetching it every time. Each panel is held in memory only after its first open. Desktop only. On by default; turn off to load each panel fresh every time (the old behavior)."
No restart required.
What you might notice
- Returning to a panel you'd already opened is instant — no spinner, no rebuilt canvas, your place preserved.
- The trade-off is memory: each panel you've opened holds its spot in memory until you close Omniscio (there's no automatic eviction). It's bounded to the panels above, desktop-only, and the toggle turns it off if you'd rather keep memory lean — the same deal KMS and Tasks already run on.
- Mobile is unaffected — this is desktop-only; a phone always mounts each panel fresh.
How it relates to the other "responsiveness" features
- The keep-alive pool and frozen-panel retention keep your chat sessions warm for instant switch-back.
- Lean hidden panels makes the hidden chat panels you can't see cheap.
- This feature does the same "stay warm" trick for the bigger non-chat panels (Calendar, Drive, the Mind Map canvas, …). KMS and Tasks are the two panels that got this treatment first, on their own toggles.
For agents
The kill switch
There are two independent off-switches, and the kill switch always wins:
- The Settings toggle above (
panelKeepWarmEnabled, default on). - An environment kill switch: launch Omniscio with
AMC_DISABLE_PANEL_KEEP_WARM=1and the feature is forced off even if the setting is on — the field escape hatch. A missing or malformed switch is treated as "not killed," so the setting alone governs in the normal case.
Where it lives in code
- src/renderer/src/lib/panel-keep-warm-flag.ts
—
isPanelKeepWarmEnabled(setting): the setting first, then theAMC_DISABLE_PANEL_KEEP_WARMkill switch wins. - src/renderer/src/features/dashboard/KeepWarmLayer.tsx — the shared display-toggled layer each warm panel renders in.
- src/renderer/src/features/dashboard/compute-keep-warm-state.ts
— the pure
{mounted, visible}derivation (unit-tested). - src/preload/index.ts — bridges the kill switch to the renderer before first paint.
The full engineering contract (test-locked invariants + safe-change checklist) is .claude/memory/contracts/panel-keep-warm-contract.md.
Related
- lean-hidden-panels.md — makes hidden chat panels cheap.
- frozen-panel-retention.md — keeps recent sessions fully built for instant switch-back.
- kms.md · tasks-v2.md — the two panels that got their own keep-warm toggles first.
Last verified 2026-10-06