feat: organize settings with tabs and concise help (#3850)
This commit is contained in:
@@ -29,7 +29,7 @@ See [Desktop app](desktop-app.md), [CLI](cli.md), [Run as a service](run-as-a-se
|
||||
|
||||
## Prevent host sleep during active tasks
|
||||
|
||||
Administrators can open **Settings > Preferences > Task Behavior** and enable
|
||||
Administrators can open **Settings > Preferences > Task Behavior > Runtime** and enable
|
||||
**Prevent host sleep while tasks run**. The install-wide setting is off by
|
||||
default and is saved with the Kandev database. It applies only to the machine
|
||||
running the backend; it does not change executor or node power policy.
|
||||
@@ -56,7 +56,9 @@ availability policy instead. Enabling the preference is safe when moving the
|
||||
database between hosts: Kandev reacquires a native request only after startup
|
||||
if the new backend can provide it and a working task still exists.
|
||||
|
||||

|
||||
Task Behavior uses **Tasks**, **Conversation**, and **Runtime** tabs on one page.
|
||||
Each setting has a short description. Use its info button for technical details.
|
||||
On touch devices, the info button opens a drawer. **Save changes** saves drafts across all three tabs.
|
||||
|
||||
## Health and readiness
|
||||
|
||||
@@ -151,7 +153,7 @@ Add `--system` to both commands for a system service.
|
||||
|
||||
## Message queue settings
|
||||
|
||||
Open **Settings > Task Behavior > Message Queue** to manage install-wide queue behavior. The default capacity is `10`; `0` means unlimited. Admin saves apply immediately to later admissions. Lowering the limit does not prune rows already waiting. At or above the new limit, only an eligible direct automatic fold into the existing tail can still succeed; other work is rejected until messages run or are removed. Staged attachments are rejected before a fold or claim. Delivery retries for work accepted before the change are not discarded by the lower cap.
|
||||
Open **Settings > Preferences > Task Behavior > Runtime** to manage install-wide queue behavior. The default capacity is `10`; `0` means unlimited. Admin saves apply immediately to later admissions. Lowering the limit does not prune rows already waiting. At or above the new limit, only an eligible direct automatic fold into the existing tail can still succeed; other work is rejected until messages run or are removed. Staged attachments are rejected before a fold or claim. Delivery retries for work accepted before the change are not discarded by the lower cap.
|
||||
|
||||
`KANDEV_QUEUE_MAX_PER_SESSION` has higher precedence than the saved capacity. A valid environment value makes only that field read-only; zero or a negative value means unlimited. Invalid text is logged and ignored in favor of the saved setting or default. Environment changes require a backend restart, while UI changes do not.
|
||||
|
||||
@@ -766,7 +768,7 @@ Kandev warns when its live WebSocket connection has not recovered for three seco
|
||||
- **Office session identity**: experimental, high risk, and on in every profile by default. The live `(task_id, agent_profile_id)` pair is guarded in-transaction on the Office session creation path, not by a table-level index; pre-existing duplicate rows are retained and resolved by selection. Two Kandev processes must not write the same SQLite file. It gives each Office participant a separate task conversation and requires a restart. Disabling the toggle restores the pre-graduation runner-seat binding and task-active-session decision re-evaluation.
|
||||
- **App status bar**: stable, low risk, and off in the production profile by default. Enabling it adds the desktop/tablet bar and phone Status entry after restart; disabling it again does not stop connections, metrics collection requested by other clients, or plugins. Urgent WebSocket connectivity warnings still remain visible while the feature is off.
|
||||
- **Claude background prompt handoff**: experimental, high risk, and off in every profile by default. Enabling it lets Claude Code accept another prompt after its foreground yields while recognized async subagent, `run_in_background` shell, or Monitor work remains active. ACP lifecycle gaps can misclassify activity or overlap prompts; use it only for controlled testing.
|
||||
- **Unread divider**: a per-user setting at **Settings > General > Task Actions**. It defaults off, takes effect immediately, and controls both the Slack-style **New** divider and read-cursor updates while that user's transcript view is visible.
|
||||
- **Unread divider**: a per-user setting at **Settings > Preferences > Task Behavior > Conversation**. It defaults off, takes effect immediately, and controls both the Slack-style **New** divider and read-cursor updates while that user's transcript view is visible.
|
||||
- **Debug mode**: high risk; enables diagnostic endpoints and agent-message logging that can contain sensitive content.
|
||||
|
||||
Each feature toggle requires restart. A value supplied explicitly by its environment variable locks the UI control; the debug toggle is also locked by explicit legacy/debug-message environment variables. Otherwise the UI stores an override in the database. The page can request restart only when the native local supervisor is available. A normal Unix `kandev` terminal launch is supervised; Desktop, a service, a container, a directly started backend, a deploy preview, or Windows requires a manual application restart.
|
||||
|
||||
Reference in New Issue
Block a user