Commit Graph
24206 Commits
Author SHA1 Message Date
creatixchu 886df319bc Merge origin/master into feat/cua-bundle-id-consent 2026-10-26 12:31:36 +08:00
imccyu 762418208a Merge pull request #7097 from deepseek-harness/worktree-ciapprove
feat(ci): run the merge checks from deepseek-harness-check
2026-10-26 12:16:11 +08:00
_Kerman e3805406c4 Merge pull request #6763 from deepseek-harness/xtr/ptc-vm-script
feat(ptc-runtime-node): add VM Script execution with optional state retention
2026-10-26 11:52:18 +08:00
Turtle da3055de3e Merge pull request #7048 from deepseek-harness/turtle/plugin-detail-pages-5c09dd3d0a33
docs(experimental): move plugin detail text into descriptions
2026-10-26 11:39:55 +08:00
winewill 7484f5502a Merge pull request #6584 from deepseek-harness/feat/desktop-operation-diagnostics
feat(desktop): 启动故障诊断、报告获取与插件操作记录
2026-10-26 11:37:16 +08:00
_Kerman 315a1c7e47 style(test): align merged CUA scaffold options 2026-10-26 11:36:55 +08:00
imccyu 09b2bc7acf Merge pull request #6830 from deepseek-harness/design/floating-window-snap-back
feat(ui-dockkit): spring floating panels back inside the viewport
2026-10-26 11:34:38 +08:00
_Kerman 271a6143a1 Merge origin/master into xtr/ptc-vm-script 2026-10-26 11:34:32 +08:00
Turtle a9fe502214 Merge remote-tracking branch 'origin/master' into turtle/plugin-detail-pages-5c09dd3d0a33
# Conflicts:
#	snapshots/web/plugin-recommendations/session.v4.jsonl
2026-10-26 11:22:27 +08:00
winewill 5be33a66d2 test(desktop): isolate diagnostic fixtures and clarify record limits 2026-10-26 11:12:50 +08:00
winewill 6cbbc8caa5 Merge master and reconcile desktop diagnostic records 2026-10-26 11:05:45 +08:00
yudshj dcaaa11e5e fix(ui-dockkit): pick a panel up where it is drawn on a corner press too
A corner press during a return ended the return at the recorded
rectangle, so the panel jumped without pointer travel. The press now
picks the panel up where it is drawn for a resize as well: the resize
keeps the drawn origin and caps only the corner by the viewport, and the
release records the legal rectangle and springs the origin inside, as a
resize whose viewport shrank past its origin also does. Under reduced
motion a resize draws its legal rectangle and animates nothing.
2026-10-26 09:04:23 +08:00
yudshj 85812a9777 fix(ui-dockkit): settle float review findings on bodies and edge cases
- Move TabBody to its own module and draw DockSurface's docked bodies
  through it too, so divider and tab drags no longer re-render bodies.
- State in TabRenderer when the kit calls renderTab again and reuses a
  body.
- A corner press during a return ends it at the recorded rectangle; only
  a grip press picks the panel up where it is drawn.
- The resistance and its inverse keep the legal size, a resize origin
  stays inside a viewport that shrank mid-gesture, and a Windows root
  without a published caption height keeps the 20px floor.
- The Web e2e waits for the resting style before checking the clamp.
- Tests say "does not re-render" and also show that a new renderer
  re-renders the bodies.
2026-10-26 09:04:23 +08:00
yudshj 082b2b2c04 perf(ui-dockkit): keep tab bodies out of per-frame float re-renders
A float drag and its return update the preview through React state, so
TabLayout re-rendered every TabHost and called renderTab for every
retained body on each frame. Both renderers now draw bodies through
TabBody, memoized on the renderer and the tab record, so such a frame
re-renders only panel frames and headers.

Measured in the Web e2e scaffold under 4x CPU throttling (median of 5,
60-step drag past the corner, then the return): with a 4000-line file
preview floating, drag scripting fell from 592 ms to 100 ms and the
return's from 180 ms to 56 ms; with the default small preview, drag
scripting fell from 121 ms to 95 ms.
2026-10-26 09:04:23 +08:00
yudshj 22ea16f2e9 fix(ui-dockkit): clamp a resting panel's size into the viewport too
The resting .float rule now caps width at 100vw and height at the
viewport below the caption floor, so a stale viewport reading cannot
leave an oversized panel's header controls or resize corner off screen.
Vertical limits use 100dvh, which follows window.innerHeight as the
gesture hook does. The Web e2e publishes a far-off, oversized resting
rectangle and checks that the stylesheet alone draws it over the viewport.
2026-10-26 09:04:23 +08:00
yudshj 0fd4be4065 docs(notes): name the spring's rest predicate in the change scope 2026-10-26 09:04:23 +08:00
yudshj 38c1b9b835 fix(ui-dockkit): bound the edge return and keep clicks on projected panels
- A release that reaches the press's legal rectangle only raises, so a
  click on a panel drawn projected no longer records a move or resize.
- The return starts at the drawn panel's speed, and launchVelocity caps
  its outward part so the whole trajectory stays within 120 px.
- A panel larger than the viewport draws at the viewport's size, keeping
  its header controls and resize corner reachable.
- A return ends on an undo, dock or close of its panel, and at its target
  when another panel is pressed; a gesture uses the bounds of a window
  resized mid-gesture; drawn samples outside the velocity window drop.
- Gestures and returns may draw above the top floor; at rest the .float
  rule clamps every panel into the viewport and below the caption floor.
- Web e2e drags a Sidebar float past the right and bottom edges.
- The note is renamed to spring-based edge recovery, compressed, and
  cross-linked to the docking and retained-layout notes.
2026-10-26 09:04:23 +08:00
yudshj 7bfe4ad07f feat(ui-dockkit): spring floating panels back inside the viewport 2026-10-26 09:04:23 +08:00
yudshj 60ed3b2b74 docs(notes): propose force-directed edge recovery for floating dock panels 2026-10-26 09:04:23 +08:00
Turtle fbc30d138b Merge pull request #7266 from deepseek-harness/turtle/wrong-arch-dep-d8c6d0f056fb
fix(desktop): drop other targets' native packages from bundled pnpm
2026-10-26 05:09:04 +08:00
Turtle daf7a0cc43 refactor(scripts): share npm os/cpu matching for pnpm pruning
Move the release verifier's npm platform check into scripts/npm-platform.ts and use it when pruning pnpm's bundled packages, so negations, 'any' and invalid fields follow npm. Skip non-directories and name the manifest on invalid fields.
2026-10-26 03:25:12 +08:00
Turtle 44494c0c83 fix(desktop): drop other targets' native packages from bundled pnpm
pnpm's npm package carries reflink bindings for darwin-arm64, darwin-x64, win32-arm64 and win32-x64. The primary runtime copied all of them, so the Apple silicon app contained an x86_64 Mach-O module that triggers macOS's Intel app warning. Prune packages whose os/cpu fields exclude the target and bump the payload format.
2026-10-26 02:37:23 +08:00
creatixchu bfc25c6cac fix(cua): expire handles after failed launch verification 2026-10-25 22:43:56 +08:00
creatixchu e2e18c340b fix(cua): describe missing process observations precisely 2026-10-25 21:38:24 +08:00
creatixchu de312c1e39 test(cua): separate deleted-app consent from OS operation failures 2026-10-25 21:30:04 +08:00
creatixchu 1f150869b3 docs(cua): regenerate optional-path API references 2026-10-25 21:25:27 +08:00
creatixchu d4a362a83b fix(cua): align optional paths with compiler interfaces 2026-10-25 21:24:30 +08:00
creatixchu 0ddd45c391 fix(cua): authorize bundle identities without executable paths 2026-10-25 21:22:40 +08:00
creatixchu d6a52d959c test(cua): exercise consent across standalone GUI launches 2026-10-25 20:52:38 +08:00
creatixchu a572bb4963 test(cua): use native normalized path for consent digest 2026-10-25 20:35:23 +08:00
creatixchu f63da6a3e6 feat(cua): allow persistent consent by executable path 2026-10-25 20:28:30 +08:00
Yichen Jiang 04b3164a27 Merge pull request #7211 from deepseek-harness/fix/model-collapse-preferred-width
fix(web): restore the composer model seat icon collapse
2026-10-25 20:26:49 +08:00
imccyu ca4c00de46 Merge pull request #7154 from deepseek-harness/session-stream-snapshot
refactor(session): separate history, state and Web follow implementations
2026-10-25 20:08:12 +08:00
imccyu 8b8d1a4942 test(session): call the renamed events read 2026-10-25 19:55:32 +08:00
imccyu e032fdc2a8 refactor(session): rename the history controller read to events 2026-10-25 19:54:41 +08:00
CreatixChu bf02b08da3 Merge pull request #5245 from deepseek-harness/feat/cua-permission-onboarding
feat(cua): 持久化应用授权并完善插件启用体验
2026-10-25 19:50:54 +08:00
imccyu 8cddf8b14c chore(docs): refresh event producer graph 2026-10-25 19:49:03 +08:00
creatixchu d8c9ac6a0f Merge master into feat/cua-permission-onboarding 2026-10-25 19:36:49 +08:00
imccyu 12a8c3adf7 docs(session): correct the events page and activation wording 2026-10-25 19:36:04 +08:00
creatixchu 06ebda4385 Revert "refactor(plugin-inventory): collect startup diagnostics concurrently"
This reverts commit c3d4f4bb70f685acdd289acb5d72472087e8377a.
2026-10-25 18:36:55 +08:00
creatixchu 075e9e4de7 refactor(plugin-inventory): collect startup diagnostics concurrently 2026-10-25 18:20:09 +08:00
imccyu 7c7b021766 docs(session): document events, deprecated page and activation order
Sync the Session README, implementation notes and follow upgrade guide,
then regenerate the API, subsystem, persistence and event-graph catalogs.
2026-10-25 18:14:32 +08:00
imccyu 99a6c14527 test(session): cover the split controllers and passive follow
Move the facade, listener, state, wait and history tests onto the new
controllers, and cover passive activation, omitted cursors and the
event subscription frames.
2026-10-25 18:14:28 +08:00
imccyu 985937265f refactor(ui-plan): read plans through the events page
A plan is a logged tool-call argument: read one page at the current log
end and page backwards from its cut instead of opening a follow snapshot.
2026-10-25 18:14:19 +08:00
imccyu 2f2caf88b3 feat(session): split history, state and web controllers
History, State and Web become ordinary classes sharing the Session scope.
Subscribe-before-read removes the tail repair, events and page expose the
cursor-bearing history read, observeEvent keeps a pure event subscription,
and follow stays passive unless activate is requested.
2026-10-25 18:14:18 +08:00
imccyu a1473ddec6 feat(gateway): expose pending remote events
Session state reads sample Gateway pending events; the Gateway contract now
provides getPendingRemoteEvents() for that read.
2026-10-25 18:14:17 +08:00
creatixchu 174b2dbe1b test(cua): clean up rejected launches before fixture readiness 2026-10-25 17:54:44 +08:00
creatixchu f7b2be051a fix(cua): recheck bundle metadata before launching approved apps 2026-10-25 17:51:48 +08:00
CreatixChu 7bc30c4cba fix(attachments): 复用完整图片引用,取消 Session 历史扫描 (#7021)
* test(api): measure historical image read costs

* fix(test): resolve image benchmark paths from its config

* fix(attachments): read stored images without scanning sessions

* test(attachments): complete by-id fixtures and access assertions

* fix(docs): implement image-id read on catalog fixture

* docs(attachments): refresh generated read contracts

* test(web): verify stored images across history and forks

* docs(api): clarify image read metadata and permission scope

* test(api): type benchmark instrumentation without unsafe returns

* test(api): retire unknown-cast allowances with removed history fixtures

* test(attachments): isolate browser cases and document store-wide access

* test(web): intercept the by-id thumbnail read path

* docs(perf): run generated diagnostic from its owning package

* refactor(attachments): reuse reference reads for conversation images

* docs(api): refresh complete image reference client contract

* test(ui-chat): assert complete image reference forwarding

* test(perf): measure image reads against current Session observations
2026-10-25 09:40:53 +00:00
creatixchu e876f69f56 fix(cua): launch the selected copy when bundle identifiers match 2026-10-25 17:10:11 +08:00