aboutsummaryrefslogtreecommitdiff
path: root/libdino/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* Add WeakTimeout Pattern to Prevent LeaksChristopher Vollick2024-04-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While doing testing I noticed that skeletons were being leaked, and eventually tracked it down to the timer that updates the time label closing over "this" and then keeping the reference alive, potentially for 24 hours. I noticed a few other places in the code doing some version of this, and one of them had the "static and weak pointer" approach, which I pulled out into a util class. Now, we still have to make sure we're passing it a static method instead of a lambda, as that would also close over "this" and render the whole thing useless, but at least most of the annoying parts live in the util class now. Also the call_widget version was doing a weird thing where it was removing itself, but then returning "true"? I'm not sure what that accomplishes, because returning "false" means to not run this again. So I think my new version is the same in practice, but simpler... There are other timeouts in the code that I briefly looked over, but all of them seemed to be relatively short hard-coded durations, so I left them alone. But if any of them are long-lived, it's possible they could also benefit from this class in the future. Closes #1480 Co-Authored-By: Marvin W <git@larma.de>
* Rewrite contact details dialogfiaxh2023-09-241-0/+1
|
* Fix build on some Vala compiler versionsMarvin W2023-09-241-0/+7
| | | | See https://gitlab.gnome.org/GNOME/vala/-/issues/1474 and https://gitlab.gnome.org/GNOME/vala/-/issues/1478
* First steps of meson supporthrxi2023-03-241-0/+1
| | | | | | | Basic configuration of qlite, xmpp-vala, the Dino library and the Dino application are supported. There's no support for the plugins. This e.g. enables using the Vala language server.
* Add support for XEP-0461 replies (with fallback)fiaxh2023-01-061-0/+2
|
* Add support for reactionsfiaxh2022-10-111-0/+1
|
* Rewrite MAM logic and add MUC MAMfiaxh2022-10-101-0/+1
|
* Fix Version handling, add function to retrieve short version without git commitMarvin W2022-03-301-1/+1
|
* Add multiparty call support to libdino and xmpp-valafiaxh2021-11-101-0/+2
|
* Add support for unencrypted RTP calls to libdinofiaxh2021-03-211-0/+3
| | | | Co-authored-by: Marvin W <git@larma.de>
* Add cache for file transfersfiaxh2021-02-171-0/+1
|
* Refactor Notifications, add freedesktop backendfiaxh2020-11-201-0/+2
| | | | fixes #707
* Add a WeakMap implementation + testsfiaxh2020-11-141-1/+23
|
* Fetch avatars only when they are usedfiaxh2020-06-101-1/+0
|
* Add support for last message correctionfiaxh2020-04-031-0/+1
|
* Store entity identity info, use it in conversation list tooltipsfiaxh2020-03-291-0/+1
|
* Refactor file receive/send interfaces and UIfiaxh2019-07-181-1/+1
|
* Implement file sending via Jinglehrxi2019-07-091-0/+1
| | | | | | | | | | | 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.
* Use glib log functionsfiaxh2019-03-151-1/+1
|
* Merge pull request #415 from bobufa/message-searchfiaxh2018-08-311-0/+2
|\ | | | | Message search
| * accumulate conversation content in meta db tablebobufa2018-08-131-1/+1
| |
| * initial search logic / displaybobufa2018-08-131-0/+1
| |
| * refactor conversation item management (accumulate them in libdino)bobufa2018-08-131-0/+1
| |
* | In-Band Registrationfiaxh2018-08-221-0/+1
|/
* Move notification sounds (canberra dependency) into plugin, introduce ↵fiaxh2018-03-051-0/+1
| | | | libdino/NotificationEvents
* Move Jid class to xmpp-vala, partially refactor namespaceMarvin W2018-01-281-1/+0
|
* Move to GNetworkMonitor (#236)Mathieu Bridon2018-01-091-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Blocking setting in Contact Detailsfiaxh2017-10-311-0/+1
|
* Download & inline display imagesfiaxh2017-08-311-0/+2
|
* libdino: try to load all plugins found in the respective foldersMarvin W2017-08-291-1/+1
|
* Plugins providing conversation items for ConversationViewfiaxh2017-08-281-1/+1
|
* connection: keep-alive pings, act upon connection change (VPN)fiaxh2017-08-251-1/+2
|
* fixup 4a4b595fiaxh2017-08-221-0/+1
|
* Move settings from GSettings to own dbfiaxh2017-08-221-16/+2
|
* libdino: remove dependency to GTK+ (all GTK+ code is in main+plugins)Marvin W2017-08-171-1/+1
|
* cmake/signal-protocol: shared lib, mark_as_advanced and othersMarvin W2017-04-261-7/+8
|
* Gettext supportfiaxh2017-04-101-1/+11
|
* MessageStorage/Processor, correctly resolve conversations (fixup 22adbd3)fiaxh2017-04-041-1/+3
|
* Make FHS compliant, split RPMs, fix compilation on older GCCsMarvin W2017-04-031-3/+3
|
* New CMakeMarvin W2017-03-231-20/+18
| | | | | - add install and uninstall targets - compatibility for systems without pkg-config
* Automatically compile and use gsettings schemaMarvin W2017-03-121-0/+12
|
* Split OMEMO plug-in into files, various fixesMarvin W2017-03-121-1/+0
|
* Move PGP support into pluginfiaxh2017-03-121-26/+7
|
* Move UI code into main dirMarvin W2017-03-111-67/+2
|
* CMake: merge created header+vapi files into a single directoryMarvin W2017-03-111-6/+6
|
* Plug-In API: allow adding custom entries to account settingsMarvin W2017-03-111-0/+1
| | | | Also make OpenPGP code use this API
* UI to choose PGP key/disabled in account settingsfiaxh2017-03-111-5/+6
|
* Improve Plugin API (allow to move encryption into plugin)Marvin W2017-03-111-2/+6
|
* Initial plugin systemMarvin W2017-03-101-0/+153