Commit graph

1519 commits

Author SHA1 Message Date
edidealt
cc2f28a798 fix track right clicks 2026-03-20 20:54:05 +00:00
edidealt
98b65509ea
Merge pull request #364 from DanTheMan827/hifi-token
fix(HiFi): enhance token fetching
2026-03-20 22:35:29 +02: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
edidealt
5d0d375242
Merge pull request #362 from DanTheMan827/hifi-api
Fix API caching and enhance query handling for testing
2026-03-20 19:00:17 +02: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
edidealt
44ec9ed6d9
Merge pull request #361 from DanTheMan827/hifi-api
fix(api): use direct queries when possible
2026-03-20 18:47:28 +02: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
edidealt
f76063d31a
Merge pull request #354 from binimum/main
URGENT refactor: update MediaPlayer import and add platform detection
2026-03-19 23:17:41 +02: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
edidealt
6336df3ad9
Merge pull request #349 from DanTheMan827/split-hls-dashjs
Externalize hls.js and dashjs to reduce bundle size
2026-03-19 22:35:51 +02: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
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