073013bc61
- Backend: Send ping every 30s from WebSocket endpoint - Frontend: Respond to pings with pongs, detect missed pings (60s timeout) - Update type definitions to include 'resetting' status Refs: persistent-terminal-sessions task 6.4
36 lines
1.7 KiB
Markdown
36 lines
1.7 KiB
Markdown
## ADDED Requirements
|
|
|
|
### Requirement: Config Profile Settings Editor
|
|
The system SHALL expose a settings interface for managing the authenticated user's config profiles.
|
|
|
|
#### Scenario: Browse config profiles in settings
|
|
- **GIVEN** an authenticated user
|
|
- **WHEN** they open settings
|
|
- **THEN** they can view their config profiles
|
|
- **AND** see each profile's name, compatibility scope, default status, and included profiles
|
|
|
|
#### Scenario: Edit profile content in settings
|
|
- **GIVEN** an authenticated user editing a config profile
|
|
- **WHEN** they update env vars, runtime hints, mounts, text files, or include order
|
|
- **THEN** the settings UI saves those changes through the config profile API
|
|
- **AND** validation errors are shown without losing the user's draft edits
|
|
|
|
#### Scenario: Configure profile defaults in settings
|
|
- **GIVEN** an authenticated user editing config profiles
|
|
- **WHEN** they mark a profile as the default for a global, project, tool, or project+tool context
|
|
- **THEN** subsequent launches for matching contexts preselect that profile according to default specificity
|
|
|
|
### Requirement: Launch Profile Selection UI
|
|
The system SHALL allow the authenticated user to select one compatible config profile or `None` when starting a session.
|
|
|
|
#### Scenario: Preselect default compatible profile
|
|
- **GIVEN** an authenticated user has a default compatible profile for a selected project and tool type
|
|
- **WHEN** they open the start session form
|
|
- **THEN** the form preselects that profile
|
|
- **AND** also offers `None` as a selectable option
|
|
|
|
#### Scenario: Select no profile
|
|
- **GIVEN** an authenticated user starts a session
|
|
- **WHEN** they choose `None` in the config profile selector
|
|
- **THEN** the start request records no selected config profile
|