Yichen Jiang
c4bc8b847a
Merge branch 'worktree/jobs-api-review-3052' into worktree/jobs-api-review-3127
...
# Conflicts:
# packages/client/ui-jobs/src/client/JobListAction.tsx
# packages/shell/bash-local/tests/executor.spec.ts
2026-09-19 10:40:27 +08:00
Yichen Jiang
5c10701df2
Merge remote-tracking branch 'origin/master' into worktree/jobs-api-review-3052
...
# Conflicts:
# apps/web/tests/expected/agent-preset-selection/header.expected.md
# packages/client/ui-chat/src/client/chat/ContextInjectionRow.tsx
# packages/client/ui-jobs/package.json
# packages/client/ui-jobs/src/client/JobListAction.module.css
# packages/client/ui-jobs/src/client/JobListAction.tsx
# packages/client/ui-jobs/tests/job-list-action.client.spec.tsx
# packages/client/ui-subagent/README.i18n.yaml
# packages/client/ui-subagent/README.md
# packages/client/ui-subagent/README.zh.md
# packages/client/ui-subagent/src/client/SubagentHeaderLineage.tsx
2026-09-19 10:35:09 +08:00
Turtle
5c8933fbe3
fix(session): acquire blank Session writers before reuse ( #4392 )
...
* fix(session): keep blank session discovery local to each host
* fix(session): acquire blank writers before reusing sessions
* refactor(workspace): separate saved selection restoration from blank lookup
* fix(workspace): create after the selected blank writer is held
* test(web): align blank reload snapshot with current icons
2026-09-18 17:19:40 +08:00
creatixchu
04d0235673
Verify local file opening and address sidebar review findings
2026-09-18 15:31:50 +08:00
Yichen Jiang
27eec0a247
Merge remote-tracking branch 'origin/master' into worktree/fix-new-session-stale-blank
...
# Conflicts:
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/README.md
# packages/api/session-controller/README.zh.md
# packages/api/session-controller/src/client/sessions/manager.ts
# packages/api/session-controller/tests/manager.client.spec.ts
2026-09-18 15:05:52 +08:00
imccyu
3d360e7fdb
perf(session-controller): publish historical jump pages as one batch
2026-09-18 14:13:47 +08:00
Yichen Jiang
c2fb2bd4e8
Merge branch 'worktree/jobs-api-review-3052' into worktree/jobs-api-review-3127
...
# Conflicts:
# .agents/notes/implemented/feature/2026-08-08-web-background-job-display.i18n.yaml
# docs/config-catalog.i18n.yaml
# docs/event-producer-consumer.i18n.yaml
# docs/module-graph.i18n.yaml
# docs/subsystems/jobs.i18n.yaml
# docs/subsystems/shell.i18n.yaml
# docs/subsystems/shell.md
# docs/subsystems/shell.zh.md
# docs/tool-catalog.i18n.yaml
# packages/api/session-controller/README.i18n.yaml
# packages/context/tmux-context/tests/tmux-context.spec.ts
# packages/e2b/e2b/tests/fixtures/composition/bin.ts
# packages/extensions/tool-cordis/src/api-catalog.ts
# packages/shell/bash-local/README.i18n.yaml
# packages/shell/bash-local/README.md
# packages/shell/bash-local/README.zh.md
# packages/shell/bash-local/src/index.ts
# packages/shell/bash-local/tests/executor.spec.ts
# packages/shell/bash-sandbox/README.i18n.yaml
# packages/shell/bash-sandbox/README.md
# packages/shell/bash-sandbox/README.zh.md
# packages/shell/bash-sandbox/src/index.ts
# packages/shell/bash-sandbox/tests/bwrap.e2e.ts
# packages/shell/bash-sandbox/tests/landlock.e2e.ts
# packages/shell/bash-sandbox/tests/partial-landlock.spec.ts
# packages/shell/bash-sandbox/tests/sandbox.spec.ts
# packages/shell/bash-sandbox/tests/seatbelt.e2e.ts
# packages/shell/pwsh-local/README.i18n.yaml
# packages/shell/pwsh-local/README.md
# packages/shell/pwsh-local/README.zh.md
# packages/shell/pwsh-local/src/index.ts
# packages/shell/pwsh-local/tests/executor.spec.ts
# packages/shell/pwsh-sandbox/README.i18n.yaml
# packages/shell/pwsh-sandbox/README.md
# packages/shell/pwsh-sandbox/README.zh.md
# packages/shell/pwsh-sandbox/src/index.ts
# packages/shell/pwsh-sandbox/tests/sandbox.spec.ts
# packages/shell/shell/README.i18n.yaml
# packages/shell/shell/README.md
# packages/shell/shell/README.zh.md
# packages/shell/shell/src/index.ts
# packages/shell/shell/tests/service.spec.ts
# packages/shell/tool-bash/README.i18n.yaml
# packages/shell/tool-bash/src/index.ts
# packages/shell/tool-bash/tests/tools.spec.ts
# packages/shell/tool-pwsh/README.i18n.yaml
# packages/shell/tool-pwsh/src/index.ts
# packages/shell/tool-pwsh/tests/background.spec.ts
# packages/shell/tool-pwsh/tests/tools.spec.ts
# packages/workflow/tool-workflow/README.i18n.yaml
# packages/workflow/tool-workflow/package.json
# packages/workflow/tool-workflow/tests/tool-workflow.spec.ts
# snapshots/session/ptc-python-turn/system-prompt.expected.md
2026-09-17 16:48:06 +08:00
Yichen Jiang
321bce2627
Merge remote-tracking branch 'origin/master' into worktree/jobs-api-review-3052
...
# Conflicts:
# packages/api/session-controller/src/client/sessions/manager.ts
# packages/api/session-controller/src/client/sessions/service.ts
# packages/api/session-controller/tests/manager.client.spec.ts
# packages/api/session-controller/tests/sessions-service.client.spec.ts
# packages/client/locale/tests/language-row.client.spec.tsx
# packages/client/ui-chat/tests/chat-view.client.spec.tsx
# packages/client/ui-chat/tests/transcript-view-row.client.spec.tsx
# packages/client/ui-conversation/tests/conversation-registry.client.spec.ts
# packages/client/ui-conversation/tests/enter-behavior-row.client.spec.tsx
# packages/client/ui-conversation/tests/input-bar.client.spec.tsx
# packages/client/ui-conversation/tests/skeleton.client.spec.tsx
# packages/client/ui-deliverables/tests/deliverables.client.spec.tsx
# packages/client/ui-jobs/tests/job-list-action.client.spec.tsx
# packages/client/ui-layout/tests/app-frame.client.spec.tsx
# packages/client/ui-layout/tests/document-title.client.spec.tsx
# packages/client/ui-session/tests/ui-session.client.spec.ts
# packages/client/ui-settings-unarchive-sessions/tests/components.client.spec.tsx
# packages/client/ui-subagent/tests/conversation-ui.client.spec.tsx
# packages/client/ui-theme/tests/appearance-row.client.spec.tsx
# packages/client/ui-theme/tests/font-size-row.client.spec.tsx
# packages/client/ui-tool/tests/coverage-tails.client.spec.tsx
# packages/client/ui-tool/tests/diff-card.client.spec.tsx
# packages/client/ui-tool/tests/read-card.client.spec.tsx
# packages/client/ui-tool/tests/terminal-card.client.spec.tsx
# packages/client/ui-trajectory/tests/views.client.spec.tsx
# packages/client/ui-user-questions/tests/plan-review-panel.client.spec.tsx
# packages/client/ui-user-questions/tests/user-questions-composer.client.spec.tsx
# packages/client/ui-workflow-run/tests/workflow-run.client.spec.tsx
# packages/client/ui-workspace/tests/tree.client.spec.ts
# packages/client/ui-workspace/tests/workspace-browser.client.spec.tsx
# packages/client/ui-workspace/tests/workspace-picker.client.spec.tsx
# packages/client/ui-workspace/tests/workspaces-service.client.spec.ts
# packages/test-support/client-runtime/src/sessions.ts
2026-09-17 11:11:25 +08:00
imccyu
2438bdd4d6
docs(client): document explicit Session ownership
2026-09-17 05:28:58 +08:00
Yichen Jiang
3c394440ab
Merge remote-tracking branch 'origin/master' into worktree/jobs-api-review-3052
...
# Conflicts:
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# docs/persistence-catalog.i18n.yaml
# docs/persistence-catalog.md
# docs/persistence-catalog.zh.md
# docs/persistence-schema.json
2026-09-16 22:05:51 +08:00
Yichen Jiang
55d57d33b6
fix(session): initialize blankness from retained metadata
2026-09-16 20:22:14 +08:00
Yichen Jiang
f65799a236
docs(session): clarify blank-state projection guarantees
2026-09-16 20:05:48 +08:00
Yichen Jiang
fa2abdd6f1
fix(web): reconcile stale blank session hints from projections
2026-09-16 16:39:53 +08:00
Yichen Jiang
6e41857b2e
Merge remote-tracking branch 'origin/master' into worktree/jobs-api-review-3052
...
# Conflicts:
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# packages/api/remotes/src/client/index.ts
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/README.md
# packages/api/session-controller/README.zh.md
# packages/api/session-controller/src/client/sessions/manager.ts
# packages/api/session-controller/src/control.ts
# packages/api/session-controller/src/types.ts
# packages/api/session-controller/tests/client-apply.client.spec.ts
# packages/api/session-controller/tests/manager.client.spec.ts
# packages/api/session-controller/tests/projection-store.client.spec.ts
# packages/api/session-controller/tests/queue-store.client.spec.ts
# packages/api/session-controller/tests/sessions-service.client.spec.ts
# packages/api/session-controller/tests/transport.client.spec.ts
# packages/client/ui-jobs/package.json
# packages/client/ui-primitives/src/TerminalBlock.module.css
# packages/client/ui-primitives/src/TerminalBlock.tsx
# packages/client/ui-primitives/tests/terminal-block.client.spec.tsx
# packages/extensions/tool-cordis/src/api-catalog.ts
# packages/test-support/client-runtime/src/assembly/remote-default-responses.ts
2026-09-16 16:05:59 +08:00
Yichen Jiang
1596097147
Merge remote-tracking branch 'origin/master' into worktree/jobs-api-review-3052
...
# Conflicts:
# apps/web/tsconfig.json
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# docs/module-graph.i18n.yaml
# docs/module-graph.md
# docs/module-graph.zh.md
# packages/api/remotes/package.json
# packages/api/remotes/src/client/index.ts
# packages/api/session-controller/tests/client-apply.client.spec.ts
# packages/api/session-controller/tests/control-jobs.host.spec.ts
# packages/api/session-controller/tests/fake-api.client.ts
# packages/api/session-controller/tests/manager.client.spec.ts
# packages/client/ui-jobs/package.json
# packages/extensions/cordis-client-runner/src/client/slot-catalog.ts
# packages/jobs/jobs-local/README.i18n.yaml
# packages/jobs/jobs-local/README.md
# packages/jobs/jobs-local/README.zh.md
# packages/jobs/jobs-local/src/index.ts
# packages/jobs/jobs-local/tests/jobs.spec.ts
# packages/jobs/tool-jobs/tests/tool-jobs.spec.ts
# packages/shell/shell/README.i18n.yaml
# packages/shell/shell/README.md
# packages/shell/shell/README.zh.md
# packages/shell/tool-bash/README.i18n.yaml
# packages/shell/tool-bash/README.md
# packages/shell/tool-bash/README.zh.md
# packages/shell/tool-bash/src/background.ts
# packages/shell/tool-bash/src/index.ts
# packages/shell/tool-pwsh/src/background.ts
# packages/shell/tool-pwsh/src/index.ts
2026-09-16 15:53:02 +08:00
07akioni
5c369a0a1f
fix: carry session writer failures by typed remote code
2026-09-16 15:38:34 +08:00
07akioni
e0f170b8d0
fix: explain session writer contention in toasts
2026-09-16 14:50:38 +08:00
_Kerman
992a932a16
Merge remote-tracking branch 'origin/master' into xtr/durable-inbox-web-recovery
...
# Conflicts:
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/README.md
# packages/api/session-controller/README.zh.md
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/README.md
# packages/client/ui-conversation/README.zh.md
# packages/client/ui-conversation/src/client/contract/input.ts
# packages/client/ui-conversation/src/client/input/facade.ts
2026-09-15 16:52:24 +08:00
Dudu-0223
53046b21b4
fix(session-controller): reconcile list cache in linear time
2026-09-15 11:36:52 +08:00
_Kerman
49f601e902
Merge remote-tracking branch 'origin/master' into xtr/durable-inbox-web-recovery
...
# Conflicts:
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/README.md
# packages/api/session-controller/README.zh.md
# packages/api/session-controller/tests/client-apply.client.spec.ts
# packages/api/session-controller/tests/fake-api.client.ts
# packages/api/session-controller/tests/manager.client.spec.ts
# packages/api/session-controller/tests/projection-store.client.spec.ts
# packages/api/session-controller/tests/queue-store.client.spec.ts
# packages/api/session-controller/tests/session-pending-submissions.client.spec.ts
# packages/client/connection/src/client/fixture.ts
# packages/client/connection/tests/fixture.client.spec.ts
# packages/core/agent-loop/README.i18n.yaml
# packages/core/agent-loop/README.md
# packages/core/agent-loop/README.zh.md
# packages/extensions/tool-cordis/src/api-catalog.ts
2026-09-14 14:12:25 +08:00
Turtle
71d50b4a84
refactor: ban ambiguous origin label
2026-09-11 17:45:28 +08:00
Dudu-0223
88c3d05fbf
fix(session): align browser fixture forks and legal log regressions
2026-09-11 15:39:20 +08:00
Dudu-0223
973bea8204
fix(session): use the selected turn end as the fork cut
2026-09-11 15:09:47 +08:00
Dudu-0223
0f8552df7f
fix(session): retain fork tail until the first inbox change
2026-09-11 14:58:46 +08:00
Dudu-0223
896a6c3e47
fix(session): stop forks at the selected turn end
2026-09-11 14:17:53 +08:00
Yichen Jiang
72e6329267
Merge branch 'worktree/jobs-api-review-3052' into worktree/jobs-api-review-3127
...
# Conflicts:
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/README.zh.md
# packages/shell/bash-sandbox/README.i18n.yaml
# packages/shell/bash-sandbox/README.zh.md
# packages/shell/pwsh-local/README.i18n.yaml
# packages/shell/pwsh-local/README.zh.md
# packages/shell/pwsh-sandbox/README.i18n.yaml
# packages/shell/pwsh-sandbox/README.zh.md
# packages/shell/shell/README.i18n.yaml
# packages/shell/shell/README.zh.md
# packages/shell/tool-bash/README.i18n.yaml
# packages/shell/tool-bash/README.zh.md
# packages/workflow/tool-workflow/README.i18n.yaml
# packages/workflow/tool-workflow/README.zh.md
2026-09-10 14:09:55 +08:00
Yichen Jiang
1bd194ac17
Merge remote-tracking branch 'origin/master' into worktree/jobs-api-review-3052
...
# Conflicts:
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# packages/api/README.i18n.yaml
# packages/api/README.zh.md
# packages/api/remotes/src/client/index.ts
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/README.zh.md
# packages/client/README.i18n.yaml
# packages/client/README.zh.md
# packages/client/ui-jobs/README.i18n.yaml
# packages/client/ui-jobs/README.md
# packages/client/ui-jobs/README.zh.md
# packages/client/ui-jobs/package.json
# packages/jobs/jobs-local/README.i18n.yaml
# packages/jobs/jobs-local/README.md
# packages/jobs/jobs-local/README.zh.md
# packages/jobs/jobs/README.i18n.yaml
# packages/jobs/jobs/README.md
# packages/jobs/jobs/README.zh.md
# packages/jobs/tool-jobs/README.i18n.yaml
# packages/jobs/tool-jobs/README.zh.md
# packages/shell/bash-local/README.i18n.yaml
# packages/shell/bash-local/README.zh.md
# packages/shell/pwsh-local/README.i18n.yaml
# packages/shell/pwsh-local/README.zh.md
# packages/shell/shell/README.i18n.yaml
# packages/shell/shell/README.zh.md
# packages/shell/tool-pwsh/README.i18n.yaml
# packages/shell/tool-pwsh/README.zh.md
2026-09-10 14:06:59 +08:00
Yichen Jiang
11d6bd05f3
feat(web): preview file and skill references in the sidebar
2026-09-10 11:31:27 +08:00
_Kerman
813ad965f9
fix(web): preserve newer projections across control baselines
2026-09-09 17:39:26 +08:00
_Kerman
9cd0c703df
fix(web): invalidate projections before opening control snapshots
2026-09-09 17:06:57 +08:00
_Kerman
f3332af2a4
fix(web): discard projection state across host generations
2026-09-09 16:28:03 +08:00
yudshj
4158a96e14
feat(web): add native file actions to artifact cards
2026-09-09 15:26:28 +08:00
_Kerman
72f2e71070
fix(web): reconcile durable inbox recovery with master
2026-09-09 15:14:08 +08:00
Yichen Jiang
ab6dacc80e
Merge branch 'worktree/jobs-api-review-3052' into worktree/jobs-api-review-3127
...
# Conflicts:
# packages/shell/pwsh-local/tests/executor.spec.ts
# packages/shell/shell/README.i18n.yaml
# packages/shell/shell/README.md
# packages/shell/shell/README.zh.md
# packages/shell/tool-bash/README.i18n.yaml
# packages/shell/tool-bash/README.md
# packages/shell/tool-bash/README.zh.md
# packages/workflow/tool-workflow/README.i18n.yaml
# packages/workflow/tool-workflow/README.md
# packages/workflow/tool-workflow/README.zh.md
2026-09-09 14:44:14 +08:00
Yichen Jiang
b211c87150
Merge remote-tracking branch 'origin/master' into worktree/jobs-api-review-3052
...
# Conflicts:
# apps/web/tests/agent-preset-selection.e2e.ts
# apps/web/tests/expected/agent-preset-selection/header.expected.md
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/module-graph.i18n.yaml
# docs/module-graph.md
# docs/module-graph.zh.md
# docs/persistence-catalog.i18n.yaml
# docs/persistence-catalog.zh.md
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/README.md
# packages/api/session-controller/README.zh.md
# packages/api/session-controller/package.json
# packages/client/ui-jobs/package.json
# packages/jobs/jobs/README.i18n.yaml
# packages/jobs/jobs/README.md
# packages/jobs/jobs/README.zh.md
# pnpm-lock.yaml
2026-09-09 14:42:11 +08:00
Tianyi Cui
0aa1ef0d1e
Merge remote-tracking branch 'origin/release/session-log-v3' into integrate/v3-master-refresh-345248
2026-09-08 21:23:29 +08:00
Tianyi Cui
657e68186a
fix(session): canonicalize V3 envelopes through adjacent migration
2026-09-08 16:56:52 +08:00
_Kerman
cb3df20cf3
docs(api): remove obsolete media path restrictions
2026-09-08 14:25:50 +08:00
_Kerman
3f1f7da7c3
Merge origin/master into fix/session-prose-local-media-display
2026-09-08 14:25:21 +08:00
Yichen Jiang
80fa0bee05
Merge branch 'worktree/process-plugin-streaming-72f9b3' into worktree/job-kill-delivery
...
# Conflicts:
# packages/shell/bash-local/README.i18n.yaml
# packages/shell/bash-local/README.md
# packages/shell/bash-local/README.zh.md
# packages/shell/bash-local/src/index.ts
# packages/shell/bash-local/tests/executor.spec.ts
# packages/shell/pwsh-local/README.i18n.yaml
# packages/shell/pwsh-local/README.md
# packages/shell/pwsh-local/README.zh.md
# packages/shell/pwsh-local/src/index.ts
# packages/shell/shell/README.i18n.yaml
# packages/shell/shell/README.md
# packages/shell/shell/README.zh.md
# snapshots/session/pwsh-tool-turn/tool-schemas.expected.json
2026-09-08 13:52:08 +08:00
Yichen Jiang
1242fdfdef
Merge remote-tracking branch 'origin/master' into worktree/process-plugin-streaming-72f9b3
...
# Conflicts:
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# docs/module-graph.i18n.yaml
# docs/module-graph.md
# docs/module-graph.zh.md
# docs/subsystems/shell.i18n.yaml
# docs/subsystems/shell.md
# docs/subsystems/shell.zh.md
# packages/api/remotes/package.json
# packages/api/remotes/src/client/index.ts
# packages/api/session-controller/src/control.ts
# packages/api/session-controller/tests/control-jobs.host.spec.ts
# packages/bundle/web-app/cordis.patch.yml
# packages/bundle/web-app/package.json
# packages/client/ui-chat/src/client/details/DetailsPanel.tsx
# packages/client/ui-chat/src/client/details/tool-node-reader.ts
# packages/client/ui-chat/tests/gate-branch-tails.client.spec.tsx
# packages/client/ui-jobs/package.json
# packages/client/ui-tool/tests/diff-card.client.spec.tsx
# packages/client/ui-tool/tests/read-card.client.spec.tsx
# packages/client/ui-tool/tests/search-card.client.spec.tsx
# packages/client/ui-tool/tests/terminal-card.client.spec.tsx
# packages/client/ui-tool/tests/web-card.client.spec.tsx
# packages/shell/bash-local/README.i18n.yaml
# packages/shell/bash-local/README.md
# packages/shell/bash-local/README.zh.md
# packages/shell/bash-local/src/index.ts
# packages/shell/bash-local/tests/executor.spec.ts
# packages/shell/pwsh-local/README.i18n.yaml
# packages/shell/pwsh-local/README.md
# packages/shell/pwsh-local/README.zh.md
# packages/shell/pwsh-local/src/index.ts
# packages/shell/shell/README.i18n.yaml
# packages/shell/shell/README.md
# packages/shell/shell/README.zh.md
# packages/shell/shell/src/types.ts
# packages/terminal/tool-terminal/tests/tools.spec.ts
# tsconfig.client.json
2026-09-08 13:34:53 +08:00
_Kerman
40c5ef4fc3
refactor(api): reuse attachment limits for file responses
2026-09-08 12:55:57 +08:00
_Kerman
b52966922a
fix(api): serve bounded files through the filesystem provider
2026-09-08 12:06:11 +08:00
Turtle
a56619d9f7
fix(session): reject empty queue edits
2026-09-08 10:48:32 +08:00
Turtle
ae19d9383b
fix(session-controller): reject empty prompts
2026-09-08 10:47:36 +08:00
_Kerman
0348599f04
Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2672
...
# Conflicts:
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# packages/acp/acp/tests/harness.ts
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/README.md
# packages/api/session-controller/README.zh.md
# packages/api/session-controller/tests/commands-queue-attachment.host.spec.ts
# packages/context/agent-instructions/tests/agent-instructions.e2e.ts
# packages/fs/tool-fs/tests/harness.ts
# packages/preset/agent-presets/tests/invariant.spec.ts
# packages/preset/agent-presets/tests/mount.spec.ts
# packages/preset/agent-presets/tests/remote.spec.ts
# packages/test-support/agent-loop-testkit/package.json
2026-09-07 20:22:24 +08:00
_Kerman
67c5136c7e
fix(api): refuse non-regular files before open and bound full streams
...
- A media-named FIFO or device node is refused before the open would
block on it (pre-open isFile check); POSIX FIFO regression test added.
- The full-body stream is bounded to the stat'ed size so concurrent
appends cannot exceed the declared Content-Length.
- Error responses carry no body for HEAD requests.
- Docs no longer overclaim the replacement race: the stat-identity
comparison narrows (does not fully close) the replacement window, and
the earlier realpath-to-stat window is acknowledged. Pairs re-recorded.
2026-09-07 18:04:07 +08:00
_Kerman
ba4a536030
fix(api): honor only bytes ranges and ignore malformed or multi-range headers
...
range-parser never validates the range unit, so /api/file now parses only
headers that start with the bytes unit: unsatisfiable ranges answer 416,
while malformed, unknown-unit, and multi-range headers are ignored for a
full 200 body per RFC 9110. The filesystem-root workspace case stays
POSIX-only in tests (a Windows drive-root spelling cannot be constructed
portably); containment already treats any separator-terminated root the
same. Docs (README pair, Agent Note pair) re-recorded.
2026-09-07 18:01:29 +08:00
_Kerman
8b8a051c7a
fix(api): address /api/file review findings
...
- HEAD never opens a file stream; GET streams are destroyed on client
abort and are never opened for already-aborted requests.
- Validation and reading bind to the same opened file: pre-open and
opened stat identities are compared, so replacement/re-linking races
are refused (dev/ino check, read through the FileHandle).
- Workspace containment compares path components, so a filesystem-root
workspace serves files instead of doubling the separator.
- Multi-range headers are ignored for a full 200 body instead of a
mislabeled single-segment 206; single-range behavior unchanged.
- Tests now cover the reviewed edges (empty path, multi-range, root
workspace, HEAD+range, mid/early abort, unreadable file, explicit
unregister-on-dispose, private outside-target directories); module
coverage is back at 100/100/100/100.
- Agent Note bilingual facts and the ui-primitives/session-controller
README pairs are synced to the shipped behavior (pairs re-recorded).
2026-09-07 17:27:57 +08:00
Dudu-0223
96ead6091d
feat(subagent): align human inbox controls ( #3223 )
...
* feat(subagent): align continuable human inbox controls
* fix: repair rebase documentation and close test persistence
* docs: refresh rebased module dependency graph
2026-09-07 07:39:39 +00:00