Commit graph

802 commits

Author SHA1 Message Date
Emmanuel Gil Peyrot
09e6cfbbc8 Update to XEP-0234 version 0.18.0 (:5 namespace). 2017-06-14 20:31:29 +01:00
Philipp Hörist
9dc389cc32 Show warning icon when encryption is disabled
'channel-insecure-symbolic' icon if no encryption is selected

'channel-secure-symbolic' if an encryption is selected
2017-06-13 00:02:44 +02:00
Philipp Hörist
2c34dd6d45 Show encryption icon in chat 2017-06-11 20:06:34 +02:00
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