Commit Graph
18711 Commits
Author SHA1 Message Date
Dudu-0223 e44efedeb0 fix(session): isolate corrupt compressed headers during discovery 2026-09-20 15:44:52 +08:00
mektpoy 8b8f10a8c6 docs(ui-sidebar): scope the Windows caption bubble claim
The previous sentence claimed every caption icon bubble opens below the caption, but only the sidebar toggle and New Session derive side=bottom; an occupying sidebar.toggle.badge keeps the default side.
2026-09-20 15:39:48 +08:00
winewill 466aa2232b Merge remote-tracking branch 'origin/master' into build/windows-cache-concurrency 2026-09-20 15:37:42 +08:00
winewill d4c5a1723f test(desktop): isolate update UI in directory-picker preload integration 2026-09-20 15:36:49 +08:00
winewill ecb00a6cd0 Merge remote-tracking branch 'origin/master' into build/windows-cache-concurrency 2026-09-20 15:36:17 +08:00
lsdsjy 1b83e0ff13 Merge pull request #4665 from deepseek-harness/fix/developer-tools-preferences
fix(web): preserve plugin tabs and enable developer tools by default
2026-09-20 15:34:51 +08:00
winewill c193e0dfee Merge pull request #4683 from deepseek-harness/fix/macos-menu-product-name
fix(desktop): localize macOS application menu names
2026-09-20 15:34:32 +08:00
winewill db7ee5f487 build(desktop): parallelize Windows signature cache hits 2026-09-20 15:32:37 +08:00
winewill bea5bde6cc docs(desktop): clarify localized native menu behavior 2026-09-20 15:27:06 +08:00
winewill 015e60ff40 test(desktop): satisfy strict lint in mandatory update regressions 2026-09-20 15:23:36 +08:00
winewill 69ac149090 fix(desktop): isolate mandatory update actions and handle main-window lifecycle 2026-09-20 15:20:04 +08:00
fz 35fe8e0966 Merge pull request #4677 from deepseek-harness/fix/4664-atomic-native-addon-extraction
fix(pkg): make SEA native addon extraction atomic
2026-09-20 15:18:26 +08:00
Kexin Liu 883311e556 Merge pull request #4349 from deepseek-harness/refactor/client-session-presentation
fix(web): prevent session blank rollback after acceptance
2026-09-20 15:16:49 +08:00
Dudu-0223 21ec132c0e test(preview): expect versioned unknown child catalog entries 2026-09-20 15:15:43 +08:00
Dudu-0223 a978ad1994 fix(subagent): version unknown catalog payloads locally 2026-09-20 15:09:37 +08:00
winewill fd75c47ae9 fix(desktop): localize macOS application menu names 2026-09-20 15:08:57 +08:00
winewill 12f0608cad Merge master into fix/windows-mandatory-update-overlay 2026-09-20 15:07:10 +08:00
fz 3085139699 test(runtime): align fixtures with current type-safety gates 2026-09-20 15:02:02 +08:00
liukx0205 5e13010b90 test(web): document suite-level browser setup and bound the reconnect polls 2026-09-20 14:54:27 +08:00
liukx0205 b882e7fc20 docs(session): record the client-local engagement memory limits 2026-09-20 14:54:27 +08:00
liukx0205 d8480db9f0 refactor(web): read engagement retention from one identity set
Address review: retention now has a single definition (retainedIds) shared by
the list-refresh sweep and the single-id prune, an already-engaged identity
skips the redundant row mutation, and the ledger documents why Host-asserted
running is recorded before any holder exists while the client-local acceptance
callback requires one.
2026-09-20 14:54:20 +08:00
fz f25957d442 Merge remote-tracking branch 'origin/master' into feat/workspace-dependencies-package 2026-09-20 14:50:54 +08:00
fz 065def9d41 docs: use compliant issue references in native extraction note 2026-09-20 14:50:48 +08:00
Dudu-0223 f984683956 fix(subagent): store unknown mode in the existing catalog event 2026-09-20 14:46:54 +08:00
Tianyi Cui 5a53758b03 test: preserve plugin-manager integration after stack rebase 2026-09-20 14:45:26 +08:00
lsdsjy 4f0ee6b105 fix(settings): defer developer features until host preference resolves 2026-09-20 14:45:24 +08:00
liukx0205 4bff618b17 docs(web): note the metadata hint applied over the engagement rule 2026-09-20 14:44:25 +08:00
liukx0205 ae58d210eb docs(web): scope the second projection store to a discarded store 2026-09-20 14:44:01 +08:00
liukx0205 7aa2d4b5cc docs(web): note the retained subagent catalog on session removal 2026-09-20 14:44:01 +08:00
liukx0205 e3f0d3fb6e fix(web): preserve session engagement across blank list refreshes 2026-09-20 14:43:46 +08:00
Tianyi Cui ddf11a4f0e fix: name Anthropic Messages in DeepSeek endpoint guidance 2026-09-20 14:37:58 +08:00
Tianyi Cui 0959c5be45 Align provider guides with Messages-only configuration 2026-09-20 14:37:58 +08:00
Tianyi Cui 9ab5c8e672 Fix Messages real-API package resolution and usage assertions 2026-09-20 14:37:58 +08:00
Tianyi Cui 385a540d7e Fix Messages-only consumer validation and document recovery 2026-09-20 14:37:58 +08:00
Tianyi Cui 2b29f31dc6 test(llm): assert native Messages file metadata 2026-09-20 14:37:19 +08:00
Tianyi Cui 99e22ebbeb refactor(llm): make the official DeepSeek adapter Messages-only 2026-09-20 14:37:19 +08:00
Dudu-0223 6f3140d7cf Merge origin/master into fix/lazy-subagent-migration 2026-09-20 14:37:01 +08:00
fz 5992977f2e fix(pkg): make SEA native addon extraction atomic
@yao-pkg/pkg's SEA bootstrap extracts native addons from the VFS into a
per-user cache ($PKG_NATIVE_CACHE_PATH/pkg/<sha256>/) with plain
writeFileSync, so concurrent first starts of the same executable truncate
files another process has already mapped: SIGBUS on Linux, "Library not
loaded" for sharp's libvips on macOS. Extend the existing pnpm patch so the
three write sites go through a same-directory temporary file and
renameSync; a cache path is then either absent or complete, every process
finishes its own copy pass before it loads, and identical content makes
concurrent renames harmless without a lock. Cache location, hash keying,
and per-file comparison are unchanged. The single-exe Agent Note records
the decision and the measured before/after runs.

Closes #4664
2026-09-20 14:36:27 +08:00
Dudu-0223 17a52a8fe3 fix(subagent): retain unreadable children in migrated catalogs 2026-09-20 14:30:02 +08:00
Turtle 8cf9c0eded fix(bash): allow blank justification without escalation (#4662)
* fix(bash): allow blank justification without escalation

* fix(bash): permit empty reasons when repeating the current mode
2026-09-20 14:28:57 +08:00
lsdsjy c7c900a912 fix(settings): enable developer tools by default 2026-09-20 14:15:59 +08:00
lsdsjy a026ab1397 fix(onboarding): scope developer tools to trajectory tab visibility 2026-09-20 14:11:17 +08:00
imccyu bc2c9bd11a Merge pull request #4427 from deepseek-harness/session-actions-slot
feat(client): add extensible session menu actions
2026-09-20 13:56:15 +08:00
imccyu ee61acfe7e docs(client): describe session row entries as plain menuitem buttons
The Client Slot catalog serves `cordis-client-runner` closures, which cannot
`require` anything, so the `sidebar.workspaces.session.menu.item` example
now renders a `role="menuitem"` `<button>` and the doc names
`MenuItemButton` as what the shipped rows use rather than what an entry must
render; the README separates the Module Loader lane, which does reach the
primitive through `require`, from the runner lane. The Agent Note and the
contract module doc say the entries read the pin and archive sets through
hooks their own faces inject, that the owner draws no separator, and that
the strip keeps clicks from opening the row. `RowActionToast` gets its
contract sentence and the rename-assembly spec points at the e2e that
exists.
2026-09-20 13:33:58 +08:00
imccyu c4949c4d0c fix(client): isolate row action clicks and collapse submenus from the menu list
The Session row's action strip stops click propagation itself, so a
`sidebar.workspaces.session.row.action` entry that renders a plain button no
longer opens the row as a side effect; the shipped buttons drop their own
handling. `Menu` decides submenu exclusivity on the list's own bubbles, by
DOM: reaching a top-level row that is not a submenu parent, by pointer or by
focus, closes the open card for data rows and component rows alike, which
the per-row handlers only did for data rows. A group start on the list's
first row draws no hairline.

The first live-fixture e2e case registers the scaffold's cleanup right after
launch, as the file's other cases do. The three pin scenarios the browser
spec lost when the order write moved into `UiWorkspace.pinSession` — newer
saved orders during a pending pin, a Workspace disappearing during one, and
members whose summaries are temporarily missing — return as service cases.
2026-09-20 13:33:55 +08:00
_Kerman dfcef60d06 Merge pull request #4513 from deepseek-harness/xtr/fix-snapshot-source-ranges
fix(session-snapshot): expand source references before writing fixtures
2026-09-20 13:24:41 +08:00
_Kerman 1491975dba Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-4513
Re-record the session-snapshot README bilingual pairing sidecar, and admit
the source-reference regression fixture with the v4 producer-owned `user`
message source kind.
2026-09-20 13:09:14 +08:00
imccyu 3821dc58e3 Merge pull request #4639 from deepseek-harness/fix-migration-v4
fix(session): serve cold forked sessions from the projection cache
2026-09-20 13:04:11 +08:00
imccyu 7d1afeccb0 test(web): register the live fixture rows in the session menu list
The fixture plugin's rows join `sidebar.workspaces.session.menu.item` after
the shipped rows, the first one opening the plugin group with
`separatorBefore`, and dismiss the menu through `useMenuOpenState`.
2026-09-20 12:40:35 +08:00
imccyu 4517603c28 fix(client): rename the row rename request type off the Host name
The typert Cordis catalog drops any exported name that two declarations
share, so ui-workspace's `SessionRenameRequest` made the generator remove
Session Controller's request type from the model-facing API catalog. The
row-side pending rename is `SessionRenameTarget`: the Session and the title
the dialog seeds from.
2026-09-20 12:40:11 +08:00