# TODO ## next feat(luz): everything in rfc6120 and rfc6121 feat(luz): handle_online feat(luz): handle_offline feat(luz): handle_stanza feat(luz): database feat(luz): error handling on stream according to rfc6120 feat(luz): send message feat(luz): receive message feat(luz): retreive messages stored in database feat(luz): get roster (online and offline) feat(luz): set roster feat(luz): reconnect supervisorcommand feat: thiserror everywhere feat(luz): proper stanza ids test: proper tests ci: doc generation docs(jid): jid feat(peanuts): derive macros for IntoElement and FromElement docs(jabber): connection, starttls, sasl, binding, bound_stream, etc. feat: proper logging for everything basically feat(luz): passwordprovider trait, to avoid storing password in struct feat(luz): auto-reconnect state stored in luz actor, for if e.g. server shut down refactor(luz): dealing properly with all the joinsets and joinhandles feat(peanuts): some kind of way to configure the reader and writer to log the raw xml written to the stream, probably by having a method that allows you to add a log writer to them. will need to investigate some kind of log namespacing. feat(jabber): storing resource within the bound_stream connection ## done feature: starttls feature: sasl feature: resource binding feature: jabber client connection feature: jid