156 Commits

Author SHA1 Message Date
linshen
1dbd6bf524 feat(ui): browse Garden inspiration and evaluation prompts 2026-11-04 11:28:03 +08:00
linshen
55fb004790 feat(arena): import evaluation prompts from Prompt Garden 2026-11-03 16:58:35 +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
f119bf23e2 merge: integrate local model discovery into develop 2026-10-30 10:10:24 +08:00
linshen
255061aae7 feat(models): discover local services with guided connection setup 2026-10-30 09:59:04 +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
f43c061b47 refactor(ui): simplify test configuration and model controls 2026-10-29 13:52:08 +08:00
linshen
561513f3bc refactor(data-manager): unify storage overview and cloud backups
Replace task tabs with device usage, local file actions and cloud backups.
Include saved workspaces, image model settings and favorites in local usage
estimates, preserving unknown values when individual reads fail.

Expose all supported cloud providers and use one connection settings toggle.
Open incomplete configurations, collapse successful explicit connections,
retain failed drafts and ignore stale responses from previous connections.
Keep backup browsing separate from explicit restore confirmation.

Update responsive layouts, keyboard file selection, drag-and-drop, local dark
theme contrast and Simplified Chinese, Traditional Chinese and English copy.

Validation: 60 component/storage unit tests; 6 isolated Chromium flows;
2 targeted browser reruns after button alignment; UI build/types, targeted
ESLint, locale parity and diff checks. Google authorization is mocked and
WebDAV uses a local test service. No real-cloud or packaged-app acceptance.
2026-10-29 12:01:15 +08:00
linshen
c812357f8f refactor(data-manager): organize backup and restore tasks 2026-10-28 21:00:24 +08:00
linshen
e539cffa13 fix(extension): enable sandboxed inline HTML previews 2026-10-28 14:13:10 +08:00
linshen
282a8d25f7 feat(ui): render inline HTML in unified output previews
Unify output controls as Preview and Source. Render completed HTML blocks
in isolated iframes at their original Markdown positions, preserving text
order and allowing independent interaction across blocks and result columns.

Keep streaming source virtualization and bounded worker rendering. Transport
HTML separately from host markup, enforce per-view and page preview budgets,
and separate worker startup from parsing deadlines on slow devices.
Refresh previews when only HTML bodies change and reject stale worker readiness.

Validation: 74 related unit tests, UI build/types, Web build, scoped source
ESLint, diff checks and browser-test discovery passed. Built-in browser
checks covered two concurrent streams, four interactive blocks, 4x CPU
slowdown, large SVG, dense Markdown fallback and complete source copying.
Real native background throttling was not revalidated in this change.
2026-10-28 11:23:14 +08:00
linshen
969492aa5c fix(ui): preserve HTML previews and allow external data requests
Keep independent iframe previews across browser tab switches and remove the restart toolbar. Allow external data APIs while retaining parent isolation and normal browser CORS rules.

Validation: 43 related UI unit tests, 6 headless browser regressions, UI build/types, scoped ESLint and locale parity passed. Updated native-tab coverage remains unverified; visible-browser testing was stopped at user request.
2026-10-28 10:26:34 +08:00
linshen
bdac2ee06b test(output): cover concurrent streaming and native tab lifecycle
Add regression coverage for parallel output, cancellation, capacity, slow CPU, bounded heaps, repeated runs and native tab visibility. Document architecture budgets, measured evidence, reproduction commands and untested boundaries.
2026-10-27 23:15:20 +08:00
linshen
edecfa2fed fix(backup): preserve data integrity during export and restore 2026-10-26 22:03:11 +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
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
6f72c60e52 refactor(ui): share workspace action orchestration
Share source preview state and batch test boundaries across seven workspaces,
evaluation action forwarding across text and text-to-image modes, and image
history commits across three image modes. Preserve per-mode requests, guards,
snapshots, save timing, and existing desktop/mobile presentation.

Add behavioral helper, mounted workspace, and browser regressions. Replace
implementation-location assertions with behavior coverage. Give the existing
multi-step mobile DataManager flow an explicit timeout without changing its
assertions. Document the ownership boundaries and acceptance evidence.
2026-10-23 14:05:18 +08:00
linshen
65f45e4e54 refactor(ui): share workspace split and test variant bindings 2026-10-23 13:09:38 +08:00
linshen
89f5b73593 fix(data): protect workspace snapshots against cross-window writes 2026-10-23 12:30:51 +08:00
linshen
5e0e9c9849 Merge mobile workspace and PWA support into develop
Integrate the mobile workspace, management components, installable Web shell,
and workspace migration while retaining the existing desktop presentation.
Preserve develop's Node runtime requirement, security patches, overrides,
and existing direct dependency versions when resolving the PWA lockfile.

Update four existing workspace test harnesses to retain VueUse exports and
reactive dimensions, and relax the obsolete literal grid binding assertion
while keeping the desktop split contract. Product behavior is unchanged by
these test repairs.

Validation on Node 24.22.1:
- Repository checks: 54 passed, including locale and runtime string checks.
- Core unit tests: 953 passed, 45 skipped.
- UI full regression: 188 files and 1216 tests passed.
- Web PWA tests: 32 passed.
- Core, UI, Web, extension builds and Web/extension typechecks passed.
- Production preview loaded without console errors; PWA assets served, and
  extension output excluded PWA assets.

Keep local preview services and validation artifacts; no remote push or release.
2026-10-23 11:28:33 +08:00
linshen
4a63dcc504 docs: close local mobile and PWA acceptance stage 2026-10-23 10:59:12 +08:00
linshen
c39ca494db feat(web): add installable PWA shell and local mobile preview 2026-10-23 10:45:14 +08:00
linshen
bb542ebec4 feat(ui): adapt mobile favorites and data management 2026-10-22 23:48:11 +08:00
linshen
7df1f85124 docs: define mobile management component design 2026-10-22 16:13:01 +08:00
linshen
bcf841534c refactor(ui): clarify mobile style and presentation ownership
Group compact styles by their owning components and replace positional selectors with semantic hooks. Unify seven workspaces on explicit region, folding, and scroll state; remove obsolete subview contracts. Sequence source navigation after scroll restoration to preserve its destination.
2026-10-22 16:11:49 +08:00
linshen
d6274e1f71 docs: record mobile baseline and architecture review
Separate the current architecture and acceptance boundaries from historical mobile experiments. Document corrected desktop regressions, shared behavioral fixes and the remaining CSS, view-state and management-page design work.
2026-10-22 15:21:46 +08:00
linshen
fd6563159a feat(desktop): add model network settings
Add machine-local system, direct, and manual HTTP proxy modes with hostname bypass rules. Apply routing only to model requests, preserve update and backup networking, and require restart to activate saved settings.

Refs #364. Validated with routing and IPC tests, UI checks, isolated Electron flows, and user desktop acceptance.
2026-10-19 16:37:27 +08:00
linshen
92c5aaadc4 docs: streamline first-time model setup and tutorials 2026-09-24 16:48:11 +08:00
linshen
e5bab3a6a3 fix: restore model tabs and adopt Node 24 2026-09-10 19:31:41 +08:00
linshen
272238dd6c docs: correct SSRF issue reference 2026-07-15 21:37:42 +08:00
linshen
c7d97d5018 docs: refine deployment guidance
- Align Cloudflare Workers setup across README and user docs
- Clarify build command cleanup and deployment context notes
- Keep frontend API key exposure warnings concise across providers
2026-05-27 23:17:46 +08:00
linshen
c06cf8adf6 docs: clarify docker compose env file usage 2026-05-18 22:54:46 +08:00
linshen
ce73ae0c8c chore: tidy root project files 2026-05-17 15:36:52 +08:00
linshen
2c08e28ade docs: add cloudflare pages deployment guide 2026-05-16 11:23:41 +08:00
linshen
684a7bf4c1 feat(provider): add Grok text and image support
- Add first-class xAI/Grok text and image adapters with dynamic model fallback.
- Register defaults, env mapping, docs, locale labels, and legacy converter handling.
- Cover Grok request payloads, image defaults, registry behavior, and input image limit checks.
2026-05-15 20:43:18 +08:00
linshen
b252168e04 chore(release): prepare v2.11.2 2026-05-13 23:07:36 +08:00
SamCheng0717
1df08bc2e5 fix(model): support JSON custom parameter values
- Parse Python-style JSON literals for custom model parameters

- Add JSON/string format controls for custom parameter inputs

- Add model parameter docs and locale strings
2026-05-13 21:03:26 +08:00
linshen
69db225a1a feat(model): support headers and text quick switching
- Add custom request header parsing and provider metadata resolution

- Add quick switching controls for text model workspaces

- Keep model UI labels and custom header output tidy
2026-05-10 23:08:14 +08:00
linshen
3f6c460154 feat(garden): add inspiration and import polish
- Add prompt garden inspiration suggestions for image workspaces

- Use public API paths and locale-aware suggestion loading

- Preserve category paths when importing favorites from Prompt Garden
2026-05-10 21:23:37 +08:00
linshen
b34ca68898 chore(release): move macOS note to release body footer 2026-05-10 15:57:12 +08:00
linshen
9e4d60fc9c docs: sync documentation with v2.10.0 features
- Update site/src/main.js with image generation, Prompt Garden, Smart Favorites
- Update README.md and README.zh-CN.md with new features
- Update docs/project/ to v2.10.0 (project-status, prd, README)
- Update docs/README.md timestamp
2026-05-03 21:08:50 +08:00
linshen
6d75528793 feat(prompt-garden): integrate import and favorite flow
Wire Prompt Garden imports into workspace and favorite flows, add the import dialog/panel affordances, persist Garden metadata/media into favorites, and document the external import contract.
2026-05-03 13:15:16 +08:00
linshen
0b9cd227d9 docs(prompt-model): consolidate standardization status 2026-05-03 13:15:14 +08:00
linshen
4accdf1417 feat(prompt-garden): add discovery import entry
- Add environment defaults and Vite proxy configuration for Prompt Garden discovery
- Expose discovery import controls from workspace utility surfaces
- Wire image text-to-image import affordances and localized copy
- Document configuration and cover environment/UI behavior with tests
2026-05-02 22:20:01 +08:00
linshen
23848a840d feat(favorites): refine prompt asset workspace flows
- Bind favorites to source assets and save targets throughout workspace actions
- Share the favorite editor/detail surfaces across dialogs and workspace panels
- Add provenance badges, utility-menu apply actions, and themed favorite panels
- Expand unit and integration coverage for favorite source and editor flows
2026-05-01 14:36:12 +08:00
linshen
93377e1b70 feat(favorites): standardize prompt asset sessions
- Add prompt-model services for content, examples, modes, sessions, and history
- Persist richer favorite prompt-asset metadata and session projections
- Wire favorite save/apply paths across supported workspaces
- Cover the new prompt-asset contract with core and UI regressions
2026-05-01 10:24:18 +08:00
linshen
2e119a6d83 fix(core): align seedream image model capabilities 2026-04-20 22:26: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