Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@Sandakan
Copy link
Owner

No description provided.

Sandakan and others added 30 commits March 25, 2025 20:14
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 !
…res; remove unused About route and enhance preloader functionality.
…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
…efactor theme-related components and remove obsolete user data handling
…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
- 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
@Sandakan Sandakan merged commit 8a05740 into master Nov 15, 2025
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants