Skip to content

fix(playmatch): handle empty heartbeat query#3756

Merged
gantoine merged 1 commit into
rommapp:masterfrom
DevYukine:fix/playmatch-heartbeat
Jul 16, 2026
Merged

fix(playmatch): handle empty heartbeat query#3756
gantoine merged 1 commit into
rommapp:masterfrom
DevYukine:fix/playmatch-heartbeat

Conversation

@DevYukine

Copy link
Copy Markdown
Contributor

Description
The 5.0 metadata page checks the Playmatch health endpoint as soon as Playmatch is enabled. That check currently fails before sending a request because RomM expands an empty query into yarl.URL.update_query(), which yarl rejects.

This passes the query dictionary directly instead. Empty heartbeat queries now keep the original health URL, while normal identify queries still add their parameters.

Also adds a regression test for the Playmatch heartbeat request.

Disclosure
I am not a Python developer and am not very familiar with the RomM codebase. I used Codex using GPT 5.6 Sol to help with the Playmatch heartbeat bugfix and to validate the regression test. I reviewed the result before submitting.

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)

Backend change only, no screenshots needed

@DevYukine
DevYukine marked this pull request as ready for review July 15, 2026 23:50
@greptile-apps

greptile-apps Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR fixes Playmatch heartbeat requests with an empty query. The main changes are:

  • Pass the filtered query mapping directly to yarl.URL.update_query().
  • Preserve the query-free health endpoint for heartbeat requests.
  • Add a test for the heartbeat HTTP request.

Confidence Score: 5/5

This looks safe to merge.

  • No blocking issues found in the changed code.

Important Files Changed

Filename Overview
backend/handler/metadata/playmatch_handler.py Allows an empty query mapping while preserving populated identify-query behavior.
backend/tests/handler/metadata/test_playmatch_handler.py Tests that heartbeat calls the health endpoint without query parameters.

Reviews (1): Last reviewed commit: "fix(playmatch): handle empty heartbeat q..." | Re-trigger Greptile

@gantoine
gantoine merged commit 96abd8b into rommapp:master Jul 16, 2026
6 checks passed
@DevYukine
DevYukine deleted the fix/playmatch-heartbeat branch July 16, 2026 03:22
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