Philipp Hörist
d203d36f07
Remove debug code
2018-12-30 20:44:59 +01:00
Philipp Hörist
0ad369dc97
Refactor MUC Presence
...
- Use nbxmpp properties
- Split into multiple events
- Add new options in the group chat menu for print settings
2018-12-30 20:06:59 +01:00
Philipp Hörist
79684d90d5
Simplify vcard avatar code
...
- Use nbxmpp properties
2018-12-28 13:38:15 +01:00
Philipp Hörist
34306921ed
Correctly parse delay in groupchats
2018-12-28 11:54:54 +01:00
Philipp Hörist
8094cadbea
Refactor MUC module
...
- nbxmpp provides now most of the MUC code
2018-12-27 22:13:35 +01:00
Philipp Hörist
c63e32634a
Adapt Zeroconf to nbxmpp changes
...
Fixes #9503
2018-12-23 22:33:10 +01:00
Philipp Hörist
43f210bbaa
Remove unused code
2018-12-21 19:33:34 +01:00
Philipp Hörist
0e6011c088
Ignore bookmark updates from other jids
...
Because we use +notify to subscribe to the bookmarks node, we get notifications from contacts that have an open access bookmarks node
2018-12-21 19:10:18 +01:00
Philipp Hörist
4503f466d6
Simplify gc-message-received event
2018-12-21 18:36:09 +01:00
Philipp Hörist
40fc727156
Remove unused code
2018-12-21 14:13:08 +01:00
Philipp Hörist
85e79e7b27
Use nbxmpp properties for HTTPAuth
...
nbxmpp implements HTTPAuth now, so we dont need to parse it anymore
2018-12-21 12:23:26 +01:00
Philipp Hörist
42c1909d3b
Remove carbon processing
...
nbxmpp does that now for us
2018-12-20 23:18:23 +01:00
Philipp Hörist
c614ac69df
Refactor voice approval
2018-12-19 23:24:44 +01:00
Philipp Hörist
8b5adb06da
Allow setting handler priority
2018-12-19 23:24:39 +01:00
Philipp Hörist
ce6839957d
Catch mediated invites only if type is normal
...
https://xmpp.org/extensions/xep-0045.html#invite-mediated
2018-12-19 23:00:56 +01:00
Philipp Hörist
5f555193c7
Send active instead of gone as last chatstate
...
- Also attempt to fix #9446
2018-12-19 23:00:56 +01:00
Philipp Hörist
e9f4c5050e
Refactor MUC captcha challenge code
2018-12-19 23:00:50 +01:00
Philipp Hörist
1fec6681cd
Move MUC config change handling into MUC module
...
- Remove status conditions code, since the XEP made a namespace bump to :1 and is now backwards compatible its useless
- XEP-0045 mentions status code 100 can be in messages but there is no case given where this would ever happen, so its removed from message handling
2018-12-19 23:00:09 +01:00
Philipp Hörist
b935ce7096
Add more log output when calling handlers
2018-12-19 02:18:12 +01:00
Philipp Hörist
99cfb8f629
Cleanup Gajims disco features
2018-12-19 00:11:24 +01:00
Philipp Hörist
de4cd80b83
Make namedtuple local
2018-12-18 22:52:29 +01:00
Philipp Hörist
ced387e719
Remove legacy code
2018-12-18 22:49:07 +01:00
Philipp Hörist
7286f4286f
Add feature-discovered event
...
This lets us move more GUI code out of the common module
2018-12-18 22:41:06 +01:00
Philipp Hörist
0ac52a390e
Allow handlers list to be modifed while iterating
2018-12-18 14:08:27 +01:00
Philipp Hörist
841f12f75b
Fix mypy errors
2018-12-17 00:41:46 +01:00
Philipp Hörist
96edd79963
Handle PEP bookmarks notifications
...
- Handle PEP bookmark notifications
- On new bookmarks with the auto join flag set, join the MUC
- Dont merge private and pubsub bookmarks
- Only use pubsub if the conversion feature is announced
2018-12-17 00:36:45 +01:00
Philipp Hörist
760645f5c3
Improve MUC notifications
...
- Play sound for received messages, if notify for all messages is activated
- Send system notifications on MUC messages
- Make notify for all the default in private MUCs
Fixes #9383
2018-12-15 23:37:44 +01:00
Philipp Hörist
be420d44fc
Implement XEP-0411 Bookmarks Conversion
...
If bookmarks conversion is announced by the server:
- Dont merge bookmarks
- Only push to either private storage or pubsub
2018-12-10 22:30:45 +01:00
Philipp Hörist
6e30d3af64
Adapt to nbxmpp API changes
...
- Remove support for OAUTH2
- Remove insecure password dialog, its impossible now that a user can connect plain by mistake
- Refactor requesting the password
- Add possibility to delete passwords
2018-12-09 18:48:44 +01:00
Philipp Hörist
b8863e82be
MUC: Identify subject change correctly
...
Fixes #9491
2018-12-09 00:29:20 +01:00
Philipp Hörist
ace1113d02
Fix pylint errors
2018-12-05 21:40:12 +01:00
Philipp Hörist
a979874fa1
Sort imports
2018-12-05 17:05:29 +01:00
Philipp Hörist
e419f75217
Remove unused imports
2018-12-05 17:05:10 +01:00
Philipp Hörist
4968fe39e2
Correctly remove ping timeout
...
Fixes #9481
2018-12-05 17:03:34 +01:00
Philipp Hörist
62253c804a
Discover the bookmarks conversion server feature
2018-12-04 20:41:44 +01:00
Philipp Hörist
86bbdd21fd
Encode resource with correct profile
...
Fixes #9465
2018-12-04 19:43:13 +01:00
Philipp Hörist
932377f533
Remove unused event
2018-12-04 19:32:13 +01:00
Philipp Hörist
700666b820
Refactor send timeouts
...
Fixes #9459
2018-12-04 19:29:32 +01:00
Philipp Hörist
78f439c611
Refactor disconnect code
...
Fixes #9467
2018-12-04 19:28:50 +01:00
Philipp Hörist
59855a6c8d
Determine delay timestamp correctly
...
- Check the from attr on the delay node to determine if its a user timestamp or from the server
- Dont use user timestamp for sorting
- Record the user timestamp in additional data so its saved to the database
Fixes #9444
2018-12-04 12:18:17 +01:00
Philipp Hörist
fd6dec1208
Handle presence without from attr correctly
...
Fixes #9472
2018-12-03 15:40:43 +01:00
Philipp Hörist
1d11e06647
Fix error when creating MUC
...
Fixes #9473
2018-12-03 14:17:46 +01:00
Philipp Hörist
3f2e3c6bb2
Better handle not available keyring backends
2018-12-01 21:46:58 +01:00
Philipp Hörist
432a4edbc1
Use custom dict for additional data
...
This makes it easier to retrive and store values
2018-11-30 23:05:15 +01:00
Philipp Hörist
f1ab9fb683
Fix connection resume
...
Fixes #9458
2018-11-27 19:23:34 +01:00
Andrey Gursky
f942e2c70f
Fix receipts for chat
...
This is a regression from e3050697
2018-11-27 02:17:25 +01:00
Philipp Hörist
5fa56684c7
Adapt to nbxmpp API changes
2018-11-25 20:02:20 +01:00
Philipp Hörist
c8b5eb94a9
Remove unused imports
2018-11-20 16:16:30 +01:00
Philipp Hörist
15c3de2b4d
Add option to show chatstate in roster
...
- Preferences: Add options for display in banner, tab, roster
- This makes the chatstate Plugin obsolete
2018-11-20 15:32:01 +01:00
Philipp Hörist
c61bd65607
Simplify PEP module inits
2018-11-20 15:32:01 +01:00
Philipp Hörist
e305069798
Fix receipts for MUC-PMs
2018-11-19 19:33:28 +01:00
Philipp Hörist
b5bd5f15f0
Dont check mam:2 compliance for error messages
2018-11-19 18:04:32 +01:00
Philipp Hörist
1504805575
Dont answer groupchat receipt requests
2018-11-19 17:51:18 +01:00
Philipp Hörist
3ba34fa396
Remove old iconset code
2018-11-18 22:24:32 +01:00
Philipp Hörist
acc89ad622
Roster: Use icons from IconTheme for Roster
...
With this Gajim loses the ability to draw animated GIFs in the Roster
GIFs have numerous drawbacks:
- We cant add them to the IconTheme, which means we need a different interface to load them
- The IconTheme scales all icons we load for the current scale (HiDPI)
- The animation causes many updates to the Roster, and causes high cpu usage
Fixes #8814 , #8655
2018-11-18 22:24:10 +01:00
Philipp Hörist
d13baed80f
Improve Entity Time parsing
...
- Use parse_datetime()
- Improve tzo node validation
2018-11-18 10:35:13 +01:00
Philipp Hörist
f40f171ecd
Refactor parse_datetime and add unit test
2018-11-18 10:35:13 +01:00
Philipp Hörist
7f1dfe5a8c
New DataFormWidget: Add Captcha support
2018-11-15 21:02:09 +01:00
Bronko
4be4998704
fix typos in config.py
2018-11-14 22:44:41 +01:00
Philipp Hörist
9e24c72ba5
Fix incorrect contact status on tabs
2018-11-13 23:47:54 +01:00
Philipp Hörist
e509a68139
Determine absolut path for custom config folder
...
When a relative custom config path is passed via commandline, the logic
which decides if a plugin can be deleted from the plugin manager fails
2018-11-11 15:15:10 +01:00
Philipp Hörist
62b210a9e5
Pass account to plugins when encrypting a file
2018-11-11 10:40:48 +01:00
Philipp Hörist
e4a9ffe1ca
Dont test for sys.platform == 'linux'
...
This excludes other unix systems which was not intended
2018-11-10 19:30:19 +01:00
Philipp Hörist
02a9615b94
Dont test if precis_i18n is available
...
Its listed as dependency
2018-11-10 19:30:19 +01:00
Philipp Hörist
a7cc815ca4
Move imports into function
2018-11-10 19:30:18 +01:00
Philipp Hörist
5152611ad7
Try to play sound on all unix systems
...
sys.platform == 'linux' excludeds other unix systems, for example FreeBSD
2018-11-10 19:30:18 +01:00
Philipp Hörist
0d70352460
Dont test if winsound is available
...
Its a standard library which will be always available in our builds
2018-11-10 19:30:13 +01:00
Philipp Hörist
1f31ab04f2
Remove unused code
...
Code is also not cross-platform compatible
2018-11-10 19:30:13 +01:00
Philipp Hörist
8d95eb9b99
Better determine soundplayer on unix systems
...
- sys.platform == 'linux', excludes many other unix systems
- use shutil.which() to test if a command is available
2018-11-10 19:30:12 +01:00
Philipp Hörist
f5a19c24a9
Cast messages from a bare muc jid to groupchat
2018-11-05 21:08:34 +01:00
Emmanuel Gil Peyrot
b4d34bf7f6
Move XEP-0231 into its own module
2018-11-05 19:58:49 +01:00
Philipp Hörist
6b65a23371
DataForms: Make validation possible
...
- Show orange warning icon if a field is required
- Show red error icon if validation of the field failed
- Set validation error text as tooltip of the icon
- DataFormWidget emits a signal 'is-valid' on every change
2018-11-04 00:58:34 +01:00
Philipp Hörist
61a791d67c
Rewrite GroupchatConfig dialog
...
- Complete rewrite of the dialog
- Use new DataFormWidget
2018-11-02 22:24:28 +01:00
Philipp Hörist
e615a8e2e3
Add possibility to get windows by jid
...
This also makes it possible to get windows by an account/jid combination
2018-11-02 22:21:15 +01:00
Philipp Hörist
2a0d6dc1ad
Use json format for the servers list
2018-10-28 21:26:25 +01:00
Matthew W. S. Bell
2a62209e1e
Obtain sleep inhibitor again after every sleep
...
- There is a PrepareForSleep signal before and after every sleep event.
The expectation is that before sleep, gajim cleans up and then releases
the sleep inhibitor. Accordingly, we must reacquire the inhibitor after
sleeping, which can helpfully be done with the other signal.
- Moved module to the dbus folder
- Embed logic in a LogindListener object so we can import the module
without listening to dbus
2018-10-26 12:57:13 +02:00
Philipp Hörist
54fe4dacf2
Fix import
2018-10-26 01:49:15 +02:00
Philipp Hörist
e5beff266a
Guard GeoClue import
...
- So we dont have to check on module import if GeoClue is installed
2018-10-26 01:45:43 +02:00
Philipp Hörist
df7f0324a3
Move dbus modules into own folder
...
- light refactor of the screensaver module
2018-10-26 01:19:47 +02:00
Philipp Hörist
dc59801d93
Make var global
2018-10-22 19:04:37 +02:00
Yann Leboulanger
286f820f77
fix regression from [ e265514d
]: gupnp object is keept globally. Fixes #9398
2018-10-22 13:38:40 +02:00
Daniel Brötzmann
4f28720db0
Remove ESessions leftovers
2018-10-21 23:17:42 +02:00
Philipp Hörist
e44cedf094
Use parse_delay also for presences
2018-10-19 20:43:04 +02:00
Philipp Hörist
abf1909360
Remove support for XEP-0091
2018-10-19 20:38:44 +02:00
Philipp Hörist
53ec34a955
Use parse_datetime for parsing idle time
...
Fixes #9393
2018-10-19 20:37:18 +02:00
Philipp Hörist
8487bdb83e
Make bookmark parsing more resilient
...
Fixes #9385
2018-10-19 15:59:04 +02:00
Philipp Hörist
ba2618d035
Set password correctly on MUC join
2018-10-14 21:42:51 +02:00
Philipp Hörist
c34ce28f56
Add a dedicated folder for plugin data
2018-10-14 17:09:39 +02:00
Philipp Hörist
c58ea13379
Default to showing offline contacts
...
Many messengers dont show the status anymore, its not evident to new
users that most of their roster is hidden per default and they have to
show it to access the contacts
2018-10-13 16:21:44 +02:00
Yann Leboulanger
00c8e5c01d
Ability to update plugins on startup from a download folder
2018-10-12 22:17:34 +02:00
André Apitzsch
8a0ed4af5b
Fix missing UI translations on flatpak
2018-10-11 23:21:46 +02:00
Philipp Hörist
c81711fdf0
Reset chatstate correctly if contact goes offline
2018-10-11 00:11:03 +02:00
Philipp Hörist
f565928890
Fix a few things regarding chatstates
...
- Fix wrong chatstates issued because of textview changed signal
- Fix chatstates in PMs
2018-10-09 00:01:35 +02:00
Philipp Hörist
7e007a4210
Add property to distinguish pm contacts
2018-10-07 22:35:27 +02:00
Philipp Hörist
084e5d6ca7
Better fix for aa50da05
2018-10-07 18:19:57 +02:00
Philipp Hörist
aa50da05d3
Fix gettext not supporting Pathlib yet
2018-10-07 12:49:50 +02:00
Philipp Hörist
74bb8cec3f
Fix pylint error
2018-10-06 23:06:07 +02:00
Philipp Hörist
ca46742117
Fix missing imports
2018-10-06 23:04:28 +02:00
Philipp Hörist
ad4e1258d3
Improve finding locale dir
...
- Dont install _() globally, although its elegant mypy cant deal with it
- If gettext cant find the translation itself, iter through all dirs and search for it
2018-10-06 22:44:26 +02:00
Philipp Hörist
bf87ad5ac8
Import _() instead of using builtin namespace
...
- Prepare for removing the global installed _() method in builtins
- Sort some imports along the way
2018-10-06 22:38:55 +02:00
Philipp Hörist
990a35f9d8
MUC: Add option for showing the subject on join
2018-10-06 00:35:24 +02:00
Philipp Hörist
4f1a3a32c5
Fix resume after sm timeout
...
Fixes #9364
2018-10-05 21:25:15 +02:00
Philipp Hörist
84ba852a97
Dont return None on has_mam()
...
Fixes #9368
2018-10-05 15:05:06 +02:00
Philipp Hörist
34553b6ca7
Add a configurable threshold for MAM in MUC
2018-10-04 21:42:06 +02:00
Philipp Hörist
8b7aae564b
MUC: Set active chatstate on messages
2018-10-03 09:56:56 +02:00
Philipp Hörist
b6c43c9066
Fix the fix
2018-10-03 08:08:32 +02:00
Marcin Mielniczuk
237abf742b
Pylint CI improvements
...
* Move the pylint CI configuration to a separate script
* Update pylint in CI to 2.1.1
* Add pycurl to pylint whitelist
2018-10-03 07:58:54 +02:00
Philipp Hörist
ef3cc504d2
Pass correct show state
2018-10-03 07:53:30 +02:00
Philipp Hörist
ff424b5084
Fix passing wrong type
2018-10-01 21:25:10 +02:00
Philipp Hörist
460d390795
Refactor Chat State Notifications
...
- Move code into chatstate module
- Refactor most of the code, make it much simpler
2018-09-30 22:58:38 +02:00
Daniel Brötzmann
6975ffdf94
Unify Emoticon and Emoji strings
2018-09-30 10:37:16 +02:00
Philipp Hörist
acf79ffe8a
MAM: Up the requested page size
2018-09-30 10:01:42 +02:00
Philipp Hörist
a8c0567bd0
Request security catalog from the barejid
...
- Some Code/UI cleanup
2018-09-30 00:15:00 +02:00
Philipp Hörist
8ff3e55f33
Fix security labels
2018-09-29 18:29:59 +02:00
Philipp Hörist
075069d37a
Fix Dark Theme switch
...
- Move css_config to gtk module
- Add Combobox for overriding the current session setting
- Move theme methods to css_config
2018-09-26 20:17:13 +02:00
Philipp Hörist
f89347516f
Only use absolute imports from gtk module
...
- This reduces import cycles
2018-09-26 19:06:47 +02:00
Yann Leboulanger
5aa41c7f63
handle error message from MUC correctly. Fixes #9280
2018-09-23 22:45:05 +02:00
Philipp Hörist
26b8125446
configpaths: Add get_plugin_dirs() method
...
This helps with mypy because otherwise get() has multiple return types
This reduces our usage of cast()
2018-09-23 14:41:44 +02:00
Philipp Hörist
39f5803651
Windows: Add debug logging switch in preferences
...
If debug logging is enabled verbose output is redirected to a file
in the user dir
2018-09-23 14:41:26 +02:00
Philipp Hörist
d29f6b2ca9
Dont parse our own nick on sent carbons
...
Fixes #9051
2018-09-22 15:35:45 +02:00
Philipp Hörist
6b2aa24d6e
Fix rest of mypy errors
...
- This allows us to run mypy on the full gajim folder
2018-09-21 23:55:57 +02:00
Philipp Hörist
74b66837fa
Add annotations
...
- Remove some unused vars from app
2018-09-21 15:46:52 +02:00
Philipp Hörist
cb692ae4eb
Make SQL INSERT querys more resilient
...
Specify the column in which we insert otherwise downgrading Gajim is
not possible anymore because the query breaks if we modified the column
count in future
2018-09-19 20:12:24 +02:00
Philipp Hörist
422cd12991
Fix pylint errors
...
- deprecated-method
- anomalous-backslash-in-string
- cell-var-from-loop
- undefined-loop-variable
2018-09-18 18:45:16 +02:00
Philipp Hörist
6c80473ebe
pylint W0143 is not available on pylint < 2.0
2018-09-18 17:39:35 +02:00
Philipp Hörist
385ef2e456
Fix pylint errors
...
- duplicate-key
- eval-used
- comparison-with-callable
2018-09-18 17:02:14 +02:00
Philipp Hörist
81387ada51
Fix pylint errors
...
- pointless-statement
- pointless-string-statement
- unnecessary-lambda
2018-09-18 16:44:23 +02:00
Philipp Hörist
1680c3bb38
Fix pylint errors
...
- consider-using-enumerate
- unneeded-not
- unidiomatic-typecheck
2018-09-18 15:24:40 +02:00
Philipp Hörist
df88cc5e15
Fix redefined-builtin pylint errors
2018-09-18 13:54:25 +02:00
Philipp Hörist
29647ea693
Fix trailing-whitespace pylint errors
2018-09-18 13:38:22 +02:00
Philipp Hörist
ccc06a04ab
Fix bad-whitespace pylint errors
2018-09-18 12:06:01 +02:00
Philipp Hörist
dea1464832
Fix multiple-statements pylint errors
2018-09-18 10:30:33 +02:00
Philipp Hörist
6237bfae41
Fix singleton-comparison pylint errors
2018-09-18 10:26:27 +02:00
Philipp Hörist
ff6ca57033
Fix no-else-return pylint errors
2018-09-18 10:16:54 +02:00
Philipp Hörist
d6f0242655
Fix redefined-argument-from-local pylint errors
2018-09-18 08:37:18 +02:00
Philipp Hörist
cbe335b291
keys() doesnt return list() in python3
2018-09-18 07:20:49 +02:00
Philipp Hörist
04b70bf220
Fix trailing-comma-tuple pylint errors
2018-09-17 23:38:52 +02:00
Philipp Hörist
01694c6a06
Fix simplifiable-if-statement pylint errors
2018-09-17 23:25:55 +02:00
Philipp Hörist
158d013a86
Fix literal-comparison pylint errors
2018-09-17 23:03:45 +02:00
Philipp Hörist
76333ec73a
Use keys() iteration if we modify the dict
2018-09-17 22:51:42 +02:00
Philipp Hörist
793184e7be
Fix consider-iterating-dictionary pylint errors
2018-09-17 22:34:15 +02:00
Philipp Hörist
0b8b4f75c3
Fix pylint errors
2018-09-17 22:20:19 +02:00
Philipp Hörist
e8ac644440
Fix unused-variable pylint errors
2018-09-17 21:16:19 +02:00
Philipp Hörist
d638087c26
Fix logging-not-lazy pylint errors
2018-09-17 18:57:00 +02:00
Philipp Hörist
7bb6f8b22e
Fix bare-except pylint errors
2018-09-16 23:45:01 +02:00
Philipp Hörist
b8bbcf2be0
Fix missing time attribute
...
This was removed by accident
2018-09-16 23:33:09 +02:00
Philipp Hörist
d53b95218a
Fix redefined-outer-name pylint errors
2018-09-16 18:04:15 +02:00
Philipp Hörist
c6547b6d30
Fix superfluous-parens pylint errors
2018-09-16 14:42:18 +02:00
Philipp Hörist
328d250f4c
Fix evaluation for subject change
2018-09-16 14:36:54 +02:00
Philipp Hörist
7018d5be0e
Dont retract pep items on UserXEPs
...
This leads to multiple problems
1. We cant assume only items with id='current' are stored in the node
which would lead to retracting 'current' but another item would become
the last published and sent to users
2. Even if we have a SingletonNode retracting the only item means the Node
would be empty and offline clients would not receive the last published item
on coming online, because there is no item anymore
Instead we always publish an empty item from now on
2018-09-16 13:35:55 +02:00