Commit Graph

799 Commits

Author SHA1 Message Date
Philipp Hörist ef8229615a Dont save sent MessageStanza for LMC use
There are mutliple reasons why this is not a good idea

1. It places work on encryption Plugins, as many encryption attributes inside the
stanza can not be resend again (OMEMO, OTR), so the plugins have to make sure none of
these attr are inside the LMC stanza

2. In general its not obvious for plugin devs that a stanza issued after LMC has to be
treated differently. There should be no negative effects, even when a contributor not knowing
about LMC at all.

This commit saves only the stanza id, and adds the replace tag on the new message.
This results also in less code.
2017-06-02 03:32:46 +02:00
Philipp Hörist 3335482345 Add 'encryption' config options group
We have to save the value per account and contact, because otherwise
it could lead to problems if a jid is added to more than one account.

As key this uses a string in the form of 'Account-BareJid'.

The config option group 'contacts' is not used because there are values
like 'speller_language' that make more sense to set on a Jid basis, rather than a
Account-Jid basis.

Treat an empty config value or no config value as 'disabled', instead
of writing a config value of 'disabled'. This has the benefit that we
dont have to write config values for contacts were we dont use encryption.
2017-05-18 21:42:40 +02:00
Philipp Hörist 148655c59f Terminate esession only if it was active before
This is a regression from !96
2017-05-17 14:31:25 +02:00
Philipp Hörist 2e148a6133 Add encryption API to groupchat_control 2017-05-07 18:40:09 +02:00
Philipp Hörist ce7923e164 Remove log and enabled status from lock tooltip
- Log status is a feature that only works with xep-0136 which nobody uses anymore
- Even then we can only trust in the server/user to not log the session
- We should not imply that a client could control if messages are logged on the server or the other end,
 especially as this is about encryption and security we should be as accurate as possible

- The lock image is only shown if a encryption was sucessfully activated, so the enabled flag is unnecessary
2017-05-07 18:40:09 +02:00
Philipp Hörist cf07022cbd Remove ESessions encryption/decryption from core 2017-05-07 18:40:05 +02:00
Philipp Hörist 3fd35a041e Remove PGP encryption/decryption from core 2017-05-07 18:38:33 +02:00
Philipp Hörist 5116af037b Add Encryption Plugin API
- Add extension points when receiving/sending a message
- Add extension point for setting the lock image
- Add extension point after clicking the send button
- Add extension point when typing
- Add a new menu button to choose the desired encryption
- Extend the PluginManager to hold a list of encryption plugins
2017-05-07 18:38:06 +02:00
Philipp Hörist 79dc0c49f1 Always send message delivery receipts requests
- We want to send requests also to offline contacts.
- The XEP is wide spread chances are high that a contact supports it.
- It gets really complicated, when we want to guess if a offline contact supports receipts
2017-05-01 19:23:31 +02:00
Philipp Hörist 33a584b8b0 Dont use message receipts in message to ourself 2017-05-01 19:08:11 +02:00
Philipp Hörist e02798dc19 Dont send chatstates to own resources 2017-05-01 17:52:19 +02:00
Philipp Hörist d0357eaa29 Use different mnemonic
O is already used for the OK button
2017-04-29 21:09:58 +02:00
Philipp Hörist 6a4cbf06ec Fix Button labels 2017-04-29 20:58:35 +02:00
Philipp Hörist c5aa507ec0 Remove timeout id after AvatarWindow is shown 2017-04-19 17:10:01 +02:00
Emmanuel Gil Peyrot f6739730af Implement chatstate in MUC, as defined in XEP-0085 §5.5. 2017-04-14 16:58:04 +01:00
Philipp Hörist a51ea32dc6 Refactor exception handling for logger
- Handle exceptions inside write() instead of propagating the
    exception
- Add error message to exception
- Add dispatch() method in logger
2017-04-12 22:30:55 +02:00
Philipp Hörist 3f38ccc3a5 Simplify import and move to the top 2017-03-11 22:11:00 +01:00
Philipp Hörist c61efaa2c5 Replace deprecated Gdk.Cursor.new() 2017-03-07 22:06:44 +01:00
Philipp Hörist c02260c4d1 Move CSS Code into gajim.css 2017-03-04 09:53:14 +01:00
Philipp Hörist 9ecabd561e Dont use depracted override_color() 2017-03-03 00:00:22 +01:00
Philipp Hörist e00341e83e Dont use depracted override_background_color() 2017-03-02 23:58:21 +01:00
Johannes 'josch' Schauer f5eb35cba3 Use more gender neutral language 2017-02-11 20:05:30 +01:00
Emmanuel Gil Peyrot 57fb80f1fa Remove every default argument using [] or {}. 2017-02-11 02:40:07 +00:00
Emmanuel Gil Peyrot 2fbadc91e9 Use Enum or IntEnum instead of range() constants. 2017-02-11 02:40:07 +00:00
Yann Leboulanger d338572271 Update strings for better english. Thanks to Allan Nordhøy for the suggestions 2017-02-04 23:29:45 +01:00
Emmanuel Gil Peyrot 80221afc2c Split ChatControlBase into its own file. 2017-01-04 22:57:05 +00:00
Philipp Hörist 430c4b1536 Merge branch 'printline' into 'master'
print_conversation_line() refactoring

See merge request !3
2017-01-03 21:20:32 +01:00
Philipp Hörist 39216af2de print_conversation_line() refactoring
It now orders all messages with the given timestamp
this also includes inserting messages at the correct
point

The timestamp precision for incoming and outgoing messages
was raised to include fractions of a second
2017-01-02 19:09:06 +01:00
Emmanuel Gil Peyrot c1c2a5162c Replace formatting button with declarative menu.
This prevents Gajim from having to regenerate the menu everytime it is
clicked on.
2016-12-24 02:51:55 +01:00
Philipp Hörist ac4859fb87 Remove unused imports 2016-12-22 18:19:24 +01:00
lovetox 14054cc0df Dont leak presence with ChatStates 2016-10-13 02:07:34 +02:00
lovetox a3fc0b6f5c Better alignment for elements in ChatWindow and GroupChatWindow 2016-10-04 18:50:59 +02:00
lovetox d5526af3d0 Dont use deprecated method to set tooltip alignment 2016-09-25 23:44:38 +02:00
tmolitor 556afac134 Added ability to use additional_data for directly sent messages not coming from history db. 2016-09-05 23:07:31 +02:00
tmolitor 7950146105 Minimize groupchats by default, fixes #8369 2016-09-05 19:02:43 +02:00
tmolitor 86345055cc Added ability to read additional_data from history db and use it in gui extension point print_special_text.
I also found an iterator reuse in common/logger.py, maybe this fixes bug #8277
2016-09-05 03:25:37 +02:00
Yann Leboulanger 02a0f25781 remember which speller language was use for each contact. Fixes #8326 2016-05-22 23:09:49 +02:00
Yann Leboulanger 997e686d57 add new option to show avatar in chat tabs and window icons instead of status icon. Fixes #8320 2016-04-12 22:53:41 +02:00
Yann Leboulanger f405228041 make last message correction work for carbon copied messages sent from another resource. Fixes #8276 2016-03-05 14:22:56 +01:00
Yann Leboulanger 766ae0353e handle message correction correctly even if we don't print the message instantly in a chat window. Fixes #8220 2016-02-29 21:29:20 +01:00
Yann Leboulanger 0530308a99 pending events are now in objects rather that storing parameters in tuple 2016-02-29 21:04:08 +01:00
Yann Leboulanger fbdb7656af rename msg_id to msg_log_id where it's the id from logs database 2016-02-27 19:52:46 +01:00
tmolitor 0e80db2be6 don't show delivery error messages for automatic message stanzas. Fixes #8222 2016-02-08 22:31:36 +01:00
Yann Leboulanger 9fbd7efa2a correctly store and restore single message subject. Fixes #8251 2016-01-31 19:58:51 +01:00
Yann Leboulanger 96de12a39f correctly detect missing gtkpell module 2015-12-28 22:12:34 +01:00
Yann Leboulanger 156935a8ac don't use GtkAlignment anymore. Fixe 2 missing import 2015-09-20 18:18:35 +02:00
Yann Leboulanger b851177f6a specify module version before importing 2015-08-30 23:23:10 +02:00
Yann Leboulanger 0735ec2214 start fixing Jingle Audio / Video 2015-08-21 22:04:55 +02:00
Yann Leboulanger 4c65321de8 make shift+enter work for new_line 2015-07-30 23:06:09 +02:00
Yann Leboulanger 20a0f9c5a6 make completion work 2015-07-25 21:40:51 +02:00