- hr had border: 1 which is invalid CSS — changed to border: none
- OutputDisplayCore had max-height: 100% in the class attribute instead
of a style property — removed it
- scroll listener in useAutoScroll was missing { passive: true }
- removed unused onMounted import from useLazyLoad
- removed shadowed loading prop in FavoriteButton
- 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.
- 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.
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.
Rework favorite detail layout for text and image variants, keep reproducibility/version/extra sections expanded consistently, and update the detail-panel tests around the refined section behavior.