What's Changed
- Fixed critical bug where GPU and Display information showed "Unknown Display" and "(Metal )" - race condition in Shell.swift fixed by adding
task.waitUntilExit() - Fixed UI loading issue where default/empty values appeared before data populated - window now hidden until all data loaded
- Implemented file content caching in HardwareCollector (~50% reduction in file reads)
- Converted Tooltips to singleton pattern with lazy properties to prevent blocking startup
- Eliminated 1.5 second Thread.sleep by converting to async file creation
- Made CreateDataFiles.dataFilesCreated thread-safe with NSLock
- Centralized data loading in WindowController.waitForDataAndShowWindow()
- All hardware collectors now use HardwareCollector.shared.getCachedFileContent() instead of direct file I/O
- Adjusted Overview tab element positioning
Full Changelog: v2.2.0...v2.2.1