Commit Graph

33 Commits

Author SHA1 Message Date
Nicolas Werner bc336709af
fix: state updates being also applied when fetching history
This could sometimes lead to the room name or the names of members in
the room being incorrect.
2024-06-10 14:51:37 +02:00
Krille a1a542d98e
refactor: Create StrippedStateEvents for invite rooms when loading from db 2024-05-06 09:42:05 +02:00
Krille e266ef7312
refactor: Switch to MatrixSdkDatabase as suggested database and deprecate other ones 2024-03-22 16:05:08 +01:00
Krille b90b902218
refactor: BREAKING Migrate database to new lastEvent storage method
This changes the way how the last event is stored
for each room. It is now stored next to the
room event itself in the rooms box and no longer
stored like a room state. This way we need to
bump the database version which will cause an
inital sync for the client. Be aware of this when
updating the SDK!
2024-03-18 14:11:15 +01:00
krille-chan 20073ddd49
refactor: Store lastEvent in room object instead of room state 2024-03-18 13:18:36 +01:00
Krille 65c56f3630
feat: Store accesstokenExpiresIn and call softlogout 5 minutes before 2024-02-23 13:06:38 +01:00
Krille 38b1eb75e5
feat: Implement handling soft logout 2024-02-23 13:06:38 +01:00
Krille 4c8d7c959c
fix: clearCache does not clear room account data 2023-12-22 13:45:38 +01:00
Krille eb869462aa
refactor: Add delete database method
This adds a delete database
method used for migration to
correctly delete the whole
legacy database instead just
empty it.
2023-12-12 12:57:23 +01:00
Krille c3c770bc33
refactor: Remove duplicated copyMap method and fix type error
dynamic.copy returned a type
error so I reverted the previous
change of the copyMap
method to an extension. Also
I found out that we have used
two copyMap methods in the
SDK which did exactly the same.
I deleted the old one and
changed the tests.
2023-12-11 10:29:06 +01:00
Krille 5e2623672c
fix: Copy all maps got from database
Unfortunately we need to copy
all maps. I took the opportunity
and abstracted the copy map
method to utils. I kept the
copyMap method as a
reference in HiveCollections
database to not require a
huge refactoring there as we
are going to ditch it anyway.
2023-12-11 08:32:06 +01:00
Nicolas Werner a0970b7fcb
chore: don't manually enable default rules 2023-11-17 12:59:20 +01:00
Krille 8cc863b1a3
feat: Store presences in database 2023-11-15 06:59:58 +01:00
Nicolas Werner 500e423c00 fix: storing the end of history pagination
At least in our CI this throws a null assertion error and since we
explicitly expect this to sometimes be null in our code, we should store
it as such.
2023-09-18 12:02:06 +02:00
td 2ebda5e6fc
chore: fix edited last events breaking db 2023-06-01 23:58:47 +05:30
Krille 8f38006c18
fix: Also update last event on redaction in store 2023-05-16 13:33:57 +02:00
td 36070e23b7
fix: cast issues in getEventList 2023-05-05 19:31:08 +05:30
Krille e170325cae
refactor: Make parameters more clear and remove unused methods 2023-05-05 13:38:56 +02:00
td 1928f292b0
fix: casting of a List<dynamic> to List<String> in getEventList and getEventIdList 2023-04-28 00:55:20 +05:30
Nicolas Werner 663ab11ec5
feat: Support private read receipts
You can either set them to private on the client or overwrite the
behaviour for that on each readMarker call. This also handles incoming
thread receipts and tries its best to figure out what is the latest
receipt. This however breaks the old m.receipt account data event.
2023-04-21 18:31:15 +02:00
Krille 4b1bc435e5
fix: Clear HiveCollection boxes inside of transaction in order
This makes sure that the deleteFromDisk() method is
called AFTER the clear while
the execution order was
random before which could
lead to the problem that
Hive tries to clear a box after
it got deleted.
2023-03-31 13:09:01 +02:00
Krille efe8e7e5ac
feat: Make possible to overwrite boxcollection opener in Hive Collections Database 2023-03-20 08:01:51 +01:00
Christian Pauly 7a5b013c92 refactor: Remove database transaction workaround
The workaround was from the
time when we have used
sqflite or when Hive had
bugs. But now HiveCollections
already supports transactions
in Dart zones and concurrent
write operations shouldn't
be a problem anymore.
2022-12-21 09:41:11 +01:00
Nicolas Werner c6a8f5a162 feat: Implement a queue for events pending decryption
fixes https://gitlab.com/famedly/company/frontend/famedly-web/-/issues/535
2022-10-12 11:07:50 +02:00
henri2h 7b61f8eb01 fix: don't assume redacts attribute from content to be valid 2022-09-12 17:09:29 +02:00
Nicolas Werner 6555f36d6d feat: switch from pedantic to lints 2022-08-15 14:15:51 +00:00
Lanna Michalke 8058f88fe2 fix: missing null check
Signed-off-by: Lanna Michalke <l.michalke@famedly.com>
2022-08-01 08:16:35 +02:00
Lanna Michalke 1cb04ef9e4 fix: make Hive Collection path nullable
Signed-off-by: Lanna Michalke <l.michalke@famedly.com>
2022-08-01 07:19:05 +02:00
Christian Pauly 7885281c72 refactor: Use import sorter and ci templates 2022-07-21 15:44:04 +02:00
Christian Pauly 95b060a299 fix: Database did not get cleared correctly 2022-07-08 12:46:17 +02:00
TheOneWithTheBraid 3f0a177abf fix: BoxCollection not re-assignable
- make BoxCollection field in Hive collection DB re-assignable
- used by session import

Signed-off-by: TheOneWithTheBraid <the-one@with-the-braid.cf>
2022-06-10 06:17:29 +02:00
Lanna Michalke 039062bfdf feat: implement session export
- implement session export
- implement session import

Please note, this is not device dehydration but a fully offline session
dump eligible for e.g. TOR users.

Signed-off-by: Lanna Michalke <l.michalke@famedly.com>
2022-05-23 12:06:31 +02:00
Lanna Michalke 8fd3bbe28c feat: support HiveCollections as Database provider
- support Hive's new `CollectionBox` and `BoxCollection`

Signed-off-by: Lanna Michalke <l.michalke@famedly.com>
2022-05-21 20:19:52 +02:00