Conversation
Test Results (postgresql)1 006 tests 1 005 ✅ 2m 37s ⏱️ Results for commit 6837070. ♻️ This comment has been updated with latest results. |
Test Results (mariadb)1 006 tests 1 005 ✅ 2m 48s ⏱️ Results for commit 6837070. ♻️ This comment has been updated with latest results. |
☂️ Python Coverage
Overall Coverage
New FilesNo new covered files... Modified Files
|
There was a problem hiding this comment.
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
/configand update the frontend to display “default” vs “custom” exclusions. - Change
PUT /api/roms/{id}/propsto accept a flatRomUserDatabody 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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
Description
Explain the changes or enhancements you are proposing with this pull request.
Checklist
Please check all that apply.
Screenshots (if applicable)