aboutsummaryrefslogtreecommitdiff
path: root/libdino/CMakeLists.txt
AgeCommit message (Collapse)Author
2025-04-06Drop CMake supportMarvin W
2024-11-15Fix and improve stateless file-sharingfiaxh
2024-07-29Add initial message markup (XEP-0394) supportfiaxh
2024-04-28Add WeakTimeout Pattern to Prevent LeaksChristopher Vollick
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>
2023-09-24Rewrite contact details dialogfiaxh
2023-09-24Fix build on some Vala compiler versionsMarvin W
See https://gitlab.gnome.org/GNOME/vala/-/issues/1474 and https://gitlab.gnome.org/GNOME/vala/-/issues/1478
2023-03-24First steps of meson supporthrxi
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.
2023-01-06Add support for XEP-0461 replies (with fallback)fiaxh
2022-10-11Add support for reactionsfiaxh
2022-10-10Rewrite MAM logic and add MUC MAMfiaxh
2022-03-30Fix Version handling, add function to retrieve short version without git commitMarvin W
2021-11-10Add multiparty call support to libdino and xmpp-valafiaxh
2021-03-21Add support for unencrypted RTP calls to libdinofiaxh
Co-authored-by: Marvin W <git@larma.de>
2021-02-17Add cache for file transfersfiaxh
2020-11-20Refactor Notifications, add freedesktop backendfiaxh
fixes #707
2020-11-14Add a WeakMap implementation + testsfiaxh
2020-06-10Fetch avatars only when they are usedfiaxh
2020-04-03Add support for last message correctionfiaxh
2020-03-29Store entity identity info, use it in conversation list tooltipsfiaxh
2019-07-18Refactor file receive/send interfaces and UIfiaxh
2019-07-09Implement file sending via Jinglehrxi
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-03-15Use glib log functionsfiaxh
2018-08-31Merge pull request #415 from bobufa/message-searchfiaxh
Message search
2018-08-22In-Band Registrationfiaxh
2018-08-13accumulate conversation content in meta db tablebobufa
2018-08-13initial search logic / displaybobufa
2018-08-13refactor conversation item management (accumulate them in libdino)bobufa
2018-03-05Move notification sounds (canberra dependency) into plugin, introduce ↵fiaxh
libdino/NotificationEvents
2018-01-28Move Jid class to xmpp-vala, partially refactor namespaceMarvin W
2018-01-09Move to GNetworkMonitor (#236)Mathieu Bridon
* 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
2017-10-31Blocking setting in Contact Detailsfiaxh
2017-08-31Download & inline display imagesfiaxh
2017-08-29libdino: try to load all plugins found in the respective foldersMarvin W
2017-08-28Plugins providing conversation items for ConversationViewfiaxh
2017-08-25connection: keep-alive pings, act upon connection change (VPN)fiaxh
2017-08-22fixup 4a4b595fiaxh
2017-08-22Move settings from GSettings to own dbfiaxh
2017-08-17libdino: remove dependency to GTK+ (all GTK+ code is in main+plugins)Marvin W
2017-04-26cmake/signal-protocol: shared lib, mark_as_advanced and othersMarvin W
2017-04-10Gettext supportfiaxh
2017-04-04MessageStorage/Processor, correctly resolve conversations (fixup 22adbd3)fiaxh
2017-04-03Make FHS compliant, split RPMs, fix compilation on older GCCsMarvin W
2017-03-23New CMakeMarvin W
- add install and uninstall targets - compatibility for systems without pkg-config
2017-03-12Automatically compile and use gsettings schemaMarvin W
2017-03-12Split OMEMO plug-in into files, various fixesMarvin W
2017-03-12Move PGP support into pluginfiaxh
2017-03-11Move UI code into main dirMarvin W
2017-03-11CMake: merge created header+vapi files into a single directoryMarvin W
2017-03-11Plug-In API: allow adding custom entries to account settingsMarvin W
Also make OpenPGP code use this API
2017-03-11UI to choose PGP key/disabled in account settingsfiaxh