- Rework the MAM Preference dialog
- Move MAM Preference dialog into a new gtk module
- Refactor all MAM code into own module
- Refactor the MAM code itself so we can easier test it in the future
- Add a misc module for smaller XEPs and move EME, Last Message Correction
Delay, OOB into it
- Add dedicated module for XEP-0082 Time Profiles
This allows us to import the app module without triggering
dependency detection
Also add is_installed() for checking if a dependency is installed and
disable_dependency() in case we dont want to use a dependency
- init configpaths earlier so logging can access it to store debug logs
- First step for more consistency across Gajim when looking up paths
Recommended usage for the future:
app.configpaths.get()
configpaths.get()
For MUCs on the blacklist we do a deduplication not depending on
stanza-id
This patch is only for current Prosody 0.10 stable and the mod_mam_muc
module which does not add stanza-id to the messages.
This can be removed once Prosody 0.11 hits or the module is updated
- Use ComboBoxText, its much simpler
- Add a dedicated method that returns all available themes
- If the configured Theme is not available fallback to font-emoticons
- Add support for Pubsub Avatars
- Dont poll for vCard Updates, only use XEP-0153
- Dont cache vCards
- Store the avatar SHA of roster contacts in the DB
- Store the current SHA of each contact in the Contacts Object
- Move some code into the ConnectionVcard Class
- Use new parse_datetime() method
- Drop message with error if MAM doesnt supply a timestamp.
- If the user supplys an own timestamp, save it so we can decide in the
future how to display it.
This handles every possible XEP-0082 timestamp
It has some additional options:
- Check if a timestring is a valid UTC timestamp, as required by some
XEPs (for example: XEP-0203)
- Return timestamp as datetime in UTC
- Return timestamp as datetime in localtime
- Return timestamp as epoch