Commit graph

23 commits

Author SHA1 Message Date
Mathieu Bridon 5557c03be8 Move to GNetworkMonitor (#236)
* Move to GNetworkMonitor

Dino currently talks to NetworkManager over DBus to know the state of
the network.

That doesn't work in a Flatpak sandbox by default though, because
Flatpak filters DBus communications and only allows a very small set of
things to pass (which are known to be safe).

Gio provides an API to know the state of the network (and be notified of
changes via a signal): GNetworkMonitor.

And GNetworkMonitor works both inside a Flatpak sandbox, and in
traditional builds. (in Flatpak it uses what we call a "portal", which
are the clean, safe way to let apps exit their sandbox)

Fixes #235

* Don't check for network connectivity for now

The connectivity check really is the correct thing to do:

* network_available means that the computer has network routes to
  "somewhere". That is, it is connected to a router.
* connectivity.FULL means that the computer can access "the
  Internet". That is, if it is behind a router, that router is
  connected.

As a result, only checking for network_available is not correct.

Unfortunately, NetworkManager tends to wait a long time before checking
for connectivity. As a result, it is possible that a transient network
error leaves NetworkManager thinking that network_available is true but
connectivity!=FULL, and it will wait several minutes before realizing
that the Internet connexion did come back.

During that time, apps checking for connectivity (e.g the whole GNOME
desktop) will think they don't have access to the Internet, while apps
that don't (e.g Firefox) will access the Internet just fine. Users are
understandably confused when that happens.

Removing the check for connectivity is an acceptable trade-off in the
short-term, until this situation is improved on the NetworkManager side.

https://bugzilla.gnome.org/show_bug.cgi?id=792240
2018-01-09 20:39:45 +01:00
fiaxh 7e83529afc Blocking setting in Contact Details 2017-10-31 15:40:42 +01:00
fiaxh a257b16337 Download & inline display images 2017-08-31 18:54:38 +02:00
Marvin W 7c2023803e
libdino: try to load all plugins found in the respective folders 2017-08-29 22:08:31 +02:00
fiaxh 8bc0d107e7 Plugins providing conversation items for ConversationView 2017-08-28 00:02:59 +02:00
fiaxh f9436b63f1 connection: keep-alive pings, act upon connection change (VPN) 2017-08-25 22:30:03 +02:00
fiaxh 51b4f9b204 fixup 4a4b595 2017-08-22 16:36:37 +02:00
fiaxh 4a4b5956c9 Move settings from GSettings to own db 2017-08-22 16:22:56 +02:00
Marvin W 5dc460fc1a
libdino: remove dependency to GTK+ (all GTK+ code is in main+plugins) 2017-08-17 19:53:34 +02:00
Marvin W eddf17c682
cmake/signal-protocol: shared lib, mark_as_advanced and others 2017-04-26 21:48:53 +02:00
fiaxh 9bc83539d1 Gettext support 2017-04-10 15:47:21 +02:00
fiaxh 75e51b5ed3 MessageStorage/Processor, correctly resolve conversations (fixup 22adbd3) 2017-04-04 15:57:35 +02:00
Marvin W 8248cfcbb2
Make FHS compliant, split RPMs, fix compilation on older GCCs 2017-04-03 15:05:39 +02:00
Marvin W e6f89f8751
New CMake
- add install and uninstall targets
- compatibility for systems without pkg-config
2017-03-23 17:16:08 +01:00
Marvin W dbbe5e39d0
Automatically compile and use gsettings schema 2017-03-12 14:42:04 +01:00
Marvin W a9ea0e9f87
Split OMEMO plug-in into files, various fixes 2017-03-12 03:17:21 +01:00
fiaxh 7e1ecb34cb Move PGP support into plugin 2017-03-12 02:52:43 +01:00
Marvin W e27d63269d
Move UI code into main dir 2017-03-11 23:58:35 +01:00
Marvin W cd6b904e97
CMake: merge created header+vapi files into a single directory 2017-03-11 23:58:34 +01:00
Marvin W 0ea4ac7e20
Plug-In API: allow adding custom entries to account settings
Also make OpenPGP code use this API
2017-03-11 22:50:28 +01:00
fiaxh 47ab19b3a0 UI to choose PGP key/disabled in account settings 2017-03-11 12:22:55 +01:00
Marvin W 4c48bdc072
Improve Plugin API (allow to move encryption into plugin) 2017-03-11 02:04:38 +01:00
Marvin W 29ca70a6d5
Initial plugin system 2017-03-10 19:50:34 +01:00
Renamed from client/CMakeLists.txt (Browse further)