Mac app card crash fixed and windows moved to Liquid Glass
The Mac app used to review and publish updates for engineering.satsuma.one no longer crashes when a card with a short is opened. Its detail view now uses AppKit's own video player instead of SwiftUI's built-in one, and cards with shorts were opened several times without a crash. The work was done with Claude in Claude Code, and the fixes are pushed to a branch.
The windows also moved to Apple's Liquid Glass style. They now blur what is behind them and stay translucent when the app is not in front. The cards, the live card, the review reason, Ask, the checks and the menu bar panel all use glass. Window captures cannot show translucency, so this part has not been checked by eye.
The fixes came from a scripted audit of every surface of the app: the main window, Ask, Settings, the onboarding steps and the menu bar panel, with a screenshot after each step. Early on, a full-screen capture showed the operator working in another app. From then on the real mouse and keyboard were left alone, the rest of the audit drove the app through accessibility actions while it ran in the background, and that capture was deleted. Publish was never pressed. Adding a command to the audit tool that opens Settings through the app menu was also tried.
Still open: the glass has to be seen live on screen, and it may still not be glassy enough.
- A scripted audit of every app surface (main window, Ask, Settings, onboarding, menu bar panel) through accessibility actions, with a screenshot after each step
- Checking that a held row in the menu bar panel opens Review on that update and that a decorative mark is not read aloud as a button
- Adding a menu-item command to the audit tool to open Settings through the app menu
- Stop using the real mouse and keyboard once a full-screen capture showed the operator's other app; drive the rest of the audit through accessibility actions with the app in the background
- Never press Publish during the audit
- The Liquid Glass translucency needs to be seen live; window captures cannot show it, and it may still not be glassy enough