caronc / apprise

Apprise - Push Notifications that work with just about every platform!
https://hub.docker.com/r/caronc/apprise
BSD 2-Clause "Simplified" License
10.91k stars 384 forks source link

Matrix delegation not working #1067

Open bwachtendorf opened 4 months ago

bwachtendorf commented 4 months ago

:mega: Notification Service(s) Impacted Matrix

:lady_beetle: Describe the bug My matrix server is configured with delegation and I cannot create a notification when using the root domain.

:bulb: Screenshots and Logs Using root domain with following delegation setting: {"m.server": "matrix.<domain>:443"}

apprise -b "test" matrixs://<username>:<password>@<domain>/!<room_id> -vvv
2024-02-21 21:27:13,559 - DEBUG - Language set to en
2024-02-21 21:27:14,553 - DEBUG - Notification Plugin 100(s) and 141 Schema(s) loaded in 0.9924s
2024-02-21 21:27:14,554 - DEBUG - Loaded Matrix URL: matrixs://<username>:****@<domain>/%21<room_id>?image=no&mode=off&version=3&msgtype=text&format=text&overflow=upstream&rto=4.0&cto=4.0&verify=yes
2024-02-21 21:27:14,554 - DEBUG - Matrix POST URL: https://<domain>/_matrix/client/v3/login (cert_verify=True)
2024-02-21 21:27:14,554 - DEBUG - Matrix Payload: {'type': 'm.login.password', 'identifier': {'type': 'm.id.user', 'user': '<username>'}, 'password': '<password>'}
2024-02-21 21:27:14,577 - DEBUG - Matrix Response: code=200, b''
2024-02-21 21:27:14,577 - WARNING - Invalid response from Matrix server.
2024-02-21 21:27:14,577 - DEBUG - Response Details:
b''
2024-02-21 21:27:14,577 - DEBUG - Matrix POST URL: https://<domain>/_matrix/client/v3/register (cert_verify=True)
2024-02-21 21:27:14,578 - DEBUG - Matrix Payload: {'kind': 'user', 'auth': {'type': 'm.login.dummy'}, 'username': '<username>', 'password': '<password>'}
2024-02-21 21:27:14,595 - DEBUG - Matrix Response: code=200, b''
2024-02-21 21:27:14,595 - WARNING - Invalid response from Matrix server.
2024-02-21 21:27:14,595 - DEBUG - Response Details:
b''

Using the matrix subdomain:

apprise -b "test" matrix://<username>:<password>@matrix.<domain>/!<room_id> -vvv
2024-02-21 21:24:11,263 - DEBUG - Language set to en
2024-02-21 21:24:12,321 - DEBUG - Notification Plugin 100(s) and 141 Schema(s) loaded in 1.0550s
2024-02-21 21:24:12,321 - DEBUG - Loaded Matrix URL: matrix://<username>:****@matrix.<domain>/%21<room_id>?image=no&mode=off&version=3&msgtype=text&format=text&overflow=upstream&rto=4.0&cto=4.0&verify=yes
2024-02-21 21:24:12,321 - DEBUG - Matrix POST URL: http://matrix.<domain>/_matrix/client/v3/login (cert_verify=True)
2024-02-21 21:24:12,321 - DEBUG - Matrix Payload: {'type': 'm.login.password', 'identifier': {'type': 'm.id.user', 'user': '<username>'}, 'password': '<password>'}
2024-02-21 21:24:12,592 - DEBUG - Matrix Response: code=200, b'{"user_id":"@<username>:<domain>","access_token":"<access_token>","home_server":"<domain>","device_id":"SNECNMRPWL"}'
2024-02-21 21:24:12,593 - DEBUG - Authenticated successfully with Matrix server.
2024-02-21 21:24:12,593 - DEBUG - Matrix POST URL: http://matrix.<domain>/_matrix/client/v3/join/%21<room_id>%3A<domain> (cert_verify=True)
2024-02-21 21:24:12,593 - DEBUG - Matrix Payload: {}
2024-02-21 21:24:12,658 - DEBUG - Matrix Response: code=200, b'{"room_id":"!<room_id>:<domain>"}'
2024-02-21 21:24:12,659 - DEBUG - Matrix POST URL: http://matrix.<domain>/_matrix/client/v3/rooms/%21<room_id>%3A<domain>/send/m.room.message/0 (cert_verify=True)
2024-02-21 21:24:12,659 - DEBUG - Matrix Payload: {'msgtype': 'm.text', 'body': 'test'}
2024-02-21 21:24:12,744 - DEBUG - Matrix Response: code=200, b'{"event_id":"$Jgifkj8T4MUelDpxJhWQPum1bDyIWOfi6nPxnKZm4eY"}'
2024-02-21 21:24:12,745 - DEBUG - Matrix POST URL: http://matrix.<domain>/_matrix/client/v3/logout (cert_verify=True)
2024-02-21 21:24:12,745 - DEBUG - Matrix Payload: {}
2024-02-21 21:24:12,797 - DEBUG - Matrix Response: code=200, b'{}'
2024-02-21 21:24:12,797 - DEBUG - Unauthenticated successfully with Matrix server.

:computer: Your System Details:

:crystal_ball: Additional context I can live with the subdomain in the URL but finding the problem was annoying and I think this should be supported because it is part of the official matrix specification.