matrix-org / matrix-org/matrix-hookshot
POST /_matrix/app/v1/ping returns 404 on appservice listener, causing Synapse to mark bridge as down
- Dominant language
- TypeScript
- Stars
- 450
- Forks
- 95
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 23
Description
## Bug Report
**Title:** `POST /_matrix/app/v1/ping` returns 404 on appservice listener, causing Synapse to mark bridge as `down`
## Environment
- Hookshot: 7.3.2
- Synapse: 1.151.0
- MAS: 1.15.0
- Deployment: Docker
## Steps to reproduce
1. Deploy Hookshot with a standard appservice configuration
2. Synapse sends `POST /_matrix/app/v1/ping` to the Hookshot appservice listener
3. Hookshot returns `404 Cannot POST /_matrix/app/v1/ping`
4. Synapse marks the appservice state as `down` in the database (`application_services_state` table)
5. Synapse stops forwarding any events to Hookshot entirely
## Expected behavior
Hookshot should respond to `POST /_matrix/app/v1/ping` with a valid response, or Synapse should not block event forwarding based on a failed ping.
## Actual behavior
Hookshot returns 404 on the ping endpoint. Synapse then refuses to forward any Matrix events to the bridge, making it completely unusable.
## Workaround
None found. Manually setting the state to `up` in the database is reset on every Synapse restart.
Contributor guide
Research direction
Start by tracing the appservice listener routing for POST /_matrix/app/v1/ping and reproduce the 404 with the standard appservice configuration described here. Confirm the endpoint returns a valid response and that Synapse keeps the appservice up and continues forwarding Matrix events.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100