Commit Graph

1015 Commits

Author SHA1 Message Date
Philipp Hörist cf911b3984 Fix regression from 4caa4971 2018-04-05 22:14:57 +02:00
Philipp Hörist 711f3cbbb0 Encode filenames before sending
Fixes #9039
2018-04-05 19:38:17 +02:00
Philipp Hörist 898ac96647 Some status codes should only be in our presence
Some Servers broadcast these status codes in every presence which
is wrong accoring to the XEP
2018-04-04 22:16:46 +02:00
Philipp Hörist 1b8d76bf9e Add missing return statement 2018-04-04 22:10:34 +02:00
Yann Leboulanger 2ea9fc6932 when adding bookmark, check server validity on focus out only. Fixes #7879 2018-04-04 15:16:41 +02:00
Yann Leboulanger 17ae4e4ccc Hide protocol combobox when adding contacts if only XMPP is available 2018-04-04 14:46:46 +02:00
Yann Leboulanger 8e144e46f8 Use XMPP logo in add contact dialog for XMPP protocol. Fixes #9049 2018-04-04 14:42:10 +02:00
Yann Leboulanger dc58586a7a mark string as translatable. Fixes #9050 2018-04-04 14:23:12 +02:00
Philipp Hörist 4caa4971b2 Catch decrypted-message-received event in ChatControl
It makes more sense to catch the event with ChatControl than with the
RosterWindow. RosterWindow is only used now if no ChatControl is open.
2018-04-04 01:13:02 +02:00
Philipp Hörist 8a4264c94e Remove event handler on ChatControl Shutdown 2018-04-04 00:00:08 +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 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
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
Yann Leboulanger aa6e9e7084 improve string and add comment for translators 2018-01-09 10:31:50 +01:00
Yann Leboulanger 54146ba63d Merge branch 'screensaver' into 'master'
Port screensaver listening to GTK dbus

Closes #8836

See merge request gajim/gajim!183
2018-01-08 15:27:34 +01:00
André Apitzsch 0ddff9c2a9 Fix string for a better translation 2018-01-08 00:24:17 +01:00
André Apitzsch e89e7c3123 Port screensaver listening to GTK dbus 2018-01-05 23:33:37 +01:00
André Apitzsch 5f0dc56faa Remove obsolete file 2018-01-05 00:24:20 +01:00
André Apitzsch 81a039854f Port music_track_listener to GTK dbus 2018-01-04 21:49:16 +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 d3890585f6 Refactor css font size parsing
- Get rid of deprecated Gdk.Screen methods
- remove support for 'ex' unit - not easily correct implemented and not commonly used

Fixes #8491
2018-01-04 00:08:12 +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 1d835fbfd7 Raise nbxmpp version 2017-12-28 18:10:26 +01:00
Philipp Hörist ccc69bc7ee Fix LMC in Groupchats 2017-12-28 17:37:37 +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
Philipp Hörist 8ea39cff75 Add 'active' chatstate to groupchat messages
Fixes #8801
2017-12-27 19:09:12 +01:00
Philipp Hörist 1b2ab928f0 Fix focus after destruction of StartChatDialog
On destroy() the window that was last focused gets the focus
again. if destroy() is called from the StartChat Dialog, the new
ChatControl is not yet focused, because present() seems to be asynchron,
at least on KDE, and takes time.
2017-12-26 21:55:19 +01:00
Philipp Hörist 23de7d5331 Use higher level API to focus windows
set_active_tab() already calls present(), no need to call it afterwards
again
2017-12-26 21:55:19 +01:00
Philipp Hörist fd7f302044 Merge branch 'master' into 'master'
Refactor some Tooltips

See merge request gajim/gajim!180
2017-12-24 08:40:04 +01:00
Philipp Hörist 8116ef1316 Refactor GCTooltip
- Dont create a Tooltip window
- Just return the tooltip grid, so we can use it with set_custom()
2017-12-23 22:04:54 +01:00
Philipp Hörist bc5d9c76b1 pep8/pylint: Fix imports 2017-12-23 22:04:54 +01:00
Philipp Hörist 2a41c7198f Remove BaseTooltip
We dont needed anymore
2017-12-23 22:04:54 +01:00
Philipp Hörist 912192ed41 NotificationAreaTooltip: Dont inherit from BaseTooltip 2017-12-23 22:04:54 +01:00
Philipp Hörist 9db9e69c35 Refactor FileTransferWindow tooltip 2017-12-23 22:04:49 +01:00
Yann Leboulanger c3369f0304 ability to call ad hoc commands on groupchats and groupchats occupants.
Fixes #8819
2017-12-22 12:21:57 +01:00
Philipp Hörist ed0e2dd82b Merge branch 'plain_connection_dialog_fix' into 'master'
Dialogs: Use get_widget_for_response() to access buttons

See merge request gajim/gajim!178
2017-12-20 20:45:48 +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
Marc Schink 65bc965918 dialogs: Use get_widget_for_response() to access buttons
The get_action_area() API is deprecated and under some circumstances
the wrong button gets accessed.
2017-12-19 22:23:27 +01:00
Philipp Hörist e7df2d93b6 HistorySync: Fix first time sync
Fixes #8810

Also remove mam_start_date migration.
mam_start_date didnt exist in Gajim 0.16.x and it doesnt hurt
if people who used the dev version download some extra messages.
Our deduplication algorithm should take care of it.
2017-12-19 21:12:07 +01:00
André Apitzsch f3bde561a3 GUI interface: fix resource warning 2017-12-18 23:14:22 +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 c18ef648e6 Replace deprecated get_background_color() 2017-12-18 00:25:19 +01:00
Philipp Hörist bdf16c5182 Replace deprecated override_background_color() 2017-12-18 00:11:39 +01:00
Philipp Hörist f4a6b0299a Remove deprecated Gdk.Screen methods
height() and weidth() is not supported any more
2017-12-17 22:30:16 +01:00
Philipp Hörist e3effdcb6c Refactor SubscriptionWindow 2017-12-17 22:30:16 +01:00
Philipp Hörist 80ceee57af Remove unused methods
Action Button was removed in the last ChatControl redesign
2017-12-17 22:30:16 +01:00
Yann Leboulanger ec2da20f58 add transient_for parameter 2017-12-17 18:41:49 +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 65593c613c Fix undefined var 2017-12-17 17:34:22 +01:00
Philipp Hörist 9411ccd827 Fix DB migration for additional_data 2017-12-17 17:10:00 +01:00
Philipp Hörist 2c4c610632 Make sure our own JID is in the DB 2017-12-17 13:48:32 +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 2001cf4a17 Update version to 0.98.2 2017-12-17 11:56:04 +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
Philipp Hörist ba54c304e8 Add GTK+ version check on start 2017-12-16 23:20:37 +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 a344a94102 Fix chatstate flood
The new Placeholder text inside MessageTextView was causing many
buffer changed events.

- Add a method that lets us know if there is user input
- Add logging
2017-12-15 23:00:15 +01:00
Yann Leboulanger 3764567c10 update version number for 1.0.0-alpha1 release 2017-12-15 22:29:31 +01:00
Emmanuel Gil Peyrot 0707f1a27c Fix xmpp: URI handling.
It was previously removing the first three characters of the JID, and
ignored any URI without an action.
2017-12-15 02:40:53 +01:00
Philipp Hörist 4009625e02 Catch invalid URIs 2017-12-14 20:19:12 +01:00
Emmanuel Gil Peyrot f4cae17d9f Remove support for AWN, which isn’t maintained anymore 2017-12-13 23:19:16 +01:00
Yann Leboulanger 4e7fcea288 Merge branch 'logind' into 'master'
Port logind_listener to GTK dbus

See merge request gajim/gajim!167
2017-12-13 21:57:57 +01:00
Yann Leboulanger a39d68d4ae when internet connection is back, only connect accounts that were
connected before connection broke
2017-12-11 21:13:53 +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
André Apitzsch 5364c1980c Port logind_listener to GTK dbus 2017-12-09 15:04:15 +01:00
André Apitzsch be32d9afe6 Remove upower_listener
the 'Sleeping' signal has been removed from UPower about four years ago
https://cgit.freedesktop.org/upower/commit/src/org.freedesktop.UPower.xml?id=1ee642e705a63f5ad56a6b55e4bf5c4a64c959b8
2017-12-09 00:34:47 +01:00
Philipp Hörist 786ef96400 Port InformationEvent handling to new interface 2017-12-09 00:15:26 +01:00
Philipp Hörist 6926bdaee0 Port some error messages to new interface 2017-12-08 20:20:07 +01:00
Philipp Hörist 61ad783658 Add new interface to raise dialogs 2017-12-08 19:50:48 +01:00
pitchum cb7eba562d Bugfix in printing fuzzy time. 2017-12-06 21:44:13 +01:00
Philipp Hörist f724359c2b Raise required nbxmpp version 2017-12-05 17:25:17 +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 feaf9df0cf Remove xmpp uri handling from gajim-remote 2017-12-04 17:06:24 +01:00
Philipp Hörist 38944331b3 Handle ?message uris 2017-12-04 00:20:18 +01:00
Philipp Hörist 1afd4f0e72 New StartChat Dialog 2017-12-03 23:58:02 +01:00
Philipp Hörist 010b166fd2 Handle ?roster uris 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
Philipp Hörist d814a42345 Remove old JoinGroupchat dialog 2017-12-03 23:58:02 +01:00
Philipp Hörist 553ba9e59f Dont preserve aspect ratio when loading an avatar
Clients should only upload square sized avatars
2017-12-03 23:58:02 +01:00
Philipp Hörist 47f1f41977 Dont use mutable objects as default arguments 2017-12-03 15:34:33 +01:00
Yann Leboulanger 086eeb3dc8 resolve TXT record only for non-zeroconf accounts. Fixes #8792 2017-12-03 14:55:41 +01:00
Andrey Gursky 5a28322e6a Fix appearance of status icon in MATE
Tested in Debian testing (Buster) with gtk2 based MATE 1.12,
gtk3 based 1.16 and 1.18.

Moreover the used environment variable is depreacated already in 1.12:
$ echo $MATE_DESKTOP_SESSION_ID
this-is-deprecated

Fixes #8757
2017-11-30 23:30:48 +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
André Apitzsch f97b799f9a Fix invalid dev version string 2017-11-23 00:22:40 +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
Yann Leboulanger 84af966a87 prevent traceback 2017-11-20 21:18:32 +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 3683f23877 Merge branch 'master' into 'master'
Add MAM for MUCs

See merge request gajim/gajim!152
2017-11-19 23:14:10 +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
Yann Leboulanger b66311532f Merge branch 'new_visible_func' into 'master'
New visible func

Closes #8670

See merge request gajim/gajim!153
2017-11-19 18:00:26 +01:00
Yann Leboulanger 0b2e558834 Take into account show_transports_group option to show transports 2017-11-19 17:56:13 +01:00
Yann Leboulanger 7724dd181b New visible func faster and cleaner. Fixes #8670 2017-11-19 17:54:33 +01:00
Philipp Hörist 24320c894c Remove unused code 2017-11-19 14:34:04 +01:00
Philipp Hörist f7bb9c8a33 Merge branch 'networkmonitor' into 'master'
Use Gio.NetworkMonitor for reconnecting

See merge request gajim/gajim!149
2017-11-18 22:09:35 +01:00
Yann Leboulanger 639f0db164 Merge branch 'symbolic' into 'master'
Add symbolic icon

See merge request gajim/gajim!151
2017-11-18 21:11:19 +01:00
Annika Sommer 86f5953e2b MUC: Improve error messages
Distinguish between 'item-not-found' and 'remote-server-not-found'

Fixes #8749
2017-11-18 18:10:10 +01:00
Philipp Hörist c1c2a92efc Init Plugins and Caps after Roster
- Some plugins do not depend on gui extension points and need the
roster to be initialized
2017-11-18 11:11:47 +01:00
André Apitzsch 566b5370e6 Add symbolic icon 2017-11-17 23:04:05 +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 775fec2fea Dont activate plugins in PluginManager init
Plugins maybe want to use in their activation Gajim methods that
use an extension point. But because the PluginManager Object is not fully
initialized, the extension point method is not available yet

First create the PluginManager Object, then load Plugins.
2017-11-15 22:26:55 +01:00
Philipp Hörist 0fe78daae8 Init PluginManger earlier
- Plugins need the possibility to add caps before Gajim updates them
2017-11-15 21:57:15 +01:00
Philipp Hörist e8004084fb Use Gio.NetworkMonitor for reconnecting
- This uses also NetworkManager, but also other more low level interfaces
on linux
- This should work cross-platform
- Leave network_watcher.py for now, because it shows how
to use the Gtk dbus interface
2017-11-12 23:53:03 +01:00
Philipp Hörist 5236693df9 Parse stanza-id in groupchat correctly 2017-11-11 21:46:00 +01:00
Philipp Hörist 309e844b4e Escape account label in roster and menus 2017-11-11 17:10:31 +01:00
Philipp Hörist d19e87eb7b Fix showing normal message event
Regression introduced in 9b866fd1a0
2017-11-10 18:09:36 +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 07055ccaad Update menus on account label change 2017-11-06 23:29:07 +01:00
Philipp Hörist e4ad111c02 ServerInfo: Make InfoItems selectable 2017-11-06 23:05:32 +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 6fc2cd30e8 ServerInfo: fix pylint/pep8 2017-11-06 23:04:33 +01:00
Philipp Hörist 80f658e81f ServerInfo: Add server uptime info 2017-11-06 23:03:16 +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 cb1d8cc78c Merge branch 'master' into 'master'
Add extension points to history window

See merge request gajim/gajim!147
2017-11-03 23:24:28 +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
Thilo Molitor e97e7b13cd Add gui extension point to history window 2017-11-03 17:45:03 +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 5510e042d4 Make OptionsDialog extendable
Plugins or other code can pass custom Options
2017-11-01 11:42:44 +01:00
Philipp Hörist ecd5c652a2 Get drag and drop data correctly
Fixes #8773
2017-10-31 18:13:31 +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 a7e53eb04b Catch Application signals instead of overwriting 2017-10-31 17:33:32 +01:00
Philipp Hörist cb3d4f4687 Update nbxmpp dependency to 0.6.0 2017-10-31 17:33:02 +01:00
Philipp Hörist 417464d9c5 Remove advanced commandline handling
Its enough to connect to the handle-local-options signal for what we
currently want to do.
2017-10-31 17:29:54 +01:00
Philipp Hörist 0b21c12c41 Make Scrollbar look more unobtrusive 2017-10-31 00:05:03 +01:00
Philipp Hörist 7ab6ed7e16 Disable overlay scrolling 2017-10-30 23:01:46 +01:00
Philipp Hörist 174a429d20 Add Separator in ChatControl 2017-10-30 23:01:34 +01:00
Philipp Hörist 7ee0636574 Pass iter to print_special_text extension point 2017-10-30 21:11:27 +01:00
Philipp Hörist 06e4c2c4f1 Display carbons in MUC-PMs correctly 2017-10-29 09:50:16 +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 87b6540104 Fix height of MessageTextView in some cases 2017-10-27 10:46:59 +02:00
Philipp Hörist 12783e039b Catch require_version ValueError 2017-10-27 10:42:43 +02:00
Philipp Hörist 40547c4d4b Fix import error 2017-10-27 10:36:00 +02:00
Philipp Hörist 3c103315ec Refactor Speller 2017-10-26 22:52:27 +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 9e39287d8e ProfileWindow: Fix typo 2017-10-20 20:51:40 +02:00
Philipp Hörist 456d7f87ff Catch OSError when converting with Pillow 2017-10-20 19:09:41 +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 0d16ef32e6 Fix StatusIcon on MacOS 2017-10-17 18:36:02 +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 03e326688d MUC: Hide block menu if privacy list is absent 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 16ad608066 Minimize Roster correctly on ESC
Fixes #8765
2017-10-14 21:08:58 +02:00
Philipp Hörist 2b0ab5e9aa Fix syntax error 2017-10-14 09:48:57 +02:00
Philipp Hörist c6fc9081c5 Catch exception when closing window
Fixes #8761
2017-10-14 09:43:44 +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 149522dcee ServerInfo: Add PubSub discovery 2017-10-14 00:13:18 +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 95a984f645 HistoryWindow: Fix some UI issues
- Set application and menubar
- Remove deprecated settings

Fixes #8756
2017-10-08 19:02:55 +02:00
Philipp Hörist 0b1d5a3174 Remove unused import
- Sort imports correctly (PEP8)
2017-10-08 18:09:15 +02:00
Philipp Hörist 57efe7c457 Set application and menubar on MessageWindow 2017-10-08 18:08:13 +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 38406e39d6 Remove BigAvatarWindow 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 2872405f07 Fix deprecation warnings 2017-10-07 21:01:27 +02:00
André Apitzsch c758da1123 Replace make_color_string() by Gdk.RGBA method 2017-10-07 17:03:31 +02:00
Yann Leboulanger 372c1f9941 make a string not translatable 2017-10-07 14:54:39 +02:00
Philipp Hörist 2a2d4477a7 Fix broken highlight sound in Groupchat
tim is epoch, time.localtime() a struct_time
2017-10-07 11:15:10 +02:00
Philipp Hörist 6f2fbde60e Highlight on mention of own real JID in Groupchat
Fixes #8752
2017-10-07 11:10:53 +02:00
Philipp Hörist 4e1d296dcf Make Groupchat JID selectable
Fixes #8753
2017-10-07 10:28:43 +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 7bd73e2424 Fuse Emoticons/Authentication with TextView 2017-10-03 03:12:31 +02:00
Philipp Hörist 0b83a675ea Make Groupchat Roster larger 2017-10-03 00:38:47 +02:00
Philipp Hörist ef748c6d46 Remove send button 2017-10-03 00:38:47 +02:00
Philipp Hörist 6f472cc120 Set message as read before removing an event
When we receive carbons of a conversation, we remove the events once
we receive a carbon from ourself, because that means we anwered from
another device.

This sets these removed messages also as read in the unread_message
table, so they dont popup on restart.
2017-09-29 12:41:26 +02:00
Philipp Hörist 83f4d6e191 OptionsDialog: Destroy dialog on ESC 2017-09-29 02:43:29 +02:00
Philipp Hörist b9aba06f71 Remove unused variables 2017-09-29 02:41:03 +02:00
Philipp Hörist dd39067ef7 Allow Plugins to use other dialogs 2017-09-29 02:40:01 +02:00
Philipp Hörist 69248b2fe7 Fix pylint/pep8 errors 2017-09-29 00:11:29 +02:00
André Apitzsch 5794b040d3 Replace deprecated Gtk.Image.*_from_stock() 2017-09-28 19:42:00 +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
Philipp Hörist f8f84338b2 Rename Zeroconf Credentials Dialog 2017-09-25 13:57:25 +02:00
Yann Leboulanger 81a6be74ad Merge branch 'setuptools' into 'master'
Use Setuptools to build gajim

Closes #8633

See merge request !128
2017-09-25 11:15:40 +02:00
Philipp Hörist 65d2284b59 Reduce PROCESS_TIMEOUT on Windows
If io_add_watch is available like on Linux, the PROCESS_TIMEOUT,
is only used to check for timed out events.

On Window its also used to call select() on the socket, so we get
pending data. We need this as low as possible otherwise Gajim on
Windows feels painfully slow.
2017-09-23 10:10:36 +02:00
André Apitzsch 5819f7e439 setup.py: move plugins directory to data directory 2017-09-22 21:48:18 +02:00
André Apitzsch 864e572584 setup.py: install missing files 2017-09-22 19:12:26 +02:00
André Apitzsch 30424b364a Move ipython_view to gajim.dev and exclude it from tarball 2017-09-22 19:12:26 +02:00
André Apitzsch 06102e7d97 Linux: fix translation issue 2017-09-22 19:12:26 +02:00
André Apitzsch 77014f09c6 Add dev version number support 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
André Apitzsch ad600f5193 Move data required to run gajim into gajim directory 2017-09-22 19:12:26 +02:00
André Apitzsch cf36549fde Remove Makefiles 2017-09-22 19:12:26 +02:00
Philipp Hörist 9785f31415 Set lock_image from icon name instead of filepath
Fixes #8673
2017-09-22 16:44:07 +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
Philipp Hörist f50f22c4bd Use custom font for MessageTextView 2017-09-20 21:18:22 +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 539c1969db Remove old AccountsWindow 2017-09-16 16:09:19 +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
André Apitzsch 3be1c2093f Move data files to module 2017-09-16 12:07:31 +02:00
Philipp Hörist 41b977b914 Add option to disable ascii emoticons 2017-09-15 23:22:47 +02:00
Philipp Hörist ef75e93c70 Change License in AboutDialog 2017-09-13 21:52:18 +02:00
Philipp Hörist f6e754727c Differentiate upper/lower case string emojis 2017-09-13 21:20:59 +02:00