Skip to content

Releases: maksim0-debug/Solaris

v1.0.7

14 Apr 21:57
v1.0.7
cd8b4a7

Choose a tag to compare

Release v1.0.7

This release focuses on under-the-hood improvements. Background CPU and GPU resource consumption has been reduced, hardware calls to monitors have been optimized, and the "Start in Tray" feature has been implemented.


✨ What's New

  • 🖥️ Startup Modes: Application startup behavior can now be customized. Settings now include options to choose between starting Minimized or launching hidden in the System Tray.
  • ⌨️ Command Line Arguments: Added the --tray flag to force the app to start in the background without showing a window or taskbar icon.
  • 🌍 Localization: New features and UI elements have been translated into English, Russian, and Ukrainian.

⚡ Performance & Core Optimizations

  • 🧊 Background CPU Optimization (C++ Gaming Detector): The fullscreen game detection logic in monitor_manager.cpp has been rewritten.
    • Introduced PID caching (process_cache_). Operations like fetching the full process path, checking parent processes, and scanning loaded DLLs for XInput/DirectX/Vulkan are now executed strictly once per process lifetime.
    • The detector polling interval has been increased to 2 seconds, dropping background CPU usage to near zero while maintaining protection against Alt-Tab false positives.
  • ⏸️ UI Freezing Optimization (Flutter): When the window is minimized or sent to the tray, the app now uses TickerMode instead of pruning widgets from the tree (SizedBox.shrink()). This stops animations (like the Pulsing Radar and Dial) and gradient rendering to save GPU resources, while preserving widget states to eliminate visual flickering and lag when restoring the window.
  • ⏱️ Circadian Loop Debouncing: The hardware-facing color temperature update loop no longer reacts to every 1-second tick of the UI chart. The debouncedSolarStateProvider has been implemented, which only pushes new values to the monitors if the sun elevation changes by >= 0.1°, the day phase changes, or a 60-second heartbeat elapses. This reduces background calculations.
  • 📉 DDC/CI Bus Optimization: The delay between sending commands in TemperatureService has been increased from 30ms to 120ms (~8 Hz). Because the human eye is less sensitive to the timing of color temperature shifts compared to physical motion, this maintains smooth visual transitions while reducing SetDeviceGammaRamp calls and MethodChannel traffic by nearly 4x.

🐛 Bug Fixes & Improvements

  • 📌 Taskbar Integration: Fixed a bug where restoring the window by clicking the tray icon could cause the app to be missing from the Windows taskbar (added a forced setSkipTaskbar(false) call).
  • ✨ Smooth Windows Startup: Window initialization has been moved to the Dart side after the first frame is rendered, and the Show() callback was removed from C++ (flutter_window.cpp).
  • 🌙 Sleep Screen: Improved the rendering logic for analysis sections. Circadian rhythm regulation panels are no longer blocked by strict Google Fit status checks, and loading states ("Syncing...") are displayed more gracefully.
  • ⚙️ Hotkeys: Fixed an issue preventing the resetting and updating of custom global hotkeys for the auto-brightness toggle.

v1.0.6

09 Apr 17:41
v1.0.6
45eaf6d

Choose a tag to compare

1.0.6

v1.0.5

07 Apr 20:25
v1.0.5
9dd69f4

Choose a tag to compare

Enhances weather influence with WeatherAPI.com integration

Upgrades weather data acquisition by integrating WeatherAPI.com as the primary source, with Open-Meteo serving as a reliable fallback. This provides more accurate real-time weather conditions and solar radiation data for precise brightness adjustments.

Introduces a new setting to allow users to manually select their preferred weather provider or use an automatic fallback system. A WEATHER_API_KEY is now required for WeatherAPI.com functionality.

Refines the weather adjustment logic, making brightness responses to cloudiness and precipitation more impactful. Updates the UI to display wind speed and the last updated time for weather data, replacing surface temperature readings. Adjusts cloud animations for a more intuitive visual representation.

v1.0.4

06 Apr 15:47
v1.0.4
b5eff5b

Choose a tag to compare

Implementing Weather Adjustment Intensity. Optimizing Weather Adjustment Logic
image

v1.0.3

04 Apr 07:40
531248d

Choose a tag to compare

Including License In Builds, Updating Google Fit Documentation