qwen-code/docs/developers/daemon
XIQI 576689d073
Some checks failed
SDK Python / Classify PR (push) Has been cancelled
SDK Python / SDK Python (3.12) (push) Has been cancelled
SDK Python / SDK Python (3.10) (push) Has been cancelled
SDK Python / SDK Python (3.11) (push) Has been cancelled
Qwen Code CI / Classify PR (push) Waiting to run
Qwen Code CI / Test (ubuntu-latest, Node 22.x) (push) Blocked by required conditions
Qwen Code CI / Lint & Static (ubuntu-latest, Node 22.x) (push) Blocked by required conditions
Qwen Code CI / web-shell E2E Smoke (ubuntu-latest, Node 22.x) (push) Blocked by required conditions
Qwen Code CI / Test (macos-latest, Node 22.x) (push) Blocked by required conditions
Qwen Code CI / Test (windows-latest, Node 22.x) (push) Blocked by required conditions
Qwen Code CI / Integration Tests (no-AK, No Sandbox) (push) Blocked by required conditions
Qwen Code CI / Integration Tests (CLI, No Sandbox) (push) Blocked by required conditions
Qwen Code CI / Desktop Shell (ubuntu-22.04) (push) Blocked by required conditions
Qwen Code CI / Desktop Shell (windows-2022) (push) Blocked by required conditions
E2E Tests / Build for E2E (push) Waiting to run
E2E Tests / E2E Test (Linux) - sandbox:docker - shard 1/1 (push) Blocked by required conditions
E2E Tests / E2E Test (Linux) - sandbox:none - shard 1/1 (push) Blocked by required conditions
E2E Tests / E2E Test - macOS - shard 1/2 (push) Blocked by required conditions
E2E Tests / E2E Test - macOS - shard 2/2 (push) Blocked by required conditions
E2E Tests / E2E Interactive - OpenTUI renderer (bun) (push) Blocked by required conditions
SDK Java / ubuntu-latest / Java 17 (push) Waiting to run
SDK Java / macos-latest / Java 21 (push) Waiting to run
SDK Java / ubuntu-latest / Java 21 (push) Waiting to run
SDK Java / windows-latest / Java 21 (push) Waiting to run
SDK Java / Flyway migration version uniqueness (push) Waiting to run
E2E Tests / channel-plugin E2E (nightly) (push) Blocked by required conditions
E2E Tests / cron-interactive E2E (nightly) (push) Blocked by required conditions
E2E Tests / web-shell Browser Regression (push) Waiting to run
Android Mobile Shell / Build, unit tests, and lint (push) Waiting to run
Android Mobile Shell / Keystore and profiles (API 26) (push) Waiting to run
Android Mobile Shell / Keystore and profiles (API 36) (push) Waiting to run
SDK Java / ubuntu-latest / Java 11 (push) Waiting to run
SDK Java / Runtime Broker and Managed Agent MariaDB / Java 21 (push) Waiting to run
Verify Landlock helper / Native Windows settings and streams (push) Waiting to run
SDK Java / Hosted process fault gates / MySQL 8.4 / Java 21 (push) Waiting to run
SDK Java / Real daemon E2E / Java 11 (push) Waiting to run
Verify Landlock helper / Native Linux CLI boundary (push) Waiting to run
Verify Landlock helper / arm64 (push) Waiting to run
Verify Landlock helper / x64 (push) Waiting to run
fix(channels): clean up owned workers after config loss (#11071)
* fix(channels): clean up owned workers after config loss

Addresses #11063 for a single missing-config owner. Preserve revision and runtime ownership checks and make absent settings removal idempotent.

* fix(channels): clarify missing-config ownership diagnostics

Address PR #11071 review with named ownership checks, distinct rejection diagnostics, and explicit passive-read assertions. Preserve the current deletion contract.

* fix(channels): gate missing-config delete convergence on persisted startup state

* fix(channels): harden missing-config delete convergence

- Re-read the merged channel config view after the worker stop window
  and fail closed with channel_settings_conflict when a configuration
  reappears at another scope mid-delete: the optimistic-concurrency
  token covers only the workspace's own scope files.
- Reject the convergence while the worker manager is mid-transition:
  a starting or reconciling manager reports the candidate selection as
  no workers and nothing committed, which reads as the silent shape
  without being it.
- Gate the "another scope" refusal on a record-valued merged entry so a
  legacy scalar entry in the workspace's own file converges instead of
  being misattributed to user or system settings.
- Pass pre-loaded settings with skipLoadEnvironment to the injected
  loadChannelsConfig so the gate read no longer writes the target
  workspace's .env into the daemon's process-global environment.
- Deduplicate the ownership invariant on the missing-config path:
  assertConvergeableRuntimeOwner now returns the confirmed owned-worker
  outcome instead of remove re-deriving it through a provably dead gate.
- Correct both doc pages: the channel_instance_not_found promise only
  holds when the selected workspace's resolved scope does not own the
  configuration, and a home-directory workspace resolves that scope to
  the shared user file.

* fix(channels): reject configured channel delete while runtime is mid-transition

The mid-transition guard lived only on the missing-config branch, so a
DELETE of a configured channel landing during the first-start window —
when committedChannelNames() still reports nothing — skipped both the
ownership check and the worker stop, deleted the configuration, and
answered 200 with runtime stopped while a worker for that name was
coming up. Hoist the settled check above the branch split so both
branches inherit it, and pin the configured shape with a test.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>

* fix(cli): narrow mid-transition channel delete guard to at-risk channels (#11071)

---------

Co-authored-by: 西岐 <fengqi.mfq@alibaba-inc.com>
Co-authored-by: qwen-code-dev-bot <qwen-code-dev-bot@users.noreply.github.com>
Co-authored-by: qwen-code-ci-bot <qwen-code-ci-bot@users.noreply.github.com>
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Co-authored-by: qwen-code-dev-bot <qwen-code-dev@service.alibaba.com>
Co-authored-by: qwen-code-autofix <qwen-code-autofix[bot]@users.noreply.github.com>
Co-authored-by: qwen-code[bot] <qwen-code[bot]@users.noreply.github.com>
2026-10-03 12:08:38 +00:00
..
assets fix(web-shell): allow sequential SDK requests during session creation (#11913) 2026-09-18 06:52:16 +00:00
00-index.md docs(serve): state what --no-web actually removes (#11446) 2026-09-09 07:01:52 +00:00
01-architecture.md feat(serve): one-command remote start with a generated token, same-origin shell access, and a pairing QR (#11172) 2026-09-09 07:16:30 +00:00
02-serve-runtime.md feat(web-shell): add shared URL navigation for pages and sessions (#12499) 2026-09-23 09:43:09 +00:00
03-acp-bridge.md fix(acp): preserve original filenames in resource-link prompts (#11721) 2026-09-12 15:12:52 +00:00
04-permission-mediation.md fix(acp-bridge): Disable permission timeout by default (#9933) 2026-08-24 16:08:44 +00:00
05-mcp-transport-pool.md fix(mcp): Support larger Apps, scoped tool calls and isolated origins (#12258) 2026-09-27 04:56:31 +00:00
06-mcp-budget-guardrails.md docs(serve): Close multi-workspace hardening gaps (#7019) 2026-07-16 17:33:53 +00:00
07-workspace-filesystem.md feat(daemon): make serve new-file mode configurable (QWEN_SERVE_NEW_FILE_MODE) (#9364) 2026-08-18 03:42:35 +00:00
08-session-lifecycle.md feat(serve): support model and reasoning selection at session creation (#12308) 2026-09-25 16:45:37 +00:00
09-event-schema.md feat(serve): let users stop workspace runtimes to release ACP capacity (#12008) 2026-09-19 01:52:33 +00:00
10-event-bus.md fix(mcp): Support larger Apps, scoped tool calls and isolated origins (#12258) 2026-09-27 04:56:31 +00:00
11-capabilities-versioning.md feat(serve): support model and reasoning selection at session creation (#12308) 2026-09-25 16:45:37 +00:00
12-auth-security.md feat(web-shell): add shared URL navigation for pages and sessions (#12499) 2026-09-23 09:43:09 +00:00
13-sdk-daemon-client.md feat(daemon): Add batched workspace session catalogs (#12254) 2026-09-21 15:26:34 +00:00
14-cli-tui-adapter.md refactor!: retire @qwen-code/webui (#9812) 2026-09-05 09:13:54 +00:00
15-channel-adapters.md fix(channels): clean up owned workers after config loss (#11071) 2026-10-03 12:08:38 +00:00
16-vscode-ide-adapter.md refactor!: retire @qwen-code/webui (#9812) 2026-09-05 09:13:54 +00:00
17-configuration.md feat(web-shell): add shared URL navigation for pages and sessions (#12499) 2026-09-23 09:43:09 +00:00
18-error-taxonomy.md feat(serve): Enable full API access on trusted loopback (#10403) 2026-08-30 07:52:24 +00:00
19-observability.md feat(cli): correlate daemon logs with OpenTelemetry spans (#9084) 2026-08-13 16:33:12 +00:00
20-quickstart-operations.md feat(web-shell): add shared URL navigation for pages and sessions (#12499) 2026-09-23 09:43:09 +00:00
_meta.ts docs(daemon): Refresh daemon docs in English (#5144) 2026-06-15 22:38:01 +08:00