59 Commits

Author SHA1 Message Date
Georges-Antoine Assi
661a5504d7
find a couple more uses 2026-02-09 17:26:21 -05:00
Georges-Antoine Assi
37436fddb7
changes from self review 2026-02-06 10:31:08 -05:00
Georges-Antoine Assi
e36d7650e7
[ROMM-2989] Split search term by | 2026-02-06 10:20:14 -05:00
nendo
220d7531e7 refactor(saves): replace order_by_updated_at_desc with flexible order_by
Add order_by and order_dir parameters to get_saves() for flexible
sorting. Supports "updated_at" and "created_at" fields with "asc" or
"desc" direction (default: desc). Enables ascending order for pruning
scenarios.
2026-02-03 20:06:09 +09:00
nendo
a236123e4f feat(saves): add slot-based save sync with content hash deduplication
- Add device registration and save synchronization
- Implement slot-based save organization with datetime tagging
- Add conflict detection for multi-device sync scenarios
- Add content hash computation for save deduplication
- Support ZIP inner-file hashing for consistent deduplication
- Add confirm_download endpoint for sync state management
- Add overwrite parameter to bypass conflict checks
2026-01-31 21:57:22 +09:00
Georges-Antoine Assi
1602688d08
fix one more test 2026-01-19 12:48:54 -05:00
Georges-Antoine Assi
dd5935f50c
fix tests 2026-01-19 12:20:11 -05:00
zurdi
bd52217462
Refactor library structure detection to use enum values for consistency 2026-01-02 13:09:37 +00:00
zurdi
cc816822d8
Refactor library structure detection to use enum values and update related tests and frontend logic 2026-01-02 11:54:29 +00:00
zurdi
06a1598bcc
Merge remote-tracking branch 'origin/master' into romm-1371 2026-01-02 11:12:36 +00:00
Zurdi
6295d5b8cd
Merge pull request #2411 from rommapp/feat/rom-filter-multivalue
feat: Support for multi-value filters
2025-12-31 16:19:04 +01:00
Georges-Antoine Assi
bdc7c265f1
fix tests 2025-12-30 11:44:42 -05:00
Georges-Antoine Assi
f867968f37
refactor get_rom_files return value 2025-12-30 11:42:38 -05:00
Georges-Antoine Assi
0971026f95
Add support for version tag 2025-12-30 11:37:06 -05:00
zurdi
647e99fca7
Add last played filter to ROMs retrieval and update related tests 2025-12-30 12:53:12 +00:00
zurdi
ab637203ac
Merge branch 'master' into feat/rom-filter-multivalue 2025-12-24 12:39:45 +00:00
zurdi
cbe64ce29c
test: add tests for library structure detection in FSPlatformsHandler 2025-12-23 16:24:33 +00:00
zurdi
ecf4ae542f
fix: correct spelling of 'get_platform_fs_structure' in multiple files 2025-12-21 16:48:45 +00:00
Georges-Antoine Assi
76e67c7844
[HOTFIX] Catch RomsNotFoundException in scan file precalculation 2025-12-09 08:53:28 -05:00
Georges-Antoine Assi
f1fb0c726e
Disable fastapi_test 2025-12-07 10:40:07 -05:00
zurdi
c1d43f67f8
Refactor ROM retrieval to support multi-value platform filtering across various handlers and endpoints 2025-11-27 22:52:33 +00:00
Georges-Antoine Assi
5018896396
Fix scan_rom tests 2025-11-26 15:54:12 -05:00
Georges-Antoine Assi
713bf4fff0
fix trunk check issues 2025-11-18 10:16:55 -05:00
Georges-Antoine Assi
ee39fe1aba
changes from bot review 2025-11-18 10:09:00 -05:00
Georges-Antoine Assi
d1824bf894
manually fix tests 2025-11-18 00:00:49 -05:00
Georges-Antoine Assi
6a1a344ba2
add tests for middlewares 2025-11-17 23:40:00 -05:00
sftwninja
9cd3649d8f fix: Fix comment from previous dummy test file 2025-11-17 03:03:00 -06:00
sftwninja
7581c0a8e8 fix: Address Gemini PR comments 2025-11-17 01:55:55 -06:00
sftwninja
90a5a66a12 Use internal SHA1 hash if CHD file is v5 2025-11-16 23:41:32 -06:00
Georges-Antoine Assi
cc309983ff
fix scrolling and test 2025-10-31 11:50:51 -04:00
Georges-Antoine Assi
438f514e76
fix tests 2025-10-28 11:38:57 -04:00
Georges-Antoine Assi
c1ac9a2133
fix screenshots dissapearing on scan 2025-10-28 11:00:45 -04:00
Georges-Antoine Assi
8975a7ed89
fix ra tests 2025-10-26 14:02:21 -04:00
Georges-Antoine Assi
c43dd85b86
Merge pull request #2563 from rommapp/romm-821
[ROMM-821] ES-DE gamelist.xml support
2025-10-23 17:20:18 -04:00
Georges-Antoine Assi
bbade3e40e
fix tests 2025-10-23 17:05:23 -04:00
Georges-Antoine Assi
90769bcb6f
fix file_extension in test 2025-10-23 11:14:10 -04:00
Georges-Antoine Assi
9a1f25426d
add tests 2025-10-23 11:12:17 -04:00
Georges-Antoine Assi
653d7851cb
fix tests 2025-10-21 14:39:45 -04:00
Georges-Antoine Assi
d48b2542b8
fix fixture 2025-10-18 18:20:24 -04:00
Georges-Antoine Assi
24a5acce5d
[ROMM-2552] Rom hashes should only include top-level nested files 2025-10-18 18:05:57 -04:00
Georges-Antoine Assi
5df6c914e8
fix tests 2025-10-05 11:15:38 -04:00
Michon van Dooren
240f348f92
Add support for OIDC role claim 2025-09-29 22:27:10 +02:00
Georges-Antoine Assi
35bfe9ed61
fix tests 2025-09-25 20:44:11 -04:00
Georges-Antoine Assi
b5776be475
Split rom.multi into more specific fields 2025-09-25 18:48:27 -04:00
Georges-Antoine Assi
485b02d1c9
fix scan test 2025-09-23 19:03:24 -04:00
Georges-Antoine Assi
debc6c4cab
run formatter 2025-09-11 22:35:19 -04:00
Georges-Antoine Assi
3c4113f8a8
Merge branch 'master' into flashpoint-metadata-handler 2025-09-11 21:27:48 -04:00
Michael Manganiello
e4e3928d1b
misc: Apply import sorting 2025-09-04 11:17:00 -03:00
Michael Manganiello
d216bad78b
misc: Add MetadataHandler's is_enabled method
Convert `MetadataHandler` to an abstract base class and add an
`is_enabled` class method that allows every metadata handler to
independently report whether it is enabled based on its configuration.

This avoids the need for global variables in the config module, allowing
us to change the enabled state of a metadata handler at runtime if
needed.
2025-09-03 22:13:28 -03:00
Michael Manganiello
b2ea84b5bb
misc: Create IGDB service adapter
Add a new service adapter for the IGDB API, to separate concerns with
RomM's handler for metadata. This adapter is agnostic to the handler and
only provides methods to interact with the API, and correctly return
typed responses.

The API authorization was also improved to not rely on decorating each
method that makes requests, but instead using an `aiohttp` middleware
to automatically add the required headers to each request.

Utils `mark_expanded` and `mark_list_expanded` where added to help
narrow the types of IGDB's expandable fields when we know they are
expanded, for `mypy` type checking.
2025-08-30 20:21:15 -03:00