the-draupnir-project/Draupnir

Hijack command doesn't work when MSC3861 is in use

Open

#986 opened on Oct 25, 2025

 (5 comments) (0 reactions) (0 assignees)TypeScript (28 forks)auto 404
L3 Some UsersP3 Outrageous / Cannot continue to or start to useServer AdminT5 Major usabilitybuggood first issue

Repository metrics

Stars
 (239 stars)
PR merge metrics
 (PR metrics pending)

Description

When trying to use the hijack room command with a Synapse that delegates auth to MAS using MSC3861, an error occurs:

Oct 25 20:07:24 matrix matrix-bot-draupnir[2232724]: Sat, 25 Oct 2025 18:07:24 GMT [ERROR] [ActionException] ActionException Unknown cf5bf1b8-1326-4767-89ba-f1d522dbdceb Unable to query whether the user @abuse:fachschaften.org is a Synapse Admin Error: Error during MatrixClient request GET /_synapse/admin/v1/users/%40abuse%3Afachschaften.org/admin: 404 Not Found -- {"errcode":"M_UNRECOGNIZED","error":"Unrecognized request"}                                                                                               
Oct 25 20:07:24 matrix matrix-bot-draupnir[2232724]:     at /draupnir/utils.js:255:23                                                                                         
Oct 25 20:07:24 matrix matrix-bot-draupnir[2232724]:     at result (/draupnir/utils.js:371:21)                                                                                
Oct 25 20:07:24 matrix matrix-bot-draupnir[2232724]:     at new Promise (<anonymous>)                                                                                         
Oct 25 20:07:24 matrix matrix-bot-draupnir[2232724]:     at /draupnir/utils.js:370:38                                                                                         
Oct 25 20:07:24 matrix matrix-bot-draupnir[2232724]:     at respIsBuffer (/node_modules/matrix-bot-sdk/lib/http.js:72:38)                                                     
Oct 25 20:07:24 matrix matrix-bot-draupnir[2232724]:     at new Promise (<anonymous>)                                                                                         
Oct 25 20:07:24 matrix matrix-bot-draupnir[2232724]:     at doHttpRequest (/node_modules/matrix-bot-sdk/lib/http.js:71:41)                                                    
Oct 25 20:07:24 matrix matrix-bot-draupnir[2232724]:     at MatrixClient.doRequest (/node_modules/matrix-bot-sdk/lib/MatrixClient.js:1902:41)                                 
Oct 25 20:07:24 matrix matrix-bot-draupnir[2232724]:     at descriptor.value (/node_modules/matrix-bot-sdk/lib/metrics/decorators.js:19:53)                                   
Oct 25 20:07:24 matrix matrix-bot-draupnir[2232724]:     at SynapseAdminClient.isSynapseAdmin (/node_modules/matrix-protection-suite-for-matrix-bot-sdk/dist/SynapseAdmin/SynapseAdminClient.js:63:44)  

As far as I can tell, this is because Draupnir uses the GET /_synapse/admin/v1/users/<user_id>/admin API route, which is unavailable when MSC3861 is in use.

Contributor guide