Krille Fear
f052957c0a
fix: Change eventstatus of edits in prevEvent
...
Unfortunately the last fix
was not working.
This fixes it for real now and also
adds a test case to make sure it
never breaks again.
2021-11-11 09:48:50 +01:00
cloudwebrtc
0822e3809d
chore: Null safety for voip.dart.
2021-11-10 21:47:16 +08:00
cloudwebrtc
09e24fd33e
feat: Migrate voip code from famedly-app.
2021-11-10 21:40:36 +08:00
Nicolas Werner
be617ee974
Merge branch 'krille/update_api' into 'main'
...
refactor: Update matrix_api_lite and use SyncUpdate constructors
See merge request famedly/company/frontend/famedlysdk!887
2021-11-10 11:40:49 +00:00
Nicolas Werner
a78f64715b
Merge branch 'krille/fix-last-event-edit' into 'main'
...
fix: Edits as lastEvent do not update
Closes #244
See merge request famedly/company/frontend/famedlysdk!888
2021-11-10 11:11:48 +00:00
Krille Fear
d16c25b26d
fix: Edits as lastEvent do not update
...
This fixes a bug where edit
events as lastEvents do not
update from SENDING status.
Because previously it only
checks if the event ID
matches.
2021-11-10 10:43:05 +01:00
Krille Fear
58b36a67a3
refactor: Update matrix_api_lite and use SyncUpdate constructors
2021-11-10 10:04:03 +01:00
Krille Fear
048b7faba0
fix: JSON parsing in decryptRoomEvent method
...
This makes the use of the
event content null safe and
type safe which fixes a
regression when sessionId is
null.
2021-11-10 09:19:40 +01:00
Krille Fear
872b3bff94
fix: Wrong null check in hive database
2021-11-10 09:09:24 +01:00
Nicolas Werner
d2e7de4702
fix: crash on invalid displaynames
2021-11-09 21:27:55 +01:00
Krille Fear
9abe1ed81d
fix: Dont enable e2ee in test verification DM room
2021-11-09 15:42:43 +01:00
Krille Fear
4cf88e2be6
feat: More advanced create chat methods
...
This includes a new simplified
API to create new direct and
group chats. It also handles
enabling encryption by
default.
2021-11-09 15:39:42 +01:00
Krille Fear
8116436da8
Merge branch 'krille/improve-start-up-time' into 'main'
...
feat: Make waiting on init db optional
Closes #235
See merge request famedly/company/frontend/famedlysdk!881
2021-11-09 14:35:13 +00:00
Krille Fear
475e810523
feat: Make waiting on init db optional
...
This can improve the start-up time of apps.
The three big db reads on init are
loading account data, rooms and
device keys.
This makes it now possible to let
them run parallel
(while it may depend on platform
if this has any effect)
and the init() method can skip
awaiting them. They will
be at least awaited before handling
the first received sync.
So the app can already display the
room list before device keys are
loaded and request the first sync
from the server before anything
else is loaded from the DB.
2021-11-09 15:27:48 +01:00
Nicolas Werner
c443b239b4
Merge branch 'krille/timeline-set-read-marker' into 'main'
...
refactor: Move setreadmarker functionality to timeline
See merge request famedly/company/frontend/famedlysdk!879
2021-11-09 14:14:43 +00:00
Krille Fear
e313426dd9
refactor: Move setreadmarker functionality to timeline
...
Apps had a hard time to just set
the marker for the last event.
The lastEvent in the Room may
not be the actual last event
because we ignore several
event types there. Therefore
it makes sense to refactor
the setUnread method.
Now the timeline class has an
easy method to set the read
marker to the last synced
event, which can only be
known by the timeline if we
want to avoid another DB access.
2021-11-09 14:56:59 +01:00
Nicolas Werner
7f9a75a43d
Merge branch 'krille/timeline-auto-update-list' into 'main'
...
feat: Add onInsert, onRemove and onUpdate cb to timeline
See merge request famedly/company/frontend/famedlysdk!880
2021-11-09 13:08:42 +00:00
Krille Fear
315ed7bdcb
feat: Add more benchmarks for sync, timeline, init
...
This also disables benchmarks if loglevel is higher than debug.
2021-11-09 10:03:59 +01:00
Krille Fear
e1f93637b3
feat: Add onInsert, onRemove and onUpdate cb to timeline
...
This makes it finally possible to
use Flutters AnimatedListView with
our Timeline class and in web we
can now update single elements
instead of the whole timeline
on every change which should
be quiet good for the
performance
2021-11-09 09:55:26 +01:00
Krille Fear
3e1aee6fcd
fix: Null error in get own profile
...
On converting a User object to
a Profile object now leads to an
error. This fixes it.
2021-11-05 12:21:48 +01:00
Krille Fear
9be87918f1
refactor: Make room in Event class not nullable
2021-11-04 14:21:04 +01:00
Krille Fear
eb200afe18
refactor: download method should not return null
...
If the decryption fails, it should
throw an exception and not
return null.
2021-11-04 12:22:20 +01:00
Sorunome
5c87b560b9
fix: obay explicitly set ports in mxc URLs
2021-11-03 08:54:04 +01:00
Jindra
a0bab1b587
feat: choose memberships returned by requestParticipants()
2021-11-02 09:27:00 +01:00
td
3130931f0d
Merge branch 'krille/dont-upload-keys-after-logout' into 'main'
...
fix: Do not upload keys after logout
Closes #213
See merge request famedly/company/frontend/famedlysdk!866
2021-10-29 13:21:01 +00:00
Krille Fear
766b27427a
Merge branch 'td/invite-update' into 'main'
...
fix: add room invite update to roomStateBox, so invites don't show empty room when app is restarted
Closes #228
See merge request famedly/company/frontend/famedlysdk!865
2021-10-29 13:17:30 +00:00
Nicolas Werner
6ee5771334
Merge branch 'nico/nullsafe' into 'main'
...
Make SDK nullsafe
Closes #201
See merge request famedly/company/frontend/famedlysdk!867
2021-10-28 16:25:25 +00:00
Krille Fear
176dbbeda9
fix: Do not upload keys after logout
...
This should fix a race condition where uploading keys is still ongoing
after user has already logged out.
2021-10-28 16:46:45 +02:00
Nicolas Werner
b6eed6daff
fix: don't escape @
2021-10-28 16:46:15 +02:00
Nicolas Werner
7d78233bf0
refactor: remove literal boolean comparisons leftover from nullsafety conversion
2021-10-28 14:40:22 +02:00
Nicolas Werner
6e20c53b01
refactor: remove redundant null checks
2021-10-28 14:32:09 +02:00
Nicolas Werner
6abd9e7e22
refactor: nullsafe event test
2021-10-28 03:44:01 +02:00
Nicolas Werner
ebd5bc3d24
refactor: make room nullsafe
2021-10-28 00:54:25 +02:00
Jayesh Nirve
b955318edb
fix: add room invite update to roomStateBox, so invites don't show empty room when app is restarted
2021-10-26 16:00:22 +05:30
Jindra
06281d1361
refactor: add export & order package exports
2021-10-25 17:51:20 +02:00
Nicolas Werner
fb0a84d7b2
refactor: make client nullsafe
2021-10-25 16:34:02 +02:00
Nicolas Werner
17fd1f22b3
refactor: make event nullsafe
2021-10-25 10:10:25 +00:00
Krille Fear
d2ee73f96f
chore: Bump version
2021-10-25 11:19:45 +02:00
Krille Fear
7a85d52d93
fix: Remove unnecessary null check
2021-10-25 11:11:55 +02:00
Krille Fear
7d5652e9a3
fix: Remove duplicated import
2021-10-25 11:11:17 +02:00
Krille Fear
9193950970
fix: Auto update room states
...
Room states are ignored if the event with the same event ID
is already known in the database. But
because of the event is stored in the
database and after this
setState in the Room class is called,
an event is always "known" and
therefore auto updating was broken.
2021-10-25 10:55:54 +02:00
Krille Fear
faba36d476
fix: Missing null check in a nested json map
2021-10-18 15:45:29 +02:00
Jindra
2b8782c699
fix: delete forgotten files caused by mergetool
2021-10-14 15:37:43 +02:00
Jindřich Pikora
c6e0359522
refactor: Change event status to enum
2021-10-14 13:31:07 +00:00
Nicolas Werner
d5e5500ac5
refactor: make timeline nullsafe
2021-10-14 10:50:18 +00:00
Nicolas Werner
8146aa05b8
refactor: make user nullsafe
2021-10-14 10:27:34 +00:00
Nicolas Werner
978c3bb994
refactor: make voip_content nullsafe
2021-10-13 17:03:34 +02:00
Nicolas Werner
60956bde00
chore: port the remaining encryption files to nullsafety
2021-10-13 13:58:21 +00:00
Krille Fear
3ae42d1a88
fix: Type error when using CryptoKey in dart web
...
In Dart Web when using CryptoKey we
get a type error. When using the html version of it
it seems to work fine.
2021-10-13 12:30:04 +00:00
Lukas Lihotzki
3130139bde
refactor: prepare null safefy for user.dart
...
With this commit, the migration tool needs to do 8 fewer changes.
2021-10-11 19:58:26 +00:00
Sorunome
f811e45102
fix: events with unknown users having invalid mxids
...
This caused issues down the line where the sender id was assumed to
be a valid matrix identifier
2021-10-11 19:49:10 +00:00
Lukas Lihotzki
b516bd1005
refactor: add and use constructor with named parameters
2021-10-08 14:26:23 +02:00
Lukas Lihotzki
66f29c7685
refactor: move voip content in its own file
2021-10-08 14:26:23 +02:00
Krille Fear
3603dae312
feat: Calc benchmarks for hive operations on init
2021-10-07 12:18:13 +00:00
Lukas Lihotzki
a7818bbd0f
refactor: null safety for all utils
2021-10-05 15:41:25 +02:00
Christian Pauly
687a6341f1
fix: Sent events are sorted in SENDING timeline
...
Events with a status of 1 should be sorted in the normal timeline.
They should not be stucked at the bottom. This fixes a bug
where a limited timeline flag
can stuck a SENT event at the bottom of
the chat forever.
2021-10-04 17:45:27 +00:00
Lukas Lihotzki
4bd659fd56
style: remove unneeded trailing comma
2021-09-30 15:53:43 +02:00
Lukas Lihotzki
85004e1faf
refactor: capture member variables as finals
2021-09-30 15:53:43 +02:00
Lukas Lihotzki
41d905ca60
refactor: use more ?.
2021-09-30 15:53:43 +02:00
Nicolas Werner
71e5ec1bb5
style: use map entry with explicit types over cast
2021-09-30 12:58:37 +00:00
Nicolas Werner
6f7f7100e1
fix: use explicit type in fold instead of cast
2021-09-30 12:58:37 +00:00
Nicolas Werner
7dd176c278
fix: apply review feedback
2021-09-30 12:58:37 +00:00
Nicolas Werner
08bbb3f6f5
fix: prefer ! over ?
2021-09-30 12:58:37 +00:00
Nicolas Werner
d15c71e5b3
fix: pre vs postcrement confusion
2021-09-30 12:58:37 +00:00
Nicolas Werner
e5682fcb91
refactor: remove clientid from encryption code
2021-09-30 12:58:37 +00:00
Nicolas Werner
1c838e3be8
fix: Cleanup nullsafe encryption a bit
2021-09-30 12:58:37 +00:00
Lukas Lihotzki
da80658c09
refactor: simplify device_keys_list.dart
2021-09-30 12:58:37 +00:00
Nicolas Werner
a196b53219
refactor: nullsafe encryption
2021-09-30 12:58:37 +00:00
Sorunome
259c9cade6
fix: missing range check
...
When requesting history the `start` parameter could become larger than the loaded events
from the database were, resulting in an error when attempting to request history.
2021-09-30 14:34:28 +02:00
Lukas Lihotzki
1d0202e14e
refactor: null safe matrix_id_string_extension
2021-09-27 12:59:51 +00:00
Lukas Lihotzki
3b1c6e3d2b
refactor: arbitrary components in _parseIdentifierIntoUri
2021-09-27 12:59:51 +00:00
Lukas Lihotzki
fb0ea2efc3
refactor: parseIdentifierIntoParts
2021-09-27 12:59:51 +00:00
Lukas Lihotzki
7fce5b6040
refactor: inline parseQueryString in parseIdentifierIntoParts
2021-09-27 12:59:51 +00:00
Lukas Lihotzki
8ea01fcee0
refactor: simplify parseQueryString in parseIdentifierIntoParts
2021-09-27 12:59:51 +00:00
Krille Fear
62fe7a1704
fix: New verification requests on requesting history
...
If requesting history happens to contain a m.key.verification.request we currently create a new key verification object and push it to the client.
This fixes it.
2021-09-27 14:51:25 +02:00
Jayesh Nirve
77ca7523d0
refactor: remove unused clientId
2021-09-24 16:05:05 +02:00
Lukas Lihotzki
42434761e8
chore: dart analyze fix
2021-09-23 14:57:30 +02:00
Lukas Lihotzki
5da26a6923
refactor: null safe commands_extension
2021-09-23 00:15:05 +00:00
Lukas Lihotzki
01c3b4d0bc
refactor: null safe MatrixFile
2021-09-22 23:40:21 +00:00
Sorunome
b455a54304
fix: Less log clutter about tags
2021-09-22 23:32:27 +00:00
Sorunome
d8986f1d10
fix: Add type checkings for User.displayName
2021-09-22 23:00:36 +00:00
Christian Pauly
0125272b7e
fix: Autodetect mimetype on file upload
2021-09-22 07:59:45 +02:00
Sorunome
80be9629bf
fix: Setting stuff in the database assumed event relationships were well-formatted
2021-09-21 11:31:53 +02:00
Sorunome
b41c7b1bc6
fix: Don't re-play m.dummy to_device events
...
If both ends had m.dummy events queued as last messages an an olm
session corrupted, then the clients landed in an infinite game of
ping-pong. It was so stable, that the clients could have won the
ping-pong world championships!
2021-09-21 10:05:51 +02:00
Lukas Lihotzki
7a3553839c
fix: remove unused parameter in VariableTimeoutHttpClient
2021-09-21 07:12:07 +00:00
Lukas Lihotzki
f491cfacc2
refactor: null safe http_timeout
2021-09-21 07:12:07 +00:00
Krille Fear
e0e09c2f67
feat: Add waitForFirstSync parameter to init method
...
Just using the .init() method to wait for the client
to initialize is a more easy way than listen to onLoginStateChanged.
But by default it waits for the first sync.
This should be configurable.
2021-09-20 11:41:40 +02:00
Sorunome
fe9145d580
fix: missing null check
2021-09-18 07:50:45 +00:00
Sorunome
6f0c7c5f64
feat: Add /discardsession command
2021-09-17 05:52:53 +00:00
Sorunome
0611ea1495
fix: Auto-reply key requests
2021-09-16 22:14:41 +02:00
Sorunome
1652213ab0
fix: Room previews not showing replies
2021-09-16 15:48:41 +02:00
Jindra
d8f642372e
fix: missing content-type when changing avatar
2021-09-15 09:35:58 +02:00
Jindřich Pikora
03f82d84b9
fix: only/number emotes in a reply
2021-09-14 09:21:49 +00:00
Krille Fear
dec32975e2
fix: Clearing corrupted boxes
...
If a box is corrupted the clear function fails on it. Then
we should delete the box from the disk.
Currently we use the Hive.deletefromDisk() method which does not
work because it deletes only open boxes, but the box is obviously not open in
this case.
2021-09-14 10:33:11 +02:00
Krille Fear
00cc439122
fix: Do not set old events as state events
...
Previously we had a check which uses the old
sortOrder value.
This check has been removed with the refactoring which leads to
bug #209 . This fixes it by checking if the
event is already known in the database.
I am not 100% happy with this solution as this database api is impossible
to be implemented with a sqlite db. Once we start to refactor the whole sync update logic
we maybe could find a better way, but only the fox god knows.
2021-09-14 08:29:54 +02:00
Krille Fear
1e2ccabe85
fix: Missing null fallback when update notificationCount
...
Previously when using RoomUpdate in the constructor the notificationCount to update
was never null and set to 0 if it was missing. Now that we are
no longer using it, I forgot to
add the null fallback at this point.
This leads to serious crashes in the apps at runtime
and thats why I bump the version here as well!
2021-09-13 16:42:55 +02:00
Christian Pauly
00771fc209
refactor: _updateUserDeviceKeys method
2021-09-13 14:58:07 +02:00
Krille Fear
56af96c7ea
fix: Get direct chat from user ID method
...
The method was not type safe and therefore there
was no warning that with the sortOrder changes
now DateTimes are compared which leads to
an exception in the app if not using converting to milliseconds first.
2021-09-13 13:53:37 +02:00
Nicolas Werner
e000fbf9be
fix: compilation against newer matrix_api_lite
2021-09-10 16:40:40 +02:00
cloudwebrtc
ea34f0b82c
feat: MSC2746: Improved Signalling for 1:1 VoIP.
2021-09-10 02:50:24 +02:00