Commit graph

1347 commits

Author SHA1 Message Date
edidealt
e4afdf833c
Merge pull request #348 from DanTheMan827/svg-refactor
Refactor SVG handling with new Vite plugin and externalization
2026-03-19 22:30:58 +02:00
edidealt
5ee5097acb
Merge branch 'main' into svg-refactor 2026-03-19 22:30:25 +02:00
edidealt
d49f3602e6
Merge pull request #353 from monochrome-music/dependabot/npm_and_yarn/flatted-3.4.2
chore(deps-dev): bump flatted from 3.4.0 to 3.4.2
2026-03-19 22:29:28 +02: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
dependabot[bot]
e109a5f236
chore(deps-dev): bump flatted from 3.4.0 to 3.4.2
Bumps [flatted](https://github.com/WebReflection/flatted) from 3.4.0 to 3.4.2.
- [Commits](https://github.com/WebReflection/flatted/compare/v3.4.0...v3.4.2)

---
updated-dependencies:
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-19 20:23:20 +00: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
Daniel
fd06160f7e refactor(doTimed): refactor error handling and skip timing when not in dev mode 2026-03-19 15:11:15 -05:00
Daniel
b7cac5724d fix(downloads): don't disable hi-res downloads on iOS or Safari
Just because the browser can't play them doesn't mean the user may not want to download them
2026-03-19 15:11:15 -05:00
Daniel
393491e2c8 refactor(platform-detection): add platform-detection.ts for browser and platform detection 2026-03-19 15:09:58 -05:00
Daniel
c315d2dfcd fix(downloads): update lossless quality labels 2026-03-19 15:09:58 -05:00
Daniel
2a4136a5f6 fix(downloads): progress index now shows correct track number in bulk download 2026-03-19 15:07:28 -05:00
Daniel
a4b46c3520 fix(lint): update permissions for workflow actions
- Changed permissions from 'workflows: write' to 'actions: write'
2026-03-19 15:07:27 -05:00
Daniel
ade3191965 feat(build): enable source maps for better debugging
- Added sourcemap option to the build configuration
2026-03-19 15:06:25 -05:00
edidealt
992974d790 fix image uploads 2026-03-19 18:58:15 +00:00
edideaur
1ba27308d1
Merge pull request #338 from Nohan-V2/fix-settings
Fix settings persistence: ReplayGain Pre-Amp and Gapless Playback
2026-03-18 04:18:04 +02:00
Samidy
48fc94895a split site building & desktop building 2026-03-18 04:39:17 +03:00
Nohan-V2
a18e865906 Fix settings persistence: ReplayGain Pre-Amp and Gapless Playback 2026-03-17 22:13:02 +01:00
edidealt
6b1619d2c3 more generas in the hot and new section 2026-03-17 20:40:55 +00:00
edideaur
e5b4cf6adf
Merge pull request #335 from Xenuel/feature/in-your-library
feat(ui): add "In Your Library" section to artist detail page
2026-03-17 11:00:11 +02:00
Samidy
971b5c94be Feat(Hot/New): Add R&B & Kids Genre Section 2026-03-17 06:04:27 +03:00
Samidy
0f0cbb71ff meta: point mirrors back to main domain 2026-03-17 05:57:30 +03:00
Samidy
07d78798cd feat(hot & new): metal genre 2026-03-17 04:36:49 +03:00
Xenuel
43f816ad25 refactor(ui): improve accessibility and security in "In Your Library" section
Replace h2 toggle with semantic button and aria-expanded attribute,
switch from style.display to hidden attribute for visibility control,
use DOM methods instead of innerHTML for source labels and modal
options to prevent XSS, improve artist matching with ID-based lookup,
and clean up event listeners before re-attaching to prevent leaks.
2026-03-16 23:46:25 +01:00
Xenuel
52d5166363 feat(ui): add "In Your Library" section to artist detail page
Show liked tracks and playlist tracks by the artist with source
labels, collapsible chevron toggle, and real-time updates via
favorites-changed and playlist-tracks-changed events.
2026-03-16 22:38:29 +01:00
Samidy
b7aaa37578 add new pinkhamster instance 2026-03-16 23:46:27 +03:00
edideaur
5c7776abb7 actually refresh instances on refresh... 2026-03-16 19:41:01 +00:00
edideaur
6e39cad73d fix (remove spotisaver blacklist) 2026-03-16 16:16:57 +00:00
edideaur
23c53eb05f
Merge pull request #331 from itsmo-ks/fix-docker-env-vars
Enhance Docker and environment variable handling for authentication
2026-03-16 14:36:07 +02:00
Samidy
f5a481dbcd Merge branch 'main' of github.com:monochrome-music/monochrome 2026-03-16 13:08:13 +03:00
Samidy
e3640d329e docs(Instances): add new official mirror 2026-03-16 13:08:09 +03:00
Samidy
a2fd69223e
fix link here lol 2026-03-16 06:46:11 +03:00
Samidy
7162a021c7
alr bra im not tryna get fucked 2026-03-16 06:23:10 +03:00
itsmo-ks
6fcb9656ae Enhance Docker and environment variable handling for authentication features 2026-03-15 22:32:02 +00:00
edideaur
3e4b3afcc8
Merge pull request #328 from itsmo-ks/fix-clear-recently-played
Fix Clear Recently played
2026-03-15 21:50:02 +02:00
itsmo-ks
abcc33ba38 Fix Clear Recently played 2026-03-15 14:00:44 +00:00
edideaur
7b70e55895
Merge pull request #326 from lsmda/feature/add-strict-album-match-toggle-on-playlist-creation
feat(playlists): add strict album match toggle on CSV tab import
2026-03-15 13:47:58 +02:00
edideaur
5bd9674e90
pls work 2026-03-15 13:47:00 +02:00
edideaur
518c930eb2
undo linting changes 2026-03-15 13:43:37 +02:00
edideaur
4277e6db4b
Merge pull request #327 from ntsrihari/fix/issues-322-313-278
fix(ui): fullscreen volume above taskbar, settings overflow, download…
2026-03-15 13:41:03 +02:00
Srihari NT
677f515e4d fix(ui): fullscreen volume above taskbar, settings overflow, download progress
- #322: Fullscreen overlay padding and main-view scrollable so volume stays above taskbar when Up next is shown

- #313: Settings tab content constrained on small displays with max-width, min-width, overflow-x

- #278: HEAD request before GET for download to get Content-Length for progress bar; resolveDownloadTotalBytes in downloadProgressUtils.js
2026-03-15 15:41:32 +05:30
Samidy
48b449e3d8
Merge pull request #324 from itsmo-ks/fix-reset-local-data
Fixed Reset Local Data
2026-03-15 05:27:53 +03:00
lsmda
dcfd599c70
Merge branch 'monochrome-music:main' into feature/add-strict-album-match-toggle-on-playlist-creation 2026-03-15 02:21:29 +00:00
lsmda
6b38809fd7 feat(playlists): add strict album matching toggle on playlist creation modal 2026-03-15 02:17:15 +00:00