Releases
v1.2.13
Compare
Sorry, something went wrong.
No results found
[1.2.13] - 2025-12-14
Changed
Architecture refactoring (#47 Phase 2-4)
Unified monitoring flag management (single source of truth)
Unified snapshot data to manualSnapshots[0] (fixes data loss on app restart)
Made pauseMonitoring() idempotent (fixes duplicate log on sleep)
Extracted timing constants for maintainability
Added
Project documentation
ARCHITECTURE.md: Technical structure and data flow
PROJECT.md: Entry point for developers and systems
Fixed
AXUIElement position mismatch after long sleep (#50 )
Window restoration failed when CGWindowID matched but position coordinates diverged
Changed to size-based matching (10px tolerance) when CGWindowID exact match succeeds
Position matching remains as fallback for non-CGWindowID cases
Monitoring flag not restored on wake (#54 )
WindowTimingSettings.isMonitoringEnabled was set false on sleep but never restored
Added restoration in checkStabilization() alongside isDisplayMonitoringEnabled
Prevents permanent "snapshot skipped (monitoring disabled)" state
Phantom display IDs at login screen (#56 )
Added isUserLoggedIn() check using SCDynamicStoreCopyConsoleUser
Guards displayConfigurationChanged(), takeWindowSnapshot(), and restoreWindowsIfNeeded()
Prevents data corruption from login screen display IDs
Window restore fails after app restart during sleep (#56 )
windowPositions (memory-only) was lost on app restart
Phase 3 unified data to manualSnapshots[0] (persisted), eliminating this issue
You can’t perform that action at this time.