Skip to content

Re-add XMPP support#1468

Closed
mbeko wants to merge 15 commits intocaronc:masterfrom
mbeko:497-readd-xmpp-support
Closed

Re-add XMPP support#1468
mbeko wants to merge 15 commits intocaronc:masterfrom
mbeko:497-readd-xmpp-support

Conversation

@mbeko
Copy link

@mbeko mbeko commented Dec 12, 2025

Description:

Related issue (if applicable): #497

I have updated the code according to the Slixmpp documentation to make it work with version 1.12.0.
You might want to go through the commits one by one to see which changes I had to make.

Checklist

  • The code change is tested and works locally.
  • There is no commented out code in this PR.
  • No lint errors (use tox -e lint and even tox -e format to autofix what it can)
  • Test coverage added (use tox -e minimal)

Testing

I have successfully verified this by installing Slixmpp 1.12.0 via Pipenv, and calling:

 ./bin/apprise -vvvvvv -b "Test message" "xmpp://${username}:${password}@${host}"
 ./bin/apprise -vvvvvv -b "Test message" "xmpp://${username}:${password}@${host}?to=${target username}"
 ./bin/apprise -vvvvvv -b "Test message" "xmpp://${username}:${password}@${host}:${port}?to=${target username}"

I would need support with the following tasks:

  • Testing for issues that occurred in the past
  • Fix the conflicts in README.md (e.g. the jid parameter doesn't seem to work) and packaging/redhat/python-apprise.spec
  • Re-add and update the required documentation, e.g. a wiki page
  • Get rid of the error at the end:
    2025-12-11 23:37:16,135 - ERROR - Task was destroyed but it is pending!
    task: <Task cancelling name='Task-1' coro=<XMLStream.run_filters() running at /home/<REDACTED>/.local/share/virtualenvs/apprise-4MG-Z_Iy/lib/python3.12/site-packages/slixmpp/xmlstream/xmlstream.py:1276> wait_for=<Future cancelled>>
    

@codecov
Copy link

codecov bot commented Dec 13, 2025

Codecov Report

❌ Patch coverage is 59.06040% with 61 lines in your changes missing coverage. Please review.
✅ Project coverage is 99.41%. Comparing base (cbc97ce) to head (2d50a20).
⚠️ Report is 22 commits behind head on master.

Files with missing lines Patch % Lines
apprise/plugins/NotifyXMPP/SliXmppAdapter.py 60.25% 28 Missing and 3 partials ⚠️
apprise/plugins/NotifyXMPP/__init__.py 57.14% 26 Missing and 4 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1468      +/-   ##
==========================================
- Coverage   99.66%   99.41%   -0.26%     
==========================================
  Files         179      181       +2     
  Lines       23591    23750     +159     
  Branches     3815     3839      +24     
==========================================
+ Hits        23513    23611      +98     
- Misses         70      124      +54     
- Partials        8       15       +7     
Files with missing lines Coverage Δ
apprise/plugins/__init__.py 100.00% <100.00%> (ø)
apprise/plugins/NotifyXMPP/__init__.py 57.14% <57.14%> (ø)
apprise/plugins/NotifyXMPP/SliXmppAdapter.py 60.25% <60.25%> (ø)

... and 2 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@caronc
Copy link
Owner

caronc commented Dec 13, 2025

A couple of comments on your first attempt to restore; if we're going to bring it back as it was that will contradict the original setup a bit...

  1. i would make it so xep entries are no longer allowed to be provided... only set the ones needed to send a message (since that is all we are doing anyway) and disconnect.
  2. have a look at some of the newer ways of doing some fo the code... we need new functions __len__ and url_identifier (see here).
  3. packaging/*.spec file should be easy to fix, just merge with rebase of master and make only the changes needed. Looks like it's a half-broken merge.
  4. README.md has some merge issues you'll need to fix

Thoughts?

@mbeko
Copy link
Author

mbeko commented Dec 20, 2025

Thanks for your feedback! I will take care of points 1 and 2. Regarding the conflicts in points 3 and 4, I mentioned them in the PR description. I'm unsure which parts are outdated, so I hoped someone with more knowledge can help out. But I'll see what I can do on my own.

I'll try to work on that tomorrow. If I don't manage, I can only get back to it about one week later

@mbeko mbeko force-pushed the 497-readd-xmpp-support branch from 05ef91f to 508309c Compare December 31, 2025 20:29
@mbeko
Copy link
Author

mbeko commented Dec 31, 2025

I removed the possibility to provide XEPs, and implemented the new plugin functions. I'll try to take care of the merge issues in the next days.

By the way, the demo plugin wiki pages don't mention the new functions. You might want to add them there

mbeko added 4 commits January 1, 2026 20:28
The line concerning XMPP was part of a block for RHEL 7. That block has
been removed in commit 00afe4e, so that
line isn't relevant anymore
@mbeko
Copy link
Author

mbeko commented Jan 1, 2026

I removed the merge conflicts. However, I now noticed that the tests have been previously skipped because I didn't run them in the environment that contained Slixmpp. When I actually ran them, they failed, so I'll have to look into that

@caronc
Copy link
Owner

caronc commented Feb 6, 2026

Closing in favor of #1505 ; Thank you for all of your hard work here. Your intentions were really great!

@caronc caronc closed this Feb 6, 2026
@mbeko
Copy link
Author

mbeko commented Feb 7, 2026

Thank you so much for picking up the issue, and fixing everything properly! I'm very happy to have XMPP working again after those four years 🎉

@Neustradamus
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants