Commit Graph

183 Commits

Author SHA1 Message Date
Georges-Antoine Assi
522df9d31a feat: add libretro thumbnails as an artwork source
Adds the libretro thumbnail repository as a first-class artwork source so
region-correct box art (PAL/Europe, Japan, etc.) can be matched directly
to ROM filenames, addressing rommapp/romm#3239.

Implementation follows the SGDB handler pattern (artwork-only, no game
metadata): MetadataSource enum entry, scan-time fetch wired into the
SCAN_ARTWORK_PRIORITY loop, /search/roms integration, MatchRom dialog
chip + cover selection, and a heartbeat flag.

Matching is exact case-insensitive against the directory listing first
(so a ROM named "(Europe)" lands on the (Europe) artwork), with a
JaroWinkler fuzzy fallback at 0.8 that strips parenthetical tags from
both sides. Listings are cached in Redis with a 24h TTL.

`libretro_id` is persisted on the Rom model as the SHA1 hex of the
matched libretro filename — stable across scans, distinct per region,
indexed for lookup. Migration 0077 adds the column.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 22:57:20 -04:00
Georges-Antoine Assi
f2e8e337b2 Merge branch 'master' into save-sync 2026-04-05 21:47:53 -04:00
Georges-Antoine Assi
c20544f40a cleanup 2026-04-05 18:22:38 -04:00
Georges-Antoine Assi
1275b79f71 simplify 2026-04-05 17:59:53 -04:00
copilot-swe-agent[bot]
d317b841b3 Fix age_ratings validation error for MySQL/MariaDB single-element arrays
Agent-Logs-Url: https://github.com/rommapp/romm/sessions/27b57bfb-107a-4c4a-9d4e-89da20b98926

Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com>
2026-04-05 20:05:10 +00:00
Georges-Antoine Assi
3f7953b020 update responses 2026-03-15 09:48:31 -04:00
Georges-Antoine Assi
55ca39cacb fix deprecations in pydantic 2026-03-15 09:34:48 -04:00
Jamie Bond
1e6f0d6000 Add property for path_video and refactor places which use similar logic to access video paths 2026-03-10 20:32:54 +01:00
Georges-Antoine Assi
eda88b70d1 get claude to refactor launchbox_handler 2026-03-07 16:02:39 -05:00
Georges-Antoine Assi
fe5b831afc Add Rom.ra_hash and RomFile.ra_hash fields to API 2026-02-13 11:11:02 -05:00
Georges-Antoine Assi
c6e9ce5bbd filter out non-owned collections when adding 2026-02-08 09:52:55 -05:00
Georges-Antoine Assi
354922cf41 correct set platforms in roms fetch 2026-01-15 12:43:35 -05:00
Georges-Antoine Assi
b0cf2e9338 set filter platforms on platforms fetch 2026-01-15 12:10:13 -05:00
Georges-Antoine Assi
96240a86e9 Add endpoint to fetch rom filters independent of query 2026-01-15 11:18:51 -05:00
DevOldSchool
86a6804447 Added player count metadata from SS. Displays on game detail screen and added a filter under search for player counts. 2026-01-05 11:57:30 +10:00
SaraVieira
51fab6a2b2 remove average_rating 2026-01-02 17:53:28 +00:00
SaraVieira
c2d2f1873d remove collections 2026-01-02 17:39:51 +00:00
SaraVieira
fe14067667 feature: Add addtional editable metadata 2026-01-02 17:30:05 +00:00
Georges-Antoine Assi
e723664505 cleanup has_notes field 2025-12-30 19:12:11 -05:00
zurdi
65efa5856f Refactor has_notes calculation and optimize note loading in ROM handling 2025-12-30 11:08:02 +00:00
zurdi
9ac37803b3 Add has_notes flag and update note handling in ROM schemas and components 2025-12-30 10:42:51 +00:00
Georges-Antoine Assi
dd3ed855de add back import 2025-12-02 10:53:16 -05:00
Georges-Antoine Assi
141cd14559 cleanup 2025-12-02 10:41:16 -05:00
Georges-Antoine Assi
324932184a Move merged_screenshots and merged_ra_metadata to simple RomSchema 2025-12-02 10:32:17 -05:00
zurdi
4699358e9e feat: clean up RomNote class by removing redundant user__username property 2025-11-20 16:16:28 +00:00
zurdi
03083d4b69 feat: implement multi-note management with CRUD operations and database migration 2025-11-20 15:38:11 +00:00
zurdi
9744d17a8d feat: remove unused RomNoteSchema and RomNotesCollectionSchema classes 2025-11-19 14:51:32 +00:00
zurdi
09cb5af74e Merge remote-tracking branch 'origin/master' into feature/fucking-multi-notes 2025-11-14 19:57:45 +00:00
zurdi
33fa0beeaf feat: Implement multi-note management for ROM users
- Updated .gitignore to exclude copilot-instructions.md
- Added migration script 0055_multi_notes.py to convert single note fields to a multi-note JSON structure in the database.
- Refactored RomUserSchema to replace note_raw_markdown and note_is_public with a notes dictionary.
- Introduced UserNoteSchema for representing individual notes.
- Created MultiNoteManager.vue component for managing user notes in the frontend.
- Integrated MultiNoteManager into Personal.vue for displaying and editing notes.
- Updated API service to include multi-note management functions.
- Enhanced NoteDialog.vue to display multiple notes.
- Updated localization files to include new strings related to notes.
- Adjusted Vite configuration to allow additional host for development.
2025-11-14 19:57:13 +00:00
Georges-Antoine Assi
3575783769 Merge branch 'master' into romm-821 2025-10-21 21:46:23 -04:00
Georges-Antoine Assi
6bde10fe97 massive refactor of data loading in console mode 2025-10-21 10:42:59 -04:00
Georges-Antoine Assi
9269e36608 populate scan results with edge 2025-10-17 15:32:38 -04: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
3a3bffe699 progressive scan steps for each game 2025-09-23 10:23:57 -04:00
Georges-Antoine Assi
3611ef8fad can display hltb id 2025-09-14 20:12:37 -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
Georges-Antoine Assi
ee0110699d fix id column type 2025-08-27 11:23:27 -04:00
Georges-Antoine Assi
bf0d864d84 Add flashpoint as a metadata handler 2025-08-27 11:04:13 -04:00
Georges-Antoine Assi
7850cf059f fix loading collections 2025-08-19 21:49:52 -04:00
Georges-Antoine Assi
7370f83b8f load sibling_roms for individual roms 2025-08-19 16:08:03 -04:00
Georges-Antoine Assi
13ac6104ce Raise lazy joins so all complex joins are explicit 2025-08-19 10:02:11 -04:00
Georges-Antoine Assi
6067eb80dd fix devcontainer port declarations 2025-07-07 14:55:51 -04:00
Michael Manganiello
252722e3bc misc: Apply pyupgrade changes for Python 3.12 compatibility
Command applied:
```
find ./backend/ -type f -name "*.py" -exec pyupgrade --py312-plus {} \;
```
2025-06-29 12:27:16 -03:00
Georges-Antoine Assi
eaadf8cfcc display hash matching status 2025-06-15 23:12:18 -04:00
Georges-Antoine Assi
318661bc45 Merge branch 'master' into romm-403 2025-06-13 11:51:45 -04:00
zurdi
8370b79a83 feat: add 'missing_from_fs' property to various schemas and update related logic for better tracking of missing files 2025-06-12 22:18:06 +00:00
zurdi
b52ea89115 feat: add 'missing' flag to platforms and roms, update related handlers and schemas 2025-06-12 01:20:20 +00:00