Commit graph

723 commits

Author SHA1 Message Date
Marcel 9f6bd740ca [Requests] Make sure to not use the latin1 version of the json but instead convert the bytes to utf8 as required by various RFCs.
Took 14 minutes
2020-07-20 13:19:57 +02:00
Sorunome 0ece2717e0
Merge branch 'master' into soru/fix-members-requests 2020-07-20 11:53:55 +02:00
Christian Pauly b8f80c7071 Fix room sorting 2020-07-20 07:46:46 +00:00
Christian Pauly 811c00c350 Merge branch 'soru/use-prev-content-username-fallback' into 'master'
use prev_content to calculate displayname and avatar_url, if content unavailable

See merge request famedly/famedlysdk!386
2020-07-20 06:33:03 +00:00
Sorunome 175cb0fbd2
add Databse.connect to be able to run in isaltes 2020-07-17 13:20:23 +02:00
Sorunome 864151ec83
use prev_content to calculate displayname and avatar_url, if content unavailable 2020-07-17 12:02:43 +02:00
Sorunome 4394196ba1
try to load members from database first and cache them in-memory 2020-07-14 11:30:13 +02:00
Sorunome 79ea85bf4d
indexes are already created when creating a talbe 2020-07-14 10:43:21 +02:00
Christian Pauly c87450dafb Remove deprecated contactlist method 2020-07-02 10:41:23 +00:00
Sorunome ac720df3d2 Merge branch 'soru/performance' into 'master'
Greatly imporve initial loading performance

See merge request famedly/famedlysdk!377
2020-07-02 08:55:31 +00:00
Sorunome 7351319f28
address things 2020-07-02 10:32:11 +02:00
Sorunome 8f122195c5
re-work state lazy loading after discussion 2020-07-01 11:09:31 +02:00
Christian Pauly ad098aa246 Merge branch 'krille/catch-all-sync-errors' into 'master'
Catch all sync errors

See merge request famedly/famedlysdk!374
2020-06-30 14:47:40 +00:00
Sorunome b7b369923f
only lazy-load m.room.member, not store presence 2020-06-30 13:41:52 +02:00
Sorunome 2e3d8205b1
analyze and format 2020-06-30 12:21:03 +02:00
Sorunome a1f8120c59
Greatly imporve initial loading performance 2020-06-30 12:17:56 +02:00
Sorunome dbfaf7fa72
hide red herring sync errors 2020-06-29 15:27:14 +02:00
Christian Pauly 2f32791117 Catch all sync errors 2020-06-29 14:09:40 +02:00
Christian Pauly 4790925929 Merge branch 'soru/no-contains-key' into 'master'
Better validate event contents

See merge request famedly/famedlysdk!353
2020-06-29 12:02:18 +00:00
Sorunome fd406987c1 Better validate event contents 2020-06-29 12:02:18 +00:00
Christian Pauly 0ac7aec071 Merge branch 'matrixfile-refactor-all' into 'master'
MatrixFile refactoring for thumbnails

See merge request famedly/famedlysdk!371
2020-06-29 12:00:26 +00:00
Lukas Lihotzki 842581699c MatrixFile refactoring for thumbnails 2020-06-29 12:00:26 +00:00
Christian Pauly 7e9c8f88f3 Implement calcDisplayname without local part 2020-06-29 08:40:16 +00:00
Sorunome 163cbdb923
Hotfix: account_data stored incorrectly in the database 2020-06-26 18:46:54 +02:00
Lukas Lihotzki 58dcedb883 Use mime instead of mime_type 2020-06-25 17:35:46 +02:00
Sorunome 62f63ebf1f Merge branch 'soru/olm-session-recovery' into 'master'
Adds olm session recovery

See merge request famedly/famedlysdk!355
2020-06-25 08:01:37 +00:00
Sorunome 35ba666c0a Merge branch 'krille/fix-sorting-again' into 'master'
Fix sorting again and again god damn

See merge request famedly/famedlysdk!365
2020-06-25 07:57:16 +00:00
Sorunome 5dda0c3623 Merge branch 'soru/cross-signing' into 'master'
Cross-Signing

See merge request famedly/famedlysdk!319
2020-06-25 07:53:30 +00:00
Christian Pauly 34425b035f Fix sorting again and again god damn 2020-06-25 09:51:24 +02:00
Christian Pauly c536af32f5 Fix wrong type for sort 2020-06-25 09:36:28 +02:00
Christian Pauly 2b393ff193 Sort invites on top 2020-06-25 09:27:01 +02:00
Christian Pauly 52e57f8dc2 Minor refactoring 2020-06-25 07:16:59 +00:00
Christian Pauly 6846b7d5c6 Use timestamp as sort order 2020-06-25 09:04:26 +02:00
Christian Pauly e6cf5cb927 Fix direct chats 2020-06-25 06:59:03 +00:00
Christian Pauly 13b3c0df4d Add room tag support 2020-06-24 09:22:08 +00:00
Christian Pauly 2afd0bb3a8 Implement pinned events 2020-06-24 08:41:52 +00:00
Sorunome 68fac1e112
pick the correct session when encrypting to_device events 2020-06-24 09:27:32 +02:00
Sorunome f79a85ca71
Merge branch 'master' into soru/cross-signing 2020-06-24 09:26:22 +02:00
Sorunome 1a9f6e38dc
add database.getRoom 2020-06-23 13:35:22 +02:00
Sorunome 3d40a8d81b
remove transaction hack 2020-06-22 17:27:06 +02:00
Christian Pauly aea86aaf10 Merge branch 'soru/direct-chats' into 'master'
potentially fix direct chats going missing

Closes ChristianPauly/fluffychat-flutter#86

See merge request famedly/famedlysdk!346
2020-06-22 06:48:30 +00:00
Sorunome 2999ceec9e potentially fix direct chats going missing 2020-06-22 06:48:30 +00:00
Sorunome dbcdb6883d
better set verified 2020-06-21 21:48:06 +02:00
Sorunome 18f8d0db63
add deviceDisplayName 2020-06-21 21:38:26 +02:00
Sorunome 22d8225f46 Merge branch 'krille/fix-sending-sort-order' into 'master'
Fix sending sort order

See merge request famedly/famedlysdk!350
2020-06-20 19:50:49 +00:00
Sorunome d8cb53e32f Merge branch 'krille/fix-send-again' into 'master'
Fix send again

See merge request famedly/famedlysdk!351
2020-06-20 19:50:08 +00:00
Christian Pauly f1579a5f0f Database transaction workaround 2020-06-19 15:28:03 +02:00
Christian Pauly ee2974e51e Fix send again 2020-06-19 14:05:53 +02:00
Christian Pauly 9f8d170dd4 Fix sending sort order 2020-06-19 14:00:32 +02:00
Sorunome 12bdddee03
Better format switching to WAL mode 2020-06-16 14:26:37 +02:00
Sorunome b1ec508666
Merge branch 'master' into soru/cross-signing 2020-06-16 12:58:30 +02:00
Sorunome 77378e3ebc
switch database to wal mode 2020-06-16 12:51:29 +02:00
Sorunome 0e0fd61c65
remove unneded print 2020-06-15 10:27:28 +02:00
Sorunome e874a5e00b
add signature verification tests 2020-06-15 10:26:50 +02:00
Inex Code 15a9a55767 Two-step well-known check 2020-06-13 22:39:18 +03:00
Sorunome ef0a567401
finish ssss tests 2020-06-13 19:12:32 +02:00
Sorunome 6a36bb2d01
fix pipeline 2020-06-12 16:25:26 +02:00
Sorunome 5334266529
Merge branch 'master' into soru/cross-signing 2020-06-10 16:25:08 +02:00
Sorunome f485ca29d8 Fix state attack 2020-06-10 14:17:57 +00:00
Sorunome f261f35712
Merge branch 'master' into soru/cross-signing 2020-06-10 11:33:24 +02:00
Sorunome 7ddb6be30e
Allow requesting and updating of session keys with lower index and lower forwarded chain 2020-06-10 10:44:22 +02:00
Sorunome 6d49b4def3
Merge branch 'master' into soru/cross-signing 2020-06-09 20:24:22 +02:00
Sorunome b8c58faaab Merge branch 'soru/modularize-e2ee' into 'master'
split encryption stuff to other library

See merge request famedly/famedlysdk!333
2020-06-09 16:13:23 +00:00
Sorunome 1fdd0a7db8
aslo clear ssss cache when clearing a user id 2020-06-06 15:48:57 +02:00
Sorunome 51584ad748
fix signature upload 2020-06-06 15:43:18 +02:00
Sorunome 45232be3a0
simplify key signing a tad 2020-06-06 15:19:44 +02:00
Sorunome b4e83caa89
requestify cross-signing endpoints 2020-06-06 15:17:05 +02:00
Sorunome e1679d59be
better smoothen out keys 2020-06-06 14:28:18 +02:00
Sorunome 4154c7d0eb
format and some analyze 2020-06-06 13:47:37 +02:00
Sorunome 115cd9e5b3
better cache invalidation of ssss cache 2020-06-05 22:22:07 +02:00
Sorunome 4c60369b8d
migrate to new thingy! 2020-06-05 22:03:28 +02:00
Sorunome d29fb9abfe
Merge branch 'soru/modularize-e2ee' into soru/cross-signing 2020-06-05 18:59:58 +02:00
Sorunome 7ed6dcce67
fix canonical alias sometimes being null 2020-06-05 17:12:50 +02:00
Sorunome f3f3231df6
add some encrypt / decrypt tests 2020-06-04 17:51:49 +02:00
Sorunome fcde6a2459
split encryption stuff to other library 2020-06-04 13:39:51 +02:00
Christian Pauly c6bf098644 Init matrix_api library 2020-06-03 10:16:01 +00:00
Christian Pauly bd00c066c8 Catch sync errors 2020-06-01 18:24:41 +00:00
Sorunome 03beffbb46
also load session keys when requesting history 2020-05-30 14:09:47 +02:00
Sorunome 9971e7377e
configurable verification methods 2020-05-30 13:55:09 +02:00
Sorunome d7f2bbe2f9
smoothen out some stuffs 2020-05-30 13:22:34 +02:00
Sorunome 44e4b07999
remove obsolete comments 2020-05-30 13:19:39 +02:00
Sorunome 41a08d4c28
additional validation of received secrets 2020-05-30 13:13:42 +02:00
Sorunome a7bb8375dc
fetch from online key backup 2020-05-29 10:21:36 +02:00
Sorunome 15be6c5244
stuff and things 2020-05-29 09:06:36 +02:00
Sorunome c65b5948fc
Merge branch 'master' into soru/cross-signing 2020-05-29 08:54:33 +02:00
Sorunome 72fdb68e82
some fixes 2020-05-29 08:49:52 +02:00
Sorunome d672edf394 Make room key sharing requests (hopefully) more robust and spec-compliant 2020-05-29 06:49:37 +00:00
Sorunome 6e21cff0a7
fix error thingy 2020-05-27 21:49:49 +02:00
Sorunome c779d39818
fix small stuffs 2020-05-27 21:40:58 +02:00
Sorunome dda0b17724
in-room verification to verify users instead of devices 2020-05-27 21:35:00 +02:00
Sorunome aefe029c0a
add ability to sign yourself based on ssss 2020-05-27 18:50:09 +02:00
Sorunome e4e4386178
signed vs verified logic 2020-05-27 17:37:14 +02:00
Sorunome 8d75c2a0af
format 2020-05-27 10:33:42 +02:00
Sorunome f78657957a
fix emotes if canonical alias is null 2020-05-27 10:33:22 +02:00
Sorunome fabffea1cd
verification status by user, sign manually verified keys 2020-05-27 10:13:22 +02:00
Sorunome 1c9da050c0
smoothen out verification and signature uploading 2020-05-26 15:58:14 +02:00
Sorunome c23e38a9c9
Merge branch 'master' into soru/cross-signing 2020-05-26 10:00:59 +02:00
Sorunome 2ecf4151b9
also send master key on verification and stuffs 2020-05-26 09:54:46 +02:00
Christian Pauly ad5b02e0ef Merge branch 'soru/fix-profile-check' into 'master'
Fixes profile equality check

See merge request famedly/famedlysdk!327
2020-05-26 06:40:13 +00:00
Sorunome 8a289941eb Fixes profile equality check 2020-05-26 06:40:13 +00:00
Christian Pauly 3fa4d46983 Merge branch 'soru/fix-chat-list-last-message' into 'master'
Hopefully fix room list sorting

Closes #75

See merge request famedly/famedlysdk!324
2020-05-26 06:39:51 +00:00
Sorunome 011e427056 Hopefully fix room list sorting 2020-05-26 06:39:51 +00:00
Sorunome 80c7125d1d
remove silly workaround for aes-ctr encrypt/decrypt 2020-05-25 17:55:49 +02:00
Sorunome adc5591e54
add ed25519: 2020-05-25 15:58:37 +02:00
Sorunome c13f66c85f
in theory sign others keys 2020-05-25 15:30:53 +02:00
Sorunome 97a10c7de1
Merge branch 'master' into soru/cross-signing 2020-05-25 13:22:13 +02:00
Christian Pauly cbf5069e32 Add more tests 2020-05-25 09:34:43 +00:00
Christian Pauly f7b29f3703 Ignore key requests from unknown devices 2020-05-25 07:31:17 +00:00
Sorunome 5fde85cbfa
format 2020-05-23 17:05:55 +02:00
Sorunome 280cd4fc16
first SSSS stuff 2020-05-23 17:04:27 +02:00
Christian Pauly c01f75bafa Add olm error stream 2020-05-22 15:51:45 +02:00
Sorunome 1a8ddb2750
fixes 2020-05-22 13:22:28 +02:00
Sorunome c9a0c5302a
format 2020-05-22 13:18:45 +02:00
Sorunome 29721f00a8
Merge branch 'master' into soru/cross-signing 2020-05-22 13:18:36 +02:00
Sorunome 384e5962d6 properly persist decryption of events 2020-05-22 11:15:48 +00:00
Christian Pauly 27b4a620e5 Add code formatting CI job 2020-05-22 10:12:18 +00:00
Sorunome 74361fff0e
don't cache via db and properly handle invalid signatures 2020-05-22 11:04:27 +02:00
Christian Pauly f4a5ccdaa9 Merge branch 'soru/more-emotes' into 'master'
add emote rooms and state key room emotes

See merge request famedly/famedlysdk!318
2020-05-21 15:01:10 +00:00
Sorunome 97ef716be8 add emote rooms and state key room emotes 2020-05-21 15:01:10 +00:00
Sorunome 788353120b
accidental inifnite recursion 2020-05-21 16:55:30 +02:00
Sorunome 10372a9dbe
verified devices are not blocked 2020-05-21 16:52:25 +02:00
Sorunome fc8625d30e clear timeline events cache on limited updates 2020-05-21 14:52:14 +00:00
Sorunome eaefdb64ca
make that cleints can only use "verified" 2020-05-21 16:51:15 +02:00
Sorunome ead44e4014
fix tests and stuffs 2020-05-21 15:32:06 +02:00
Sorunome af961b99dc
get device verification status based on cross signing 2020-05-21 15:20:33 +02:00
Christian Pauly 998ee66650 Merge branch 'soru/null-device' into 'master'
make sure keys are valid

See merge request famedly/famedlysdk!313
2020-05-21 06:28:21 +00:00
Christian Pauly 9fad348d22 Merge branch 'soru/persist-inbound-session-index' into 'master'
properly persist inbound group session indexes

See merge request famedly/famedlysdk!316
2020-05-21 06:25:57 +00:00
Sorunome 7a41f4726f
properly persist inbound group session indexes 2020-05-20 10:36:05 +02:00
Sorunome a3fc73dfc1
make e2ee recovery logic optional 2020-05-20 10:24:48 +02:00
Sorunome 0fabed9cc3
make sure keys are valid 2020-05-20 09:37:32 +02:00
Christian Pauly 11d788b68f Merge branch 'soru/auto-request-room-keys' into 'master'
Automatically request for keys from other devices, if not found

See merge request famedly/famedlysdk!308
2020-05-19 09:34:13 +00:00
Sorunome 9b67992a3a Automatically request for keys from other devices, if not found 2020-05-19 09:34:11 +00:00
Sorunome b2e5ad0880
fix notification count 2020-05-19 10:15:23 +02:00
Sorunome a613c84e27 Merge branch 'soru/async-sync-processing' into 'master'
decrypt events in sync loop, making it async

See merge request famedly/famedlysdk!310
2020-05-19 08:14:46 +00:00
Sorunome f734788eda Merge branch 'soru/rotate-outbound-sessions' into 'master'
Add rotation of outbound group sessions

See merge request famedly/famedlysdk!309
2020-05-19 08:11:19 +00:00
Christian Pauly b9d041d005 close database konditional 2020-05-19 08:05:17 +00:00
Sorunome 867b9c9123
forgot to hit ctrl+s *shame* 2020-05-19 09:58:59 +02:00
Sorunome c5e4e2c751
decrypt events in sync loop, making it async 2020-05-19 09:49:37 +02:00
Sorunome a0fe8f4bad
Add rotation of outbound group sessions 2020-05-18 18:33:16 +02:00
Sorunome 09da5fa4ca
automatically clear an outbound session, if you are unable to decrypt your own messages 2020-05-18 17:31:40 +02:00
Sorunome edaaa286e3
fix decryption of some events throwing an error 2020-05-18 16:45:53 +02:00
Christian Pauly 5166dd8d51 dispose client 2020-05-18 14:01:14 +00:00
Christian Pauly a27c93e7a8 Merge branch 'krille/add-profile-cache' into 'master'
Add profile cache

Closes #65

See merge request famedly/famedlysdk!302
2020-05-18 11:45:49 +00:00
Christian Pauly a6c7d88f00 Add profile cache 2020-05-18 11:45:49 +00:00
Christian Pauly e50f6cc6c0 Merge branch 'soru/fix-last-event' into 'master'
fix lastEvent

See merge request famedly/famedlysdk!301
2020-05-18 11:42:38 +00:00
Sorunome 11a83725d1 Merge branch 'soru/emoji-verification' into 'master'
implement SAS, which is needed for emoji verification

See merge request famedly/famedlysdk!300
2020-05-18 10:57:54 +00:00
Sorunome 2615cd2727
fix lastEvent 2020-05-18 12:56:24 +02:00
Sorunome 2b8f4b0d19
remove print statement for good 2020-05-18 12:39:03 +02:00
Sorunome 50889f9f30
flutter analyze 2020-05-18 11:45:51 +02:00
Sorunome a4c693558d
generalize verification methods 2020-05-18 11:44:23 +02:00