matrix-org / matrix-org/matrix-hookshot

POST /_matrix/app/v1/ping returns 404 on appservice listener, causing Synapse to mark bridge as down

Open
#1,265 1 comment 0 reactions 0 assignees View on GitHub
T-Defect X-Needs-Info
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.