Commit Graph
607 Commits
Author SHA1 Message Date
linshen 97ea44af4e fix(ui): collapse predefined variables by default 2026-01-27 22:45:12 +08:00
linshen 7c13cc2173 refactor(ui): drop global vars button in ContextModeActions 2026-01-27 22:33:19 +08:00
linshen 6e495c0468 refactor(ui): remove global vars prop in image mode 2026-01-27 22:24:54 +08:00
linshen c9df28d42d refactor(ui): remove global vars wiring in context mode 2026-01-27 22:18:31 +08:00
linshen 80a1ba80df refactor(ui): drop global vars action in variables panel 2026-01-27 22:11:07 +08:00
linshen 1352125e5a fix(ui): polish variables panel labels and a11y 2026-01-27 23:59:12 +08:00
linshen 837702e769 fix(core): switch OpenRouter image default to gemini-2.5-flash-image 2026-01-27 23:57:38 +08:00
linshen e014db2b5e fix(ui): unify variable name validation and sanitize variables 2026-01-27 23:45:00 +08:00
linshen 99f4815c53 fix(ui): keep source view after optimize in variable modes
Avoid forceExitEditing flipping Pro/Image outputs back to Markdown render so variable highlighting remains the default.
2026-01-27 22:52:46 +08:00
linshen 3a28783326 feat(ui): persist temp vars per pro/image submode
Store temporary variables in each Pro/Image submode session and route useTemporaryVariables accordingly (Basic remains in-memory).
2026-01-27 22:16:52 +08:00
linshen 623c7c09ff feat(ui): add smart variable value generation
Provide smart fill for missing temp variables in Pro/Image and centralize the generation glue in a composable.
2026-01-27 22:07:14 +08:00
linshen 239e55d53a fix(ui): resolve model key for variable value generation
Ensure smart variable value generation always uses a non-empty evaluation model key (FunctionModelManager + fallbacks).
2026-01-27 21:52:23 +08:00
linshen 0f526630a2 refactor(ui): extract temporary variables panel
Reuse a shared temp-variable editor in test panels and show it above image test variants for parity with Pro.
2026-01-27 21:39:56 +08:00
linshen 84b1751cc7 refactor(ui): centralize VariableAwareInput wiring
Introduce useVariableAwareInputBridge to reuse variable extraction/missing-variable handlers across workspaces.
2026-01-27 21:26:08 +08:00
linshen 91e81772c2 feat(ui): harden variable parsing and validation
Support {{ foo }} placeholders, block unescaped mustache tags, and treat empty values as missing.
2026-01-27 21:11:43 +08:00
linshen 11dff36575 feat(ui): support variables in image mode
Enable variable-aware editing and ensure image generation replaces placeholders, blocking runs when required variables are missing or empty.
2026-01-27 21:03:17 +08:00
linshen 67a16ed036 feat(ui): dedupe and gc image storage by session refs 2026-01-25 22:41:04 +08:00
linshen 7ebe66df70 feat(ui): add multi-column image workspace test variants 2026-01-25 22:14:55 +08:00
linshen c6ba853f5d feat(ui): add multi-column pro-multi test variants
Introduce a split-view pro-multi workspace with a multi-column variant tester and persist layout/variant settings across sessions.
2026-01-24 21:55:57 +08:00
linshen 4f5af3b2e2 feat(ui): add multi-column pro-variable test variants 2026-01-24 18:00:21 +08:00
linshen a35d0b7eab feat(ui): add multi-column basic-system test variants
Align basic-system testing with basic-user by enabling 2–4 side-by-side variant runs with persisted per-column settings/results and A/B evaluation entry points.
2026-01-24 15:34:39 +08:00
linshen ce3af34d9b feat(ui): add multi-column basic-user test variants
Enable 2-4 column comparisons with per-variant version/model selection, persisted layout/results, and evaluation actions aligned to output.
2026-01-24 12:44:33 +08:00
linshen a539ef9023 chore(cursor): remove legacy workflows 2026-01-23 11:47:04 +08:00
linshen ba3c4b7c88 fix(ui): persist manual prompt edits to history
Ensure Save Changes creates a new version across basic and image workspaces.
2026-01-22 21:47:20 +08:00
linshen 4575ee1712 fix(test): build core before ui gate tests
Ensure @prompt-optimizer/core dist exists so Vitest/Vite can resolve workspace imports in a fresh CI checkout.
2026-01-21 23:57:19 +08:00
linshen 02caa81584 fix(i18n): add missing retry label
Add common.retry to locale bundles to avoid runtime warnings during evaluation error states.
2026-01-21 23:52:04 +08:00
linshen d3a44e44b5 ci: limit e2e to gate specs
Avoid running the full E2E suite on every PR/push. Keep fast unit gates and run only test:gate:e2e in VCR replay mode.
2026-01-21 23:46:12 +08:00
linshen e39495bfb9 fix(ci): use existing e2e replay script
Replace the missing pnpm test:replay step with pnpm test:e2e:replay and ensure gate runs with E2E_VCR_MODE=replay.
2026-01-21 23:41:37 +08:00
linshen 50ba9ab011 chore: bump version to 2.5.0
Sync version across root package, desktop app, and browser extension manifest.
2026-01-21 23:29:08 +08:00
linshen e326ad1747 chore: remove temporary root files
Drop an outdated screenshot and a stray review note from the repository root to keep the workspace clean.
2026-01-21 23:17:42 +08:00
linshen 0617868cfd ci: gate docker and release on tests
Make docker builds and desktop releases depend on the shared test workflow to avoid duplicate runs and ensure only tested revisions ship.
2026-01-21 23:05:11 +08:00
linshen e3f428013e feat(ui): warn about CORS-restricted providers
Expose optional corsRestricted provider metadata and show tags/dialogs on connection tests in web. Also hide the warning tag in desktop where IPC bypasses CORS.
2026-01-21 22:47:56 +08:00
linshen 3115540cac fix(desktop): preserve structured IPC errors for i18n
Keep error code/params across contextBridge so renderer can translate errors reliably; harden UI error formatting and update vue-i18n test mocks.
2026-01-21 21:23:17 +08:00
linshen 03a62630bd fix(i18n): align core errors to structured codes
- Normalize IPC/plain-object errors via toErrorWithCode
- Align image adapter + storage config errors to i18n codes
- Add missing UI locale keys and update tests
2026-01-20 22:23:00 +08:00
linshen 96a32ad46d feat(ui): persist evaluation results per workspace
Evaluation is now scoped to each workspace and stored in session snapshots to avoid cross-mode state leaks and restore after reload. Pro/multi clears evaluation results when the selected message changes.
2026-01-20 21:56:00 +08:00
linshen dd1589186c fix(ui): fail fast when image storage is unavailable for sessions 2026-01-20 21:17:00 +08:00
linshen 320957c385 feat(data): add desktop storage info to data manager 2026-01-20 20:43:00 +08:00
linshen 934601440a fix(ui): improve model key conflict errors 2026-01-20 20:08:00 +08:00
linshen 6d85f18c6a fix(ui): apply evaluation patch to image session 2026-01-19 22:24:24 +08:00
linshen c8f5a2dec8 fix(core): format dashscope image2image input as data url 2026-01-19 22:04:06 +08:00
linshen 40e1005d81 test(e2e): stabilize route bootstrap and output polling
- Reduce output polling flakes\n- Stabilize route bootstrap and smoke flows\n- Improve i18n label compatibility (incl. zh-TW)
2026-01-18 22:56:00 +08:00
linshen 8205df2dc1 fix(ui): harden workspaces, history restore, and image mode
- Harden workspace/session restore and initialization\n- Improve image mode behavior and storage handling\n- Update UI i18n and integration tests
2026-01-18 20:28:00 +08:00
linshen ca877ea794 build(ui): add vue-tsc typecheck
- Add vue-tsc typecheck to UI build pipeline
2026-01-18 16:43:00 +08:00
linshen 8c17e9c9e7 fix(desktop): align IPC for image errors and tools
- Align desktop IPC with structured image errors\n- Support LLM tools streaming over IPC
2026-01-18 13:17:00 +08:00
linshen 007a37e26a feat(core): structured image errors and adapters
- Add structured image error codes and types\n- Update image adapters and service surface for explicit requests\n- Update core tests and vitest configuration
2026-01-18 10:08:00 +08:00
linshen 7599020638 fix(i18n): translate structured core errors in UI
Align core errors to emit code+params and have UI render messages via i18n keys with interpolation, plus add tests for locale-specific output.
2026-01-17 12:56:55 +08:00
Prashant JainandClaude Opus 4.5 3a100d5314 feat(i18n): internationalize core error messages with error codes (#238)
- Add centralized error codes in packages/core/src/constants/error-codes.ts
- Refactor error classes to use error codes instead of hardcoded messages
- Add bilingual comments (English/Chinese) for cross-team collaboration
- Add error translations to en-US, zh-CN, and zh-TW locale files
- Export error codes from core package for UI layer consumption

This allows error messages to be displayed in the user's preferred
language while keeping the codebase accessible to both English and
Chinese speaking developers.

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 12:51:09 +08:00
Prashant JainandClaude Opus 4.5 b37950dc74 feat(ui): sort image models by enabled status and name (#235)
Sort image model configurations in Model Manager to display enabled
models first, then alphabetically by display name within each group.

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 16:46:00 +08:00
linshen 90f23b6e0a test(e2e): 补全文生图/图生图对比生成并稳定回放
- 增加 SiliconFlow 文生图与图生图用例并启用对比生成\n- 完善 VCR 回放(含非 SSE 响应)并修复输出选择器\n- 图生图跳过易抖动模板下拉、等待上传弹窗关闭;e2e 脚本改用 cross-env 兼容 Windows
2026-01-15 22:43:00 +08:00
linshen 840d4087a7 test(e2e): 补充 basic-system/basic-user 用例并增强回放
- 新增 system 对比用例并支持 VCR 多请求回放\n- 补齐 basic-user 用例并录制 fixtures
2026-01-15 21:08:00 +08:00