Skip to content

features session capture

factory-droid[bot] edited this page Jul 5, 2026 · 1 revision

Session capture

Active contributors: Douwe de Vries, vriesd

Purpose

Session capture lets testers create a bounded Session, write notes, preserve context, and build structured records from the testing timeline. The feature spans frontend views, Tauri commands, SessionService, and SQLite tables.

Key source files

File Purpose
frontend/src/views/SessionEditorView.tsx Notes editor UI and note actions.
frontend/src/app/sessionActions.ts Create/open/save/delete Session and note operations.
frontend/src/app/useAppController.ts Boot, active Session state, autosave, and view state.
src-tauri/src/commands/sessions.rs Session command handlers.
src-tauri/src/commands/entries.rs Entry command handlers.
crates/qa-scribe-core/src/domain/session.rs Session DTOs and patches.
crates/qa-scribe-core/src/domain/entry.rs Entry DTOs, drafts, and types.
crates/qa-scribe-core/src/services/session_service/sessions.rs Session service operations.
crates/qa-scribe-core/src/services/session_service/entries.rs Entry service operations.

How it works

The frontend boots with getSettings() and listSessions(), opens the first Session when present, and ensures the active note Entry exists. Title and body autosave are debounced in frontend/src/app/useAppController.ts, while saveNoteNow() flushes pending changes before navigation, generation, or record creation.

graph LR
    Editor[SessionEditorView] --> Actions[sessionActions]
    Actions --> Bridge[tauri.ts]
    Bridge --> Commands[sessions.rs and entries.rs]
    Commands --> Service[SessionService]
    Service --> SQLite[(SQLite sessions and entries)]
Loading

Integration points

Session capture feeds Rich record editing, Managed attachments, and AI-assisted Testware. It relies on Rust core for validation and storage.

Entry points for modification

Change UI copy or controls in frontend/src/views/SessionEditorView.tsx, workflow state in frontend/src/app/sessionActions.ts, and persistence rules under crates/qa-scribe-core/src/services/session_service.

Clone this wiki locally