44 Commits

Author SHA1 Message Date
Deluan
5c45495070
Show number of results from a query in the logs 2026-01-02 20:36:58 +00:00
Deluan
acb7468fdb
Make first WebUI random page stick 2026-01-02 20:36:58 +00:00
Guilherme Souza
c9a39d9986
Deterministic pagination in random albums sort (#1841)
* Deterministic pagination in random albums sort

* Reseed on first random page

* Add unit tests

* Use rand in Subsonic API

* Use different seeds per user on SEEDEDRAND() SQLite3 function

* Small refactor

* Fix id mismatch

* Add seeded random to media_file (subsonic endpoint `getRandomSongs`)

* Refactor

* Remove unneeded import

---------

Co-authored-by: Deluan <deluan@navidrome.org>
2026-01-02 20:36:58 +00:00
Deluan
7500b17eb1
Fix ambiguous column when sorting media_files by created_at.
Fix #3006
2026-01-02 20:36:54 +00:00
Deluan
786a65aa07
Refactor loadGenres, remove duplication 2026-01-02 20:35:32 +00:00
Deluan
d46740771c
Fix scrobble error spam in the logs.
Relates to #2831 and #2975
2026-01-02 20:35:04 +00:00
Deluan
7d33f15eaa
Remove offset and limit from count queries. Fixes #2443 2026-01-02 20:32:58 +00:00
Deluan
a821c35367
Add context to SQL queries, enabling cancellation 2026-01-02 20:32:35 +00:00
Deluan Quintão
274ad1f7d5
Replace beego/orm with dbx (#2693)
* Start migration to dbx package

* Fix annotations and bookmarks bindings

* Fix tests

* Fix more tests

* Remove remaining references to beego/orm

* Add PostScanner/PostMapper interfaces

* Fix importing SmartPlaylists

* Renaming

* More renaming

* Fix artist DB mapping

* Fix playlist updates

* Remove bookmarks at the end of the test

* Remove remaining `orm` struct tags

* Fix user timestamps DB access

* Fix smart playlist evaluated_at DB access

* Fix search3
2026-01-02 20:31:57 +00:00
Deluan Quintão
8b14b41e54
Optimize search3, by removing OFFSET when paginating (#2655)
* Optimize pagination, removing offset

* For search, don't add `where` clause for empty queries

* Revert "Replace `COUNT(DISTINCT primary_key)` with `COUNT(*)`"

Genres are required as part of the count queries, so filter by genres work

* Optimize search3 query, using order by id if it is a "" query.

Also fix the optimizePagination query logic

* Allow offset optimizer threshold to be configured
2026-01-02 20:31:30 +00:00
Deluan
bc2461d974
Revert "Replace COUNT(DISTINCT primary_key) with COUNT(*)"
Genres are required as part of the count queries, so filter by genres work
2026-01-02 20:31:30 +00:00
Deluan
a8aa05373d
Replace COUNT(DISTINCT primary_key) with COUNT(*) 2026-01-02 20:31:30 +00:00
Deluan
0887f19708
Show SQL errors in queryAll 2026-01-02 20:31:30 +00:00
Deluan
cff7d5ccfc
Order albums by full original date. Fixes #1452 2026-01-02 20:27:26 +00:00
Deluan
03128f2b97
Fix error comparisons 2026-01-02 20:15:58 +00:00
Deluan
54e05638d5
Upgrade to Beego 2's orm 2026-01-02 20:14:54 +00:00
Deluan
3ea764141f
Use new rest lib (Update receives all columns that need to be updated) 2026-01-02 20:09:03 +00:00
Deluan
0fa019ac77
Fix Count methods 2026-01-02 20:06:08 +00:00
Deluan
6d46689622
Implement Scrobble buffering/retrying 2026-01-02 20:05:07 +00:00
Deluan
58e67a01a9
Allow updating only specific columns 2026-01-02 19:31:52 +00:00
Deluan
15af85b545
Handle functions with params in sort order.
Related to #1023
2026-01-02 19:31:51 +00:00
Deluan
10cf2372f8
Move project to Navidrome GitHub organization 2026-01-02 19:20:16 +00:00
Deluan
749edc4661
Use new simplified uuid.NewString() syntax 2026-01-02 19:20:14 +00:00
Deluan
d6e9c43db1
Handle more sort/order cases 2026-01-02 19:20:12 +00:00
Deluan
abd51b2156 Use Subsonic API to star/unstar
This removes the need to update the annotations on Put(model), removing complexity and making it less buggy
2020-10-03 20:08:51 -04:00
Deluan
ed726c2126 Better implementation of Bookmarks, using its own table 2020-08-01 12:17:15 -04:00
Deluan
8a68cecdb9 Add ToggleStar to SongContextMenu (WIP) 2020-05-22 15:23:42 -04:00
Deluan
27de18f8c9 Fix typo 2020-05-16 18:35:34 -04:00
Deluan
f8362a4acb Fix staticcheck's SA1029 2020-05-13 16:49:55 -04:00
Deluan
e232c5c561 Add created and changed fields to playlists responses 2020-04-11 18:58:43 -04:00
Deluan
20075ae68d refactor: extracted restful helpers into their own composable struct 2020-03-21 20:00:46 -04:00
Deluan
8401d85f78 feat: search in WebUI now is more flexible, searching in all relevant fields in the current view 2020-03-19 22:26:18 -04:00
Deluan
8cdd4e317d feat: allow restful filter customization per field 2020-03-19 21:09:57 -04:00
Deluan
8ec78900c5 feat: transcoding and player datastores and configuration 2020-03-17 15:20:35 -04:00
Deluan
a7f8e4ee2b fix: only set created_at when adding data to DB 2020-02-28 18:43:22 -05:00
Deluan
65a792be3a fix: handle nil pointer dereference 2020-02-28 11:02:38 -05:00
Deluan
d2eea64528 fix: typo 2020-02-23 21:41:10 -05:00
Deluan
7aab82c246 feat: enable overriding sql sorting 2020-02-06 18:41:34 -05:00
Deluan
6978790e96 feat: allow regular users to login to the UI 2020-02-05 22:22:44 -05:00
Deluan
e0308acef3 feat: add lapsed time to SQL logger, to help detect SQL bottlenecks 2020-02-05 08:47:32 -05:00
Deluan
ff8c18e0f4 fix: don't log empty sql responses as errors 2020-02-02 21:29:27 -05:00
Deluan
b62b78edfe refactor: better SQL logging 2020-02-01 17:23:03 -05:00
Deluan
7c4511e33a refactor: consolidate query executions into two functions queryOne and queryAll 2020-02-01 17:23:03 -05:00
Deluan
0d0787e656 refactor:clean annotations in GC 2020-02-01 17:23:03 -05:00