45 Commits

Author SHA1 Message Date
且炼时光
82e94e84d9 fix(release): prepare v2.15.2 output and security fixes (#375)
Restore wrapping and default Stop controls for streamed output. Upgrade Vue I18n to 11.4.14 and Hono Node Server to 2.1.3. Keep complete output architecture regressions in the daily browser gate and prepare synchronized v2.15.2 versions and bilingual release notes.

Validated by the complete PR CI and Vercel checks; local output/Arena/MCP regressions and release-note checks passed.

Fixes #374
2026-11-09 04:10:30 -08:00
linshen
a53d0f36d6 feat(arena): add unified multi-model comparison workspace
- Reuse shared input, model selectors and output components for independent
  text and image test columns with responsive side-by-side comparison.
- Add parallel request-local model selection, desktop streaming support,
  session transfer and image asset persistence without changing shared configs.
- Remove redundant model scope and stale-result copy across workspaces.
- Document final behavior and add focused runtime, session, UI and IPC coverage.

Validation: 32 core contract/transfer tests, 12 Arena session tests and 20 desktop
IPC tests passed. Related UI regressions, type/locale checks and builds were
verified during implementation.
2026-11-02 23:42:12 +08:00
linshen
59430fed18 feat(ui): unify model selectors and isolate workspace model choices
(cherry picked from commit 1a416f4197f9ab4c6fc55f12517798f3253fd10d)
2026-10-29 17:14:55 +08:00
linshen
e539cffa13 fix(extension): enable sandboxed inline HTML previews 2026-10-28 14:13:10 +08:00
linshen
a2ec2893e6 fix: resolve backup and IPC review checks 2026-10-28 11:41:35 +08:00
linshen
dbaa768772 feat(ui): add isolated HTML output previews
Offer explicit iframe previews for raw HTML and single fenced HTML blocks, with script isolation, reload, fullscreen and compact mobile controls.

Keep HTML literal in Markdown views, stop previews when output changes, and add model-free browser coverage to the daily regression suite.
2026-10-27 15:09:33 +08:00
linshen
edecfa2fed fix(backup): preserve data integrity during export and restore 2026-10-26 22:03:11 +08:00
linshen
5a1152268d fix(models): preserve saved parameters when updating definitions
Use current parameter definitions for known models at declared provider endpoints while retaining saved snapshots, custom definitions and runtime defaults. Validate edited values without blocking unrelated updates on unchanged legacy parameters.

Add 48 compatibility regressions, including SDK request comparisons and persistence round trips, and wire the new core suites into the existing CI gate.
2026-10-26 15:08:48 +08:00
linshen
dd62ca8a37 fix: restore global settings and reconnect variable extraction 2026-10-25 13:54:26 +08:00
linshen
148e12a9b5 fix(release): allow Docker guard to read draft releases 2026-10-23 23:07:17 +08:00
linshen
bbcb07af07 fix(release): project paginated release metadata before capture 2026-10-23 22:40:55 +08:00
linshen
7dfd1f5f99 test: mount Nginx auth fixture independently on Linux 2026-10-23 22:28:26 +08:00
linshen
e05ccb8576 chore(release): prepare v2.12.0-beta.1 2026-10-23 22:12:57 +08:00
linshen
d7ecafad4c ci: unify release channels and prepare mobile PWA notes 2026-10-23 22:08:34 +08:00
linshen
de10bb8ddf fix: preserve idle session checkpoints and enable Docker PWA 2026-10-23 17:25:45 +08:00
linshen
18ba6da3d5 fix: harden snapshot recovery and deferred mobile saves
Bind corrupt-session cleanup to the exact restored snapshot and preserve newer writes across cleanup and import freezes. Retry mobile saves after temporary contention using workspace identities, without changing desktop save semantics.

Wire Web/PWA and workspace regressions into the daily gates, including clean-build prerequisites and atomic storage coverage.
2026-10-23 15:51:05 +08:00
linshen
1ee326fc89 fix(desktop): define Linux executable name 2026-09-11 09:16:02 +08:00
linshen
cc223808f5 fix: harden model UI and desktop packaging 2026-09-10 21:47:36 +08:00
linshen
e4a281f42d fix: restore model setup access and update dependencies 2026-09-10 15:49:53 +08:00
linshen
8a7f9e7f64 fix(security): require exact auth endpoint bypass 2026-09-10 14:13:32 +08:00
linshen
0c3679511d fix(test): complete Basic/System image attachment support (#196) 2026-07-18 18:13:41 +08:00
linshen
3126ae4530 feat(test): support image attachments in Basic/System tests (#196) 2026-07-17 23:25:52 +08:00
linshen
0e4f58292a fix(desktop): route unsigned macOS updates to releases (#313)
Refs #313
2026-07-16 22:49:54 +08:00
linshen
75aeb5ba66 fix(web): restore root env loading
- Restore root .env loading for web Vite builds.
- Keep extension release env isolation intact.
- Cover package script behavior with node tests.
2026-05-16 13:31:18 +08:00
linshen
269df1dcf7 fix(release): isolate extension build env
- Split extension release builds from web env loading.
- Add a release secret guard for extension packaging.
- Keep web and extension Vite configs from leaking incompatible env.
2026-05-15 23:38:52 +08:00
linshen
b252168e04 chore(release): prepare v2.11.2 2026-05-13 23:07:36 +08:00
linshen
b34ca68898 chore(release): move macOS note to release body footer 2026-05-10 15:57:12 +08:00
linshen
be5bffa582 fix(ui): harden backup asset restore safety 2026-05-09 19:18:24 +08:00
linshen
b0680cda7e feat: add deployment-aware remote backups 2026-05-08 21:17:23 +08:00
linshen
0fb7db9c7f docs(release): simplify macos note 2026-05-03 15:12:57 +08:00
linshen
61f4fe4af2 fix(desktop): register preference IPC handlers
Register the desktop preference IPC bridge, add coverage for preload/main handler parity, and keep the favorite preview extension host props aligned.
2026-05-03 13:15:19 +08:00
linshen
79f835e0f9 fix(ci): relax no-change release notes sections 2026-04-25 15:17:01 +08:00
linshen
5d59e80f6f fix(scripts): normalize direct execution checks 2026-04-09 22:48:44 +08:00
linshen
54fbd76685 fix(i18n): restore locale defaults and localized feedback
- restore locale bootstrap defaults across UI and MCP startup paths
- localize template, context editor, favorites, Prompt Garden, and history feedback toasts
- isolate UI consumer typechecks needed by the localization rollout
- add regression tests covering english-first runtime behavior and localized fallbacks
2026-04-09 22:17:34 +08:00
linshen
bb7af28d3d fix(repo): harden english-first checks and MCP packaging
- strengthen locale parity checks and related regression coverage
- stabilize repo-level english-first test expectations
- harden MCP packaging, install entrypoints, and supporting script validation
- tighten related config and model checks used by the rollout
2026-04-09 20:31:52 +08:00
linshen
c75afa89e9 feat(i18n): establish english-first locale baseline
- split UI locale packs into en-US, zh-CN, and zh-TW modules
- switch runtime defaults, docs, and repository guidance toward an English-first baseline
- update core, MCP, and UI runtime copy to remove hardcoded Chinese fallbacks
- add locale parity and no-hardcoded-runtime guardrails across the repo
2026-04-08 20:18:27 +08:00
linshen
8cf43a3e3d test(e2e): streamline gated suites and replay stability 2026-04-06 14:13:29 +08:00
linshen
bd546ebe0f build(release): add repo-driven bilingual release notes 2026-04-05 08:24:26 +08:00
linshen
520ae2be99 build(deps): align toolchain peers and replace npm-run-all
- align TypeScript with the current eslint peer range across packages
- replace npm-run-all with a local run-many script and test coverage
- tighten remaining mcp-server typing so the package lint stays clean
- update the lockfile after removing redundant root-level tooling deps
2026-03-27 22:18:57 +08:00
linshen
414ec28d7e feat(evaluation): migrate compare rewrite protocol and add calibration artifacts 2026-03-22 14:28:53 +08:00
linshen
afb0f92d19 refactor(e2e): 全面重构端到端测试基础设施
- 实现 VCR 在启用真实 LLM 时默认使用 off 模式
- 实现动态数据库隔离以支持并行测试
- 修复 Pro 模式 session 持久化测试
- 移除 VCR fixtures 中的时间戳字段
- 改进测试隔离以防止路由状态泄漏
- 修正 smart-e2e 只检查实际调用 LLM API 的测试 fixture
- 简化 smart-e2e 使用 auto 模式
- 重命名 analyze-prompt.spec.ts 为 route-initialization.spec.ts
- 添加 session 持久化测试,验证下拉框选择刷新后丢失问题
2026-01-10 15:47:00 +08:00
linshen
8467b96263 feat(test): 实现智能测试系统并改进测试策略
- 实现智能测试系统,统一测试入口
- 完成 Pro 路由重构和 Image 模式评估测试
- 为 Image 模式添加 data-testid 支持
- 完善 E2E 测试并修复选择器策略
- 优化 Seedream、OpenAI 和 SiliconFlow 适配器
- 移除调试日志,保留错误和警告日志
- 重命名 Pro 模式子模式(system/user → multi/variable)
- 清理测试代码并改进稳定性
2026-01-10 11:23:00 +08:00
linshen
b8cf182154 chore(dev): 添加开发进程自动清理脚本
- 新增 kill:dev 脚本用于清理占用 18181 端口的进程
- 在 dev:fresh 和 dev:desktop:fresh 前自动执行清理
- 支持跨平台(Windows/Linux/macOS)
- 双轮清理策略确保进程完全退出
2025-11-16 13:25:09 +08:00
linshen
93ec7d4581 feat: 优化桌面应用版本控制与构建流程
- 更新桌面应用版本至1.2.0,反映最新功能改进。
- 同步版本脚本新增桌面应用包文件版本同步支持。
- 更新`dev.md`,新增Desktop开发命令与分支管理策略。
- 优化`package.json`,简化构建流程并支持并行构建。
- 更新`vercel.json`,添加Git部署配置,确保主分支自动部署。
2025-07-05 14:52:46 +08:00
linshen
7cfbea000c feat(project): 添加版本同步机制并更新相关文件
- 新增版本同步脚本 sync-versions.js,实现自动同步 package.json 版本号到指定文件
- 更新 package.json,添加 version:sync 和 version 脚本
- 修改 App.vue 文件,添加 GitHub按钮
- 更新国际化文件,明确模板占位符格式
- 新增 version-sync.md 文档,说明版本同步机制的使用和管理
2025-06-08 22:57:08 +08:00