aboutsummaryrefslogtreecommitdiff
path: root/main
Commit message (Collapse)AuthorAgeFilesLines
* Add WeakTimeout Pattern to Prevent LeaksChristopher Vollick2024-04-284-28/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Calls: Correctly display information in partially encrypted callsMarvin W2024-04-282-25/+57
| | | | | This should never happen in practice, but now we will correctly display if a call has encrypted audio, but unencrypted video, or vice-versa.
* Remove conversation closing via hover buttonfiaxh2024-03-212-96/+21
|
* Introduce conversation menu, add close optionfiaxh2024-03-211-8/+20
|
* Conversation details dialog: Fix runtime criticalfiaxh2024-03-211-0/+1
|
* Fix poor contrast of highlight in search results with dark theme (#1557)eerielili2024-03-021-1/+2
| | | - fixes #1308
* Add unread indicatorfiaxh2024-03-025-0/+100
| | | | | Co-authored-by: Alexandre Jousset <mid@gtmp.org> Co-authored-by: Aidan Epstein <aidan@jmad.org>
* Enable hyperlinks in topic text to be clicked (#1523)eerielili2024-01-132-3/+5
| | | fixes #1042
* Change select contact dialog container to AdwClamp (#1533)Teemu Ikonen2024-01-133-46/+54
|
* Fix crash on removing conference not in roster (#1516)eerielili2024-01-101-0/+1
|
* Conversation details dialog: Fix notification+block iconsfiaxh2023-12-106-2/+19
|
* main/meson.build:121: fix typoAlexandre Jousset2023-11-131-1/+1
|
* Fix some compiler warningsfiaxh2023-10-079-13/+11
|
* meson: Add version detection for some dependencieshrxi2023-10-061-0/+9
|
* meson: Install more stuffhrxi2023-10-062-3/+14
| | | | | | | | | | | Install .vapi, .deps, .h files for the Vala libraries. Also install the data files. .deps files have to be manually generated, there's a feature request for automated generation at https://github.com/mesonbuild/meson/issues/9756. Import the gnome module globally. Install dependencies on Meson CI.
* conversation details: Fix for libadwaita < 1.4fiaxh2023-09-252-1/+5
|
* Rewrite contact details dialogfiaxh2023-09-2422-478/+1277
|
* Fix build on some Vala compiler versionsMarvin W2023-09-244-4/+25
| | | | See https://gitlab.gnome.org/GNOME/vala/-/issues/1474 and https://gitlab.gnome.org/GNOME/vala/-/issues/1478
* Fix subscription notification clearingfiaxh2023-09-072-12/+23
|
* data: Set X-Purism-FormFactor in .desktop fileRobert Mader2023-07-081-0/+1
| | | | So the app is detected as mobile-friendly on Phosh.
* Cleanup automatically loaded help overlayfiaxh2023-07-083-3/+2
|
* application: Load help overlay automaticallyChristopher Davis2023-07-085-19/+4
| | | | | | | | | GTK automatically loads and sets up the action and keyboard shortcut for the Keyboard Shortcuts dialog. We don't need to manually do it as long as we put everything in the right place. See https://docs.gtk.org/gtk4/class.Application.html#automatic-resources
* main_window: Use AdwApplicationWindowChristopher Davis2023-07-081-1/+1
| | | | | The main window of an app should be an ApplicationWindow. These windows provide nicer APIs for actions and more.
* Add a keyboard shortcut to show keyboard shortcuts (#1432)eerielili2023-06-252-0/+8
| | | | | Add a keyboard shortcut to show keyboard shortcuts - It's Ctrl+?
* icons: Refresh some symbolic icons (#1444)Tobias Bernard2023-05-2921-37/+90
|
* Fix reactions being made to the wrong messageMarvin W2023-05-141-1/+0
| | | | fixes #1426
* Fix chat input for IMEfiaxh2023-05-141-1/+6
| | | | | | fixes #1419 Co-authored-by: Marvin W <git@larma.de>
* Fix chat input status having a fixed width requirementfiaxh2023-05-131-0/+1
| | | | fixes #1439
* Focus ChatInput textbox after selecting emojiKarim Malhas2023-04-231-0/+2
| | | | | | | | | | | | After selecting an emoji, the emoji is inserted into the textbox, but focus remains on the emoji_button. This causes the EmojiChooser to be opened again if a user hits the Enter key directly, but text is inserted into the textbox if they continue to type. This commit just explicitely focuses on the textbox after an emoji has been selected.
* Fix call window stylingfiaxh2023-04-222-9/+2
|
* Fix call window controlls hidingfiaxh2023-04-221-3/+19
|
* Always export symbols to fix startup on BSDsKlemens Nanni2023-03-241-0/+1
| | | | | | | | | | | | | | | | | | ``` $ dino (dino:38515): Gtk-ERROR **: 15:38:38.538: failed to add UI from resource /im/dino/Dino/unified_main_content.ui: .:26:1 Invalid object type 'DinoUiConversationSelector' Trace/BPT trap (core dumped) ``` This works on Linux because CMake itself links with `-rdynamic` by default as per its `Modules/Platform/Linux-*.cmake`. OpenBSD carries this as local patch, FreeBSD links with `--export-dynamics`. Just linking with `-rdynamic` also fixes it on OpenBSD, as expected. https://cmake.org/cmake/help/latest/prop_tgt/ENABLE_EXPORTS.html Fix #438.
* First steps of meson supporthrxi2023-03-242-0/+178
| | | | | | | 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.
* Fix images from another client in our account not being displayed right awayfiaxh2023-03-231-3/+7
|
* FreeDesktopNotifier: Set notification categoriesSebastian Krzyszkowiak2023-03-211-0/+6
| | | | | This provides notifications servers some context on how to handle the notification.
* data: Set StartupNotify to true in .desktop fileSebastian Krzyszkowiak2023-03-211-1/+1
| | | | | | GTK handles startup notifications, so advertise it in desktop file. This allows splash screens and other startup indications in DEs to work.
* Improve database performance while reconnecting and syncingMarvin W2023-03-211-0/+14
| | | | Also move some tasks to low priority idle queue so they won't block UI updates
* New Avatar UIMarvin W2023-03-0532-630/+631
|
* Implement XEP-0392: Consistent Color GenerationMarvin W2023-03-051-10/+13
|
* Fix critical warnings after DTLS-SRTP calls without OMEMO verificationMarvin W2023-03-021-1/+1
| | | | libdino-CRITICAL **: dino_plugins_encryption_list_entry_get_encryption_icon_name: assertion 'self != NULL' failed
* Fix some memory leaksfiaxh2023-02-275-43/+112
|
* Stop regenerating message menu buttonsfiaxh2023-02-163-32/+49
| | | | mitigates #1343
* Clear chat input after /commandfiaxh2023-02-101-7/+8
| | | | fixes #1359
* Remove spell check settingfiaxh2023-02-093-96/+1
| | | | As there is currently no spell check support for GTK4
* Make the symbolic app icon squarefiaxh2023-02-091-4/+4
|
* Settings: Connect to Switch.notify-active instead of to activatefiaxh2023-02-091-5/+5
| | | | As per the documentation of the activate signal "Applications should never connect to this signal, but use the notify:active signal." https://valadoc.org/gtk+-3.0/Gtk.Switch.activate.html
* menu_app: Move preferences to last groupChristopher Davis2023-02-091-2/+2
| | | | | | Per https://developer.gnome.org/hig/patterns/controls/menus.html#standard-primary-menu-items, preferences should be at the top of the last group in the menu.
* menu_app: Rename Settings to PreferencesChristopher Davis2023-02-091-1/+1
| | | | The standard name in GNOME applications is Preferences.
* settings_dialog: Use AdwPreferencesWindow and AdwActionRowChristopher Davis2023-02-092-65/+80
| | | | | | AdwPreferencesWindow contains a nice API for preferences windows, and AdwActionRow is the widget to use for rows of preferences.
* Prepare for 0.4 releaseMarvin W2023-02-071-4/+5
|