274 Commits

Author SHA1 Message Date
Georges-Antoine Assi
341709674a
tiny fix 2026-04-15 18:39:17 -04:00
Julien Loir
97e5bbe1cc Fix download failing when hash has not been computed 2026-04-15 13:50:48 +02:00
Georges-Antoine Assi
f9f3dfd927
changes from bot review 2026-04-12 09:50:54 -04:00
Georges-Antoine Assi
abc69c790f
fix scanning 2026-04-12 09:35:34 -04:00
Georges-Antoine Assi
3991e1b6ed
fix: scan stalls on platforms with 10k+ already-scanned ROMs
The scan was spending excessive time on large platforms even when all ROMs
were already scanned. Root causes: per-ROM UPDATE queries for skipped ROMs
(10k individual writes), missing composite index on (platform_id, fs_name)
causing full table scans, NOT IN clauses with 10k+ values in
mark_missing_roms(), and redundant filesystem reads.

Changes:
- Add bulk_mark_present() for batch-updating skipped ROMs in one query
- Move skip detection from _identify_rom to the batch loop so skipped ROMs
  never enter the async scan pipeline, and report progress for them
- Add composite index idx_roms_platform_id_fs_name via migration 0077
- Rewrite mark_missing_roms() with flip-based approach: mark all missing,
  then un-mark present ones in chunks of 1000
- Cache filesystem reads in scan_platforms() to avoid double directory
  traversal (precounting + scanning)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 19:20:40 -04:00
Georges-Antoine Assi
f2619ac0d1
Merge branch 'master' into pegasus-metadata-export 2026-04-06 11:06:08 -04:00
Georges-Antoine Assi
f2e8e337b2
Merge branch 'master' into save-sync 2026-04-05 21:47:53 -04:00
Georges-Antoine Assi
e0214f100d
more bot cleanup 2026-04-05 19:15:33 -04:00
Georges-Antoine Assi
ec8583016b
mega ton of fixes for 4.8 2026-04-03 10:54:31 -04:00
Georges-Antoine Assi
770b8f94ac
feat: add Pegasus Frontend metadata export support
Add metadata.pegasus.txt export alongside the existing gamelist.xml
export. Restructure the export system: rename the gamelist endpoint to
a general-purpose export endpoint (`/api/export/`) with sub-routes for
each format (`/gamelist-xml`, `/pegasus`). Move config from flat
`scan.export_gamelist` to nested `scan.export.gamelist_xml` and
`scan.export.pegasus` for auto-export on scan.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 16:09:20 -04:00
Georges-Antoine Assi
e6ddc5da11
bot attempt at save sync 2026-03-14 22:13:38 -04:00
Georges-Antoine Assi
bbb257b68a
style to my liking 2026-03-09 23:37:35 -04:00
copilot-swe-agent[bot]
54fdc62e8e refactor: aggregate firmware socket event to fire once per platform with a count
Instead of emitting scan:scanning_firmware once per firmware file, emit
a single event per platform after all firmware is processed, carrying
only the firmware_count. Frontend tracks firmware_count (int) on each
ScanningPlatform instead of a full firmware list.

Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com>
2026-03-10 02:45:50 +00:00
copilot-swe-agent[bot]
09ff700e9a feat: show firmware files in scan results to improve discoverability
- Backend: emit scan:scanning_firmware socket event per firmware
- Frontend: track and display firmware per platform in scan results
- Frontend: add firmware stats chip to scan stats bar
- Frontend: update empty state message to mention firmware
- i18n: add firmware-related translation keys

Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com>
2026-03-10 02:31:15 +00:00
Georges-Antoine Assi
6de46eb067
Merge branch 'master' into launchbox-handler 2026-03-07 11:31:03 -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
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
90694133c6 Added Automatic Gamelist export support 2026-02-03 19:42:45 +05:30
Georges-Antoine Assi
2a1583e504
Merge branch 'master' into launchbox-handler 2026-01-28 15:01:01 -05:00
Gravel Freeman
732cc2a530
add support for importing metadata from a local launchbox installation 2026-01-19 13:12:27 -05:00
Georges-Antoine Assi
cddb38c34b
Always get rom files when ROM is newly added 2026-01-18 10:19:10 -05:00
Georges-Antoine Assi
ff9b29d90e
[HOTFIX] Remove files from model_dump in scan 2026-01-17 22:31:48 -05:00
Georges-Antoine Assi
6878fcca08
[HOTFIX] Check if gamelist metadata source selected before populating cache 2026-01-03 18:21:09 -05:00
Georges-Antoine Assi
e0f0792555
cahnges from bot review 2026-01-02 16:33:45 -05:00
Georges-Antoine Assi
b926a33c42
[ROMM-2796] Add check to overwrite media assets 2026-01-02 15:28:35 -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
Georges-Antoine Assi
c0abcd6497
Merge pull request #2728 from rommapp/emujs-netplay
feat: Netplay
2025-12-09 14:32:23 -05:00
Georges-Antoine Assi
76e67c7844
[HOTFIX] Catch RomsNotFoundException in scan file precalculation 2025-12-09 08:53:28 -05:00
Georges-Antoine Assi
13ce21d70c
chagnes from bot review 2025-12-08 23:30:17 -05:00
Georges-Antoine Assi
86098ef1d9
more changes from bot review 2025-12-07 16:34:22 -05:00
Georges-Antoine Assi
1812b1a3f9
changes from bot reivew 2025-12-07 12:19:13 -05:00
Georges-Antoine Assi
09dbb2e244
use redis to store netplay data 2025-12-07 12:02:35 -05:00
Georges-Antoine Assi
f5676d7cfe
add handle for webrtc-signal-error 2025-12-07 11:04:13 -05:00
Georges-Antoine Assi
e1a4e42171
Merge branch 'master' into emujs-netplay 2025-11-25 11:28:43 -05:00
Georges-Antoine Assi
3d4257b805
full wokring sockets 2025-11-21 22:50:39 -05:00
Georges-Antoine Assi
6cbf9bcbc2
run trunk fmt 2025-11-21 19:20:38 -05:00
Georges-Antoine Assi
8c769a5fe8
hacks with working netplayu 2025-11-21 19:15:20 -05:00
Georges-Antoine Assi
31481ae14b
complete socket 2025-11-21 17:42:29 -05:00
Kieran Wood
7b8e6f1657 Added gemini-code-assist suggestions 2025-11-21 13:37:57 -07:00
Kieran Wood
0e4b7fd160 Fixed link to documentation in filestructure error 2025-11-21 13:25:28 -07:00
Georges-Antoine Assi
2d247dc6dc
add join_room funct 2025-11-21 13:23:01 -05:00
Georges-Antoine Assi
0967df7789
add typing to stuff 2025-11-21 13:15:25 -05:00
Georges-Antoine Assi
82ca819ab2
start work on netplay endpoints 2025-11-21 11:25:31 -05:00
zurdi
368509947e
Add SKIP_HASH_CALCULATION configuration option and update related logic 2025-11-20 17:13:51 +00:00
zurdi
c82caa81b8
Add calculate hashes option to scanning process and update translations 2025-11-20 10:49:22 +00:00
Georges-Antoine Assi
67375fa5cd
self cleanup 2025-11-19 18:38:51 -05:00