Skip to content

4.8.1 hotfixes#3221

Merged
gantoine merged 8 commits intomasterfrom
4.8.1-hotfixes
Apr 6, 2026
Merged

4.8.1 hotfixes#3221
gantoine merged 8 commits intomasterfrom
4.8.1-hotfixes

Conversation

@gantoine
Copy link
Copy Markdown
Member

@gantoine gantoine commented Apr 5, 2026

Description
Explain the changes or enhancements you are proposing with this pull request.

Checklist
Please check all that apply.

  • I've tested the changes locally
  • I've updated relevant comments
  • I've assigned reviewers for this PR
  • I've added unit tests that cover the changes

Screenshots (if applicable)

Copilot AI review requested due to automatic review settings April 5, 2026 13:02
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 5, 2026

Test Results (postgresql)

1 006 tests   1 005 ✅  2m 37s ⏱️
    1 suites      1 💤
    1 files        0 ❌

Results for commit 6837070.

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 5, 2026

Test Results (mariadb)

1 006 tests   1 005 ✅  2m 48s ⏱️
    1 suites      1 💤
    1 files        0 ❌

Results for commit 6837070.

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 5, 2026

☂️ Python Coverage

current status: ✅

Overall Coverage

Lines Covered Coverage Threshold Status
14354 9706 68% 0% 🟢

New Files

No new covered files...

Modified Files

File Coverage Status
backend/endpoints/configs.py 65% 🟢
backend/endpoints/responses/config.py 100% 🟢
backend/endpoints/roms/_init_.py 62% 🟢
backend/endpoints/sockets/scan.py 25% 🟢
backend/handler/database/roms_handler.py 55% 🟢
backend/handler/metadata/hltb_handler.py 45% 🟢
backend/models/rom.py 91% 🟢
backend/utils/validation.py 90% 🟢
TOTAL 67% 🟢

updated for commit: 6837070 by action🐍

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR bundles a set of hotfixes across frontend and backend: it tightens backend SSRF URL validation, adjusts the ROM user-props update API contract (flat body + query flags), and surfaces “default exclusions” separately in the frontend settings UI.

Changes:

  • Expose backend default exclusion lists via /config and update the frontend to display “default” vs “custom” exclusions.
  • Change PUT /api/roms/{id}/props to accept a flat RomUserData body and move last-played toggles to query params; update frontend + tests accordingly.
  • Harden SSRF prevention by blocking non-standard IPv4 literal representations (hex/decimal/shorthand).

Reviewed changes

Copilot reviewed 26 out of 29 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
frontend/src/stores/config.ts Adds default exclusion lists to the frontend config store defaults.
frontend/src/services/api/rom.ts Updates rom user-props update request to use query flags + flat JSON body.
frontend/src/components/Settings/LibraryManagement/Config/Excluded.vue Splits exclusions UI into “custom exclusions” table and “default exclusions” list.
frontend/src/locales/en_US/settings.json Adds exclusions-defaults label and clarifies “no custom exclusions” text.
frontend/src/locales/en_GB/settings.json Same i18n key additions for exclusions defaults.
frontend/src/locales/es_ES/settings.json Same i18n key additions for exclusions defaults.
frontend/src/locales/fr_FR/settings.json Same i18n key additions for exclusions defaults.
frontend/src/locales/de_DE/settings.json Same i18n key additions for exclusions defaults.
frontend/src/locales/it_IT/settings.json Same i18n key additions for exclusions defaults.
frontend/src/locales/ja_JP/settings.json Same i18n key additions for exclusions defaults.
frontend/src/locales/ko_KR/settings.json Same i18n key additions for exclusions defaults.
frontend/src/locales/pl_PL/settings.json Same i18n key additions for exclusions defaults.
frontend/src/locales/pt_BR/settings.json Same i18n key additions for exclusions defaults.
frontend/src/locales/ro_RO/settings.json Same i18n key additions for exclusions defaults.
frontend/src/locales/ru_RU/settings.json Same i18n key additions for exclusions defaults.
frontend/src/locales/bg_BG/settings.json Same i18n key additions for exclusions defaults.
frontend/src/locales/cs_CZ/settings.json Same i18n key additions for exclusions defaults.
frontend/src/locales/hu_HU/settings.json Same i18n key additions for exclusions defaults.
frontend/src/locales/zh_CN/settings.json Same i18n key additions for exclusions defaults.
frontend/src/locales/zh_TW/settings.json Same i18n key additions for exclusions defaults.
frontend/src/generated/models/ConfigResponse.ts Extends generated config response model with default exclusion lists.
frontend/src/generated/index.ts Removes export for deleted RomUserUpdatePayload model.
frontend/src/generated/models/RomUserUpdatePayload.ts Deletes obsolete generated payload model (API contract changed).
backend/utils/validation.py Blocks non-standard IPv4 literal encodings to reduce SSRF bypasses.
backend/tests/utils/test_validation.py Adds test coverage for non-standard IP SSRF bypass vectors.
backend/endpoints/roms/init.py Changes ROM user-props endpoint to flat body + query flags; removes old payload envelope model.
backend/tests/endpoints/roms/test_rom.py Updates tests to match the new user-props request shape.
backend/endpoints/responses/config.py Extends config response typing with default exclusion lists.
backend/endpoints/configs.py Returns default exclusion lists in the config endpoint response.
Files not reviewed (3)
  • frontend/src/generated/index.ts: Language not supported
  • frontend/src/generated/models/ConfigResponse.ts: Language not supported
  • frontend/src/generated/models/RomUserUpdatePayload.ts: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread frontend/src/services/api/rom.ts
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 31 out of 34 changed files in this pull request and generated 9 comments.

Files not reviewed (3)
  • frontend/src/generated/index.ts: Language not supported
  • frontend/src/generated/models/ConfigResponse.ts: Language not supported
  • frontend/src/generated/models/RomUserUpdatePayload.ts: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread backend/endpoints/roms/__init__.py
Comment thread frontend/src/services/api/rom.ts
Comment thread backend/handler/database/roms_handler.py
Comment thread backend/utils/validation.py Outdated
Comment thread backend/endpoints/roms/__init__.py
Comment thread backend/endpoints/roms/__init__.py
Comment thread frontend/src/services/api/rom.ts
Comment thread backend/models/rom.py
Comment thread backend/alembic/versions/0073_sibling_roms_metadata_only.py
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 34 out of 37 changed files in this pull request and generated 4 comments.

Files not reviewed (3)
  • frontend/src/generated/index.ts: Language not supported
  • frontend/src/generated/models/ConfigResponse.ts: Language not supported
  • frontend/src/generated/models/RomUserUpdatePayload.ts: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread frontend/src/stores/config.ts
Comment thread backend/endpoints/roms/__init__.py
Comment thread backend/utils/validation.py Outdated
@gantoine gantoine merged commit 83be44a into master Apr 6, 2026
16 checks passed
@gantoine gantoine deleted the 4.8.1-hotfixes branch April 6, 2026 00:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants