Omniscio documentation
Browse all documentation
  1. Getting Started13
  2. Sessions & Agents115
  3. Inbox & Notifications59
  4. Projects & Tasks95
  5. Automation & Scheduling75
  6. Knowledge & Memory26
  7. AI Features60
  8. Integrations100
  9. Plugins & Marketplace33
  10. Cloud & Teams56
  11. Settings & Customization58
  12. Account & Billing28
  13. Troubleshooting84
  14. CLI & API Reference22
  15. Legal & Policies4
  16. Uncategorised22

Browse archived sessions

How to open and move between a project's archived sessions: the Archived sub-section, the read-only archived view, swipe and J / K navigation, where an opened session lands, and the separate navigation list that makes prev and next work.

What it is

Archived sessions live in a collapsible Archived sub-section near the bottom of every project's session list (and a per-project sub-section under the Search virtual project). Open one and Omniscio opens the session in the main panel, read-only-friendly. From there you can navigate forward and backward through your other archived sessions in the same project — using mobile swipe, the prev/next chevron buttons at the top of the panel, or J / K on the keyboard.

This is purely a viewing flow — archived sessions don't accept new replies until you unarchive. The point is to scroll through past work without having to click each row in the sidebar.

Each archived session still offers two quick actions without leaving the Archive view: Restore (unarchive it back to your active list) and Snooze (hide it until a time you pick, then have it un-archive itself back into your inbox as "needs you"). Both appear on the archived row and in the open-session detail header, on desktop and mobile. Snooze is the only way to reach a snooze from an archived session, since archived rows are hidden from the main sidebar — see snooze-a-session.md.

Once an archived session is snoozed, its row shows a small amber "snoozed until…" indicator (with the full wake time in the tooltip), and the Snooze button becomes Unsnooze — cancel the snooze right there and the session stays archived (it just won't auto-return anymore). The indicator and the Snooze/Unsnooze toggle update on their own as the snooze is set or cleared.

Opening an archived session lands you at the top of the final agent message — the agent's concluding answer, read from its first line, rather than dropped at the very end of a long reply where you'd have to scroll up (user request 2026-07-11). This holds in BOTH surfaces — the main panel (via a project's Archived sub-section) and the standalone Archive view (the Archive sidebar / search) — and it's always fresh: every time you open an archived session it snaps back to the top of that final message, even if you'd scrolled through it before (unlike your active sessions, which remember where you left off). The two surfaces run on independent scroll code but land the same way. See archive-transcript-scroll-contract.md and session-scroll-contract.md.

Where to find it

How to use it

  1. Find the Archived sub-section. Open any real project. Scroll the sessions list to the bottom — there's a chevron labeled Archived (N), where N is the true total. Click to expand. The section loads the most recent 50 first; if you have more, load additional rows from the bottom of the list. On desktop the button reads Show all archived (N more) and loads the rest in one go (fine over the in-app data channel). On mobile it reads Show 50 more and appends one 50-row page per tap — repeat until it's all loaded, then the button disappears. Mobile pages deliberately: the phone/web connection refuses any single response over ~8 MB, so on a big archive the old one-shot "load everything" fetch (~22 MB) was rejected and the button did nothing; paging keeps every response small. (The Search virtual project shows the same sub-section, with cross-project results.)
  2. Click any archived row to open it. The main panel switches to that session's chat history.
  3. Swipe (mobile) or press J / K (desktop, anywhere outside an input) to move to the next or previous archived session in the same project. The prev / next chevron buttons in the panel header do the same thing. The list moves through the archived sessions in the same order they appear in the sidebar.
  4. Boundaries: at the first archived session, going backward is a no-op on mobile; on desktop K stays put / nudges back to the next item rather than wrapping. Same at the last archived session going forward. There is no wrap from last back to first — this matches the live-session sidebar nav exactly.
  5. Cross-project search edge case: if you opened the archived session from the Search virtual project, swipe / J / K walks the cross-project archived results in the order Search returned them — not just one project's archive.
  6. Inbox edge case: if you archive a session while viewing it from the inbox, swipe / J / K disables until you switch to a real project. The session itself stays open; only the navigation gestures pause. Pick the project from the sidebar to resume browsing its archive.

To stop browsing the archive, click any non-archived session in the sidebar — or the project header — to leave the archived view. Swipe / J / K immediately switches back to walking the regular visible sidebar.

How it behaves

Why this is a separate list

The visible sidebar list excludes archived rows (and snoozed, scheduled, and blank-ended ones) so triage stays clean. Without a dedicated nav list, opening an archived session would set the active id to something the visible list doesn't contain — currentSessionIndex would be -1 and prev / next would be dead. The fix surfaces a parallel "navigable archived list" only while the active session is archived. The moment you leave (open a live session, unarchive, switch projects), nav reverts to the regular visible list.

For agents

How it works

  1. The session store tracks two parallel slices: sessions (live, drawn into the visible sidebar) and archivedSessions (fetched on demand by the Archived sub-section). Every row in archivedSessions has status === 'archived', enforced both by the SESSION_LIST_ARCHIVED IPC and the optimistic-archive setter. The initial expand loads ARCHIVED_INITIAL_LIMIT (50) rows; mobile's Show 50 more pager (fetchMoreArchivedSessions) then APPENDS the next page via the SESSION_LIST_ARCHIVED offset param (limit fixed at 50), keeping each response small enough for the mobile WS 8 MB outbound cap — the fix for the dead "Show all archived" button on large archives. Desktop keeps the one-shot unlimited fetch (no such cap over in-process IPC).
  2. Mobile swipe + chevron buttons in src/renderer/src/features/dashboard/Dashboard.tsx compute navigableSessions via a memo. When the active session id is found in archivedSessions, the memo switches to getArchivedNavigableSessions(activeProjectId, archivedSessions) from src/renderer/src/stores/session-navigation.ts — otherwise it falls back to the existing getVisibleProjectSessionsInOrder path.
  3. Desktop J / K uses src/renderer/src/hooks/useKeyboardShortcuts.ts navigateSession. Same archived-detection: if the active id lives in archivedSessions, build a single-group list with sessionToItem and call findNextItem against it. The same-group bounce-back path means at the last archived row, J nudges back to the previous one rather than wrapping to the top.
  4. The Search virtual project bypasses the project-id filter inside getArchivedNavigableSessions — it returns the full archivedSessions array untouched, because Search's archive list is intentionally cross-project.
  5. The inbox + null-project corner case returns [] from the helper, which makes currentSessionIndex === -1 and disables the swipe gestures.

Related

  • bulk-select-sidebar.md — Shift+J / Shift+K extend a multi-select range; this page covers single-cursor J / K nav
  • snooze-a-session.md — the snoozed list also lives in a sub-section, but is separately filtered out of nav
  • session-search.md — the Search virtual project that hosts cross-project archived results

Last verified 2026-10-05