Yann Leboulanger
d86c7f47f5
lower debug level for unresolved host.
2017-11-22 14:57:08 +01:00
Philipp Hörist
7ec57e4dab
Lower debug level for malformed avatar stanzas
2017-11-22 14:53:32 +01:00
Yann Leboulanger
149edfe3ef
implement XEP-0156. Fixes #5795
2017-11-20 21:31:29 +01:00
Philipp Hörist
1c895e8983
Persist resource across sessions
...
This was somehow lost once we implemented random resource strings
Although its good that initally a random resource is chosen, it
still should persist across sessions.
This helps to kill zombie client connections on the server because
most servers kill the old session once a new with the same resource
connects
Also dont notify the user about resource conflicts if no custom
resource is set. We should not expect users to know about resources
and what they are used for as long as possible.
2017-11-20 18:10:51 +01:00
Philipp Hörist
c45d0f5b27
Query MUC archives with the correct namespace
2017-11-19 23:45:03 +01:00
Philipp Hörist
7f1776ede9
Improve deduplication
...
A stanza-id is only unique within a specific archive
This adds the archive jid to the query
2017-11-19 19:36:26 +01:00
Philipp Hörist
cac1185a23
Remove log message
2017-11-19 19:36:26 +01:00
Philipp Hörist
44bb8e374d
Request one day history when first joining MUCs
2017-11-19 19:36:26 +01:00
Philipp Hörist
51c0a05ac9
Parse from jid correctly
2017-11-19 19:36:26 +01:00
Philipp Hörist
f57ec2fa34
Move common code out of HistoryWindow
...
- move it into message_archiving.py
2017-11-19 19:36:26 +01:00
Philipp Hörist
40f537cda9
Save last archive timestamps in DB
...
- A Migration from last_mam_id config value is included
2017-11-19 19:36:26 +01:00
Philipp Hörist
95357361bf
Save account_id in logs table
2017-11-19 19:36:25 +01:00
Philipp Hörist
a07470a7d2
Add new DB methods
2017-11-19 19:36:25 +01:00
Philipp Hörist
9759dcf152
Add account_id column to logs table
...
When we search for duplicated stanza-ids we have to do it
in the context of an account
2017-11-19 19:36:25 +01:00
Philipp Hörist
52827c6add
Add new DB table last_archive_message
2017-11-19 19:36:25 +01:00
Philipp Hörist
536a504f69
Remove Support for mam:0
2017-11-19 19:36:25 +01:00
Philipp Hörist
75b1d54b4c
Add MAM for MUCs
2017-11-19 19:36:20 +01:00
Philipp Hörist
a80f41e2bf
Support unpublishing avatars (with XEP-0084)
...
- Add more logging
2017-11-17 19:19:59 +01:00
Philipp Hörist
9f0154ef84
Add caps to first presence
...
According to the XEP, caps hash has to be added to all presences
2017-11-15 22:28:57 +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
5236693df9
Parse stanza-id in groupchat correctly
2017-11-11 21:46:00 +01:00
Philipp Hörist
947106bb66
Catch more errors on vCard request
2017-11-09 20:57:03 +01:00
Philipp Hörist
6e91a05590
vCard: Handle IQ error and change logging level
2017-11-08 23:58:25 +01:00
Philipp Hörist
35d2beae74
Logger: only search if ids are available
2017-11-08 22:27:37 +01:00
Philipp Hörist
47f4838c7c
Fix typo and logging arg
2017-11-07 22:56:15 +01:00
Philipp Hörist
d4fdf0d7c1
Shorten search intervall for MAM messages
2017-11-07 20:39:45 +01:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
c758da1123
Replace make_color_string() by Gdk.RGBA method
2017-10-07 17:03:31 +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
69248b2fe7
Fix pylint/pep8 errors
2017-09-29 00:11:29 +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
André Apitzsch
5819f7e439
setup.py: move plugins directory to data directory
2017-09-22 21:48:18 +02:00
André Apitzsch
06102e7d97
Linux: fix translation issue
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
Philipp Hörist
b60fe02680
Use own module logger for connection_zeroconf
2017-09-22 00:07:48 +02:00
Yann Leboulanger
66e9bc4e03
Merge branch 'master' into 'gnotification'
...
# Conflicts:
# gajim/gajim.py
2017-09-21 20:44:18 +02:00
Yann Leboulanger
28184273e6
annouce XEP-0380 support
2017-09-21 20:36:45 +02:00
Philipp Hörist
7e475705c9
Add simple log instance getter
2017-09-21 19:49:07 +02:00
Yann Leboulanger
0c167b6561
Merge branch 'master' into 'master'
...
implement XEP-0380. Fixes #8734
Closes #8734
See merge request !133
2017-09-21 17:28:32 +02:00
Yann Leboulanger
3e1ea4a3dc
implement XEP-0380. Fixes #8734
2017-09-21 17:19:25 +02:00
Yann Leboulanger
ab60bcbe85
PyOpenSSL removed rand module. Stop using it. Fixes #8731
2017-09-20 11:39:55 +02:00
Philipp Hörist
f6deff2cd0
Fix import
2017-09-19 22:06:21 +02:00
Philipp Hörist
267dd73fcb
Catch LibSecret errors
2017-09-19 22:04:39 +02:00
Yann Leboulanger
84060484c4
Remove more Gmail things
2017-09-19 15:52:53 +02:00
Yann Leboulanger
a378152a9c
Remove Gmail special options
2017-09-19 15:44:58 +02:00
Yann Leboulanger
152be4473b
Fix some strings for a better translation
2017-09-19 12:45:02 +02:00
Philipp Hörist
b93098a379
Dont use Resolver when using a proxy
...
This leaks the DNS request
2017-09-17 14:02:01 +02:00
Philipp Hörist
2c9d5d838b
Fix Resolver Test
2017-09-17 10:43:10 +02:00
Philipp Hörist
cf61eac086
Merge branch 'moveData' into 'master'
...
Move data files to module
See merge request !132
2017-09-16 16:34:45 +02:00
Philipp Hörist
dfdeb65e8f
New AccountsWindow
2017-09-16 15:55:32 +02:00
André Apitzsch
0080c61014
Install data to new location
2017-09-16 12:18:22 +02:00
Philipp Hörist
41b977b914
Add option to disable ascii emoticons
2017-09-15 23:22:47 +02:00
Yann Leboulanger
083e3017ab
Use GNotification instead of pynotify or dbus
2017-09-13 21:20:37 +02:00
Philipp Hörist
995ade8a11
Only log for GC Message for one account
2017-09-07 16:42:51 +02:00
Philipp Hörist
1a0b7ee163
Dont lose own JID from bind
...
_registered_name is None on a smacks resume.
Gajim creates on every connection attempt a new nbxmpp.NonBlockingClient
instance. This is why _registered_name is None when we go through a
smacks resume, because there is no bind event, and the new NonBlockingClient
instance has no knowledge of the previous successful bind.
2017-09-06 21:26:40 +02:00
Philipp Hörist
8bc2ab096e
Add more log output in case we drop carbons
2017-09-03 22:35:56 +02:00
Philipp Hörist
4372b67433
Refactor AboutDialog
...
- Move Credits to const.py
- Minor Refactoring
2017-09-02 11:22:18 +02:00
Philipp Hörist
ec1d75f15b
Fix typo in link
2017-08-27 22:41:11 +02:00
Philipp Hörist
298fa4b96d
Update old trac links
2017-08-27 22:32:33 +02:00
Yann Leboulanger
d6a8a238f8
Merge branch 'os_info' into 'master'
...
common.helpers: simplify get_os_info()
See merge request !122
2017-08-27 22:22:02 +02:00
Emmanuel Gil Peyrot
63947c42e4
dataforms: Replace @nested_property with @property.
2017-08-27 20:57:35 +01:00
Yann Leboulanger
b4362a8a97
ignore some pylint errors
2017-08-27 21:37:19 +02:00
André Apitzsch
66b49c243c
common.helpers: simplify get_os_info()
2017-08-26 00:19:32 +02:00
Yann Leboulanger
134f72db17
Hide some pylint errors
2017-08-24 23:20:35 +02:00
Yann Leboulanger
8d4e815f3e
fix some pylint errors
2017-08-24 23:01:06 +02:00
André Apitzsch
663176cfc5
fix some import warnings and errors pointed out by pylint
2017-08-24 01:18:01 +02:00
Philipp Hörist
1a352c0e47
Zeroconf: Call method with correct arguments
2017-08-23 23:34:16 +02:00
Philipp Hörist
28045e9d36
Resolver: Raise correct error
2017-08-23 23:29:38 +02:00
Philipp Hörist
95f4703de2
Fix unexpected-keyword-arg
2017-08-23 20:24:55 +02:00
Philipp Hörist
26dda61555
Fix undefined-variable
2017-08-23 20:15:32 +02:00
Yann Leboulanger
ce719a8317
No need to have one sleepy instance per connection object
2017-08-22 21:55:18 +02:00
Yann Leboulanger
07ba85b456
Ability to be notified on all message. Option is now perroom. Fixes #8646
2017-08-20 23:07:58 +02:00
Philipp Hörist
e8399dc2ed
Fix wrong call to Sleepy()
...
And place a log call so we can gather exceptions to lose the
general exception in the future.
2017-08-19 22:32:50 +02:00
André Apitzsch
89c7eb6e6a
Rename gajim.common.gajim to avoid name conflicts
2017-08-18 20:03:20 +02:00
André Apitzsch
675ebe54dd
Up Gajim version to 0.16.11
2017-08-18 19:48:48 +02:00
André Apitzsch
efec098aef
Use absolute imports
2017-08-18 19:48:48 +02:00
Yann Leboulanger
43fbcbf8cf
remove call to old XEP-0136 function
2017-08-17 22:18:35 +02:00
Yann Leboulanger
cfbf45cdf7
add missing config options to save pm position and size
2017-08-17 15:03:40 +02:00
Yann Leboulanger
2bb5ad7bca
fix DnD of files on roster
2017-08-16 23:06:05 +02:00
Yann Leboulanger
09bcbc0cef
Forget all unused streamhosts when we use one of our proposed streamhosts
2017-08-16 23:05:43 +02:00
Yann Leboulanger
21e144d89d
use correct SID in Jingle FT to compute hostname of SOCKS5 connection. Fixes #8703
2017-08-16 15:27:35 +02:00
Yann Leboulanger
9ce6299e1a
use netifaces to get local IPs if available. Fixes #8666
2017-08-14 18:37:11 +02:00
Yann Leboulanger
d994845212
Revert "use netifaces to get local IPs if available. Fixes #8666"
...
This reverts commit b9c363e9cd
.
2017-08-14 18:36:40 +02:00
Yann Leboulanger
b9c363e9cd
use netifaces to get local IPs if available. Fixes #8666
2017-08-14 16:43:44 +02:00
Yann Leboulanger
f8383954e3
Fix socks5 problem:
...
receive() returns bytes, not str
2017-08-14 14:44:04 +02:00
Yann Leboulanger
bda11b7d39
Merge branch 'master' into 'master'
...
rework password interface. Fixes #8347
Closes #8347
See merge request !117
2017-08-14 10:15:07 +02:00
Yann Leboulanger
89d3c3af14
rework password interface. Fixes #8347
2017-08-13 14:22:28 +02:00
Yann Leboulanger
43b3d1bd83
unify cid -> candidate_id
2017-08-12 22:55:17 +02:00
Yann Leboulanger
baa54f5010
Merge branch 'use_precis' into 'master'
...
Use precis instead of stringprep when available. Fixes #8566
See merge request !116
2017-08-12 14:55:08 +02:00
Yann Leboulanger
af547a1827
don't close the socket we're using to tranfer file. Fixes #8657
2017-08-12 14:40:26 +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
c57af6dade
Retract nickname from pubsub correctly
2017-08-08 19:58:20 +02:00
Philipp Hörist
f3bdb596bd
Refactor remove_roster()
...
- Execute as script to save roundtrips
2017-08-08 18:53:25 +02:00
Philipp Hörist
10b0865291
Refactor set_room_last_message_time()
...
- Dont depend on get_jid_id(), this saves roundtrips
2017-08-08 18:22:29 +02:00
Philipp Hörist
c53e2b1bb9
Dont try to insert if JID is already in DB
...
- This is added because even an ignored INSERT raises the
autoincrement value of the table.
This means the jid id gets high really fast.
2017-08-08 18:22:29 +02:00
Philipp Hörist
f88e8d835b
Remove old DB methods
2017-08-08 18:22:29 +02:00
Philipp Hörist
8c920b35ff
Move logging GC messages into connection_handlers
...
- It should be where all other message received handlers are
- Port to new DB API
2017-08-08 15:24:41 +02:00
Philipp Hörist
608655deed
Use new DB API for logging status and errors
2017-08-08 14:41:55 +02:00
Philipp Hörist
413c7f52d7
Add senders attr to Jingle FT
...
This is a MUST see https://xmpp.org/extensions/xep-0234.html
Fixes #8662
2017-08-07 17:41:32 +02:00
Philipp Hörist
a2e2fb2ed1
Remove useless code
...
Simplify whats left
2017-08-02 23:40:55 +02:00
Philipp Hörist
9d2898bb35
Log sent messages with new logger method
...
- also save stanza id to the DB
2017-08-02 23:34:24 +02:00
Philipp Hörist
a01611178d
Logger: dont try to parse None with json
2017-08-02 21:32:59 +02:00
Philipp Hörist
0c6002b9ac
Zeroconf: handle only zeroconf messages
2017-08-02 21:03:12 +02:00
Philipp Hörist
97f6b84b90
Remove old unused code
2017-08-02 19:24:09 +02:00
Philipp Hörist
6f3c21118f
Stay compatible to python 3.4
...
Fixes #8690
2017-08-02 18:57:02 +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
e24d4f8caf
Fix receiving MAM Messages from ourself
...
This is a regression from the refactoring
2017-08-01 21:39:11 +02:00
Philipp Hörist
1f5e927ca6
Use new DB methods for MAM Messages
...
- also push a new MamDecryptedMessageReceived
event after disco instead of writing directly to the DB
2017-08-01 21:39:11 +02:00
Philipp Hörist
16fd64873e
Add new logger methods
...
Goal is to make the logger module easier to maintain in the future
- extract deduplication out into a own method, so we can use it
on its own in some other places.
- add new insert_into_logs() method
the DB fields we want to write to are passed as arguments, this makes
it so we dont have to change the method when we add or remove DB fields
in the future.
- instead of using get_jid_id() all around gajim to get the jid_id
before we write to the DB, we only have to pass the jid to
insert_into_logs(), it makes sure to get the correct jid_id or add
one in case it doesnt exist.
2017-08-01 21:39:06 +02:00