Files
romm/backend
Claude c4dd922491 perf(roms): make filter_roms file-loading opt-in for the gallery query
filter_roms feeds both the gallery/list endpoint (SimpleRomSchema, no
files) and the feed endpoints (which iterate rom.files / is_top_level).
The cleanup commit's unconditional selectinload(Rom.files) + joinedload
made the gallery/list and filter-value paths pay for files they never
serialize.

Gate the files load behind a new `include_files` flag (default False),
mirroring the existing `include_file_stats` opt-in, and plumb it through
get_roms_scalar. The 9 feed endpoints that actually read rom.files opt
in; the gallery/list, filter-values, identifiers, smart-collection, and
the three feeds that don't touch files (webrcade, fpkgi, kekatsu) skip
the load entirely — keeping the gallery query at zero file cost.

https://claude.ai/code/session_01PSXKmejPRzdxLFMN6P2QQ4
2026-06-02 12:56:02 +00:00
..
2026-06-01 17:19:57 -04:00
2026-02-09 17:26:21 -05:00
2026-05-20 09:17:35 -04:00
2026-05-29 20:54:32 -04:00
2026-02-03 17:09:21 -05:00
2026-06-02 08:37:54 -04:00
2025-08-02 17:55:43 -04:00
2026-05-30 20:26:29 -04:00
2024-02-10 12:43:39 -05:00
2025-07-05 19:17:40 -04:00
2026-05-17 17:39:47 -04:00
2026-05-22 22:35:30 -04:00