Georges-Antoine Assi
fd0ed1b22c
cleanup
2026-05-13 08:56:28 -04:00
Georges-Antoine Assi
8210bab806
Tolerate forward-compat values and malformed YAML in config loader
...
Sample configs shipped with newer releases can reference media types or
options unknown to older versions; previously the loader called
sys.exit(3) and refused to boot. Now drop unknown scan.media entries,
fall back to defaults for unknown gamelist media thumbnail/image values,
and recover from YAML parse errors with a clear critical log instead of
a traceback. Type-mismatch validation still hard-fails since those are
real misconfigurations.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-12 22:26:43 -04:00
Georges-Antoine Assi
d87bf08074
Merge pull request #3362 from enlewof/master
...
Add exclude for images directory in config.batocera-retrobat.yml
2026-05-12 10:38:57 -04:00
Allen Lew
2c05abda61
Update config.batocera-retrobat.yml
...
Don't scan the images directory in games
2026-05-11 22:29:16 -07:00
Georges-Antoine Assi
effd081f90
Merge pull request #3286 from rommapp/local-lb-fix
...
Fix local LaunchBox handler: paths, arcade, videos, remote-match images
2026-05-09 14:46:35 -04:00
Georges-Antoine Assi
8999b66574
Preserve local LaunchBox data on UPDATE scans and video extensions
...
UPDATE scans with a known launchbox_id were calling get_rom_by_id(),
which only returns remote data and bypassed get_rom()'s local-first
merge — so local-only fields like Notes were getting clobbered and
local media matching fidelity dropped. get_rom_by_id() now optionally
takes fs_name/platform_slug and merges the local entry when its
DatabaseID matches the requested id.
Also fixes populate_rom_specific_paths writing every video as
video.mp4 regardless of source extension; since store_media_file is a
byte copy, .mkv/.webm contents would be served as .mp4 and break MIME
sniffing.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-09 14:32:34 -04:00
Georges-Antoine Assi
d8ef6f0c05
Merge branch 'master' into local-lb-fix
2026-05-09 13:20:31 -04:00
Georges-Antoine Assi
547c64c4f5
update hltb api
2026-05-09 12:56:01 -04:00
Georges-Antoine Assi
d009662499
Merge pull request #3342 from rommapp/copilot/add-copy-default-config-yml
...
Auto-create missing `config.yml` on startup in mounted config volume
2026-05-09 11:00:22 -04:00
Georges-Antoine Assi
562ec51869
fix batocerya
2026-05-09 10:38:47 -04:00
Georges-Antoine Assi
796e9afd46
Merge pull request #3349 from enlewof/patch-1
...
Update config.batocera-retrobat.yml
2026-05-09 10:38:24 -04:00
Georges-Antoine Assi
f3b46d7bf3
Merge pull request #3353 from rommapp/validate-image-uploads
...
fix(backend): validate uploaded images with libmagic
2026-05-09 10:35:46 -04:00
Georges-Antoine Assi
e3aaa106a2
perf(backend): reuse libmagic instance for image upload validation
...
magic.Magic(mime=True) loads the magic database from disk on construction;
instantiating it per request was adding pointless overhead to every avatar
and artwork upload. Share a module-level instance guarded by a lock (the
underlying magic_t handle is not thread-safe), and surface MagicException
as a 400 so a sniffing failure fails closed instead of bubbling a 500.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-09 10:14:38 -04:00
Georges-Antoine Assi
783d9a257e
test(backend): cover artwork upload validation for roms and collections
...
Adds rejection + acceptance tests for update_rom, add_collection, and
update_collection artwork uploads, mirroring the existing avatar tests:
non-image content returns 400, and a real PNG uploaded under a misleading
filename like payload.html is stored with the trusted .png extension.
Also fixes two `return HTTPException(...)` → `raise` in raw.py so the 404
path actually surfaces instead of silently returning the exception object.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-09 09:37:44 -04:00
Georges-Antoine Assi
53f14f5710
fix(backend): validate uploaded images with libmagic before storing
...
Avatar, ROM artwork, and collection artwork uploads now sniff the file
header with libmagic and reject anything that isn't PNG/JPEG/WebP/GIF,
saving the file with an extension derived from the detected MIME rather
than the user-supplied filename. Pairs with the raw asset endpoint,
which decides inline vs attachment from the on-disk extension.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-09 09:18:02 -04:00
Georges-Antoine Assi
cce678ed0b
Merge pull request #3352 from rommapp/claude/eager-wing-a67e39
...
fix(frontend): use static auth background on Firefox
2026-05-09 09:08:50 -04:00
Georges-Antoine Assi
fe4546c8c1
fix(frontend): use static auth background on firefox
...
The animated SVG background causes lag on Firefox. Swap in the static
variant via @-moz-document url-prefix() so other engines keep the
animation.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-09 09:05:58 -04:00
Georges-Antoine Assi
a5d13b1707
Merge pull request #3341 from rommapp/copilot/fix-checkbox-toggle-on-click
...
Setup wizard: make platform row click toggle selection checkbox
2026-05-09 08:47:47 -04:00
Georges-Antoine Assi
e6fb56a548
Merge pull request #3350 from rommapp/dependabot/npm_and_yarn/frontend/babel/plugin-transform-modules-systemjs-7.29.4
...
chore(deps-dev): bump @babel/plugin-transform-modules-systemjs from 7.29.0 to 7.29.4 in /frontend
2026-05-09 08:30:11 -04:00
Georges-Antoine Assi
a1acc89ad2
Merge pull request #3351 from rommapp/dependabot/uv/cryptography-46.0.7
...
chore(deps): bump cryptography from 46.0.5 to 46.0.7
2026-05-09 08:27:46 -04:00
dependabot[bot]
913021b5af
chore(deps-dev): bump @babel/plugin-transform-modules-systemjs
...
Bumps [@babel/plugin-transform-modules-systemjs](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-modules-systemjs ) from 7.29.0 to 7.29.4.
- [Release notes](https://github.com/babel/babel/releases )
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md )
- [Commits](https://github.com/babel/babel/commits/v7.29.4/packages/babel-plugin-transform-modules-systemjs )
---
updated-dependencies:
- dependency-name: "@babel/plugin-transform-modules-systemjs"
dependency-version: 7.29.4
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-05-09 12:26:25 +00:00
dependabot[bot]
7e5e46cc9d
chore(deps): bump cryptography from 46.0.5 to 46.0.7
...
Bumps [cryptography](https://github.com/pyca/cryptography ) from 46.0.5 to 46.0.7.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pyca/cryptography/compare/46.0.5...46.0.7 )
---
updated-dependencies:
- dependency-name: cryptography
dependency-version: 46.0.7
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-05-09 12:26:25 +00:00
Georges-Antoine Assi
7b2ea00d94
Merge pull request #3346 from rommapp/dependabot/npm_and_yarn/frontend/multi-a4987b4d91
...
chore(deps): bump serialize-javascript and workbox-build in /frontend
2026-05-09 08:26:00 -04:00
Georges-Antoine Assi
3f0b0510ab
Merge pull request #3345 from rommapp/dependabot/npm_and_yarn/frontend/fast-uri-3.1.2
...
chore(deps-dev): bump fast-uri from 3.1.0 to 3.1.2 in /frontend
2026-05-09 08:25:07 -04:00
Allen Lew
8cac076122
Update config.batocera-retrobat.yml
...
Segacd became megacd with version 42 of batocera (see https://github.com/batocera-linux/batocera.linux/blob/master/batocera-Changelog.md#20251012---batoceralinux-42---papilio-ulysses ). Also don't scan txt files or xml (batocera leaves txt with initial directory and gamelist.xml after a scan)
2026-05-08 21:07:48 -07:00
Georges-Antoine Assi
513c40771c
Merge pull request #3347 from rommapp/rm-log-level-rqscheduler
...
remove log-level from rqscheduler
4.9.0-alpha.2
2026-05-08 19:36:14 -04:00
Georges-Antoine Assi
faed12e407
remove log-level from rqscheduler
2026-05-08 19:30:43 -04:00
dependabot[bot]
d3a394db85
chore(deps): bump serialize-javascript and workbox-build in /frontend
...
Bumps [serialize-javascript](https://github.com/yahoo/serialize-javascript ) and [workbox-build](https://github.com/googlechrome/workbox ). These dependencies needed to be updated together.
Updates `serialize-javascript` from 6.0.2 to 7.0.5
- [Release notes](https://github.com/yahoo/serialize-javascript/releases )
- [Commits](https://github.com/yahoo/serialize-javascript/compare/v6.0.2...v7.0.5 )
Updates `workbox-build` from 7.4.0 to 7.4.1
- [Release notes](https://github.com/googlechrome/workbox/releases )
- [Commits](https://github.com/googlechrome/workbox/compare/v7.4.0...v7.4.1 )
---
updated-dependencies:
- dependency-name: serialize-javascript
dependency-version: 7.0.5
dependency-type: indirect
- dependency-name: workbox-build
dependency-version: 7.4.1
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-05-08 21:28:20 +00:00
dependabot[bot]
2cea8efe8a
chore(deps-dev): bump fast-uri from 3.1.0 to 3.1.2 in /frontend
...
Bumps [fast-uri](https://github.com/fastify/fast-uri ) from 3.1.0 to 3.1.2.
- [Release notes](https://github.com/fastify/fast-uri/releases )
- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.0...v3.1.2 )
---
updated-dependencies:
- dependency-name: fast-uri
dependency-version: 3.1.2
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-05-08 20:28:44 +00:00
Georges-Antoine Assi
5ea5aecd25
Potential fix for pull request finding
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-05-08 14:26:11 -04:00
Georges-Antoine Assi
145b86629e
Merge pull request #3343 from rommapp/dependabot/uv/mako-1.3.12
...
chore(deps): bump mako from 1.3.11 to 1.3.12
4.9.0-alpha.1
2026-05-08 14:15:06 -04:00
Georges-Antoine Assi
d0852a2606
Merge pull request #3344 from rommapp/dependabot/uv/aiohttp-3.13.4
...
chore(deps): bump aiohttp from 3.13.3 to 3.13.4
2026-05-08 14:14:11 -04:00
dependabot[bot]
6ed4c3206c
chore(deps): bump aiohttp from 3.13.3 to 3.13.4
...
---
updated-dependencies:
- dependency-name: aiohttp
dependency-version: 3.13.4
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-05-08 15:43:35 +00:00
dependabot[bot]
99c99c88ec
chore(deps): bump mako from 1.3.11 to 1.3.12
...
Bumps [mako](https://github.com/sqlalchemy/mako ) from 1.3.11 to 1.3.12.
- [Release notes](https://github.com/sqlalchemy/mako/releases )
- [Changelog](https://github.com/sqlalchemy/mako/blob/main/CHANGES )
- [Commits](https://github.com/sqlalchemy/mako/commits )
---
updated-dependencies:
- dependency-name: mako
dependency-version: 1.3.12
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-05-08 14:45:27 +00:00
copilot-swe-agent[bot]
c0910dde1f
fix(config): initialize state when config creation fails
...
Agent-Logs-Url: https://github.com/rommapp/romm/sessions/0c94e1c8-0f79-4f5f-a72b-e45832906d00
Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com >
2026-05-08 13:56:51 +00:00
copilot-swe-agent[bot]
eae577f74c
refactor(config): use pathlib for missing config creation
...
Agent-Logs-Url: https://github.com/rommapp/romm/sessions/0c94e1c8-0f79-4f5f-a72b-e45832906d00
Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com >
2026-05-08 13:55:38 +00:00
copilot-swe-agent[bot]
2bb86e4836
Make setup platform rows toggle checkbox selection on click
...
Agent-Logs-Url: https://github.com/rommapp/romm/sessions/00a7f2a2-cabf-470b-a73e-a127ffcdccd5
Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com >
2026-05-08 13:55:00 +00:00
copilot-swe-agent[bot]
9ef217339f
test(config): cover auto-created config directory
...
Agent-Logs-Url: https://github.com/rommapp/romm/sessions/0c94e1c8-0f79-4f5f-a72b-e45832906d00
Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com >
2026-05-08 13:54:19 +00:00
copilot-swe-agent[bot]
fdd9047b37
feat(config): auto-create missing config.yml on startup
...
Agent-Logs-Url: https://github.com/rommapp/romm/sessions/0c94e1c8-0f79-4f5f-a72b-e45832906d00
Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com >
2026-05-08 13:52:53 +00:00
copilot-swe-agent[bot]
79dc039748
Initial plan
2026-05-08 13:48:52 +00:00
copilot-swe-agent[bot]
6749728e6d
Initial plan
2026-05-08 13:48:33 +00:00
Georges-Antoine Assi
2696dd4b98
Merge pull request #3339 from rommapp/dependabot/npm_and_yarn/frontend/axios-1.16.0
...
chore(deps): bump axios from 1.15.0 to 1.16.0 in /frontend
2026-05-08 09:48:17 -04:00
dependabot[bot]
d0b2c89e60
chore(deps): bump axios from 1.15.0 to 1.16.0 in /frontend
...
Bumps [axios](https://github.com/axios/axios ) from 1.15.0 to 1.16.0.
- [Release notes](https://github.com/axios/axios/releases )
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md )
- [Commits](https://github.com/axios/axios/compare/v1.15.0...v1.16.0 )
---
updated-dependencies:
- dependency-name: axios
dependency-version: 1.16.0
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-05-08 09:10:01 +00:00
Georges-Antoine Assi
c10539d9b9
Merge pull request #3333 from sabuswai/patch-1
...
Add credentialless attribute to YouTube iframe
2026-05-07 11:54:53 -04:00
sabuswai
228c640f18
Add credentialless attribute to YouTube iframe
...
add credentialless attribute to YouTube iframe for COEP compatibility
2026-05-07 01:13:07 -05:00
Georges-Antoine Assi
ccdd27b009
Merge pull request #3326 from rommapp/copilot/fix-exclusion-of-multiple-dots-files
...
Fix extension exclusion not matching multi-dot filenames
2026-05-04 08:55:35 -04:00
Georges-Antoine Assi
5e3a2707b0
cleanup
2026-05-03 19:39:19 -04:00
copilot-swe-agent[bot]
da005cf81a
Optimize fnmatch check and use consistent n64 filename in test
...
Agent-Logs-Url: https://github.com/rommapp/romm/sessions/8cbbc2ca-a3e3-4c61-9e47-f8544d59231a
Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com >
2026-05-03 23:36:23 +00:00
copilot-swe-agent[bot]
78c0b5b894
Fix broken test_rename_fs_rom_same_name function definition after new test insertion
...
Agent-Logs-Url: https://github.com/rommapp/romm/sessions/8cbbc2ca-a3e3-4c61-9e47-f8544d59231a
Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com >
2026-05-03 23:35:19 +00:00
copilot-swe-agent[bot]
9593c30292
Address PR review: normalize exclusion sets, avoid duplicates, add multi-dot test for get_rom_files
...
Agent-Logs-Url: https://github.com/rommapp/romm/sessions/8cbbc2ca-a3e3-4c61-9e47-f8544d59231a
Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com >
2026-05-03 23:34:30 +00:00