Philipp Hörist
7f1a839e77
Deduplicate GC and MAM Messages based on stanza-id
...
- Add methods to determine the unique/stable id
- Write the id to the stanza_id DB field
- Add method to deduplicate based on the unique/stable id
2017-11-07 20:39:36 +01:00
Philipp Hörist
46926e71d1
Remove old message duplicate code
...
- Calculating so many hashes for each Message is quite expensive
- It hides our own implementation bugs, like when we retrieve history
from a MUC with wrong timestamps, or on rejoin. We never know about it
because the Messages are dropped.
- It should not be necessary anymore. The original problem was a bug
in nbxmpp which triggered mass resending of old messages.
2017-11-07 20:39:36 +01:00
Philipp Hörist
07055ccaad
Update menus on account label change
2017-11-06 23:29:07 +01:00
Philipp Hörist
e4ad111c02
ServerInfo: Make InfoItems selectable
2017-11-06 23:05:32 +01:00
Philipp Hörist
8c8b491846
ServerInfo: Show if features are disabled by user
...
- Show new Symbol if a feature is available but not enabled
- Add this info to the tooltip
2017-11-06 23:04:49 +01:00
Philipp Hörist
6fc2cd30e8
ServerInfo: fix pylint/pep8
2017-11-06 23:04:33 +01:00
Philipp Hörist
80f658e81f
ServerInfo: Add server uptime info
2017-11-06 23:03:16 +01:00
Philipp Hörist
3c823d307d
Save oob data also on MAM Messages
...
- add get_oob_data() so we can use it on more than one event
- also remove a forgotten print call
2017-11-04 13:51:12 +01:00
Philipp Hörist
cb1d8cc78c
Merge branch 'master' into 'master'
...
Add extension points to history window
See merge request gajim/gajim!147
2017-11-03 23:24:28 +01:00
Philipp Hörist
20d5ea90e7
Store oob data into DB
...
Right now oob data is merged into the message text and stored into the DB.
If we load this message from the DB we cannot know anymore if and which
parts of the text was oob data.
Use the additional_data api to store oob data into the DB instead of
altering the original message text.
This lets us decide later on if and which data we want to display, even
on history replays. Also plugins can use the data.
2017-11-03 20:36:53 +01:00
Thilo Molitor
e97e7b13cd
Add gui extension point to history window
2017-11-03 17:45:03 +01:00
Philipp Hörist
4c45c186c4
Pass additional_data to groupchats
2017-11-03 16:33:34 +01:00
Philipp Hörist
0c8d88d372
Ensure that jid_id is created on new accounts
2017-11-02 16:00:18 +01:00
Philipp Hörist
3bf3ddebfe
Merge branch 'master' into 'master'
...
Fix additional_data in events
See merge request gajim/gajim!146
2017-11-01 23:44:43 +01:00
Thilo Molitor
0638cdc690
Fix additional_data in events
2017-11-01 23:14:47 +01:00
Philipp Hörist
f397e1b7cb
Rename OptionType.BOOL to VALUE
2017-11-01 12:25:19 +01:00
Philipp Hörist
5510e042d4
Make OptionsDialog extendable
...
Plugins or other code can pass custom Options
2017-11-01 11:42:44 +01:00
Philipp Hörist
ecd5c652a2
Get drag and drop data correctly
...
Fixes #8773
2017-10-31 18:13:31 +01:00
Philipp Hörist
1b9c5066f5
Add Option to hide Gajim on pressing close
...
This also adds that Gajim gets present if Gajim is launched a second time
2017-10-31 17:33:32 +01:00
Philipp Hörist
a7e53eb04b
Catch Application signals instead of overwriting
2017-10-31 17:33:32 +01:00
Philipp Hörist
cb3d4f4687
Update nbxmpp dependency to 0.6.0
2017-10-31 17:33:02 +01:00
Philipp Hörist
417464d9c5
Remove advanced commandline handling
...
Its enough to connect to the handle-local-options signal for what we
currently want to do.
2017-10-31 17:29:54 +01:00
Philipp Hörist
0b21c12c41
Make Scrollbar look more unobtrusive
2017-10-31 00:05:03 +01:00
Philipp Hörist
7ab6ed7e16
Disable overlay scrolling
2017-10-30 23:01:46 +01:00
Philipp Hörist
174a429d20
Add Separator in ChatControl
2017-10-30 23:01:34 +01:00
Philipp Hörist
7ee0636574
Pass iter to print_special_text extension point
2017-10-30 21:11:27 +01:00
Philipp Hörist
06e4c2c4f1
Display carbons in MUC-PMs correctly
2017-10-29 09:50:16 +01:00
Philipp Hörist
0490414079
Fix saving MUC-PMs
...
If the JID is not in the DB we need a type to insert
2017-10-29 00:37:05 +02:00
Philipp Hörist
87b6540104
Fix height of MessageTextView in some cases
2017-10-27 10:46:59 +02:00
Philipp Hörist
12783e039b
Catch require_version ValueError
2017-10-27 10:42:43 +02:00
Philipp Hörist
40547c4d4b
Fix import error
2017-10-27 10:36:00 +02:00
Philipp Hörist
3c103315ec
Refactor Speller
2017-10-26 22:52:27 +02:00
Philipp Hörist
970d6f8c3f
New style for ChatControl
...
- Move ActionBar into HeaderMenu
- Make Design of ChatControl look cleaner
- Hide the Roster in Groupchats per default
- Add Button to hide/show Roster in Groupchats
- Move Groupchat topic into popover
- Display Avatars on the right side of the ChatControl and status on the
left
- Add a default Avatar for contacts that have none
2017-10-26 22:52:20 +02:00
Philipp Hörist
398ad0eed8
Fix removing avatar sha from DB
...
the account name was passed instead of the account jid
2017-10-22 20:12:26 +02:00
Philipp Hörist
b95759dfb8
Logger: Refactor insert_jid()
...
- make it use get_jid_id() and return the jid_id
2017-10-22 20:12:26 +02:00
Philipp Hörist
accef11c93
Logger: Get rid of old jids list
...
Use _jid_ids dict instead
2017-10-22 20:12:26 +02:00
Philipp Hörist
1c7369229e
MUC: Save last message time after each message
2017-10-22 20:12:25 +02:00
Philipp Hörist
0aa07522fb
Logger: Refactor get_jid_id()
...
- Cache jid_id so we save on DB querys
2017-10-22 20:12:21 +02:00
Philipp Hörist
9e39287d8e
ProfileWindow: Fix typo
2017-10-20 20:51:40 +02:00
Philipp Hörist
456d7f87ff
Catch OSError when converting with Pillow
2017-10-20 19:09:41 +02:00
Philipp Hörist
2c7861bc1d
Groupchat: Dont update avatar on offline presence
2017-10-19 15:54:49 +02:00
Philipp Hörist
3a6e1ac9fc
Catch exception for invalid avatars
2017-10-17 20:36:27 +02:00
Philipp Hörist
0d16ef32e6
Fix StatusIcon on MacOS
2017-10-17 18:36:02 +02:00
Philipp Hörist
1f0cc2b665
Fix bindtextdomain not available on MacOS
2017-10-17 16:28:56 +02:00
Philipp Hörist
f234722456
Correctly pass authentication mechs to nbxmpp
2017-10-16 17:04:35 +02:00
Philipp Hörist
ed764789f1
Show blocked contacts as offline
2017-10-15 21:34:42 +02:00
Philipp Hörist
03e326688d
MUC: Hide block menu if privacy list is absent
2017-10-15 21:34:42 +02:00
Philipp Hörist
29cf416da4
Send Presence probe on unblock
2017-10-15 21:34:32 +02:00
Philipp Hörist
2446c7e3ed
Refactor Blocking List
...
Fixes #8762
2017-10-15 18:03:41 +02:00
Philipp Hörist
f22fa200ea
Return IQ result on blocking push
2017-10-15 15:53:28 +02:00
Philipp Hörist
2e9de7702f
Remove discovery of generic pubsub support
...
We use PubSub only on our account jid, this use case is what PEP
was made for. If PEP is discovered we know that certain PubSub
features are supported, see: https://xmpp.org/extensions/xep-0163.html#defaults
The current check for <feature var='http://jabber.org/protocol/pubsub'/ >
is pretty useless, as it just tells us that there is a PubSub implementation
but not much about the features. Only `publish` and `subscribe` are MUST
in XEP-0060 which is not enough for our needs.
If there is ever need to discover a generic PubSub implementation
that is not PEP we should check for all the PubSub features we need
instead of only for <feature var='http://jabber.org/protocol/pubsub'/ >
2017-10-15 01:56:52 +02:00
Philipp Hörist
64d3bf63cf
Discover PEP on the account jid
...
see: https://xmpp.org/extensions/xep-0163.html#support
2017-10-15 00:52:34 +02:00
Philipp Hörist
16ad608066
Minimize Roster correctly on ESC
...
Fixes #8765
2017-10-14 21:08:58 +02:00
Philipp Hörist
2b0ab5e9aa
Fix syntax error
2017-10-14 09:48:57 +02:00
Philipp Hörist
c6fc9081c5
Catch exception when closing window
...
Fixes #8761
2017-10-14 09:43:44 +02:00
Philipp Hörist
fcf15fcaf2
Bookmarks: Remove invalid publish option
2017-10-14 00:13:19 +02:00
Philipp Hörist
dd4a80054d
Discover PublishOptions also if PubSub is not discovered
...
PEP supports a subset of PubSub and can also support publish options
2017-10-14 00:13:19 +02:00
Philipp Hörist
ac281533f5
Get Pubsub bookmarks also if PEP is supported
2017-10-14 00:13:19 +02:00
Philipp Hörist
149522dcee
ServerInfo: Add PubSub discovery
2017-10-14 00:13:18 +02:00
Philipp Hörist
e79af35e9c
Refactor store_bookmarks()
...
- Add logging
- Move Node building code into own methods
2017-10-14 00:13:13 +02:00
Philipp Hörist
4379c2d014
Execute handler only for the correct account
2017-10-08 22:29:15 +02:00
Philipp Hörist
95a984f645
HistoryWindow: Fix some UI issues
...
- Set application and menubar
- Remove deprecated settings
Fixes #8756
2017-10-08 19:02:55 +02:00
Philipp Hörist
0b1d5a3174
Remove unused import
...
- Sort imports correctly (PEP8)
2017-10-08 18:09:15 +02:00
Philipp Hörist
57efe7c457
Set application and menubar on MessageWindow
2017-10-08 18:08:13 +02:00
Philipp Hörist
1d5665632a
Print malformed pubsub avatar stanzas
2017-10-08 14:32:59 +02:00
Philipp Hörist
1b90f75b17
Fix missing conn attr
2017-10-08 14:21:40 +02:00
Philipp Hörist
fec3fe9605
Fix db migration
2017-10-08 14:03:37 +02:00
Philipp Hörist
ed6278aeb3
Move Presence code into ConnectionHandlers
2017-10-08 11:26:33 +02:00
Philipp Hörist
21db50bbaa
Move IQ Handler into ConnectionHandlers
2017-10-08 11:26:33 +02:00
Philipp Hörist
38406e39d6
Remove BigAvatarWindow
2017-10-08 11:26:33 +02: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
Philipp Hörist
68f13788ed
Add avatar_sha field to Cache DB
2017-10-08 11:25:49 +02:00
André Apitzsch
2872405f07
Fix deprecation warnings
2017-10-07 21:01:27 +02:00
André Apitzsch
c758da1123
Replace make_color_string() by Gdk.RGBA method
2017-10-07 17:03:31 +02:00
Yann Leboulanger
372c1f9941
make a string not translatable
2017-10-07 14:54:39 +02:00
Philipp Hörist
2a2d4477a7
Fix broken highlight sound in Groupchat
...
tim is epoch, time.localtime() a struct_time
2017-10-07 11:15:10 +02:00
Philipp Hörist
6f2fbde60e
Highlight on mention of own real JID in Groupchat
...
Fixes #8752
2017-10-07 11:10:53 +02:00
Philipp Hörist
4e1d296dcf
Make Groupchat JID selectable
...
Fixes #8753
2017-10-07 10:28:43 +02:00
André Apitzsch
749a01a276
Simplify check_X509.py
...
as pyasn1 and pyOpenSSL are required now
2017-10-05 21:58:45 +02:00
Yann Leboulanger
6d10a5e2cf
fix translation strings
2017-10-03 12:36:31 +02:00
Philipp Hörist
7bd73e2424
Fuse Emoticons/Authentication with TextView
2017-10-03 03:12:31 +02:00
Philipp Hörist
0b83a675ea
Make Groupchat Roster larger
2017-10-03 00:38:47 +02:00
Philipp Hörist
ef748c6d46
Remove send button
2017-10-03 00:38:47 +02:00
Philipp Hörist
6f472cc120
Set message as read before removing an event
...
When we receive carbons of a conversation, we remove the events once
we receive a carbon from ourself, because that means we anwered from
another device.
This sets these removed messages also as read in the unread_message
table, so they dont popup on restart.
2017-09-29 12:41:26 +02:00
Philipp Hörist
83f4d6e191
OptionsDialog: Destroy dialog on ESC
2017-09-29 02:43:29 +02:00
Philipp Hörist
b9aba06f71
Remove unused variables
2017-09-29 02:41:03 +02:00
Philipp Hörist
dd39067ef7
Allow Plugins to use other dialogs
2017-09-29 02:40:01 +02:00
Philipp Hörist
69248b2fe7
Fix pylint/pep8 errors
2017-09-29 00:11:29 +02:00
André Apitzsch
5794b040d3
Replace deprecated Gtk.Image.*_from_stock()
2017-09-28 19:42:00 +02:00
Philipp Hörist
3e764c3d35
Fix some logging calls
...
- Add logging domain to some modules
- Log to module domain instead of generic 'gajim'
2017-09-26 07:14:01 +02:00
Philipp Hörist
f8f84338b2
Rename Zeroconf Credentials Dialog
2017-09-25 13:57:25 +02:00
Yann Leboulanger
81a6be74ad
Merge branch 'setuptools' into 'master'
...
Use Setuptools to build gajim
Closes #8633
See merge request !128
2017-09-25 11:15:40 +02:00
Philipp Hörist
65d2284b59
Reduce PROCESS_TIMEOUT on Windows
...
If io_add_watch is available like on Linux, the PROCESS_TIMEOUT,
is only used to check for timed out events.
On Window its also used to call select() on the socket, so we get
pending data. We need this as low as possible otherwise Gajim on
Windows feels painfully slow.
2017-09-23 10:10:36 +02:00
André Apitzsch
5819f7e439
setup.py: move plugins directory to data directory
2017-09-22 21:48:18 +02:00
André Apitzsch
864e572584
setup.py: install missing files
2017-09-22 19:12:26 +02:00
André Apitzsch
30424b364a
Move ipython_view to gajim.dev and exclude it from tarball
2017-09-22 19:12:26 +02:00
André Apitzsch
06102e7d97
Linux: fix translation issue
2017-09-22 19:12:26 +02:00
André Apitzsch
77014f09c6
Add dev version number support
2017-09-22 19:12:26 +02:00
André Apitzsch
624bee755c
fix file lookup location and other issues
2017-09-22 19:12:26 +02:00
André Apitzsch
ad600f5193
Move data required to run gajim into gajim directory
2017-09-22 19:12:26 +02:00