Commit Graph
199 Commits
Author SHA1 Message Date
imccyu f6b0c5af59 build: rename build:src and build:test to build:artifacts and build:check
build:artifacts produces every artifact, including the tsdown bundles,
the Desktop bundle, and Web, so naming it after sources undersold it;
build:check checks scripts, benchmarks, and website code besides tests.
The build.ts scopes, aggregate step ids, the Python builder flag
(--build-artifacts), workflows, callers, docs, and the build-split Agent
Note follow the new names. The note also records the naming
alternatives.

Refs #5852
2026-10-11 22:16:47 +08:00
imccyu 129c915498 build: split build:src and build:test, and schedule build in parallel
pnpm run build ran every step in one serial chain, including the two
noEmit aggregate programs (tests, scripts, benchmarks, website) that no
artifact step consumes, so the Host aggregate check alone delayed tsdown by
about 66 s.

- build:src (scripts/build.ts --scope src) builds every artifact in the
  existing order and writes the client build record; it replaces the
  removed --artifacts-only flag and the libraries CLI mode.
- build:test (--scope test) type-checks only the Host and Client aggregate
  programs with tsc -p, concurrently, without compiling references or
  checking prerequisites.
- build runs both as one dependency graph through run-gates' new
  runAggregate: each aggregate check starts once its face's packages are
  compiled, and Client compilation stays after the Host bundle that writes
  the Typert /remote declarations. DSH_GATE_CONCURRENCY=1 serializes it;
  DSH_GATE_FAIL_FAST=1 stops the remaining steps at the first failure.
  Passing steps print one PASS line (DSH_GATE_VERBOSE=1 shows their output).
- PR artifact builds (e2e, release, preview, Node 22 compatibility) and the
  Python builder (--build-src) use build:src; dev:web and dev:desktop use
  build:src. test:*, bench, typecheck and the required consumer/Windows
  lanes keep the complete build.
- lint, lint:fix, doc-typecheck and the Typert contracts gate prepare with
  host-libraries (Host package compilation + Host bundle) instead of
  build:lib:host; their own checks never read the aggregate root or the
  Desktop bundle.

Parallel and serial build produce byte-identical lib/, Web dist and client
build record; a test-only type error fails build and build:test while
build:src passes.

Refs #5852
2026-10-11 18:19:23 +08:00
07akioni db0210088b Merge pull request #5570 from deepseek-harness/perf/trim-desktop-unused-assets
perf(desktop): trim Domino tooling and legacy KaTeX font formats
2026-10-10 13:49:38 +08:00
kingwl ea6140cee0 Merge master and resolve integration conflicts for #5570 2026-10-10 13:26:45 +08:00
kingwl 2da2a27163 Merge master and resolve integration conflicts for #5528 2026-10-10 13:12:10 +08:00
07akioni 27667dcf33 Merge master and refresh desktop README pairing for #5565 2026-10-09 17:57:26 +08:00
07akioni 50cec2dcbf Merge pull request #5559 from deepseek-harness/fix/prune-non-windows-conpty
Trim Windows ConPTY sources from non-Windows Desktop packages
2026-10-09 17:50:31 +08:00
kingwl db5c4aaab9 Merge master and resolve integration conflicts for #5523 2026-10-09 16:12:44 +08:00
winewill 4db01bb5ca docs(desktop): consolidate CI build version guidance 2026-10-08 19:57:49 +08:00
winewill 8ce963bd29 fix(desktop): address Windows packaging review findings 2026-10-08 19:26:40 +08:00
winewill 2f4dbc0fa9 build(windows): add manual installer CI and scope desktop runtime patches 2026-10-08 18:54:47 +08:00
kingwl f94df9baae Merge master and resolve integration conflicts for #5559 2026-10-08 14:55:10 +08:00
kingwl fec46cd89e Merge master and resolve integration conflicts for #5570 2026-10-08 14:54:56 +08:00
kingwl 594d89973f Merge master and resolve integration conflicts for #5565 2026-10-08 11:47:35 +08:00
kingwl 5ebd7ac8d6 Merge master and resolve integration conflicts for #5528 2026-10-08 11:43:58 +08:00
kingwl e2e3211303 Merge master and resolve integration conflicts for #5523 2026-10-08 11:42:09 +08:00
Tianyi Cui 4b3c366501 chore(desktop): print the DMG path after packaging 2026-10-07 08:40:14 +08:00
Tianyi Cui 2604a4b13a feat(desktop): make local macOS packaging configuration-free 2026-10-07 02:42:09 +08:00
Tianyi Cui 0853aeb0ee feat(desktop): support local unsigned macOS DMG packaging 2026-10-07 02:08:30 +08:00
kingwl bb03ef5000 fix(desktop): retain shell exclusions in update qualification builds 2026-10-01 02:53:40 +08:00
kingwl a863b7a989 perf(desktop): trim Domino tooling and legacy KaTeX font formats 2026-09-30 21:11:26 +08:00
kingwl 019b5312b9 fix(desktop): prune shell source maps and build caches 2026-09-30 20:45:31 +08:00
kingwl db1d900f6d fix: omit ConPTY sources from non-Windows Desktop packages 2026-09-30 19:51:06 +08:00
kingwl 18f00612c6 fix(desktop): use shared pnpm in the installed CLI 2026-09-30 19:39:54 +08:00
kingwl 099db91169 fix: preserve bundled Python interpreter aliases 2026-09-30 14:27:13 +08:00
kingwl 6b26100995 refactor(desktop): clarify runtime preparation stages 2026-09-30 14:09:56 +08:00
kingwl 98de8c0925 refactor(desktop): share bundled primary-runtime pnpm 2026-09-30 13:47:40 +08:00
Tianyi Cui 1de97d1c10 Merge pull request #5288 from deepseek-harness/worktree/desktop-cli/manage
feat(desktop): manage dsh command from the app menu
2026-09-29 16:27:30 +08:00
Tianyi Cui a01f2444c3 refactor(desktop): make CLI registration a post-install menu action 2026-09-29 15:41:06 +08:00
Tianyi Cui 800f1b147b refactor(desktop): retain existing installer directory lifecycle 2026-09-29 14:21:17 +08:00
07akioni 010f0e230a Merge pull request #5396 from deepseek-harness/07akioni/desktop-latest-downloads
feat(desktop): add fixed latest installer upload commands
2026-09-29 14:16:55 +08:00
07akioni 9ff76e66b3 fix(desktop): support fixed installer uploads with Windows credentials 2026-09-29 13:53:38 +08:00
Tianyi Cui 6863e7fe9b fix(desktop): simplify command installation and correct checkbox text 2026-09-29 13:23:55 +08:00
Tianyi Cui f1d14380cf Merge simplified CLI runtime into command management 2026-09-29 13:17:04 +08:00
Tianyi Cui 0e5ab65758 fix(desktop): simplify bundled CLI and manage Desktop plugins 2026-09-29 13:15:00 +08:00
Tianyi Cui 386487ec66 fix(desktop): preserve command errors and validate installer choices 2026-09-29 12:55:47 +08:00
Tianyi Cui 5670a14646 fix(desktop): retain symlink identity across command rollback 2026-09-29 12:55:47 +08:00
Tianyi Cui d796ae1efd fix(desktop): preserve command ownership and guard silent installers 2026-09-29 12:55:46 +08:00
Tianyi Cui 9c8f5c2bf3 feat(desktop): manage the installed dsh command from native menus 2026-09-29 12:54:53 +08:00
Tianyi Cui fb94237085 fix(desktop): match CLI helpers to Electron macOS support 2026-09-29 12:54:53 +08:00
Tianyi Cui ac88033f4c fix(desktop): expose only dsh through the CLI PATH directory 2026-09-29 12:54:52 +08:00
Tianyi Cui 5f99386fa8 feat(desktop): add bundled CLI launch and installation guards 2026-09-29 12:54:52 +08:00
07akioni 34b424952c Address Intel Node signing review feedback 2026-09-29 11:39:41 +08:00
07akioni dbf31101d8 fix(desktop): grant Intel Node executable-memory signing entitlement 2026-09-28 22:43:06 +08:00
07akioni aaceea0554 feat(desktop): add fixed latest installer upload commands 2026-09-28 19:58:55 +08:00
Yichen Jiang 728d56156c fix(desktop): narrow microphone permission fix 2026-09-28 12:37:30 +08:00
Yichen Jiang 846afdfaa6 fix(desktop): grant microphone access in signed macOS builds 2026-09-28 12:27:20 +08:00
winewill eec2b5fa6e fix(desktop): enlarge whale artwork in Windows tray icon 2026-09-24 14:24:39 +08:00
winewill e6f135f15c fix(desktop): harden quit bypass and background-notice bookkeeping after review
- Only the definitive Windows session-end message bypasses the quit
  confirmation; the macOS power-off flag clears on the next focus or show
  because another application can cancel that shutdown.
- A bypassing quit disposes the pending confirmation so a late inspection
  result opens no box and an answered box cannot approve.
- Cancelling a quit that closing the welcome window started shows the
  welcome window again.
- The first-hide notice records its marker only after delivery and
  withdraws it on failure; the Windows quit dialog uses the multi-size ICO.
- windowShown settles when the awaited window is destroyed.
- Cross-link the partially superseded window-menus note; tidy docs.
2026-09-24 14:24:39 +08:00
winewill 4745934683 feat(desktop): hide the window on close and confirm interruptible quits
Closing the main window hides it on macOS and Windows; the page and the
Host keep running and the next show resumes the same document. Windows
gets a permanent tray icon (open / quit) and a one-time notification the
first time the window is hidden after installation.

Every ordinary quit entry asks the Host over a new quit-inspection IPC
request for active tasks (same rule as the update restart check) and
armed scheduled reminders (schedule family of workspace/session-activity
for loaded sessions). Nothing to interrupt quits silently; otherwise a
native message box explains what stops, with Quit as the default and
Cancel on Esc. Inspection failure or a missed two-second deadline counts
as running tasks. The installer restart, fatal recovery, the development
restart command, and OS session end skip the confirmation.

Also: defer the downloaded-update confirmation while the window is hidden,
render the tray ICO from the vector icon, and point the installer's
running-application message at the tray.

Closes #4013
2026-09-24 14:24:39 +08:00