[1.0.90] - 2025-03-02
Changelog
[1.0.90] - 2025-03-02
Changed
- Reduced
TokenRefreshCheckIntervalSecondsfrom 1500s (~25m) to 60s (~1m) inStartBackgroundTokenRefreshto ensure timely token refresh before expiry. - Fixed
_trackProgress.Valuetype mismatch inGetSpotifyInfofrom string"No track playing"to float0.0F, resolving compile error CS0029.
Purpose
- Ensures background refresh triggers reliably within the 60s buffer (
TokenExpirationBufferSeconds), preventing token expiry failures during long runs (e.g., >2h tests with multiple refreshes). - Corrects type error for
PluginSensorvalue, ensuring proper compilation and functionality.
[1.0.88] - 2025-03-02
Changed
- Simplified
SetDefaultValuesandHandleErrormethods by removing redundant"Unknown"fallback logic inSetDefaultValues. - Removed unused
usingstatements (e.g.,System.ComponentModel,System.Web).
Purpose
- Reduces code redundancy and improves readability without altering functionality—pure style cleanup.
[1.0.87] - 2025-03-02
Changed
- Fixed redundant
TryInitializeClientWithAccessTokencalls inInitializeby storing result in aboolvariable, reducing log noise (e.g., duplicate "Initialized Spotify client" messages). - Updated
ExecuteWithRetryto throwAggregateExceptionwith retry context instead of barelastException. - Restricted
_forceInvalidGrantloading from.inito debug builds using#if DEBUG, forcingfalsein release builds.
Purpose
- Cleaner initialization logs, better error context for retries, and production safety by disabling debug flags in release.
[1.0.86] - 2025-03-02
Changed
- Enhanced refresh logging in
StartBackgroundTokenRefreshandTryRefreshTokenAsyncfor clearer timing diagnostics (e.g., "Background token refresh triggered at UTC..."). - Ensured
SaveTokensconsistently updates.tmpfile during refreshes, fixing occasional non-updates. - Adjusted
forceInvalidGranttiming to align with refresh simulation in debug mode.
Purpose
- Improved debug visibility into refresh cycles, fixed
.tmppersistence issues (e.g., token expiry not updating), and refined debug simulation behavior.
[1.0.85] - 2025-03-02
Changed
- Silenced nullable warning CS8625 in
TryRefreshTokenAsyncby addingnull!toAPIExceptionthrow forforceInvalidGrant.
Purpose
- Clean compile with no warnings—cosmetic fix, no functional change.
v1.0.70 (Mar 1, 2025)
- Optimized: Background refresh interval.
- Changes: Increased
TokenRefreshCheckIntervalSecondsfrom 30s to 1740s (~29 minutes) for ~2 checks/hour. - Purpose: Reduce excessive polling while ensuring refresh before 1-hour token expiry with 60s buffer.
- Changes: Increased
v1.0.69 (Mar 1, 2025)
- Fixed: Background refresh startup reliability.
- Changes: Replaced blocking
.GetAwaiter().GetResult()inInitialize()with asyncTask.Run()for refresh, enhanced logging to track task execution, ensured_authStatesyncs on all failures. - Purpose: Prevent deadlocks, confirm background task runs, and align auth state with refresh success/failure.
- Changes: Replaced blocking
v1.0.68 (Mar 1, 2025)
- Fixed: Background token refresh reliability.
- Changes: Reduced
TokenRefreshCheckIntervalSecondsto 30s, forced initial refresh inInitialize(), enhanced state sync and logging, avoided blocking in refresh startup. - Purpose: Ensure token refreshes catch expiry early, run reliably, and log clearly for debugging.
- Changes: Reduced
v1.0.67 (Mar 1, 2025)
- Fixed: Background token refresh timing.
- Changes: Reduced
TokenRefreshCheckIntervalSecondsto 60s, synced_authStateon refresh failure, improved refresh logging. - Purpose: Ensure timely token refresh within 1-hour expiry, reflect auth state accurately, and debug refresh issues.
- Changes: Reduced
Full Changelog: 1.0.66...1.0.90