Deluan Quintão
13c48b38a0
fix(smartplaylists): coerce string booleans in smart playlist rules (#5450)
* fix(criteria): coerce string booleans in smart playlist rules - #4826
When clients (e.g. Feishin) send boolean values as strings ("true"/"false")
in smart playlist JSON rules, the SQL comparison fails because SQLite stores
booleans as 0/1 integers. For example, `COALESCE(annotation.starred, false) = 'true'`
never matches.
This adds a `boolean` flag to mapped fields and coerces string values to
native Go bools in `mapFields`, so squirrel generates correct SQL parameters.
Signed-off-by: mango766 <mango766@users.noreply.github.com>
Signed-off-by: easonysliu <easonysliu@tencent.com>
* fix(criteria): implement boolean string coercion for smart playlist rules
Signed-off-by: Deluan <deluan@navidrome.org>
---------
Signed-off-by: mango766 <mango766@users.noreply.github.com>
Signed-off-by: easonysliu <easonysliu@tencent.com>
Signed-off-by: Deluan <deluan@navidrome.org>
Co-authored-by: easonysliu <easonysliu@tencent.com>
2026-05-01 19:21:48 -04:00
..
2026-04-28 19:40:08 -04:00
2026-04-10 19:29:20 -04:00
2026-04-10 19:29:20 -04:00
2026-03-17 19:47:09 -04:00
2026-03-17 19:47:09 -04:00
2026-01-05 19:05:11 -05:00
2026-05-01 19:21:48 -04:00
2026-05-01 19:21:48 -04:00
2025-02-19 20:35:17 -05:00
2026-04-19 13:16:47 -04:00
2026-03-03 07:58:14 -05:00
2026-02-08 09:57:30 -05:00
2026-02-08 09:57:30 -05:00
2025-02-19 20:35:17 -05:00
2026-02-08 09:57:30 -05:00
2026-04-19 13:16:47 -04:00
2026-02-08 09:57:30 -05:00
2026-04-19 20:07:23 -04:00
2026-03-08 23:57:49 -04:00
2026-04-19 20:07:23 -04:00
2024-09-20 11:22:37 -04:00
2026-02-08 09:57:30 -05:00
2024-11-19 18:41:50 -05:00
2026-02-08 09:57:30 -05:00
2026-04-26 14:49:59 -04:00
2026-04-27 12:20:27 -04:00
2026-02-21 19:57:13 -05:00
2025-06-11 17:26:13 -04:00
2026-02-08 09:57:30 -05:00
2026-01-14 19:22:48 -05:00
2026-01-14 19:22:48 -05:00
2026-03-02 08:56:56 -05:00
2026-03-02 08:56:56 -05:00
2024-11-19 18:41:50 -05:00
2023-12-09 13:52:17 -05:00
2024-11-19 18:41:50 -05:00
2026-03-18 18:57:33 -04:00
2026-02-08 09:57:30 -05:00
2026-02-08 09:57:30 -05:00
2025-12-06 11:07:18 -05:00
2026-02-08 09:57:30 -05:00
2026-03-15 00:12:58 -04:00
2026-03-15 00:12:58 -04:00
2026-05-01 19:21:48 -04:00
2026-04-26 14:49:59 -04:00
2026-02-08 09:57:30 -05:00
2026-02-08 09:57:30 -05:00
2025-07-20 15:58:21 -04:00
2026-02-08 09:57:30 -05:00
2024-11-19 18:41:50 -05:00
2026-02-08 09:57:30 -05:00
2025-12-16 06:38:50 -05:00
2026-02-23 08:51:54 -05:00
2026-02-23 08:51:54 -05:00
2026-04-25 20:27:38 -04:00
2026-04-25 20:27:38 -04:00
2026-02-23 08:51:54 -05:00
2026-02-23 08:51:54 -05:00
2026-02-23 08:51:54 -05:00
2026-02-23 08:51:54 -05:00
2026-02-08 09:57:30 -05:00
2026-02-08 09:57:30 -05:00
2026-02-08 09:57:30 -05:00
2025-11-20 09:27:42 -05:00
2025-05-21 22:19:23 -04:00
2026-02-08 09:57:30 -05:00
2023-12-09 13:52:17 -05:00
2025-11-06 14:54:01 -05:00
2026-01-14 19:22:48 -05:00