Commit Graph

4317 Commits

Author SHA1 Message Date
zurdi
dfd92c3ebb feat: add April Fools emulation support toggle 2026-04-01 12:27:55 +00:00
zurdi
62d427a37f feat: april fools 2026-03-31 22:44:47 +00:00
Georges-Antoine Assi
f5f6aeb051 Lockdown package isntalls 2026-03-31 08:19:06 -04:00
dependabot[bot]
628c366df7 chore(deps-dev): bump handlebars from 4.7.8 to 4.7.9 in /frontend
Bumps [handlebars](https://github.com/handlebars-lang/handlebars.js) from 4.7.8 to 4.7.9.
- [Release notes](https://github.com/handlebars-lang/handlebars.js/releases)
- [Changelog](https://github.com/handlebars-lang/handlebars.js/blob/v4.7.9/release-notes.md)
- [Commits](https://github.com/handlebars-lang/handlebars.js/compare/v4.7.8...v4.7.9)

---
updated-dependencies:
- dependency-name: handlebars
  dependency-version: 4.7.9
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-27 00:35:47 +00:00
dependabot[bot]
88267c0b50 chore(deps-dev): bump picomatch from 2.3.1 to 2.3.2 in /frontend
Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)

---
updated-dependencies:
- dependency-name: picomatch
  dependency-version: 2.3.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-26 07:40:51 +00:00
Denislav Denev
e1a0656505 Merge branch 'rommapp:master' into feat/bulgarian-translation 2026-03-23 00:01:56 +02:00
cc
ce85a26185 fix: skip expensive platform stats on homepage
The /stats endpoint is called on both the homepage and the server stats
page, but only the stats page displays metadata coverage and region
breakdown. Add an `include_platform_stats` query param (default false)
so the homepage avoids the expensive per-platform queries.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-22 17:59:07 -04:00
Georges-Antoine Assi
f107dc2752 changes from bot rview 2026-03-22 17:17:14 -04:00
Georges-Antoine Assi
eecdbb06ec add playtime tracking via emujs 2026-03-22 15:48:56 -04:00
Denislav Denev
447aa3e94d feat(i18n): add Bulgarian (bg_BG) translations for rom strings 2026-03-22 17:41:28 +02:00
Georges-Antoine Assi
6c88333efa cleanup 2026-03-22 09:50:10 -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
copilot-swe-agent[bot]
3e73e363e0 Auto-select firmware when only one option is available in EmulatorJS player
Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com>
Agent-Logs-Url: https://github.com/rommapp/romm/sessions/943d91e5-db70-4bf4-8771-c96f32258cda
2026-03-21 12:34:29 +00:00
Denislav Denev
bb4744346b added translation for settings 2026-03-21 12:47:20 +02:00
Denislav Denev
47383146d5 feat(i18n): add Bulgarian (bg_BG) translations for scan, library management, and metadata source strings 2026-03-21 01:55:16 +02:00
zurdi
7fce50a3c5 fix: update ThemeOption component to bind value correctly and simplify vuetify theme logic 2026-03-20 17:57:45 +00:00
dependabot[bot]
94e348cd0c chore(deps-dev): bump flatted from 3.3.4 to 3.4.2 in /frontend
Bumps [flatted](https://github.com/WebReflection/flatted) from 3.3.4 to 3.4.2.
- [Commits](https://github.com/WebReflection/flatted/compare/v3.3.4...v3.4.2)

---
updated-dependencies:
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-20 14:35:58 +00:00
dependabot[bot]
47949fc42a chore(deps): bump socket.io-parser from 4.2.5 to 4.2.6 in /frontend
Bumps [socket.io-parser](https://github.com/socketio/socket.io) from 4.2.5 to 4.2.6.
- [Release notes](https://github.com/socketio/socket.io/releases)
- [Changelog](https://github.com/socketio/socket.io/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/socket.io/compare/socket.io-parser@4.2.5...socket.io-parser@4.2.6)

---
updated-dependencies:
- dependency-name: socket.io-parser
  dependency-version: 4.2.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-19 03:51:00 +00:00
Denislav Denev
df054017a3 feat(i18n): add partial Bulgarian (bg_BG) translation
Translated: collection, common, emptyStates, gallery, home, login
Remaining: console, patcher, platform, play, rom, scan, settings
2026-03-19 00:09:58 +02:00
Denislav Denev
5203341da1 Add bg_BG locale scaffold 2026-03-18 23:11:57 +02:00
Georges-Antoine Assi
22e273f0f5 add sync to task type item 2026-03-16 08:54:40 -04:00
Georges-Antoine Assi
29112b4ddc create device on login web 2026-03-15 11:25:39 -04:00
Georges-Antoine Assi
87800ffd5e run generate 2026-03-15 09:35:12 -04:00
Georges-Antoine Assi
997e2c44aa start pre-4.8 cleanup 2026-03-12 23:02:12 -04:00
copilot-swe-agent[bot]
87c6da4d59 Remove bevel from game card cover image by changing elevated to flat variant
Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com>
2026-03-12 23:01:29 +00:00
Cameron Horn
e987b532d7 default to querying all roms 2026-03-11 17:33:31 -04:00
Georges-Antoine Assi
6f02a4beff Merge pull request #3114 from tmgast/feature/client-api-tokens
Add client API tokens with QR pairing flow
2026-03-10 22:17:05 -04:00
Georges-Antoine Assi
9b95e85dee Merge pull request #3110 from cciollaro/feat/stats-metadata-coverage-regions
Per-platform metadata coverage and region breakdown to server stats
2026-03-10 21:58:32 -04:00
nendo
6de2a478f3 fix: remove dead code and add missing validation
- Consolidate PAIR_CODE_TTL_SECONDS to single source in utils
- Add min_length=1 validation on scopes field
- Remove unused pairExpiresIn ref, rawToken ref, dead emitter listener
- Fix formattedCode fallback to return normalized value
2026-03-11 10:56:35 +09:00
nendo
bd5b3375f0 fix: remove unused User import and add i18n keys to all locales
Fixes trunk_check (unused import) and check-translations (missing
keys in non-en_US locales) CI failures.
2026-03-11 10:56:35 +09:00
nendo
e0b25fbc6c feat(client-tokens): add client API tokens with QR pairing flow
Long-lived, revocable, scope-restricted tokens for external clients
(mobile apps, retro handhelds, third-party tools). Includes:

- Backend: model, migration, DB handler, auth integration (rmm_ prefix
  routing in HybridAuthBackend), CRUD + pairing + exchange endpoints,
  rate limiting, scope intersection enforcement, admin oversight
- Frontend: settings page with token management table, stepped
  create/deliver dialog (config -> copy/pair), QR code with RomM logo,
  admin token table, standalone /pair page for QR scan landing
- /pair page supports custom-scheme callbacks for app deep linking,
  falls back to displaying code for manual entry
- 33 backend tests across 5 classes (CRUD, auth, isolation, pairing,
  admin)
2026-03-11 10:56:35 +09:00
Georges-Antoine Assi
f8a9740e8f rejig styles 2026-03-10 21:52:33 -04:00
Georges-Antoine Assi
0c18c2588c run fmt 2026-03-10 21:47:27 -04:00
cc
a4e8d9df49 fix: sort without mutating store, move constants to module scope
- Spread allPlatforms before sorting to avoid mutating Pinia store
- Move _METADATA_SOURCE_COLUMNS to module level
- Add optional chain on sourceInfo v-img src

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 20:09:19 -04:00
cc
f82a4e15f5 fix: address remaining review feedback
- Use i18n key for "games" label instead of hardcoded "Roms"
- Remove min-width on size bar fill so zero-size platforms show no bar
- Align Python TypedDict keys to str to match JSON wire format

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 19:58:14 -04:00
cc
60f5c38c8c fix: polish platform card layout
- Add rom count as detail table row aligned with metadata/region chips
- Use standard chip style for fs_slug matching PlatformListItem
- Size and percentage on two lines for readability
- Adjust platform icon vertical alignment

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 19:52:14 -04:00
cc
837046d4c1 fix: use String() for numeric key lookups on string-keyed Records
JSON serializes object keys as strings, so explicitly convert platform
IDs to strings when accessing metadataCoverage and regionBreakdown maps.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 19:40:06 -04:00
cc
8e568780e8 chore: use existing locale keys for metadata/region labels
Reuse rom.metadata and platform.region instead of adding new keys.
Remove orphaned platforms-size key from all 16 locale files.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 19:39:13 -04:00
cc
d0c33e31bc chore: remove unused platforms-size locale key
Fallback locale (en_US) covers the two new keys for other languages.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 19:32:18 -04:00
cc
52c53505a1 refactor: address review feedback
- Derive metadata source columns from Rom model instead of hardcoded list
- Replace getOrderedCoverage() function calls with a computed map to avoid
  redundant sorting on each render

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 19:27:50 -04:00
Georges-Antoine Assi
3ebeb10b1c Merge pull request #3116 from JamieeBond/feature/shared-logic-path-video
Add property for path_video and refactor places which use similar logic
2026-03-10 16:58:09 -04:00
Georges-Antoine Assi
a4a4fd29c8 Merge pull request #3111 from rommapp/copilot/improve-firmware-detection-message
Show firmware count in scan results to improve BIOS detection discoverability
2026-03-10 16:37:03 -04:00
Georges-Antoine Assi
8e4c5114cc Merge pull request #3109 from rommapp/copilot/fix-cleanup-all-hangs-issue
Move "Clean up All" missing ROMs deletion to background task
2026-03-10 16:26:00 -04:00
Georges-Antoine Assi
515be47d6d add cleanup dialog 2026-03-10 16:15:57 -04:00
Georges-Antoine Assi
8f8ef1f700 some changes from review 2026-03-10 16:13:21 -04:00
Jamie Bond
a72a370c86 Ran npm run generate 2026-03-10 20:48:49 +01: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
e9ac44ce2c finish language translation 2026-03-10 08:24:29 -04:00
Georges-Antoine Assi
bbb257b68a style to my liking 2026-03-09 23:37:35 -04:00
Georges-Antoine Assi
99d93d95c7 run fmt 2026-03-09 22:49:30 -04:00