2479 Commits

Author SHA1 Message Date
Deluan
a73de57811
Send the time the track started playing when scrobbling 2026-01-02 20:05:05 +00:00
Deluan
ffd1aa7e89
Refactor: Consolidate scrobbling logic in play_tracker 2026-01-02 20:05:05 +00:00
Deluan
c0f5b6950f
Don't send scrobbles/nowPlaying updates to Last.fm if user has not authorized 2026-01-02 20:05:04 +00:00
Deluan
6dbeb8fedf
Fix wrong warning about ignored NowPlaying 2026-01-02 20:05:04 +00:00
Deluan
5db24ff145
Send NowPlaying and Scrobbles to Last.fm 2026-01-02 20:05:04 +00:00
Deluan
0a9f6cb807
Refactor Agents to be singleton
Initial work for Last.fm scrobbler
2026-01-02 20:05:04 +00:00
Steve Richter
489d0c54eb
Show user-friendly message when error occurs in Last.fm callback endpoint 2026-01-02 20:05:04 +00:00
Steve Richter
0ecc4b5fd0
Implement Last.fm account linking UI 2026-01-02 20:05:04 +00:00
Deluan
24101d608a
Remove limitation of only scrobbling tracks longer than 30 seconds 2026-01-02 20:05:04 +00:00
Deluan
883d316670
Use singleton in other places as well 2026-01-02 20:05:04 +00:00
Deluan
c0c229ad72
Expose Last.fm's ApiKey to UI 2026-01-02 20:05:04 +00:00
Deluan
aa20f7d68e
Implement Last.FM Web authentication flow 2026-01-02 20:05:04 +00:00
Deluan
f468522c72
Implement Last.FM Desktop Auth flow endpoints 2026-01-02 20:05:04 +00:00
Steve Richter
fb53bba5ab
Initial Last.fm UI implementation 2026-01-02 20:05:04 +00:00
Deluan
00834e5e6a
Fix Last.fm API method signature 2026-01-02 20:05:04 +00:00
Deluan
ce0fc7a274
Add flag to disable Scrobble config in the UI 2026-01-02 20:05:04 +00:00
Deluan
fa7179dc7a
Add Last.FM Authentication methods 2026-01-02 20:05:03 +00:00
Deluan
2f10418242
Remove false-positive on new version detection 2026-01-02 20:05:03 +00:00
Deluan
81b17bf941
Show notification if server is updated 2026-01-02 20:05:03 +00:00
Deluan
5bbf0e03f9
Fix cookie warning 2026-01-02 20:05:03 +00:00
Deluan
05498513c7
Fix lint error 2026-01-02 20:05:03 +00:00
Deluan
47b14b5cc7
Update Go dependencies 2026-01-02 20:05:01 +00:00
Deluan
1eafd2a2c5
Add concurrency test for singleton 2026-01-02 20:04:23 +00:00
Deluan
0057c9f38a
Try to register all playing music in GetNowPlaying 2026-01-02 20:04:23 +00:00
Deluan
1ac077cf22
Fix GetNowPlaying endpoint showing only the last play 2026-01-02 20:04:23 +00:00
Deluan
7b4b6f8130
New implementation of NowPlaying 2026-01-02 20:04:23 +00:00
Deluan
6df1b59985
Add logos to badges 2026-01-02 20:04:23 +00:00
Deluan
8dc8b5f95b
Option to allow auto-login during development. 2026-01-02 20:04:23 +00:00
Deluan
7b9b4e8486
Don't show "logout" when authenticated by Header 2026-01-02 20:04:23 +00:00
Deluan
7b018821f8
Fix subsonic token when authenticating by Header 2026-01-02 20:04:23 +00:00
Deluan Quintão
5590fa3550
Encrypt passwords in DB (#1187)
* Encode/Encrypt passwords in DB

* Only decrypts passwords if it is necessary

* Add tests for encryption functions
2026-01-02 20:04:16 +00:00
Deluan
f59efb6b0a
Add username to request.Context 2026-01-02 20:03:21 +00:00
dependabot[bot]
7b1030ec41
Bump @testing-library/jest-dom from 5.13.0 to 5.14.1 in /ui (#1176)
Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 5.13.0 to 5.14.1.
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v5.13.0...v5.14.1)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-02 20:03:21 +00:00
Deluan
dfeee68597
Fix stream url, after changes to subsonic client api 2026-01-02 20:03:21 +00:00
Deluan
0b068053e2
Don't show "empty" dates 2026-01-02 20:03:21 +00:00
Deluan
6fed96d45e
Add "Last Played" column to SongList 2026-01-02 20:03:21 +00:00
Deluan
1542362898
Optimize refresh events for scrobble endpoint 2026-01-02 20:03:21 +00:00
Deluan
59a38332a4
Refech using getMany, reducing the number of API calls 2026-01-02 20:03:21 +00:00
Deluan
31c46d0a69
Disable realip middleware when using the reverse proxy authentication feature
Should fix https://github.com/navidrome/navidrome/pull/1152#issuecomment-862306847
2026-01-02 20:03:20 +00:00
Deluan
d6dc5b91ef
Bump github.com/go-chi/httprate version 2026-01-02 20:03:19 +00:00
Deluan
97e5625088
Bump github.com/ReneKroon/ttlcache/ and github.com/microcosm-cc/bluemonday versions 2026-01-02 20:02:35 +00:00
Deluan
8e32b56ea0
Only send events to clients who need it
- User events (star, rating, plays) only sent to same user
- Don't send to the client (browser window) that originated the event
2026-01-02 20:02:35 +00:00
Deluan
6b309c863f
Always use httpClient to call APIs 2026-01-02 20:02:34 +00:00
Deluan
81b87e9ff6
Only refetch changed resources when receive a "refreshResource" event 2026-01-02 20:02:34 +00:00
Deluan
cdbb315c3c
Removed the albumSong workaround, as React-Admin's cache seems to behave better now 2026-01-02 20:02:34 +00:00
Deluan
ec02ddf624
Less warning messages when first running it.
They are actually `info` messages
2026-01-02 20:02:34 +00:00
Deluan
f0fd8d4e30
No need to check for first time when authenticating. One less SQL call per request 2026-01-02 20:02:32 +00:00
Deluan
7fd15e12cd
Rename app package to nativeapi 2026-01-02 20:00:50 +00:00
Deluan Quintão
5be15bb98b
Refactor routing, changes API URLs (#1171)
* Make authentication part of the server, so it can be reused outside the Native API

This commit has broken tests after a rebase

* Serve frontend assets from `server`, and not from Native API

* Change Native API URL

* Fix auth tests

* Refactor server authentication

* Simplify authProvider, now subsonic token+salt comes from the server

* Don't send JWT token to UI when authenticated via Request Header

* Enable ReverseProxyWhitelist to be read from environment
2026-01-02 20:00:31 +00:00
Deluan
ff27de46c6
Fix index of songs in downloaded playlist 2026-01-02 19:33:05 +00:00