-
Notifications
You must be signed in to change notification settings - Fork 45
Release/4.0.0-alpha.1 #421
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Same as previous PR in the master branch, cleaned the switch case, added shortcuts customization, added a list of missing cases, to be done later. Stored in local storage so should be exportable easily. Everything should be conform and using dynamic colors. Nothing has been added to the i18n files, todo soon.
Everything has been moved to LocalStorage structure and has also been added to the LOCAL_STORAGE_DEFAULT. I also fixed every issue you mentioned such as types and usage of your already made buttons, I can confirm they are waay better haha. I added another resetItem function to make it easier to reset the keyboardShortcuts and can be useful for future functions. I also tried to reset, export and import and everything worked perfectly !
…ation Migrated PR to 3.1 - Added customization of shortcuts
Same as previous PR in the master branch, cleaned the switch case, added shortcuts customization, added a list of missing cases, to be done later. Stored in local storage so should be exportable easily. Everything should be conform and using dynamic colors. Nothing has been added to the i18n files, todo soon.
Everything has been moved to LocalStorage structure and has also been added to the LOCAL_STORAGE_DEFAULT. I also fixed every issue you mentioned such as types and usage of your already made buttons, I can confirm they are waay better haha. I added another resetItem function to make it easier to reset the keyboardShortcuts and can be useful for future functions. I also tried to reset, export and import and everything worked perfectly !
… minor-release
Tailwind v4
…res; remove unused About route and enhance preloader functionality.
… release/4.0.0
… release/4.0.0
…enres, and playlists - Updated routing structure to replace song ID with song ID parameter in routes. - Introduced new routes for albums, artists, genres, and playlists with corresponding components. - Implemented navigation updates in SongCard and NavigationControlsContainer to use new routing. - Added sorting options for songs and integrated them into the application state. - Created a NavLink component for better navigation handling. - Enhanced the TitleBar to display the current location in the app. - Refactored SongInfoPage to utilize new routing and state management. - Added base search parameters schema for sorting and scrolling behavior.
…work removal process - Implemented `deleteArtworks` and `updateArtwork` functions in the artworks query module. - Updated the artwork management logic to include a new `removeArtworks` function that deletes artworks from the database and filesystem. - Refactored the `storeArtworks` function to improve error handling and artwork storage. - Modified the search results handling in the main player search component to utilize React Query for data fetching. - Removed obsolete state management and effects related to search results, streamlining the component's logic.
refactor: enhance AppearanceSettings component with optimistic updates for theme changes feat: add settings mutation for changing app theme
…and error handling. Disabled biome.
…efactor theme-related components and remove obsolete user data handling
… loader and pending components
…ctions; add new comprehensive tests for parseLyrics and restore hasDataChanged and isLatestVersion tests with updated structures. Update TypeScript configuration files to enable source maps for better debugging.
fix: include relevantAlbumArtists in the return object of manageAlbumsOfParsedSong function
- Updated database schema to include case-insensitive text columns (citext) for artists, albums, genres, playlists, and songs. - Added PostgreSQL extensions for citext and pg_trgm to support fuzzy searching. - Modified search queries to utilize case-insensitive columns and added similarity search functionality. - Updated search-related components and state management to handle the new similarity search option. - Refactored search functions to accept and process the new similarity search parameter. - Adjusted UI components to reflect changes in search options and maintain consistency across the application.
- Implement tests for constructor and initial state, including default values and custom parameters. - Add tests for getters such as currentSongId, length, isEmpty, hasNext, hasPrevious, nextSongId, and previousSongId. - Include tests for setters, navigation methods, and queue manipulation methods. - Test shuffle and restore functionalities, ensuring correct behavior under various scenarios. - Cover edge cases and complex scenarios, including handling of large queues, special characters, and rapid position changes. - Ensure position integrity during various operations, including adding and removing songs.
… queueType - Refactored PlayerQueue to encapsulate queueId and queueType within a metadata object. - Updated constructor and methods to handle the new metadata structure. - Modified tests to reflect changes in metadata handling. - Ensured backward compatibility by maintaining existing functionality while improving code organization.
- Added a new script to drop the database with confirmation prompt. - Updated package.json to include the new dropDatabase script. - Upgraded zod dependency to version 4.1.12. - Enhanced update checking in update.ts with user dialogs for update notifications. - Minor code cleanup in main.ts and update.ts.
- Downgraded zod dependency version in package.json. - Introduced PlayerQueue class to manage song queues with enhanced functionality. - Added event emission for queue changes, song additions/removals, and position changes. - Updated App component to utilize PlayerQueue for managing song queues. - Refactored local storage handling to accommodate new PlayerQueue structure. - Adjusted appReducer to work with PlayerQueueJson type. - Enhanced unit tests for PlayerQueue to cover new features and event handling.
- Updated package.json to remove unnecessary inspect flag from dev script and upgraded @biomejs/biome to version 2.3.2. - Removed unused code and comments in main.ts, enhancing readability. - Integrated useAudioPlayer and usePlayerQueue custom hooks for singleton instances of AudioPlayer and PlayerQueue, improving state management. - Refactored App component to utilize new hooks, simplifying player and queue initialization. - Added event listeners for queue changes to sync with localStorage automatically. - Updated SongsControlsContainer to use toggleQueueShuffle instead of a separate handleQueueShuffle function. - Modified UpNextSongPopup to use updated queue structure and improved state management. - Enhanced localStorage utility functions to handle PlayerQueue instances directly. - Adjusted queue handling in main-player route to work with new queue structure.
…layback errors, playback settings, player control, navigation, prompt menu, queue management, and window management - Implemented `useMultiSelection` for handling multiple selections in the UI. - Created `useNotifications` to manage application notifications with deduplication and limits. - Developed `usePlaybackErrors` for managing playback errors and retry logic. - Added `usePlaybackSettings` to control playback settings like volume, mute, and repeat. - Introduced `usePlayerControl` for core audio playback functionalities. - Implemented `usePlayerNavigation` for navigating through the playback queue. - Created `usePromptMenu` for managing prompt menus and navigation history. - Developed `useQueueManagement` for comprehensive queue management functionalities. - Added `useWindowManagement` for handling window interactions and behaviors.
…cing them with TanStack Router's navigate function. Updated various components to utilize the new navigation approach, ensuring a cleaner and more maintainable codebase. Removed unused context methods related to page history and active page data updates.
…guration - Updated test files to import Vitest testing functions. - Changed TypeScript configuration to use Vitest types instead of Jest. - Added GitHub Copilot instructions for project architecture and development workflows. - Created a new Vitest configuration file for testing setup and coverage reporting.
…e maps; update database drop confirmation prompt and error handling; improve song queue management and dynamic theme application
- Introduced a singleton pattern for the AudioPlayer and PlayerQueue to ensure consistent state across components. - Integrated queue management directly into the AudioPlayer, allowing automatic song loading based on queue position changes. - Added a new custom hook, useQueueOperations, to centralize queue modification methods and eliminate duplicate logic. - Updated App component to initialize the queue before using the audio player. - Refactored Song component to utilize new queue operations for adding songs to the queue. - Enhanced event handling in AudioPlayer for better playback control and state management. - Improved synchronization between the queue and the application state using TanStack Store.
…ning feat: enhance getQueueInfo to support favorites and history artwork retrieval refactor: update App component to use AudioPlayer instance instead of audio element fix: display song ID in development mode on SongsPage component refactor: modify useAppLifecycle to handle AudioPlayer instance and improve event management refactor: update usePlayerControl to support AudioPlayer instance and enhance playback control refactor: adjust usePlayerNavigation to utilize AudioPlayer's skip methods fix: update appReducer to correctly handle upNextSongData changes refactor: enhance AudioPlayer class with new playback and queue management methods refactor: improve PlayerQueue class with detailed logging for queue operations fix: synchronize queue state with store in queueSingleton fix: ensure cache key stability in song queries by avoiding array mutations fix: update FavoritesPlaylistInfoPage to correctly create queues for favorites refactor: improve store logging with deep cloning for better state tracking feat: extend QueueTypes to include favorites and history
… improved error handling
- upgraded @tanstack/react-pacer from ^0.16.1 to ^0.17.2 - upgraded @biomejs/biome from 2.3.2 to ^2.3.5 - upgraded @eslint/compat from ^1.2.4 to ^2.0.0 - updated electron from ^39.0.0 to 39.1
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.