Commit Graph

34 Commits

Author SHA1 Message Date
Philipp Hörist ebbe06d587 Refactor MAM into own module
- 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
2018-07-15 14:26:00 +02:00
Philipp Hörist bd79fe629f Refactor Privacy and Blocking into own modules 2018-07-08 16:44:14 +02:00
Philipp Hörist 59428d2f2f Register all available modules automatically 2018-07-07 13:52:44 +02:00
Philipp Hörist 42ccbe7499 Dont fail if modules are not registered
This is for Zeroconf so we dont have to test in GUI always for
account != local

Fixes #9229
2018-07-05 00:16:42 +02:00
Philipp Hörist 8b800f4646 Refactor VCard code into own modules 2018-06-30 19:32:36 +02:00
Philipp Hörist 78ebaefaec Dont punycode encode all domain names
RFC7622 3.2.1

... This implies that the string MUST NOT include A-labels ...

Fixes #9211
2018-06-23 20:15:00 +02:00
Philipp Hörist af11aa985b Make sure show is always a string
This is so we hopefully can find some bugs
2018-06-22 20:23:35 +02:00
Philipp Hörist 32b74b459e Remove support for ESessions
Fixes #5294
2018-05-28 18:21:45 +02:00
Philipp Hörist 06c4ce60b9 Show correct account lable in tooltip
Fixes #9065
2018-04-29 23:47:30 +02:00
Philipp Hörist 105427b8fd Use consistent way to get paths
This lets us now import the app module without setting paths
2018-04-25 20:49:37 +02:00
Philipp Hörist e265514d88 Detect dependencys only on demand
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
2018-04-24 19:36:33 +02:00
Philipp Hörist c0c16dbf94 Dont change path names because plugins use them 2018-04-21 21:28:19 +02:00
Philipp Hörist 4a26ecb12c Refactor configpaths
- 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()
2018-04-21 12:48:57 +02:00
Philipp Hörist e3066fb5ca Improve AccountsWindow design
Fixes #8940
2018-04-15 23:36:34 +02:00
Yann Leboulanger a884ba6762 prevent traceback. Fixes #8936 2018-03-29 09:41:40 +02:00
Philipp Hörist 9314a0543b Add non-compliant mam:2 MUCs to blacklist
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
2018-03-24 01:47:03 +01:00
Philipp Hörist a5db65703b Fix displaying VCard of unknown contact
In some cases sub can be None

Fixes #8954
2018-03-17 20:37:35 +01:00
Philipp Hörist 52fa57795a Better emoticon theme fallback strategy
Fallback must be happening in init_emoticon() instead of PreferencesWindow
2018-02-22 00:37:54 +01:00
Philipp Hörist eb3a53c791 Refactor emoticon theme combobox
- 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
2018-02-21 23:52:53 +01:00
Philipp Hörist 32e873e6eb Add ALPN Support 2018-01-03 22:11:42 +01:00
Philipp Hörist 1afd4f0e72 New StartChat Dialog 2017-12-03 23:58:02 +01:00
Philipp Hörist d5ddbe3766 Add extension point for plugins to add their caps 2017-11-15 22:28:11 +01:00
Philipp Hörist a01cdbf271 Refactor Avatars
- 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
2017-10-08 11:26:28 +02:00
André Apitzsch 66b49c243c common.helpers: simplify get_os_info() 2017-08-26 00:19:32 +02:00
André Apitzsch 89c7eb6e6a Rename gajim.common.gajim to avoid name conflicts 2017-08-18 20:03:20 +02:00
André Apitzsch efec098aef Use absolute imports 2017-08-18 19:48:48 +02:00
Yann Leboulanger 2bb5ad7bca fix DnD of files on roster 2017-08-16 23:06:05 +02:00
Yann Leboulanger b6189a60cf use idna python module to check domainpart when available 2017-08-11 08:12:00 +02:00
Yann Leboulanger 1a2ac87f46 use precis_i18n instead of stringprepare when available to sanitize JIDs 2017-08-11 08:11:52 +02:00
Philipp Hörist 651611b28b Improve timestamp usage for MAM
- 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.
2017-08-01 21:43:28 +02:00
Philipp Hörist 0fee27928d Add a new XEP-0082 parsing method
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
2017-08-01 20:53:00 +02:00
Philipp Hörist 89367a83ec Add simple parse_delay() method
The XEP is pretty strict on Delay tags so we can make a simple
method.
2017-07-25 21:00:20 +02:00
Philipp Hörist 47c33bbe39 Play sounds on MacOS 2017-07-19 13:16:27 +02:00
André Apitzsch 125ce523e4 Rename src directory 2017-07-02 17:25:47 +02:00
Renamed from src/common/helpers.py (Browse further)