Commit graph

442 commits

Author SHA1 Message Date
fiaxh b123800f26 Small cleanup 2022-01-23 19:50:01 +01:00
fiaxh fa6d49e3bf Update PEP native bookmarks to :1 version, fixes 2022-01-11 21:01:10 +01:00
fiaxh 975b37c498 Stop making superfluous requests when joining a MUC
Don't request legacy bookmarks on every muc join (when again setting autojoin) fixes #260
Don't query member/admin/owner affiliations on every MUC join
2022-01-08 21:35:58 +01:00
Marvin W f422734cc8
Replace invalid UTF-8 with U+FFFD
XMPP is strictly UTF-8.
Fixes #1172
2022-01-05 01:04:58 +01:00
fiaxh 33104a778d Add 'unknown' encryption state for establishing calls
Currently, they are Encryption.NONE and thus marked as unencrypted in encrypted conversations
2022-01-04 21:40:51 +01:00
fiaxh 9e8b99e86c Fix runtime critical on incoming read marker
This would result in all messages being counted as unread and highlighted in the conversation list accordingly.
As of fa1ba2f8, there are no hidden content items for http file upload _messages_ anymore.
2022-01-03 18:33:22 +01:00
fiaxh 6b8ad7a104 Fix delivery error displaying for MUC PMs
fixes #1113
2022-01-01 19:47:46 +01:00
fiaxh d02c5bc55d Merge branch groupcalls 2021-12-23 00:46:58 +01:00
fiaxh f0c7dd0682 UI + libdino: Improve MUJI calls from MUC
- Move calls from ICE-thead onto main thread
- Identify Call.ourpart as MUC nick if in MUC
- Keep track of the initiator of a call
2021-12-23 00:19:26 +01:00
fiaxh 1378224444 Fix unread counting in new conversations w/o read_up_to_item
fixes #1094
2021-12-21 18:51:57 +01:00
fiaxh 78bb2bbdda Add calls in private MUCs via a MUJI MUC 2021-12-18 21:34:39 +01:00
wkg 9cfc5a1827
fix for "retracted" call from remote side. (#1160) 2021-12-12 12:56:58 +01:00
fiaxh fa1ba2f83d Remove ContentFilters
fixes #1129 #573
2021-12-09 15:46:16 +01:00
mesonium e7500138a9
Fix auto download if public MUC JID is in roster (#1137)
Dino has downloaded files (< 5 MB) automatically from occupants in public MUCs if the public MUC JID was in the user's roster. This patch fixes it.
2021-11-18 23:11:29 +01:00
fiaxh 2b3d150949 Improve call details dialog + small multi-party call fixes 2021-11-15 13:29:13 +01:00
fiaxh e205743f0c Display target bitrates in connection details UI 2021-11-11 21:54:55 +01:00
fiaxh 26d10d1dcb Add multiparty call support to libdino and xmpp-vala 2021-11-10 11:05:34 +01:00
fiaxh e2de74d629 Display corrected messages with original message time
Regression from cdb4d77
2021-10-13 00:25:14 +02:00
fiaxh b71196ef07 Fix compiler warnings ('passing argument .. from incompatible pointer type') by passing (non)const argument 2021-10-12 19:53:22 +02:00
fiaxh 237081e573 Fix compiler warnings ('Switch does not handle .. of enum ..') 2021-10-12 19:43:57 +02:00
fiaxh e8c162eae3 Fix misc compiler warnings 2021-10-12 19:43:57 +02:00
fiaxh bea85c8ab5 Fix compiler warnings ('cast between incompatible function types') by not connecting closures 2021-10-12 19:43:57 +02:00
fiaxh 447464f4d1 Display message delivery error, color text using theme colors
fixes #672
2021-08-17 22:32:33 +02:00
fiaxh 0c8d25b7a3 Fix file traversal issue on incoming file transfers
Fixes CVE-2021-33896
2021-06-07 09:56:25 -06:00
fiaxh d71604913d Merge remote-tracking branch 'origin/feature/calls' 2021-05-11 12:57:02 +02:00
fiaxh 90f9ecf62b Calls: Indicate whether OMEMO key is verified 2021-05-11 12:52:00 +02:00
fiaxh 0ad968df36 Use the same DTLS fingerprint in all contents. Display audio+video enc keys in UI if they differ. 2021-05-01 22:57:38 +02:00
fiaxh e92ed27317 Use drop index if exists to help database up-down-grading 2021-05-01 00:49:38 +02:00
fiaxh 6b976cdb66 Adjust JMI vs direct calling order 2021-04-29 16:14:48 +02:00
fiaxh 4c6664a365 Improve JMI handling (type=chat, filter message sender) 2021-04-29 16:14:17 +02:00
fiaxh 421f43dd8b Add support for OMEMO call encryption 2021-04-29 16:13:25 +02:00
fiaxh 5d85b6cdb0 Handle non-existant call support 2021-04-29 16:13:25 +02:00
fiaxh 1b92a1f774 Fix processing of XEP-0184 delivery receipts 2021-04-11 15:25:43 +02:00
fiaxh 369755781e Send JMI retract 2021-04-11 15:09:28 +02:00
fiaxh 8a54a263f2 Improve encryption displaying in calls 2021-04-11 14:42:59 +02:00
fiaxh dfffa08ec1 Fix warnings 2021-04-11 14:42:59 +02:00
fiaxh 09dc38f169 Accept additional jingle contents with senders=both (but modify to senders=peer) 2021-04-09 22:23:56 +02:00
fiaxh 8d1c6c29be Display+store call encryption info 2021-04-09 22:23:13 +02:00
fiaxh 3454201e5a Use outgoing JMI if contact has supporting device 2021-04-01 12:03:04 +02:00
fiaxh b63a20f918 Store limited history of contact resources 2021-04-01 11:52:10 +02:00
fiaxh ec35f95e13 Add initial support for DTLS-SRTP 2021-03-25 14:45:54 +01:00
fiaxh 7ce49d7d68 Fix regression in FileItem generation
fixes #1019
2021-03-23 13:46:39 +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
hrxi 148cf48d2b Add libnice and listen for direct connections in Jingle SOCKS5 (#608)
Add libnice as a plugin. If it is present, use libnice to enumerate
local IP addresses and listen on them to support direct connections for
Jingle SOCKS5.

Tested with Conversations and Gajim.

Created the nice.vapi file using
```
vapigen --library nice --pkg gio-2.0 --metadatadir metadata /usr/share/gir-1.0/Nice-0.1.gir
```
2021-03-19 22:06:02 +01:00
fiaxh 80c8e18cea Add cache for file transfers 2021-02-17 15:25:55 -06:00
fiaxh f12fc371a3 Make spell checking a setting, store language per conversation 2021-01-21 15:51:41 +01:00
fiaxh 59236ec01a Add support for Direct MUC Invitations (XEP-0249) 2021-01-12 23:10:45 +01:00
fiaxh 2c22c0428c Fix segfault on accept_certificate signal (fixup 81a5505) 2020-12-31 23:19:06 +01:00
fiaxh c7b242a72e Show invalid certificate screen also when registering account 2020-12-31 19:04:18 +01:00
fiaxh 81a5505270 Allow certificates from unknown CAs from .onion domains
It's barely possible for .onion servers to provide a non-self-signed cert. But that's fine because encryption is provided independently though TOR.

see #958
2020-12-31 19:04:02 +01:00
fiaxh 99e98ac8d9 Set window urgency hint independent of notification setting
fixes #960
2020-12-30 20:30:35 +01:00
fiaxh c454bd904d Make db version 18 downgradable
fixes #970
2020-12-27 17:25:53 +01:00
fiaxh cc01374d3c Use advertized/server/live time for sorting instead of arrival time
fixes #310
2020-12-04 19:11:27 +01:00
fiaxh f31e96d6bb Improve contact description in OMEMO warnings
fixes #947
2020-12-04 17:16:09 +01:00
fiaxh 11d9855a39 Refactor Notifications, add freedesktop backend
fixes #707
2020-11-20 15:21:34 +01:00
fiaxh 07917f1d84 Refactor XmppStream, TLS and connection method logic
fixes #534
2020-11-20 15:21:18 +01:00
fiaxh 881b9eec9d Improve entity identity getter 2020-11-20 15:21:18 +01:00
fiaxh f40730c780 Fix compiler warnings in WeakMap 2020-11-17 20:04:53 +01:00
fiaxh d0488401ce Use WeakMap for message caching 2020-11-14 17:05:46 +01:00
fiaxh b8d216a057 Add a WeakMap implementation + tests 2020-11-14 17:00:09 +01:00
fiaxh 10adf716f3 Fix incoming muc voice request notification 2020-11-11 11:27:31 +01:00
fiaxh 1999c97bb9 Improve content_item db table index
fixes #923

Co-authored-by: eta <eta@theta.eu.org>
2020-11-05 17:11:46 +01:00
fiaxh 2e0357877c Fix some compiler warnings 2020-10-27 16:05:30 +01:00
fiaxh edbc8f794d Don't crash on MAM id-time hickup
fixes #886
2020-10-27 12:02:52 +01:00
fiaxh 5954f7764f Fix own message marker marking conversations as read 2020-10-15 19:52:30 +02:00
eta 9cc3382abe service/database: use WAL mode + safe PRAGMA synchronous setting
Setting PRAGMA synchronous = 0 is really unsafe, and leads to database
corruption (which I've personally experienced). This commit uses
SQLite's Write-Ahead Log (WAL) [1] instead, together with synchronous =
NORMAL. According to [1], this trades off performance for durability
(i.e. it's possible that some transactions may not have committed if the
power gets lost), but still guarantees that the database won't corrupt
itself.

Together, these changes should improve reliability whilst either
improving or having no effect on performance.

[1]: https://www.sqlite.org/wal.html
2020-10-06 18:05:25 +02:00
fiaxh 7b58c1596a Fix runtime critical 2020-09-19 11:16:22 +02:00
fiaxh 6325a98cff Fix runtime criticals related to jingle file transfer 2020-09-19 11:16:22 +02:00
Marvin W d32d1b91a1
Compatibility with Vala 0.50.0
Fixes #911
2020-09-17 18:48:30 +02:00
Marvin W a22146fd72
Display placeholder avatar while loading 2020-09-12 12:54:37 +02:00
fiaxh c01d09d519 Improve message resending 2020-09-10 19:35:05 +02:00
fiaxh b60e7da28a Fix message duplication in MUC PMs 2020-09-07 15:29:32 +02:00
fiaxh 2d31d9d470 Cleanup 2020-09-07 15:21:42 +02:00
fiaxh 49bcbdaa51 Fix initial file encryption displaying
fixes #831
2020-09-07 15:14:29 +02:00
fiaxh e327a88898 Don't clear MAM id times on stream negotiated 2020-09-02 16:21:00 +02:00
fiaxh e6a90fc25c Implement MUC self ping 2020-08-31 16:48:20 +02:00
fiaxh b104be4842 Don't create a second message object for each typing notification 2020-07-22 18:36:04 +02:00
fiaxh 7309c6f3ac Visually highlight pending messages, improve resending 2020-07-16 23:31:19 +02:00
fiaxh e159fd2492 Only query entity caps when we need them 2020-07-16 23:31:19 +02:00
fiaxh 74f7fa897f Add queue and resending to stream management 2020-07-15 18:12:19 +02:00
fiaxh 8e3462b1b7 Fix unread bubbles having wrong color on startup 2020-07-15 18:12:19 +02:00
codedust 86420fdef1 Show bubble containing the number of unread messages in the conversation list (#764)
Co-authored-by: codedust <codedust@users.noreply.github.com>
Co-authored-by: fiaxh <git@lightrise.org>
2020-07-06 21:52:33 +02:00
Marvin W 48964bc5cc
Don't strip() at XML layer 2020-06-28 11:53:43 +02:00
fiaxh 0b1fb30a83 fixup Fetch avatars only when they are used 2020-06-23 15:57:26 +02:00
fiaxh 6d41071da1 Recreate avatar database table, fixes unique constraint 2020-06-11 00:03:30 +02:00
fiaxh 0beb592c5a Use sqlite UPSERT 2020-06-10 23:40:00 +02:00
fiaxh 50c55c7f55 Fetch avatars only when they are used 2020-06-10 19:53:56 +02:00
fiaxh 40c66bc584 Fix runtime critical 2020-06-03 21:50:40 +02:00
fiaxh 8fe723bccb Fix cyclic references => let objects be freed 2020-06-03 21:50:40 +02:00
fiaxh a9e6a9c3d5 Code cleanup 2020-06-03 21:50:40 +02:00
fiaxh d01af5b520 Fix compiler warnings 2020-06-03 21:50:40 +02:00
fiaxh 71be2abb6a Store last read content item for conversations
fixes #495
2020-06-03 21:50:40 +02:00
fiaxh b5066e0e2f Check if server supports uid 2020-06-03 21:50:40 +02:00
fiaxh d39128ffd7 Store current resource for sent message (if server didn't give us the resource we asked for)
Some servers give out random resources. Then, we didn't deduplicate own messages afterwards because we saved the wrong resource.
2020-05-24 16:01:03 +02:00
fiaxh bbbd9eda00 Fix crash in clear_all_chat_states (it removed an entry from a HashMap while iterating over it) 2020-05-21 22:04:46 +02:00
fiaxh cd3a119eff Handle incoming own read marker in private MUCs 2020-04-28 23:56:53 +02:00
fiaxh af52c24df7 Fix nick change in MUC, update bookmark accordingly; remove unused code 2020-04-26 00:20:27 +02:00
fiaxh f8f305efe5 xmpp-vala: Use more async 2020-04-24 14:19:42 +02:00
fiaxh 1db94905ae Fix runtime critical from read marker sending (fixup 3a8fef7) 2020-04-24 14:18:24 +02:00
fiaxh e7bc68ad4d Handle entity hash in server features node, make ServiceDiscovery request_info/items async, add caching has_entity_feature 2020-04-24 14:18:24 +02:00