Commit Graph
5729 Commits
Author SHA1 Message Date
zhc 8eef248d1c Merge master into fix/image-drag-plugin-ownership 2026-10-22 01:10:50 +08:00
Magolor 4527424c51 Merge master into model-order and resolve documentation pairing 2026-10-22 00:19:49 +08:00
zhc 98609cd7d7 Merge master into fix/image-drag-plugin-ownership 2026-10-22 00:18:25 +08:00
Shigma 230ac40b9f Merge pull request #6192 from deepseek-harness/refactor/cordis-config-access
refactor(cordis): unify configuration access and consumers
2026-10-22 00:11:57 +08:00
Yichen Jiang 8a6f773867 Merge pull request #6831 from deepseek-harness/worktree/composer-image-preupload
feat(web): upload composer images when they are added
2026-10-22 00:06:37 +08:00
zhc ea7c67887b Merge master into fix/image-drag-plugin-ownership 2026-10-21 23:52:53 +08:00
Kaige-Gaoandimccyu 0778dec09f feat(ui-user-questions): show answered batches as shared message bubbles (#6362)
* feat(ui-user-questions): show answered batches as shared message bubbles

* refactor(ui-primitives): share clipboard confirmation lifecycle

* test(web): include answered question bubbles in steering goldens

* fix(ui-user-questions): keep answered turns collapsible

* test(ui-user-questions): drop the removed compactAnswer expectation

master removed ChatTurnProcessPresentation.compactAnswer in aaeb344
("fix(chat): keep the reply gap on a folded final answer"); reply spacing
now comes from the adjacent-row rules. The rebase left this assertion
behind, so the parametrized replay/live/prepend cases failed on every CI
coverage lane even though typecheck stayed green: toMatchObject accepts
the stale property.

* fix(ui-user-questions): address answer bubble review feedback

* test(web): observe file card styles after both cards mount

---------

Co-authored-by: imccyu <[email protected]>
2026-10-21 23:44:02 +08:00
Shigma 719870a489 Merge remote-tracking branch 'origin/master' into refactor/cordis-config-access
# Conflicts:
#	docs/event-producer-consumer.md
#	docs/event-producer-consumer.zh.md
#	packages/client/ui-chat/tests/config.host.spec.ts
2026-10-21 23:30:16 +08:00
Yichen Jiang dd568f76de Merge remote-tracking branch 'origin/master' into worktree/composer-image-preupload
# Conflicts:
#	packages/test-support/client-runtime/README.i18n.yaml
2026-10-21 23:17:57 +08:00
zhc 8e7bce82fb Merge master into fix/image-drag-plugin-ownership 2026-10-21 22:53:25 +08:00
zhc d1ad034443 fix(ui-primitives): dispose copy feedback on unmount 2026-10-21 22:03:53 +08:00
Magolor ec387796af fix(settings): address model reorder review findings 2026-10-21 21:57:08 +08:00
zhc 4e85a34e45 fix(file-drag): complete Japanese locale registration and metadata 2026-10-21 21:41:16 +08:00
_Kerman 1acbf46d53 fix(ui-workspace): preserve explicit navigation after startup failure 2026-10-21 21:36:49 +08:00
zhc a0b45086da Merge master into fix/image-drag-plugin-ownership
保留文本交互和文件拖放注入,合并依赖及生成目录。
2026-10-21 21:22:17 +08:00
Magolor 5d3ea87d28 refactor(web): share workspace drag behavior with model lists 2026-10-21 20:45:12 +08:00
Magolor dae4bfa413 feat(settings): use a three-line model reorder handle 2026-10-21 20:11:39 +08:00
Turtle e19de3b6e5 Merge remote-tracking branch 'origin/master' into turtle/focus-click-rename-9a2d9fb21ffb 2026-10-21 19:20:54 +08:00
Magolor c10533a6ea feat(settings): support reordering provider models 2026-10-21 18:49:34 +08:00
imccyu ad340232fa Merge pull request #6792 from deepseek-harness/when-access
feat(remote-access): 插件注册跟随访问状态(whenAccess),index 按 Peer 注入访问快照
2026-10-21 18:42:23 +08:00
Yudong Han d70d52ceb2 Merge pull request #5609 from deepseek-harness/fix/question-composer-compact-details
fix(ui-user-questions): keep long questions answerable
2026-10-21 18:40:46 +08:00
Wenlu Wang 58b3dc70e8 Merge pull request #6820 from deepseek-harness/fix/6043-middle-click-close-tabs
feat(client): 支持右侧标签页中键关闭
2026-10-21 18:34:49 +08:00
imccyu 31ebfa7aa9 fix(settings-account): 撤权时丢弃迟到的帧并清空登录状态 2026-10-21 18:16:28 +08:00
yudshj 0231bbccb8 Merge remote-tracking branch 'origin/master' into pr-5609-merge 2026-10-21 18:12:58 +08:00
kingwl 3d746bc794 fix(client): preserve tab drags during chorded middle clicks 2026-10-21 18:09:29 +08:00
kingwl 9c5958b07b fix(client): close sidebar tabs with middle click
Refs #6043
2026-10-21 18:09:29 +08:00
_Kerman d98025a089 Merge origin/master into xtr/tool-executor-plugins 2026-10-21 18:01:55 +08:00
mektpoy a07e889dc1 test(ui-settings-account): share the access guard helpers in the revocation spec
Both revocation cases restated the same grant and revoke helpers; one module-level pair keeps the two
cases reading the same install and disposal order.
2026-10-21 17:57:53 +08:00
imccyu 7f7e1efdff fix(settings-account): 撤权时失效在途账号读取并清空账号快照 2026-10-21 17:57:52 +08:00
imccyu 0c619816c3 docs(plugin-manager): pluginNavigation 写明为可选读取的服务 2026-10-21 17:57:52 +08:00
imccyu d5d43d931d fix(remote-access): 按评审修正访问门控边界,插件导航改为可选依赖
- ui-entry-customization、voice-input 不再把 pluginNavigation 当必需服务:服务不在时隐藏「浏览插件」与「打开 / 查看详情」按钮,插件照常启动
- plugin-manager 每次授权时刷新已加载的列表
- settings-account 账号设置分区与 sign-in 一并按 account/watch 门控,revision 恢复 master 原样
- schedule 会话头部提醒另按会话 useAccess('schedule/list') 渲染
- 导出 staticAccessPlugin;补 whenAccess 归属、撤权与读者页启动测试
- 同步 README、web-server 子系统文档、webserver 包描述与 Agent Note
2026-10-21 17:57:52 +08:00
imccyu 09899f3a0f feat(remote-access): 插件注册跟随访问状态(whenAccess),index 按 Peer 注入访问快照
- remote-access 新增 whenAccess / whenResourceAccess,ui-session、ui-workspace 各自提供 whenAccess
- schedule、plugin-manager、settings-general、settings-account、directory-picker-native 的入口包进 global whenAccess;消息反馈按钮按会话 useAccess 渲染
- webserver/index-inject 带 Peer,renderIndex / collectIndexInjections 需要 Peer,remote-access 注入 snapshotFor(peer.principal)
- client-test-runtime 新增 StaticRemoteAccess、staticAccessPlugin 与 TestClientOptions.access
- implemented Agent Note 2026-10-21-when-access 与升级指南 webserver-index-peer

Refs #2940
2026-10-21 17:57:51 +08:00
Yichen Jiang 8246e568e7 Merge remote-tracking branch 'origin/master' into worktree/composer-image-preupload 2026-10-21 17:57:39 +08:00
Yichen Jiang 85181cad37 fix(web): show image upload failures in a tooltip
A refused image thumbnail named its reason only through a native title,
which browsers show late or not at all, so hovering it showed nothing.
The refused and the failed image thumbnails now use the shared tooltip:
the Host's refusal opens on hover or keyboard focus and a tap or click
pins it, and the retry hint of a failed upload opens on hover or focus.
2026-10-21 17:25:57 +08:00
07akioni 11295990b5 fix(i18n): cover nested metadata and repair locale CI regressions 2026-10-21 17:00:42 +08:00
Yichen Jiang b22cf68e50 fix(web): explain refused image uploads and tighten image staging
Address the review of this pull request:
- A failed image upload keeps the Host's attachment refusal reason. The
  thumbnail of a refused image names the reason instead of offering a
  retry that cannot succeed, and Enter while uploads hold the send names
  the first failure; a transport failure still offers retry, and an
  image without a file name uses the pending-image label.
- An image upload stops reading at the smaller of the per-image and
  per-message byte limits.
- A carried image draft moving to a Session that sends images inline
  drops its upload instead of staging it again.
- The image upload ready state no longer carries an unread image ref.
- Docs describe stored-image admission and the command image path, and
  the attachment rail test builds typed props instead of casting through
  unknown.
2026-10-21 16:48:01 +08:00
yudshj d12498798a fix(conversation): add missing Japanese quote removal label
The Japanese dictionary landed without the quote removal copy its English and Chinese dictionaries already carry, so the conversation dictionaries do not typecheck against the current master.
2026-10-21 16:26:54 +08:00
yudshj f9816f62eb Merge origin/master into fix/question-composer-compact-details
Re-record the merged Answering section's bilingual pairing hashes and add the new Expand/Collapse copy to the Japanese dictionary.
2026-10-21 16:26:39 +08:00
yudshj fb290b388d fix(ui-user-questions): clip dropped lines from hit testing
A collapsed question or description keeps its full line budget and only
masked its dropped line, so that transparent line still took clicks: it
covered the first line of the question detail and the top edge of the
custom answer row. clip-path now removes the line from hit testing as
well as from view, and Web e2e hit tests pin both targets.

Expansions also record the question they belong to and apply only while
that question is shown, so a position change from another surface of the
same Session no longer carries them to a different question. `.title`
returns to its base margin; `.questionTitle` owns the flex sizing.
2026-10-21 16:20:04 +08:00
yudshj f8a094e465 fix(ui-user-questions): label every copy toggle Expand or Collapse
Option names made the toggle tooltips as long and unpredictable as the
option labels themselves. Every question and description toggle now uses
the same Expand and Collapse copy, and the question toggle, like the
description toggles, is described by the text it controls.
2026-10-21 16:20:04 +08:00
yudshj 012bfe03e2 style(ui-user-questions): expand long copy with chevron icon buttons
The expand and collapse controls reuse the composer's 24px icon button
with the existing downward and upward chevron icons instead of text. Each
carries a localized accessible name, which a portaled Tooltip shows on
hover. The fade at the end of clipped copy narrows to the 24px button.
2026-10-21 16:20:03 +08:00
yudshj 82b43da3dc revert(ui-primitives): drop HoverCard callout and click pinning
The question composer expands long copy in place, so no caller uses the
callout variant, openOnClick pinning, describeAnchor, or the
preview-to-anchor pointer handling this pull request added. HoverCard,
its stylesheet, tests, and README return to their merge-base state.
2026-10-21 16:20:03 +08:00
yudshj 45fd961413 refactor(ui-user-questions): expand long copy in place
A question shows in full up to three rendered lines and an option
description up to two. Longer copy keeps one line fewer, fades at the end
of that line, and offers a "More" text button that expands it in place;
expanded copy offers "Show less" on its own line.

CSS scroll timelines decide which copy overflows, so the composer no
longer measures layout in an effect. Each box keeps its full line budget
plus a 2px glyph allowance, and a negative margin returns the dropped
line, so the overflow reading never depends on the collapsed layout.
Navigation resets scroll and expansions from the navigation handler.
2026-10-21 16:20:03 +08:00
yudshj baa5cb2714 fix(client): retain hover previews when returning to anchors 2026-10-21 16:20:03 +08:00
yudshj 2e420e6fad test(client): verify responsive question disclosures after rebase 2026-10-21 16:20:03 +08:00
yudshj 2b6360c1d9 refactor(ui-user-questions): let CSS wrap option descriptions 2026-10-21 16:20:02 +08:00
yudshj f3bb36263d fix(client): complete hover-card coverage and steering golden 2026-10-21 16:20:02 +08:00
yudshj 50a9e31c2c fix(client): preserve question focus and dismiss hover cards 2026-10-21 16:20:02 +08:00
yudshj fbc2550f52 fix(ui-user-questions): preview long questions in three lines 2026-10-21 16:20:02 +08:00
yudshj 9d44ecefb7 style(ui-user-questions): fade truncated option details 2026-10-21 16:20:02 +08:00