Commit Graph

705 Commits

Author SHA1 Message Date
Philipp Hörist f29d57e50b Catch invalid IQ stanzas and log them
Fixes #9044
2018-04-03 19:54:09 +02:00
Philipp Hörist 199f1c74ff Dont call show_all() on AboutDialog
Fixes #9038
2018-04-02 21:37:08 +02:00
André Apitzsch 672aae9c12 Fix password storage in plain text issue 2018-04-02 15:50:23 +02:00
Yann Leboulanger dc3565ee32 prepare 1.0.1 release 2018-04-01 22:48:42 +02:00
Yann Leboulanger 0f13b23a7d correctly set process name. Fixes #9034 2018-04-01 15:05:06 +02:00
Philipp Hörist e326aabf5f Decode PGP decrypted messages 2018-03-31 01:18:28 +02:00
Philipp Hörist 634cbd93a8 Remove not supported methods
Methods have been remove in from IPython since 2016
b7d03ed6b1 (diff-3ffc5a89fb88284fe9b5787b8859140b)

Fixes #9023
2018-03-30 15:05:25 +02:00
Yann Leboulanger ec78ce22e6 don't allow to open several filter dialogs. Fixes #8848 2018-03-29 12:26:37 +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
André Apitzsch 612b7b4302 Show help lines only once
fixes #9018
2018-03-28 20:13:05 +02:00
Yann Leboulanger a9a6b048fb set a transient_for for join groupchat dialog when needed. Fixes #8994 2018-03-28 16:14:54 +02:00
Yann Leboulanger 16b8eb1fd0 ability to fix room name when browsing muc service. See #8994 2018-03-28 15:22:28 +02:00
Yann Leboulanger f52e8d889c don't traceback on account deletion. Fixes #8960 2018-03-28 11:36:14 +02:00
Philipp Hörist 241deac31c ChatControl: Display status message nicer 2018-03-27 23:43:24 +02:00
Yann Leboulanger a3853f6958 fix string 2018-03-27 15:02:11 +02:00
Yann Leboulanger 7562acbe5b correctly generate css for font that have a space. Fixes #9012 2018-03-27 12:25:20 +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 4f1ba653e1 Raise min GTK version to 3.22 2018-03-26 19:41:41 +02:00
Yann Leboulanger 5353f770a1 Fix button text. Fixes #9005 2018-03-26 17:45:32 +02:00
Philipp Hörist 99b3aebc99 Remove unused imports 2018-03-26 01:06:56 +02:00
Philipp Hörist 6f55cf3dd4 Fix some problematic imports 2018-03-26 00:19:59 +02:00
Philipp Hörist b54f27599c Set min-width for notebooks tabs
Fixes #8973
2018-03-25 23:28:17 +02:00
Roland Pallai 23add367be Fix regression in a4291a27 2018-03-25 22:46:51 +02:00
Roland Pallai a4291a27f1 Fix sound playback for received group chat messages
Testing for historical messages was broken because `msg_obj.timestamp`
second resolution assumed but this is false and this led to broken
sound playback for received group chat messages.
2018-03-25 22:26:59 +02:00
Philipp Hörist 69fd7dc737 Groupchat: Set minimize on auto join default True 2018-03-25 21:34:42 +02:00
Yann Leboulanger 5874f5c388 ability to run history manager even when -s option is used to run Gajim 2018-03-25 20:52:36 +02:00
Yann Leboulanger e44d5e9778 typo 2018-03-25 18:29:17 +02:00
Yann Leboulanger a336f48b67 more string improvements 2018-03-25 18:20:37 +02:00
Yann Leboulanger faa88819a1 improve some strings 2018-03-25 16:26:29 +02:00
Philipp Hörist f7d9c16735 MessageTextView: Remove placeholder on paste
Fixes #8975
2018-03-25 01:39:16 +01:00
Philipp Hörist 6bd6294ab2 Disable autoscroll when moving the slider 2018-03-25 01:16:20 +01: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 af9552d704 Fix Autoscroll (for real this time)
Fixes #8992
2018-03-25 00:36:48 +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 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