Commit Graph

670 Commits

Author SHA1 Message Date
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 e134e47deb HistoryManager: Clear logs TextView when nothing is selected 2018-03-24 17:25:49 +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 af2c66b50b Improve disabling autoscroll
Add the SHIFT + PAGE_UP keypress
Fix catching mouse scroll UP on some systems
2018-03-24 02:36:22 +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 e0256719ae Refactor resizing MUC rosters
Dont trigger resizes on notify::position, because the absolut
handle position changes also on window resizes, but the relative handle
position doesnt change.

Instead we use the notify::position event now to save the new position
to the config file and use left button release event (release of the handle after dragging)
and the window maximize/minimize event to trigger resizes in all controls

This fixes also fixes a issue where a previously hidden roster was shown again
if a new tab was opened.

Fixes #8984
2018-03-23 00:41:15 +01:00
Philipp Hörist 3d980fd6f5 Show image preview in filechooser dialog 2018-03-21 20:24:20 +01:00
Philipp Hörist a218864d91 Add stanza to log output in case of an error 2018-03-21 19:53:07 +01:00
Andrey Gursky c6172c86ad Fix window position restore on multi-head setups
Gajim stopped to properly restore roster and dialogs windows positions
after restart with more than one monitor attached.

Gajim saves the absolute window positions, i.e. based on the total screen size
of all monitors attached. Despite Gtk deprecated Gdk.Screen.width() and height(),
we cannot just use width() and height() for one monitor, as recommended.
We still need the total screen size, which was the base for saving the positions.

[1] https://stackoverflow.com/questions/30207586/gdk-screen-vs-monitor-vs-display
2018-03-21 19:40:54 +01:00
Andrey Gursky 8d583a1801 Fixup for History Manager
Only call Gtk.main_quit() if History Manager is running standalone.
2018-03-21 19:30:21 +01:00
Philipp Hörist 57d4ddcd57 Commandline args are always type str in Python3
Fixes #8970
2018-03-21 19:17:15 +01:00
Philipp Hörist abdca0eaac Fix TextView scrolling
Fixes #8813
2018-03-20 22:19:30 +01:00
Philipp Hörist 83f57d49cb Remove unused code 2018-03-19 20:25:25 +01:00
Philipp Hörist b7e9fb70e3 Limit width of entrys in StartChat Dialog 2018-03-19 20:04:51 +01:00
Philipp Hörist 945b7baafb Only handle event if it belongs to the control 2018-03-19 01:34:38 +01:00
Philipp Hörist cbab10bedd Fix showing `not in roster` status icon 2018-03-18 00:04:49 +01:00
Yann Leboulanger 504bfef7db don't crash when we parse arguments in history manager. Fixes #8959 2018-03-17 22:16:54 +01:00
Philipp Hörist 9de427f6fa Allow multiple file uploads
Fixes #8957
2018-03-17 20:44:14 +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 788c064cee Update Gajim version to 1.0.0 2018-03-17 17:59:04 +01:00
Philipp Hörist 368a2177fc Raise nbxmpp min version 2018-03-17 17:57:27 +01:00
Philipp Hörist 47f0836567 Add [URI...] to commandline --help 2018-03-17 17:16:48 +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 8f2bc1e1c6 Handle connection lost notification click
Fixes #8823
2018-03-15 18:37:34 +01:00
Philipp Hörist fa325a8fc2 Remove CAN_OVERRIDE_APP_ID Flag
This cannot be used in combination with HANDLES_COMMAND_LINE

Fixes #8947
2018-03-14 22:10:44 +01:00
Yann Leboulanger 3abc50b22c strip muc server name before discovering it. Fixes #8886 2018-03-14 21:40:52 +01:00
Philipp Hörist 956feb7ac4 Deactivate httpupload for zeroconf 2018-03-11 22:12:00 +01:00
Philipp Hörist ca70b1d1e2 Add roster tooltip extension point 2018-03-07 22:37:02 +01:00
Philipp Hörist 1935a4f40e Disable ZeroConf account by default 2018-03-07 20:24:08 +01:00
Philipp Hörist 3fbce77818 Add transient argument to Dialogs 2018-03-07 19:39:33 +01:00
Philipp Hörist ce4d273dd7 Fix transients on some Dialogs 2018-03-07 19:30:12 +01:00
Philipp Hörist 4aeaf6d3bc Raise correct dialog on account removal
Fixes #8941
2018-03-07 19:29:50 +01:00
Philipp Hörist 9a0faa47c8 Add logging to tooltips 2018-03-06 23:16:30 +01:00
Philipp Hörist 1ea4ff264c Fix roster tooltip
Fixes #8924

Its not clear at this point why we dont find a contact is None, so log
output is added
2018-03-06 23:12:33 +01:00
Yann Leboulanger 1190b10ecd prevent traceback when pressing tab in groupchat. Fixes #8933 2018-03-06 21:59:40 +01:00
Yann Leboulanger 14f3e041de Use hide_groupchat_occupants_list option to decide if we show the occupant list or not. Fixes #8922 2018-03-06 21:53:38 +01:00
Yann Leboulanger c40dfe3817 fix traceback at end of file transfer. Fixes #8932 2018-03-06 12:10:37 +01:00
Emmanuel Gil Peyrot d2eeceb7e1 Fix standalone htmltextview. 2018-03-06 11:52:23 +01:00
Daniel a92bca4052 Use https for OpenStreetMap URIs built from PEP 2018-03-06 11:21:09 +01:00
Daniel a3e651b288 Handle geo:-URIs 2018-03-06 11:21:09 +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
Daniel 113cd51c11 Set label of link context menu according to kind mail OR jid 2018-03-03 18:38:33 +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 c5f3aa169f Set correct kind on incoming MAM messages 2018-02-28 17:58:26 +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
André Apitzsch c74c888506 Silence 'git unavailable' message 2018-02-25 21:35:19 +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 12b27bf5ba HistoryManger: Fix window dimensions 2018-02-25 20:18:46 +01:00
Philipp Hörist a94276f6e9 Make file transfer labels sound less technical 2018-02-22 22:45:15 +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
Philipp Hörist d6bfea1b19 Add extension point for GC tooltip 2018-02-20 22:51:28 +01:00
Philipp Hörist 27ffae2af4 Fix MessagTextview height
On some Desktops eg. Mate, the MessageTextview was to big, because
the default height seems to be 82.

What influences the default height (compare Windows where it is 46),
is unclear.
2018-02-20 22:03:57 +01:00
Philipp Hörist 64d743de3e StatusIcon: Add fallback for account label
Fixes #8901
2018-02-19 22:02:40 +01:00
Philipp Hörist 618b0b87c2 Add --start-chat command 2018-02-19 22:02:40 +01:00
Philipp Hörist c5de08d45f StartChatDialog: Use HighDPI icons/avatars 2018-02-19 22:02:40 +01:00
Philipp Hörist f1aceae214 Fix avatar ratio
Fixes #8907
2018-02-19 22:02:31 +01:00
Philipp Hörist 828e969d23 Simplify cellrenderers
- Makes it better understandable
- Fixes a bug where an avatar was drawn in a group row
- Fixes not all cells getting the same background color while using a theme
2018-02-18 02:00:43 +01:00
Yann Leboulanger be02828861 update Gajim version to 0.99.2 2018-02-17 18:54:18 +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 958c898ed1 Dont mutate THANKS constant 2018-02-16 21:44:12 +01:00
Philipp Hörist d0cdc06803 Make string translatable 2018-02-16 21:36:24 +01:00
Philipp Hörist fc007fc68f StatusIcon: Set account name correctly
Fixes #8901
2018-02-16 20:55:28 +01:00
Philipp Hörist 075ceacf49 VCard Window: fix URI
Fixes #8902
2018-02-16 20:48:22 +01:00
Philipp Hörist a4f08b3bfe Parse uri with message action correctly
Fixes #8894
2018-02-14 21:11:25 +01:00
Philipp Hörist a2caafa72c Dont show avatars as Window icon
Avatars are now Surfaces, Gtk.Window has no method yet to add Surfaces
as icons.

Transforming them back to pixbufs is not viable because pixbufs cant hold
the scale information, and we have no way to set it.

This was only used with single chat windows, which is a mode that came
out of style and is probably not used often anymore.

Fixes #8895
2018-02-14 20:10:56 +01:00
Sebastian Wagner 8b8ffae89a Join Groupchat Dialog use_underline for headerbar Join button mnemonic
https://valadoc.org/gtk+-3.0/Gtk.Button.set_use_underline.html
2018-02-13 20:49:48 +01:00
Philipp Hörist b26ba9aa67 Port show-next-pending-event from gajim-remote
Delete some already ported methods
2018-02-13 19:25:01 +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
Link Mauve c02af8f517 Fix data form window space usage 2018-02-12 12:34:00 +01:00
Philipp Hörist f47ea05b79 Read config files with UTF-8 2018-02-10 18:59:34 +01:00
Philipp Hörist 5d2c2e955f 0.99.1 2018-02-08 21:33:06 +01:00
Philipp Hörist 05d1a9e398 Raise nbxmpp version 2018-02-08 21:30:50 +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
Philipp Hörist 624a2c5cbc Merge branch 'keyring' into 'master'
Use keyring module to also handle password storage on linux

See merge request gajim/gajim!206
2018-02-06 20:52:44 +01:00
Philipp Hörist 1e8304755f Convert xmpp uris not to GFiles
We dont need to use the ::open handler to handle xmpp uris
2018-02-06 20:41:24 +01:00
Philipp Hörist 1f3a321112 Add Gajim version to exception output 2018-02-05 21:00:28 +01:00
Philipp Hörist 4a65f4aeae Fix StartChatDialog
Fixes #8881
2018-02-05 20:55:48 +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 d8020f18a1 Correctly handle cmdline args for remote instance 2018-02-03 09:36:21 +01:00
Philipp Hörist 9ed0edf331 Port ipython command from gajim-remote 2018-02-02 00:21:27 +01:00
Philipp Hörist 258c7922a5 Dont set Avatar if there is none
Fixes #8878
2018-01-30 23:40:15 +01:00
Philipp Hörist 6deedb1743 Only use logind listener on linux 2018-01-29 23:12:58 +01:00
Philipp Hörist 4f73b03d36 Remove unused method 2018-01-29 20:08:37 +01:00
Philipp Hörist c5c717ddd1 Use IconTheme for some icons 2018-01-29 20:02:30 +01:00
Philipp Hörist 762617e0be Use icons from IconTheme for Groupchat Roster 2018-01-29 00:06:46 +01:00
Philipp Hörist e19f7ef9b6 Use icons from IconTheme in TransformChatToMUC 2018-01-29 00:06:46 +01:00
Philipp Hörist 4f92142d09 Use icons from IconTheme in Dialogs 2018-01-29 00:06:46 +01:00
Philipp Hörist 2c2e946a88 Use icons from IconTheme in HistoryWindow 2018-01-29 00:06:46 +01:00
Philipp Hörist cb90d46996 Use icons from IconTheme for StatusIcon 2018-01-29 00:06:40 +01:00
Philipp Hörist dd12584fe6 Use icons from IconTheme for ChatControl Banner
It will correctly scale on HiDPI Displays if we set it like that
2018-01-29 00:06:32 +01:00
Philipp Hörist adb326a5f2 Refactor StatusComboBox
- Move as much code as possible into Glade file
- Pull icons from the IconsTheme (because of HiDPI scaling)
2018-01-29 00:06:31 +01:00
Philipp Hörist 749fcc1b48 Set enryption icon correctly 2018-01-29 00:06:31 +01:00
Philipp Hörist c983b1f50d Set padlock icon correctly 2018-01-29 00:06:31 +01:00
Philipp Hörist 232dc1dda0 Scale Avatars for HiDPI Screens 2018-01-29 00:06:31 +01:00
Philipp Hörist 440b6e4829 Move icons to hicolor folder
also add svg images for scaling
2018-01-29 00:06:21 +01:00
Philipp Hörist 5ce0c65ce4 Move chat options menu
Putting it into the header forced GTK Window Decorations, that makes
the application look alien on all systems except Gnome.
2018-01-28 20:39:02 +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 8bf3a179df Merge branch 'logind' into 'master'
Logind listener: make string translatable

See merge request gajim/gajim!200
2018-01-27 17:26:42 +01:00
Philipp Hörist 36f23c9cf2 Update httpupload action on discovery 2018-01-27 10:55:25 +01:00
Philipp Hörist afc3075415 Refactor adding actions to chat windows 2018-01-27 10:29:52 +01:00
Philipp Hörist b8a62a8bb2 Fix shortcuts in chat window
Fixes #8873
2018-01-27 08:44:11 +01:00
André Apitzsch 28749a7989 Remove cmp_to_key functions 2018-01-27 00:21:53 +01:00
André Apitzsch 6f20e5e6e3 Logind listener: make string translatable 2018-01-27 00:20: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
André Apitzsch 137b69c045 MusicTrackListener: remove unused code 2018-01-24 23:28:56 +01:00
André Apitzsch 7d2bbf92c5 MusicTrackListener: add support for clementine 2018-01-24 23:28:24 +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
Philipp Hörist c23af9c9e7 Merge branch 'translation' into 'master'
Add translation for corrected messages

See merge request gajim/gajim!198
2018-01-22 17:16:13 +01:00
Daniel 3ee3ce67ca Add translation for corrected messages 2018-01-22 11:55:32 +01:00
André Apitzsch e78b676784 Update copyright 2018-01-21 23:34:19 +01:00
Philipp Hörist 71fb3d0b4f Improve network speed on Windows
Call select.select() with the smallest timeout possible
2018-01-21 21:52:32 +01:00
Philipp Hörist 4aadc00bd6 Revert "Improve speed of Windows client"
This reverts commit 45e3139bd0
2018-01-21 20:45:32 +01:00
Philipp Hörist 45e3139bd0 Improve speed of Windows client
This calls on each mainloop cylce select.select() instead of every
20 ms.
2018-01-20 23:21:39 +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
André Apitzsch 5395bb1c79 logind_listener: fix TypeError 2018-01-19 00:20:47 +01:00
Matthew W. S. Bell 52482ec70d Use with_unix_fd_list variant of DBus method call.
Any returned 'h' type argument is intended to be an index into a
unix fd list structure obtained separately. Such a unix fd list, in
python, will manage and close any contained fds as a whole, or fds may
be retrieved, managed, and closed individually, as is done in this
patch.

Also, use None instead of -1 because python.

This patch means gajim keeps its supsend inhibitor open and stops it
closing stdin on suspend.

Fixes #8852
2018-01-18 18:23:00 +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
Philipp Hörist 67a008ea80 Improve ExceptionDialog
- Add OS/System info to report text
- Use ApplicationWindow
- Supply all the infos directly to gitlab via url params
2018-01-17 23:57:49 +01:00
André Apitzsch 06b8eb58e5 Fix tests 2018-01-17 22:36:14 +01:00
Daniel dcfa252602 Fix accidently translated strings 2018-01-17 21:15:14 +01:00
Yann Leboulanger b3a805c58a Merge branch 'more-translations' into 'master'
Make more strings translatable

See merge request gajim/gajim!186
2018-01-15 11:16:26 +01:00
Daniel 792be24540 Make more strings translatable 2018-01-15 10:51:04 +01:00
Yann Leboulanger a01bbb5111 Merge branch 'script' into 'master'
Use setuptools' automatic script creation

See merge request gajim/gajim!188
2018-01-15 10:02:52 +01:00
André Apitzsch 7943120b25 Use setuptools' automatic script creation 2018-01-13 22:50:38 +01:00
André Apitzsch 6f025a1d4a Remove some unused imports 2018-01-12 00:21:11 +01:00