edidealt
69652ba085
escaping
2026-03-02 21:14:14 +00:00
edidealt
3de1221c20
navigation
2026-03-02 21:04:04 +00:00
SamidyFR
0999fefda4
style: auto-fix linting issues
2026-03-02 20:42:59 +00:00
Samidy
103cce6338
Merge branch 'main' of github.com:monochrome-music/monochrome
2026-03-02 23:42:14 +03:00
Samidy
e983030c23
feat(community themes): edit themes after publishing theme
2026-03-02 23:42:09 +03:00
edidealt
ebccec5903
FULLY hide show ui button
2026-03-02 20:35:45 +00:00
edidealt
5e437d4019
fullscreen mode settings
2026-03-02 20:14:25 +00:00
Daniel
6c09793276
feat(downloads): add XID ISRC tag to MP4 metadata
...
- Added 'xid ' tag for ISRC in createMp4MetadataAtoms function
2026-03-02 19:13:18 +00:00
Daniel
c430a5bd7e
fix(downloads): fix malformed m4a replaygain metadata
2026-03-02 17:59:05 +00:00
edideaur
b55734933d
Merge pull request #263 from DanTheMan827/m4a-replaygain
...
feat(downloads): write replaygain to m4a tracks
2026-03-02 09:55:42 +02:00
SamidyFR
0735d2a202
style: auto-fix linting issues
2026-03-02 04:14:10 +00:00
Samidy
46c565e437
Merge branch 'main' of github.com:monochrome-music/monochrome
2026-03-02 07:13:46 +03:00
Samidy
5eabfc13e8
donate button shit
2026-03-02 07:13:41 +03:00
Samidy
23fdf10f86
fix(import): prevent incorrect artist matches and missing tracks
2026-03-02 06:47:50 +03:00
Daniel
2b2f61d1ee
feat(downloads): write replaygain to m4a tracks
2026-03-01 23:57:33 +00:00
edidealt
3a0edc3066
fix mpris covers
2026-03-01 11:48:39 +00:00
edidealt
2d8d93cbfa
fix for firefox?
2026-03-01 11:29:40 +00:00
edidealt
5cac487c0f
pitch shit
2026-03-01 10:52:03 +00:00
edidealt
a885e3d05a
style: auto-fix linting issues
2026-03-01 10:23:30 +00:00
edidealt
eb61e87980
Merge pull request #260 from itsgareth/gareth/fix-ios-lockscreen-controls
...
feat: fix ios lockscreen controls
2026-03-01 12:23:08 +02:00
edidealt
de3e125bac
Merge pull request #261 from ericdaddario02/feature/replay-gain-flac
...
feat(downloads): save replay gain tags to FLAC metadata
2026-03-01 12:15:00 +02:00
Eric D'Addario
39206f4128
feat(downloads): save replay gain tags to FLAC metadata
2026-02-28 16:03:45 -05:00
Gareth Dawson
13ac84880b
fix comment indentation
2026-02-28 19:05:47 +00:00
Gareth Dawson
523aa2d710
feat: fix ios lockscreen controls
2026-02-28 18:58:50 +00:00
Daniel
120073aea4
fix(downloads): write full track title to metadata
2026-02-28 16:55:37 +00:00
binimum
fb5fe05414
Remux instead of transcode
2026-02-28 11:59:27 +00:00
edidealt
e8ad19b2d7
Merge pull request #251 from DanTheMan827/lossless-container-option
...
feat(downloads): add lossless container option
2026-02-28 13:19:07 +02:00
edidealt
72eae8f411
style: auto-fix linting issues
2026-02-28 11:18:26 +00:00
Daniel
dcf8563254
feat(downloads): add explicit content rating support
...
- Write ITUNESADVISORY for FLAC
- Write rtng for M4A
- Read the corresponding values from local media
2026-02-28 02:49:13 +00:00
Samidy
fc28f9faeb
Apply suggestion from @Copilot
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-28 02:00:58 +03:00
Samidy
9ff62c52d4
Apply suggestion from @Copilot
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-28 02:00:37 +03:00
Eduard Prigoana
fa4da493e6
UI hiding
2026-02-27 22:57:11 +00:00
Eduard Prigoana
4b5dc5865e
consistent playback speed
2026-02-27 22:05:45 +00:00
Daniel
07422debb9
feat(downloads): add lossless container option
...
This uses ffmpeg to ensure that the downloaded lossless audio is in the desired container format.
2026-02-27 21:23:33 +00:00
Samidy
2f7f0e61dc
Merge branch 'main' of github.com:monochrome-music/monochrome
2026-02-27 23:36:22 +03:00
Samidy
ca173c2d58
fix(animated-covers): edis a fat worm
2026-02-27 23:36:19 +03:00
Samidy
6dbcd17e41
Merge pull request #250 from DanTheMan827/mp3-bulk-download-fix
...
fix(downloads): handle MP3_320 format in bulk downloads
2026-02-27 23:36:06 +03:00
Daniel
353ced831b
fix(downloads): handle MP3_320 format in bulk downloads
2026-02-27 20:32:19 +00:00
Daniel
52ad38c080
refactor(downloads): abstract ffmpeg worker logic
...
This refactors the ffmpeg worker logic and abstracts it into its own script file for easier use elsewhere.
2026-02-27 20:24:20 +00:00
SamidyFR
4aaffd2c22
style: auto-fix linting issues
2026-02-26 23:19:38 +00:00
Samidy
1c1d202e91
Merge pull request #235 from gpulch/feat/mp3-download-ffmpeg-wasm
...
feat: add ffmpeg.wasm + MP3 320kbps download option
2026-02-27 02:19:13 +03:00
Samidy
7d4294f906
my free trial ran out
2026-02-24 19:58:19 +03:00
Eduard Prigoana
424ee12d04
feat: animated covers
2026-02-24 12:43:36 +00:00
SamidyFR
700645919c
style: auto-fix linting issues
2026-02-23 22:58:08 +00:00
Samidy
38434f5419
Merge branch 'main' of github.com:monochrome-music/monochrome
2026-02-24 01:57:43 +03:00
Samidy
29b4899089
feat(themes): Community Themes
2026-02-24 01:57:17 +03:00
Eduard Prigoana
895cc20d26
whoops
2026-02-23 17:50:35 +00:00
Eduard Prigoana
49c054e64a
userplaylists in editor picks + refresh button for playlist suggestions
2026-02-23 17:41:45 +00:00
gpulch
cde7080052
fix: address code review feedback
...
Inline fixes:
- Remove TDRC frame from ID3 writer (ID3v2.3 uses TYER only, not TDRC)
- Add try/finally cleanup in worker to prevent VFS leaks on errors
- Fix Blob creation to use Uint8Array directly (avoid extra bytes)
- Replace loadFFmpeg race guard with promise singleton pattern
- Add -map_metadata -1 to strip source metadata (prevent duplicate ID3)
Error handling improvements:
- Create MP3EncodingError class with code property for reliable detection
- Update api.js to use instanceof check instead of string matching
- Pass AbortSignal to encodeToMp3 for proper cancellation support
- Remove error re-wrapping in mp3-encoder.js (preserve original errors)
Technical details:
- Promise singleton ensures FFmpeg loads once even with concurrent calls
- AbortSignal listener properly cleaned up on success/error/abort
- Virtual FS cleanup in finally block prevents file leaks
- MP3EncodingError.code = 'MP3_ENCODING_FAILED' for robust detection
2026-02-23 10:49:05 +01:00
Eduard Prigoana
fe6b1e9fad
favourites importing
2026-02-22 21:31:53 +00:00
Julien Maille
1aaf2dfd46
Fix API instances settings list rendering for object entries
2026-02-22 21:26:59 +01:00
gpulch
8a17bddbc3
feat: add MP3 320kbps download option with ffmpeg.wasm
...
Implements MP3 320kbps download functionality using ffmpeg.wasm for
industry-standard encoding with libmp3lame.
Features:
- New MP3_320 quality option in download settings UI
- ID3v2.3 metadata writing (title, artist, album, cover art, ISRC, etc.)
- Non-blocking encoding via Web Worker to keep UI responsive
- Proper UTF-16 with BOM text encoding for international characters
- Album artist fallback to track artist (mirrors FLAC/M4A behavior)
- Automatic format detection for downloaded audio
- Year validation to prevent writing NaN to ID3 tags
Implementation:
- mp3-encoder.js: Main encoder module with worker orchestration
- mp3-encoder.worker.js: FFmpeg Web Worker for async encoding
- id3-writer.js: ID3v2.3 tag writer with synchsafe size encoding
- Updates to api.js, metadata.js, utils.js for MP3 support
- Vite config excludes @ffmpeg packages from dep optimization
Technical details:
- Uses @ffmpeg/ffmpeg (libmp3lame 320kbps CBR, 44.1kHz)
- FFmpeg binary lazy-loaded from CDN (~25MB, cached)
- Encoding runs in separate thread (non-blocking UI)
- Proper error handling with distinct encoding vs network errors
- Memory-efficient: transfers ArrayBuffer with zero-copy
Dependencies:
- @ffmpeg/ffmpeg ^0.12.10
- @ffmpeg/util ^0.12.1
- Removed: package-lock.json (project uses bun.lock)
Closes maintainer request to use ffmpeg.wasm instead of lamejs.
2026-02-22 19:13:03 +01:00
EduardPrigoanaAlt
6b55fd4c7a
style: auto-fix linting issues
2026-02-22 15:47:05 +00:00
GooglyBlox
747f50f564
feat: add all artists to metadata
2026-02-21 18:31:43 -08:00
Julien Maille
c1973e81ff
Shuffle full artist discography instead of artist radio
2026-02-22 00:57:42 +01:00
JulienMaille
651f4282e5
style: auto-fix linting issues
2026-02-21 23:33:29 +00:00
Julien Maille
bf346f756e
Add multi-disc ZIP folders and fix playlist extension paths
2026-02-22 00:32:45 +01:00
Julien Maille
400197aabc
Write disc number metadata for FLAC and M4A downloads
2026-02-21 23:52:33 +01:00
Julien Maille
888703f18b
fix: resolve persistent labels
2026-02-21 23:42:45 +01:00
Julien Maille
73b9867d4b
FIX: tooltip and css issues
2026-02-21 23:33:30 +01:00
Samidy
77d99245c8
feat(artists): artists socials
2026-02-22 01:04:02 +03:00
SamidyFR
87a8368fc3
style: auto-fix linting issues
2026-02-21 19:58:57 +00:00
Sietse
1f13e34249
fix(player): Uniform shuffle
...
Replaces the current naive solution with Fisher-Yates
2026-02-21 20:53:42 +01:00
binimum
1188a2dcce
style: auto-fix linting issues
2026-02-21 14:57:44 +00:00
binimum
01309a9a15
Change instances.json in favour of Workers which have live API uptime
2026-02-21 14:56:55 +00:00
Julien Maille
acf64cbc17
fix: prevent home page double refresh and improve artist name extraction in album cards
2026-02-21 14:17:46 +01:00
JulienMaille
384dd867cd
style: auto-fix linting issues
2026-02-21 10:35:52 +00:00
Julien Maille
43a6e17df9
FIX: search history
2026-02-21 11:35:27 +01:00
Julien Maille
baec739b01
IMP: viz performances
2026-02-21 11:33:08 +01:00
Julien Maille
2bd42fc202
feat: add ISRC and copyright metadata support for M4A downloads
2026-02-21 10:30:17 +01:00
Julien Maille
3cab0926e4
Avoid skipping tracks when autoplay is blocked
...
# Conflicts:
# js/player.js
2026-02-21 10:30:17 +01:00
Julien Maille
0d16ea28a8
Avoid skipping tracks when autoplay is blocked
2026-02-21 01:12:54 +01:00
Samidy
1108a44df9
Merge branch 'main' of github.com:monochrome-music/monochrome
2026-02-21 02:32:04 +03:00
Samidy
07376b7d55
fix(track pages): fix these idiots not loading
2026-02-21 02:30:41 +03:00
Samidy
8c79e69382
feat(search): search recs in queue
2026-02-21 02:30:03 +03:00
JulienMaille
8731ddb502
style: auto-fix linting issues
2026-02-20 23:07:15 +00:00
Julien Maille
ae853636ce
IMP: 192kHz playback, adapted visualizers
2026-02-21 00:07:00 +01:00
SamidyFR
9b269d14fd
style: auto-fix linting issues
2026-02-20 19:09:51 +00:00
Samidy
61da5c47b0
cover images on local files ⁉️
2026-02-20 21:57:17 +03:00
Samidy
790a3b7f94
lol
2026-02-20 20:42:12 +03:00
BlackSigkill
bddf5a0d73
fix linting errors/warnings
2026-02-20 15:48:23 +01:00
SamidyFR
de8064410d
style: auto-fix linting issues
2026-02-20 13:22:40 +00:00
Samidy
04e4de0fb8
fix(APIs): remove now broken free tier API, oh and other stuff but idc
2026-02-20 16:22:13 +03:00
EduardPrigoanaAlt
82700ae42e
style: auto-fix linting issues
2026-02-20 10:50:13 +00:00
BlackSigkill
be7ca88221
keep track's artists order the same in subcontext menu
2026-02-20 10:57:58 +01:00
BlackSigkill
8be0fa944b
add sub context menu for artists + add links to artists
2026-02-20 10:49:56 +01:00
BlackSigkill
eddb202b1b
allow multi artist selection (go to artist context menu)
2026-02-20 10:16:08 +01:00
BlackSigkill
cefc49777c
lint & prettier
2026-02-19 23:48:44 +01:00
BlackSigkill
242541a7bb
remove qobuz bio as i can't test it
2026-02-19 23:45:43 +01:00
BlackSigkill
acc9d8b5cd
add tidal biography to artists pages
2026-02-19 23:37:18 +01:00
SamidyFR
48937ed573
style: auto-fix linting issues
2026-02-19 13:55:31 +00:00
Samidy
5eba6aa224
Merge branch 'main' of github.com:monochrome-music/monochrome
2026-02-19 16:55:02 +03:00
Samidy
250ebb9f99
feat(social): profiles feature
2026-02-19 16:54:58 +03:00
Julien Maille
d05a0ea9c0
FIX: local files in desktop app
2026-02-18 21:33:34 +01:00
Eduard Prigoana
a9f3acb289
fix4dwayne
2026-02-18 04:19:12 +00:00
Eduard Prigoana
64ff09910b
close modals on navigation
2026-02-18 03:50:00 +00:00
Eduard Prigoana
03a7dcda52
fix codeql suggestions
2026-02-18 03:30:20 +00:00
Eduard Prigoana
62fe4fca8e
whoops
2026-02-18 03:22:20 +00:00
Eduard Prigoana
58b77e904b
fix codeql stuff
2026-02-18 03:17:37 +00:00
Eduard Prigoana
120c725233
guess who goin to jail tonight
2026-02-17 23:49:51 +00:00
Eduard Prigoana
f20f3dbb9d
EQ changes
2026-02-17 20:22:47 +00:00
Eduard Prigoana
2fce3e382e
make all editors picks show at once and make the line going through equalizer be at midpoint
2026-02-17 17:38:59 +00:00
SamidyFR
5663b841c9
style: auto-fix linting issues
2026-02-16 19:27:03 +00:00
Samidy
1cac6d249b
Merge branch 'main' of github.com:monochrome-music/monochrome
2026-02-16 22:26:42 +03:00
Samidy
50d2dd252a
feat(Playlists): youtube music imports, refined imports menu
2026-02-16 22:26:38 +03:00
binimum
2d0ab393a7
style: auto-fix linting issues
2026-02-16 18:20:50 +00:00
binimum
48a1a87104
Change lyrics highlight colour based on light/dark mode
2026-02-16 18:19:43 +00:00
Samidy
7496585b1b
fix(User Playlists): fix track reordering
2026-02-16 17:36:49 +03:00
IsraelGPT
d0678cfc6c
i had cors allowence on again
2026-02-16 13:44:45 +00:00
IsraelGPT
18fc409e56
feat: playlist art uploads?
2026-02-16 13:40:36 +00:00
IsraelGPT
399a48a386
unblocking
2026-02-16 00:55:19 +00:00
IsraelGPT
a6b27fbfc3
clear queue on navigation
2026-02-16 00:48:05 +00:00
IsraelGPT
830155c14a
more imports
2026-02-16 00:36:36 +00:00
IsraelGPT
084bf957f5
FMCL
2026-02-15 23:57:06 +00:00
IsraelGPT
762488d823
load skeleton styling
2026-02-15 23:39:56 +00:00
IsraelGPT
b531d31dc1
Merge pull request #199 from itsgareth/fix/remove-linting-errors
...
fix: resolve all yarn lint errors
2026-02-16 00:08:15 +02:00
IsraelGPT
a0b7779520
Merge pull request #198 from itsgareth/fix/sidebar-settings-main-bottom-nav-sections-v2
...
fix(settings): restrict sidebar reorder to main vs bottom sections
2026-02-16 00:07:45 +02:00
Gareth Dawson
933d0e6a40
fix: resolve all yarn lint errors
2026-02-15 21:53:00 +00:00
Gareth Dawson
bd2ef5d8d5
fix(settings): restrict sidebar reorder to main vs bottom sections
2026-02-15 21:06:48 +00:00
Julien Maille
d0627fc14c
FIX: pinned items overflow
2026-02-15 21:56:08 +01:00
Julien Maille
179e08c148
FIX: one last try to fix media keys on linux
2026-02-15 21:30:32 +01:00
binimum
5999f7312f
Nope, turns out I did it wrong
2026-02-15 20:11:15 +00:00
Julien
71bf5e3935
Merge pull request #196 from binimum/patch-1
...
Update am-lyrics to use latest version
2026-02-15 21:08:47 +01:00
JulienMaille
5cd0d10b77
style: auto-fix linting issues
2026-02-15 20:08:02 +00:00
Julien Maille
8eaafd7e18
FIX: share link from neutralino's app
2026-02-15 21:07:43 +01:00
binimum
9a566e8f09
Update am-lyrics to use latest version
2026-02-15 20:06:22 +00:00
Julien Maille
094ae91af9
BREAK IT: the damn auth login (and fix neutralino downloads too)
2026-02-15 20:55:32 +01:00
Julien Maille
db66767dde
BREAK IT: the damn auth login (and fix neutralino downloads too)
2026-02-15 20:08:47 +01:00
IsraelGPT
c23f858412
JSPF playlist imports + plausible
2026-02-15 16:30:54 +00:00
IsraelGPT
790f5ee8b4
more font size changing
2026-02-15 15:30:48 +00:00
IsraelGPT
0b20caff69
equalizer changes
2026-02-15 15:01:34 +00:00
Julien Maille
127a57138b
FIX: hover tooltip could be out of the screen
2026-02-15 14:22:53 +01:00
Julien Maille
9a6d4da463
FIX: google auth on windows/web
...
# Conflicts:
# js/accounts/auth.js
2026-02-15 12:59:51 +01:00
IsraelGPT
7233fb5fbf
fix Discord and Download link are visible even if not activated in home menu
2026-02-15 11:30:04 +00:00
Julien Maille
d76526f5e9
FIX: google auth on windows/web
2026-02-15 10:25:27 +01:00
Gareth Dawson
0d1910285c
fix: restore iOS background play by detecting iOS before UA spoof
2026-02-14 22:56:33 +00:00
SamidyFR
3a52196b56
style: auto-fix linting issues
2026-02-14 19:41:08 +00:00
Samidy
2b9c9b344c
Merge branch 'main' of github.com:SamidyFR/monochrome
2026-02-14 22:40:44 +03:00
Samidy
c69d497037
feat(sidebar): pinned items
2026-02-14 22:40:39 +03:00
Eduard Prigoana
b47e11ef48
fix(iOS): don't set isInitialized flag when skipping Web Audio on iOS
...
Previously, the code was setting isInitialized = true on iOS even though
no AudioContext was created. This caused isReady() to return true, which
led other code to try to use the non-existent audio context.
Now isInitialized remains false on iOS, so isReady() returns false and
the code properly falls back to using the standard HTMLAudioElement APIs.
2026-02-14 20:01:09 +01:00
Eduard Prigoana
d7dde87023
add loading skeletons
2026-02-14 17:49:54 +00:00
Eduard Prigoana
a941faaa4e
Merge branch 'pr-183'
...
# Conflicts:
# js/md5.js
2026-02-14 16:46:19 +00:00
Eduard Prigoana
615f5dc8bd
add apple music fonts
2026-02-14 16:43:05 +00:00
JulienMaille
1e519002be
style: auto-fix linting issues
2026-02-13 23:46:59 +00:00
Julien Maille
1a7a16d501
WIP: trying to fix neutralino linux
2026-02-14 00:46:31 +01:00
Julien Maille
decdacc812
WIP: trying to fix neutralino linux
2026-02-13 21:43:01 +01:00
Julien Maille
7eaea145f5
IMP: settings
2026-02-13 21:25:36 +01:00
Julien Maille
02cf092904
FIX: try to fix application volume control on linux
2026-02-13 21:02:00 +01:00
BlackSigKill
310d5434c9
fix all linting (js/html/css)
2026-02-13 18:01:46 +01:00
Julien Maille
7e635143be
FIX: context menu on mobile or small screens
2026-02-12 23:17:20 +01:00