Commit Graph

4317 Commits

Author SHA1 Message Date
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]
41a9a2106d Use existing /tasks/run endpoint instead of custom cleanup-missing endpoint
Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com>
2026-03-10 02:40:47 +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
copilot-swe-agent[bot]
f938e627b4 Move cleanup-all missing ROMs to background task to prevent browser hang
Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com>
2026-03-10 02:25:58 +00:00
cc
c8fd7fedde fix: section header, card spacing polish
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 22:25:40 -04:00
cc
778097f4a0 feat: add per-platform metadata coverage and region breakdown to server stats
Enhances the server stats page with two new per-platform statistics:
- Metadata coverage: shows which sources matched ROMs (ordered by user's scan priority config)
- Region breakdown: shows ROM counts per region with flag emojis

Backend adds two new efficient queries (single GROUP BY for metadata, Python-side aggregation for regions).
Frontend redesigns platform cards with a tabular detail layout, size bar visualization, and expandable region chips.

> This PR was developed with AI assistance (Claude Code) per CONTRIBUTING.md disclosure requirements.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 22:15:08 -04:00
copilot-swe-agent[bot]
dda77737af Implement OIDC RP-Initiated Logout (end-session endpoint)
Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com>
2026-03-10 01:56:47 +00:00
cc
6936a089b8 perf(scan): replace deep watch with computed to reduce reactivity overhead
During a scan with large collections, the scan page becomes slow or
unresponsive. The watch on scanningPlatforms with { deep: true } was
firing on every ROM addition, causing Vue to deeply traverse all nested
platform and ROM data each time.

The watch's only job is deciding which panels are open. A panel should
open when a platform first receives ROMs — after that, its open/closed
state doesn't need to change regardless of how many more ROMs arrive.

Replace with a computed that maps each platform to a boolean
(roms.length > 0), so the watch only fires on that one meaningful
transition per platform. The ROM list inside each panel continues to
update reactively as normal — this change only affects the panel
open/close logic.

Note: This PR was written with AI assistance (Claude Code).
2026-03-09 20:38:54 -04:00
Georges-Antoine Assi
e651cfcf4a Merge pull request #3097 from rommapp/copilot/add-filter-results-number
Show filtered ROM count in the gallery AppBar and filter drawer
2026-03-09 09:20:59 -04:00
Georges-Antoine Assi
8e0ebad956 Merge pull request #3098 from Drarox/master
Add more plateforms to cover styles
2026-03-09 09:20:42 -04:00
Georges-Antoine Assi
b2abf776f2 hide on 0 2026-03-09 09:18:04 -04:00
Georges-Antoine Assi
3286fd970e ill do it myself 2026-03-09 09:13:14 -04:00
Yannick
9e529caa74 Add more plateforms 2026-03-09 11:25:59 +01:00
copilot-swe-agent[bot]
5a2fb7a395 feat: move ROM count to filter drawer and AppBar chip, remove from button
Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com>
2026-03-09 03:20:58 +00:00
copilot-swe-agent[bot]
462b3aaf9e feat: show filtered ROM count below the filter button in gallery AppBar
Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com>
2026-03-09 03:07:46 +00:00
Georges-Antoine Assi
115fad85e9 Merge pull request #3093 from rommapp/copilot/add-click-to-zoom-feature
feat: Click to zoom game cover image
2026-03-08 23:03:16 -04:00
copilot-swe-agent[bot]
89c482c7fa fix: only show zoom button on non-clickable covers (when pointerOnHover is false)
Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com>
2026-03-09 02:59:43 +00:00
Georges-Antoine Assi
84ff48e725 run fmt 2026-03-08 22:56:19 -04:00
Georges-Antoine Assi
e2ece6b938 run fmt 2026-03-08 22:54:58 -04:00
copilot-swe-agent[bot]
53b0b9021b Switch invite token expiration unit from minutes to seconds
Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com>
2026-03-09 02:48:21 +00:00
copilot-swe-agent[bot]
5f309639af Make invite token expiration configurable via env var and UI
Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com>
2026-03-09 01:43:53 +00:00
copilot-swe-agent[bot]
554845bd56 feat: move click-to-zoom to common game card Base.vue
Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com>
2026-03-09 00:52:48 +00:00
copilot-swe-agent[bot]
61540b5ceb feat: click to zoom game cover in console Game view
Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com>
2026-03-09 00:42:07 +00:00
Georges-Antoine Assi
c89753c3c1 display otehr categoies 2026-03-08 18:40:36 -04:00
Georges-Antoine Assi
80e78a8fe3 fix literally everything about age ratings 2026-03-08 18:34:58 -04:00
copilot-swe-agent[bot]
7f88923dee Add video-normalized support for ScreenScraper scan.media config
Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com>
2026-03-08 20:30:16 +00:00
Georges-Antoine Assi
e81659ab0f cleanup and add tests 2026-03-08 15:32:49 -04:00
Georges-Antoine Assi
f445ce0ee1 changes from bot review 2026-03-08 15:07:54 -04:00
Georges-Antoine Assi
9ebfe2df50 always use chunk upload endpoint 2026-03-08 14:56:56 -04:00
Georges-Antoine Assi
f6b11d3bde split out rom endpoints 2026-03-08 14:51:28 -04:00
Georges-Antoine Assi
78bb30b7c2 Merge branch 'master' into alanfrigo/master 2026-03-08 14:06:39 -04:00
Georges-Antoine Assi
f25412a86b Merge pull request #3060 from Drarox/master
Add additional cover styles for boxart to prevent cropping
2026-03-08 11:38:41 -04:00
Georges-Antoine Assi
6b33b58e07 add more platforms 2026-03-08 11:35:17 -04:00
Georges-Antoine Assi
0422f24f7f derive per platform aspect ratios 2026-03-08 11:18:34 -04:00
Georges-Antoine Assi
883824a5d6 update eslint to v10 2026-03-08 10:41:46 -04:00
Georges-Antoine Assi
055e97368f Merge pull request #2922 from gravelfreeman/launchbox-handler
Importing metadata from local launchbox installation
2026-03-07 23:50:23 -05:00
Georges-Antoine Assi
afcba4da9b some bot comments 2026-03-07 20:35:42 -05:00
copilot-swe-agent[bot]
3384e187c0 fix: update platformsStore when aspect ratio changes so gallery view reflects new ratio immediately
Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com>
2026-03-08 00:08:02 +00:00
Georges-Antoine Assi
395b857592 changes from self review 2026-03-07 14:44:02 -05:00
Georges-Antoine Assi
6de46eb067 Merge branch 'master' into launchbox-handler 2026-03-07 11:31:03 -05:00
Zurdi
527a45d09b Merge pull request #3080 from rommapp/feat/show-first-search
Fetch games on search view mount and reset search state on input clear
2026-03-07 17:12:05 +01:00
zurdi
ea2532ff82 fix: set initialSearch to false on input clear and update fetchRoms call in onMounted 2026-03-07 16:11:52 +00:00
zurdi
46d7a2aa1c refactor: simplify layout structure in HowLongToBeat component 2026-03-07 16:10:35 +00:00
zurdi
ea4ea47b45 trigger fetchRoms on search view mount and reset search state on input clear 2026-03-07 15:47:51 +00:00
Georges-Antoine Assi
13f7586590 changes from grp review 2026-03-07 10:07:50 -05:00
Georges-Antoine Assi
ee8b55e6ef last set of changes 2026-03-07 09:56:17 -05:00
Georges-Antoine Assi
76bdfb4891 changes from self review 2026-03-07 09:36:45 -05:00
Georges-Antoine Assi
b3659a1226 changes from bot review 2026-03-07 08:58:42 -05:00
Georges-Antoine Assi
827f787331 fix type issues 2026-03-06 17:17:11 -05:00
Georges-Antoine Assi
4bfd050a57 Merge branch 'master' into api-form-fields 2026-03-06 17:12:18 -05:00