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
imccyu
e62587c163
feat(client): open subagent chats in sidebar
2026-09-17 18:03:57 +08:00
imccyu
6d3b5d4526
test(client): migrate Session reference coverage
2026-09-17 05:28:19 +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
07akioni
5c369a0a1f
fix: carry session writer failures by typed remote code
2026-09-16 15:38:34 +08:00
07akioni
eb57fdb9c6
fix: load optional persistence errors only with its service
2026-09-16 15:19:09 +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
cf4ba60b47
Merge remote-tracking branch 'origin/master' into xtr/durable-inbox-web-recovery
...
# Conflicts:
# docs/config-catalog.i18n.yaml
# docs/config-catalog.md
# docs/config-catalog.zh.md
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
2026-09-14 15:01:03 +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
_Kerman
0a382becb3
Merge latest origin/master into xtr/agent-setup-hook
2026-09-14 13:57:18 +08:00
imccyu
e179c4ae14
test(client): preserve migrated fixture semantics
2026-09-13 22:51:53 +08:00
imccyu
9b091919e2
test(session-controller): migrate remaining Remote fixtures
2026-09-13 21:30:02 +08:00
Tianyi Cui
5f773a0ded
feat(workspace): restore archived sessions from a settings page
...
Sessions could be archived from the sidebar row menu but never restored:
the registry-global archive set was a one-way display filter with no
inverse RPC and no surface listing its members.
WorkspaceRegistry.unarchiveSession drops one id from archivedSessionIds in
one durable write on the same operation chain as archive, with no
session-existence probe because a removal cannot introduce an unknown
referent. The Workspace controller exposes it as workspace.unarchiveSession
returning the complete archive set, which the existing archived follow
increment already propagates, so no frame type and no persisted field
changes.
The new client package dsh-client-ui-settings-unarchive-sessions owns the
restore surface: one localized settings.section page listing the archive
set joined with loaded session summaries, newest archive first, searchable
by title or workspace, with one Unarchive action per row.
2026-09-13 16:45:45 +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
_Kerman
5a022a0db1
Merge latest origin/master into xtr/agent-setup-hook
2026-09-10 17:04:05 +08:00
_Kerman
fd7ee32315
Merge origin/master into xtr/agent-setup-hook
2026-09-10 17:02:57 +08:00
imccyu
d58c5455dd
test(api): migrate Session and Workspace specs to assembled clients
2026-09-10 16:34:30 +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
aeb13413c7
test(agent): complete awaited creation migration
2026-09-09 17:14:53 +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
_Kerman
9b7a8ccc9f
feat(agent): await initialization through agent/created
2026-09-09 16:20:00 +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
_Kerman
cb999713d1
Merge latest master into xtr/durable-inbox-web-recovery
2026-09-09 14:31:52 +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
e11b2a5558
merge: refresh session-log-v3 from master 345248f470
2026-09-08 21:15:06 +08:00
_Kerman
3e0e419bd2
Merge remote-tracking branch 'origin/master' into xtr/explicit-agent-context
...
# Conflicts:
# apps/web/tests/queue-actions.e2e.ts
# docs/subsystems/tools.i18n.yaml
# docs/subsystems/tools.md
# docs/subsystems/tools.zh.md
# packages/extensions/tool-cordis/src/api-catalog.ts
# packages/visualizer/tool-visualizer/README.i18n.yaml
# packages/visualizer/tool-visualizer/README.md
# packages/visualizer/tool-visualizer/README.zh.md
# packages/visualizer/tool-visualizer/src/index.ts
# packages/visualizer/tool-visualizer/tests/loader-composition.spec.ts
# packages/visualizer/tool-visualizer/tests/model-surface.spec.ts
2026-09-08 19:54:59 +08:00
_Kerman
314ccf08af
Merge remote-tracking branch 'origin/master' into xtr/explicit-agent-context
...
# Conflicts:
# packages/bundle/headless/tests/headless.spec.ts
# packages/core/agent-loop/src/agent.ts
# packages/subagent/subagent/tests/continuation.spec.ts
2026-09-08 17:12:51 +08:00
Tianyi Cui
657e68186a
fix(session): canonicalize V3 envelopes through adjacent migration
2026-09-08 16:56:52 +08:00
_Kerman
3f1f7da7c3
Merge origin/master into fix/session-prose-local-media-display
2026-09-08 14:25:21 +08:00
Tianyi Cui
96fa1dfac8
Merge pinned master 84bde6c7 into V3 readiness repair
2026-09-08 13:16:35 +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
Tianyi Cui
5b039c1796
Merge master 822041865d into Session V3 release
2026-09-08 00:17:14 +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