caronc / apprise

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

wiki documents xmpp, but valid xmpp URIs are rejected as malformed #731

Closed gdt closed 1 year ago

gdt commented 1 year ago

:mega: Notification Service(s) Impacted xmpp

:lady_beetle: Describe the bug xmpp: URis are rejected, while the docs say they are ok.

:bulb: Screenshots and Logs

ERROR - Unparseable URL xmpp://[redacted]

:computer: Your System Details: NetBSD 9 python 3.10, venv/pip

:crystal_ball: Additional context I am guessing this is because xmpp support was withdrawn. I would suggest a stub implementation that errors out with "xmpp support is not available in this version of apprise", instead of the same results as "foobarbadscheme://whatever"

gdt commented 1 year ago

For what it's worth, I am using the xmpppy command-line tool and it has been very reliable. I realize the xmpp world seems a bit messy, which is unfortunate, as xmpp servers are much lighter weight than matrix, and Conversations on Android gets notifications with very little latency, usually sub-second or only a bit more.

caronc commented 1 year ago

XMPP has been pulled from Apprise due to it's instability. It wrapped around slixmpp which had to many outstanding issues and instabilities with async (among other things) at the time. It's possible it's more bullet proof now, but I'll re-investigate effort into re-instating xmpp another time (probably through another service).

You still made a valid point that the documentation should have been pulled as well. This is now the case, it's legacy entry still exists, but it's not link-able from the main list of provided services anymore.

gdt commented 1 year ago

Thanks.

amotl commented 1 year ago

Hi.

xmpppy maintainer here ;]. @caronc: Can you remember why we did not just use xmpppy when looking at XMPP at the first hand? Maybe it was not ready for Python 3 back then?

Ah. Rehash: The initial implementation was based on sleekxmpp, but it has been replaced with slixmpp, because it is the designated successor. I did not have much time back then to have a closer look at the problems with slixmpp, but I am still slightly confident that we can make it work, using one way or another.

I will try to revisit the most recent service plugin implementation soon, which has been removed with #619. The tracking ticket is #497.

With kind regards, Andreas.

caronc commented 1 year ago

Not sure what the reasoning was at the end of the day to not choose xmpppy. Perhaps Python 2.7 restrictions at the time? I'm open to wrapping another library. On my last vacation i was looking into the protocol itself (during travels) and i didn't see it being too overly complicated (not for the parts Apprise needs from it). I thought that I was eventually going to write a non-dependant xmpp plugin (like the others, Amazon and Google FCM as an example).

But i welcome anything you implement.

gdt commented 1 year ago

pkgsrc logs say i updated to a version that works with python 3 in February 2022.