Open cburschka opened 8 years ago
Theoretically, the connection should be able to join rooms on any conference server too.
XMPP standalone module tentatively titled "Cadenza".
TO BE DETERMINED: Privmsg inside rooms.
To fully support direct conversations, we also need a way to show the user's contact list (ie presence subscriptions).
There's no good place for that now - it shouldn't be confusable with the roster.
To fully support direct conversations, we also need a way to show the user's contact list (ie presence subscriptions). There's no good place for that now - it shouldn't be confusable with the roster.
Perhaps another icon in the bottom icon dock (since we've inherited the use of the Tango icons from ajax-chat, why not x-office-address-book) that opens up a sidebar tab, listing the contacts. To further differentiate from the roster sidebar, perhaps include some vcard info/user avatar/etc with the contacts?
It looks like most of the XMPP backend could be replaced with: https://github.com/strophe/strophejs-plugins/
There are plugins for XEP-0115 (Entity Caps, #317), XEP-0050 (MUC, all we do), XEP-0004 (data forms, #204), XEP-0085 (Chat States, #201), XEP-0030 (Service Discovery, #291), XEP-0049 (XML Storage, #261), XEP-0066 / XEP-0047 (OOB / IB data, #312 ), XEP-0199 (Ping, #150, #151),
What remains of the xmpp.js code would be some bridging code between UI and these plugins.
Next question: Why the hell didn't I look for this two years ago. ;_;
The cadence code base is kind of messy. It's nominally divided into modules (xmpp, ui, visual and "chat", which mostly handles user commands but is kind of a catch-all), but these modules are very tightly coupled.
The xmpp module's functionality could theoretically be stand-alone, as a sort of state+roster controller that wraps a Strophe connection.
This would require several things:
More as I think of it.