-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Decouple xmpp code #323
Comments
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. |
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.
The text was updated successfully, but these errors were encountered: