Krille
aa2b010155
ci: Test that database can write and read at least 5mb of data
...
This does not yet test on
Android but at least makes sure
that this problem does not
occur when using future
databases.
2023-12-27 10:33:27 +01:00
td
dc411c9b14
fix: validate account_data values instead of checking them in syncUpdates
2023-12-20 21:10:31 +05:30
td
b6d5ce02c4
feat: add tests for calls
2023-12-19 21:55:30 +05:30
td
6a2f31de39
fix: ignore calls with age older than lifetime
...
feat: add barebones WebRTCDelegateMock
2023-12-18 21:28:26 +05:30
Krille
d8ec1601a3
ci: Test all databases in unit tests
2023-12-15 14:24:00 +01:00
Krille
9dc2f825a3
refactor: Add loadHeroUsers method
...
This makes it possible to await loading the
hero users to correctly
calculate displayname and
avatar.
2023-12-14 09:16:52 +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
Christian Pauly
6db019ae23
feat: Implement new Matrix Dart SDK Database
...
fix: Edit last event breaks db
feat: Add native sqflite indexeddb database
feat: Split up preload and nonpreload room state boxes
2023-12-06 12:11:47 +01:00
Nicolas Werner
2fca08725d
feat: Update dehydrated devices implementation to current MSC
...
BREAKING CHANGE: This replaces the old dehydrated devices
implementation, since there is no way to query what is supported easily
and supporting both would be complicated.
fixes https://github.com/famedly/matrix-dart-sdk/issues/1579
2023-11-28 11:02:35 +01:00
Krille
06669cbcac
refactor: Store fetched presence in db and deprecate own cache
2023-11-27 15:48:21 +01:00
Krille
029b648f26
fix: Do only convert linebreaks to br tags in p blocks
...
This changes the behavior
of the markdown method to
only convert linebreaks inside
of p blocks. I found no better
solution yet for the problem
as otherwise also lists
will have linebreaks between
the list items. Unfortunately
the default linebreak syntax
seems not to fulfill our needs.
2023-11-22 11:02:17 +01:00
Nicolas Werner
642bb7e62a
fix: in memory database is not actually in memory
...
Since we can't pass the fake filesystem to hive, instead we just store
the database in a temporary directory.
2023-11-21 14:30:34 +01:00
Nicolas Werner
f72d298a0b
fix: database tests group can't be async
2023-11-17 13:05:14 +01:00
Nicolas Werner
8b8a647cf9
chore: enable discarded_futures lint
...
BREAKING CHANGE: This changes the runInRoot method to not return a
future. As a user, if you need the result of an async computation passed
to runInRoot, please await it directly. Also the KeyVerification start
and a few call methods now return a future.
2023-11-17 12:59:27 +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
td
1ab06cb01a
fix: clear local database on logout even if server timesout
2023-11-13 18:12:47 +05:30
Nicolas Werner
82492f92e1
chore: upgrade lints
2023-11-02 10:20:33 +01:00
Krille
6f144198b7
fix: Do not convert linebreaks in pre blocks on markdown parsing
2023-10-23 08:39:26 +02:00
Krille
4e310f16d5
feat: Add methods to load all room keys from online key backup
...
This makes it possible to load
and sync all room keys
right after the bootstrap if the
app wants to do this.
2023-10-20 12:13:12 +02:00
Krille
5c3c85ba3d
refactor: Trigger upload keys on sync and not in background job and upload them before logout
2023-10-20 10:18:05 +02:00
Krille
b5b5cfee5e
fix: Convert linebreaks into br tags on markdown parsing
...
Removes two test cases in the markdown test which do not work anymore.
Reason for this is that just parsing a word inside of $$ word $$
katex is not valid anyway because katex is only made for mathematical
things. So the output is undefined behavior anyway.
2023-09-29 09:24:50 +02:00
Krille
8ac86a883d
feat: Implement member change type
...
For easier handling and
comparing of m.room.member
state events to better
know what these event
actually changes.
2023-09-19 16:19:42 +02:00
td
538865f62a
chore: cleanup some eventTypes and unused variables
2023-06-27 13:46:39 +05:30
Malin Errenst
f310632a83
fix: Assign correct type to signedOneTimeKeys
2023-06-22 17:18:10 +02:00
td
6a0a252912
feat: qr key verification
2023-06-21 19:15:26 +05:30
Malin Errenst
5943576b1b
refactor: Added type casts to match refactored matrix_api_lite
2023-06-16 12:42:10 +02:00
td
2ebda5e6fc
chore: fix edited last events breaking db
2023-06-01 23:58:47 +05:30
Krille
9c2f026b4d
refactor: Remove unused parameters
2023-05-11 09:24:41 +02:00
Malin Errenst
cc377202da
fix: remove deprecated sender_key occurrences
2023-05-08 09:12:14 +00:00
Krille
91617c1892
refactor: Make optional eventId a named parameter
...
This should not break the
API of consuming apps and
is more intuitive as the
parameter is nullable.
2023-04-28 10:03:04 +02:00
Nicolas Werner
831938b8f5
fix: Skip rules with unknown conditions
...
Without this, when new rules are added with new conditions, we would
always match on them. This would mean all messages now notify. It is
better to skip them instead.
2023-04-26 19:00:24 +02:00
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
Nicolas Werner
7f519b5619
Merge branch 'main' into 'main'
...
Implement Thread creating/sending + added neccessary tests
Closes #351
See merge request famedly/company/frontend/famedlysdk!1262
2023-04-17 13:15:36 +00:00
Dmitriy Bragin
203fc25d7a
feat: allow sending messages inside threads
2023-04-17 14:39:11 +03:00
Nicolas Werner
7039c33f3a
chore: Upgrade to matrix_api_lite 1.6
2023-04-17 13:23:51 +02:00
Philipp Grieshofer
9aff62a18c
feat: Expose a getter for all rooms including archived rooms
2023-03-20 13:12:47 +00:00
Nicolas Werner
92999339a9
Merge branch 'krille/fake-user-event' into 'main'
...
fix: Fake User object
Closes #343
See merge request famedly/company/frontend/famedlysdk!1221
2023-02-17 09:02:59 +00:00
td
0c9e129347
fix: clean expired member state events in group calls
2023-02-14 23:08:50 +05:30
td
1219604dc9
fix: hasActiveGroup call now checks all group calls
...
fix: implement activeGroupCallEvents to get all active group call state events in a room
refactor: move staleCallChecker and expires_Ts stuff to an extension on Room, instead of Voip because it makes much more sense per room rather than on voip, also makes testing easier
fix: populate local groupCalls list on instantiating VOIP()
fix: starting stale call checker is now handled by the sdk itself because clients can forget to do so
2023-02-14 15:02:28 +05:30
Christian Pauly
31d4d5d08e
fix: Check if argument is valid mxid in /maskasdm command
2023-02-14 09:16:48 +01:00
Nicolas Werner
9b3dd5acd7
chore: bump dart to 2.18
...
Allows us to get rid of some null assertions.
2023-02-01 11:39:55 +01:00
td
c5d484bb13
feat: add method to generate the matrix.to link
2023-01-20 03:41:43 +05:30
Krille
d6c4b530c5
refactor: room displayname calculation
...
This deprecates the displayname
getter in favor of the new
getLocalizedDisplayname which
gets the default localization
by default so it can be
called without defining localizations. It adds a method
to calculate if a room is an
abandoned DM room where
it is made sure that the room
is actually empty.
2023-01-17 08:51:07 +01:00
The one with the braid
ed0ab3bdb9
Merge branch 'krille/remove-transaction-workaround' into 'main'
...
refactor: Remove database transaction workaround
See merge request famedly/company/frontend/famedlysdk!1192
2022-12-27 13:20:21 +00:00
Krille
185b27eaf7
Merge branch 'nico/invalid_pushrule_test' into 'main'
...
test: Add test for dendrites invalid pushrules
See merge request famedly/company/frontend/famedlysdk!1201
2022-12-27 08:54:43 +00:00
Nicolas Werner
2c87b2a8e3
test: Add test for dendrites invalid pushrules
...
While we do test against dendrite, it is useful to have a few targeted
tests.
See also https://gitlab.com/famedly/company/frontend/famedlysdk/-/issues/349
2022-12-23 11:38:00 +01:00
Nicolas Werner
8c096ef6ca
test: Add tests for account data store and retrieve
...
fixes https://gitlab.com/famedly/company/frontend/famedlysdk/-/issues/326
2022-12-21 19:49:59 +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
td
d517581fa5
Merge branch 'krille/fix-powerlevels' into 'main'
...
fix: PowerLevel calculation regarding to spec
See merge request famedly/company/frontend/famedlysdk!1172
2022-11-21 09:39:50 +00:00
Christian Pauly
f3287dbb99
fix: PowerLevel calculation regarding to spec
2022-11-21 10:14:28 +01:00
TheOneWithTheBraid
476963069a
feat: support MSC 3935: cute events
...
- add cute event skeletron (`im.fluffychat.cute_events`)
- add cute events to default command batch
- this way, all SDK users can profit from cute events
- supported events: `hug`, `googly_eyes`, `cuddle`
Fixes:
https://rail.chat/@AgathaSorceress@eldritch.cafe/109336005433123570
Signed-off-by: TheOneWithTheBraid <the-one@with-the-braid.cf>
2022-11-21 09:17:07 +01:00
Christian Pauly
e6182db16b
refactor: Remove deprecated fluffybox
2022-10-28 12:56:20 +02:00
TheOneWithTheBraid
ed7913e710
feat: introduce hightlighted room getter
...
- adds `Room.isUnreadOrInvited` extending `Room.isUnread` to invited rooms
This is some high-level abstraction simplifying computation of unread
room badges / notifications.
Related: https://gitlab.com/groups/famedly/company/-/epics/28
Signed-off-by: TheOneWithTheBraid <the-one@with-the-braid.cf>
2022-10-26 11:51:32 +02:00
Christian Pauly
69f82b2619
refactor: Remove unused imports
2022-10-18 11:42:11 +02:00
Nicolas Werner
ee93d545cc
chore: fix exception test after api_lite update
2022-10-17 12:52:08 +02:00
Nicolas Werner
f55bb4776a
feat: Support evaluating pushrules
...
fixes #339
2022-10-17 04:29:20 +02:00
Christian Pauly
403824b261
feat: Store original event
2022-09-19 09:40:42 +02:00
cloudwebrtc
62cd4e78fb
chore: fix analyzer error.
2022-09-17 00:19:21 +08:00
Nicolas Werner
163ad0de6b
fix: The initial sync waiting for a long time in some cases
2022-08-30 14:22:09 +02:00
Nicolas Werner
dd1f61c29e
feat: support dehydrated devices
2022-08-29 13:05:55 +02:00
Nicolas Werner
651abc7c14
Merge branch 'krille/add-mark-as-dm-commands' into 'main'
...
feat: Add markasdm and markasgroup commands
See merge request famedly/company/frontend/famedlysdk!1092
2022-08-15 14:19:17 +00:00
Nicolas Werner
a47833ab80
Merge branch 'nico/lints' into 'main'
...
feat: switch from pedantic to lints
See merge request famedly/company/frontend/famedlysdk!1094
2022-08-15 14:15:51 +00:00
Nicolas Werner
6555f36d6d
feat: switch from pedantic to lints
2022-08-15 14:15:51 +00:00
Nicolas Werner
4ac1615ad6
fix: coverage_without_olm tests
...
The coverage calculation is currently broken in dart/test, see
https://github.com/dart-lang/test/issues/1698 for reference.
2022-08-15 13:03:06 +02:00
Christian Pauly
527bcc63ad
refactor: Add reference to itself in bootstrap onUpdate callback
2022-08-12 15:23:32 +02:00
Nicolas Werner
064b84305d
chore: Add markasdm/group tests
2022-08-09 15:33:59 +02:00
Nicolas Werner
073d98cf3d
feat: add coverage to MRs
2022-08-08 15:42:54 +02:00
td
f56e0ddb5f
fix: check for m.call permissions in groupCallEnabled
2022-08-01 14:27:10 +05:30
Nicolas Werner
7f55e131f4
Merge branch 'td/enable_group' into 'main'
...
feat: allow enabling group calls in already created rooms
See merge request famedly/company/frontend/famedlysdk!1084
2022-07-24 19:24:43 +00:00
Jayesh Nirve
29c1241359
chore: add tests for group calls
2022-07-21 23:16:59 +05:30
Henri Carnot
2a019eaec3
feat: keep timeline history for archive rooms in memory
2022-07-21 14:14:17 +00:00
td
f04d8a9f40
Merge branch 'krille/import-sorter' into 'main'
...
refactor: Use import sorter and ci templates
See merge request famedly/company/frontend/famedlysdk!1079
2022-07-21 13:59:05 +00:00
Christian Pauly
7885281c72
refactor: Use import sorter and ci templates
2022-07-21 15:44:04 +02:00
td
32d84dde1d
Merge branch 'nico/try-canceling-async-task-in-archive-test' into 'main'
...
fix: (potentially) a race in the archive test
See merge request famedly/company/frontend/famedlysdk!1083
2022-07-21 06:16:10 +00:00
Nicolas Werner
d5fd03d52d
fix: (potentially) a race in the archive test
2022-07-19 14:13:55 +02:00
Jayesh Nirve
25abed35c4
chore: cleanup unused imports and analyzer warnings
2022-07-19 15:21:26 +05:30
Nicolas Werner
6e211f5a81
fix: race conditions in the SDK and its tests
2022-07-13 00:36:49 +00:00
Christian Pauly
ff359aedff
refactor: Better fetch own profile
...
This makes it possible to pass cache
and getFromRooms variable in
fetchOwnProfile. It also removes the
never working and duplicated
check from rooms. The Profiles
can be duplicated in the Set
because they are equal but not
the same objects. In the get
profile method, it now checks the
cache first before the rooms as
the cache might have the more
accurate result.
This makes displaying an avatar
change much easier as it makes
it possible to just disable cache
then.
2022-07-11 08:08:40 +02:00
Christian Pauly
28231936b1
feat: Calc encryption health state and allow key sharing with unknown devices
...
In order to allow key sharing with
unknown devices (master key has been
verified but this device is not
signed by this master key) the
user should at least be informed.
This makes it possible to set
in the client constructor whether
the app should share keys with
unverified devices or unknown
devices.
2022-07-09 09:39:31 +02:00
Henri Carnot
65b20e7d17
fix: request history
2022-07-05 13:24:35 +00:00
Christian Pauly
9628095ac9
feat: Implement CachedStreamController
...
This makes it possible to access the last
value of a stream at any time.
2022-06-30 09:22:53 +02:00
Christian Pauly
a1c6bc7551
refactor: Let _handleRoomEvents use BasicEvent
...
This is the first step to reduce
the use of pure json in the
sync method.
2022-06-28 14:09:12 +02:00
Duan Weiwei
e2efa3e758
Support group call.
2022-06-13 15:26:25 +00:00
Christian Pauly
58cfd1f688
refactor: Rename methods and get rid of all Future getter
2022-06-08 08:30:05 +02:00
Henri Carnot
fb18843b08
refactor: make sender getter async
2022-06-02 08:13:21 +00:00
Henri Carnot
69dacc8ccd
feat: allow updating image size
2022-05-31 20:32:35 +00: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
Krille Fear
3f3d4d38d6
refactor: Migrate to Matrix Api Lite 1.0.0
2022-05-17 22:50:04 +00:00
Henri Carnot
ff586b06b1
fix: don't assume element is a string
2022-05-17 09:25:13 +00:00
h.carnot
6c2e525a64
fix: remove duplicated read marker
2022-05-16 10:49:57 +02:00
Nicolas Werner
907a0d2317
feat: Store timestamp in the presence events
...
This fixes the presence never being accurate in the app.
2022-05-06 13:04:31 +02:00
Henri Carnot
09b324674e
feat: non cached fragmented timeline
2022-05-03 14:08:33 +00:00
Lanna Michalke
ecdbb06118
feat: introduce new MSC library architecture
...
- migrated to more useful MSC directory structure
- migrate Widgets API into new structure
- add recent emoji API into new structure
The recent emoji API is non-standard and should be compatible with Element.
Signed-off-by: Lanna Michalke <l.michalke@famedly.com>
2022-05-03 09:17:57 +02:00
Henri Carnot
f23abcd323
feat: get fully read marker
2022-05-02 08:43:54 +00:00
Christian Pauly
eefc40e2d0
refactor: Get rid of dynamic input in checkHomeserver
...
This also fixes the automatic
homeserver detection in the
login method. It no longer uses
the deprecated user.
2022-04-21 15:40:21 +02:00
Krille Fear
c5a6cc9a52
Merge branch 'krille/get-event-from-push' into 'main'
...
feat: Get event from push notification
See merge request famedly/company/frontend/famedlysdk!1008
2022-04-14 15:08:46 +00:00
Christian Pauly
5973e629fe
feat: Get event from push notification
2022-04-14 17:01:05 +02:00
Christian Pauly
059a240214
feat: Add more localization strings and add default matrix localizations
2022-04-14 07:54:15 +02:00