Commit Graph

421 Commits

Author SHA1 Message Date
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