binimum
8a377d5332
chore(player): log preload load errors
2026-04-04 20:36:41 +00:00
edideaur
005bd2d2ee
merge all my contributions on alts to my main account
2026-04-04 20:13:44 +00:00
Samidy
90dc00ba5a
Merge branch 'main' of github.com:monochrome-music/monochrome
2026-04-04 22:50:07 +03:00
Samidy
c3e9839845
feat(about): Contributors list
2026-04-04 22:49:01 +03:00
Daniel
648e47e1d8
fix(linting): fix js linting issues
2026-04-04 01:37:47 +03:00
Daniel
ddc986bc52
fix(downloads): update downloadTrackWithMetadata function
...
- Fix reference to enrichTrack
- Added detailed JSDoc comments for better documentation
- Updated API reference to use MusicAPI.instance for consistency
- Improved error handling and metadata enrichment process
2026-04-04 01:37:47 +03:00
Daniel
a282b37d88
refactor(hifi): add getArtistBiography
2026-04-04 01:37:47 +03:00
Daniel
e154215fc5
fix(downloads): update downloadTrackWithMetadata to use MusicAPI
...
- Added default parameter for api in downloadTrackWithMetadata function
- Updated api call to enrichTrack to use the correct instance
- Imported MusicAPI for proper functionality
2026-04-04 01:37:47 +03:00
Daniel
3a28ef54d1
fix(hifi): remove extra await
2026-04-04 01:37:47 +03:00
Daniel
5504e004cc
fix(hifi): fix tokenExpiry assignment
2026-04-04 01:37:47 +03:00
edideaur
a0f60a2dbd
style: auto-fix linting issues
2026-04-03 11:31:45 +00:00
Daniel
5b727a103e
feat(downloads): allow writing multiple artists to metadata
...
This will write each artist separately to the metadata rather than as a single concatenated string. This allows for better library searching if the player supports it.
If multiple artists are written to an m4a file, iTunes will only show the first artist.
2026-04-03 14:31:19 +03:00
Daniel
51e5e1973f
fix: update taglib-ts
2026-04-03 14:31:19 +03:00
edideaur
2ddf26ec4c
feat: right clicking context menu on miniplayer
2026-04-02 18:52:38 +00:00
edideaur
2183610df1
further:allow right clicking blocked content for easier unblocking
2026-04-02 18:44:13 +00:00
edideaur
a6082a5288
fix:blocking
2026-04-02 18:32:48 +00:00
edideaur
bdde8fdb6a
fix: l opens lyrics
2026-04-02 18:28:46 +00:00
edideaur
fd1300fcb7
i understand i did u wrong but thats not all
2026-04-02 17:18:52 +00:00
edideaur
8ceaffe757
tilt settings
2026-04-02 16:09:58 +00:00
edideaur
c8b7a9cd17
tilting, rounding, and new trackerapi instance
2026-04-02 12:08:05 +00:00
edideaur
e71c989319
editor pick changes
2026-04-02 09:09:13 +00:00
tryptz
0652aa4866
style: auto-fix linting issues
2026-04-02 11:05:12 +03:00
tryptz
782e98061b
fix: address all CodeRabbit review findings from PR #477
...
Engine & algorithm:
- Use default shelf Q (1/√2) in calculateBiquadResponse for shelf filters
- Compute normalization offset on measurement frequency grid to avoid bias
- Try stale cache for all fetch errors in autoeq-importer, not just timeouts
Audio pipeline:
- Pass postProcessingQuality (preserves Dolby Atmos override) in api.js
- Persist custom band frequencies in equalizerSettings storage
- Restore custom frequencies on _loadSettings instead of regenerating defaults
- Export clamped preamp value in applyAutoEQBands text output
- Propagate filter type and Q values through equalizer import chain
- Update freqRange after importing custom filter frequencies
- Remove return in finally block that hid LOSSLESS fallback failures
Data consistency:
- Normalize artist IDs with String() in blockArtist/unblockArtist
Lint & code quality:
- Annotate empty catch blocks (Atmos codec probes)
- Remove unused catch parameters
Accessibility:
- Add aria-label and for attributes to all AutoEQ form controls
- Add role="status" aria-live="polite" to feedback spans
- Update filter type documentation to reflect shelf support
- Hide parametric-only sections by default to match active tab
UI:
- Move AutoEq button directly under graph
- Hide shared button in Parametric/Speaker modes
- Replace hardcoded white legend dot with theme-adaptive color-mix
- Add pointer-events:none and focus-within to profile delete button
2026-04-02 11:05:12 +03:00
tryptz
77f9e10fdc
style: auto-fix linting issues
2026-04-02 11:05:12 +03:00
tryptz
d4d1fe8494
feat: AutoEQ and speaker EQ enhancements
...
Adds AutoEQ integration with interactive parametric EQ graph,
speaker/room correction with shelf filters, and improved EQ
persistence via IndexedDB.
2026-04-02 11:05:12 +03:00
Daniel
6e98830fdd
fix(downloads): change FLAC ffmpegArgs to use 'copy' codec
2026-04-02 10:40:45 +03:00
edideaur
b199844d07
Merge pull request #474 from DanTheMan827/vitest
...
feat(vitest): add vitest config and tests
2026-04-02 10:27:51 +03:00
SamidyFR
b00cb086f4
style: auto-fix linting issues
2026-04-01 21:02:31 +00:00
Samidy
2a6c763176
Merge branch 'main' of github.com:monochrome-music/monochrome
2026-04-02 00:02:01 +03:00
Samidy
6ad728d106
feat(social): Listening Parties
2026-04-02 00:01:57 +03:00
Daniel
b94a832d2e
feat(vitest): add vitest config and tests
...
Add tests for HiFi, ffmpeg, and download api functions.
2026-04-01 12:46:30 -05:00
edideaur
c8f64a52e8
tilting + background play fixes
2026-04-01 14:47:37 +00:00
SamidyFR
c17c249ca9
style: auto-fix linting issues
2026-03-31 17:09:15 +00:00
Daniel
bb387ac30b
fix(downloads): pass DOLBY_ATMOS to applyAudioPostProcessing if track is atmos
2026-03-31 12:07:31 -05:00
Daniel
88ec8feb6b
fix(downloads): improve ffmpeg logging
2026-03-31 10:23:03 -05:00
Daniel
286a123e02
fix(downloads): actually return the encoded blob
2026-03-31 09:56:04 -05:00
Daniel
39163fa4b6
fix(downloads): applyAudioPostProcessing now uses lookup audio quality to determine if the available track is lossless
2026-03-30 21:10:48 -05:00
IsraelGPT
386c6123d8
add new slop
2026-03-29 21:29:24 +00:00
SamidyFR
a63f87410f
style: auto-fix linting issues
2026-03-29 18:58:24 +00:00
Samidy
edc0b5d1bd
Fix(Blocked Content): Manage System Not Working
2026-03-29 18:05:05 +03:00
edideaur
022c27056b
Merge pull request #417 from DanTheMan827/download-fixes
...
Download fixes
2026-03-29 13:59:45 +03:00
SamidyFR
3d74bdb579
style: auto-fix linting issues
2026-03-29 10:10:07 +00:00
Samidy
1a63b898cc
Merge branch 'main' of github.com:monochrome-music/monochrome
2026-03-29 13:09:36 +03:00
Samidy
8ed52d8843
Bye Bye Desktop App
2026-03-29 13:09:32 +03:00
Daniel
113d0c513f
fix(ffmpeg): pass abort signal from ffmpegInfo to inner ffmpeg call
2026-03-28 19:27:31 -05:00
Daniel
cde606b5cc
fix(downloads): pass abort signal to atmos manifest fetch
2026-03-28 19:25:55 -05:00
Daniel
e21f0f5153
fix(player): fix video preload
2026-03-28 19:21:36 -05:00
Daniel
a9798007cc
fix(api): ensure all tracks are prepared
2026-03-28 19:21:18 -05:00
Daniel
1b5385d1ec
fix(api): remove allowedDomains for getVideo
...
- Removed 'allowedDomains' parameter from the fetchWithRetry method call in getVideoStreamUrl.
2026-03-28 15:33:14 -05:00
Daniel
9b7e1e2369
refactor(downloads): rename functions to remove AsZip from names
2026-03-28 15:26:55 -05:00
Daniel
2923757029
fix(settings): organize downloads tab
2026-03-28 15:26:55 -05:00
Daniel
9c34dd4b9d
feat(downloads): add check box for atmos, and fallback to desired quality if unavailable
2026-03-28 15:26:55 -05:00
Daniel
6e517fcb9b
fix(downloads): check codec info in applyAudioPostProcessing if quality is in question
2026-03-28 15:26:55 -05:00
Daniel
9f7b0ff525
refactor(ffmpeg): add ffmpegInfo function and refactor ffmpeg usage
2026-03-28 15:26:55 -05:00
Mrigakshi Roy Choudhury
417d98c011
fix(api): format image url for the api to recognize it and to save the user details
2026-03-28 22:50:32 +05:30
edideaur
81ea141d48
style: auto-fix linting issues
2026-03-28 13:33:03 +00:00
Eduard Prigoana
0424e6bea7
add commit ID embedding for easier debugging
2026-03-28 15:31:18 +02:00
edideaur
27defce9b0
style: auto-fix linting issues
2026-03-28 13:19:22 +00:00
Eduard Prigoana
0b6262cdca
re-add auth sources
2026-03-28 15:18:54 +02:00
edidealt
416f2ca6aa
style: auto-fix linting issues
2026-03-28 09:42:05 +00:00
edidealt
6ace8e19be
Merge branch 'main' into fix/ui-ux-video-library-fullscreen
2026-03-28 11:28:38 +02:00
Eduard Prigoana
e809d1443f
fix trackers, remove AI slop
2026-03-28 01:04:30 +02:00
Thiago Vinícius
8cf7010e7f
🐛 fix: library liked track card link (grid plays like list); my playlists grid layout
2026-03-27 18:32:13 -03:00
Thiago Vinícius
5be3d39b1b
🐛 fix: CodeRabbit review (library search, covers, likes, layout classes, clear-btn, styles) and lint workflow; keep scroll on list/grid toggle
...
Made-with: Cursor
2026-03-27 18:20:11 -03:00
Thiago Vinícius
2e92a34b00
🐛 fix: issues flagged by CodeRabbit
...
Made-with: Cursor
2026-03-27 18:11:12 -03:00
Thiago Vinícius
75a1465977
fix(ui): drop empty playlists placeholder and fix inline-like track grid on narrow viewports
...
Made-with: Cursor
2026-03-27 17:15:22 -03:00
Samidy
628b8ae017
Merge pull request #435 from vladbrox/main
...
HOTFIX: Fix track validation in loveTrack method
2026-03-27 22:32:05 +03:00
Thiago Vinícius
520c778f84
fix(ui): video library cards, fullscreen layout, and search UX
...
Made-with: Cursor
2026-03-27 16:26:51 -03:00
David Zeng
09bc49bd60
Merge branch 'monochrome-music:main' into fix-local-folder
2026-03-27 19:59:11 +01:00
David ZENG
d15a99dad8
fix(library) fixed undefined error, when importing local music folder
2026-03-27 19:55:09 +01:00
SamidyFR
4a38afe810
style: auto-fix linting issues
2026-03-27 18:52:20 +00:00
Mrigakshi Roy Choudhury
65d0eadb71
fix(library): share playlist with the correct url
2026-03-28 00:13:36 +05:30
.vlad
2b67fc2609
Fix condition in loveTrack method
2026-03-27 18:45:57 +03:00
SamidyFR
121aa44fd1
style: auto-fix linting issues
2026-03-27 15:42:30 +00:00
Samidy
b7be5a6556
Merge pull request #434 from vladbrox/main
...
Listebrainz improvments
2026-03-27 18:42:00 +03:00
.vlad
8177cc4789
Fix artist name check in loveTrack method
...
Add null check for artist name in loveTrack method.
2026-03-27 18:35:48 +03:00
.vlad
c3c3005428
fix issues. now use set for lovingTracks, lbid album check, const and let var fix
2026-03-27 18:21:22 +03:00
Samidy
68512c957a
Merge pull request #430 from vladbrox/main
...
Refactor MBID lookup and add love lock
2026-03-27 18:18:48 +03:00
.vlad
27c2a7b092
Refactor MBID lookup and add loving functionality
2026-03-27 17:26:35 +03:00
Samidy
4e75a734a2
remove qobuz
2026-03-27 14:30:39 +03:00
Eduard Prigoana
b962853b69
weights
2026-03-26 20:36:42 +02:00
Daniel
80cd8b2f9b
refactor(downloads): cleanup downloads and add mp4 stik atom
2026-03-24 14:10:28 -05:00
edideaur
23c5baae5f
style: auto-fix linting issues
2026-03-23 20:01:26 +00:00
Eduard Prigoana
1e8e62dbee
remove unexistent instances from tracker.js and add new instance
2026-03-23 22:00:53 +02:00
edideaur
7f61e723da
Merge pull request #401 from DanTheMan827/hifi-update
...
Refactor HiFi.ts and add trackManifests route
2026-03-23 21:57:34 +02:00
Daniel
2440939f4b
refactor(hifi): update HiFi.ts to add trackManifests route and refactor
2026-03-23 13:42:03 -05:00
Daniel
21cbfcdbf4
fix(hifi): throw errors instead of returning json with the error
2026-03-23 09:35:04 -05:00
edideaur
15e6e99269
d-d-d-d-drop that bitch
2026-03-23 16:30:51 +02:00
binimum
ef142f2ff0
style: auto-fix linting issues
2026-03-22 20:38:39 +00:00
binimum
44d92b46dc
feat: implement side panel resizer and responsive styles
2026-03-22 20:38:08 +00:00
binimum
d9878596e2
style: auto-fix linting issues
2026-03-22 20:13:27 +00:00
binimum
98cc3b9391
Merge branch 'main' of https://github.com/monochrome-music/monochrome
2026-03-22 20:11:37 +00:00
binimum
d783642401
feat: add Atmos support, use new API endpoint, streamline API caching
2026-03-22 20:08:30 +00:00
edidealt
6ed58333e7
style: auto-fix linting issues
2026-03-22 19:13:04 +00:00
Daniel
111ade245f
fix(metadata): lyrics are now fetched
2026-03-22 14:05:07 -05:00
edideaur
b6e8068652
capacitor app
2026-03-22 20:59:00 +02:00
edidealt
4d18704e2e
sure this works i guess
2026-03-22 04:57:18 +00:00
edidealt
c2f8d3fca1
feat: podcasts
2026-03-22 04:32:20 +00:00
Samidy
3cd54a2b5f
fix(reset password): change reset-password link to remove .html (causes issues)
2026-03-22 07:30:22 +03:00
edidealt
7e16dc23c2
Merge pull request #380 from DanTheMan827/singleton
...
Convert classes to singleton pattern
2026-03-22 03:36:13 +02:00
edidealt
6f8b479d0f
infinite track playing for popular tracks
2026-03-21 23:25:16 +00:00
Daniel
e32fbc3813
refactor(UIRenderer): convert to singleton
2026-03-21 18:14:48 -05:00
Daniel
2fdd169ba0
refactor(Hifi): convert to singleton
2026-03-21 18:05:09 -05:00
Daniel
aa1c6944d2
feat: expose certain classes under the monochrome object when in dev mode
2026-03-21 17:41:19 -05:00
Daniel
c768f8d675
refactor(lyrics): convert to singleton
2026-03-21 17:36:23 -05:00
Daniel
fb4b72bc39
refactor(music-api): convert to singleton
2026-03-21 17:29:04 -05:00
Daniel
852baeaa17
refactor(player): convert to singleton
2026-03-21 17:21:09 -05:00
Daniel
6728b17efe
fix: bun format
2026-03-21 16:56:05 -05:00
akane
7008de33b0
fix(ui): revert history dedup to preserve play frequency
2026-03-21 12:33:25 -07:00
akane
446b6fff55
fix(ui): deduplicate recommended songs on homepage
2026-03-21 12:30:38 -07:00
akane
da5ade79a7
perf(ui): cache settings Fuse instance in command palette
2026-03-21 12:04:25 -07:00
akane
7e56fc5030
fix(ui): command palette accessibility, theme handling, and edge cases
2026-03-21 11:56:34 -07:00
akane
d75f0e3196
refactor(ui): use icons.ts for command palette icons
2026-03-21 11:53:16 -07:00
akane
3415901bdb
feat(ui): add cmdk-style command palette
2026-03-21 11:35:09 -07:00
Daniel
c74389d330
fix(metadata): write xid to mp4 files
2026-03-20 19:44:21 -05:00
edidealt
e22d2b96ad
separate donate page
2026-03-21 00:03:19 +00:00
edidealt
d8709f447f
Merge pull request #369 from DanTheMan827/copilot/add-bulk-download-options
...
Add bulk download options and streamline settings API
2026-03-21 01:48:07 +02:00
DanTheMan827
5c5ea904c8
style: auto-fix linting issues
2026-03-20 23:00:41 +00:00
Daniel
397fc53a46
feat(downloads): add local media folder bulk download options and folder template paths
...
This also implements a ModernSettings class for a more streamlined settings API.
2026-03-20 18:00:14 -05:00
edidealt
086b190308
Merge pull request #366 from matioku/fix/share-url-construction
...
fix(events): fix share/open-in-new-tab URL construction
2026-03-20 22:57:53 +00:00
edidealt
f9a58b1cac
Merge pull request #368 from DanTheMan827/patch-1
...
refactor(hifi): update localStorage and token handling
2026-03-21 00:40:15 +02:00
edidealt
90f4930634
whoops forgot mobile selection
2026-03-20 22:36:38 +00:00
edidealt
ab11ff6a37
multi-track selection
2026-03-20 22:28:08 +00:00
Daniel
4f0d95bf42
refactor(hifi): update localStorage and token handling
...
Modified token encoding to use globalThis and added a setToken method.
2026-03-20 17:13:23 -05:00
edidealt
cc2f28a798
fix track right clicks
2026-03-20 20:54:05 +00:00
matioku
8f1994d9d3
fix(events): fix share/open-in-new-tab URL construction
2026-03-20 21:30:15 +01:00
Daniel
1bd895093b
fix(HiFi): enhance token fetching
2026-03-20 14:32:30 -05:00
edidealt
9071670ad9
Merge pull request #363 from DanTheMan827/video-metadata
...
Add metadata support for video downloads
2026-03-20 20:25:07 +02:00
Daniel
5d697760d0
fix(HiFi.ts): cache token
2026-03-20 13:19:15 -05:00
Daniel
5ac4d23199
fix(HiFi.ts): ensure only one token is fetched
...
If multiple calls to the HiFi methods were called at once, you could potentially have ended up with multiple simultaneous token api calls
2026-03-20 13:12:40 -05:00
edidealt
7bcb9e1fb5
listenbrainz love on like
2026-03-20 18:07:06 +00:00
Daniel
a385cb558a
fix(api): use an instance for /recommendations
2026-03-20 13:02:48 -05:00
Daniel
f2b8cdc812
feat(downloads): add metadata to videos
2026-03-20 12:52:07 -05:00
Daniel
8edca3678d
fix(api): remove domain checks from searchVideos
2026-03-20 11:57:38 -05:00
Daniel
b48ee588aa
fix(api): don't cache direct queries
...
This also adds a global `window.allTidal` flag to force all queries to go through the API, which is useful for testing.
2026-03-20 11:54:04 -05:00
Daniel
47b8c36594
fix(api): use direct queries when possible
2026-03-20 11:38:31 -05:00
binimum
f378552028
refactor: add formatTemplate import to downloads.js
2026-03-20 00:33:05 +00:00
binimum
5bb8713bbf
refactor: update MediaPlayer import and add platform detection
2026-03-19 21:01:29 +00:00
edidealt
0b2b91a8a4
fix builds
2026-03-19 20:49:16 +00:00
Daniel
c19dbcf52a
refactor: adjust imports to allow for file splitting
...
- dynamically import router
- dynamically import visualizers
- update import syntax for am-lyrics to use dynamic import syntax
2026-03-19 15:34:51 -05:00
Daniel
4e2a595504
refactor(hls/dash): externalize hls.js and dashjs to reduce initial bundle size
2026-03-19 15:34:51 -05:00
Daniel
e2a09b9b32
refactor: externalize svg images and add new vite plugin
...
The plugin runs all imported SVG files through svgo.
For index.html, you can use the following syntax:
```html
<use svg="file.svg" size="24" />
```
For scripts, use the `?svg` import query
```javascript
import SVG_FILE from './file.svg?svg&size=24
```
Note: size is shorthand for specifying both width and height individually. You can also set any property of the base SVG element.
You can also use the `?svg&icon` query to return a function that allows dynamically resizing the SVG string.
2026-03-19 15:28:33 -05:00
edidealt
affb6dd5de
Merge pull request #350 from DanTheMan827/replace-taglib-wasm
...
Replace taglib-wasm with taglib-ts
2026-03-19 22:22:38 +02:00
edidealt
6b986402ff
Merge pull request #351 from DanTheMan827/optimistic-local-scan
...
Render local files in UI as scanned
2026-03-19 22:22:14 +02:00
edidealt
fc4adfcd32
Merge pull request #352 from DanTheMan827/minor-fixes
...
A collection of fixes
2026-03-19 22:21:53 +02:00
Daniel
7c5424437e
feat(ffmpeg): add WAV format support and detection for use in dev mode
...
- Added WAV format to customFormats with appropriate metadata.
- Implemented detection for RIFF/WAVE format in detectAudioFormat function.
2026-03-19 15:14:52 -05:00
Daniel
895d5dd20f
feat(metadata): replace taglib-wasm with @dantheman827/taglib-ts
...
- feat(taglib): updated audio buffer handling in metadata.js to use Uint8Array.
- feat(taglib): refactored addMetadataToAudio to support return type as Blob or Uint8Array
- feat(taglib): add timeout functionality to metadata functions
- Introduced `withTimeout` utility function to handle operation timeouts.
- Updated `addMetadataWithTagLib` to use `withTimeout` for promise resolution.
- Updated `getMetadataWithTagLib` to use `withTimeout` for promise resolution.
- Added default timeout parameter to both metadata functions.
- feat(taglib): improve metadata handling with ChunkedByteVectorStream
- Enhanced metadata handling in taglib.ts and taglib.worker.ts to utilize ChunkedByteVectorStream.
- fix(taglib): handle metadata addition failure gracefully
- Updated `addMetadataWithTagLib` to catch errors and return original audio data if metadata addition fails.
fix(downloads): return original blob if metadata addition fails
- Wrap addMetadataToAudio call in try-catch to handle errors.
feat(taglib): add direct calling of taglib methods
- Introduced `direct` parameter to `addMetadataWithTagLib` and `getMetadataWithTagLib` functions for direct processing in the current thread.
- Exported taglib worker functions.
2026-03-19 15:14:52 -05:00
Daniel
98953b4572
feat(local-files): initialize localFilesCache and render local files in UI after each track is scanned
2026-03-19 15:13:13 -05:00
Daniel
cd64239ba1
refactor(downloads): add readableStreamIterator for easier stream handling
...
- Introduced `readableStreamIterator` to convert ReadableStream into async iterable.
- Updated `LosslessAPI` to utilize `readableStreamIterator` for handling response body.
- Modified `ZipNeutralinoWriter` to use `readableStreamIterator` for reading chunks.
2026-03-19 15:12:24 -05:00
Daniel
61aebf7994
refactor(metadata): move METADATA_STRINGS to separate file
2026-03-19 15:11:37 -05:00