Commit Graph

432 Commits

Author SHA1 Message Date
Sorunome d1ce075b5b
feat: Automatically cache storable files on upload 2020-12-17 11:59:31 +01:00
Christian Pauly 3856b618e8 refactor: Encryption errors 2020-12-15 08:24:55 +01:00
Christian Pauly 6657e073a0 refactor: Follow up clean up bootstrap 2020-12-11 09:57:45 +01:00
Christian Pauly b563aec7bb refactor: Add secretstoragekeycontent 2020-12-10 11:03:45 +01:00
Sorunome 49f0679fbf feat: Add bootstrapping 2020-12-10 08:13:24 +00:00
Lukas Lihotzki 88888a43f1 feat: set presence in sync 2020-12-09 16:02:42 +01:00
Christian Pauly f7768af44e fix: Clear init lock on failed init 2020-12-07 09:51:25 +00:00
Christian Pauly bec1761172 refactor: content parsing 2020-11-30 15:34:46 +01:00
Christian Pauly 323b203718 refactor: algorithm types 2020-11-30 14:26:31 +01:00
Christian Pauly 20ae1ae20e fix: Push Rule getter 2020-11-25 20:16:42 +01:00
Christian Pauly 0697d47cc2 refactor: Minor init refactoring 2020-11-19 17:02:07 +01:00
Christian Pauly 1e14cd3ff0 fix: Hotfix request archive 2020-11-09 19:09:38 +01:00
Christian Pauly ac4cded10f feat: Implement UIA for login 2020-11-09 17:48:27 +01:00
Sorunome b0043ea0e4
fix: Pick right DM room, if multiple are set 2020-11-08 19:30:28 +01:00
Christian Pauly f9f18641e3 refactor: Connection error handling 2020-10-29 10:42:05 +01:00
Christian Pauly 5381c3935c refactor: Check server 2020-10-26 08:33:25 +00:00
Christian Pauly 66e590073e refactor: Event Update Type 2020-10-22 13:01:35 +02:00
Sorunome d116a52ea9
fix: Better handle olm session recovery 2020-10-17 12:03:54 +02:00
Christian Pauly 8908f33393 fix: Logout from outside 2020-10-15 09:17:28 +02:00
Sorunome 2e941b85e9 fix: Delete files older than 30 days 2020-10-08 13:02:20 +00:00
Sorunome 74bd1d331b
fix: Messages being encrypted for too many devices 2020-10-04 14:20:17 +02:00
Sorunome ae79af6ea8
fix: store timestamps in milliseconds to fix decrypt error 2020-10-04 12:12:03 +02:00
Sorunome 877ff9963c
fix: Don't sort rooms too often 2020-09-27 10:54:54 +02:00
Christian Pauly 5019ebfeb5 feat: Auto retry send events 2020-09-21 16:51:40 +00:00
Christian Pauly adb907bbc4 fix: Clear on logout 2020-09-21 16:31:28 +00:00
Christian Pauly 864cbfa906 fix: Hotfix ignored user list 2020-09-20 10:37:36 +02:00
Christian Pauly 510de05304 fix: ignore list 2020-09-19 15:05:43 +02:00
Christian Pauly a77e776479 feat: Implement ignore list 2020-09-19 12:39:19 +02:00
Sorunome 024a27bfc2
fix: Back off of failed key queries 2020-09-18 10:24:14 +02:00
Christian Pauly b05e4da34f fix: Last event calculation 2020-09-16 10:23:37 +02:00
Sorunome 99d536b14f
feature: Upload to online key backup 2020-09-09 09:53:26 +02:00
Lukas Lihotzki e6d96ad8ed feat(sync): configurable sync 2020-09-07 11:03:24 +02:00
Christian Pauly e90793bef1 fix: Last message sort order 2020-09-04 09:48:35 +02:00
Christian Pauly 9142dcbeec fix: Database error handling 2020-08-26 09:40:30 +02:00
Christian Pauly 6fbee4ee05 test: Integrate E2EE tests 2020-08-25 13:19:57 +00:00
Lukas Lihotzki d6b97b8e78 feat: safe dispose while _sync 2020-08-21 17:20:26 +02:00
Christian Pauly 09ffa09404 Ignore old webrtc invites 2020-08-19 07:20:16 +00:00
Christian Pauly 50d97ebeb2 Fix unencrypted call events 2020-08-15 16:05:11 +02:00
Christian Pauly 215563ab92 Fix wrong call types 2020-08-15 15:17:17 +02:00
Christian Pauly 61b32e0bd9 Hotfix client 2020-08-14 18:22:31 +02:00
MTRNord 26586b6f02
style: Change package:famedlysdk imports to relative imports
Changing the imports from `package:famedlysdk` to relative imports allows us to easier move the files

Took 2 minutes
2020-08-13 10:40:39 +02:00
Christian Pauly fb9b505988 Krille/make client extend matrixapi 2020-08-11 16:11:51 +00:00
Christian Pauly 6170c79fe1 Improve logging 2020-08-06 09:35:02 +00:00
Christian Pauly 6779ab6624 Deprecate debug mode 2020-08-06 07:09:32 +00:00
Sorunome e1fa4983d0 try...catch fetching all encrypted devices, in case we aren't in a room 2020-08-04 09:17:52 +00:00
Sorunome 69431a1aff
some key verification fixes and temporarily disable transactions 2020-07-30 09:57:45 +02:00
Sorunome 6696a8b3ca Remove trailing slash in checkServer 2020-07-27 07:40:25 +00:00
Christian Pauly 4f2a8febf9 Fix request history 2020-07-21 07:34:30 +00:00
Marcel 3c0fbf784f [Requests] Add try_catch for utf8 decoding because dart really seems to have issues with json encoding and decoding. (also use camelCase)
Took 18 minutes
2020-07-20 13:43:55 +02:00
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
Christian Pauly b8f80c7071 Fix room sorting 2020-07-20 07:46:46 +00: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 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
Sorunome 163cbdb923
Hotfix: account_data stored incorrectly in the database 2020-06-26 18:46:54 +02: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 13b3c0df4d Add room tag support 2020-06-24 09:22:08 +00:00
Sorunome f79a85ca71
Merge branch 'master' into soru/cross-signing 2020-06-24 09:26:22 +02:00
Sorunome 2999ceec9e potentially fix direct chats going missing 2020-06-22 06:48:30 +00:00
Sorunome e874a5e00b
add signature verification tests 2020-06-15 10:26:50 +02:00
Sorunome 4154c7d0eb
format and some analyze 2020-06-06 13:47:37 +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 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 9971e7377e
configurable verification methods 2020-05-30 13:55:09 +02:00
Sorunome 41a08d4c28
additional validation of received secrets 2020-05-30 13:13:42 +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 dda0b17724
in-room verification to verify users instead of devices 2020-05-27 21:35:00 +02:00
Sorunome e4e4386178
signed vs verified logic 2020-05-27 17:37:14 +02:00
Sorunome 1c9da050c0
smoothen out verification and signature uploading 2020-05-26 15:58:14 +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 f7b29f3703 Ignore key requests from unknown devices 2020-05-25 07:31:17 +00: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 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
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
Sorunome eaefdb64ca
make that cleints can only use "verified" 2020-05-21 16:51:15 +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
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
Christian Pauly 5166dd8d51 dispose client 2020-05-18 14:01:14 +00:00
Christian Pauly a6c7d88f00 Add profile cache 2020-05-18 11:45:49 +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 0219a42c07
implement SAS 2020-05-17 15:25:42 +02:00
Christian Pauly f560a43669 Store incoming keys in dummy room if not found 2020-05-17 08:16:04 +00:00
Christian Pauly 81b9d79518 Merge branch 'soru/fix-lazy-session-keys' into 'master'
lazy-load group session keys

See merge request famedly/famedlysdk!293
2020-05-17 07:54:34 +00:00
Sorunome 06b601c41b lazy-load group session keys 2020-05-17 07:54:34 +00:00
Sorunome 77bfd9b19d
fix logged state on connect() 2020-05-16 10:03:59 +02:00
Christian Pauly 1e4f356280 Krille/implement well known 2020-05-16 06:42:56 +00:00
Sorunome f71826739c Switch to moor 2020-05-15 18:40:17 +00:00
Christian Pauly 4253f0ce9a Implement getPushers 2020-05-12 13:03:02 +02:00
Christian Pauly c22090a68d Fix blurry thumbnails 2020-05-04 14:03:07 +00:00
Christian Pauly 6f9a52bb5a Fix clear rooms 2020-05-04 08:19:15 +02:00
Marcel 811589a895 [Room] Send correct filter on the messages endpoint
Took 6 minutes
2020-05-02 05:02:11 +00:00
Christian Pauly 4405e933dd Add change password feature 2020-04-28 16:23:01 +02:00
Christian Pauly 7ce5002237 [MatrixFile] Fix thumbnail encoding 2020-04-23 08:18:33 +00:00
Christian Pauly 81c12c81f2 [Client] Implement thumbnails 2020-04-17 14:11:13 +00:00
Christian Pauly 99b99e7ac9 [Client] Allow r0.6.0 to connect 2020-04-09 13:28:41 +00:00
Christian Pauly 7c7a0f15e5 [Client] Remove lazyloadingcheck 2020-04-02 11:29:07 +00:00
Christian Pauly 066dcbf395 [Room] Fix restore session 2020-04-02 08:39:00 +00:00
Christian Pauly a3c5add79e [SDK] Refactoring with new linter rules 2020-03-30 09:08:38 +00:00
Christian Pauly 887694bbf0 [Client] Fix publish keys 2020-03-26 14:15:08 +01:00
Christian Pauly 1abda1fa13 [Client] Fix mark keys as published 2020-03-26 14:02:07 +01:00
Christian Pauly 44993f3506 [Client] Fix timeout exception 2020-03-25 11:03:47 +01:00
Christian Pauly 69ee4ffd08 [Client] Send request cancellation unencrypted 2020-03-24 09:13:39 +01:00
Christian Pauly bcb12d8a4b [Client] Add global push mute method 2020-03-23 11:47:55 +01:00
Christian Pauly 2c1caf9072 [Client] Enable file encryption 2020-03-23 09:37:51 +00:00
Christian Pauly e9c0ec8511 [Client] Enhanced error handling in decryptToDeviceEvent 2020-03-23 08:51:14 +01:00
Christian Pauly 237bd40a15 [Client] Fix claim keys not in loop 2020-03-20 10:46:12 +01:00
Christian Pauly bb44fa6ac0 [Event] Implement file encryption 2020-03-16 10:38:03 +00:00
Christian Pauly 39717f5917 Sendtodevice enhance performance 2020-03-06 12:04:27 +00:00
Christian Pauly 208ee0581a [LibOlm] Update to fix encryption 2020-03-02 09:28:59 +01:00
Christian Pauly 31b64a6631 [Room] Clear outbound session only if devices changed 2020-02-27 08:41:49 +00:00
Lukas Lihotzki f483fb437e [Client] Remove unused variable in upload 2020-02-24 17:06:07 +01:00
Christian Pauly 2738c5a49d [Client] List public rooms 2020-02-22 18:20:50 +01:00
Christian Pauly 8a7468db01 [Event] Key sharing with all users in a room 2020-02-22 09:08:01 +01:00
Christian Pauly ac3a9a6b3a [Room] Implement key sharing 2020-02-21 15:05:19 +00:00
Christian Pauly 3926539661 [Event] Enhance decryption 2020-02-21 08:44:05 +00:00
Christian Pauly 2ab6eb2a0c [Client] Dont create new inbound session when session matches 2020-02-20 15:29:15 +00:00
Christian Pauly 49e643625c [Client] Add debug prints 2020-02-20 07:28:15 +00:00
Christian Pauly 77b11d78db [Client] Implement device management 2020-02-19 14:26:38 +01:00
Christian Pauly de211b08bc [Client] Only joined or invited users in encrypted rooms count 2020-02-19 10:56:41 +01:00
Christian Pauly 48da43bcc6 [Client] Fix trust own device 2020-02-19 10:24:54 +01:00
Christian Pauly 662f18d86e [Client] Free everything 2020-02-18 13:37:36 +00:00
Christian Pauly 974d507292 [Client] Minor olm fixes 2020-02-18 11:49:02 +01:00
Christian Pauly cf31237457 [Room] Fix clean up 2020-02-18 09:23:55 +00:00
Christian Pauly 10f0424c97 [Client] Send correct key in olm 2020-02-18 08:55:18 +01:00
Christian Pauly f13fc98609 [Client] Try again to upload keys 2020-02-17 18:10:53 +01:00
Christian Pauly 54e88e6c95 [Client] Fix storing verified and blocked devices 2020-02-17 12:49:01 +01:00
Christian Pauly 26bf204bd5 [Client] Add timeout factor 2020-02-17 08:15:32 +00:00
Christian Pauly f8c65d5d59 [Client] Trust own device 2020-02-15 13:33:03 +01:00
Christian Pauly 3c386391cf [Timeline] Try to decrypt but not block 2020-02-15 08:58:08 +00:00
Christian Pauly f5b493f9bd [SDK] Add dart-olm library and update CI 2020-02-15 07:48:41 +00:00
Christian Pauly 214201f9d3 [Client] Clean up logs 2020-02-11 11:23:37 +00:00
Christian Pauly 9395b8fcd3 [Identifier] Implement string extension 2020-02-10 12:33:18 +01:00
Christian Pauly 24d08d83b9 [Client] Always claim own devices 2020-02-05 08:23:47 +00:00
Christian Pauly edd8aa5c4c Client feature add device tracking 2020-02-04 13:41:13 +00:00
Christian Pauly 995da7d255 [Client] Upload with StreamedRequest 2020-02-01 12:08:14 +00:00
Christian Pauly 653883a22d [Store] Make lightweight store possible 2020-01-24 16:42:51 +00:00
Christian Pauly 3b47577dd1 [Client] Clean up debug logs 2020-01-22 07:24:21 +00:00
Christian Pauly 4cc5d263ab [SDK] Implement more matrix methods 2020-01-18 15:49:15 +01:00
Christian Pauly 0b393497f8 [Client] Add register methods 2020-01-14 15:16:24 +00:00
Christian Pauly 5fbeceb217 [SDK] Refactoring 2020-01-14 11:27:26 +00:00
Christian Pauly 9b0d746fee [Client] Send empty object with request 2020-01-13 12:52:08 +00:00
Christian Pauly 27da3041b4 [Client] Fix openid method 2020-01-13 11:52:42 +00:00
Christian Pauly 0be548e4e9 [Client] Implement request openID 2020-01-12 11:30:05 +01:00
Christian Pauly 4d1e5e3ed3 [Store] Async storing of prev batch 2020-01-06 20:21:25 +00:00
Christian Pauly 103949576f [Client] Add call methods 2020-01-04 19:36:17 +01:00
Christian Pauly de2872cfee Update lib/src/client.dart, lib/src/user.dart, lib/src/timeline.dart, lib/src/room.dart, lib/src/presence.dart, lib/src/event.dart, lib/src/utils/profile.dart, lib/src/utils/receipt.dart, test/client_test.dart, test/event_test.dart, test/presence_test.dart, test/room_test.dart, test/timeline_test.dart, test/user_test.dart files 2020-01-04 17:56:17 +00:00