movim / movim

Movim - Decentralized social platform
https://movim.eu
GNU Affero General Public License v3.0
1.74k stars 252 forks source link

[Support] XEP-0472 (slixmpp) #1279

Closed sjehuda closed 6 months ago

sjehuda commented 7 months ago

Greetings Movim!

I am a developer of Slixfeed, a news bot build upon slixmpp. https://gitgud.io/sjehuda/slixfeed

I am intending to add support for XEP-0472 to Slixfeed.

Yet, I have these issues: 1) I am not familiar with PubSub (i.e. XEP-0060). 2) Gajim hangs while browsing PubSub entries on Movim server. 3) I did manage to "Subscribe" to an entry with Gajim, but I do not see anything realized visually, which is essential, because this is how I usually learn. 4) Psi is responsive even when it loads many entries, but it does not appear to have UI to subscribe, rather there is a recursive (i.e. each child item has its parent as a child).

I have made an initial code, taken from atomtopubsub to verify that I am able to interact with server PubSub nodes.

I need help and guidance to make this to work on a single Atom Syndication feed (it can even be s string), and then I will arrange a UI for XEP-0472 (the UI will be accessible via an Ad-Hoc command) to manage PubSub nodes directly from the bot itself.

I am testing the bot on an OpenFire server hosted at goodbytes.im (from our friend Guus) which might not support XEP-0472, yet I still intend to use that server just for the sake of verifying that the data I send to the server is correctly sent as instructed at XEP-0472.

Please help.

image

sjehuda commented 7 months ago

I have made a UI with the possibility to choose XEP-0060 or XEP-0472.

pubsub_slixfeed

edhelas commented 6 months ago

It seems that the integration went pretty well in the end :)

sjehuda commented 6 months ago

Yes, indeed. Reference: pubsub.woodpeckersnest.space.

I would need to look into it again, as I have now added new columns to the SQLite table, that cover all common feed properties, and I also need to handle storing of arrays in a single cell.

This is challenging, yet I sense that a viable solution is soon to be.

Concerning the node identifier, the current solution I chose is to change mov.im:0 to mov-im:0.