Commit Graph

8633 Commits

Author SHA1 Message Date
Georges-Antoine Assi
8b359a987d Merge pull request #3000 from rommapp/romm-2983
[ROMM-2983] Fix negative filter by verified
2026-02-07 17:52:01 -05:00
Georges-Antoine Assi
4733a86302 [ROMM-2983] Fix negative filter by verified 2026-02-07 15:44:03 -05:00
Georges-Antoine Assi
a902950980 Merge pull request #2998 from rommapp/romm-2997
[ROMM-2997] Fix HLTB saerch term fetching
2026-02-06 12:06:41 -05:00
Georges-Antoine Assi
efb157a57d [ROMM-2997] Fix HLTB saerch term fetching 2026-02-06 11:53:11 -05:00
Georges-Antoine Assi
257d0ef669 Update hltb_api_url 2026-02-06 11:49:53 -05:00
Georges-Antoine Assi
a82e8c4b4a Merge pull request #2996 from rommapp/romm-2989
[ROMM-2989] Split search term by |
2026-02-06 10:36:59 -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
Georges-Antoine Assi
656e5b0f5f Merge pull request #2995 from rommapp/romm-2991
[ROMM-2991] Allow set completion to 0
2026-02-06 10:06:18 -05:00
Georges-Antoine Assi
7bd5db895a Set completion to 0 2026-02-06 09:53:47 -05:00
Georges-Antoine Assi
2d252f29d5 Merge pull request #2987 from ItzCobaltboy/feat_auto_export_gamelist
feat: Auto Export Game List on scan
2026-02-05 17:32:06 -05:00
Cobaltboy
5712f651d3 Formatted files 2026-02-05 19:57:39 +05:30
Cobaltboy
d3ededffd6 renamed configuration 2026-02-05 14:05:00 +05:30
Cobaltboy
0d2ddb1b8b minor config optimization
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-04 13:41:19 +05:30
Cobaltboy
2944ad9b35 improved logging conditioning
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-04 13:40:39 +05:30
Cobaltboy
5464b3748c formatting cleanup
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-04 13:39:51 +05:30
Cobaltboy
0c2f27d669 formatting cleanup
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-04 13:39:18 +05:30
Cobaltboy
d681ca1f86 Optimise database query for auto_export
Pulls database call out of the loop

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-02-04 12:15:31 +05:30
Cobaltboy
8dbacfd6a5 Merge branch 'rommapp:master' into feat_auto_export_gamelist 2026-02-04 11:12:20 +05:30
Georges-Antoine Assi
0b0756fa38 update migration file again 2026-02-03 23:39:23 -05:00
Georges-Antoine Assi
7b926ec7b6 update migration file 2026-02-03 23:28:16 -05:00
Georges-Antoine Assi
0da88e4727 Merge pull request #2984 from zeroSteiner/fix/issue/2451
Fix #2451: Group games with same name but different tags as versionsr
2026-02-03 23:27:41 -05:00
Georges-Antoine Assi
14c0676f1a Merge pull request #2917 from tmgast/feature/device-registration-save-sync
Add device-based save synchronization
2026-02-03 23:25:23 -05:00
nendo
34f48e58a1 feat(devices): default to returning existing device on duplicate registration
Change allow_existing default to True so duplicate fingerprint matches
return the existing device (200) instead of 409 Conflict. Add model
validator to force allow_existing=False when allow_duplicate is set.
2026-02-04 11:10:40 +09:00
Spencer McIntyre
624f4ce14d Update the romm view to group by fs no tag 2026-02-03 20:22:59 -05:00
Spencer McIntyre
d95899333f Add the migration for the new view 2026-02-03 20:12:54 -05:00
Georges-Antoine Assi
8e551a66a4 Merge pull request #2982 from camhorn/plural-filter-keys
filter keys now plural
2026-02-03 17:55:08 -05:00
Cameron Horn
bfc5a423a1 also plural forms of the types 2026-02-03 15:13:10 -05:00
Cameron Horn
61a2d00b2e also plural form of ageRatings 2026-02-03 14:17:25 -05:00
Cameron Horn
0e44870824 filter keys now plural 2026-02-03 11:55:33 -05:00
Georges-Antoine Assi
abec1d002a Merge pull request #2981 from rommapp/dependabot/uv/protobuf-6.33.5
Bump protobuf from 6.31.1 to 6.33.5
2026-02-03 09:28:48 -05:00
Georges-Antoine Assi
5fc0d4fc64 Merge pull request #2979 from LoneAngelFayt/invalid-category-values
Invalid category values fix
2026-02-03 09:26:48 -05:00
dependabot[bot]
55b524d1ea Bump protobuf from 6.31.1 to 6.33.5
Bumps [protobuf](https://github.com/protocolbuffers/protobuf) from 6.31.1 to 6.33.5.
- [Release notes](https://github.com/protocolbuffers/protobuf/releases)
- [Commits](https://github.com/protocolbuffers/protobuf/commits)

---
updated-dependencies:
- dependency-name: protobuf
  dependency-version: 6.33.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-03 14:23:27 +00:00
Georges-Antoine Assi
e79204ee4a continue-on-error: true in pytest publish report step 2026-02-03 09:22:09 -05:00
Cobaltboy
90694133c6 Added Automatic Gamelist export support 2026-02-03 19:42:45 +05:30
nendo
e3642523f9 refactor(saves): simplify SaveSchema construction with model_validate
Add model_validator to SaveSchema that safely handles SQLAlchemy lazy
relationships by checking inspect(obj).unloaded before attribute access.
This allows direct use of model_validate(orm_obj) instead of manually
building a dict and excluding device_syncs.
2026-02-03 21:05:03 +09:00
nendo
8ae07d77f3 test: add device duplicate handling tests and fix saves hash import
Add tests for duplicate device registration scenarios (409 conflict,
allow_existing, allow_duplicate, reset_syncs). Fix compute_file_hash
function references after relocation to assets_handler.
2026-02-03 20:48:35 +09:00
nendo
132e0ad256 refactor(utils): extract to_utc function to utils/datetime.py
Move UTC datetime normalization to a dedicated utils module for
reusability across the codebase.
2026-02-03 20:07:47 +09:00
nendo
bf8cb92e93 refactor(assets): move content hash functions to assets_handler
Move compute_file_hash, compute_zip_hash, and compute_content_hash from
scan_handler.py to filesystem/assets_handler.py as standalone module-level
functions. This follows the existing pattern for utility functions in
filesystem handlers.
2026-02-03 20:07:18 +09: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
8f44027293 refactor(devices): use Pydantic models for request payloads
Replace individual Body() parameters with DeviceCreatePayload and
DeviceUpdatePayload Pydantic models. This simplifies the function
signatures and leverages model_dump(exclude_unset=True) for cleaner
update handling.
2026-02-03 20:04:58 +09:00
nendo
a6ecfb738c feat(devices): add duplicate device registration handling
Add fingerprint-based detection for duplicate device registration with
configurable behavior via new body params:
- allow_existing: return existing device if fingerprint matches
- allow_duplicate: skip fingerprint check, always create new device
- reset_syncs: clear tracked saves when reclaiming existing device

Fingerprint matching uses mac_address (primary) or hostname+platform
(fallback). Returns 409 Conflict with device_id when duplicate detected
without flags, 200 OK for existing device, 201 Created for new.
2026-02-03 20:03:50 +09:00
Zach Clendenen
0430b53ee1 signing with gpg and trunk check 2026-02-02 23:17:04 -06:00
Zach Clendenen
3416d0f465 move batch_op to else block so postgres bypasses 2026-02-02 22:28:18 -06:00
Zach Clendenen
6d81f93cec added explicit statements for postgres including USING clause 2026-02-02 22:27:42 -06:00
Georges-Antoine Assi
db3e3e4cf6 Merge pull request #2969 from pR0Ps/feature/oidc-auto-login
Add option to automatically login using OIDC
2026-01-31 23:01:29 -05:00
Georges-Antoine Assi
54925354cd run trunk fmt 2026-01-31 21:26:36 -05: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
Carey Metcalfe
becaa60bbf Add option to automatically login using OIDC 2026-01-31 02:41:11 -05:00
Georges-Antoine Assi
4639aa7f74 fix rom-patcher loading 2026-01-30 21:21:19 -05:00