Commit graph

228 commits

Author SHA1 Message Date
Samidy
0234df5a7c add "add to playlist" button on player, add sleep timer feature 2026-01-08 14:14:46 +03:00
Aji Priyo Wibowo
90e4785644 fix: Monkey-patching kuromoji when hosting the app 2026-01-08 17:44:24 +07:00
Aji Priyo Wibowo
daac9d9e60 feat: fix performance on convert to romaji 2026-01-08 16:31:39 +07:00
Aji Priyo Wibowo
df2b77eb7d Feat: adding romaji convert feature on lyric 2026-01-08 15:49:54 +07:00
Julien Maille
b3437dc99a Revert "Feat: Implement memory-efficient sequential streaming ZIP downloads using zip.js and StreamSaver.js"
This reverts commit 67a97a34a8.
2026-01-07 23:32:49 +01:00
Julien Maille
fc53295ced Fix: Robust metadata refresh 2026-01-07 23:12:22 +01:00
Julien Maille
6669c6854a Fix: use getTrackArtists in mediaSession 2026-01-07 23:08:43 +01:00
Julien Maille
b543112dbb Fix: Improve API rate limit handling during CSV import
- Update 'fetchWithRetry' in api.js to respect Retry-After header and use exponential backoff for 429 errors.
- Add 300ms delay between requests in CSV import loop to reduce load.
2026-01-07 22:52:30 +01:00
Julien Maille
d65603b566 Fix: CSV import parsing logic to correctly handle commas in quoted fields 2026-01-07 22:52:30 +01:00
Julien Maille
350c720a7e Fix: Pass imported tracks to createPlaylist so CSV import works 2026-01-07 22:52:30 +01:00
Julien Maille
67a97a34a8 Feat: Implement memory-efficient sequential streaming ZIP downloads using zip.js and StreamSaver.js 2026-01-07 22:52:29 +01:00
Julien Maille
6e52e9dffc Fix: Modal button alignment and refactor playlist header actions 2026-01-07 21:28:41 +01:00
Julien Maille
e0528d512b Fix: Correct data attribute usage for user playlist edit/delete buttons 2026-01-07 21:14:02 +01:00
Julien Maille
21c947fd68 WIP: auto-deploy 2026-01-07 21:03:57 +01:00
Julien Maille
72d27ef7fe refactor, better compact cards 2026-01-07 21:03:57 +01:00
Samidy
a880fe7777 nvm revert 2026-01-07 18:45:40 +03:00
Samidy
59cdcc4d3d update firebase 2026-01-07 18:13:27 +03:00
Samidy
276a35cf50 add playlist shuffle, fix "unknown artist" 2026-01-07 12:16:59 +03:00
Samidy
d245c60a05 fix removing songs in playlist with firebase (+ removing songs improvements) 2026-01-06 21:54:51 +03:00
Samidy
0449e96ffa Spotify imports, last.fm scrobbling library fixed, color improvements & more 2026-01-06 16:09:59 +03:00
Julien Maille
27b6b98643 NEW: compact mode for cards, default true for artists 2026-01-04 22:53:40 +01:00
Julien Maille
976f24ef1a UI: update popularity display and refine explicit badge 2026-01-04 22:15:51 +01:00
Julien Maille
1c7c713b32 UI: replace h3 with h4 in card titles 2026-01-04 21:38:02 +01:00
Julien Maille
c2467fec5a FIX: deduplicateAlbums 2026-01-04 21:36:19 +01:00
Julien Maille
3f1124f1f0 IMP: liked mixes 2026-01-04 19:17:43 +01:00
Julien Maille
6ee3c57bc5 IMP: mixes using new API 2026-01-04 18:48:49 +01:00
Julien Maille
4fc36f63e4 IMP: html/css 2026-01-04 13:40:02 +01:00
Julien Maille
c77334a807 NEW: vibrant color for artists, mix and playlists 2026-01-04 12:56:07 +01:00
Julien Maille
efe67045d4 IMP: faster artist loading 2026-01-04 00:24:37 +01:00
Julien Maille
87126a0fe7 IMP: smaller art images for faster loading 2026-01-03 23:44:25 +01:00
Julien Maille
c83ca9c23c improved css, larger side panel, background header image for all pages 2026-01-03 22:52:26 +01:00
Julien Maille
3e228a0d46 FEAT: add track mix button to player bar and display release year 2026-01-03 13:00:12 +01:00
Julien Maille
0791c59f15 FEAT: add desktop navigation buttons (back/forward) 2026-01-03 11:29:59 +01:00
Julien Maille
06c649de7b js/css cleanup 2026-01-02 23:28:39 +01:00
Julien Maille
c4feb35c45 UI: move remove-from-playlist button before the menu button 2026-01-02 23:16:21 +01:00
Julien Maille
df334a2ee3 FIX: standardize custom playlist buttons style and responsiveness 2026-01-02 23:01:30 +01:00
Julien Maille
bff48ad21c IMP: remove heuristic filtering for EPs/Singles, rely on API type 2026-01-02 18:03:36 +01:00
Julien Maille
63c342b693 IMP: improve service worker update flow to avoid stale cache and disruptive reloads 2026-01-02 13:45:33 +01:00
Julien Maille
0b9eea86ab FIX: remove dead event listener for removed lyrics download button 2026-01-02 11:00:55 +01:00
Julien Maille
7b866eb44f FIX: edit delete buttons showing on albums 2026-01-02 10:50:19 +01:00
Julien Maille
b523d351ea FIX: update queue list when track changes 2026-01-02 00:41:28 +01:00
Julien Maille
057244e73e WIP: fix custom playlists on home 2026-01-02 00:27:03 +01:00
Julien Maille
0a52440b0b WIP: fix custom playlists on home 2026-01-02 00:21:09 +01:00
Julien Maille
1c2d925c05 NEW: collage cover for custom playlists 2026-01-02 00:10:29 +01:00
Julien Maille
81d666ce3f FIX custom playlist buttons 2026-01-02 00:07:22 +01:00
Julien Maille
801fa264cd IMP: fullscreen lyrics, various css fixes 2026-01-02 00:03:34 +01:00
Julien Maille
b828322a72 FIX: custom playlist download 2026-01-01 23:19:09 +01:00
Julien Maille
6e265cfeda imp: remove innerHTML and put it in index.html 2026-01-01 22:46:02 +01:00
Julien Maille
34dba30d6b IMP: mix, similar stuff 2026-01-01 22:04:12 +01:00
Julien Maille
57f3e42dbe new: mix for artists, use new api 2026-01-01 19:27:29 +01:00
Julien Maille
4ffac0ae0a Prepare for similar artists coming from tidal api 2026-01-01 15:50:31 +01:00
Julien Maille
d0cc9f03f1 feat: add playlist pagination and separate api/streaming instances
- Implements pagination in getPlaylist to support large playlists (>100 tracks).
- Reworks instance management to support separate api and streaming instance groups.
- Updates instances.json to the new grouped structure.
- Refactors apiSettings for smart incremental speed testing and type-aware caching.
- Parallelizes speed tests using appropriate endpoints (/artist/ for API, /track/ for Streaming).
- Updates Settings UI to display and manage both API and Streaming instance groups.
2026-01-01 15:38:02 +01:00
Julien Maille
6776d2fe38 NEW: handle large playlist if api has offset capability 2026-01-01 13:35:07 +01:00
binimum
134ceb306a
Remove big download button in favour of am-lyrics download button 2025-12-31 18:54:48 +00:00
binimum
4dfa9aeca5
Update am-lyrics library version to 0.6.2 2025-12-31 18:49:37 +00:00
sliipkat
9dc85266d7 feat: add catppuccin themes 2025-12-31 14:31:16 -03:00
Samidy
c76357cec3 update library wording 2025-12-31 14:37:15 +03:00
Samidy
a0639e766d
Merge pull request #34 from simonfruehauf/main
feat: scrolling on volume bar changes volume
2025-12-31 01:51:52 -08:00
Samidy
c31684ecf2 Merge branch 'main' of github.com:SamidyFR/monochrome 2025-12-31 12:26:09 +03:00
Samidy
a27be3162d Playlist Feature, Lyrics on Fullscreen & More 2025-12-31 12:26:05 +03:00
Bee / Simon
5bb7c341db Scrolling on volume bar changes volume 2025-12-31 09:09:35 +01:00
Julien Maille
698c6abd15 fix for queue list closing when modified 2025-12-30 17:54:33 +01:00
Julien Maille
c33ef02dca NEW: add login/pass authentication 2025-12-30 13:17:03 +01:00
Julien Maille
aa234487c1 imp: prevent storing undefined properties 2025-12-30 12:14:38 +01:00
Julien Maille
82b4afb149 IMP: refactored queue list and lyrics panel in the same ui 2025-12-30 12:05:50 +01:00
Samidy
16034014a0 Account Overhaul, Search Bar Improvments 2025-12-30 14:01:42 +03:00
Julien Maille
774f6cf752 imp gui 2025-12-29 23:42:58 +01:00
Julien Maille
0185f161a0 new: option to love tracks on last.fm 2025-12-29 23:14:57 +01:00
Julien Maille
060d4762cc new: added default firebase instance, reworked settings layout 2025-12-29 23:02:59 +01:00
Julien Maille
2a98654e54 feat: implement firebase synchronization for library and history
- Added Firebase authentication (Google) and Realtime Database sync
- Implemented 'Magic Link' configuration sharing
- Increased local and cloud history limit to 1000 tracks
- Refactored settings to support dynamic Firebase configuration
- Added firebase-setup.md documentation
2025-12-29 22:18:51 +01:00
Julien Maille
0996a8a0cb new button to play album or playlist 2025-12-29 13:00:15 +01:00
Julien Maille
7892bc53fc remove broken karaoke mode 2025-12-29 12:53:30 +01:00
Julien Maille
9699c511ec increase history length to 1000 tracks 2025-12-29 12:46:11 +01:00
Samidy
aae135a7a1
Fix for lyrics as .lrc.txt (Hopefully :P) 2025-12-29 14:08:49 +03:00
Julien Maille
1c96940828 imp: log track into recents after 10 secs 2025-12-27 23:20:41 +01:00
Julien Maille
d286c80540 IMP: show link for each artist of current track 2025-12-27 23:20:41 +01:00
Julien Maille
974d70184d fix instances.json loading 2025-12-27 23:20:17 +01:00
Julien Maille
b53fb36196 NEW: store recently played tracks 2025-12-27 23:20:17 +01:00
Julien Maille
91da9b887d UI: reorganize bottom controls and improve lyrics panel behavior 2025-12-27 23:18:53 +01:00
Samidy
f227c4c00d Lyrics Update 2025-12-27 21:21:35 +03:00
Julien Maille
ca2527d5ee many ui small improvements 2025-12-27 13:52:25 +01:00
Julien Maille
26a19807cf feat: implement library data minification for optimized exports 2025-12-27 00:25:47 +01:00
Julien Maille
9ffe81e38b improvements 2025-12-26 23:15:09 +01:00
Julien Maille
aeea0038f3 improvements 2025-12-26 23:14:47 +01:00
Julien Maille
cdffe88eba Fix heart button interactions on cards and reorder library tabs
- Fix: Card heart buttons didn't work because of button nested in anchor. Changed cards to div with data-href.\n- Fix: Home page and Artist page cards didn't have data bound or like state initialized.\n- Feature: Move Playlists to the last position in Library tabs.
2025-12-26 22:39:13 +01:00
Julien Maille
f4f6a1941c feat: add a library of liked song, artist, albums, playlists 2025-12-26 21:18:03 +01:00
Julien
b43a41930c
Merge pull request #23 from JulienMaille/metadata
Metadata
2025-12-26 19:45:50 +01:00
Samidy
0b8f99e3a7
remove dead instances, fix instance issues 2025-12-26 09:52:27 -08:00
Julien Maille
e49a8de250 Improve ZIP download logic: Refactor for DRY, conditional file picker usage, and UI improvements 2025-12-26 18:02:29 +01:00
Julien Maille
5633fb097d FIX download notification popup width 2025-12-26 14:42:31 +01:00
Julien Maille
c03f1006ee Force ZIP compression to STORE for all bulk downloads to improve performance and stability 2025-12-26 14:19:47 +01:00
Julien Maille
f9bd6a8fd7 fix: aac metadata 2025-12-26 14:10:06 +01:00
Julien Maille
47d64add72 Refactor cover art fetching to use centralized getCoverBlob with CORS workaround in metadata 2025-12-26 13:58:28 +01:00
Julien Maille
63854f4d69 wip add metadata 2025-12-26 13:51:04 +01:00
Julien Maille
64e4c0f43c Fix CORS issue when fetching cover art for downloads 2025-12-26 13:43:47 +01:00
Julien Maille
e0cfaba14c wip: cleanup broken metadata handling 2025-12-26 13:43:46 +01:00
Julien Maille
45a31075a5 Improve vibrant color contrast in light mode
Modified setVibrantColor in ui.js to darken bright colors when in light mode and lighten dark colors in dark mode, ensuring text and button readability.
2025-12-26 12:28:05 +01:00
Julien Maille
45380ea148 Fix UIRenderer constructor to properly accept and assign 'player' instance
Resolved TypeError where 'this.player' was undefined in UIRenderer, preventing 'isCurrentTrack' check from working correctly. Updated constructor to accept 'player' argument passed from app.js.
2025-12-26 12:16:42 +01:00
Julien Maille
2ae6b620f2 Improve playlist download stability by skipping failed tracks
Added try-catch blocks in downloadPlaylistAsZip, downloadAlbumAsZip, and downloadDiscography to handle individual track download failures gracefully. Errors are now logged to the console, and the download process continues for the remaining tracks.
2025-12-26 11:38:21 +01:00
Julien Maille
9533155656 Enhance artist page by fetching EPs and Singles via search fallback 2025-12-25 23:11:08 +01:00