Commit Graph

356 Commits

Author SHA1 Message Date
Christian Pauly 14ee16fe16 feat: Implement new Hive Database
The hive database now implements the whole API except for storing files which
should be better done by the flutter_cache_manager package inside of the
flutter app. All tests already run with Hive now but the Moor database is still
tested too. We needed to change some wait jobs in the tests because the Hive
database is not 100% in memory for the tests like Moor.
For now both database implementations are equal and the developer can pick
which one to use but we plan to get rid of Moor in the future.
2021-06-16 08:43:33 +02:00
Christian Pauly 967712adfe feat: Implement database migration
This allows the user to give a legacyDatabaseBuilder to the client object
and in the init proccess the client checks by itself if there is old data in the legacy
database. If yes then it migrates them and
then deletes the old database. This uses the database_api and is agnostic to
the database implementation.
2021-06-11 10:10:18 +02:00
Lukas Lihotzki ae2aafbd52 test: use setUp and tearDown 2021-06-09 17:12:14 +02:00
Christian Pauly 0e1e72d3ab fix: Minor test glitches 2021-06-01 15:27:57 +02:00
Christian Pauly c387b33e9f refactor: Make support for file storing optional in database API 2021-06-01 15:27:18 +02:00
Christian Pauly 26261ecd5e feat: Add fromJson method for Room
This also included to move the room summary to a dedicated object inside
of the Room object because so it is easier to convert this to and from json.
2021-06-01 12:54:16 +02:00
Christian Pauly c3d47b16c6 CI: Use correct image 2021-05-25 10:46:34 +02:00
Christian Pauly c66e35c16c refactor: Create a clean database API 2021-05-20 07:36:03 +00:00
Christian Pauly aa4b0a25fa refactor: Update matrix_api_lite and remove no longer necessary dep override
The logger package has been removed too because the matrix_api_lite no longer
depends on it. It was a unnecessary import anyway because it was transitive in the past.
2021-05-17 07:50:54 +00:00
Lukas Lihotzki c196610998 chore: operation names from OpenAPI spec 2021-05-12 13:56:16 +02:00
Christian Pauly ffef732103 refactor: enable more linter rules
enable prefer_final_locals and prefer_final_in_for_each linter rules
2021-04-14 10:29:29 +02:00
Lukas Lihotzki 545ce26e39 style: fix format and lint 2021-04-12 14:49:03 +02:00
Lukas Lihotzki 761138a56d refactor: use OpenSSL for AES 2021-04-12 14:49:01 +02:00
Lukas Lihotzki b9df73989b test: fix test on web 2021-04-12 14:47:59 +02:00
Christian Pauly fb0177ac5f feat: Implement spaces 2021-04-12 09:24:20 +02:00
Lukas Lihotzki 2a2a170609 refactor: upgrade http package 2021-04-01 13:43:24 +02:00
Christian Pauly 0ceb2b26df refactor: Constants names 2021-03-30 12:43:50 +02:00
Christian Pauly 97daae3419 refactor: Update to matrix_api_lite 0.2.0
This introduces a minor breaking change in the login method.
It now uses correctly the AuthenticationIdentifier
and deprecates the user, medium and address parameter.
2021-03-09 19:14:53 +01:00
Krille Fear 5cf97886b4 Merge branch 'soru/strip-at-room' into 'main'
feat: Escape @room in the reply fallback when replying

See merge request famedly/famedlysdk!667
2021-03-09 18:12:47 +00:00
Sorunome 6d171542af
feat: Escape @room in the reply fallback when replying 2021-03-09 18:29:13 +01:00
Christian Pauly 1f8285c3e7 refactor: Room states 2021-03-09 17:28:55 +00:00
Krille Fear 44ca96e544 refactor: Update pedantic
This enforces to NOT use curly braces in Strings where not needed
and not await non-future variables.
2021-03-09 17:28:04 +00:00
Krille Fear 0d8bddf708 Merge branch 'soru/fallback-keys' into 'main'
feat: Add fallback keys support

Closes #136

See merge request famedly/famedlysdk!653
2021-03-03 07:38:32 +00:00
Sorunome 498c7825a5
feat: Add fallback keys support 2021-03-02 16:17:32 +01:00
Christian Pauly 5c35799e18 refactor: Request user 2021-03-01 10:32:04 +01:00
Sorunome 885141968c Merge branch 'krille/refactor-event-update' into 'main'
refactor: Deprecate eventType in EventUpdate

See merge request famedly/famedlysdk!661
2021-02-26 16:11:57 +00:00
Christian Pauly b8659213ae feat: Implement can request history calculation 2021-02-26 13:48:29 +01:00
Christian Pauly c9d3c327f6 refactor: Deprecate eventType in EventUpdate 2021-02-26 13:06:02 +01:00
Sorunome e7c8e754a1
chore: Update matrix scheme parsing to match updated MSC 2021-02-23 16:34:43 +01:00
Christian Pauly 72a7bc1637 feat: Implement upload sync filters 2021-02-18 14:03:58 +01:00
Nicolas Werner ac1ad1b897 fix: escape attributes in markdown less aggressively 2021-02-17 22:56:31 +01:00
Sorunome 6c2fc1679a
feat: Auto-selfsign and auto-cache when opening ssss keys 2021-02-13 14:55:09 +01:00
Sorunome fcb8d48bd7
feat: Add command parser 2021-02-09 18:19:38 +01:00
Christian Pauly d362d6db23 fix: Request history on limited timeline 2021-02-09 15:02:48 +01:00
Sorunome d373a06aa2
fix: Add to_device queue to prevent olm session corruptions 2021-02-08 14:57:19 +01:00
Sorunome 0c4db25d05
feat: Add a way to string-encode a recovery key 2021-02-03 11:34:56 +01:00
Sorunome 21a5854fbf
fix: Attempt event decryption on fetching replied events 2021-02-02 12:51:43 +01:00
Krille Fear c701268d71 feat: Do well known by default in check homeserver 2021-01-20 13:21:51 +00:00
Sorunome a35266f1e4
feat: Replay last sent olm message on olm session recovery from other device 2021-01-20 12:50:52 +01:00
Sorunome 44a1bcfd57
fix: Accidental pills in URLs 2021-01-20 12:02:40 +01:00
Sorunome 9d6005ca2a
fix: Smoothen up sending to rooms with extremely many devices 2021-01-14 18:47:51 +01:00
Sorunome 88f8a57863
fix: Correctly generate reply fallbacks 2021-01-14 13:51:17 +01:00
Christian Pauly c94da38438 fix: Hide verification timeline events in lastEvent 2021-01-13 13:30:47 +01:00
Christian Pauly 39b776716c refactor: Olm Exceptions 2021-01-07 12:53:49 +01:00
Sorunome c22615d8cd
fix: Prioritize specced replies over unspecced event aggregations 2021-01-05 15:32:47 +01:00
Christian Pauly e450a09fb5 refactor: External matrix api 2021-01-04 10:26:29 +01:00
Sorunome 19d96595cc
feat: Add identifier string parsing 2021-01-01 15:28:25 +01:00
Sorunome 6723c01a31
feat: Lazy-send room keys, chunked and sorted by importance 2020-12-29 14:46:36 +01:00
Krille Fear 03b9c6e2ee Merge branch 'soru/animated-thumbnail' into 'main'
feat: Add animated property to thumbnails

See merge request famedly/famedlysdk!590
2020-12-29 09:38:47 +00:00
Sorunome 58044be1ba
feat: Add animated property to thumbnails 2020-12-29 10:32:18 +01:00
Sorunome 68afe362ce
feat: Start megolm sessions while typing 2020-12-28 16:14:07 +01:00
Sorunome 768baa7602
chore: Implement a proper deep-copy function for json maps 2020-12-28 14:35:21 +01:00
Marcus Hoffmann 54fc29f203 clear cache fix 2020-12-22 17:34:50 +01:00
Sorunome 6f9deb5ae2
fix: Verify device signatures before storing devices and block those with invalid signatures 2020-12-22 10:22:42 +01:00
Sorunome b00a9e8834
feat: Better determine which devices to encrypt to 2020-12-21 15:26:46 +01:00
Sorunome dfd88277b9 Merge branch 'soru/autoreply-more-key-requests' into 'main'
feat: Auto-Share megolm sessions with other users we know for a fact are...

Closes #127

See merge request famedly/famedlysdk!570
2020-12-21 14:08:17 +00:00
Sorunome df1c249011
feat: Auto-Share megolm sessions with other users we know for a fact are allowed to see said message 2020-12-21 14:41:44 +01:00
Christian Pauly cd4dafcd45 chore: Nicer logs in tests 2020-12-21 14:21:12 +01:00
Christian Pauly 57286d4c28 feat: Use logger package 2020-12-19 12:04:25 +00:00
Sorunome 405306f84e
feat: Add == operator to the Receipt, User and Room objects 2020-12-19 12:15:50 +01:00
Sorunome d1ce075b5b
feat: Automatically cache storable files on upload 2020-12-17 11:59:31 +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
Christian Pauly 5167e92913 feat: Update room api 2020-12-04 12:23:40 +01: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
Marcus Hoffmann 9b3f9e4ef7 feature: allow marking rooms as unread 2020-11-25 12:03:19 +01:00
Christian Pauly 01ce832aaa fix: 3pid api bugs 2020-11-24 13:48:57 +01:00
Christian Pauly 0697d47cc2 refactor: Minor init refactoring 2020-11-19 17:02:07 +01:00
Sorunome b1709ca8c3
feat: More advanced attchment handling methods 2020-11-18 14:56:14 +01:00
Sorunome 588d7eb1a6
fix: Set new state events by sortOrder, rather than originServerTs 2020-11-08 15:13:02 +01:00
Sorunome 66572bd032
feat: Check if event type is known 2020-11-08 13:52:10 +01:00
Sorunome 5aec7aab32
fix: Properly handle redacted events in event.getDisplayEvent 2020-11-07 11:40:47 +01:00
Christian Pauly f9f18641e3 refactor: Connection error handling 2020-10-29 10:42:05 +01:00
Sorunome 412da6ae0c
fix: Properly rotate megolm session on device changes 2020-10-26 11:55:47 +01:00
Christian Pauly 5381c3935c refactor: Check server 2020-10-26 08:33:25 +00:00
Sorunome 343c26b3ed fix: Decrypt last message on received megolm key 2020-10-26 07:49:02 +00:00
Sorunome ad0192e8e1
fix: Greatly improve latex markdown 2020-10-24 12:08:23 +02:00
Christian Pauly 66e590073e refactor: Event Update Type 2020-10-22 13:01:35 +02:00
Sorunome be6824b746
feat: Add LaTeX markdown rendering as per MSC2191 2020-10-21 11:20:19 +02:00
Christian Pauly 4d62a79e96 fix: CI 2020-10-08 12:29:18 +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
Christian Pauly 5019ebfeb5 feat: Auto retry send events 2020-09-21 16:51:40 +00:00
Sorunome 0ff971faa9
fix: Obay variant selectors for emoji regex 2020-09-21 08:45:12 +02:00
Sorunome d42979da12
fix: Emoji regex incorrectly using multiline 2020-09-20 19:09:32 +02:00
Christian Pauly 864cbfa906 fix: Hotfix ignored user list 2020-09-20 10:37:36 +02:00
Christian Pauly a77e776479 feat: Implement ignore list 2020-09-19 12:39:19 +02:00
Sorunome 053585852e
Merge branch 'send-location' of gitlab.com:JohnAZoidberg/famedlysdk into main 2020-09-18 09:43:10 +02:00
Christian Pauly 0871e218d1 refactor: Json signature check 2020-09-16 12:29:21 +00:00
Sorunome d9c4472cac
feat: Add emote helpers 2020-09-15 19:03:55 +02:00
Sorunome c90e18b55d
fix: Handle domains with port or ipv6 addresses correctly 2020-09-15 12:40:29 +02:00
Sorunome cb1ec86b32
feat: Periodically fetch ssss secrets from other devices 2020-09-10 14:46:30 +02:00
Sorunome b5ac500136
fix: Handle failed to send messages in low network significantly better 2020-09-10 13:19:58 +02:00
Sorunome 99d536b14f
feature: Upload to online key backup 2020-09-09 09:53:26 +02:00
Sorunome f7e63097b4 chore: Update emotes to match MSC 2020-09-07 09:34:14 +00:00
Sorunome 54a128d2c5
fix: Properly detect sicket message types 2020-09-06 15:40:12 +02:00
Sorunome 089ce88b57
chore: Add tests to Event.downloadAndDecryptAttachment 2020-09-04 11:00:56 +02:00
Sorunome ea59c4bd94
refactor(keybackup): Update database for stored megolm keys to prepare for proper online key backup 2020-08-17 09:10:51 +02:00