github jeffvli/feishin v1.0.0-beta.1
1.0.0-beta.1

pre-release5 hours ago

To receive automatic beta updates, set the release channel to Beta under Advanced settings.

Important:

Analytics are now being tracked in Feishin using a locally hosted instance of Umami. If you wish to opt-out, please do so under Settings -> Advanced -> Analytics

The data being tracked is:

  • Generic platform name: e.g Web / Linux / Windows / MacOS
  • What servers you have configured in your app as a true/false value: e.g. Navidrome / Subsonic / Jellyfin
  • What version of the app you are running: e.g. v1.0.0-beta.1

This will be subject to change in the future, but will be conveyed transparently on every change.

In addition, all of your configured settings have been reset to default values. This was done so in order to avoid potential application errors due to the large amount of changes made between v0.22.0 and v1.0.0.

Summary

The full summary of changes will be added later.

Changes since v0.22.0

Full list of changes

2025-11-30

  • Merge pull request #1288 from jeffvli/feat/new-lists (bfac152)
  • add cancellation to player status fade (2ceca9c)
  • suppress error on invalid server in stream url (02144db)
  • handle visualizer opacity when no lyrics (8d0eb55)
  • set visualizer in sidebar initial true (5442107)
  • increase initial right sidebar width (fe493d1)
  • handle scroll reset on grid page change (0afbfb1)
  • update list defaults (b578009)
  • add default server name to add server form (0fd6032)
  • reset all stores, remove old ones (65c5465)
  • remove settings from analytics (286651c)
  • add visualizer to sidebar (c7bf0d8)
  • persist lyrics offset per song (0b8ae55)
  • re-add lrclib as default lyric source (b99bc62)
  • reverse the lyrics offset behavior to standard convention (615280e)
  • allow timeout before sync lyrics scroll after manual scrolling (72ef6da)
  • properly persist searched lyrics to cache (5cab727)
  • add play controls to expanded album list item (b9b39ca)
  • fix subsonic / jellyfin filters (96acf75)
  • fix song list filters (c5c2b24)
  • fix album list filters (6d87da2)
  • fade out no lyrics message (d75d168)
  • add component error boundary (f425e6b)
  • properly handle list refetch on query change (fd2023e)
  • redesign lyrics search form (e8db28e)
  • add context menu to left controls (78fcc5c)
  • add action.downloadStarted key (08e8c65)
  • add web audio, replaygain, visualizer (#1289) (dd3d05c)
  • revert settings to route instead of modal (8777da9)
  • add favorites list (cb3c0fe)

2025-11-29

  • lint (1c0cbaf)
  • use consistent width on settings modal (c5112e5)
  • handle rating in context menu (196289e)
  • reimplement playback hotkeys (aab19b2)
  • use % height for settings modal (801e2cd)
  • fix mpris (0b70ed1)
  • update get info modal design (de3c7de)
  • add edit playlist to context menu (cba7cbf)
  • hide grid from certain list configs (f5ab1d8)
  • more types fixes on playlist detail (7744f58)
  • make layout borders more pronunced (981e250)
  • fix types on playlist songs table (297db71)
  • refactor playlist route component organization (24846fb)
  • remove animations and various smart playlist adjustments (ad198ea)
  • remove shadow from drag preview (526ba33)
  • adjust item card for light theme (cfb289f)
  • reimplement top songs list (8d829b2)
  • more jellyfin api fixes (bdc52ec)
  • handle limit -1 for jellyfin genres (224fcf9)
  • add 12 hour cache for list count queries (3f704f1)
  • fix subsonic / jellyfin issues (8611bb9)
  • lint all files (108ba53)
  • add sidebar panel lyrics (96e9d54)
  • fix mobile playerbar layout to prevent overflow (7f95c52)
  • properly handle switch between genre display states without filter clobber (b097d67)
  • adjust default table columns (3a5eb96)
  • remove motion wrapper (576d14d)
  • add date picker operators to smart playlist (a6945bc)
  • support custom smart playlist tags (6094a52)
  • add wrapper for mantine useForm (d22fee8)
  • revert track number to use 'track' value (83bd83b)
  • update JsonPreview to use Code component (abd2f94)
  • adjust settings modal sizing (f448572)
  • support playlist sidebar drag to queue (2fa6c9d)
  • optimize query builder (5e12a66)
  • redesign smart playlist, add multisort (bb1705a)
  • fix playlist count badge loader (974e96c)
  • revert theme bg (4e3b4c0)
  • add popver playqueue (e69d0c8)
  • increase popover default padding (5e8d17f)
  • add infinite loader for feature carousel (7744952)
  • adjust feature carousel design (a708162)
  • increase tooltip readability (61bfca9)
  • slightly increase default dark bg color (c4bf3da)
  • redesign PlayButtonGroup to match card styles (93ba99e)
  • adjust default modal styles (a99a02c)

2025-11-28

  • add album artist, year to album header (998eb02)
  • update album artist page (a18d2ee)
  • fix missing label style on multiselect (663fdd4)
  • update fields and add multiselect to smart playlist sort (72e2e6d)
  • handle context menu on playlist songs (9b17d35)
  • reimplement smart playlists (06d0c71)
  • increase stack gap on home page (9d3c44e)
  • redesign featured genres (8f06b17)
  • remove max width from list pages (9e1cdcc)
  • fix sidebar image animate out (2101b2e)
  • add localization to drag/ctx preview (c376f3a)
  • use consistent sizing for drag preview (503dfd6)
  • add context menu selection preview (4fc036f)
  • make list drop position indicator more consistent (dbad108)
  • increase library headerbar title size (b7c413c)
  • add drag preview (1c65ca4)
  • fix internalState on expanded album item (5d01243)
  • fix override query behavior on list pages (3f8a3a5)
  • add mediasession (60d8d18)
  • add mpris (212d9e9)
  • add logs to discord rpc events (f0c35be)
  • add logs to scrobble events (2f32534)
  • add scrollbar to right-pinned table container if exists (7016446)

2025-11-27

  • temp (0927ff0)
  • add delete hotkey to playqueue (4ef2956)
  • fix genre route link on album badges (a893b06)
  • add select all hotkey to lists (7cc7086)
  • add initial playlist reimplementation (092a9c3)

2025-11-26

  • reimplement artist discog / tracks routes (ac5de29)
  • properly handle adding list queries from song list to queue (6b307b3)
  • add additional checks on wavesurfer to prevent playback (9e0c4d4)
  • add error handler to web player (d66b1c1)
  • handle cleaner switch between mpv/web (3a2c5f7)
  • bump react-player to 2.16.0 (411f661)
  • refactor list internal state to target rerenders on change (a238927)
  • disable fullscreen from settings modal (10c9bec)
  • refactor shuffle all modal for styles and loading state (ffa9d16)
  • refactor button to use default loader (6a8e55c)
  • refactor play button for reusability (2c9ea6d)
  • add new spinner icon (902ac91)
  • large performance refactor (60cdea6)
  • attempt to prevent thread blocking from fac (948f428)
  • add debug logs for player actions (94a7829)
  • update logger colors for readability (4b3fda1)
  • add umami analytics integration (778d878)

2025-11-25

  • fix player shuffle (c77d38f)
  • clean up player repeat behavior (042047d)
  • fix useCurrentServerId hook to always return a string (6f132f7)
  • extract play button from item card and add long press animation (2264fa0)
  • move remote settings to window tab (8ad5e26)
  • refactor item grid sizer handling to prevent blanks on resize (22fae93)
  • optimize excessive layout re-rendering due to react-router (359e442)

2025-11-24

  • rename import/export string (0a6b9a1)
  • attempt to fix playqueue initial height issue (8d72596)
  • optimize list refresh functions (e78a46a)
  • reimplement genre detail route (d3132ad)
  • fix align on certain table columns (eba4850)
  • add image unloader to sidebar image when no image available (1b8afe3)
  • fix paginated loader query return value to be consistent with domain types (04c2bec)
  • remove unused font declaration (6dc110e)
  • add better type safety for favorite/rating update (a4f53e5)

2025-11-23

  • remove queue drawer hover button (5e5b4f1)
  • reorganize and redesign settings (a2926ef)
  • fix item card control navigation again (7cc5ccd)
  • Remove stream url, cleanup old audio player (#1269) (80419a1)
  • add long press to card controls for shuffle (db11073)
  • add more shuffle play modes (1763f66)
  • remove scrobble log (16c703f)
  • fix album column styling to fit link to width of text (bbcee3f)
  • handle title combined column on compact sizing (56162b6)
  • reimplement player scrobble (af7e522)
  • move queue favorite event listener to an app global scope (c23e459)
  • update build again for sourcemap and minify (70cffda)
  • null songCount and albumCount in genre type (7c71f10)
  • refactor app error boundaries (a32f767)
  • add optimistic update for favorite/ratings mutations (8441982)
  • update grid carousel breakpoints (0bc3ea5)
  • add compact image column styling (f3b7d77)
  • force aspect ratio on default Image (cfb1f63)
  • move settings page to modal instead of route (54a8c8c)
  • remove link from artist on feature carousel (6d0f80f)
  • fix activeRowId styles for title columns (4b2708e)

2025-11-22

  • set favorite color to primary on header menu (80b4730)
  • set enableNavigation to true on ItemCard (00371ef)
  • add double click play to album detail (646eb4a)
  • remove right sidebar animation (0aee428)
  • remove select from grid carousel titles (6a003c9)
  • remove top/bottom padding from feature carousel (7fd084b)
  • add feature genres component to home route (1747395)
  • update feature carousel animation (b24faa1)
  • re-add menu button to sidebar (0a25df3)
  • add new transitions to popover/dropdown (c0f18d7)
  • add minification to renderer build (8225803)
  • random cleanup (42e9073)
  • add background back to home route pageheader (0648111)
  • move player back above router (875e178)
  • wrap all page routes in LibraryContainer (c5c3c59)
  • increase default content max-width to 1800px (a5fa572)
  • remove default bg from PageHeader (59cdc66)
  • prevent item card from using default rows if none specified (7355184)
  • adjust default title styling on grid carousel (2269eee)
  • add more breakpoints to carousel (958ded6)
  • move container max-width configuration to theme (2b70adc)
  • redesign feature carousel (6a0b36c)
  • remove transition on page header visibility (e80fc1a)
  • fix unneccesary navigation on grid card control click (19a51d8)
  • add primary color highlight to sidebar nav (9801337)
  • remove stroke from item card svg (6978516)
  • Revert "use new favorite color for icons" (ee4a1f7)
  • adjust sidebar styles (ab49735)
  • update page header render to use css instead of state (1c5212d)
  • remove indeterminate state from album disc groups (b159dd4)
  • remove calculated width from group row (e137e72)

2025-11-21

  • handle more rating/favorite mutation cases (606aaa0)
  • move player context and audioplayers inside of router (ca78149)
  • use new favorite color for icons (70a6ca5)
  • add album column to table (d83d1f3)
  • add custom library header title sizer (ae954b0)
  • remove auto-text-size package (d3634d2)
  • add ignored colors to both hook and function (41a3943)
  • fix favorite/rating handlers on detail page (676f963)
  • fix detail query keys with no query provided (b6e4302)
  • add favorite icon color (75bf33f)
  • adjust library header title sizing (c76ac7b)
  • fix grid position of album content (57779e9)
  • adjust various font sizes, weights around the app (da86395)
  • increase md, sm, xs font sizes (d6a40a7)
  • remove most built-in fonts, adjust NotoSans weight (233c356)
  • fix padding on rating component (43eb660)

2025-11-20

  • add LibraryContainer for max-width and background overlay (3212a35)
  • support scroll sync on sticky table header and groups (c4f9449)
  • add motion animation on list to handle scrollbar sizing shift (948fc40)
  • move suspense wrapper on carousels in album detail (427cfe0)
  • decrease react-query gcTime to match staleTime (4b135d7)
  • optimize player state for large queues (f86b00e)
  • redesign album detail page (7fb0dff)
  • allow autoheight of library header (da82581)
  • pass state from list navigation (ece82d8)

2025-11-19

  • fix expanded album title color again (eb8dcfa)
  • handle conditional item card expansion (82e1ce4)
  • make item card navigation conditional on list state (c25c339)
  • add favorite badge to card (1a4c909)
  • add item card navigation (ff77629)
  • fix drag to collapse sidebar (8ac0a27)
  • fix title alignment on mobile player (f2680bb)
  • fix title color on expanded album list (bbaf305)
  • optimize library header bar render (c21e2f4)
  • add basic mobile responsive layout (c763824)
  • handle manual grid rows on paginated lists (485fe80)
  • handle table row index values on paginated lists (c691c34)
  • crossfade player enhancements, reorganize settings (0dff13c)
  • adjust genre display and gap in header (725e44f)
  • add PillLink component (12e916f)
  • adjust rating component to match theme sizes (05da8c0)
  • move genre buttons to album detail header (1735b64)
  • adjust library header metadata alignment (1785e5c)
  • updating rating button styles to more closely resemble icons (ab5eb5c)
  • add search input to album detail table (94f15d0)
  • add fuse search utils (4fc346a)
  • readd base mantine css import (ec135e3)
  • add play handlers to all remaining library headers (dff3d0b)
  • reimplement fullscreen player (aba8896)
  • fix missing container on image without src (a386a1b)
  • improve responsive styling on library header (cf50132)

2025-11-18

  • fix image component height (62ace42)
  • match drag behavior on waveform playerbar to original (dde2e4e)
  • optimize playerbar slider component (6c785c7)
  • cleanup small issues (d977407)
  • add play buttons for each list page header (71bea66)
  • add new play behavior to libraryheader play button (bc13c7b)
  • set confirm modal to focus confirm button (9f5ec91)
  • add option to hide fetch confirmation (00565cc)
  • optimize playqueue performance for active song styles (8e1cdac)
  • add list query fetcher (46c0a30)
  • add login page for locked server (70242c4)
  • fix unauthenticated flow (92d4681)
  • fix queue add above current index in priority queue again (781582c)
  • replace remaining legacy playqueue add functions (e986557)
  • update import order of overlayscrollbars styles (ef78196)
  • add missing combox style import (d8e6aec)
  • clean up unused files (1acde80)
  • use new icon for player config button (808c016)
  • handle favorite/rating events for all tables (69f7f5c)
  • add gcTime to rq mutation (63e6df0)
  • remove expansion from song table (ea95a7b)
  • optimize various components (c77ba12)
  • add more aggressive react-query garbage collection (fe60d2e)
  • show disabled slider when no waveform available (dfb01ce)
  • bundle size optimizations (e3402a1)
  • fix lyrics components (e45c126)
  • add waveform playerbar slider (7b9007c)
  • add default playaction to play context menu click (142a6d6)
  • fix priority queue reorder above current song (18a7875)
  • wrap all instances of mantine hooks used in renderer (f3bb418)
  • remove automatic import for @mantine/hooks (d349cc3)
  • remove user select from server selector (f6ad676)
  • remove wrong styles from group rows (43d409b)
  • refactor playqueue with css modules (09a9498)
  • disable bugged react-hooks rules (05deafd)

2025-11-17

  • fix priority queue reordering index recalculation (bd5f2b8)
  • handle table row indexing with group rows (fd85f1f)
  • handle priority queue on playqueue table (8433ce7)
  • handle row groups with pinned table columns (94c128e)
  • force row height on group rows (a4a0a1d)
  • fix appmenu keys again (47e47e3)
  • handle non-list items contextmenu in controls (eb1443a)
  • add server selector to layout animation (5892d62)
  • add new player config popover (9113756)
  • use alternate bg for right sidebar (60c7a4a)
  • adjust default theme colors (79af774)
  • fix missing AnimatePresence on ItemCard (001ad74)
  • fix appmenu keys (c6ab0e7)
  • rework root error boundary (1b0ea06)
  • add global music folder selector (a92a829)

2025-11-16

  • add error boundary to the app root (199a67f)
  • move player timestamp to separate store (4451389)
  • remove throttle from main layout resize (243d29f)
  • downgrade typescript version (0fd55a3)
  • move timestamp update to separate effect (a78d917)
  • fix scrollbar z-index (6842da1)
  • hide sticky table group after scrolling past (21081ed)
  • fix various issues on home page (2bdb5a5)
  • fix type (e0b326c)
  • re-add react-window v1 types (9490bf2)
  • adjust column picker again (30377ab)
  • allow auto height on grid carousel (99dea88)
  • add modularity to the ListConfigMenu (820a4ef)
  • handle song selection in context menu play action (2f6ef79)
  • refactor table column picker util to reset pinned/align to default values (dc15ede)
  • add sticky disc group rows for album detail (f52bcd2)
  • add new table to album detail (f366b50)
  • fix container ref instances (31d9ab0)

2025-11-15

  • migrate contextModal props (4ba7306)
  • revert original react-window package back to v1 (3adfb37)
  • update and cleanup packages (4e9a183)
  • remove ag-grid (0de8035)
  • various cleanup (b5eadb6)
  • use default cursor on list hover (f2b629f)
  • add new grid carousels (2fc14ec)
  • refactor double click handler to add quicker single click (60cc564)
  • fix Song domain type year value (81d3d2e)
  • reimplement search page (48feb9f)
  • adjust searchInput to match button width (e246e4c)
  • decrease context menu width (2c9edc4)
  • add overrideQuery to all list views (00a012d)
  • reimplement now playing route (6d50454)
  • add new context menu implementation (8eb90eb)

2025-11-14

  • rename player context hook (ec0590c)
  • add new playlist list (9c2ed36)
  • optimize sidebar resizing for performance (f48c269)
  • fix mpv queue initialization running multiple times (1ab9012)
  • set queue on mpv initialization if available (d25b62f)
  • add drag to add to playlist (cccb5d7)
  • add new play controls to sidebar playlist list (06d9245)
  • re-implement shuffle play type (3d4f35e)
  • implement item list grid card row customization (b6c3200)
  • add grid card row config (56d0669)
  • fix list paginated loader hook (05c4fd3)
  • enforce data order in list selection (af00110)
  • fix some table drop conditions (da691fa)
  • add shadow to table header (3f41482)
  • add draggable table column reorder (a03ea3b)
  • add draggable table column resize (4c92da9)
  • update drag handle styles on table config (31a2fdb)
  • improve visiblity of close button on expanded item (7921f1e)
  • use throttle for item loader, simplify implementation (8ac3f2a)
  • add dynamic card selection style based on gap (2da6894)
  • set playqueue scroll to center (9265bc8)
  • add scrollToIndex alignment to lists (c5cd71c)
  • auto follow current song in queue (3ecf59c)
  • refactor grid list to support index offset (da2109b)
  • optimize table config (6d6caa0)
  • add drag/drop to column reordering (e82c1d3)
  • refactor ListConfigMenu as modal (500947e)
  • refactor Modal component styles to match provider (fe51b67)
  • add double click navigation to lists (65b7229)
  • fix overflow on table header (ba66b24)
  • refactor filter persistence to one key (0c6a993)
  • add new artist list (8a8de4a)

2025-11-13

  • refactor domain types to rename itemType (164332d)
  • refactor Genre domain type to include serverType and serverId (173e00a)
  • add new genre list (4f1d39d)
  • add new album artist list (72f20dd)
  • fix double click handler on ItemCard (0ba481a)
  • add item selection to double click handler (31b64b3)
  • slightly increase double click latency (302107e)
  • remove non-functional playqueue sizing workaround (ef7d3f1)
  • implement queue double click handler (dffd3ef)
  • implement double click handler on default controls (a75f64d)
  • debounce playqueue search (c5e11cc)
  • reimplement playqueue list controls (7447808)
  • update player shuffleAll to keep current song index in place (498abf3)
  • update search input styling (5e45897)
  • adjust column autoFit to round to integer values (c7dc2d4)
  • remove table borders from last row / column (8c163be)
  • add table header icons for discNumber and trackNumber, refactor sizing (75de4bd)
  • enforce fetch order for addToQueue (b8fc0fb)
  • add player store v2 migration (2c7b134)
  • update various player actions to reset timestamp to 0 (1eb60f9)
  • add current song styles to rowIndex and title columns (d2e6658)
  • add close button to expanded list item (a24b870)
  • remove logs on idb storage (af480e8)
  • add selection and drag from expanded album (a786e4f)
  • add uniqueId rowId for playqueue (f6b65fe)
  • reduce default scrollbar size (1b80d7f)
  • link savePlayQueue setting to player store persist (7d5be53)
  • remove preexisting save/restore playqueue handlers (a566509)
  • add idb storage for player store (528205f)
  • add indexeddb storage for zustand (9fda3cd)
  • add custom rowId support to lists (a484628)
  • fix onExpand control on row index column (595d92e)
  • remove deprected row click handler (f06dbde)
  • adjust drag over styles (9f5f77c)
  • remove defer from list scrollbars (dcc1ef3)
  • cleanup log (f2d655d)
  • add enum for table item size (8d1e784)

2025-11-12

  • fix table column css ordering (10085f9)
  • fix playqueue flex sizing (219c650)
  • add autoFitColumns config to tables (ee18034)
  • set sane default for sideQueue column config (dee73d5)
  • improve pickTableColumns util to handle more properties (6bde14b)
  • add autoFitColumns for item table (27e84ce)

2025-11-11

2025-11-10

  • fix title column to not take up full width (57dbe85)
  • add padding to item grid to account for scrollbar (7a36360)
  • add dropzone to empty play queue (a2eb0bf)
  • refactor item grid to resolve overlayscrollbars (4360906)
  • fix conflicting style on drag over and selection (6541a6d)
  • add drop operations for all item types (0baae9c)
  • add loading overlay to playqueue on fetching (1a16b74)
  • add LoadingOverlay component (17c4d3e)

2025-11-09

  • bump react-window-v2 to latest (fda7165)
  • add drag/drop from lists into queue (489daa6)
  • add drag state to item table (d7e2ec0)
  • add drag state to item grid (ad409fe)

2025-11-08

  • add keyboard navigation and selection to lists (7d4a17e)
  • implement list multiselection (a87d5ef)
  • initial implementation of play queue for new list (7a4326f)
  • normalize controls onto lists (3c99640)

2025-11-07

  • update rating / favorite columns (fb75717)
  • add rating / favorite to player context and events (9fafb4f)
  • add queue fetcher cancellation and loading state (b455849)
  • fix merge (0cfa07b)
  • fix filters (cb232ab)

2025-11-06

  • fix crossfade settings to update player store (9e508f0)
  • move mpv initialization into player implementation (070bf7c)
  • re-add conditional render to ReactPlayer components which causes crossfade error (7224255)
  • move remote init into hook (6ff535c)
  • lint (02e721c)

2025-11-05

  • fix ipc in remote hook (e0256dd)
  • add useRemote to playerbar (328015b)
  • add new player remote hook (b03a33f)
  • add subscribers for player repeat and shuffle (7cd012d)
  • support offset for player skip (6ced14d)
  • re-implement mpv with new player (9fd4abe)

2025-11-04

  • add volume wheel (a452495)
  • refactor windowbar to prevent unnecessary renders (3c93167)
  • re-implement playerbar controls (7717bff)

2025-11-03

  • add usePlayer hook (be6db80)
  • rename internal types in domain models (427f808)

2025-11-02

  • begin implementing player context (76bf4ae)
  • reorganize (e02a518)
  • fix table row styles listener (79ddd12)
  • rework player events to use properties object instead of flat value (b1fa7e4)
  • add new web player implementation (015c300)
  • temporarily remove old player implementations to prevent broken app (550ba4f)
  • rework player store and add global player context (1d4069d)

2025-11-01

  • fix image column container (71bd124)
  • disable all skeleton animations (c615f63)
  • add dynamic cell skeleton sizing (c644224)
  • debounce table loader (0e9f9f2)
  • prevent render null items in grid (5f0309d)
  • debounce grid loader (1368c2b)
  • adjust infinite loader fetcher range thresholds (64e84b0)

2025-10-31

2025-10-26

  • migrate item grid back to react-window v1 (0b56524)

2025-10-24

  • more grid list optimizations (62127df)

2025-10-23

  • memoize and reset scrollEnd handler on grid list (62b0ea6)
  • reset scroll position on list page change (34dc917)
  • add table item selection (dae04e2)

2025-10-22

  • revert to HashRouter, add nuqs hash adapter (17f5c5c)
  • migrate to react-router v7 and BrowserRouter (bf75dec)
  • fix list loader query keys (2504c0e)
  • remove unused demo component (08ab071)
  • list component optimizations (17e4c5c)

2025-10-14

2025-10-13

  • temp commit for breaking changes (6ff5aff)
  • add remaining song filter changes (5690743)
  • implement new lists for songs (33735c1)
  • update query persistence to hooks (872543b)
  • add ListSearchInput component (1a5b771)
  • update settings store for album/song lists (26d6357)
  • enforce default value on sortOrder filter (7701135)
  • enforce default value on sortBy filter (cdf783f)
  • implement new lists for albums (af89def)
  • update shared filter components (cd578db)
  • remove typed _custom query (f6a7af2)
  • add itemType to infinite loader query to prevent duplicate key (d8877be)

2025-10-12

  • add list scroll persistence (fcdd543)

2025-10-11

2025-10-10

  • wrap localstorage hook (dffa8e7)
  • add keys, pagination types (e53b434)
  • add nuqs adapter to app outlet (bc4edb9)
  • add filter keys (aaff54c)
  • refactor list pagination to use nuqs (ae0a649)
  • refactor infinite loader to use query state (3a30f53)
  • update title columns to use links (34bd9d9)
  • use searchparams, localstorage for list filters (f7f1d5f)
  • remove deprecated virtual grid (ac625a9)
  • update packages (804d8c7)
  • fix favorite column (f19da36)
  • fix table item count offset due to header (dddc38a)
  • handle favorite/rating column mutations (241e265)
  • add new default columns (b2dd3ed)
  • add global event emitter (e67a1a6)

2025-10-09

  • add column search to tabel config (dd0586d)
  • add PLAYLIST_SONG, QUEUE_SONG item types (24f9753)
  • add border to table pagination container (c56baf6)
  • update card controls animation back to slide up (4dba1e3)
  • update ListConfigMenu to work with new lists (1172152)
  • add large table size (943b26d)
  • add more grid configuration (c2715a2)
  • add more table configuration (33b0cda)
  • add remaining table columns (c5c9311)

2025-10-08

  • forward switch ref (0767106)
  • update popover/dropdown bg styles (53daa90)
  • add alignment icons (3b4a667)
  • center align checkbox label by default (b6e3881)
  • export ButtonGroup components (6471114)
  • add prop configuration for X,Y scroll on ScrollArea (667aacc)

2025-10-07

  • add autoWidth column config (e930082)
  • normalize user action columns (c4f937b)
  • extract list expansion container to separate component (4600e56)
  • add item list controls to centralized export (a068b9c)
  • add hover only columns (dafd914)
  • improve tooltip readability (e4189e9)
  • fix image column container component (361569e)
  • set max genres displayed on genre column (c08deb9)
  • add tooltip for date column values (b9f6004)
  • improve overflow for album artist column (f09a8e3)
  • remove item callbacks from list - move to item component (d9e8625)

2025-10-04

  • implement table list callbacks (545ea25)
  • disable default skeleton animation (02d9e83)
  • remove user select from genre / album artists columns (42a0530)
  • add table row hover effect (3ce6a6f)
  • add table row separator support (9d1b2a7)
  • add links to genre / album artists columns (06a3686)

2025-10-03

  • fix Navidrome normalized types for userFavorite, userRating (3c2f186)
  • handle table column order based on pinned column config (15c27c1)
  • add initial table columns (ae8ca54)
  • use derived column props, add table header styles (c27c05a)
  • support both left and right column pinning (3e0e3f9)
  • fix styling props on Text component (00e7b4a)
  • update pagination itemcount wording to be language agnostic (f610489)
  • move list pagination padding to separate container (9d15e8d)
  • progress on table columns (6ae1038)
  • more table list progress (f1f3223)
  • fix queryKey on infinite loader (8e392a9)

2025-10-02

2025-10-01

  • first iteration of table (18f448c)

2025-09-29

  • rename list components (0a591a3)
  • rename expanded container classname (8dcc283)
  • add initial item detail list design (3f3a02b)
  • add color utilities (d4b8b12)
  • add GRID_PAGINATED to ListDisplayType (9cfe396)
  • clean up log (85d8ad0)
  • properly handle weight prop on Text and TextTitle (3fc2583)
  • add paginated album grid component (df9e039)
  • add additional list pagination helpers and components (3efa54b)

2025-09-28

  • rename infinite loader hook file (90e7541)
  • add paginated list loader hook (91deb9b)
  • fix z-index of expanded item title (66c5424)
  • finalize infinite album list (c43751d)
  • finalize infinite loader hook (80baa67)
  • remove uniqueId property from all entities except QueueSong (85407f3)
  • add initial infinite album list component (789512b)
  • add initial infinite loader helpers (820d8da)
  • update ItemGrid to use react-window v2 (9db7830)
  • add react-window v2 deps (ff83ce5)
  • add loading state to fastaveragecolor hook (69d16ed)
  • add 2xl, 3xl to container query hook (77bd483)
  • add expanded list item component (5ff9efb)

2025-09-26

2025-09-25

  • add placeholder expanded list item (126ab38)
  • add additional props to ItemGrid (1839044)
  • add serverId to list state selection (71e2800)
  • return isDark, isLight from color (7c50ee8)
  • add utils to handle list multiselect / expand states (3ed6d4b)
  • plain item grid (7a2af3d)
  • add new card component (1108cb7)

2025-09-22

  • upgrade and refactor for react-query v5 (c0317ac)

2025-09-21

  • add react-virtuoso package (015d5a4)
  • add breakpoints postcss (ea646a5)

Don't miss a new feishin release

NewReleases is sending notifications on new releases.