Releases: zembrodt/showtunes
Releases · zembrodt/showtunes
v0.6.1
New Features
- Spotify accounts URL is now configurable
- Auth token refresh can now be configured to refresh within a threshold of expiration when a request is sent (#52)
- Idle and playback polling values are now configurable (#58)
- Staging environment added
- Support for Spotify smart shuffle to display on the app (#62)
- Configurable throttle time to prevent repeated API calls to Spotify with different controls
- Support for Spotify API playback's disallows to disable relevant controls on the app (#64)
Changes
- Spotify service has been refactored into smaller services: auth, polling, and controls (#57)
- Unit test results stored in CircleCI
Fixes
- Missing configurations were added to the gulpfile to be configurable as environment variables
- CircleCI build fixed
- CSS themes refactored to prevent over-importing
- Build script refactored to include gulpfile and code coverage commands and prebuild and postbuild scripts
- Fix relevant Spotify API requests to handle text responses (#61)
- Catch Spotify API responses for 'restriction violated' and cancel the request (#63)
- Refactor the overlay container theme CSS to align with the app component's theme CSS (#60)
- Update Spotify Auth logout to also re-direct the app to the
/login
page (#63) - Add an authentication check request after failed Spotify API requests to see if the user is still authenticated or if the app should logout (#63)
v0.6.0
v0.5.2
Bug Fixes
- Fixed
generateCodeVerifier
using an incorrect method to generate random lengths - Reworked most unit tests to replace
async
/await
usage withfakeAsync
andwaitForAsync
to prevent testing timeout issues - Fixed issues with CircleCI uploading
coverage
to Codecov
v0.5.1
New Features
- PKCE authentication is now implemented for direct authorization with Spotify's account API
albumColorUrl
not being set will now disable relevant dynamic color featuresalbumColorUrl
endpoint response is now expected to pass the value under thecolor
variable- Auth Token is now saved with
expiry
as a Date object of when the token expires - Spotify auth configurations
scopes
andshowDialog
can now be passed as environment variables
Bug fixes
- Direct authorization with Spotify (non-PKCE) has been fixed and is used if a
clientSecret
is configured - Required configurations not being set will now gracefully prevent the application from starting instead of crashing
- Fix material theming duplicate color styles warning
v0.5.0
v0.4.4
v0.4.3
v0.4.2
New Features
- Added unit tests for all components, services, and state management logic (#31)
- Added CircleCI configs to execute unit tests and code coverage
- Added ability to upload code coverage reports to codecov
Fixes
- Moved the Spotify service in between component and state management layers to prevent cyclical dependency issues (#36, #37)
- Add null check for retrieving device icon within component
- Improve error handling and logging for the callback component
- Move color-picker theme to member variable
- Force localStorage keys to upper case
- Prevent track progress values from being negative
- Fixed valid hex regex from accepting all alphabet characters
- Add 'wheel' and 'mousedown' events to reset inactivity
- Navigate to /login page on refresh token failure
- Prevent SpotifyService.compareState method from returning 'undefined'
- Return null from SpotifyService.getCurrentTrack on error
- Moved track duration value from PlaybackModel to TrackModel
v0.4.1
v0.4.0
New Features
- Added logout method for Spotify OAuth (#19)
- Optional feature to fade track player controls after inactivity (#27)
- Added placeholders when playback is idle (#18)
- Added copyright to help dialog
Fixes
- Fixed playback stutter when app is initially loaded and music already playing (#12)
- Fixed resizing of settings menu when color picker input is added/removed (#25)
- Fixed help dialog to be scrollable
- Fixed usage of stale states during playback polling
- Added fixed boundaries on setting track position and device volume
- Refactored out deprecated imports from sass usage