jeffvli
37ada07ee2
add "stopped" playback state and event handlers
2026-06-29 20:23:46 -07:00
Ryan Kupka
26eea7422d
fix: recover mpv playback after the OS resumes from sleep ( #2172 )
...
mpv/ffmpeg had no network-level timeout or reconnect options, so a
network stream left open across a system sleep would block forever on
the now-dead TCP connection instead of failing or reconnecting. Since
Node-MPV's IPC commands only resolve when mpv replies, a wedged mpv
process also made quit()/restart hang indefinitely, so the only way
out was to kill the whole app.
- Add --network-timeout and ffmpeg reconnect options to mpv's default
parameters so a stalled stream fails fast instead of hanging.
- Make the quit() helper resilient to an unresponsive mpv process by
racing it against a timeout and force-killing as a fallback.
- Listen for Electron's powerMonitor 'resume' event and tell the
renderer to reload mpv, so playback recovers automatically instead
of requiring a manual app restart.
2026-06-26 19:18:27 -07:00
Norman
5ddbfcbfee
Highlight the playlist in the left panel on play ( #2025 )
...
* Fixed bad smart playlist field s
* first try to add playlist highlight
* Simplified calls
* Now works for grids too.
* Derive the playlist highlight from the currently-playing track's origin instead of a stale global field.
* addressed comments
2026-06-24 03:18:02 +00:00
jeffvli
417365f091
fix replaygain volume jump ( #1576 )
2026-06-21 18:49:43 -07:00
jeffvli
61cc87e0b7
refactor song path replacement
...
- path replacement during runtime instead of during API normalization
- fix Navidrome API path not appending libraryPath which caused inconsistency between ND and Subsonic paths
2026-06-19 22:02:25 -07:00
keebsxd
2107d1c928
Added Graphic EQ and Compressor ( #1972 )
...
* Adding Graphic Eq and Compressor with presets
2026-06-16 00:38:40 -07:00
jeffvli
46b94a83f1
fix reportPlayback event chain ( #2131 )
...
- properly send stopped event on song change
- properly send both starting and playing evento n song change instead of only starting
2026-06-06 18:41:59 -07:00
jeffvli
0e24eeeb1c
only show queue save toast on explicit request ( #2090 )
2026-06-03 00:28:12 -07:00
Overdrive
deb69ef8ea
Feature: Add sleep timer for end of current album ( #2081 )
...
* Add logic for stopping playback at end of current album, unless in shuffle mode.
2026-06-02 23:22:56 -07:00
jeffvli
7243ed7f15
fix timestamp restore when song switched before playback start ( #2094 )
2026-05-31 23:09:33 -07:00
Kendall Garner
6aab8d4121
fix(scrobble): use proper pause/unpause for seek, use ms for subsonic
2026-05-31 21:13:11 -07:00
jeffvli
9d53c53c54
fix queue end handling to prevent repeat
2026-05-28 02:06:07 -07:00
jeffvli
1f5907716f
disable interval-based timeupdate scrobbles
2026-05-28 00:59:30 -07:00
jeffvli
1aa6b88cfa
allow transcode on waveform streamURL ( #2060 )
2026-05-26 20:35:23 -07:00
jeffvli
329d028edd
add open delay to scrobble status HoverCard
2026-05-26 20:05:01 -07:00
jeffvli
239ef4a4ec
add album mode for autodj
...
- add selection modes: similar, random
- add autodj settings in playerbar popover
2026-05-25 19:23:37 -07:00
jeffvli
61c6036d41
cap scrobble status at max values
2026-05-25 13:26:12 -07:00
jeffvli
95ae474cc6
fix playerbar slider styles
...
- left / right values should be consistent width
2026-05-25 13:26:12 -07:00
jeffvli
504bbeed91
handle positional scrobbles for OS
2026-05-25 13:26:11 -07:00
Kendall Garner
7befd70e21
Apply additional security recommendations ( #2050 )
...
* enable sandbox
* enable CSP (umami tentatively works?) and reduce amount of ipc APIs exposed
* remove csp from index
2026-05-22 22:09:22 -07:00
jeffvli
755f0aab9d
fix mediasession breaking on player repeat ( #1472 )
...
- switch to single web player instance for loop instead of dual-player
- this fixes the issue, but does have a breaking change if using the crossfade player
2026-05-22 01:32:22 -07:00
Tiago Simionato
8f40894926
feat: persist player timestamp ( #2043 )
...
* feat: persist player timestamp
2026-05-21 00:16:46 -07:00
jeffvli
ffe59b2c78
refactor scrobbling to use duration instead of progress ( #2010 )
...
- add scrobble status debug and indicator
- add force / reset scrobble
2026-05-12 22:04:46 -07:00
Jeff
e2a1d813a9
Use proper casing for i18n locales ( #1998 )
2026-05-11 19:42:07 -07:00
jeffvli
323130a877
add toggle for app-suspension for powersave block ( #1992 )
2026-05-01 21:24:45 -07:00
jeffvli
3b2aab74ac
enforce web player seek by seconds when less than 1 ( #1993 )
2026-05-01 21:12:20 -07:00
jeffvli
6be5818493
migrate to mantine v9
2026-04-28 21:02:27 -07:00
jeffvli
f5eb3f1488
wrap useHotkeys to disable on command palette open ( #1925 )
2026-04-28 19:31:41 -07:00
Mitch Ray
fcc69980e4
Stretch the wavesurfer waveform to the full height ( #1962 )
...
* Stretch the wavesurfer waveform to the full height
* Add waveform stretch setting
2026-04-27 20:28:03 -07:00
York
b99899f128
fix MPV visualizer on macOS and handle exclusive mode UX ( #1930 )
2026-04-13 20:47:03 -07:00
jeffvli
4a986069f8
set flac as default transcoding profile
2026-04-06 10:58:37 -07:00
Auzlex
895cbb4d16
fix(media-session): prevent handlers from being destroyed during playback ( #1898 )
...
Handlers were being registered and destroyed on state change/re-render,
causing media controls to vanish during rapid use or quick track skipping.
Persist handlers and add debounce for rapid track skipping.
Tested on Windows, Linux, and Android.
2026-04-05 22:27:04 -07:00
jeffvli
3f300c40cc
add in-app prompt for system audio connection
2026-04-05 22:19:09 -07:00
jeffvli
ef129e4638
remove video from displayMedia request
2026-04-05 07:58:01 -07:00
jeffvli
84395ce5b4
pass muted text props to JoinedArtists in left controls
2026-04-05 00:59:53 -07:00
jeffvli
94886a2d5a
add system audio loopback for webaudio
2026-04-05 00:48:38 -07:00
jeffvli
a868d4d539
combine wav codec check
2026-04-04 23:11:55 -07:00
jeffvli
564ee721c4
revert default transcoding profile to opus, add safari check for mp3
2026-04-04 23:08:53 -07:00
jeffvli
e21515f7fb
add additional codec probes for transcoding profile, use mp3 instead of opus for default transcode
2026-04-04 23:03:29 -07:00
Kendall Garner
a32fed3bcf
chore: upgrade dependencies ( #1906 )
...
* upgrade dependencies
* downgrade fast-average-color
2026-04-04 17:10:57 -07:00
Kendall Garner
132ac92984
chore: use consistent order of track / artist / ablum on full screen page
2026-04-04 14:46:13 -07:00
jeffvli
ec9e4b1339
fix type error due to new param on mediaStop
2026-04-03 19:09:42 -07:00
jeffvli
1494c8e044
fix mpv seek error on queue end
2026-04-03 19:05:34 -07:00
jeffvli
f3a6027e6d
fix mpv progress interval still running after queue ends
2026-04-03 18:58:58 -07:00
jeffvli
db06e7f601
add native nd radio endpoints, support radio station images
2026-04-02 18:26:26 -07:00
jeffvli
92cea5dfda
add log for direct play profiles
2026-04-02 01:27:14 -07:00
jeffvli
a30b1ec90b
add OS transcoding extension
2026-03-31 20:45:22 -07:00
jeffvli
5d206bbb1f
toggle fullscreen visualizer on left controls image ( #1857 )
2026-03-29 21:05:53 -07:00
Darius
816adfa6c7
Waveform playerbar improvements ( #1781 )
...
* Defer waveform loading & show default seek bar as fallback
* Add configurable waveform loading delay
* Add 2s default value for waveform loading delay
* disable transcoding config on waveform url
---------
Co-authored-by: jeffvli <jeffvictorli@gmail.com >
2026-03-24 10:06:25 -07:00
jeffvli
ee04878580
set mpv audio device to auto if undefined
2026-03-15 20:17:59 -07:00