Commit Graph

331 Commits

Author SHA1 Message Date
copilot-swe-agent[bot] 681efc6a46 fix: enable COEP/COOP headers for console play route to fix MSDOS games
Agent-Logs-Url: https://github.com/rommapp/romm/sessions/487d4506-1203-499e-afc4-a45ee1f2438b

Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com>
2026-04-20 18:08:38 +00:00
Dang Mai 47eb47a8f1 Small spacing fix 2026-04-17 16:26:24 -07:00
Dang Mai a5ff6010cd Fix RAHasher prod build 2026-04-17 16:24:31 -07:00
Georges-Antoine Assi 3104a55ae1 update libretro to 1.8.3 in prod 2026-04-16 22:15:06 -04:00
copilot-swe-agent[bot] 80d20eec51 fix: bump RAHasher version from 1.8.1 to 1.8.3 in docker/Dockerfile
Agent-Logs-Url: https://github.com/rommapp/romm/sessions/59aeb3a2-1a8c-47f5-9f90-f6d537765977

Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com>
2026-04-17 01:44:30 +00:00
Georges-Antoine Assi abc69c790f fix scanning 2026-04-12 09:35:34 -04:00
Georges-Antoine Assi 485b6af0dd fix: wire LOGLEVEL into gunicorn logger level and RQ worker/scheduler
The gunicorn logging config hard-coded level=INFO, ignoring LOGLEVEL.
Patch it at startup via sed. Also pass --logging_level to rq worker
and rqscheduler so their framework logging respects LOGLEVEL.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 10:09:03 -04:00
Georges-Antoine Assi af2d1f3471 changes from bot review 2026-04-11 09:58:32 -04:00
copilot-swe-agent[bot] bc9961cfe5 fix: remove dynamic gunicorn logging config generator from init script
Agent-Logs-Url: https://github.com/rommapp/romm/sessions/bdfc3221-ba18-445d-9cf7-f4b495e82577

Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com>
2026-04-11 02:48:15 +00:00
Georges-Antoine Assi 3f9d71f741 run fmt 2026-04-10 22:45:14 -04:00
copilot-swe-agent[bot] 6e2f502b67 fix: use dynamic log level in gunicorn format and add auto-generated comment
Agent-Logs-Url: https://github.com/rommapp/romm/sessions/0b5ef21c-89e1-4f08-b402-03f3276aab08

Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com>
2026-04-11 02:15:01 +00:00
copilot-swe-agent[bot] d6036cb5ef fix: respect LOGLEVEL env var for all log output sources
Agent-Logs-Url: https://github.com/rommapp/romm/sessions/0b5ef21c-89e1-4f08-b402-03f3276aab08

Co-authored-by: gantoine <3247106+gantoine@users.noreply.github.com>
2026-04-11 02:13:20 +00:00
Georges-Antoine Assi f2e8e337b2 Merge branch 'master' into save-sync 2026-04-05 21:47:53 -04:00
Georges-Antoine Assi 9a6beba18b udpate uv version dockerfiule 2026-04-01 08:30:19 -04:00
Georges-Antoine Assi f13f929d7d tweaks based on self review 2026-03-14 22:26:53 -04:00
zurdi d6fae786b0 Increase proxy read timeout to 300 seconds for backend API calls 2026-03-03 23:23:25 +00:00
Georges-Antoine Assi cccee5ab57 pin nginx to 1.29.5 2026-02-21 12:48:37 -05:00
Georges-Antoine Assi 5f5c7afb7a revert nginx version pin 2026-02-17 15:21:19 -05:00
Georges-Antoine Assi 695a12a21a upgrade some base images 2026-02-16 22:11:47 -05:00
Christian Rehm 91ee163585 fix(watcher): skip opentelemetry-instrument when OTEL is disabled
When OTEL_SDK_DISABLED=true (set automatically when no OTEL_ env vars
are present), the opentelemetry-instrument wrapper does not properly
pass through the WATCHFILES_CHANGES environment variable to watcher.py.

This causes the filesystem watcher to silently fail - watchfiles detects
changes but watcher.py receives an empty WATCHFILES_CHANGES and exits
immediately without scheduling any rescans.

The fix skips the opentelemetry-instrument wrapper when OTEL is disabled,
allowing watchfiles to pass WATCHFILES_CHANGES directly to watcher.py.

Fixes automatic rescan on filesystem change for users who don't configure
OpenTelemetry (the majority of self-hosted deployments).
2026-01-30 23:18:49 +00:00
Georges-Antoine Assi f40dcb25a6 change it again 2026-01-10 14:32:32 -05:00
Georges-Antoine Assi 53330536e0 change to WEB_SERVER_GUNICORN_WAIT 2026-01-10 14:26:36 -05:00
Georges-Antoine Assi 91ff88a008 Add WEB_SERVER_GUNICORN_RETRIES env var for slow systems 2026-01-10 14:24:31 -05:00
Georges-Antoine Assi 27c83e4736 add config entry to enable netplay 2025-12-08 22:58:48 -05:00
Georges-Antoine Assi 09dbb2e244 use redis to store netplay data 2025-12-07 12:02:35 -05:00
Georges-Antoine Assi ebe8fac3d7 unupdate dockerfile 2025-11-21 23:44:02 -05:00
Georges-Antoine Assi 8c769a5fe8 hacks with working netplayu 2025-11-21 19:15:20 -05:00
Georges-Antoine Assi 82ca819ab2 start work on netplay endpoints 2025-11-21 11:25:31 -05:00
Georges-Antoine Assi fad5f7fd23 Bump dockerfile baselayer image tags 2025-10-20 10:56:42 -04:00
Georges-Antoine Assi 7e4e27db62 commit frontend code 2025-10-16 15:40:27 -04:00
Georges-Antoine Assi 0d357d59e5 [ROMM-2470] Skip bind IPV6 if IPV4_ONLY is true 2025-10-07 09:07:30 -04:00
Georges-Antoine Assi 3d698c06b1 make gunicorn a warn not an error 2025-10-02 16:41:03 -04:00
Georges-Antoine Assi e2d7e73ed4 Use uppercase loglevel check in init script 2025-09-29 08:45:55 -04:00
Georges-Antoine Assi c4d8450009 fix typo 2025-09-18 17:01:28 -04:00
Georges-Antoine Assi 873b59c951 use non-slim nginx 2025-09-18 15:30:04 -04:00
Georges-Antoine Assi b0c37c193f drop setting user 2025-09-18 14:44:23 -04:00
Georges-Antoine Assi f1750951cf install devs deps to build images 2025-09-18 11:45:38 -04:00
Georges-Antoine Assi 536a5dd3dd atempt fix ralibretro 2025-09-18 11:38:39 -04:00
Georges-Antoine Assi 1a41190fb8 add NGINX_VERSION to local 2025-09-18 11:28:29 -04:00
Georges-Antoine Assi 57e488d8b4 copy from uv image direct 2025-09-18 10:58:47 -04:00
Georges-Antoine Assi d91be2c16a first attempt to fix build failure 2025-09-18 10:34:50 -04:00
Georges-Antoine Assi 90fc571eb4 Use hashes for each later + set USER 2025-09-18 09:46:36 -04:00
Michael Manganiello 0f0d1a1903 fix: Remove mod_zip workaround for upstream subrequests to internal locations
Related `mod_zip` issue https://github.com/evanmiller/mod_zip/issues/90
has been fixed in commit
https://github.com/evanmiller/mod_zip/commit/288d66541c25516a6cee5c9fb42af5f834f7ba28

By upgrading `mod_zip` to include this fix, we can remove the workaround
that involved using a separate internal location and server to serve
files for zipping.
2025-09-11 18:24:12 -03:00
Michael Manganiello 8c52b7828b feat: Add COEP and COOP headers for EmulatorJS within Nginx config
The COEP (Cross-Origin Embedder Policy) and COOP (Cross-Origin Opener
Policy) headers are needed by EmulatorJS to use the `SharedArrayBuffer`
feature, and enable multi-threaded cores.

These headers are only being set by Nginx for responses to requests
made to the EmulatorJS player path. This is because cross-origin
isolation breaks other features in the application (such as YouTube
embeds), so we only want to enable it for the EmulatorJS player.

It's important to mention that this change does not work when `DEV_MODE`
is set, as we would need Vite server to also set these headers in that
case. This could be implemented separately, if needed.

These changes are not enough to enable multi-threaded cores in the
frontend. Because our application is a SPA, we also need to ensure
that navigation to the EmulatorJS player path results in a full page
reload, so that the cross-origin isolation can be applied. This will be
handled in a separate PR.
2025-08-31 21:43:32 -03:00
Georges-Antoine Assi 2bf87e7425 Merge branch 'master' into console-mode 2025-08-29 13:07:05 -05:00
Georges-Antoine Assi 798ffa31b3 switch names to WEB_SERVER_ 2025-08-26 23:53:55 -04:00
Georges-Antoine Assi a4a714475f changes from review 2025-08-26 23:11:16 -04:00
Georges-Antoine Assi e32e51a1e2 use correct arguments 2025-08-26 19:11:39 -04:00
Georges-Antoine Assi 603f6ec5af Add options to gunicorn call 2025-08-26 18:16:52 -04:00
Georges-Antoine Assi 3075ffeab4 centralize routes 2025-08-25 13:25:34 -04:00