Commit Graph

102 Commits

Author SHA1 Message Date
Jayesh Nirve 42614bdfbd
Merge branch 'main' of gitlab.com:famedly/company/frontend/famedlysdk into td/fix-lastevent-preview 2021-08-26 02:42:36 +05:30
Lukas Lihotzki 9087f08775 chore: mxc url in Uri 2021-08-23 11:05:47 +02:00
Jayesh Nirve 164a95ea29 clean stuff up? 2021-08-23 07:34:57 +00:00
Jayesh Nirve c4c1c676da fix null check 2021-08-23 07:34:57 +00:00
Jayesh Nirve 572402980c fix null check 2021-08-23 07:34:57 +00:00
Jayesh Nirve 38235415eb fix: lastEvent in room preview now crespects edits order 2021-08-23 07:34:57 +00:00
Christian Pauly 9b7474e2f2 refactor: Update to dart 2.12 and opt out in all files
This also adds some missing license headers, I have detected while
using license header search&replace to add the
null safety opt out
2021-08-18 08:09:39 +02:00
Christian Pauly 86041513f8 refactor: Remove deprecated moor database
We have used some data models which were only used in moor in the tests.
I needed to rewrite them in the original data as well.
Also now the "fake database" on native is the same like on web now with hive.
2021-08-17 10:11:59 +02:00
Marcus f91f662c75 chore: update to matrix_sdk_lite 0.4.1 2021-08-05 12:10:45 +00:00
Lukas Lihotzki 46b2f8898e fix: use TryGet.optional 2021-07-26 15:33:36 +02:00
Christian Pauly e86fd7cc07 refactor: Restructure states box and use dedicated members hive box
More description about this here: https://gitlab.com/famedly/company/frontend/frontend-issue-inbox/-/issues/40
2021-07-10 08:38:38 +00:00
Christian Pauly aeb808b5dc fix: Dont migrate from version null
If the currentVersion of the database is null then the database has never been used yet.
Therefore we store the current version and do not call the migrate method.
2021-07-10 08:38:38 +00:00
Sorunome 4735d2d0a8
fix: Sending of the to_device key
With the switch to hive a regression of sending the to_device key was
introduced: When popping elements .deleteAt(), so deleting at the index,
was used, instead of .delete(), so deleting of the key. As the new events
pushed onto the queue used hives auto increment key, a .delete() is
appropriate here.
2021-07-09 19:43:48 +02:00
Christian Pauly 7c0dd5d8fd fix: Broken nested accountData content maps
If you call BasicEvent.fromJson the given content is copied first
which recursively makes sure
that the Map is from type
Map<String,dynamic>.
Using just the constructor doesnt have this which can lead that nested Maps in
the content is InternallinkedHashMap and
therefore lead to type errors.
2021-07-06 08:11:30 +02:00
Christian Pauly 96d28a1b76 feat: Implement migration for hive schema versions 2021-06-20 10:31:17 +02:00
Christian Pauly a7ffe4835d feat: Also migrate inbound group sessions
For users who do not use the chat backup this could be useful.
2021-06-19 11:03:52 +02:00
Christian Pauly 4dc62f6150 fix: Make sure hive keys only contain valid characters
There are some matrix IDs like room IDs which contain for example emojis.
This is valid from the spec and some people hack their Synapse to have this.
2021-06-19 10:51:17 +02:00
Christian Pauly c0c7f68bf3 chore: Rename to matrix 2021-06-18 09:58:25 +02:00
Christian Pauly 38d81d6093 fix: Migrate missing device keys
Currently we only migrate the client and SSSSCache but this leads to the
problem that we are no longer self signed after the migration.
We need to migrate all device keys too.
This also abstracts the migration code in a method. init() is too large already...
2021-06-18 09:16:12 +02:00
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 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
Lukas Lihotzki ac9df588d1 chore: recreate database.g.dart 2021-04-12 14:49:03 +02:00
Lukas Lihotzki 08043c06f4 refactor: high-level loops 2021-04-01 12:51:45 +02:00
Christian Pauly 0ceb2b26df refactor: Constants names 2021-03-30 12:43:50 +02:00
Sorunome c76dc0daa2
chore: Reduce needed database accessess 2021-03-09 18:28:58 +01: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
Christian Pauly c9d3c327f6 refactor: Deprecate eventType in EventUpdate 2021-02-26 13:06:02 +01:00
Christian Pauly 72a7bc1637 feat: Implement upload sync filters 2021-02-18 14:03:58 +01:00
Sorunome d373a06aa2
fix: Add to_device queue to prevent olm session corruptions 2021-02-08 14:57:19 +01:00
Sorunome a35266f1e4
feat: Replay last sent olm message on olm session recovery from other device 2021-01-20 12:50:52 +01:00
Christian Pauly 9ffecd845a chore: Update license header 2021-01-04 10:34:50 +01:00
Christian Pauly e450a09fb5 refactor: External matrix api 2021-01-04 10:26:29 +01:00
Sorunome add19c73a0
fix: Load multiple olm sessions from the database at once for increased performance 2020-12-30 12:52:54 +01:00
Sorunome 6723c01a31
feat: Lazy-send room keys, chunked and sorted by importance 2020-12-29 14:46:36 +01:00
Marcus Hoffmann 54fc29f203 clear cache fix 2020-12-22 17:34:50 +01: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 3d6dbc9dc3 chore: Implement logoutput 2020-12-21 09:35:36 +01:00
Christian Pauly 57286d4c28 feat: Use logger package 2020-12-19 12:04:25 +00:00
Sorunome 49f0679fbf feat: Add bootstrapping 2020-12-10 08:13:24 +00:00
Christian Pauly bec1761172 refactor: content parsing 2020-11-30 15:34:46 +01:00
Sorunome c509144987
fix: Fetching history sometimes re-sorting events in the timeline 2020-11-08 14:54:19 +01:00
Christian Pauly 66e590073e refactor: Event Update Type 2020-10-22 13:01:35 +02:00
Sorunome 2e941b85e9 fix: Delete files older than 30 days 2020-10-08 13:02:20 +00:00
Christian Pauly 0761d33b6f refactor: Database first to single 2020-10-08 12:48:56 +00:00
Sorunome ae79af6ea8
fix: store timestamps in milliseconds to fix decrypt error 2020-10-04 12:12:03 +02:00
Christian Pauly bc8fef4a94 fix: Remove pubspec.lock from repo 2020-09-16 14:41:09 +02:00
Sorunome b5ac500136
fix: Handle failed to send messages in low network significantly better 2020-09-10 13:19:58 +02:00