quintodrome/server/subsonic
Deluan Quintão 6880cffd16
feat(ui): add scan progress and error reporting to UI (#4094)
* feat(scanner): add LastScanError tracking to scanner status

- Introduced LastScanErrorKey constant for error tracking.
- Updated StatusInfo struct to include LastError field.
- Modified scanner logic to store and retrieve last scan error.
- Enhanced ScanStatus response to include error information.
- Updated UI components to display last scan error when applicable.
- Added tests to verify last scan error functionality.

Signed-off-by: Deluan <deluan@navidrome.org>

* feat(scanner): enhance scan status with type and elapsed time tracking

- Added LastScanTypeKey and LastScanStartTimeKey constants for tracking scan type and start time.
- Updated StatusInfo struct to include ScanType and ElapsedTime fields.
- Implemented getScanInfo method to retrieve scan type, elapsed time, and last error.
- Modified scanner logic to store scan type and start time during scans.
- Enhanced ScanStatus response and UI components to display scan type and elapsed time.
- Added formatShortDuration utility for better elapsed time representation.
- Updated activity reducer to handle new scan status fields.

Signed-off-by: Deluan <deluan@navidrome.org>

* refactor(tests): consolidate controller status tests into a single file

- Removed the old controller_status_test.go file.
- Merged relevant tests into the new controller_test.go file for better organization and maintainability.
- Ensured all existing test cases for controller status are preserved and functional.

Signed-off-by: Deluan <deluan@navidrome.org>

* Fix formatting issues

* refactor(scanner): update getScanInfo method documentation

---------

Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-21 09:30:23 -04:00
..
filter feat:(server): support reading lyrics from filesystem (#2897) 2025-04-30 08:10:19 -04:00
responses feat(ui): add scan progress and error reporting to UI (#4094) 2025-05-21 09:30:23 -04:00
album_lists.go feat(subsonic): set sortName for OS AlbumList (#3776) 2025-03-05 22:52:15 -05:00
album_lists_test.go Make dependency injection more consistent 2024-05-08 22:21:38 -04:00
api.go refactor: external_metadata -> external.Provider (#3903) 2025-04-08 21:11:09 -04:00
api_suite_test.go feat:(server): support reading lyrics from filesystem (#2897) 2025-04-30 08:10:19 -04:00
api_test.go feat(bfr): Big Refactor: new scanner, lots of new fields and tags, improvements and DB schema changes (#2709) 2025-02-19 20:35:17 -05:00
bookmarks.go refactor: small improvements and clean up (#3423) 2024-10-22 22:54:31 -04:00
browsing.go feat: hide missing artists from regular users and Subsonic API (#4092) 2025-05-20 21:53:02 -04:00
helpers.go feat(subsonic): add ISRC support for OpenSubsonic Child (#4088) 2025-05-20 12:37:27 -04:00
helpers_test.go fix(subsonic): fix albumCount in artists (#3827) 2025-03-14 21:21:03 -04:00
jukebox.go refactor: small improvements and clean up (#3423) 2024-10-22 22:54:31 -04:00
library_scanning.go feat(ui): add scan progress and error reporting to UI (#4094) 2025-05-21 09:30:23 -04:00
media_annotation.go fix(server): reduce SQLite "database busy" errors (#3760) 2025-02-26 22:01:49 -05:00
media_annotation_test.go Uses Unix milliseconds support from standard Go lib 2024-05-11 19:50:30 -04:00
media_retrieval.go feat:(server): support reading lyrics from filesystem (#2897) 2025-04-30 08:10:19 -04:00
media_retrieval_test.go feat:(server): support reading lyrics from filesystem (#2897) 2025-04-30 08:10:19 -04:00
middlewares.go sec(subsonic): authentication bypass in Subsonic API with non-existent username 2025-02-20 20:14:19 -05:00
middlewares_test.go sec(subsonic): authentication bypass in Subsonic API with non-existent username 2025-02-20 20:14:19 -05:00
opensubsonic.go Add OS Lyrics extension (#2656) 2023-12-27 20:20:29 -05:00
opensubsonic_test.go feat(subsonic): getOpenSubsonicExtensions is now public 2024-10-21 17:21:18 -04:00
playlists.go fix(server): reduce SQLite "database busy" errors (#3760) 2025-02-26 22:01:49 -05:00
radio.go Replace all utils.Param* with req.Params 2023-12-21 17:41:09 -05:00
searching.go fix(subsonic): fix albumCount in artists (#3827) 2025-03-14 21:21:03 -04:00
sharing.go fix(subsonic): make Share's lastVisited optional 2025-01-09 16:10:53 -05:00
stream.go Add log.IsGreaterOrEqualTo, that take into consideration path-scoped log levels 2023-12-25 16:35:16 -05:00
system.go Some cleanup, adding missing context handling 2022-12-06 19:57:47 -05:00
users.go Limit access to Jukebox for admins only (configurable). 2024-05-07 19:35:43 -04:00