feat: add heartbeat/ping to terminal WebSocket
- 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
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
## MODIFIED Requirements
|
||||
|
||||
### Requirement: Tool config supports runtime fields
|
||||
The system SHALL keep tool config runtime fields available for tool configuration, while reusable launch setup for user-owned files, mounts, and env var bundles SHALL be handled by config profiles.
|
||||
|
||||
#### Scenario: Create config with runtime fields
|
||||
- **WHEN** user creates a tool config with start_command="npm start", port=3000, working_directory="/app"
|
||||
- **THEN** the config is saved with all fields populated
|
||||
|
||||
#### Scenario: Environment variables as JSON
|
||||
- **WHEN** user sets environment_variables to {"NODE_ENV": "production", "API_KEY": "secret"}
|
||||
- **THEN** the system stores and returns the config with the JSON object preserved
|
||||
- **AND** reusable per-launch environment bundles are managed through config profiles
|
||||
|
||||
#### Scenario: Volumes as JSON
|
||||
- **WHEN** user sets volumes to [{"host": "/data", "container": "/app/data", "mode": "rw"}]
|
||||
- **THEN** the system stores and returns the config with the JSON array preserved
|
||||
- **AND** user-owned mounted file trees are managed through config profiles
|
||||
|
||||
## REMOVED Requirements
|
||||
|
||||
### Requirement: Active config folders auto-mount during launch
|
||||
The system SHALL NOT automatically mount all active config folders when starting tool instances.
|
||||
|
||||
#### Scenario: Start instance after config profiles replace folders
|
||||
- **GIVEN** a user has legacy active config folders
|
||||
- **WHEN** they start a tool instance without selecting a config profile
|
||||
- **THEN** those folders are not automatically mounted
|
||||
- **AND** only selected config profile output is applied for user-owned launch files and mounts
|
||||
Reference in New Issue
Block a user