CodeNomad/packages
VooDisss b3594d29e5
feat(sessions): progressive loading, server-side search, and workspace scoping (#511)
# Session Pagination & Search Enhancement

## Changes

### Progressive Session Loading
- `fetchSessions()` now accepts `{ limit, search }` options
- Added pagination state: `sessionFetchLimit`, `sessionHasMore`
(50-session pages)
- Scroll-to-bottom sentinel triggers `loadMoreSessions()` via
IntersectionObserver
- Hydration loads initial 50 sessions; subsequent scrolls fetch 100,
150, etc.

### Server-Side Search
- Added `searchSessions()` using `session.list({ search, limit: 50,
directory })`
- Merges results into store (preserves active session, no replacement)
- Added `"sessionList.loading.more"` i18n key (7 locales)

### Hybrid Search Performance
- Client-side filtering runs first — instant results for loaded sessions
- Server search only fires when no client matches exist
- Debounce reduced from 300ms → 150ms for server fallback

### Workspace Scoping
- All `session.list()` calls pass `directory: instance.folder`
- Prevents cross-workspace session pollution

## Files
- `packages/ui/src/stores/session-state.ts`
- `packages/ui/src/stores/session-api.ts`
- `packages/ui/src/stores/instances.ts`
- `packages/ui/src/stores/sessions.ts`
- `packages/ui/src/components/session-list.tsx`
- `packages/ui/src/lib/i18n/messages/*/session.ts`

---------

Co-authored-by: Shantur Rathore <i@shantur.com>
2026-06-02 10:32:34 +01:00
..
cloudflare Increment version to 0.16.0 2026-05-14 10:40:21 +01:00
electron-app Reduce App package sizes (#453) 2026-05-15 19:13:13 +01:00
opencode-plugin Increment version to 0.16.0 2026-05-14 10:40:21 +01:00
server Migrate worktree mappings to session metadata (#514) 2026-06-01 10:16:17 +01:00
tauri-app Reduce App package sizes (#453) 2026-05-15 19:13:13 +01:00
ui feat(sessions): progressive loading, server-side search, and workspace scoping (#511) 2026-06-02 10:32:34 +01:00