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
Philipp Hörist
e85bc52c8b
Fix sending empty pep data
2018-09-16 12:58:37 +02:00
Philipp Hörist
bb545d546a
Fix useless-object-inheritance pylint errors
2018-09-16 11:56:56 +02:00
Philipp Hörist
de0c0a9c08
Fix unsued-import pylint errors
2018-09-16 11:37:38 +02:00
Philipp Hörist
49ca238252
Fix len-as-condition pylint errors
2018-09-16 01:10:04 +02:00
Philipp Hörist
f7a139eac2
Zeroconf: Store time of outgoing messages
2018-09-15 12:00:32 +02:00
Philipp Hörist
d54d4bc232
Add annotations and fix pylint/mypy errors
2018-09-13 23:56:12 +02:00
Philipp Hörist
62c54525d8
fuzzyclock: Fix pylint errors
2018-09-13 00:33:54 +02:00
Philipp Hörist
64aec8adce
Add annotations
2018-09-12 21:08:37 +02:00
Philipp Hörist
b99632ab03
Fix pylint errors
2018-09-12 00:01:54 +02:00
Philipp Hörist
09c5183575
Fix pylint errors in common/modules
2018-09-11 22:25:55 +02:00
Philipp Hörist
4ad38d5398
Make some vars private
2018-09-11 20:00:34 +02:00
Philipp Hörist
dad7def794
Catch error if no translation is found
2018-09-11 19:37:48 +02:00
Philipp Hörist
a34bf54c46
Fix mypy error regarding _()
2018-09-11 19:29:08 +02:00
Philipp Hörist
21672fadee
Refactor i18n
...
- Make _() available, so other modules can import it from i18n, we need
this because mypy cant handle _() in the builtins namespace
2018-09-11 19:27:10 +02:00
Philipp Hörist
2649b3d01e
Add annotations to modules/util.py
2018-09-11 00:47:59 +02:00
Philipp Hörist
ca9b4cb596
Add annotations for modules/__init__.py
2018-09-11 00:47:54 +02:00
Philipp Hörist
bcf2a3770d
Remove unnecessary code
...
NetworkIncomingEvent defines base_network_events and generate() already
2018-09-11 00:37:00 +02:00
Philipp Hörist
f82cd95f2c
Fix subscribing to contact
...
Fixes #9321
2018-09-09 17:43:17 +02:00
Philipp Hörist
432704005d
Request blocking list on connect
2018-09-09 16:50:55 +02:00
Philipp Hörist
0a20cb5997
Fix fallback for bookmark name
2018-09-08 23:55:31 +02:00
Philipp Hörist
27dd36cca3
Improve speed of groupchat roster
...
- Save reference to contact in a dict instead of iterating the whole model
- Sort roster only once after all contacts have been added to the roster
- Speed up get_gc_contact()
Fixes #9334
2018-09-08 20:49:26 +02:00
Philipp Hörist
c8b31dffbb
Remove verbose logging of idle time
2018-09-06 21:44:31 +02:00
Philipp Hörist
bba88cf609
Windows: Improve locked screen detection
...
UAC prompts count as locked screens, so only trigger extended away
when the screen is more than 10 seconds locked
Fixes #9117
2018-09-06 21:41:38 +02:00
Philipp Hörist
3a16ccb4d4
Revert "Windows: Remove locked screen detection"
...
This reverts commit 05307bd609
2018-09-06 21:38:41 +02:00
Philipp Hörist
05307bd609
Windows: Remove locked screen detection
...
This does not reliably tell us when the screen is locked.
For example this triggers when a UAC prompt is active.
From the Windows documentation there is no way to determine
if a workstation is locked
Fixes #9117
2018-09-06 21:17:05 +02:00
Philipp Hörist
a4a136566f
Fix license comment format
...
every linter flags this as an error
2018-09-05 02:59:34 +02:00
Philipp Hörist
9dd747dfe5
Windows: Fix IPV6 for Windows 10+
...
Fixes #9326
2018-09-05 02:14:51 +02:00
Philipp Hörist
27f7580688
Light refactring of bookmark code
...
- Convert xs:boolean values in bookmark module
- Use python booleans for minimize and autojoin in other parts of Gajim
- Use add_bookmark() instead of manipulating the bookmarks dict
2018-09-05 00:06:59 +02:00
Philipp Hörist
b62335eaf5
Add a bookmark sorting method
2018-09-04 23:22:57 +02:00
Philipp Hörist
be6c2d4f7a
Add XEP-0398 optimizations
...
- If the server implements XEP-0398 we dont need to add the avatar sha
anymore, the server adds it for us.
- It also means we dont have to query our own avatar from vcard at start
because the server tells us the avatar sha that is published with the inital
presence reflection
2018-09-01 20:40:20 +02:00
Philipp Hörist
c68f4f1041
Send all presence through the presence module
2018-09-01 18:06:21 +02:00
Philipp Hörist
7d723d7b98
Fix contact not beeing found after room destroy
2018-09-01 12:44:45 +02:00
Philipp Hörist
527762f726
Fix missing attribute
2018-08-31 06:37:53 +02:00
Sophie Herold
7743c11a50
Unify to use app.get_account_label()
2018-08-30 19:27:40 +02:00
Philipp Hörist
dd8dda9b32
Fix displaying MUC subjects with delay tag
...
Dont print it as "old" conversation, instead add the delay timestamp
at the end of the subject
2018-08-30 19:19:47 +02:00
Philipp Hörist
8a34261137
Parse delay after decryption
...
Delay could be encrypted with full stanza encryption
2018-08-30 19:19:47 +02:00
Philipp Hörist
931e3f60ba
Register modules defined by plugins
2018-08-28 23:03:00 +02:00
Philipp Hörist
a087486e45
Windows: Fix gstreamer/farstream plugin paths
2018-08-21 19:21:07 +02:00
Philipp Hörist
fb4c5a2351
Call link() on correct object
2018-08-21 18:48:20 +02:00
Philipp Hörist
fef8cff254
Display only emojis the font supports
...
Fixes #9299
2018-08-20 19:18:07 +02:00
André Apitzsch
5d853e902a
Time: use classes from standard library
2018-08-19 23:29:05 +02:00
Philipp Hörist
9e3e6f80bb
Add JID to VcardReceivedEvent
2018-08-19 16:43:59 +02:00
Philipp Hörist
c4dfc0f8f2
Caps: Lower log level
2018-08-19 10:50:51 +02:00
Yann Leboulanger
c49f9d60ab
fix jingle negotiation from an XMPP point of view
2018-08-18 16:05:33 +02:00
Philipp Hörist
bab834814e
Use a python 3.5 compat method to scan dirs
2018-08-18 14:06:54 +02:00
Philipp Hörist
c8c44f5a78
Fix XMLConsole
...
- Print the stream header again
- Fix template button, it should not be translated
2018-08-18 12:35:21 +02:00
Philipp Hörist
5feb4becfd
Rework Emoji implementation
...
- Use emoji data from a generated dict based on the offical unicode docs,
this makes it easier to update in the future
- Rewrite the emoji chooser
- Add a search field to the emoji chooser
- The emoji chooser is loaded async
- Update to current Unicode 11 Noto theme
2018-08-17 21:55:42 +02:00
Philipp Hörist
9d5131b8b4
Rework Gajim Theming
...
- Save all Theme settings to .css instead of the config file
- Add a gajim-dark.css
- Refactor the ThemesWindow
2018-08-16 22:53:33 +02:00
Sophie Herold
ee3cc9cbab
Reduce number of notifications kept in message tray
2018-08-16 22:48:40 +02:00
Philipp Hörist
2ce78334ca
Fix direct MUC invite
2018-08-04 21:41:44 +02:00
Philipp Hörist
043e764896
Make Service Registration a Gtk.Assistant
...
- Move all xmpp Register methods into the register module
2018-08-04 19:47:57 +02:00
Sophie Herold
99ec800856
Rework History Dialog
2018-08-04 11:04:36 +02:00
Philipp Hörist
560a122ab5
Add error message to change password dialog
...
- Move register methods to own module
2018-08-01 00:35:42 +02:00
Philipp Hörist
4096ab5db5
Fix detecting oob data
2018-07-31 21:20:02 +02:00
Philipp Hörist
85bc3896ab
Handle messages without 'to' correctly
2018-07-30 21:58:22 +02:00
Philipp Hörist
137bf1f831
MAM: Request from last received stanza-id
...
Record stanza-ids from live messages. If Gajim is started query the
archive from the last received stanza-id
2018-07-29 23:16:13 +02:00
Philipp Hörist
dbf891e97c
Add missing bookmark dict entry
2018-07-29 22:26:52 +02:00
Philipp Hörist
394d38e663
Add lost server discovery query
2018-07-29 22:16:06 +02:00
Philipp Hörist
80aee95f2e
Reset connect_maschine after disconnect on purpose
2018-07-29 19:35:45 +02:00
Philipp Hörist
7584037fc7
Fix typo
2018-07-28 13:32:37 +02:00
Philipp Hörist
2f3d50b13f
Fix restoring open chatcontrols after restart
2018-07-27 16:16:23 +02:00
Philipp Hörist
5a6f03dea4
Add connect_maschine()
...
Add method that sequentially works the steps we have to do
before sending first presence
- Move Delimiter into own module
- Move Metacontacts into own module
2018-07-27 16:01:10 +02:00
Philipp Hörist
db77fa1ace
Add roster implementation to Gajim
2018-07-26 20:38:00 +02:00
Philipp Hörist
7ad6a28e12
Fix event name
2018-07-26 17:27:56 +02:00
Philipp Hörist
cf580c62de
Discover httpupload also on the user domain
2018-07-25 19:33:03 +02:00
Philipp Hörist
5d24c9bbdd
Move subscription code into presence module
2018-07-23 23:04:07 +02:00
Philipp Hörist
6c4d9ff4c7
Dont disco unnecessary server items
2018-07-23 20:44:57 +02:00
Philipp Hörist
ea34959b35
Catch cert error in posh query
2018-07-23 19:51:25 +02:00
Philipp Hörist
a943a35a5d
Move caps code into own module
2018-07-22 20:49:53 +02:00
Philipp Hörist
07c87a4194
Rewrite discovery code and move it into own module
2018-07-22 16:20:00 +02:00
Philipp Hörist
5ff9e9febf
Move dataforms into modules folder
2018-07-22 16:20:00 +02:00
Philipp Hörist
afb0306160
Move security labels into own module
2018-07-22 16:19:59 +02:00
Philipp Hörist
78858f7c82
Move more MUC methods into muc module
2018-07-22 16:19:53 +02:00
Philipp Hörist
37f7a80396
Move message handler into own module
2018-07-22 12:33:55 +02:00
Philipp Hörist
d4fd621d11
Use misc module to parse correction
2018-07-21 08:50:46 +02:00
Philipp Hörist
9f65bca3d3
Remove traces of forwarding messages (XEP-0146)
...
This is deprecated because its very insecure and also not needed
anymore because of MAM
2018-07-21 08:50:46 +02:00
Philipp Hörist
54b5dec6c7
Mock bookmarks for zeroconf
...
Fixes #9256
2018-07-20 23:17:58 +02:00
Philipp Hörist
5ed9768b87
Add JID to log output
2018-07-19 17:15:28 +02:00
Philipp Hörist
3a3b5aff20
Move some dialogs into gtk module
2018-07-18 00:15:46 +02:00
Philipp Hörist
bff5f14b92
Move invites into MUC module
2018-07-17 18:38:36 +02:00
Philipp Hörist
d65253b021
Move Carbons into own module
2018-07-17 18:38:36 +02:00
Philipp Hörist
6c70b63e34
Fix parsing jid from roster set event
2018-07-17 00:13:12 +02:00
Sophie Herold
67d9b7a7ea
Rework Bookmarks Dialog
2018-07-16 19:44:38 +02:00
Philipp Hörist
8fbafcd8fb
Register mam handler correctly
2018-07-15 23:58:21 +02:00
Philipp Hörist
ebbe06d587
Refactor MAM into own module
...
- Rework the MAM Preference dialog
- Move MAM Preference dialog into a new gtk module
- Refactor all MAM code into own module
- Refactor the MAM code itself so we can easier test it in the future
- Add a misc module for smaller XEPs and move EME, Last Message Correction
Delay, OOB into it
- Add dedicated module for XEP-0082 Time Profiles
2018-07-15 14:26:00 +02:00
Philipp Hörist
72ee9af79c
Set lower log level for password errors
2018-07-14 08:21:43 +02:00
Philipp Hörist
28aada122d
Fix it better
2018-07-13 18:09:48 +02:00
Philipp Hörist
45635736bf
Fix error if session is None
2018-07-13 18:06:31 +02:00
Philipp Hörist
4cb852914e
Fix bookmarks strategy
...
Strategy is now:
1. Get pubsub if supported
2. Get private storage and merge if we find boomarks we dont have
3. Store bookmarks to both pubsub and privatestorage
The only drawback with this strategy is, that a client that supports
only private storage cant delete bookmarks
2018-07-12 21:34:15 +02:00
Ave O
c3a359ba23
Change to gender-neutral alternatives of pronouns
2018-07-11 23:15:56 +03:00
Philipp Hörist
d9eb3e6891
Blocking: Raise NodeProcessed
2018-07-09 23:37:13 +02:00
Philipp Hörist
828d74570a
Remove print statement
2018-07-09 19:52:57 +02:00
Philipp Hörist
c25a4a0aab
Fallback to account name when label is missing
...
Fixes #9236
2018-07-08 21:28:02 +02:00
Philipp Hörist
a2d7283e6e
Refactor AdHocCommands into own module
2018-07-08 19:39:57 +02:00
Philipp Hörist
78d16c44f3
Register PEP module first
...
Other modules depend on it
2018-07-08 17:06:12 +02:00
Philipp Hörist
bd79fe629f
Refactor Privacy and Blocking into own modules
2018-07-08 16:44:14 +02:00
Philipp Hörist
3cfd82b0c2
Fix method call
2018-07-08 10:31:05 +02:00
Philipp Hörist
3a6f667008
Check if we have a nbxmpp Client object
...
In some cases the XMPPDispatcher which handles the callbacks is not
yet created.
2018-07-07 20:01:47 +02:00
Philipp Hörist
e918ac85fe
Remove streamhost redirect
...
After asking around this is a dead feature.
Because servers cannot be sure if clients support redirection, a server
using this feature would essentially risk that his users are not able to
connect at all.
2018-07-07 20:00:09 +02:00
Philipp Hörist
af7ac9211d
Fix pylint errors in dataforms module
2018-07-07 19:36:24 +02:00
Philipp Hörist
3e4cf4a07d
Change nbxmpp event we use for XMLConsole
2018-07-07 18:28:43 +02:00
Philipp Hörist
59428d2f2f
Register all available modules automatically
2018-07-07 13:52:44 +02:00
Philipp Hörist
3a3b32249c
Fix requesting pubsub node config
...
Regression from refactoring
2018-07-07 01:49:50 +02:00
Philipp Hörist
09aead3e7f
Remove unused imports
2018-07-07 01:49:50 +02:00
Philipp Hörist
4bcdbde2c8
Move httpupload into modules
2018-07-07 01:49:50 +02:00
Philipp Hörist
1e9fb205ee
Fix regression from 8b800f46
2018-07-06 23:54:29 +02:00
Sophie Herold
4fa4484dfd
Rework JoinGroupchat Dialog
2018-07-06 22:14:32 +02:00
Philipp Hörist
63a27ace61
Use open JoinGroupchat Dialog when browsing MUCs
2018-07-06 21:43:53 +02:00
Philipp Hörist
d45fa13ee9
Refactor atom into new module and disable it
...
Gajim lacks a good UI for microblogging
Fixes #9218
2018-07-06 21:02:06 +02:00
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