OpenMeow v0.0.8
[0.0.8] - 2026-04-20
Official Demo Day release. Layered UX polish, Fishy state-bug fixes, and ~400 LOC of cleanup on top of v0.0.7.
Added
- Dynamic per-agent accent colors —
GatewayChatAgentOption.accentColoris the single source of truth. The Fishy agent badge,/fishyslash row, and related chrome now all read as orange (#FF6701); general stays purple. Future agents extend by adding one case. - Pane empty states — Browser/Results tabs always render something meaningful. Tapping Browser with no open page shows a "Browser idle" card; tapping Results with no run shows "No results yet". Switching between tabs never feels like a dead click.
- Tier-1 custom slash screens — gateway, shortcut, notify, remind, timer, alarm, launcher — each with auto-focused primary fields.
- Raycast-inspired launcher redesign in OpenMeow vibe.
- Agent-scoped slash commands, drag-to-resize expanded shell, and hover/expand tuning.
- Expanded reminder storage with refreshed time-control UX.
- Generic
PickerGridSlashScreen<T>collapses Theme + Eyes pickers to ~20 lines each. Future pickers (/accents,/icons, …) land in ~15 lines. - Shared Settings components —
LabeledSliderandSettingsFootnotecentralize slider typography (6 sites) and caption chrome (13 sites) across every Settings panel. AppSettings.runMigrations()— one-shot UserDefaults cleanup hook at launch, each migration guarded by a versioned flag.
Changed
- Chat agent badge — icon, text, fill, stroke, and a subtle tint-matched drop shadow all read the selected agent's accent color.
- Command palette
/fishyrow — always-visible orange border (0.28) that firms on selection (0.55) plus a soft 6% fill and a subtle selected-state glow. Reads as a distinct agent surface at a glance. - Fishy JSON preview — both-axis scroll with
.fixedSizetext so long pretty-printed payloads no longer clip below the 220pt frame; card chrome + thin Fishy-tinted border lifted to the scroll view so short JSON still reads as a block. - Fishy Browser/Results toggle — persists whenever either pane has content (previously hidden unless BOTH existed).
- Named
KeyCodeenum replaces magic numbers (126/125/36/48/53) inChatTextEditor.
Fixed
- Fishy tab switching — tapping Browser after results landed used to silently show Results (because
resolvedFishyPanefell back). The tab now renders its own empty state when its pane is empty. - Shell auto-focuses pill composer on expand + slash screen primary fields on presentation.
Removed
- Dead
scaleXView extension. - Seven orphaned
@AppStoragewebsite-slot keys + their helpers; migration retires the defaults plist keys on existing installs.
Release notes
Demo Day build (2026-04-20 PM): end-to-end Fishy path polish + Demo Day cleanup sprint stages 1.1, 1.3, 2.1–2.4 shipped. Signed, notarized, stapled build to follow.