- Register Chrome built-in AI as a local text provider with availability checks.
- Add explicit setup/download gating and auto-enable safeguards.
- Preserve structured prompt roles through initialPrompts and stream tests.
- Keep no-key and local model sources disabled until explicit user configuration exists.
- Tighten default text and image model enablement checks.
- Cover environment-driven defaults for local providers.
- 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.
- 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
- Commit basic and context optimization session updates
- Persist image and pro conversation optimization results
- Restore sessions safely after history reload
- Link test source cues back to prompt panel areas
- Add source-linked cards, variant tags, and feedback composables
- Add image model quick switching and workspace control polish
- 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
- 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
- Restore image resources when metadata exists but bytes are missing
- Limit remote restore scope and sanitize external link handling
- Reuse image resource backup helpers across restore packages
- Extend restore safety coverage for data manager and snapshots
- Clear stale history chain metadata when workspace state changes
- Centralize external URL opening behind a shared helper
- Add copy-and-open AI platform actions with localized labels
- Cover workspace and output action behavior with unit tests
P1: Remove unused injects and functions
- Remove unused appOpenPromptPreview inject from ContextSystemWorkspace
- Remove unused appOpenPromptPreview inject from ContextUserWorkspace
- Remove unused handleOpenToolManager/handleOpenVariableManager from ContextUserWorkspace
P2: Fix saveToGlobal bypassing persistence
- Use variableManager.addVariable() instead of direct customVariables.value assignment
- This ensures proper validation and saveToStorage() is called
P3: Fix trailing whitespace in docs
- Remove trailing whitespace from replicate.md
- Remove trailing whitespace from style-learn.md
Migrate Pro workspace event handlers from emit to provide/inject pattern
to fix broken event chain introduced by RouterView refactoring (2b669b9d).
Fixed actions:
- openToolManager: tool management modal not opening (#293)
- openVariableManager: variable manager not accessible
- handleSaveFavorite: save-to-favorite not working in Pro mode
- saveToGlobal: save temporary variable to global failing
- openPromptPreview: prompt preview panel not opening
Pattern: provide('key', handler) in PromptOptimizerApp, inject with
emit fallback in ContextSystemWorkspace and ContextUserWorkspace.