Commit graph

482 commits

Author SHA1 Message Date
fiaxh 7e0d1db196 MAM: Fix latest range not being stored in db if it contained a duplicate 2023-01-17 19:56:43 +01:00
fiaxh 73c0263f35 Add debug outputs to summarize_whitespaces_to_space and don't assert_not_reached
related #1335
2023-01-13 11:44:28 +01:00
fiaxh 75500dc767 Support pinning of conversations (locally)
fixes #290
fixes #1330
2023-01-11 19:54:02 +01:00
fiaxh cb3b19b01d Support replies and reactions to files 2023-01-11 19:49:03 +01:00
fiaxh 0c4aea96ff Replies: Fix fallback bodies with multi-line quotes 2023-01-08 12:34:25 +01:00
fiaxh 424a429062 Reactions: Fix wrong time being stored for outgoing reactions (micro sec teated as milli sec)
fixes #1296
2023-01-07 23:44:43 +01:00
fiaxh dc52e7595c Add support for XEP-0461 replies (with fallback) 2023-01-06 14:03:54 +01:00
fiaxh 4d7809bb12 Fix compiler warnings 2022-12-30 21:34:40 +01:00
fiaxh 799d09a4c9 MAM: Fix processing after range was fetched completely, fix merging of ranges 2022-12-20 19:51:38 +01:00
fiaxh 30f99d1347 Fix connecting to jingle file provider multiple times 2022-12-20 19:49:03 +01:00
fiaxh 4d50c51a75 Fix some MAM issues
- 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
2022-11-20 22:18:22 +01:00
fiaxh d1fb22ebed Reactions: Fix reactions being differentiated by resource on first displaying
fixes #1297
2022-11-20 22:18:22 +01:00
fiaxh 7a19a25156 Clean up log outputs 2022-11-04 15:57:58 -06:00
Marvin W 809c1579e4 Don't use splice when handling input streams from libsoup-3 2022-11-02 09:57:03 -06:00
fiaxh 2ab7374aa5 Fix segfault if reaction message has type normal
fixes #1294
2022-10-20 19:27:01 +02:00
fiaxh 09829b3382 Fix message server_id getting overwritten with null on reconnect 2022-10-11 18:55:33 +02:00
fiaxh 80258a874d Add support for reactions 2022-10-11 13:37:48 +02:00
fiaxh 6c6e7e3aa7 Rewrite MAM logic and add MUC MAM 2022-10-10 21:55:15 +02:00
rim b8e84c8326
Fix crash when calling contact from Conversations (#1259)
fixes #1227
2022-08-22 20:39:34 +02:00
fiaxh 054d3fec16 Fix encryption button update and reduce its required GTK version
MenuButton.activate only exists since 4.4
2022-08-21 14:16:31 +02:00
Marvin W e51b55432f Gtk4 bug fixes and improvements 2022-07-27 20:55:54 +02:00
fiaxh 7e7dcedaf3 Port from GTK3 to GTK4 2022-07-27 20:34:20 +02:00
Marvin W a0eac798cd
Fix build of tests 2022-04-08 22:03:31 +02:00
Marvin W 193bf38a79
Allow cancellation of file transfers 2022-03-30 10:36:52 -06:00
Marvin W 339d1d8f55
Fix Version handling, add function to retrieve short version without git commit 2022-03-30 10:36:07 -06:00
fiaxh 9838d56794 Prepare for 0.3 release 2022-02-12 22:18:06 +01:00
fiaxh ad00f3f930 Remove call notification if other device accepted/denied 2022-02-12 20:23:35 +01:00
Marvin W 3f169c64d7
CIM: Announce accepted method 2022-02-12 19:16:16 +01:00
Marvin W b586aebbac
Calls: Fix OMEMO in group calls 2022-02-12 17:18:03 +01:00
Marvin W 369d0c79d7
Calls: Fix device selector for multi-party calls, allow picking device before call started 2022-02-12 14:36:26 +01:00
fiaxh be751a5dda Various call fixes
- If peer invited us claiming audio-only and then wants to have a video content, do a content-modify and accept audio-only
- Check contents for video (and modify) and whether call is truly accepted in PeerState.accept() directly
- If a message contains both JMI and CIM, only use JMI
- Fix outgoing CIM (disabled)
- Use opacity instead of visiblity for file_menu, small fixes
- Add back owner/admin/member queries when joining MUC (regression from 33104a7)
2022-02-12 14:22:29 +01:00
fiaxh dbc6d87cb9 Various call fixes
- Don't create incoming CIM calls twice
- Fix is_color check for video devices w/ multiple formats
- Tolerate mismatching content creator on jingle responses
- Change MUJI namespace to urn:xmpp:jingle:muji:0
2022-02-10 15:43:34 +01:00
fiaxh 8b473c890b Call Invite Message: Send 'finished' messages, include reasons 2022-02-08 22:13:59 +01:00
Marvin W 43ea088f64
Calls: Device picker 2022-02-08 21:58:18 +01:00
fiaxh 408406e652 Let call notification say if it's a group call 2022-02-08 17:52:30 +01:00
fiaxh 3088879a7b Various call fixes
- Use groupchat message type for invites in MUCs
- Use call id (from propose) instead of message id for Call Invite Messages
- Fix call window controlls appearing when hovering controls
2022-02-07 22:17:21 +01:00
fiaxh 29d1abccac Support direct jingle call invites with call invite messages 2022-02-07 01:21:11 +01:00
fiaxh 071d925e37 Add support for call invite messages
As of https://github.com/xsf/xeps/pull/1155
2022-02-07 01:21:11 +01:00
fiaxh 4ef50db3e5 Various call UI/UX improvements 2022-02-07 01:21:11 +01:00
fiaxh b7ca33a37d Initialize and use dbus interfaces async
related #1155
2022-02-01 23:37:54 +01:00
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