Commit Graph
100 Commits
Author SHA1 Message Date
ZiyaZhang 799fede7bc fix: align speech recognition service terminology 2026-10-08 23:41:37 -07:00
ZiyaZhang e3909dcc6e Merge master into fix/voice-input-component-labels 2026-10-08 23:35:20 -07:00
ZiyaZhang bbfdcae84c fix: localize voice input component metadata 2026-10-08 21:01:06 -07:00
ZiyaZhang cbd64a0abf fix(web): address reasoning toggle review feedback 2026-10-08 07:31:13 -07:00
ZiyaZhang 1d37aabe99 fix(session-title): preserve adequate conversation titles 2026-10-08 06:37:56 -07:00
ZiyaZhang 20d7713049 fix(web): match reasoning toggle typography and color 2026-10-08 06:16:31 -07:00
ZiyaZhang 42da4c1b58 test(web): verify reasoning header alignment and sticky container 2026-10-08 05:57:48 -07:00
ZiyaZhang 1f87f2561d fix(web): simplify reasoning translation controls 2026-10-08 01:50:30 -07:00
ZiyaZhang 6796616f30 fix(ui-conversation): restore subagent image paste and drop 2026-10-07 20:34:57 -07:00
ZiyaZhang 57383630a6 Merge updated Creator mode parent and keep shared entry flow 2026-09-29 02:30:07 -07:00
ZiyaZhang 753fea38e6 fix(web): address preset review feedback and stale documentation 2026-09-29 02:25:24 -07:00
ZiyaZhang 7f7225ea7c Merge master and keep current coding view settings copy 2026-09-29 02:20:39 -07:00
ZiyaZhang 16c485166c docs(web): clarify add-plugin actions and Creator flow 2026-09-29 00:32:08 -07:00
ZiyaZhang 05e2d90042 test(session-projection-cache): await fixture checkpoint writes 2026-09-29 00:18:51 -07:00
ZiyaZhang 68eb79d9e1 fix(web): handle preset settings updates and empty choices 2026-09-28 23:43:21 -07:00
ZiyaZhang 737691913f Merge master and reuse existing preset staging cleanup 2026-09-28 23:28:55 -07:00
ZiyaZhang 9073ea1941 fix(web): clear unapplied coding presets when tools turn off 2026-09-28 23:16:56 -07:00
ZiyaZhang 5d7a1f14e4 fix(web): preserve current preset when coding tools are disabled 2026-09-28 22:42:34 -07:00
ZiyaZhang 9490dfceae refactor(web): trim preset visibility diff 2026-09-28 22:20:08 -07:00
ZiyaZhang 7a078907b6 fix(web): surface Creator selection failures and trim redundant coverage 2026-09-28 12:43:34 -07:00
ZiyaZhang 66f00a9170 test(web): verify plugin entry across modes and session states 2026-09-28 12:21:45 -07:00
ZiyaZhang 6dccc57a5c refactor(web): reuse shared Creator mode from plugin entry 2026-09-28 12:01:24 -07:00
ZiyaZhang f3946dc39a fix(web): reset hidden presets when coding tools are disabled 2026-09-28 09:29:01 -07:00
ZiyaZhang 001e6f5e84 fix(web): clarify coding tools preset options subtitle 2026-09-28 08:56:03 -07:00
ZiyaZhang d396f17f17 fix(web): filter advanced presets in settings when coding tools are off 2026-09-28 08:19:13 -07:00
ZiyaZhang 3c26fdd204 feat(web): keep standard and creator presets available without coding tools 2026-09-28 08:08:31 -07:00
ZiyaZhang 479de510ca test(subagent): dispose continuable fixtures before removing storage 2026-09-28 07:20:26 -07:00
ZiyaZhang e75c2ff098 test(web): wait for Creator backend requests before assertions 2026-09-28 06:58:13 -07:00
ZiyaZhang 93a7d221ed test(web): align plugin menu snapshots and verify Creator flow 2026-09-28 06:55:46 -07:00
ZiyaZhang 7d88fc9b2b refactor(web): limit plugin UX changes to add and create flows 2026-09-28 06:22:01 -07:00
ZiyaZhang 6200ffe8c7 fix(web): allow one-task Creator entry with Coding Tools off 2026-09-28 06:11:53 -07:00
ZiyaZhang ed50a72fc4 feat(web): connect plugin creation and usage entrypoints 2026-09-28 05:54:26 -07:00
ZiyaZhang 4374c2040a fix(web): apply revised 0.2 preview notice copy 2026-09-28 02:45:16 -07:00
ZiyaZhang 441939eaa4 fix(web): require acknowledgement of the 0.2 preview notice 2026-09-28 01:04:41 -07:00
ZiyaZhang cd57af4925 fix(web): 更新 0.2 中英文预览版说明 2026-09-28 00:47:07 -07:00
ZiyaZhang adb58a76d1 fix(web): align plugin guidance with review feedback 2026-09-27 09:31:07 -07:00
ZiyaZhang 473fd15101 fix(web): clarify plugin management guidance and warnings 2026-09-27 07:18:09 -07:00
ZiyaZhang 0b3256014c fix(web): center plugin installation example buttons 2026-09-27 04:57:03 -07:00
ZiyaZhang 9626323fc4 Merge remote-tracking branch 'upstream/master' into ux/automation-tasks-plugin-row 2026-09-26 06:10:21 -07:00
ZiyaZhang b90695ee7a Merge remote-tracking branch 'upstream/master' into ux/automation-tasks-plugin-row 2026-09-25 22:31:25 -07:00
ZiyaZhang 912e5bafa1 refactor(schedule-bundle): give the Schedule rows the usual per-row switches
The bundle no longer declares `dsh.bundle.rowSwitches`, so its page offers a
switch per row while it is on, as every other bundle does. The README records
that the three rows work only together, and the Agent Note records the
rejected lock.
2026-09-25 07:50:15 -07:00
ZiyaZhang 738178f136 Revert "feat(plugin-manager): let a bundle list its rows without row switches"
This reverts commit 089291591cbf9a9e08dbe99d96aa378a5f1ccac8.
2026-09-25 06:57:37 -07:00
ZiyaZhang 6085a56eb6 Revert "feat(plugin-manager): refuse to switch a row alone when its bundle switches its rows as a whole"
This reverts commit 5bc789e8617bc7b7fe8b56ad3629ed385692c54d.
2026-09-25 06:57:32 -07:00
ZiyaZhang dbd98c2b7e docs(schedule): name the Official group 官方 in the Chinese Schedule pages 2026-09-25 01:53:25 -07:00
ZiyaZhang 5511abfa14 Merge remote-tracking branch 'origin/ux/automation-tasks-plugin-row' into feat/schedule-bundle-owns-rows
# Conflicts:
#	docs/user/guide/schedule.i18n.yaml
#	docs/user/guide/schedule.md
2026-09-25 01:52:10 -07:00
ZiyaZhang b9ace787e4 feat(plugin-manager): refuse to switch a row alone when its bundle switches its rows as a whole
With `dsh.bundle.rowSwitches: false`, `listPlugins` reports each row the
bundle inserts with the `bundle-switch` read-only reason, so
`setPluginEnabled`, the `plugin_manager` tool, and the Plugins page agree,
and the page draws no switch for such a row. `bundleRowSwitches` validates
the manifest field; `listBundles` reports a non-boolean value on the bundle.
`BundleInfo.rowSwitches` is removed.
2026-09-25 01:51:00 -07:00
ZiyaZhang 0650bdeb30 test(schedule-bundle): expect the optional bundle to insert the Schedule rows 2026-09-25 01:50:58 -07:00
ZiyaZhang ce6d6a8582 Merge remote-tracking branch 'origin/ux/automation-tasks-plugin-row' into feat/schedule-bundle-owns-rows
# Conflicts:
#	.agents/notes/implemented/architecture/2026-09-24-schedule-opt-in-optional-bundle.i18n.yaml
#	.agents/notes/implemented/architecture/2026-09-24-schedule-opt-in-optional-bundle.md
#	.agents/notes/implemented/architecture/2026-09-24-schedule-opt-in-optional-bundle.zh.md
#	packages/experimental/schedule-bundle/README.i18n.yaml
#	packages/experimental/schedule-bundle/README.md
#	packages/experimental/schedule-bundle/README.zh.md
#	packages/experimental/schedule-bundle/package.json
2026-09-25 01:31:56 -07:00
ZiyaZhang d6ffaa0198 test(plugin-manager): pin the English Automation tasks row and write its label as text
The language-switch case now reads the Automation tasks row's English title
and description, and the English guide writes the UI label as plain text like
the rest of the guide.
2026-09-25 01:19:47 -07:00
ZiyaZhang 9bbcd6cc7b Merge remote-tracking branch 'upstream/master' into ux/automation-tasks-plugin-row
# Conflicts:
#	packages/experimental/schedule-bundle/README.i18n.yaml
#	packages/experimental/schedule-bundle/README.md
#	packages/experimental/schedule-bundle/README.zh.md
2026-09-25 01:02:22 -07:00
ZiyaZhang e563bb4bbc fix(ui-settings-plugin-inventory): address review on card ids and loading
The visible id chip and the accessible name now share one check for whether
the entry id adds to the title, so an include: id that matches the title is
left out of both. The loading skeleton's status region carries visually
hidden text so screen readers announce it. The settings-chrome browser
scenario expects the preset group open and enabled rows without a tag, and
its two ARIA snapshots are refreshed. The row-partner CSS comment states its
two-column assumption.
2026-09-25 00:49:05 -07:00
ZiyaZhang 64a361ee44 feat(schedule-bundle): insert the Schedule rows from the bundle and list them on its page
The Web composition no longer carries `time-context`, `schedule`, and
`ui-schedule`. The optional bundle inserts the three rows and depends on their
packages, as the other optional bundles insert theirs, so the Plugins page lists
them under the bundle; `dsh.bundle.rowSwitches: false` keeps the bundle's own
switch as their only control. The three packages gain localized titles and
descriptions for that list.
2026-09-25 00:42:21 -07:00
ZiyaZhang e42f262bc5 feat(plugin-manager): let a bundle list its rows without row switches
A bundle whose rows work only together sets `dsh.bundle.rowSwitches: false`.
`listBundles` reports it as `rowSwitches`, and the Plugins page then lists the
bundle's rows with their state and offers only the bundle's own switch. A
bundle that omits the field keeps a switch per row.
2026-09-25 00:41:49 -07:00
ZiyaZhang 92690a5a3b fix(ui-settings-plugin-inventory): align and simplify plugin cards
Cards in one grid row now share a height, with title rows and descriptions
starting at the same offsets. The entry id shows only when it differs from
the title, as a code chip in the card's bottom-left corner; tags mark only
states other than plainly enabled; descriptions clamp to two lines until the
card expands; the preset group starts open; loading shows skeleton cards.
Group headers share one height, the subtitle separator is evenly spaced, the
title weight drops to 500, 12.5px text moves to 12px, and a container query
on the tab switches the grid to one column.
2026-09-25 00:14:40 -07:00
ZiyaZhang 197355bb12 fix(schedule-bundle): name the Plugins row Automation tasks with an alarm clock icon
The row now carries the name of the sidebar entry it adds and a
plain-language description, and its icon is an alarm clock drawn in the
Official group's 36px style. The README and the user guide quote the new
title; the README names the sidebar entry instead of a right-sidebar page.
2026-09-24 23:08:48 -07:00
ZiyaZhang d8e3efa860 test(cli): expect Schedule tools in the legacy preset-patch session
#5108 added this case against a master where the shipped Web bundle had no
Schedule rows; #5123 then made Schedule part of the default Web composition.
Every other minimal-preset session in this file already expects bash plus
the four Schedule tools, so this one does too.
2026-09-24 02:47:26 -07:00
ZiyaZhang 27a0a4606c Merge remote-tracking branch 'upstream/master' into fix/schedule-record-prompt-clamp
# Conflicts:
#	packages/client/ui-schedule/README.i18n.yaml
2026-09-24 02:31:11 -07:00
ZiyaZhang 955a706d33 fix(ui-schedule): clamp saved prompts in task run records to two lines
Each record rendered its whole saved prompt, so a long instruction on a
recurring task filled the records tab with the same text once per run.
A prompt longer than two lines now shows two lines and an Expand toggle;
the toggle appears only while the clamp hides text, and a collapsed prompt
re-measures when the panel width changes.

Also drop the stale comment about the removed message-id anchor.
2026-09-24 01:59:56 -07:00
ZiyaZhang d7db3a2f06 test(plugin-manager): name the on-mirror recovery case by what it asserts 2026-09-24 00:46:50 -07:00
ZiyaZhang ef516f98cf fix(plugin-manager): offer another way when a GitHub failure already asked the mirror 2026-09-24 00:29:39 -07:00
ZiyaZhang dc0ae81905 Merge remote-tracking branch 'upstream/master' into fix/subagent-zh-terminology 2026-09-23 01:54:16 -07:00
ZiyaZhang 3675e91cf9 fix(i18n): update subagent labels added on master 2026-09-23 01:34:17 -07:00
ZiyaZhang f4c6b012aa Merge remote-tracking branch 'upstream/master' into fix/subagent-zh-terminology 2026-09-23 01:32:15 -07:00
ZiyaZhang a2278b460c fix(i18n): limit subagent terminology changes to requested UI copy 2026-09-23 01:09:27 -07:00
ZiyaZhang f132684c81 fix(i18n): scope subagent terminology to UI and refresh snapshots 2026-09-23 00:57:07 -07:00
ZiyaZhang 8833ef9f63 Merge upstream/master into fix/subagent-zh-terminology 2026-09-23 00:38:59 -07:00
ZiyaZhang 995caa05ed fix(i18n): translate subagent as 子智能体 in Chinese UI 2026-09-23 00:33:41 -07:00
ZiyaZhang 3c20f401d2 fix(web): label beta features as experimental 2026-09-23 00:07:13 -07:00
ZiyaZhang d7b45fb415 Merge remote-tracking branch 'origin/master' into fix/github-install-connectivity 2026-09-22 22:18:07 -07:00
ZiyaZhang 75d74a055e fix(plugin-manager): preserve authentication fallback during GitHub checks 2026-09-22 22:15:09 -07:00
ZiyaZhang 0edfe83573 fix(plugin-manager): bound GitHub connection checks before installation 2026-09-22 08:33:49 -07:00
ZiyaZhang 4bf9d2e0c0 Merge master into plugin installation recovery 2026-09-22 08:03:27 -07:00
ZiyaZhang 82a7dd9c3f test(plugin-manager): strengthen GitHub recovery assertions 2026-09-22 04:04:33 -07:00
ZiyaZhang d6e5b7e41a feat(plugin-manager): offer mirror recovery for GitHub install failures 2026-09-22 03:24:45 -07:00
ZiyaZhang 2426d398b5 fix(ui-agent-preset): restore the read-only configuration viewer
The declarative-preset refactor (#4569) removed the registry's read Remote
together with the YAML editor, and with it the 查看配置 card action that
opened a preset's composition read-only. #4850 brought the Creator entry
back and had to leave 查看配置 out because `agentPresets/read` was gone.

Give the registry a read-only `read` Remote that renders a declaration's
child plugin list from the in-memory definition in the Loader's own
entry-list dialect, so `!!js` conditions read as declared, and put the card
action back at the right end of each card footer: an icon that opens the
YAML in a read-only dialog titled after the preset. Nothing accepts YAML
back, and a broken preset stays readable because its diagnostic points into
that YAML.

Fixes #4895
2026-09-21 20:38:30 -07:00
ZiyaZhang e649981497 fix(web): describe PTC mode by the tasks it suits
The PTC card in Settings explained the mechanism (the agent chains tools
through code) rather than which tasks to pick it for, so readers could
not tell it apart from Standard mode the way the Minimal and Creator
cards allow. Reword the Chinese and English card and new-task menu copy
to name the tasks: batch tool calls whose results are then filtered,
organized, deduplicated, counted, or summarized. Update the four ARIA
snapshots that embed this text.
2026-09-20 20:49:56 -07:00
ZiyaZhang d620c1e4b7 fix(web): soften segmented tab focus styling 2026-09-20 03:08:34 -07:00
ZiyaZhang 5aa0e3f806 test(web): align developer tools check with preset copy 2026-09-20 03:00:57 -07:00
ZiyaZhang 05a229ccc9 feat(web): clarify agent presets and add mode guides 2026-09-20 02:45:48 -07:00
ZiyaZhang 6affc44992 fix(web): update Subagent parallelism copy 2026-09-16 20:31:03 -07:00
ZiyaZhang 78f4c5ae32 style(web): remove Subagent section divider 2026-09-16 09:00:22 -07:00
ZiyaZhang a8de4c334e style(web): soften Subagent help icons 2026-09-16 08:48:14 -07:00
ZiyaZhang ea2651b86b feat(web): unify Subagent settings UI 2026-09-16 05:51:03 -07:00
ZiyaZhang 91da8a4ecf Merge master and retain its Python coverage fix 2026-09-10 20:38:00 -07:00
ZiyaZhang 884485e7e6 test(python): restore concat through its spy 2026-09-10 05:40:50 -07:00
ZiyaZhang 7bce0c26f5 test(python): make stray fragment coverage deterministic 2026-09-10 05:35:32 -07:00
ZiyaZhang 69db89f848 fix(web): shorten English question skip label 2026-09-10 05:06:14 -07:00
ZiyaZhang 2eed93628c fix(web): shorten Chinese question skip label 2026-09-10 05:00:38 -07:00
ZiyaZhang 8e468c13a0 test(visualizer): remove redundant host web replay 2026-09-08 01:40:11 -07:00
ZiyaZhang 934d4b6501 refactor(visualizer): trust settled widget contents 2026-09-08 01:40:11 -07:00
ZiyaZhang e7dc1322a3 fix(visualizer): leave motion to presentation choice 2026-09-08 01:40:11 -07:00
ZiyaZhang b80e22ec2d docs(visualizer): require self-contained widget sources 2026-09-08 01:40:11 -07:00
ZiyaZhang b75b8ce49e chore(visualizer): align release metadata and snapshots 2026-09-08 01:40:11 -07:00
ZiyaZhang 7729e0ffee refactor(visualizer): simplify host contract 2026-09-08 01:40:11 -07:00
ZiyaZhang b17e90f78a fix(visualizer): validate fragment contracts precisely 2026-09-08 01:40:11 -07:00
ZiyaZhang f1f6ca1c77 feat(visualizer): add dormant Host capability 2026-09-08 01:40:11 -07:00
ZiyaZhang 9ee5aef98c feat(web): unify onboarding dialogs 2026-08-13 01:19:52 -07:00
ZiyaZhang 238e900776 ci: retrigger after stale merge ref 2026-08-12 08:43:25 -07:00
ZiyaZhang d6fc55ad86 docs: refresh generated references 2026-08-12 08:39:09 -07:00
ZiyaZhang 1ca6f68b17 fix(web): guide clickable file references 2026-08-12 07:30:53 -07:00