Commit graph

127 commits

Author SHA1 Message Date
Loren Burkholder
b9255803fb Streamline getting other user id from invited direct chat 2021-09-11 19:45:01 -04:00
Loren Burkholder
fb53fc86b6 Fix invites crashing the whole app 2021-09-11 19:35:31 -04:00
Nicolas Werner
c80e253a24
Stop encrypting all sessions with secret 2021-08-31 04:06:51 +02:00
Nicolas Werner
63998a217a
Add db migration that clears the cache
This fixes spaces or stickers not showing up for old databases as well
as the wrong format of the state_keys db.
2021-08-22 14:45:57 +02:00
Nicolas Werner
56db0dbc7d
Allow downloading keys from key backup 2021-08-17 03:24:12 +02:00
Nicolas Werner
18ea01e198
Show if there are unverified devices in a room
Also fixes some issues where nested transactions will poison the
verification cache.
2021-08-13 23:19:54 +02:00
Nicolas Werner
8784156da5
Fix trying to delete unsupported events 2021-08-08 11:35:27 +02:00
Nicolas Werner
a57a15a2e0
Basic sticker pack editor 2021-08-06 04:31:53 +02:00
Nicolas Werner
25e7a985b8
Add option to only send encrypted messages to verified devices
fixes #636
2021-08-01 00:59:46 +02:00
Nicolas Werner
760f675792
Ensure the encrypted rooms db is always created 2021-07-31 17:59:03 +02:00
Nicolas Werner
570d00b000
Fix crash when storing secrets
Nested QEventLoops are scary. Ultimately we shouldn't use them, but I
have no better solution right now.

fixes #656
2021-07-25 17:07:10 +02:00
Nicolas Werner
eafbab6ae1
Add menu to enable or disable stickers globally 2021-07-23 17:43:17 +02:00
Nicolas Werner
9d5ba4f681
Move sticker parsing and enable room stickers 2021-07-19 03:02:30 +02:00
Nicolas Werner
8a1666bc88
Basic sticker support 2021-07-19 01:28:07 +02:00
Nicolas Werner
3f0aa13cb6
Share historical keys
We share all keys with our devices and ones created by us to other
users.
2021-07-17 02:14:44 +02:00
Nicolas Werner
9fadd14871
Store megolm session data in separate database 2021-07-17 01:27:37 +02:00
Nicolas Werner
5b016cbc68
Remove dead code to calculate last message 2021-07-01 12:45:47 +02:00
Nicolas Werner
884fb74d2d
Add a basic 'Space page' 2021-06-25 11:34:19 +02:00
Nicolas Werner
6bfa6c4c79
Allow filtering by space 2021-06-25 11:34:18 +02:00
Nicolas Werner
12ce7686ce
Show some spaces in the community sidebar 2021-06-25 11:34:17 +02:00
Alexander Bantyev
9f798e76ed
Allow editing unsent messages
As of 0db4d71ec2 (Prevent edits of
unsent messages), messages that are edits of (or replies to) unsent
messages were not allowed. This change was made because otherwise
the edits were discarded due to use of txnid rather than mxid in the
"m.relates_to" object. Remove this restriction and fix the issue by
replacing txnid with mxid in all related events when the message is
sent (and we obtain mxid from the server).
2021-06-18 16:38:55 +03:00
Nicolas Werner
c290b0747f
Reenable invites 2021-05-24 14:04:07 +02:00
Nicolas Werner
567fe81ad7
Basic header and footer of room list 2021-05-15 13:05:55 +02:00
Nicolas Werner
ab0baf5d9e
Only show actions, when you have permissions to do them 2021-05-02 18:06:56 +02:00
Nicolas Werner
c2e625756c
Use one CompletionProxy for everything including EmojiPicker 2021-04-18 21:53:39 +02:00
Nicolas Werner
8108d98fa7
Store state events with state keys 2021-04-13 14:36:37 +02:00
DeepBlueV7.X
f6de66576c
Merge pull request #475 from LorenDB/htmlFormattedNotifs
Better notifications
2021-03-18 15:46:04 +01:00
Anjani Kumar
9b9d784a82
Prevent EventType::Unsupported type events to be saved in db, avoiding exceptions 2021-03-18 02:09:23 +05:30
Nicolas Werner
e5d75c814b
Clean up notification code a bit 2021-03-17 19:18:07 +01:00
Nicolas Werner
86766b739d
Store all state events 2021-03-15 17:11:02 +01:00
Nicolas Werner
569ea5b5f4
Rotate session keys properly 2021-03-15 16:24:01 +01:00
Nicolas Werner
a6f0d2ea7d
Update license headers 2021-03-05 01:04:07 +01:00
Nicolas Werner
1b0abe97f9
Update to new lmdbxx version 2021-03-03 00:01:17 +01:00
Nicolas Werner
bdb6e6b79e Fix stuck notifications because of edits
Does not fix the read status yet, for that we need to compare read
receipts for all events after the last visible event.
2021-02-10 01:03:20 +01:00
Nicolas Werner
d6504812c7 Render edits 2021-02-09 20:22:02 +01:00
Nicolas Werner
39f9b7d90a Handle matrix scheme
Link opening only works on Linux for now.

See https://github.com/matrix-org/matrix-doc/pull/2312
2021-01-10 22:41:56 +01:00
Nicolas Werner
7b46aa2a6e Store secrets in keychain 2020-12-16 22:10:09 +01:00
Nicolas Werner
2ce129e6b6 Properly share and rotate sessions on member and device changes 2020-11-30 01:54:53 +01:00
Nicolas Werner
2290ebcf78 Remove outbound session storage 2020-11-30 01:54:53 +01:00
Nicolas Werner
c24f9a22a5 Load sessions lazily from db 2020-11-30 01:54:53 +01:00
Nicolas Werner
7cda502edd Add some db logging and clean up avatar urls a bit 2020-11-25 23:54:25 +01:00
Nicolas Werner
bc93f24a22 Remove redundant user search suggestion code 2020-11-25 19:05:12 +01:00
Nicolas Werner
70f35de449 Don't pass around empty timeline 2020-10-28 13:06:28 +01:00
Nicolas Werner
12fff7408e Optimize build 2020-10-27 17:45:28 +01:00
Nicolas Werner
66445c507c Trade CPU usage for 30MB of members in RAM 2020-10-22 20:49:15 +02:00
Nicolas Werner
aa9b453f81 Store timestamp with olm sessions 2020-10-20 13:46:05 +02:00
Nicolas Werner
7b6fab3373 Calculate verification status from cross-signing sigs and update dynamically 2020-10-08 00:20:12 +02:00
Nicolas Werner
2a79cd2b6b Don't fail on missing key for a device and /rotate-megolm-session command 2020-10-03 18:38:28 +02:00
Nicolas Werner
94690ebd4c Clean up verification and key cache a bit 2020-10-02 01:14:42 +02:00
Nicolas Werner
4802c34009 Merge remote-tracking branch 'origin/master' into cross-signing 2020-09-24 21:36:43 +02:00
Nicolas Werner
c4e4938d35 Save account data and allow hiding events via account data 2020-09-08 16:21:55 +02:00
CH Chethan Reddy
b174bd9380 Merge remote-tracking branch 'upstream/master' into device-verification 2020-08-30 22:27:14 +05:30
CH Chethan Reddy
1d299951b6 Cache Fix 2020-08-24 13:58:00 +05:30
Nicolas Werner
14a0aac748 Add /clear-timeline command 2020-08-09 23:36:47 +02:00
CH Chethan Reddy
a2979c2df1 Updating keys of outdated encrypted users 2020-07-30 22:10:27 +05:30
CH Chethan Reddy
ac1fbbb69f Some issue with UserProfile 2020-07-30 22:10:27 +05:30
CH Chethan Reddy
6fae36abc4 [WIP] Add Caching for users 2020-07-30 22:10:27 +05:30
Nicolas Werner
6f2bc908ba Fix reaction display 2020-07-19 12:22:54 +02:00
Nicolas Werner
56ea89aa11 Reenable sending messages 2020-07-18 17:43:49 +02:00
Nicolas Werner
9ae7d0dce3 Readd pagination and fix redactions 2020-07-13 00:08:58 +02:00
Nicolas Werner
3421728898 Fetch missing events 2020-07-10 01:37:55 +02:00
Nicolas Werner
530c531c4b WIP: Event Store split out 2020-07-09 23:15:22 +02:00
Nicolas Werner
0da1a6d5fc Add relations and order without hidden events to db 2020-07-08 02:02:14 +02:00
Nicolas Werner
82eff09062 Fetch event from db and use string_view where possible 2020-07-06 03:43:14 +02:00
Nicolas Werner
c79205c26a Use new timeline cache structure 2020-07-05 05:31:15 +02:00
Nicolas Werner
79a29953dd Persist event order 2020-07-04 02:09:12 +02:00
Nicolas Werner
233b3c06ce Store events in room specific db 2020-07-03 02:40:48 +02:00
Nicolas Werner
96f4169be9 Show presence and set custom status messages 2020-06-08 01:59:05 +02:00
Nicolas Werner
dad2de7ba2 Add support for db migrations 2020-05-02 16:44:50 +02:00
Nicolas Werner
e6fcccc8bd Don't store pending receipts in cache
We don't get notified for every message. Sometimes we only get a read
receipt for the newest message, which means old read receipts accumulate
in the database. This least to some considerable CPU overhead, when
checking if the timeline should be notified for new read receipts.
Instead just always notify, since that has far less overhead in the
worst case and doesn't need complicated cache cleanup.

The old pending_receipts db is not removed for now. It should still have
minimal storage overhead and we don't have a good mechanism for cache
format upgrades atm.
2020-04-30 22:42:56 +02:00
Nicolas Werner
2022775dd0 Clear notifications when event is read 2020-04-11 01:09:47 +02:00
Nicolas Werner
1eb2869fa8 Fix stuck unread messages by storing state events in the db
This may increase the db size by a factor of 1000 in the worst case and
it will need some fixes, when we decide to not show some events in the
timeline, but it should work for now.
2020-02-24 01:07:25 +01:00
Nicolas Werner
6bdc75d073 Reset user colors on theme change (in qml timeline) 2020-02-20 20:51:07 +01:00
Nicolas Werner
bd3b6aefb4 Remove even more headers 2020-01-31 16:36:58 +01:00
Nicolas Werner
127fb9370b Remove metatypes from headers 2020-01-31 16:08:30 +01:00
Nicolas Werner
d10276253f Fix include of lmdb++ with hunter 2020-01-26 16:38:31 +01:00
Nicolas Werner
5fc1f3bd67 Reduce overhead of Cache.h 2019-12-15 02:56:04 +01:00