Commit Graph
222 Commits
Author SHA1 Message Date
yudshj 4b11531c86 fix(sidebar): 修正柔光反馈、停靠展开和铺满焦点交接并精简树接口
连续揭示同一分栏时保留新一次柔光;精简文件树接口、测试与文档。
2026-10-29 15:32:17 +08:00
yudshj 2e6370fe1d feat(sidebar): 按分栏保留文件树并由挂载插件处理打开 2026-10-29 15:32:16 +08:00
yudshj 004d46fed6 test(artifact): drop new unknown cast in text preview spec 2026-10-29 14:58:10 +08:00
yudshj 1598d8113b fix(artifact): keep text preview reading position across refresh
Restore the larger of the current and remembered offsets, reading further
pages until the remembered offset is reachable. Scroll events that only pin
the body to the end of shorter content no longer overwrite the remembered
offset, and the body disables scroll anchoring so the offset stays a pixel
distance.

Renderers declare sourceLines; a line navigation in a renderer without it,
such as Markdown, is answered without moving instead of staying pending.

Refs #7241
2026-10-29 14:40:14 +08:00
zhc 34411fd570 Merge master into feat/extensible-context-menus 2026-10-28 20:58:53 +08:00
_Kerman 2e5ac1db66 test(client): wait longer for the lazy frontmatter field list 2026-10-28 20:06:32 +08:00
zhc a5f1d4a16a refactor(client): bind context menus at their Slot consumers
Merge master and preserve pinned-row visibility. Remove redundant Chat and tool-tree menu forwarding, unify trigger names, and bind file targets at the consuming Slot. Address CI static and coverage gaps without changing upstream scroll assertions.
2026-10-28 19:15:45 +08:00
zhc 49e9d42a00 refactor(context-menu): inject shared trigger bindings through slots 2026-10-28 17:08:06 +08:00
zhc c89be0a88a refactor: extract context menu utilities and merge master 2026-10-28 14:51:01 +08:00
imccyu 00d541438b release(dsh): 0.2.2-alpha.2 2026-10-28 02:03:15 +08:00
imccyu 69c389ae11 release(dsh): 0.2.2-alpha.1 2026-10-28 00:00:58 +08:00
imccyu 3ddab34194 Revert "perf(web): 压缩动态插件资源以加快冷启动" 2026-10-27 23:25:57 +08:00
liukx0205 4f851948a5 perf(web): minify dynamic client bundles 2026-10-27 15:42:21 +08:00
zhc 67ddc29472 Merge master and align context menu packages with rc.4 2026-10-27 11:22:41 +08:00
imccyu 3014b0af0f Merge master into DSH 0.2.1-rc.4 synchronization branch 2026-10-26 01:29:12 +08:00
imccyu 341beb33c0 release(dsh): 0.2.1-rc.4 2026-10-26 00:57:37 +08:00
zhc 6f8c0a55d1 Merge master release and align new menu package versions 2026-10-23 14:10:30 +08:00
zhc 174962f8ba Merge master and reconcile menu locale coverage 2026-10-23 12:05:49 +08:00
imccyu 14f0b2aafe Merge master into DSH 0.2.1-rc.3 synchronization branch 2026-10-23 11:56:34 +08:00
imccyu d02ea370ee release(dsh): 0.2.1-rc.3 2026-10-23 01:11:35 +08:00
07akioni 1552f524f7 fix(i18n): address translation, installer and coverage review findings 2026-10-22 22:14:47 +08:00
07akioni 84edeadc2b feat(i18n): add Spanish French German Russian and Portuguese 2026-10-22 19:53:52 +08:00
zhc d3116fd9d3 fix(context-menu): refine feedback, timing and extension lifetimes 2026-10-22 15:35:52 +08:00
zhc 411f157983 feat(context-menu): add extensible resource actions and shared popup lifecycle 2026-10-22 15:35:52 +08:00
yudshj 0b5ff6ff02 refactor(client): address zoom controls review
Derive the displayed zoom during render instead of syncing the prop through
an effect, reference DOCUMENT_ZOOM directly in both packages, cover the
unfitted non-preset state, and list ZoomControls among localized primitives.
2026-10-22 12:46:05 +08:00
yudshj f70a511cca refactor(ui-primitives): share document zoom controls
Move the floating zoom controls from the document preview into
ui-primitives with the shared scale limits, so every document renderer
offers the same controls. Document preview renders them through its zoom
viewport with fit width as the optional fitting action.
2026-10-22 12:46:05 +08:00
zhc a0b45086da Merge master into fix/image-drag-plugin-ownership
保留文本交互和文件拖放注入,合并依赖及生成目录。
2026-10-21 21:22:17 +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
07akioni ed783066e6 fix(i18n): complete Japanese plugin metadata and guard locale coverage 2026-10-21 16:14:12 +08:00
07akioni 6238020202 fix(locale): type additional dictionaries and complete Japanese registration 2026-10-21 13:42:49 +08:00
07akioni 3f9f36e92d feat(locale): add Japanese client and desktop translations 2026-10-21 11:42:12 +08:00
zhc 7c27a4aaf9 fix(file-drag): 补齐准备取消与文件名保真处理 2026-10-20 18:25:11 +08:00
zhc 9676ff7724 fix(file-drag): generalize transfers and address lifecycle review 2026-10-20 17:45:09 +08:00
zhc 31bd06d503 feat(image): restore pan and sharing with plugin-owned transfers 2026-10-20 16:46:23 +08:00
Stevring 11e4b3f52f test(client): fix touch input and hover coverage checks 2026-10-20 14:34:03 +08:00
Stevring 94ffdd2377 fix(client): align touch tooltips and hover affordances 2026-10-20 12:50:31 +08:00
imccyu a3debca9ab Revert "feat(gui): 支持图片拖动平移与原图拖放分享" 2026-10-19 18:04:17 +08:00
zhc f0ed41c8dd fix: address image drag lifecycle and coverage review 2026-10-19 17:43:38 +08:00
zhc 54eed06c6f feat(gui): support image panning and original-file drag sharing 2026-10-19 17:43:38 +08:00
Turtle d2552daf45 Merge pull request #6152 from deepseek-harness/turtle/code-link-highlight-239ff7746b50
feat(client): fade the navigated line's highlight in document previews
2026-10-18 15:19:32 +08:00
Tianyi Cui ef055d25d0 test(preview): await renderer version effects 2026-10-17 22:09:37 +08:00
imccyu d1b9c04067 release(dsh): 0.2.1-rc.2 2026-10-17 15:10:31 +08:00
imccyu c6e89e6755 release(dsh): 0.2.1-rc.1 2026-10-16 21:39:18 +08:00
imccyu 0a49d91bb2 release: setup next release version for [email protected] 2026-10-16 16:17:09 +08:00
imccyu f2235d6c02 release(dsh): 0.2.1-alpha.4 2026-10-15 20:00:58 +08:00
Yichen Jiang 36acfb1e88 release(dsh): 0.2.1-alpha.3 2026-10-14 19:38:37 +08:00
Turtle 7ab2ddd7a9 fix(client): drop the line mark when its preview reflows
A resized scrollport or a wrap toggle can move the marked line, so the band is
removed instead of marking another line. Document the exact timing and why
reduced motion keeps the opacity fade.
2026-10-13 22:11:53 +08:00
Turtle dbf7d54a18 feat(client): fade a navigated source line's highlight in the document preview
Opening a file link at a line now marks the landed line in both the code and
plain-text renderers with a band that holds briefly and fades out over two
seconds. The band lives in the scrollport, so syntax highlighting replacing
the code lines keeps it. The plain renderer's persistent target background is
removed.
2026-10-13 21:47:24 +08:00
imccyu e4410b2764 perf(client): read each tsdown preset's own package manifest
The client tsdown presets found a package's own manifest by name: a glob of
every packages/*/*/package.json, parsed until the name matched. tsdown's
native config loader imports each package config without module cache, so
the module-level cache never hit and all 82 configs repeated the glob
(40-125 ms each) synchronously on tsdown's main thread, where it delayed
every other package build. It was 34.5% of the client pass's main thread.

- clientBundle, staticLinked and clientLibrary take the package directory
  (import.meta.dirname at every call site) and read <dir>/package.json
  once; the package name, loader id and externals come from that manifest.
- A missing, unreadable or nameless manifest throws an actionable error.
- The glob, the name search and the module-level caches are removed.

tsdown client pass 12.78 s -> 8.73 s (median of 3 interleaved runs each,
-31.7%); all 11,566 lib outputs byte-identical; all 82 configs resolve the
same externals and banners.

Refs #5852
2026-10-11 18:19:23 +08:00
imccyu 1c6078dca6 perf(build): declare React type packages only at the workspace root
TypeScript builds a synthetic signature for every JSX intrinsic element and
computes a module specifier for @types/react (index and jsx-runtime) per
importing file. computeModuleSpecifiers visits every symlinked location of
that file and scans all 491 tsconfig paths for each; pnpm gave 65 packages
their own node_modules/@types/react link. Client test-aggregate Check
followed 26.9 + 0.494 * N seconds for N locations.

- Remove @types/react and @types/react-dom from all 67 workspace manifests
  and declare them once in the root devDependencies; packages keep declaring
  the react and react-dom they import (ui-slots gains react).
- verify-package-dependencies rejects either package in any workspace
  manifest and requires the root declaration, so a new package cannot add
  the link back.
- packages/client/AGENTS.md states the rule.

Client aggregate Check 59.1 s -> 26.5 s; the 76 client-only package
projects 54-57 s -> ~44 s wall. File set (2,613) and diagnostics unchanged.

Refs #5852
2026-10-11 18:19:21 +08:00