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
Yann Leboulanger
083e3017ab
Use GNotification instead of pynotify or dbus
2017-09-13 21:20:37 +02:00
Yann Leboulanger
1b4e856d80
fix reading secrets file
2017-09-13 14:25:36 +02:00
Philipp Hörist
995ade8a11
Only log for GC Message for one account
2017-09-07 16:42:51 +02:00
Philipp Hörist
1a0b7ee163
Dont lose own JID from bind
...
_registered_name is None on a smacks resume.
Gajim creates on every connection attempt a new nbxmpp.NonBlockingClient
instance. This is why _registered_name is None when we go through a
smacks resume, because there is no bind event, and the new NonBlockingClient
instance has no knowledge of the previous successful bind.
2017-09-06 21:26:40 +02:00
Philipp Hörist
8bc2ab096e
Add more log output in case we drop carbons
2017-09-03 22:35:56 +02:00
Philipp Hörist
a462af555b
Hide License Button only on Windows
2017-09-02 12:07:14 +02:00
Philipp Hörist
4372b67433
Refactor AboutDialog
...
- Move Credits to const.py
- Minor Refactoring
2017-09-02 11:22:18 +02:00
Yann Leboulanger
b7efb3604e
Merge branch 'gtkgui_helpers' into 'master'
...
gtkgui_helpers: remove some unused code
See merge request !125
2017-08-28 15:38:55 +02:00
André Apitzsch
fbc5851748
gtkgui_helpers: remove some unused code
2017-08-27 22:43:47 +02:00
Philipp Hörist
ec1d75f15b
Fix typo in link
2017-08-27 22:41:11 +02:00
Philipp Hörist
298fa4b96d
Update old trac links
2017-08-27 22:32:33 +02:00
Yann Leboulanger
d6a8a238f8
Merge branch 'os_info' into 'master'
...
common.helpers: simplify get_os_info()
See merge request !122
2017-08-27 22:22:02 +02:00
Emmanuel Gil Peyrot
63947c42e4
dataforms: Replace @nested_property with @property.
2017-08-27 20:57:35 +01:00
Yann Leboulanger
b4362a8a97
ignore some pylint errors
2017-08-27 21:37:19 +02:00
Yann Leboulanger
46c9e5c679
Make IPython 5 work
2017-08-27 21:21:48 +02:00
André Apitzsch
66b49c243c
common.helpers: simplify get_os_info()
2017-08-26 00:19:32 +02:00
Yann Leboulanger
134f72db17
Hide some pylint errors
2017-08-24 23:20:35 +02:00
Yann Leboulanger
8d4e815f3e
fix some pylint errors
2017-08-24 23:01:06 +02:00
Yann Leboulanger
e57817addc
Nicer code
2017-08-24 15:41:39 +02:00
André Apitzsch
663176cfc5
fix some import warnings and errors pointed out by pylint
2017-08-24 01:18:01 +02:00
Philipp Hörist
b9363fe983
Remove pylint.rc from gajim folder
2017-08-24 00:13:18 +02:00
Yann Leboulanger
2b065c0e58
remove unused import / variable
2017-08-24 00:07:14 +02:00
Philipp Hörist
1a352c0e47
Zeroconf: Call method with correct arguments
2017-08-23 23:34:16 +02:00
Philipp Hörist
28045e9d36
Resolver: Raise correct error
2017-08-23 23:29:38 +02:00
Philipp Hörist
00d091dd54
Add keyword arg to prototype
...
this was probably forgotten
2017-08-23 23:26:26 +02:00
Philipp Hörist
95f4703de2
Fix unexpected-keyword-arg
2017-08-23 20:24:55 +02:00
Philipp Hörist
26dda61555
Fix undefined-variable
2017-08-23 20:15:32 +02:00
Philipp Hörist
4a9ba28a10
Fix typo
2017-08-23 20:01:48 +02:00
Philipp Hörist
6cacc55901
Dont use internal members in Dialogs
...
vbox and action_area are internal members of Gtk.Dialog.
We should use the methods provided by the API to get these Objects.
2017-08-23 19:50:29 +02:00
Philipp Hörist
80e5c27fa9
Use correct inherit pattern
2017-08-23 18:57:38 +02:00
Philipp Hörist
b72c3c109c
Remove unused event handler
...
There exists no 'default_status_eventbox' anymore in Gajim
2017-08-23 18:47:39 +02:00
Philipp Hörist
44a287703e
Fix method call
...
Regression from making gajim a module
2017-08-23 18:46:43 +02:00
Philipp Hörist
00e72b1d73
Remove unused code
...
Whatever this was, its not used since 4 years
see 8f71d9f219
2017-08-23 18:34:17 +02:00
Yann Leboulanger
3357622c2d
fix enabling accounts
2017-08-22 23:25:07 +02:00
Yann Leboulanger
ce719a8317
No need to have one sleepy instance per connection object
2017-08-22 21:55:18 +02:00
mimi89999
1f506a14cf
fix import
2017-08-22 12:39:26 +02:00
Yann Leboulanger
d070d141bb
fix scrolling to iter in groupchat when we receive a pm. Fixes #8635
2017-08-21 21:59:47 +02:00
Yann Leboulanger
3c693a7a22
fix import
2017-08-21 16:38:27 +02:00
Yann Leboulanger
144c862dab
fix import
2017-08-21 16:34:50 +02:00
Yann Leboulanger
07ba85b456
Ability to be notified on all message. Option is now perroom. Fixes #8646
2017-08-20 23:07:58 +02:00
Yann Leboulanger
163306f78a
make log history checkbutton sensitive when we open history window with an account. Fixes #8705
2017-08-20 14:57:18 +02:00
Philipp Hörist
e8399dc2ed
Fix wrong call to Sleepy()
...
And place a log call so we can gather exceptions to lose the
general exception in the future.
2017-08-19 22:32:50 +02:00
Yann Leboulanger
c4383c16c6
Use correct account when opening history window
2017-08-18 22:05:48 +02:00
Yann Leboulanger
9bafd7698b
fix some Q_() call
2017-08-18 22:05:16 +02:00
André Apitzsch
89c7eb6e6a
Rename gajim.common.gajim to avoid name conflicts
2017-08-18 20:03:20 +02:00
André Apitzsch
ab041963b1
Fix start of history manager from gajim
2017-08-18 19:48:48 +02:00
André Apitzsch
674012042a
Mark gajim as a python package
2017-08-18 19:48:48 +02:00
André Apitzsch
675ebe54dd
Up Gajim version to 0.16.11
2017-08-18 19:48:48 +02:00
André Apitzsch
f7e83af297
GajimRemote: Fix invalid filename
2017-08-18 19:48:48 +02:00
André Apitzsch
efec098aef
Use absolute imports
2017-08-18 19:48:48 +02:00
Philipp Hörist
10f8fe2bb5
Use unique id as action name instead of jid
...
A jid can contain characters that are not allowed in an action name.
This creates a unique UUID4 for each MessageControl and uses it as
action name instead.
We can reuse the UUID for other actions that belong to the
MessageControl
Fixes #8636
2017-08-18 18:58:07 +02:00
Philipp Hörist
d20f2201f2
Print error on unhandled commandline arguments
2017-08-18 17:48:03 +02:00
Yann Leboulanger
43fbcbf8cf
remove call to old XEP-0136 function
2017-08-17 22:18:35 +02:00
Yann Leboulanger
a47bb9f03c
fix error when someone changes nick ina room
2017-08-17 21:40:00 +02:00
Yann Leboulanger
cfbf45cdf7
add missing config options to save pm position and size
2017-08-17 15:03:40 +02:00
Yann Leboulanger
2bb5ad7bca
fix DnD of files on roster
2017-08-16 23:06:05 +02:00
Yann Leboulanger
09bcbc0cef
Forget all unused streamhosts when we use one of our proposed streamhosts
2017-08-16 23:05:43 +02:00
Yann Leboulanger
99b27b4484
correctly compute file hash when file is received
2017-08-16 22:03:17 +02:00
Philipp Hörist
1211a1bc59
XMLConsole: Use glade file for building widgets
2017-08-16 19:05:13 +02:00
Yann Leboulanger
21e144d89d
use correct SID in Jingle FT to compute hostname of SOCKS5 connection. Fixes #8703
2017-08-16 15:27:35 +02:00
Philipp Hörist
4f4a58e51a
XMLConsole: Fix size allocate warning
...
It seems to be important to let all widgets realize and then
hide the ones we dont want to show, instead of not showing them
in the first place.
2017-08-15 19:45:42 +02:00
Philipp Hörist
4ad5fd9cdc
Add method for creating image buttons
2017-08-15 19:23:23 +02:00
Yann Leboulanger
9ce6299e1a
use netifaces to get local IPs if available. Fixes #8666
2017-08-14 18:37:11 +02:00
Yann Leboulanger
d994845212
Revert "use netifaces to get local IPs if available. Fixes #8666"
...
This reverts commit b9c363e9cd
.
2017-08-14 18:36:40 +02:00
Yann Leboulanger
b9c363e9cd
use netifaces to get local IPs if available. Fixes #8666
2017-08-14 16:43:44 +02:00
Philipp Hörist
dbbd3fe111
Fix broken menus when renaming an account
2017-08-14 15:02:55 +02:00
Yann Leboulanger
f8383954e3
Fix socks5 problem:
...
receive() returns bytes, not str
2017-08-14 14:44:04 +02:00
Yann Leboulanger
bda11b7d39
Merge branch 'master' into 'master'
...
rework password interface. Fixes #8347
Closes #8347
See merge request !117
2017-08-14 10:15:07 +02:00
Yann Leboulanger
9b866fd1a0
do not create Event when we auto popup a normal message. Fixes #8645
2017-08-13 23:03:11 +02:00
Yann Leboulanger
89d3c3af14
rework password interface. Fixes #8347
2017-08-13 14:22:28 +02:00
Philipp Hörist
27afece678
OptionsDialog: Center switch button vertically
2017-08-13 00:50:39 +02:00
Philipp Hörist
5554e99452
Add maximize button to XMLConsole window
2017-08-13 00:45:03 +02:00
Yann Leboulanger
43b3d1bd83
unify cid -> candidate_id
2017-08-12 22:55:17 +02:00
Yann Leboulanger
baa54f5010
Merge branch 'use_precis' into 'master'
...
Use precis instead of stringprep when available. Fixes #8566
See merge request !116
2017-08-12 14:55:08 +02:00
Yann Leboulanger
af547a1827
don't close the socket we're using to tranfer file. Fixes #8657
2017-08-12 14:40:26 +02:00
Yann Leboulanger
b6189a60cf
use idna python module to check domainpart when available
2017-08-11 08:12:00 +02:00
Yann Leboulanger
1a2ac87f46
use precis_i18n instead of stringprepare when available to sanitize JIDs
2017-08-11 08:11:52 +02:00
Philipp Hörist
5a7a6766b8
Fix rare bug in scroll_to_end()
2017-08-10 11:07:57 +02:00
Philipp Hörist
a25a38edd3
Correctly destroy all windows on quit()
...
Not all Dialogs have a window instance, some inherit Gtk.Window
2017-08-10 11:04:21 +02:00
Philipp Hörist
512e6d2c8e
Redesign XML Console
...
- Use modern GTK Widgets (HeaderBar, ActionBar, Switch)
- Add an option to filter Stream Management stanzas
- Add a generic Option Dialog that we can reuse later
2017-08-10 02:13:20 +02:00
Philipp Hörist
e6f1d29471
Remove old XML Console
2017-08-10 02:13:20 +02:00
Yann Leboulanger
b5c3b15c0f
Fix running tests
2017-08-09 21:05:45 +02:00
Philipp Hörist
c57af6dade
Retract nickname from pubsub correctly
2017-08-08 19:58:20 +02:00
Philipp Hörist
f3bdb596bd
Refactor remove_roster()
...
- Execute as script to save roundtrips
2017-08-08 18:53:25 +02:00
Philipp Hörist
10b0865291
Refactor set_room_last_message_time()
...
- Dont depend on get_jid_id(), this saves roundtrips
2017-08-08 18:22:29 +02:00
Philipp Hörist
c53e2b1bb9
Dont try to insert if JID is already in DB
...
- This is added because even an ignored INSERT raises the
autoincrement value of the table.
This means the jid id gets high really fast.
2017-08-08 18:22:29 +02:00
Philipp Hörist
f88e8d835b
Remove old DB methods
2017-08-08 18:22:29 +02:00
Philipp Hörist
25a764a656
Port logging incoming messages to new DB API
2017-08-08 18:22:23 +02:00
Philipp Hörist
8c920b35ff
Move logging GC messages into connection_handlers
...
- It should be where all other message received handlers are
- Port to new DB API
2017-08-08 15:24:41 +02:00
Philipp Hörist
608655deed
Use new DB API for logging status and errors
2017-08-08 14:41:55 +02:00
Philipp Hörist
635ce52856
PluginManager: prefer plugins in user path
...
As we always load plugins from the user path first, we should not
reload them later from Gajims plugin base dir
2017-08-07 20:02:03 +02:00
Philipp Hörist
7e0e4cced0
PluginManager: remove plugin path from sys.path
...
Remove plugin path from sys.path after importing.
If we scan multiple plugin dirs and never remove the path from
sys.path, it is hard to predict from which path python will import
a package.
The chance that the same plugin package is in multiple plugin paths
is high.
2017-08-07 19:28:54 +02:00
Philipp Hörist
413c7f52d7
Add senders attr to Jingle FT
...
This is a MUST see https://xmpp.org/extensions/xep-0234.html
Fixes #8662
2017-08-07 17:41:32 +02:00
Philipp Hörist
1eeb53bee6
Use correct file date on Jingle FT
...
- XEP-0234 demands UTC
- we missed the 'Z' at the end
- simplified the code
2017-08-07 13:34:23 +02:00
Philipp Hörist
a2e2fb2ed1
Remove useless code
...
Simplify whats left
2017-08-02 23:40:55 +02:00
Philipp Hörist
9d2898bb35
Log sent messages with new logger method
...
- also save stanza id to the DB
2017-08-02 23:34:24 +02:00
Philipp Hörist
a01611178d
Logger: dont try to parse None with json
2017-08-02 21:32:59 +02:00
Philipp Hörist
0c6002b9ac
Zeroconf: handle only zeroconf messages
2017-08-02 21:03:12 +02:00
Philipp Hörist
97f6b84b90
Remove old unused code
2017-08-02 19:24:09 +02:00
Philipp Hörist
f1a29fcb6a
About Dialog: Update Copyright
2017-08-02 18:59:21 +02:00
Philipp Hörist
6f3c21118f
Stay compatible to python 3.4
...
Fixes #8690
2017-08-02 18:57:02 +02:00
Philipp Hörist
651611b28b
Improve timestamp usage for MAM
...
- Use new parse_datetime() method
- Drop message with error if MAM doesnt supply a timestamp.
- If the user supplys an own timestamp, save it so we can decide in the
future how to display it.
2017-08-01 21:43:28 +02:00
Philipp Hörist
e24d4f8caf
Fix receiving MAM Messages from ourself
...
This is a regression from the refactoring
2017-08-01 21:39:11 +02:00
Philipp Hörist
1f5e927ca6
Use new DB methods for MAM Messages
...
- also push a new MamDecryptedMessageReceived
event after disco instead of writing directly to the DB
2017-08-01 21:39:11 +02:00
Philipp Hörist
16fd64873e
Add new logger methods
...
Goal is to make the logger module easier to maintain in the future
- extract deduplication out into a own method, so we can use it
on its own in some other places.
- add new insert_into_logs() method
the DB fields we want to write to are passed as arguments, this makes
it so we dont have to change the method when we add or remove DB fields
in the future.
- instead of using get_jid_id() all around gajim to get the jid_id
before we write to the DB, we only have to pass the jid to
insert_into_logs(), it makes sure to get the correct jid_id or add
one in case it doesnt exist.
2017-08-01 21:39:06 +02:00
Philipp Hörist
6925ce0628
Merge branch 'master' into 'master'
...
Add a new XEP-0082 parsing method
See merge request !111
2017-08-01 20:57:15 +02:00
Philipp Hörist
0fee27928d
Add a new XEP-0082 parsing method
...
This handles every possible XEP-0082 timestamp
It has some additional options:
- Check if a timestring is a valid UTC timestamp, as required by some
XEPs (for example: XEP-0203)
- Return timestamp as datetime in UTC
- Return timestamp as datetime in localtime
- Return timestamp as epoch
2017-08-01 20:53:00 +02:00
Philipp Hörist
e493606070
Fix typo
2017-07-31 19:30:18 +02:00
Yann Leboulanger
6a95fe79ae
Merge branch 'xep-0319' into 'master'
...
Xep 0319
See merge request !110
2017-07-31 19:16:27 +02:00
Yann Leboulanger
28917aaf56
Do not use XEP-0012 anymore to know idle time. Use XEP-0319
2017-07-31 19:14:12 +02:00
Philipp Hörist
850e273605
Correctly remove timeout source
...
Set source IDs to None after removing the source
except when shutting down, because the Control ist destroyed anyway
Only try to remove if we have a source ID
2017-07-31 02:59:52 +02:00
Philipp Hörist
81566df8a1
Fix some regressions with MAM
...
- On single messages use the bare JID for DB querys
- Add more debug logging
- Some light refactoring
2017-07-30 23:04:50 +02:00
Philipp Hörist
c1decf682b
Adapt to latest nbxmpp changes
2017-07-29 21:35:45 +02:00
Philipp Hörist
b8aaf09c13
Fix infinite expand of MessageTextView
...
- The 'configure-event' does not trigger anymore when connected to
the MessageTextView. The reason is unknown.
- Use our own ScrolledWindow Widget instead so we can better control
the dimension of the MessageTextView
2017-07-28 20:40:30 +02:00
Philipp Hörist
c963fc5dcc
Fix use of deprecated method
2017-07-28 20:40:09 +02:00
Philipp Hörist
766458f394
HistorySync: Connect to different event for counting
...
This lets us better count how many messages we retrieved
2017-07-28 14:51:54 +02:00
Philipp Hörist
9bca51eb69
Implement XEP-0359 Stable Stanza IDs
...
- This allows us to better deduplicate Messages on MAM syncs
2017-07-28 14:03:14 +02:00
Philipp Hörist
8558a43651
Update config setting description
...
We dont use 0136 anymore
2017-07-28 00:34:18 +02:00
Philipp Hörist
9ff601d03b
Remove XEP-0136 support
2017-07-28 00:07:49 +02:00
Philipp Hörist
1e313cc7e2
Improve getting own jid
...
We get our full JID on the bind event.
After that it is saved in the `registered_name` attr on the Connection
Object.
In case the bind never occured we get the bare JID from config.
2017-07-27 22:14:29 +02:00
Philipp Hörist
914935f864
Use right amount of arguments on pack_start
2017-07-27 21:50:38 +02:00
Philipp Hörist
f449acd815
Refactor MamDecryptedMessageReceivedEvent
...
- Condition type = groupchat is not needed because we drop messages
type groupchat that come from the user archive. To get these messages
we will query the MUC.
- Because of this the logging method save_if_not_exists() can be much
simpler
2017-07-27 21:46:19 +02:00
Philipp Hörist
cb90f9decd
Merge branch 'logger' into 'master'
...
Refactor Logger
See merge request !108
2017-07-27 11:57:09 +02:00
Philipp Hörist
fe1f2c0103
Dont drop MAM Message on missing stanza-id
...
A missing stanza ID means, we will have to take some measures to make
sure we get no duplicates in the Database later on.
Also fix getting the origin-id. Third time is a charm.
2017-07-27 03:33:19 +02:00
Philipp Hörist
9d6e3f4323
Get the ID attr of origin-id instead of the Node
2017-07-26 02:41:08 +02:00
Philipp Hörist
7f0bcbb5bf
Correctly set stanza-id for received MAM messages
...
The gaol why we need to determine what ID should be used as stanza-id,
is so we can use the stanza-id in the future for deduplication.
Case we are the sender:
Either we look for a origin-id element, which we will include in the
Future in all messages we send, or until then the ID we set on the
message as attr.
Case we are the receiver:
If our server supports mam:2 we take the ID of the result element,
because mam:2 injects the archive ID live into every message we
receive. If we dont have mam:2 we fall back to the ID of the message
attr.
2017-07-26 02:35:34 +02:00
Philipp Hörist
a5480eb167
Add ServerInfo Dialog
2017-07-26 00:07:43 +02:00
Philipp Hörist
33a51f3180
Preparation for MUC Archive querys
...
- Refactor and clean up code around MamMessageReceivedEvent
- Goal is to add a GcMamMessageReceivedEvent later on
- For that cause added a raw-mam-message-received base event
2017-07-25 21:01:18 +02:00
Philipp Hörist
aefb571168
Add new NetworkEvents method
...
This lets us attach all attributes of the base event to the
new event. Often Events trigger other Events. When that happens
we often want to keep all attr from the previous Event, and just
continue under a new Event. Until now all attr had to be pulled
out of `self.base_event` again.
2017-07-25 21:00:20 +02:00
Philipp Hörist
89367a83ec
Add simple parse_delay() method
...
The XEP is pretty strict on Delay tags so we can make a simple
method.
2017-07-25 21:00:20 +02:00
Philipp Hörist
06d890eea7
Add more convenient get_own_jid() method
2017-07-25 21:00:20 +02:00
Philipp Hörist
85d220c80e
Add Synchronise History Dialog
...
- On first contact with the MAM Archive only request 7 days
- To sync the rest of the archive the new Dialog can be used.
2017-07-25 21:00:20 +02:00
Philipp Hörist
e548a89269
Add pylint hints
2017-07-25 21:00:20 +02:00
Philipp Hörist
78addad067
Fix InfoBarMessage on GC invite
2017-07-24 23:48:00 +02:00
Philipp Hörist
e5a41ea2b3
Raise min version of TLS to 1.2
2017-07-24 23:38:10 +02:00
Philipp Hörist
054960ebb0
Commit to DB at the last moment on shutdown
...
It seems some events fire after prepare_quit(), notably
set_room_last_message_time()
2017-07-24 23:38:10 +02:00
Yann Leboulanger
2dedf38f51
don't show audio error when it's not an audio error. Fixes #8614
2017-07-24 22:20:13 +02:00
Yann Leboulanger
f36860e37d
limit priority value inc ase user set an invalid priority in ACE. Fixes #8630
2017-07-24 21:52:11 +02:00
Philipp Hörist
9046797e1b
Remove _build_contact_where()
...
We dont need it anymore
2017-07-21 16:58:04 +02:00
Philipp Hörist
9feee7d9dc
Refactor get_room_last_message_time()
...
- Refactor get_last_date_that_has_logs()
- use NATURAL JOIN in SQL query instead of multiple SELECT via
_build_contact_where
- make code more concise
- update method documentation
2017-07-21 16:58:04 +02:00
Philipp Hörist
1e380473cd
Refactor get_days_with_logs()
...
- use NATURAL JOIN in SQL query instead of multiple SELECT via
_build_contact_where
- make code more concise
- update method documentation
2017-07-21 16:58:04 +02:00
Philipp Hörist
fb7eb0718a
Refactor search_log()
...
- use NATURAL JOIN in SQL query instead of multiple SELECT via
_build_contact_where
- make code more concise
- update method documentation
2017-07-21 16:58:04 +02:00
Philipp Hörist
950f763220
Refactor get_conversation_for_date()
...
- use NATURAL JOIN in SQL query instead of multiple SELECT via
_build_contact_where
- make code more concise
- update method documentation
- Fix a bug where messages were displayed in wrong order when
they had the same timestamp
2017-07-21 16:58:04 +02:00
Philipp Hörist
40ba449f47
Refactor get_last_conversation_lines()
...
- use NATURAL JOIN in SQL query instead of multiple SELECT via
_build_contact_where
- make code more concise
- update method documentation
2017-07-21 16:58:04 +02:00
Philipp Hörist
96cbed4fe7
Remove redundant source_remove()
...
We remove the source in _schedule_activity_timers()
2017-07-20 01:58:41 +02:00
Philipp Hörist
5e1e4e27e7
Fix multiple metacontact requests at startup
...
_continue_connection_request_privacy() should only trigger
once after we received the discoinfo on the hostname.
We do a discoinfo on all items that the server offers,
_continue_connection_request_privacy() was triggered on every received
discoinfo again, hence requesting metacontacts and delimiters again.
also _continue_connection_request_privacy() was called on every
discoinfo error, instead of only on a hostname discoinfo error.
This bug is only triggered if the server doesnt support privacy rules.
2017-07-20 01:58:08 +02:00
Philipp Hörist
a754c05979
Fix discovery of MAM
2017-07-19 20:19:40 +02:00
Philipp Hörist
47c33bbe39
Play sounds on MacOS
2017-07-19 13:16:27 +02:00
Philipp Hörist
cdc2ec9205
Fix not requesting roster on empty cache.db
...
The purpose of
`if version and not gajim.contacts.get_contacts_jid_list()`
seemed to be that when cache.db is empty (maybe it was deleted)
`gajim.contacts.get_contacts_jid_list()` should come back empty.
So on an empty roster cache, version was set to None, so that we
request in any case a new roster.
The Problem is that `gajim.contacts.get_contacts_jid_list()` is not
a good indication for an empty cache.db. On start we trigger a
`RosterReceivedEvent` which does a DB query to get the roster. Even
if that DB query comes up empty, the Event is still pushed.
In the event handler `_nec_roster_received` in roster_window.py we
add then previously open controls and our self (if the option is set)
to the roster, making `gajim.contacts.get_contacts_jid_list()` return
these contacts and hence the condition in `request_roster()` always
False.
So the version is set in the roster request, and if there is no new
version on the server, we request no new roster even though we only
have ourself and previously open controls in our roster.
As a solution for this we delete the roster version from the config
in `RosterReceivedEvent` if the DB query comes back empty, which
triggers a new roster request.
2017-07-19 10:52:02 +02:00
Philipp Hörist
e675df1803
Fix activity timers for groupchat
...
- Dont add timers when we autojoin minimized
- Remove timers when the chatcontrol gets minimized
- Send inactive chatstate when the chatcontrol gets minimized
- Add timers when the chatcontrol gets maximized
2017-07-16 23:58:54 +02:00
Philipp Hörist
4ba143fd68
Fix not working ManagePEPServicesWindow Dialog
2017-07-16 22:49:34 +02:00
Philipp Hörist
0877364214
Disable encryption if plugin is missing
2017-07-12 22:34:55 +02:00
Philipp Hörist
ef38afcf90
Use namedtuples for results from the DB
...
This makes the code much easier to read, and much less error prone.
2017-07-12 22:34:55 +02:00
SaltyBones
e6840ab8b6
fixed lookup of description for keyed options
2017-07-11 20:35:47 +02:00
Philipp Hörist
cc682d243f
Change defaults on history restore options
...
Set restore timeout inactiv, this should be really an advanced option,
probably only set for specific MUCs not as default for every MUC.
Set restore_lines to 10, so the User has an indication that Gajim can
display history, and that there is probably a setting to adjust.
Set muc_restore_lines to 100, this is a try to get a reasonable amount
of history, especially in small Groupchats. Most server will limit this
to 20-50 anyway. The limit 100 is more of a precaution if we run into a
misconfigured server. This is intended as a workaround until we can
implement MAM for Groupchats.
2017-07-10 21:03:45 +02:00
Philipp Hörist
a818b60ba7
Fix unlimited muc_restore_timeout
...
muc_restore_timeout set to -1 means we want no particular time set, up
to which we request messages. But we should not deliberate request
messages we already have. Hence even if muc_restore_timeout is set
to -1, we should only request up to the last message we received.
2017-07-10 20:13:10 +02:00
Philipp Hörist
b625199c47
Allow for a no limit option on restore_timeout
2017-07-10 18:26:17 +02:00
Philipp Hörist
aeb64a516c
Use correct history date on muc join
...
Example:
If we receive a message the last message date is now.
If we restart Gajim and join the MUC again, `time.time() - timeout`
will be most likly smaller then when we received the last message
If the timeout is an hour, this would mean that many messages are requested
from the archive which we already received.
So we always want the most current timestamp (MAX).
2017-07-10 16:39:27 +02:00
Philipp Hörist
5a8965791c
Commit to DB before shutdown
...
Because some operations use the _timeout_commit() it happens that a timeout
is active while we shutdown.
This makes sure everything is commited before shutdown.
2017-07-10 16:25:26 +02:00
Philipp Hörist
0eca29d484
Fix memory leak in plugins window
...
- remove gui extension point on close, to remove the reference the plugin manager holds to the Class.
- reduce scope of var that holds reference to Gtk.Builder(). We have to be careful with
Gtk.Builder, because it can hold a reference to our Class (methods bound to signals) which creates a reference cycle
which python is not able to detect. Hence neither Gtk.Builder nor our Class are garbage collected.
Why this is not detected as a reference cylce is unclear at the moment.
There are two approaches to circumvent the problem:
1. we lose our reference to Gtk.Builder when closing the window, which lets python garbage
collect the builder, afterwards it can garbage collect our class.
2. we reduce the scope of the var that holds a reference to Gtk.Builder, so that the builder
can be garbage collected at the end of __init__.
I chose to reduce the scope because the builder is not needed class wide.
2017-07-10 01:15:30 +02:00
Philipp Hörist
ab85729fe5
Fix displaying links in textview
...
Regression from 79716f421f
2017-07-04 12:26:05 +02:00
Philipp Hörist
3d8be9ebe2
Fix emoticons module import on windows
2017-07-03 11:32:47 +02:00
Philipp Hörist
635b05c1ca
Make noto-emoticons the default theme
2017-07-02 21:30:21 +02:00
Philipp Hörist
79716f421f
Rework emoticon menu
2017-07-02 21:27:44 +02:00
André Apitzsch
125ce523e4
Rename src directory
2017-07-02 17:25:47 +02:00