Commit Graph

44 Commits

Author SHA1 Message Date
Xavier Del Campo Romero be7e0c2d56
Backport Meson build support
Meson builds have better integration with Vala. For example, Meson
handles incremental compilation of Vala source files better than
CMake.

Limitations:

As done with CMake builds, gresource.xml should be compiled. Now, it has
been generated from a CMake build and manually copied into the source
tree.
2023-10-09 14:08:59 +02:00
fiaxh b0534dcf07
Rewrite MAM logic and add MUC MAM 2023-10-01 21:28:29 +02:00
Marvin W 339d1d8f55
Fix Version handling, add function to retrieve short version without git commit 2022-03-30 10:36:07 -06:00
fiaxh 26d10d1dcb Add multiparty call support to libdino and xmpp-vala 2021-11-10 11:05:34 +01:00
fiaxh cdb4d77259 Add support for unencrypted RTP calls to libdino
Co-authored-by: Marvin W <git@larma.de>
2021-03-21 12:41:39 +01:00
fiaxh 80c8e18cea Add cache for file transfers 2021-02-17 15:25:55 -06:00
fiaxh 11d9855a39 Refactor Notifications, add freedesktop backend
fixes #707
2020-11-20 15:21:34 +01:00
fiaxh b8d216a057 Add a WeakMap implementation + tests 2020-11-14 17:00:09 +01:00
fiaxh 50c55c7f55 Fetch avatars only when they are used 2020-06-10 19:53:56 +02:00
fiaxh 871ff33ac7 Add support for last message correction 2020-04-03 22:49:59 +02:00
fiaxh 12cd56612d Store entity identity info, use it in conversation list tooltips 2020-03-29 20:24:39 +02:00
fiaxh f0abb8aaf9 Refactor file receive/send interfaces and UI 2019-07-18 02:03:42 +02:00
hrxi 877c46628f Implement file sending via Jingle
This is still disabled by default until prioritization is implemented;
otherwise this could be preferred to HTTP uploads.

File sending only works via Jingle In-Band-Bytestreams right now, more
transports are going to be implemented.

To test this, uncomment the line with `JingleFileTransfer` in
libdino/src/application.vala.
2019-07-09 11:21:39 +02:00
fiaxh 6f6e4b97cb Use glib log functions 2019-03-15 22:01:34 +01:00
fiaxh ecb18afdb5
Merge pull request #415 from bobufa/message-search
Message search
2018-08-31 16:25:51 +02:00
fiaxh 4be8c92a2c In-Band Registration 2018-08-22 20:29:24 +02:00
bobufa 2e2a9a2390 accumulate conversation content in meta db table 2018-08-13 22:39:07 +02:00
bobufa 61915ca566 initial search logic / display 2018-08-13 22:31:22 +02:00
bobufa 3ea00446fb refactor conversation item management (accumulate them in libdino) 2018-08-13 22:04:47 +02:00
fiaxh a8ee61b34c Move notification sounds (canberra dependency) into plugin, introduce libdino/NotificationEvents 2018-03-05 15:43:02 +01:00
Marvin W 782ae4c049 Move Jid class to xmpp-vala, partially refactor namespace 2018-01-28 00:38:47 +01:00
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