Repository navigation
Conversation
A webstation container that maps psp to standalone PPSSPP fell through to NO_CAPABILITIES, so the player offered only Save & Exit, even though the broker saves and loads one working slot for it over the state hotkeys. Add a ppsspp entry next to retroarch and scummvm with the same slot shape. Closes rommapp#5230
[Medium impact] Adds platform capability configuration for a new emulator. The slot change has no established functional blocker, but the explicit comment requirements must be satisfied before merging.
|
| """A webstation container that maps psp to standalone PPSSPP got no states, | ||
| so the player offered only save and exit (#5230). Its broker saves and | ||
| loads the same one working slot as RetroArch.""" |
There was a problem hiding this comment.
Comments break repository rules
The new test docstring includes the old behavior, an issue number, and a comparison with RetroArch. The repository requires one-sentence docstrings and keeps change history outside the code. Replace it with a sentence describing the expected PPSSPP behavior. Also shorten the new three-line comment in capabilities.py to the required one or two lines. These repository requirements must be satisfied before merging.
Rule Used: Comment discipline. A comment is one or two lines; a docstring is one sentence plus an Args:/Returns: block when the signature needs it. Flag: multi-paragraph rationale; change history or migration notes ("replaces the manual pattern", "this was drop... (source)
Prompt To Fix With AI
This is a comment left during a code review.
Path: backend/tests/endpoints/test_streaming.py
Line: 416-418
Comment:
**Comments break repository rules**
The new test docstring includes the old behavior, an issue number, and a comparison with RetroArch. The repository requires one-sentence docstrings and keeps change history outside the code. Replace it with a sentence describing the expected PPSSPP behavior. Also shorten the new three-line comment in `capabilities.py` to the required one or two lines. These repository requirements must be satisfied before merging.
**Rule Used:** Comment discipline. A comment is one or two lines; a docstring is one sentence plus an Args:/Returns: block when the signature needs it. Flag: multi-paragraph rationale; change history or migration notes ("replaces the manual pattern", "this was drop... ([source](https://app.greptile.com/romm/-/custom-context?memory=43fcb307-60fc-4cf1-9be8-07a4b8f33a24))
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
There was a problem hiding this comment.
Fixed in 77bcf7e: the test docstring is one sentence about the expected PPSSPP behaviour, and the capabilities.py comment is two lines.
| "ppsspp": { | ||
| "max_slots": 0, | ||
| "has_autosave": True, | ||
| "autosave_slot": 10, |
There was a problem hiding this comment.
Guide hides save-state support
This enables save states for PPSSPP, but the supported-platform table still lists no save states for PSP. Update that row alongside this change so users know standalone PPSSPP supports one working state.
Prompt To Fix With AI
This is a comment left during a code review.
Path: backend/handler/streaming/capabilities.py
Line: 158-161
Comment:
**Guide hides save-state support**
This enables save states for PPSSPP, but the [supported-platform table](https://github.com/rommapp/docs/blob/HEAD/docs/using/emulator-streaming.md#supported-platforms) still lists no save states for PSP. Update that row alongside this change so users know standalone PPSSPP supports one working state.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.There was a problem hiding this comment.
Good point. That table lives in rommapp/docs, so it can't change in this PR. Once this merges, the psp row in docs/using/emulator-streaming.md should read like DuckStation's, with one state that saving and resuming both use:
| `psp` | PPSSPP | One resume state | - | - |
I'm happy to open that docs PR if you'd like.
There was a problem hiding this comment.
That works. Please open the docs PR once this merges; the row text accurately describes the single shared save/resume state. I’ll treat the docs update as out of scope for this PR.
There was a problem hiding this comment.
Yes, please open a separate docs PR after this merges. That row accurately describes PPSSPP’s one resume state. Thanks for offering to handle it.
I couldn’t post the reply because permission to submit it was not granted.
|
Thanks, both fair: the comment and the test docstring are now within the house length (77bcf7e), and the supported-platform table change is in rommapp/docs#179. |
Description
Closes #5230.
slot_capabilities("psp", "ppsspp")fell through toNO_CAPABILITIES, becausepspisn't in the platform table andppssppwasn't in the emulator table. So a webstation container mappingpsp: ppssppgot no save/load state buttons, only Save & Exit. The issue reports that romm-broker 0.15.0 saves and loads one working slot for PPSSPP over its state hotkeys, the same model as theretroarchandscummvmentries. This adds appssppentry with that shape: no manual slots, the shared autosave slot 10, and no memory card (memory stick saves ride the save archive).psp: retroarchis unchanged, since that still resolves through theretroarchentry.Not in this PR: the comment about 3DS on RetroArch. There the
3dsplatform entry, which describes standalone Azahar, wins over theretroarchemulator entry. Fixing it means deciding whether a platform or an emulator entry takes precedence (andknown_to_lack_memory_card("3ds")reads the platform entry), so I left it for a separate change.Checklist
Tests
test_get_config_ships_capabilities_for_a_ppsspp_containerchecks the capabilities/api/streaming/configships for apsp: ppssppcontainer and that slot 10 passes_assert_valid_slotwhile slot 3 doesn't. It fails onmaster.I haven't run it against a real romm-broker; the slot model comes from the issue's report for broker 0.15.0.
AI assistance
I used Claude Code to read the capability tables, write the entry and the test, and run the tests above. I read the diff and the results before opening this.