Philipp Hörist
70661b70d3
Rename method to something more appropriate
2018-07-06 20:12:50 +02:00
Philipp Hörist
ccb3c2decc
Move rest of UserAvatar into new module
2018-07-06 19:55:13 +02:00
Philipp Hörist
0a6b2126b3
Raise NodeProcessed after processing ROSTERX
2018-07-05 23:55:09 +02:00
Philipp Hörist
51e85f14a3
Remove unused code
2018-07-05 21:41:28 +02:00
Philipp Hörist
503ee35bd0
Add message handlers for AUTH and ROSTERX
2018-07-05 21:09:55 +02:00
Philipp Hörist
fe3c1b4fbd
Refactor UserNickname into own module
2018-07-05 20:20:22 +02:00
Philipp Hörist
b04f9af4c5
Fix copy/paste typo
2018-07-05 19:54:32 +02:00
Philipp Hörist
31d6235881
Fix retracting UserTune/UserActivity
2018-07-05 19:38:41 +02:00
Philipp Hörist
bbf3a544e8
Refactor UserLocation into own module
2018-07-05 19:38:03 +02:00
Philipp Hörist
14f088c2d9
Refactor UserMood into own module
2018-07-05 19:37:51 +02:00
Philipp Hörist
1712743fd5
Fix typo
2018-07-05 18:14:36 +02:00
Philipp Hörist
73f290b518
Fix incorrect argument
2018-07-05 00:28:09 +02:00
Philipp Hörist
42ccbe7499
Dont fail if modules are not registered
...
This is for Zeroconf so we dont have to test in GUI always for
account != local
Fixes #9229
2018-07-05 00:16:42 +02:00
Philipp Hörist
a4350a812b
Refactor UserTune into own module
2018-07-05 00:16:42 +02:00
Philipp Hörist
568c2d93a0
Make new pep module more abstract
2018-07-05 00:16:32 +02:00
Philipp Hörist
b7775afd0c
Refactor UserActivity and PEP into own modules
2018-07-03 20:00:31 +02:00
Philipp Hörist
2ca0ca38a5
Refactor Pubsub/Bookmarks/UserAvatar into own modules
2018-07-01 22:35:56 +02:00
Philipp Hörist
9c6a8df658
Fix updating room avatar correctly
2018-06-30 20:02:16 +02:00
Philipp Hörist
3b147a8c7f
Fix logging arguments
2018-06-30 19:41:03 +02:00
Philipp Hörist
8b800f4646
Refactor VCard code into own modules
2018-06-30 19:32:36 +02:00
Alexander Krotov
7fa4c9e1c2
Spellcheck
2018-06-28 23:37:34 +02:00
Philipp Hörist
b0ce012ce3
Remove RC4-SHA because it is insecure
...
Newer openssl version would not use this even if it was stated in our cipher string
2018-06-28 18:43:15 +02:00
Philipp Hörist
ce9af46fc3
Fix join groupchat dialog with multiple accounts
...
The dialog didnt show the account combobox when activated
via CTRL + J from the Roster
Also add a application action for join groupchat
2018-06-28 00:04:17 +02:00
Philipp Hörist
129f72bf8e
Refactor http auth code into own module
2018-06-25 23:47:06 +02:00
Philipp Hörist
8fa1ee4617
Refactor last activity code into own module
2018-06-25 23:00:40 +02:00
Philipp Hörist
b74706afcf
Refactor roster item exchange code into own module
2018-06-25 22:43:09 +02:00
Philipp Hörist
f382ce2a6c
Remove unused code
2018-06-25 20:08:48 +02:00
Philipp Hörist
c39da015cc
Refactor annotations code into own module
2018-06-25 20:04:56 +02:00
Philipp Hörist
a0bc6f0155
Refactor search code into own module
2018-06-25 19:34:10 +02:00
Philipp Hörist
6d2a07df70
Remove support for XEP-0090
...
This is deprecated almost 10 years
2018-06-24 23:33:42 +02:00
Philipp Hörist
7b957a2876
Refactor ping code into own module
2018-06-24 23:33:42 +02:00
Philipp Hörist
81d9e1bcf2
Refactor software version code into own module
2018-06-24 23:33:42 +02:00
Philipp Hörist
1499010394
Refactor entity time code into own module
2018-06-24 23:33:42 +02:00
Philipp Hörist
fd137be30f
Send cancel IQ if muc configuration is aborted
...
Fixes #9069
2018-06-23 23:36:26 +02:00
Philipp Hörist
78ebaefaec
Dont punycode encode all domain names
...
RFC7622 3.2.1
... This implies that the string MUST NOT include A-labels ...
Fixes #9211
2018-06-23 20:15:00 +02:00
Philipp Hörist
86eddc2ee9
Remove unused config option log_encrypted_sessions
...
Fixes #9189
2018-06-23 17:13:57 +02:00
Philipp Hörist
23c302ca70
Fix translation on Windows
...
Fixes #8658
2018-06-23 17:07:43 +02:00
Philipp Hörist
af11aa985b
Make sure show is always a string
...
This is so we hopefully can find some bugs
2018-06-22 20:23:35 +02:00
Alexander Krotov
672f02b3b0
Fix usage of loop variable in socks5.py
...
Loop seems to be checking whether on_success callback
is already called, but due to wrong variable used
it did nothing.
2018-06-22 08:05:31 +02:00
Alexander Krotov
d871dcdcb1
More spelling fixes
2018-06-22 01:47:29 +03:00
Alexander Krotov
1d27ab2254
Spellcheck
2018-06-21 03:05:47 +03:00
Alexander Krotov
22d799a75e
Set secure_delete pragma for SQLite3 connections
...
secure_delete makes SQLite3 overwrite deleted data with zeros, thus actually deleting it from the filesystem.
Ubuntu and FreeBSD enable it by defualt, but some distributions, such as Debian, have it disabled by default, so it is better to set it explicitly.
The performance impact should be negligible as Gajim uses the database rarely.
2018-06-19 19:07:16 +02:00
Philipp Hörist
e20f044001
Increase timeframe for duplicate search
...
A too short timeframe leads to not recognizing duplicates if the server
time differs from the user time. This is only a problem with mam:1
Fixes #8750
2018-06-19 19:05:44 +02:00
Philipp Hörist
3c1490a306
Remove forward message adhoc commands
...
These commands introduce security concerns because how they interact
with encrypted messages.
With MAM and Carbons installed on nearly every server these Adhoc commands
became not useful anymore
2018-06-17 23:21:29 +02:00
Alexander Krotov
956a420171
Fix docstrings for XEP-0146 commands
2018-06-17 20:09:32 +02:00
André Apitzsch
ab3c53bf49
Remove yahoo transport
...
fixes #9188
2018-06-15 12:19:02 +02:00
Philipp Hörist
1303b89ba1
Dont request vcard more than once per session
...
Print a warning message if the announced avatar sha differs from the
received one
Fixes #9171
2018-06-05 23:37:10 +02:00
Philipp Hörist
ce7892546c
Catch error on calling setlocale()
...
Fixes #9167
2018-06-05 12:02:50 +02:00
Philipp Hörist
631740b66b
MUC: Fix voice request
...
Fixes #9159
2018-06-01 20:58:09 +02:00
Philipp Hörist
c5f8fe915a
Disable subject change if room doesnt allow it
2018-06-01 20:02:29 +02:00
Philipp Hörist
4bed8ace95
Refactor Notifications
...
- Use icon names instead of path
- Move PopupNotificationWindow into notify.py
- Make popup class method instead of module method
- Dont use sessions to get control on notification action Fixes #9140
- Add has_focus() method to ChatControlBase
2018-06-01 17:48:05 +02:00
Philipp Hörist
2abbb1e224
Define JID type when searching for duplciates
...
Fixes #9163
2018-06-01 17:46:54 +02:00
Philipp Hörist
a506758ed3
Remove TLEN related transport code/icons
...
This Messenger shut down and is not available anymore
2018-05-31 21:01:29 +02:00
Philipp Hörist
d656428090
Remove MSN related transport code/icons
...
This Messenger shut down and is not available anymore
2018-05-31 20:29:13 +02:00
Philipp Hörist
38c669b6e1
Remove AIM related transport code/icons
...
This Messenger shut down and is not available anymore
2018-05-31 20:29:06 +02:00
Philipp Hörist
395d24bee6
Use certifi on MacOS
...
Python 3.6 does not use the MacOS cert store anymore
2018-05-31 17:35:46 +02:00
André Apitzsch
5e712768cf
Add support for flatpak extensions
2018-05-29 08:34:20 +02:00
Philipp Hörist
32b74b459e
Remove support for ESessions
...
Fixes #5294
2018-05-28 18:21:45 +02:00
Philipp Hörist
56fbe32b11
Fix zeroconf txtrecord encoding
...
Fixes #9146
2018-05-27 21:03:42 +02:00
Philipp Hörist
dbbf078229
Determine earlier if we run as Flatpak
2018-05-27 13:45:07 +02:00
Philipp Hörist
b749eccf51
Fix idle detection
...
Fixes #9149
2018-05-27 10:51:57 +02:00
lovetox
2d6e7d2eee
Get rid of python-avahi
2018-05-23 11:47:13 +02:00
Philipp Hörist
bc24ab470d
Fix translation in flatpak build
...
Fixes #9138
2018-05-23 08:38:09 +02:00
Philipp Hörist
d0ec9812a6
Fix Zeroconf
...
- Port pybonjour code from gajim_0.16 branch
- Fix some other small things that broke zeroconf
2018-05-22 23:38:04 +02:00
Philipp Hörist
7b0cbb7763
Fix detecting language
2018-05-21 21:49:19 +02:00
Philipp Hörist
b3162f400c
Detect if we run as flatpak
...
Fixes #9110
2018-05-21 19:17:47 +02:00
Philipp Hörist
714d70cb23
Dont get current version from config
2018-05-21 18:49:06 +02:00
Philipp Hörist
0ea721fbf1
Fix log message
...
Presence without vcard hash is not invalid
2018-05-21 18:38:47 +02:00
Philipp Hörist
7040ea6b2e
Move module calls into init
...
On Linux ctypes has not attr windll, move it into the __init__()
so it does not get evaluatet on module import
2018-05-21 02:39:29 +02:00
Philipp Hörist
c5df74c509
Refactor idle module
...
- Get rid of sleepy.py, handle everything in idle.py
- Introduce one Monitor class that handles everything
2018-05-21 02:32:33 +02:00
Sophie Herold
2e5d966f1d
Support for idle time under GNOME without X11
...
* Removes use of most global variables
* Adds some some logging
* Removes unused close() method for Xss
2018-05-20 20:45:46 +02:00
Philipp Hörist
3e0557dae6
Dont build menu for Local account
2018-05-20 20:15:08 +02:00
Philipp Hörist
2636e3449f
Refactor avatar publishing
...
- Publish avatars with a size of 200x200
- Add AvatarSize.PUBLISH so we can easily change it in the future
- Dont upscale small avatars on publish
- Use surfaces for displaying the avatar in ProfileWindow and VcardWindow
because this scales correctly on HiDPI screens
2018-05-20 01:28:12 +02:00
Philipp Hörist
117036b872
Init Roster after stream management resume
...
nbxmpp deletes the roster object on disconnect. Init the roster from db
again on resume.
Fixes #8296
2018-05-18 18:20:30 +02:00
Philipp Hörist
6ed04e2dd2
Simplify generating random int
...
No need to use SystemRandom() here, as this is not needed for security
purposes
2018-05-17 21:13:37 +02:00
Philipp Hörist
4731e8491b
Move signal code into gajim.py
...
The reason for signal.signal(signal.SIGPIPE, signal.SIG_DFL)
Python ignores SIGPIPE by default ( signal(SIGPIPE, SIG_IGN) )
Write on a socket return then an error 32 EPIPE, which naturally
turns into an exception.
signal.SIG_DFL restores normal UNIX behavior
2018-05-17 20:59:22 +02:00
Philipp Hörist
72df2524e9
Remove check_X509
...
We dont need this module anymore
2018-05-17 20:12:02 +02:00
Philipp Hörist
3b130db60c
Simplify set_i18n_env()
...
We already determine LANG in initialize_lang()
getdefaultlocale() takes env var LANG into consideration
2018-05-17 20:07:30 +02:00
Philipp Hörist
03aa1db306
Handle LC_ALL=C correctly
...
We default to 'en' for LANG if LC_ALL=C is set
2018-05-17 20:01:59 +02:00
Philipp Hörist
2a8c0da367
Use i18n module to determine locale
2018-05-17 20:01:59 +02:00
Philipp Hörist
40aa3d808b
Remove unused comments
...
The attributes were removed in 8e09fd92
2018-05-17 20:01:59 +02:00
Andrey Gursky
4f29e2b353
Preserve SSL handshake errors order
...
Sets are unordered and list with push/pop acts as LIFO, though we need FIFO.
Since the number of elements is tiny, no need to use deque.
Addresses #9120
2018-05-16 19:50:21 +02:00
BBreeziN
f13ff8ac68
Fix call to config.get_per() in method that gets account name from jid
2018-05-15 23:39:44 -04:00
Philipp Hörist
ffe8ee8068
Return account instead of jid
2018-05-10 13:28:26 +02:00
Philipp Hörist
093ba8dd97
Provide method to get the account name from a jid
2018-05-10 10:53:56 +02:00
Philipp Hörist
2bb5d55c03
Add conversion from account_id to account jid
...
To use this alias `account_id` with `account`
Example: SELECT account_id as account FROM logs
2018-05-08 19:20:11 +02:00
Philipp Hörist
8b9eb59ee4
Set no-store hint on groupchat chatstates
2018-05-07 18:04:24 +02:00
Philipp Hörist
913634c4c6
Add menu for uploading room avatars
2018-05-06 09:11:32 +02:00
Philipp Hörist
c38db84e04
Refactor FileChooserDialogs
...
Use GtkFileChooserDialog only when we need previews, default to
NativeFileChooser otherwise.
GtkFileChooserDialogs have a long list of issues, so lets only use it
if we gain something from it.
Flatpak should only run NativeFileChoosers because its sandboxed and
this is needed for security purposes. As a result of that, Flatpak Users
dont have image previews in the FileOpenDialogs
Refactor all FileChoosers for a more simple approach when we use them
Add a new SendFileDialog, so we dont have to put widgets into the FileChooser
which forces non-native Dialogs.
2018-05-05 09:22:08 +02:00
Marcin Mielniczuk
ad4c1347ff
Be more descriptive about the ascii_emoticons configuration option
2018-05-02 20:19:24 +02:00
Philipp Hörist
bcf27cb3c1
Support for PKIX over Secure HTTP (POSH)
...
Fixes #9083
2018-05-01 21:08:26 +02:00
Philipp Hörist
c534d3a147
Refactor SSL errors
...
Dont save fingerprints to config and check certs with our own methods.
We should trust openssl to do all necessary checks.
Self signed certs can be added to cacert.pem and will not show up as
an error until the cert changes.
nbxmpp now saves all ssl errors and passes them, so now we loop over
all errors until all are confirmed or ignored by the user
Also cacerts are now saved in utf-8
2018-05-01 14:03:20 +02:00
Philipp Hörist
06c4ce60b9
Show correct account lable in tooltip
...
Fixes #9065
2018-04-29 23:47:30 +02:00
Philipp Hörist
56a5d01609
Dont allow plain BOSH by default
2018-04-29 23:34:46 +02:00
Philipp Hörist
b8554e3e22
Jingle: Check first if we have a content
...
Fixes #9094
2018-04-29 23:30:08 +02:00
Philipp Hörist
707599dd86
Dont determine paths at module import time
2018-04-25 21:26:02 +02:00
Philipp Hörist
8c23d5a4b5
Move some imports
2018-04-25 21:24:05 +02:00
Philipp Hörist
105427b8fd
Use consistent way to get paths
...
This lets us now import the app module without setting paths
2018-04-25 20:49:37 +02:00
Philipp Hörist
52cbae69ee
Refactor Gajim startup
...
Remove as much as possible startup code from GtkApplication to stay
more true to our goal to separate GUI from the rest of Gajim
2018-04-25 19:16:38 +02:00
Philipp Hörist
e2383fd7a4
Refactor i18n module
...
- Move everything translation related from gajim.py to i18n.py
2018-04-24 23:03:19 +02:00
Philipp Hörist
21d4d0cb1e
Remove unused import / codestyle
...
Pass args to logging method instead of string formatting
2018-04-24 21:34:53 +02:00
Philipp Hörist
e265514d88
Detect dependencys only on demand
...
This allows us to import the app module without triggering
dependency detection
Also add is_installed() for checking if a dependency is installed and
disable_dependency() in case we dont want to use a dependency
2018-04-24 19:36:33 +02:00
Philipp Hörist
986898f69d
Dont check for OpenSSL we require it on install
2018-04-23 23:47:17 +02:00
Philipp Hörist
5ee45b86e9
Refactor database migration
...
- Move database migration to the logger module
- Dont depend on Gajim version for migration use PRAGMA user_version
- Refactoring of some methods in the logger module
- Dont use cursor object, if there is no reason
- Make some attributes and methods private
2018-04-23 21:27:01 +02:00
Philipp Hörist
4c1bfda48d
Fix const imports
2018-04-23 18:32:01 +02:00
Philipp Hörist
4f2033faff
Move constants into const module
2018-04-23 18:23:57 +02:00
Philipp Hörist
86bfc81ad3
Remove old unused migration method
2018-04-23 17:34:14 +02:00
Philipp Hörist
3efa731fbf
Add stanza_id index also when we create the DB
2018-04-23 00:10:35 +02:00
Philipp Hörist
8306f076b3
Move path creation into configpaths module
2018-04-22 23:12:34 +02:00
Philipp Hörist
188fb85bd0
Move DB creating into logger module
2018-04-22 22:16:17 +02:00
Philipp Hörist
efd2ca50c6
Remove unused old migration method
2018-04-22 02:30:34 +02:00
Philipp Hörist
3ad539cbf2
Make sure all config dirs get created
...
LOG_DB_FOLDER and CACHE_DB_FOLDER are equal to MY_DATA and MY_CACHE
2018-04-22 02:30:08 +02:00
Philipp Hörist
220bf35827
Create some folders only on demand
2018-04-22 00:55:48 +02:00
Philipp Hörist
c0c16dbf94
Dont change path names because plugins use them
2018-04-21 21:28:19 +02:00
Philipp Hörist
848c5cbdd0
More refactoring around paths
...
- Remove old config dir migration
- Remove some unused config paths
- Rewrite configpaths.init()
- Simplify creating paths in check_paths
2018-04-21 21:19:32 +02:00
Philipp Hörist
72e69a59af
Fix setting custom config root
2018-04-21 14:47:47 +02:00
Philipp Hörist
4a26ecb12c
Refactor configpaths
...
- init configpaths earlier so logging can access it to store debug logs
- First step for more consistency across Gajim when looking up paths
Recommended usage for the future:
app.configpaths.get()
configpaths.get()
2018-04-21 12:48:57 +02:00
philipp
8e9c040acf
Support http:upload:0
2018-04-20 08:35:40 -04:00
Philipp Hörist
dadc85bb52
Fix tests
2018-04-19 22:22:04 +02:00
Philipp Hörist
290e761f88
Add support for Room Avatars
...
- Groupchats promote a vcard hash with presence
Refactoring:
- Dont delete groupchat contacts if they are maximized from the roster
- Roster and GroupchatControl use the same contact object
2018-04-19 22:11:41 +02:00
Philipp Hörist
70a7000d44
Dont be lenient with namespace
2018-04-19 17:59:17 +02:00
Philipp Hörist
e3066fb5ca
Improve AccountsWindow design
...
Fixes #8940
2018-04-15 23:36:34 +02:00
Philipp Hörist
93af68f81c
Dont show error when receiving invalid avatars
...
Fixes #9022
2018-04-14 10:34:58 +02:00
Yann Leboulanger
879e03449c
fix some py2->py3 missing things. Fixes #9019
2018-04-07 23:06:48 +02:00
Yann Leboulanger
27e45856b0
prevent traceback. Fixes #9054
2018-04-07 22:04:32 +02:00
Philipp Hörist
711f3cbbb0
Encode filenames before sending
...
Fixes #9039
2018-04-05 19:38:17 +02:00
Philipp Hörist
1b8d76bf9e
Add missing return statement
2018-04-04 22:10:34 +02:00
Philipp Hörist
f29d57e50b
Catch invalid IQ stanzas and log them
...
Fixes #9044
2018-04-03 19:54:09 +02:00
Philipp Hörist
e326aabf5f
Decode PGP decrypted messages
2018-03-31 01:18:28 +02:00
Yann Leboulanger
c2184aaf8c
remove bookmark and close muc when destroying the room. Fixes #8862
2018-03-29 11:01:25 +02:00
Yann Leboulanger
a884ba6762
prevent traceback. Fixes #8936
2018-03-29 09:41:40 +02:00
Yann Leboulanger
f52e8d889c
don't traceback on account deletion. Fixes #8960
2018-03-28 11:36:14 +02:00
Yann Leboulanger
a3853f6958
fix string
2018-03-27 15:02:11 +02:00
Philipp Hörist
5794d54d1c
Dont print status if it has not changed
...
Only print the status, if status has changed or the status message
Clients announce there idle-time with presences but adding a idle-time
does not necessarily mean they went from available -> away
Fixes #9001
2018-03-26 23:47:43 +02:00
Philipp Hörist
99b3aebc99
Remove unused imports
2018-03-26 01:06:56 +02:00
Yann Leboulanger
faa88819a1
improve some strings
2018-03-25 16:26:29 +02:00
Philipp Hörist
040521397e
Dont use invalid sound devices
...
PulseAudio has devices that are None
Fixes #8797
2018-03-25 00:48:29 +01:00
Philipp Hörist
6207e607a8
Fix NoneType Error
...
element can be None if there was a error while calling Gst.ElementFactory.make()
2018-03-24 21:57:40 +01:00
Philipp Hörist
0fb19c2b1c
Show error message on account registration
...
Prefer the error message text over the error code
2018-03-24 17:55:32 +01:00
Philipp Hörist
058d3db1b0
Logger: Test for None after fetchone()
...
fetchone() returns None when nothing is found
len(None) yields a TypeError
2018-03-24 17:13:15 +01:00
Philipp Hörist
77dc975023
Only test if MUCs are on the blacklist
2018-03-24 10:52:16 +01:00
Philipp Hörist
9314a0543b
Add non-compliant mam:2 MUCs to blacklist
...
For MUCs on the blacklist we do a deduplication not depending on
stanza-id
This patch is only for current Prosody 0.10 stable and the mod_mam_muc
module which does not add stanza-id to the messages.
This can be removed once Prosody 0.11 hits or the module is updated
2018-03-24 01:47:03 +01:00
Philipp Hörist
4e1a9db6cc
Remove conditional code for nbxmpp < 0.6.3
2018-03-24 00:19:27 +01:00
Philipp Hörist
b3e6170e57
Remove cacert.pem
...
Dont ship cacerts, use certifi on Windows
2018-03-24 00:17:34 +01:00
Yann Leboulanger
ba48e4530b
don't just ignore when we receive an error to vcard request. Fixes #8965
2018-03-23 22:17:59 +01:00
Philipp Hörist
a218864d91
Add stanza to log output in case of an error
2018-03-21 19:53:07 +01:00
Philipp Hörist
a5db65703b
Fix displaying VCard of unknown contact
...
In some cases sub can be None
Fixes #8954
2018-03-17 20:37:35 +01:00
Philipp Hörist
52c06cd64f
Catch all exceptions when testing Farstream
2018-03-17 12:20:21 +01:00
Philipp Hörist
d8777a78aa
Fix deleting an account that was never connected
...
Fixes #8951
2018-03-17 00:20:11 +01:00
Philipp Hörist
956feb7ac4
Deactivate httpupload for zeroconf
2018-03-11 22:12:00 +01:00
Philipp Hörist
1935a4f40e
Disable ZeroConf account by default
2018-03-07 20:24:08 +01:00
Yann Leboulanger
c40dfe3817
fix traceback at end of file transfer. Fixes #8932
2018-03-06 12:10:37 +01:00
Sebastian Wagner
e740d12727
Defer txt record lookup until connection attempt
...
Don't try to resolve _xmppconnect records for servers before trying to connect.
Prevent warnings from gajim.c.resolver for accounts with "connect on startup" disabled.
2018-03-05 22:55:25 +01:00
Philipp Hörist
882be87a3b
Remove old config migrations
...
No one will ever update from these versions anymore
2018-02-28 22:38:40 +01:00
Philipp Hörist
a4bfd2fcbb
Add get_contact_strict()
...
This adds a method that returns only a contact if there is an exact match,
instead of a contact where only the barejid matches.
We need this when we update the Caps of a contact.
2018-02-26 22:24:30 +01:00
Philipp Hörist
c6e39309cf
Use MessageSentEvent to print to ChatControl
...
Its later than StanzaMessageOutgoingEvent, this allows encryption
Plugins to not return the encrypted payload immediatly.
For example encrypting may take some time because a password is needed
or the load has to be encrypted in another Thread.
2018-02-26 20:49:01 +01:00
Philipp Hörist
77be67f6a8
Only use fallback duplicate search on MAM < 2
2018-02-25 22:02:39 +01:00
Philipp Hörist
51a4c4b5fd
MAM: Display corrected messages on MAM catchup
...
This shows corrected messages correctly in groupchat when we
receive the messages via MAM
2018-02-25 21:20:38 +01:00
Philipp Hörist
c6e7f8628d
MAM: Display received mam message in open chats
2018-02-25 21:04:34 +01:00
Philipp Hörist
994244c910
MAM: Check muc#user namespace before we disco
...
1. Check if the message has the muc#user namespace
2. Check if we have this jid already in the DB
3. Last resort disco the jid
2018-02-22 22:03:55 +01:00
Philipp Hörist
f30564c15c
Dont notify about PMs from MUCs we are not joined
...
The server sends us carbons if one of our other resources has
a conversation in a muc we are not joined.
Instead we log the messages silently.
2018-02-22 21:42:49 +01:00
Philipp Hörist
52fa57795a
Better emoticon theme fallback strategy
...
Fallback must be happening in init_emoticon() instead of PreferencesWindow
2018-02-22 00:37:54 +01:00
Philipp Hörist
eb3a53c791
Refactor emoticon theme combobox
...
- Use ComboBoxText, its much simpler
- Add a dedicated method that returns all available themes
- If the configured Theme is not available fallback to font-emoticons
2018-02-21 23:52:53 +01:00
Philipp Hörist
1fbc6a2304
Tag MUC PMs
...
This gives the server the chance to react accordingly without applying
much logic.
Also it makes it easier for us to recognize MUC PMs in MAM querys
2018-02-21 23:09:30 +01:00
Philipp Hörist
70e0bcc5db
Pass jid as string to find_stanza_id()
2018-02-21 23:01:47 +01:00
Philipp Hörist
015d99ea63
Print correct archive jid in log message
2018-02-21 22:21:35 +01:00
Philipp Hörist
0c7f1937cf
Fix duplicates for self messages and MUC PMs
...
Fixes #8812
2018-02-21 22:09:13 +01:00
Philipp Hörist
17fc8ff927
Limit deduplication to correct archive
...
We limit the search to non-groupchat messages because a stanza id
is only unique within an archive
2018-02-21 19:23:26 +01:00
Yann Leboulanger
4149bcacb9
add index on stanza_id column to speed up de-duplication when syncing logs
2018-02-17 18:37:22 +01:00
Philipp Hörist
877b754ef3
Simplfy writing to config file
...
- use `with` statement and open() instead of os.open()
- execute run() on dialog, otherwise sys.exit() is called immediatly
2018-02-12 23:39:50 +01:00
Philipp Hörist
fb4b262477
Dont use getTimestamp()
...
getTimestamp() generates always a timestring with a resolution of seconds and
this means time gets always rounded down.
Because we use a resolution of .00000 precision for outgoing messages this
can lead to wrongly sorted messages.
2018-02-12 21:27:55 +01:00
Philipp Hörist
f47ea05b79
Read config files with UTF-8
2018-02-10 18:59:34 +01:00
Philipp Hörist
7479bd8bd6
Refactor getting avatars from pubsub
...
- use SendAndCallForResponse instead of triggering an Event
- validate iq result even more, it didnt print iq errors before
2018-02-08 21:06:23 +01:00
Philipp Hörist
7b1bdc5591
Merge branch 'history-navigation' into 'master'
...
Add navigation for chat history
See merge request gajim/gajim!202
2018-02-08 17:34:19 +01:00
Philipp Hörist
4bbc6b1972
Fail gracefully on invalid MAM GC Stanza
...
Fixes #8883
2018-02-07 19:20:19 +01:00
Daniel
b0bf74337c
Add navigation for chat history
2018-02-07 10:04:56 +01:00
André Apitzsch
f1e95825c6
Migrate config for new password identifier + version bump
2018-02-04 17:02:02 +01:00
André Apitzsch
0d37609d8a
PasswordStorageManager: remove unused member
2018-02-03 22:13:43 +01:00
André Apitzsch
d0f4ebd0bc
Use keyring module to handle password storage
2018-02-03 20:32:37 +01:00
Philipp Hörist
232dc1dda0
Scale Avatars for HiDPI Screens
2018-01-29 00:06:31 +01:00
Philipp Hörist
c609d3c5ae
Merge branch 'removeCmp' into 'master'
...
Remove cmp_to_key functions
See merge request gajim/gajim!197
2018-01-27 17:27:53 +01:00
Philipp Hörist
36f23c9cf2
Update httpupload action on discovery
2018-01-27 10:55:25 +01:00
André Apitzsch
28749a7989
Remove cmp_to_key functions
2018-01-27 00:21:53 +01:00
Philipp Hörist
7dacd51c1d
Add complex caps test
2018-01-26 23:57:32 +01:00
Philipp Hörist
4c545be737
Inlcude account for message deduplication
...
It was not possible to write with 2 different accounts into the
same MUC
2018-01-25 00:47:00 +01:00
Philipp Hörist
8cdad276bf
Fix httpupload when using multiple accounts
...
Fixes #8865
2018-01-24 17:05:41 +01:00
Bronko
3a3be94aa8
integrate httpupload plugin into gajim core
...
add new config option 'filetransfer_preference'
add drag and drop support for file upload
2018-01-22 17:29:27 +01:00
André Apitzsch
c473fa6110
location_listener: location update notifier requires three parameters
...
the third parameter contains the location parameter specification
2018-01-19 01:52:58 +01:00
Philipp Hörist
1605b722b7
Merge branch 'fixTest' into 'master'
...
Fix tests
See merge request gajim/gajim!192
2018-01-19 00:33:43 +01:00
Philipp Hörist
5ef1813405
Fix parsing MAM IQs
...
prosody includes the supplied queryid in the `<fin>` tag, but this is not XEP compliant.
We set the queryid attr so we can match the MAM Messages to our query.
Thats the only purpose, it is not used to identify the iq result at the end of the query.
For that purpose is the `id` attr on the `<iq>` node.
So dont try to parse `queryid` from the `<fin>` tag.
2018-01-17 23:57:49 +01:00
André Apitzsch
06b8eb58e5
Fix tests
2018-01-17 22:36:14 +01:00
Philipp Hörist
84aa61335f
HtmlTextView: Fix some things
...
- Only pass args to logging function
- Dont use 'size' as global var, its again used later in methods
- Fix a missing arg in __parse_font_size_cb()
2018-01-04 18:04:56 +01:00
Philipp Hörist
32e873e6eb
Add ALPN Support
2018-01-03 22:11:42 +01:00
Philipp Hörist
b1d45ec008
Fix config encoding
...
Fixes #8834
2018-01-02 23:55:26 +01:00
Philipp Hörist
b8fd8c8a3f
Catch exception when parsing avatars
...
If the VCard contains a <PHOTO/> tag this is parsed as {'PHOTO': ''}
this throws: TypeError: string indices must be integers
2017-12-29 20:14:59 +01:00
Philipp Hörist
361ad92b26
Remove unused code
2017-12-29 19:08:05 +01:00
Philipp Hörist
d3333ba9d9
Merge branch 'xep_0368' into 'master'
...
Add support for XEP-0368
See merge request gajim/gajim!177
2017-12-27 22:10:26 +01:00
Marc Schink
8e09fd9272
Add support for XEP-0368
...
- Use xmpps-client SRV records
- Use separate host entry per connection type
- Replace 'connection_types' with 'allow_plaintext_connection' option
2017-12-20 18:38:01 +01:00
André Apitzsch
8b960238a6
Zeroconf: fix unexpected keyword argument
...
_update_status() got an unexpected keyword argument 'idle_time'
introduced by 28917aaf56
2017-12-18 22:52:06 +01:00
André Apitzsch
0ffd7b6907
Zeroconf: Fix get_own_jid()
2017-12-18 22:16:22 +01:00
Yann Leboulanger
53a92bdee8
add get_own_jid method to ConnectionZeroconf. Fixes #8809
2017-12-18 14:44:38 +01:00
Philipp Hörist
0959bd44c8
Merge branch 'master' into 'master'
...
Remove incorrect assert
See merge request gajim/gajim!171
2017-12-17 18:01:44 +01:00
Philipp Hörist
1b11d77034
MAM: Dont convert own_jid to string
...
We need it later as JID object
2017-12-17 17:56:11 +01:00
Philipp Hörist
9411ccd827
Fix DB migration for additional_data
2017-12-17 17:10:00 +01:00
Philipp Hörist
dfafedc21f
Remove unused DB fields
...
This field was added but never used
This does not remove the columns from the DB, but doesnt add them
in new migrations.
2017-12-17 12:00:15 +01:00
Philipp Hörist
020d4754df
Add correct DB migration
...
Fixes #8806
2017-12-17 11:55:38 +01:00
Philipp Hörist
410aee7ba0
Fix typo in DB migration
2017-12-17 11:34:54 +01:00
Apromixately
b8fe0e20c3
Remove incorrect assert
...
When a ping reply is received there is probably a connection. Anyway, the
last ping might have been lost and the ids might not match up.
2017-12-16 16:23:44 +01:00
Philipp Hörist
f8ddefb6da
Fix var reference
2017-12-10 22:56:20 +01:00
Philipp Hörist
7815ce19a5
Dont use callbacks when sending messages
...
Using a callback to display a sent message inside the ChatControl means
that all messages we send have to be issued from the GUI layer
(send_message()) if we want them to display in the ChatControl.
This replaces the callback and catches the stanza-message-outgoing event
after it was processed by the core.
This is easier to read/understand than dealing with callbacks and lets
the core issue messages without having to care if a ChatControl is open or not
2017-12-10 18:56:29 +01:00
Philipp Hörist
786ef96400
Port InformationEvent handling to new interface
2017-12-09 00:15:26 +01:00
Philipp Hörist
beb9fa2f17
Merge branch 'location' into 'master'
...
Get location with GeoClue2
Closes #8772
See merge request gajim/gajim!164
2017-12-05 17:10:51 +01:00
André Apitzsch
2aab433932
Get location with GeoClue2
2017-12-04 21:00:20 +01:00
Philipp Hörist
1afd4f0e72
New StartChat Dialog
2017-12-03 23:58:02 +01:00
Philipp Hörist
ace904573a
Add new Join Groupchat dialog
...
- Complete rewrite of the old Groupchat dialog
- Has now a "minimal" mode, which is used if we have all infos for joining except the nickname and if we want to bookmark
- Handle xmpp uris received via command line
2017-12-03 23:58:02 +01:00
Yann Leboulanger
086eeb3dc8
resolve TXT record only for non-zeroconf accounts. Fixes #8792
2017-12-03 14:55:41 +01:00
Yann Leboulanger
eb764fa1af
refactor the way we call SQL
2017-11-30 22:45:21 +01:00
Yann Leboulanger
79ba81825d
better parse of version in config file in case old sha version of git is
...
used (-xyz instead of +xyz)
2017-11-30 17:19:17 +01:00
Yann Leboulanger
46711e1107
Merge branch 'XEP-156' into 'master'
...
implement XEP-0156
Closes #5795
See merge request gajim/gajim!154
2017-11-29 14:25:49 +01:00
Philipp Hörist
b3ef0d6196
Catch ValueError on Gspell import
2017-11-26 01:11:19 +01:00
Philipp Hörist
7692b376ee
Refactor SpellChecker
...
- use Gspell instead of GtkSpell, it seems to have alot less problems
and needs less code
2017-11-26 00:44:50 +01:00
Emmanuel Gil Peyrot
cdf4d0ee69
Also log the offending JID on avatar decoding issue
2017-11-25 17:37:48 +00:00
Philipp Hörist
fc627fc19c
Use appmenu only if system supports it
2017-11-24 18:54:30 +01:00
Philipp Hörist
276daa991c
Correctly split version string
...
We changed the version format
2017-11-24 16:49:30 +01:00
Philipp Hörist
9322ed4405
Show missing dbus message only on Linux
...
Mac and Windows dont have dbus available
2017-11-24 16:28:22 +01:00
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
Philipp Hörist
6925ce0628
Merge branch 'master' into 'master'
...
Add a new XEP-0082 parsing method
See merge request !111
2017-08-01 20:57:15 +02:00
Philipp Hörist
0fee27928d
Add a new XEP-0082 parsing method
...
This handles every possible XEP-0082 timestamp
It has some additional options:
- Check if a timestring is a valid UTC timestamp, as required by some
XEPs (for example: XEP-0203)
- Return timestamp as datetime in UTC
- Return timestamp as datetime in localtime
- Return timestamp as epoch
2017-08-01 20:53:00 +02:00
Philipp Hörist
e493606070
Fix typo
2017-07-31 19:30:18 +02:00
Yann Leboulanger
6a95fe79ae
Merge branch 'xep-0319' into 'master'
...
Xep 0319
See merge request !110
2017-07-31 19:16:27 +02:00
Yann Leboulanger
28917aaf56
Do not use XEP-0012 anymore to know idle time. Use XEP-0319
2017-07-31 19:14:12 +02:00
Philipp Hörist
81566df8a1
Fix some regressions with MAM
...
- On single messages use the bare JID for DB querys
- Add more debug logging
- Some light refactoring
2017-07-30 23:04:50 +02:00
Philipp Hörist
c1decf682b
Adapt to latest nbxmpp changes
2017-07-29 21:35:45 +02:00
Philipp Hörist
9bca51eb69
Implement XEP-0359 Stable Stanza IDs
...
- This allows us to better deduplicate Messages on MAM syncs
2017-07-28 14:03:14 +02:00
Philipp Hörist
8558a43651
Update config setting description
...
We dont use 0136 anymore
2017-07-28 00:34:18 +02:00
Philipp Hörist
9ff601d03b
Remove XEP-0136 support
2017-07-28 00:07:49 +02:00
Philipp Hörist
1e313cc7e2
Improve getting own jid
...
We get our full JID on the bind event.
After that it is saved in the `registered_name` attr on the Connection
Object.
In case the bind never occured we get the bare JID from config.
2017-07-27 22:14:29 +02:00
Philipp Hörist
f449acd815
Refactor MamDecryptedMessageReceivedEvent
...
- Condition type = groupchat is not needed because we drop messages
type groupchat that come from the user archive. To get these messages
we will query the MUC.
- Because of this the logging method save_if_not_exists() can be much
simpler
2017-07-27 21:46:19 +02:00
Philipp Hörist
cb90f9decd
Merge branch 'logger' into 'master'
...
Refactor Logger
See merge request !108
2017-07-27 11:57:09 +02:00
Philipp Hörist
fe1f2c0103
Dont drop MAM Message on missing stanza-id
...
A missing stanza ID means, we will have to take some measures to make
sure we get no duplicates in the Database later on.
Also fix getting the origin-id. Third time is a charm.
2017-07-27 03:33:19 +02:00
Philipp Hörist
9d6e3f4323
Get the ID attr of origin-id instead of the Node
2017-07-26 02:41:08 +02:00
Philipp Hörist
7f0bcbb5bf
Correctly set stanza-id for received MAM messages
...
The gaol why we need to determine what ID should be used as stanza-id,
is so we can use the stanza-id in the future for deduplication.
Case we are the sender:
Either we look for a origin-id element, which we will include in the
Future in all messages we send, or until then the ID we set on the
message as attr.
Case we are the receiver:
If our server supports mam:2 we take the ID of the result element,
because mam:2 injects the archive ID live into every message we
receive. If we dont have mam:2 we fall back to the ID of the message
attr.
2017-07-26 02:35:34 +02:00
Philipp Hörist
a5480eb167
Add ServerInfo Dialog
2017-07-26 00:07:43 +02:00
Philipp Hörist
33a51f3180
Preparation for MUC Archive querys
...
- Refactor and clean up code around MamMessageReceivedEvent
- Goal is to add a GcMamMessageReceivedEvent later on
- For that cause added a raw-mam-message-received base event
2017-07-25 21:01:18 +02:00
Philipp Hörist
aefb571168
Add new NetworkEvents method
...
This lets us attach all attributes of the base event to the
new event. Often Events trigger other Events. When that happens
we often want to keep all attr from the previous Event, and just
continue under a new Event. Until now all attr had to be pulled
out of `self.base_event` again.
2017-07-25 21:00:20 +02:00
Philipp Hörist
89367a83ec
Add simple parse_delay() method
...
The XEP is pretty strict on Delay tags so we can make a simple
method.
2017-07-25 21:00:20 +02:00
Philipp Hörist
06d890eea7
Add more convenient get_own_jid() method
2017-07-25 21:00:20 +02:00
Philipp Hörist
85d220c80e
Add Synchronise History Dialog
...
- On first contact with the MAM Archive only request 7 days
- To sync the rest of the archive the new Dialog can be used.
2017-07-25 21:00:20 +02:00
Philipp Hörist
e548a89269
Add pylint hints
2017-07-25 21:00:20 +02:00
Philipp Hörist
e5a41ea2b3
Raise min version of TLS to 1.2
2017-07-24 23:38:10 +02:00
Yann Leboulanger
f36860e37d
limit priority value inc ase user set an invalid priority in ACE. Fixes #8630
2017-07-24 21:52:11 +02:00