Commit graph

1302 commits

Author SHA1 Message Date
Kayshen-X 9ca7cace20 fix(agent): preserve provider toggle slots 2026-05-31 17:04:54 +08:00
Kayshen-X 5e719a8bd2 fix(agent): hide unsupported provider formats 2026-05-31 17:04:53 +08:00
Fini c1c0780360 fix(ai): embed auto image search results 2026-05-31 17:03:53 +08:00
Fini 662c99da00 fix(ai): route acp agents from chat picker 2026-05-31 16:50:20 +08:00
Fini de4c2c90b0 fix(ai): toggle image generation settings rows 2026-05-31 16:21:33 +08:00
Fini 9b1a33265e fix(ai): preserve providers across documents 2026-05-31 15:34:13 +08:00
Kayshen-X 44e88c2c3a fix(agent): refine provider and acp settings forms 2026-05-31 15:27:47 +08:00
Kayshen-X ea7a10a922 fix(editor): stop editor shortcuts mutating selection while model picker open
The AI chat model-picker search captured typed chars but Delete (native
+ web), and on web also nudge/duplicate/reorder via input_active, still
reached the canvas and mutated/deleted the selection. Add the
chat_model_picker_open guard to native apply_delete and to web
apply_delete / input_active / apply_escape so the search field owns the
keyboard while open. Regression tests cover delete/backspace/nudge/
duplicate/reorder under an open picker.

Also clears the workspace clippy/fmt gate: allow should_implement_trait
on BuiltinAgentPresetKey::from_str (one call site, matches existing
op-ai-skills convention) and cargo fmt --all.
2026-05-31 14:56:47 +08:00
Kayshen-X 9e553e2e9f fix(agent): support provider drafts and input carets 2026-05-31 14:56:46 +08:00
Fini 5a4cf7552c fix(schema): accept drop-shadow effects 2026-05-31 14:33:53 +08:00
Fini 767d710448 fix(ai): dedupe built-in providers 2026-05-31 14:20:25 +08:00
Fini ec8fdc19ba fix(ai): show completed action placeholder 2026-05-31 13:51:58 +08:00
Fini fdf0147dbf fix(ai): show design checklist details 2026-05-31 13:46:42 +08:00
Fini af706c27ca fix(ai): collapse design checklist 2026-05-31 13:36:31 +08:00
Fini fdddde518a fix(desktop): retry generated image placeholders 2026-05-31 13:12:51 +08:00
Kayshen-X e25e495430 chore(i18n,settings): align locales, resolve stash-pop conflict, clear clippy
- op-i18n: align all 14 non-EN locales to the EN key set across both the
  main and git chrome tables — translate ~1050 untranslated values, add
  missing keys (dialog.dropToOpen, text.weight.extralight/extrabold,
  git.empty.openNotARepo, git.empty.cloneComingSoon), drop the zh_cn
  stray and the orphan git.commit.amendLabel; brand/protocol/placeholder
  tokens kept English. English reference tables unchanged.
- agent-settings: resolve stash-pop conflict (kept draft-API side:
  begin/save/cancel_builtin_agent_draft), remove the now-dead
  empty_builtin_agent_draft_index helper.
- silence clippy::too_many_arguments on the 8-arg paint helpers in
  agent_settings_{acp,builtin,images}.rs (matches existing convention).
2026-05-31 13:02:38 +08:00
Fini 81d2825d53 fix(desktop): fill rectangle image placeholders 2026-05-31 12:30:00 +08:00
Fini 7416077869 fix(settings): reuse empty builtin provider draft 2026-05-31 12:05:35 +08:00
Kayshen-X d2f901380a fix(editor): guard flex children on drag + property-panel and desktop chrome fixes
Canvas / layout:
- Guard flex flow-children from free-drag and add a 4px drag threshold,
  so a first click no longer materializes x/y on a flow child and
  collapses the auto-layout frame.

Property panel:
- Gap/justify radios disable the gap input on space-between/around;
  compact gap rows with vertically-centered input text.
- Padding-mode gear popover hover; the pin is anchor-scoped so it no
  longer leaks into the next selection.
- Font-weight dropdown: full 100-900 numeric options + row hover.
- Stroke hex seeds the displayed swatch colour (not #000000); stroke
  width now persists on commit.

Desktop:
- Traffic-light inset now applies on launch (casement windowDidBecomeKey).
- File-drop overlay; git commit caret blink.

Refactor:
- Split property_dispatch / git_panel / property-panel tests under the
  800-line cap; reorganise panel tests by topic.
2026-05-31 09:18:04 +08:00
Fini d02d34c57d fix(ai): align model picker filtering 2026-05-31 03:23:14 +08:00
Fini 9620d94bc2 fix(ai): align streaming thinking pill 2026-05-31 03:23:13 +08:00
Kayshen-X 86d8e7d352 fix(editor): guard flex children on drag + property-panel and desktop chrome fixes
Canvas / layout:
- Guard flex flow-children from free-drag and add a 4px drag threshold,
  so a first click no longer materializes x/y on a flow child and
  collapses the auto-layout frame.

Property panel:
- Gap/justify radios disable the gap input on space-between/around;
  compact gap rows with vertically-centered input text.
- Padding-mode gear popover hover; the pin is anchor-scoped so it no
  longer leaks into the next selection.
- Font-weight dropdown: full 100-900 numeric options + row hover.
- Stroke hex seeds the displayed swatch colour (not #000000); stroke
  width now persists on commit.

Desktop:
- Traffic-light inset now applies on launch (casement windowDidBecomeKey).
- File-drop overlay; git commit caret blink.

Refactor:
- Split property_dispatch / git_panel / property-panel tests under the
  800-line cap; reorganise panel tests by topic.
2026-05-31 01:04:12 +08:00
Fini 5d99bc3b49 fix(desktop): fit new document viewport 2026-05-31 00:56:57 +08:00
Fini 1a4cbeeef8 fix(ai): show design progress checklist 2026-05-31 00:35:34 +08:00
Fini e07c443011 fix(ai): read frame image search queries 2026-05-31 00:25:52 +08:00
Fini 2bc8e5aa34 feat(settings): edit acp agent entries 2026-05-30 19:37:37 +08:00
Fini ce59557b4d test(ai): cover image search job polling 2026-05-30 19:24:27 +08:00
Fini ad51f266d0 fix(settings): show mcp client config 2026-05-30 19:12:27 +08:00
Fini 883f8035fb feat(settings): persist acp agent entries 2026-05-30 19:04:00 +08:00
Fini cd1ca1ac66 fix(settings): use tested ark coding preset 2026-05-30 18:47:50 +08:00
Fini b68e142864 fix(settings): correct deepseek provider preset 2026-05-30 16:09:24 +08:00
Fini 32aa54fa4d fix(settings): add image provider selector 2026-05-30 16:06:23 +08:00
Fini 889f2a8e3a fix(ai): restore maximized chat affordance 2026-05-30 15:55:13 +08:00
Fini 67ed9ae146 fix(ai): align builtin model picker chrome 2026-05-30 15:49:11 +08:00
Fini da198f6432 fix(panels): match hidden layer state color 2026-05-30 15:45:13 +08:00
Fini cbf0491c74 fix(ai): align chat panel surface 2026-05-30 15:34:22 +08:00
Kayshen-X 31312eaf08 fix(panels): paint the centered git popover above the align toolbar
The Git popover is hit-tested at press block 0.9 — ahead of the align
toolbar (line 554) — but was painted at §8.2, BELOW the align toolbar
(§8.4). That was moot while the panel floated top-left, but once it
centres under the Git button it overlaps the align toolbar: paint said
the align toolbar was on top, the hit-test said the popover was, so a
click on an align button over the popover went to the popover.

Move the popover paint to §8.7 — above the align toolbar / marquee /
property overlays, still below the shape / locale pickers and modals —
so the paint z-order matches the hit-test priority.
2026-05-30 13:57:54 +08:00
Kayshen-X 31e5060057 feat(panels): match git empty-state to the TS GitPanelEmptyState
Faithful port of apps/web's git-panel-empty-state.tsx:

- Per-card hover effect (TS hover:/group-hover:): the card lifts 1px and
  recolors to border-primary/40 + bg-accent/30, the icon box to
  bg-primary/10 + text-primary. Tracked via the new
  GitPanelState.empty_hovered_card (0=Init / 1=Open / 2=Clone), updated
  by update_git_panel_empty_hover on cursor-move.
- Disabled Init card (no saved .op): the TS opacity-50 look + a
  not-allowed cursor (new CursorHint::NotAllowed → winit NotAllowed),
  and the requireSavedFile hint shown only on hover (TS Tooltip
  side="bottom", bg-primary text-primary-foreground).
- Gradient clock badge (from-muted/60 to-muted/20 + ring-border/60) and
  the TS container spacing (pt-8 / gap-5 / pb-6).

Adds the alpha()/over() colour helpers (Tailwind /NN opacity + compositing)
and a placement test for the per-card hover + not-allowed cursor.
2026-05-30 13:39:54 +08:00
Kayshen-X 3717e4cfb8 feat(panels): center git popover with caret + full cursor suppression
- Float the git panel centered under the TopBar git button (TS popover
  parity) with an up-caret; git_panel_rect is the single placement source
  that paint, hit-test, cursor and outside-click all read.
- git_panel_outer_rect (body + caret bridge) backs hit-test / cursor /
  outside-click / diff-scroll so a click or hover on the caret is caught
  by the popover instead of falling through to the canvas.
- over_floating_overlay keeps the canvas Move/Crosshair cursor from
  bleeding through every floating overlay (git / status / chat / toolbar /
  align-toolbar / shape / locale / file-menu / context-menu + the centered
  panels).
- Onboarding empty state: Init / Open / Clone cards; Init is disabled until
  the doc has a saved path, with a hover-gated "save .op first" hint pill.
- Split oversized files for the 800-line cap: git_panel -> {empty, status};
  geometry -> overlay_rects; top_bar -> top_bar_paint.
- Resolve the stash-pop conflict against the upstream refactor (ai_chat_rect
  now lives in ai_chat_geometry) and clear clippy-1.94 drift in upstream
  files (unnecessary_map_or, too_many_arguments, match_like_matches_macro)
  so the workspace gate passes.
2026-05-30 13:19:19 +08:00
Fini b849766cc2 fix(ai): fill placeholder frames from image search 2026-05-30 07:26:13 +08:00
Fini 1f6dac0b9c fix(ai): prefill builtin provider presets 2026-05-30 07:12:18 +08:00
Fini fc0fdc1132 fix(ai): hide assistant tool xml 2026-05-30 07:02:39 +08:00
Fini 52f69fadc5 fix(ai): use full width assistant transcript 2026-05-30 06:58:49 +08:00
Fini bb7e59e6eb fix(ai): lift chat panel surface 2026-05-30 06:44:12 +08:00
Fini 52f13a6149 fix(ai): use openverse credentials for image search 2026-05-30 06:41:08 +08:00
Fini 04746248a7 fix(ai): edit openverse image search credentials 2026-05-30 06:37:17 +08:00
Fini 3e843e4afa fix(ai): search model groups by label 2026-05-30 06:26:38 +08:00
Fini 8b28d7e51f fix(ai): show chat step details 2026-05-30 06:21:34 +08:00
Fini 9498e8d37d fix(ai): edit image generation profiles 2026-05-30 06:17:14 +08:00
Fini 54aff64327 fix(ai): add image generation profile rows 2026-05-30 06:10:04 +08:00