Commit graph

697 commits

Author SHA1 Message Date
Fini 0c61ba5b8e fix(settings): track image search test status 2026-06-01 06:27:36 +08:00
Fini 3d1c0b6ae1 fix(settings): open image provider menu 2026-06-01 06:10:37 +08:00
Fini 0b72d14b8a fix(settings): simplify system tab layout 2026-06-01 05:51:10 +08:00
Fini 38588b767f fix(settings): align system tab fallback label 2026-06-01 05:40:24 +08:00
Fini 68e7530417 fix(settings): copy pretty mcp client config 2026-06-01 05:34:16 +08:00
Fini b9d5639a3e fix(ai): disable chat input while streaming 2026-06-01 05:24:44 +08:00
Fini 2fcfb686a6 fix(ai): collapse completed design steps 2026-06-01 04:52:38 +08:00
Fini bd65b2692d fix(ai): match design card preview styling 2026-06-01 04:43:52 +08:00
Fini 2c9f2c128a fix(layers): show row actions only on hover 2026-06-01 04:33:37 +08:00
Fini 88b767ef70 fix(settings): dedupe builtin provider aliases 2026-06-01 04:27:32 +08:00
Fini 3dd1681d85 fix(settings): align agents nav icon 2026-06-01 04:13:15 +08:00
Fini f75041c29d fix(ai): use wand icon for design blocks 2026-06-01 03:54:32 +08:00
Fini 2e7a9348f2 fix(ai): align collapsed chat bar style 2026-06-01 03:43:47 +08:00
Fini ec03f06cb6 fix(settings): infer ark coding preset by model 2026-06-01 03:18:15 +08:00
Fini 0c9fa601ea fix(ai): add tool card body divider 2026-06-01 02:43:03 +08:00
Fini 181a334ee4 fix(ai): align tool card status icons 2026-06-01 02:37:52 +08:00
Fini a9ecb1e6fb fix(ai): use wrench for orchestrated tool cards 2026-06-01 02:31:56 +08:00
Fini 8a074595d7 fix(settings): add mcp config copy action 2026-06-01 02:25:43 +08:00
Fini 57c68a00fb fix(settings): show image profile chevrons 2026-06-01 02:11:25 +08:00
Fini 6fc604a184 fix(ai): add chat panel resize handles 2026-06-01 02:03:38 +08:00
Fini 31df6308d0 fix(desktop): restore window size in logical pixels 2026-06-01 01:21:24 +08:00
Fini 94a03de2b8 fix(settings): dedupe auto named providers 2026-06-01 01:04:28 +08:00
Fini 897429817d fix(ai): align model search groups 2026-06-01 00:55:18 +08:00
Fini 0113cccbcf fix(ai): reveal design json copy on hover 2026-06-01 00:46:41 +08:00
Fini 1be8b4ac80 fix(ai): copy design json cards 2026-06-01 00:19:29 +08:00
Fini 5161da5008 fix(ai): expand design json cards 2026-06-01 00:03:25 +08:00
Fini 504ba56eb8 fix(ai): toggle tool call cards individually 2026-05-31 23:52:02 +08:00
Kayshen-X 6105134014 feat(panels): inline commit-detail card replacing full-takeover diff
Clicking a recent-commit row now toggles an inline 里程碑详情 detail card
under the row (TS HistoryMilestoneRow) instead of tearing the whole panel
into a full-screen commit diff. The card carries 恢复 (restore the tracked
doc to that commit) + 复制哈希 (copy the hash to the clipboard) buttons.

Cross-layer:
- op-editor-core: GitPanelState.expanded_commit + GitPanelAction::{RestoreCommit,CopyHash}
- op-editor-ui: GitPanelHit::{RestoreCommit,CopyCommitHash}; paint inserts the
  card between rows and pushes later rows + panel height down by CARD_H, with
  expand_offset_before/expanded_card_extra/ready_commit_card_buttons keeping
  paint and hit-test in lockstep (proven by a new geometry test).
- op-host-native: row click toggles expanded_commit; card buttons emit actions
- op-host-desktop: RestoreCommit runs repo.restore via run_reloading_git_op;
  CopyHash writes the OS clipboard; the card collapses when the log changes

Deferred (Phase 2): autosave kind/grouping, the semantic inline diff summary.
2026-05-31 23:51:22 +08:00
Kayshen-X a3adee2044 fix(git): disable pull/push like TS (no remote / nothing ahead)
Pull/push always looked enabled. Plumb the ahead count (op-git status
already computes it) onto GitPanelState via the host snapshot, and gate the
buttons in paint AND hit-test: pull needs a remote + no in-flight op; push
also needs ahead > 0 (TS pullDisabled=!hasRemote||busy, push adds ahead===0).
has_remote derives from the existing remotes list.
2026-05-31 23:51:21 +08:00
Kayshen-X f521a249a2 fix(git): create-branch form — drop header, add Cancel button (TS parity)
TS create mode has no section header and shows ghost Cancel + primary Create.
Rust painted a 新建分支 header and only a Create button (Escape-only cancel).
Remove the header for Create mode, start the input near the popover top, and
add a ghost Cancel button (→ BranchPickerCancel) left of Create.
2026-05-31 23:51:20 +08:00
Kayshen-X d738978dff fix(git): match TS metrics — chip/arrow 12px, full-strength colors, merge header
git_panel_ready: branch chip GitBranch 14→12, label 13→12, chevron 10→12;
pull/push arrows 14→12 with full foreground (enabled) / muted-foreground
(disabled) instead of 0.80/0.50 alpha; milestone button font 12→11, gap 5→4,
icon stroke 1.8→2.0. git_panel_menus: merge header now 合并到 {branch}
(git.branch.mergeHeading) not the generic action label, and merge rows use a
ChevronRight glyph (TS branch-row) instead of GitBranch.
2026-05-31 23:51:19 +08:00
Kayshen-X 6ea10cccf9 fix(git): match TS panel chrome — width 420, drop shadow, 6px radius
The panel read flat / cramped vs TS because of container-level gaps, not the
widgets: width 320→420 (TS w-[420px]), add a shadow-md drop shadow (two soft
black rects) so it lifts off the canvas, and corner radius 10→6 (TS
rounded-md). Placement tests still pass (caret anchoring relative to width).
2026-05-31 23:51:18 +08:00
Fini 38156111dd fix(ai): render tool calls as cards 2026-05-31 23:37:34 +08:00
Fini 1c94dcb548 fix(ai): expand write tool progress 2026-05-31 23:10:05 +08:00
Fini 132985a7cd fix(ai): align design block affordance 2026-05-31 23:05:50 +08:00
Fini ebd2f25e2c fix(ai): pass image aspect to desktop search 2026-05-31 22:49:20 +08:00
Fini e5c93bbe8a fix(ai): collapse design json in chat transcript 2026-05-31 22:39:59 +08:00
Fini 048a786fa5 fix(agent): keep pure provider base urls read-only 2026-05-31 22:30:29 +08:00
Kayshen-X 21a92e5740 fix(editor): wire web boolean toolbar 2026-05-31 22:04:19 +08:00
Kayshen-X e5f22c0397 fix(mcp): accept page id operations 2026-05-31 22:04:18 +08:00
Kayshen-X e323ee49ab fix(git): scope Enter swallow to a visible ready Git popover
The Enter guard keyed off branch_picker_open/overflow_open alone, so a
stale flag while the panel was closed / loading / merging / showing a diff
would wrongly eat the global Enter. Add git_ready_popover_open() (panel
open + ready view + a popover flag) and guard on it instead.
2026-05-31 22:04:17 +08:00
Kayshen-X 20a6327546 fix(git): blink the create-branch input caret
The inline 新建分支 name input painted a static '|' and the host never woke
the loop for branch_create_focused, so the caret sat frozen. Blink it on the
shared commit-caret cadence (paint_menu_input), wake next_animation_deadline
for branch_create_focused, and seed/reset commit_caret_anchor_ms on focus +
keypress so it starts solid then blinks.
2026-05-31 22:03:59 +08:00
Kayshen-X 609e7910fa fix(git): swallow Enter while branch-picker / overflow popover is open
In list / merge mode (and the overflow menu) no input is focused, so Enter
skipped every input handler and fell through to the global chat send. Guard
it: while either ready-state popover is open, Enter is consumed (focused
inputs still submit via the handlers above).
2026-05-31 22:00:43 +08:00
Kayshen-X 86168ce866 fix(git): suspend commit/remote/https inputs while branch picker is open
A stale commit/remote/https focus could still route text + Enter to the
hidden input while the branch-picker dropdown was open (firing a hidden
commit / set-remote / login). Gate the three focus helpers on
!branch_picker_open so those inputs are inactive whenever the dropdown is
showing; focus resumes when it closes.
2026-05-31 22:00:42 +08:00
Kayshen-X e3ae058b29 fix(cli): align rust op with live mcp 2026-05-31 22:00:41 +08:00
Fini 2bae44417e fix(agent): parse ACP args like web settings 2026-05-31 21:48:50 +08:00
Fini 60e7d0c3be fix(editor): seed blank frame on new pages 2026-05-31 21:22:11 +08:00
Fini 867ae4b6ea fix(ai): group model picker rows by provider 2026-05-31 21:13:16 +08:00
Kayshen-X ccf0278ee5 fix(git): give branch-picker sub-mode Escape priority over input focus
A stale focused Git input (commit / remote / https) could intercept the
merge-mode Escape, because the sub-mode handler ran after the input
defocus handlers. Move the sub-mode Escape ahead of them so create/merge
always exits to the branch list on the first Escape.
2026-05-31 21:05:30 +08:00
Kayshen-X 2aebc714ae fix(web): handle chat stop hits 2026-05-31 21:05:29 +08:00