Skip to content

v0.5.2 — GUI bug fixes, polish, distribution clarity - #9

Merged
ColeMei merged 6 commits into
mainfrom
v0.5.2
Jul 10, 2026
Merged

v0.5.2 — GUI bug fixes, polish, distribution clarity#9
ColeMei merged 6 commits into
mainfrom
v0.5.2

Conversation

@ColeMei

@ColeMei ColeMei commented Jul 10, 2026

Copy link
Copy Markdown
Owner

Summary

Fixes the two serious GUI bugs found in real v0.5.1 use, closes the Profiles/theme polish gaps, ships the last Phase-3 item (hide Dock icon), and untangles the CLI-vs-GUI Homebrew naming.

Fixes

  • GUI: closing the main window now hides it instead of destroying it — reopen via Dock click (RunEvent::Reopen) or the popover's "Open main window". Previously the window was unrecoverable until relaunch.
  • GUI: toggling "Show in menu bar" no longer duplicates tray icons. Removal goes through remove_tray_by_id (the builder registers a clone in the app's resources table, so dropping our handle never removed the icon).

Features

  • GUI: Appearance setting — System / Light / Dark. Resolved theme is stamped as data-theme on <html>; both windows restyle live (matchMedia for System, storage event for the popover).
  • GUI: Hide Dock icon toggle (activation policy Accessory), gated on the menu bar icon being on; turning the tray off forces the Dock icon back — never both hidden.
  • Core: history events older than 90 days are pruned on write (on top of the 500-event cap).

Changes

  • GUI Profiles: DRY-RUN PREVIEW panel is now a persistent fixture (placeholder when idle, per the design prototype); the history panel scrolls instead of stretching the page.
  • GUI: switching the update channel (Stable/Beta) re-runs the check immediately.
  • Distribution: cask renamed openwithopenwith-gui in the tap (already pushed); README restructured into explicit CLI vs GUI install tracks; release templates + steps updated; in-app update hint uses the new cask name.
  • CLAUDE.md: mandatory GUI smoke-test checklist added to the release process.

Validation

  • cargo fmt --check, cargo check, cargo clippy --all-targets --all-features -- -D warnings, cargo test (24 passed), npm run build — all green.
  • New test covers the 90-day prune; existing history tests migrated to now-relative timestamps.

Release plan

Tag is held. A .dmg is built from this branch for soak testing; tag/release/formula/cask bumps happen only after that passes.

ColeMei added 6 commits July 10, 2026 17:11
…s icons

Closing the main window now hides it (standard macOS behavior) and a
RunEvent::Reopen handler restores it from the Dock. Tray removal goes
through the app's tray registry (remove_tray_by_id) instead of dropping
a handle, which leaked one icon per off/on cycle. Adds set_dock_visible
for the new hide-Dock-icon setting.
… scrollable history

- Appearance (System/Light/Dark): resolved theme stamped as data-theme
  on <html>; dark palette re-keyed off it. Both windows restyle live
  (matchMedia for System, storage event for the popover).
- Hide Dock icon toggle, gated on the menu bar icon being on; turning
  the tray off forces the Dock icon back.
- Profiles: DRY-RUN PREVIEW panel is now a persistent fixture with a
  placeholder; history panel capped at 260px and scrolls.
- Beta/Stable channel switch re-runs the update check immediately;
  update hint uses the renamed openwith-gui cask.
Switching the activation policy to Accessory deactivates the app and
orders its windows out, so the toggle appeared to close the main
window. Re-show and refocus it after the switch when it was visible.
@ColeMei
ColeMei merged commit dcfa627 into main Jul 10, 2026
1 check passed
@ColeMei
ColeMei deleted the v0.5.2 branch July 10, 2026 07:31
@ColeMei ColeMei added bug Something isn't working enhancement New feature or request labels Jul 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant