aboutsummaryrefslogtreecommitdiff
path: root/libdino/src
Commit message (Collapse)AuthorAgeFilesLines
* OMEMO: Do not show message for OMEMO messages without payloadMarvin W2024-07-191-0/+1
|
* Self-ping with server-given roomnick (#1594)Matthew Fennell2024-06-281-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Self-ping with server-given roomnick (#1467) XEP-0045 describes how a server can modify a user's roomnick when joining a room. To do this, it assigns status code 210, and sets the "from" attribute to a JID with thew newly assigned nickname when sending the user's presence back to the client. This is used in IRC gateways such as biboumi. Since you can only have one nick per IRC server, if you try and join multiple IRC-bridged MUCs on the same IRC server, it will modify your nick to match the existing one you have on that server. Currently, when Dino performs a self-ping after joining a room, it uses the nick that the client first requested, instead of the nick returned from the server. This can lead to incorrect self-pings being sent out (until the client is restarted, and populates mucs_todo correctly). This happens because it adds the requested Jid to mucs_todo, before getting the given nick from the server. Therefore, this commit adds the jid that has been given from the server instead. If there is any error in requesting to join the MUC, it adds the requested nick, to match existing behaviour and allow the request to be retried via future self-pings. fixes #1467 * Minor coding style changes --------- Co-authored-by: fiaxh <git@lightrise.org>
* Redesign and rewrite accounts and settings dialog into a combined onefiaxh2024-06-202-0/+20
|
* Store requested disco results with computed hash, use for offline ↵fiaxh2024-06-192-14/+32
| | | | determining of private MUCs
* Add logic for OMEMO by default settingfiaxh2024-05-264-3/+57
|
* Support avatar deletionfiaxh2024-05-261-13/+30
|
* Add WeakTimeout Pattern to Prevent LeaksChristopher Vollick2024-04-281-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-281-3/+3
| | | | | This should never happen in practice, but now we will correctly display if a call has encrypted audio, but unencrypted video, or vice-versa.
* Start conversation if closed when receiving an audio or video call (#1485)eerielili2023-10-083-6/+8
| | | | | | | | | * Start conversation if closed when receiving an audio or video call * Fix starting conversation on new calls, move setting conversation.last_active --------- Co-authored-by: fiaxh <git@lightrise.org>
* Fix some compiler warningsfiaxh2023-10-073-7/+3
|
* Rewrite contact details dialogfiaxh2023-09-242-0/+59
|
* Fix build on some Vala compiler versionsMarvin W2023-09-241-0/+5
| | | | See https://gitlab.gnome.org/GNOME/vala/-/issues/1474 and https://gitlab.gnome.org/GNOME/vala/-/issues/1478
* fix: Add x node to MUC PM stanza (#1462)mesonium2023-07-291-0/+7
| | | | | | Add <x/> tag in MUC-PMs to support better Carbon delivery in compliance with XEP-0045 v1.28 and above. Fixes #1306
* Fix character counting for fallbacksfiaxh2023-05-012-3/+3
| | | | fixes #1420
* Code cleanup: Remove left-over usages of mam_earliest_syncedfiaxh2023-04-233-29/+1
|
* Fix crash on NS_URI call when own server has no MAM; drop broken mam:1 "support"fiaxh2023-04-234-13/+13
| | | | fixes #1405
* Fix empty alias being handled different than noneMarvin W2023-04-221-0/+1
|
* First steps of meson supporthrxi2023-03-242-1/+6
| | | | | | | 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.
* Make members of `Plugins.Registry` public instead of internalhrxi2023-03-241-8/+8
| | | | They are being used from outside the library.
* Fix images from another client in our account not being displayed right awayfiaxh2023-03-231-2/+7
|
* Improve database performance while reconnecting and syncingMarvin W2023-03-211-1/+6
| | | | Also move some tasks to low priority idle queue so they won't block UI updates
* Improve history syncMarvin W2023-03-211-47/+18
| | | | | | | | | | - Ensure we fully fetch desired history if possible (previously, duplicates from offline message queue could hinder MAM sync) - Early drop illegal MAM messages so they don't pile up in the pending queue waiting for their query to end (which it never will if they were not requested in first place). Fixes #1386
* New Avatar UIMarvin W2023-03-051-15/+63
|
* Fix typing notifications in groupchatsMarvin W2023-03-021-0/+4
|
* Stop regenerating message menu buttonsfiaxh2023-02-161-1/+2
| | | | mitigates #1343
* Remove spell check settingfiaxh2023-02-091-0/+1
| | | | As there is currently no spell check support for GTK4
* Don't accept corrections from MUC MAMMarvin W2023-02-071-1/+2
| | | | We don't know if they're from the same user as someone else could have joined with the same nickname after sender left
* Fix some form entries not updating properlyMarvin W2023-02-071-1/+1
|
* Show "Me" instead of bare jid when no local alias is setMarvin W2023-02-071-8/+1
|
* Improve history sync under loadMarvin W2023-02-073-40/+101
|
* Deduplicate messages before storing in databaseMarvin W2023-02-071-66/+70
|
* Add priority for and allow cancellation of outgoing stanzasMarvin W2023-02-072-12/+12
|
* Collapse most stream releated errors into IOErrorMarvin W2023-02-072-7/+7
|
* Fix placeholder being shown on startup, fix missing vertical line in ↵fiaxh2023-01-311-4/+1
| | | | no-conversations placeholder
* Fix reaction display in private MUCsMarvin W2023-01-313-7/+36
|
* Fix reading reactions in private groups w/o occupant idsfiaxh2023-01-311-4/+11
|
* Always display reaction+reply buttons, disable if not possiblefiaxh2023-01-306-36/+44
|
* Fix reactions from MAM getting attributed to the wrong messagefiaxh2023-01-252-38/+26
|
* Fix UI for libadwaitaMarvin W2023-01-251-0/+1
|
* MAM: Fix latest range not being stored in db if it contained a duplicatefiaxh2023-01-171-8/+7
|
* Add debug outputs to summarize_whitespaces_to_space and don't assert_not_reachedfiaxh2023-01-131-0/+5
| | | | related #1335
* Support pinning of conversations (locally)fiaxh2023-01-112-4/+10
| | | | | fixes #290 fixes #1330
* Support replies and reactions to filesfiaxh2023-01-116-92/+154
|
* Replies: Fix fallback bodies with multi-line quotesfiaxh2023-01-081-1/+1
|
* Reactions: Fix wrong time being stored for outgoing reactions (micro sec ↵fiaxh2023-01-071-9/+8
| | | | | | teated as milli sec) fixes #1296
* Add support for XEP-0461 replies (with fallback)fiaxh2023-01-0610-7/+300
|
* Fix compiler warningsfiaxh2022-12-305-7/+4
|
* MAM: Fix processing after range was fetched completely, fix merging of rangesfiaxh2022-12-201-29/+30
|
* Fix connecting to jingle file provider multiple timesfiaxh2022-12-201-7/+6
|
* Fix some MAM issuesfiaxh2022-11-201-18/+40
| | | | | | - Messages from MUCs weren't added to their respective MUC MAM ranges, thus re-fetched on rejoin - The earliest ('first') message of a mam page was used to update the to_id, but it should have been 'last'; also the other way around. - Duplicates weren't detected properly