- see also: grep 'XXX\|FIXME\|TODO' * -r - lib/Net/XMPP2/Writer.pm: # XXX: removed authname, because it ensures maximum connectivitiy - look at attribute namespace preservation! (if they got prefixes, how to parse this with expat? see also http://www.w3.org/TR/REC-xml-names/#scoping-defaulting ) - put some serious stuff in the synopsises - implement iq-auth!!!! - fix problem that xml::writer writes after ahs been written - reproduce by conflicting resources! - test the xml parse error object somehow! - add context field to IQ error for all the places origin from IQ errors (bind_error, session_error, ...) - Net::XMPP2::Client - find a way to distinguish presences from JIDs that are in multiple account's roster. - Net::XMPP2 missing functionality to be RFC 3920 conform: - improve error handling for SASL to support retries as specified in RFC 3920. (eg. by supporting a method sasl_retry() which takes the changed credentials) - SRV record lookup - weight handling! - in band registration and un-registration!!! - finish in-band-registration XEP later: - make dns resolution async! - Net::XMPP2::IM missing functionality to be RFC 3921 conform: - 7.2. Business Rules - Implement XEP-0082: XMPP Date and Time Profiles - util functions to convert them to unix timestamps - Implement XEP-0115: Entity Capabilities - Implement XEP-0045: Multi-User Chat - think about: make seperate MUC handler class - Implement XEP-0190: Best Practice for Closing Idle Streams - Maybe implemente XEP-0146: Remote Controlling Clients - keep an eye on: - TLS: implemented, just do some extensive testing WRT blocking, i don't trust the current way the watchers are handled, i'm in fear of deadlocks... - Implement XEP-0030: Service Discovery - see also: XEP-0128: Service Discovery Extensions - missing feature: building up a item tree for discovery - defining multiple 'personalities' in the Disco module for eg. handling discos to components and such.