do_upload_save calls _confirm_upload_sync (POST /saves/{id}/downloaded) after every upload. On RomM 4.8.1 this is required for the PUT path: 4.8.1's update_save does not upsert the DeviceSaveSync row, so is_current would stay false after a PUT without the follow-up confirm. (POST already upserts on 4.8.1, so the confirm is only load-bearing for PUT.)
On master/4.9, both add_save (POST) and update_save (PUT) upsert the sync row themselves (upsert_sync(synced_at=updated_at)), making the confirm call fully redundant.
Action
When _MIN_REQUIRED_VERSION (main.py) is raised to the 4.9.x release where update_save upserts the sync row, remove the _confirm_upload_sync call and its matrix wiring (py_modules/services/saves/sync_engine/matrix.py). Saves one HTTP round-trip per upload (and per rollback PUT).
Verify
On-device: after a PUT-path upload with no confirm, list_saves(rom_id, device_id=…) shows our device_syncs row with is_current=true.
Blocked by
Min-version bump to 4.9.x. Until then the confirm call must stay for 4.8.1 PUT correctness.
do_upload_savecalls_confirm_upload_sync(POST /saves/{id}/downloaded) after every upload. On RomM 4.8.1 this is required for the PUT path: 4.8.1'supdate_savedoes not upsert theDeviceSaveSyncrow, sois_currentwould stayfalseafter a PUT without the follow-up confirm. (POST already upserts on 4.8.1, so the confirm is only load-bearing for PUT.)On master/4.9, both
add_save(POST) andupdate_save(PUT) upsert the sync row themselves (upsert_sync(synced_at=updated_at)), making the confirm call fully redundant.Action
When
_MIN_REQUIRED_VERSION(main.py) is raised to the 4.9.x release whereupdate_saveupserts the sync row, remove the_confirm_upload_synccall and its matrix wiring (py_modules/services/saves/sync_engine/matrix.py). Saves one HTTP round-trip per upload (and per rollback PUT).Verify
On-device: after a PUT-path upload with no confirm,
list_saves(rom_id, device_id=…)shows ourdevice_syncsrow withis_current=true.Blocked by
Min-version bump to 4.9.x. Until then the confirm call must stay for 4.8.1 PUT correctness.