Sorunome
872bc04674
fix(ssss): Strip all whitespace characters from recovery keys upon decode
...
Previously we stripped all spaces off of the recovery when decoding it,
so that we could format the recovery key nicely. It turns out, however,
that some element flavours also format with linebreaks, leading to the
user having to manually remove them. We fix this by just stripping *all*
whitespace off of the recovery key.
2021-12-05 12:19:22 +01:00
Krille Fear
43d5b1c523
fix: Add missing calcDisplayname global rules to client constructor
...
This two parameters were
already documented but
were missing in the
constructor. They can
also be final.
2021-12-03 12:34:52 +01:00
cloudwebrtc
4ebf5b2553
Merge branch 'voip/add-voip-function' of https://gitlab.com/famedly/company/frontend/famedlysdk into voip/add-voip-function
2021-12-02 23:20:16 +08:00
cloudwebrtc
61da76a26a
chore: Implement the onAnsweredElsewhere function.
2021-12-02 23:18:01 +08:00
Krille Fear
e5c8e4f4fe
chore: Time unit replacement.
2021-12-02 15:12:59 +00:00
cloudwebrtc
9bc35a216a
chore: Use `fireCallEvent` instead of emit.
2021-12-02 23:04:33 +08:00
cloudwebrtc
1f519703a8
fix: Fix the call function in flutter and dart.
2021-12-01 00:47:11 +08:00
cloudwebrtc
7efe123274
Merge branch 'main' into voip/add-voip-function
2021-11-30 22:31:10 +08:00
cloudwebrtc
edeea47dec
chore: Improve the code.
2021-11-29 22:26:18 +08:00
Krille Fear
fe2d184faf
fix: userOwnsEncryptionKeys always returns true
...
Actually the homeserver sends an
empty object in the deviceKeys map
so we need to check if this object
is there but is empty.
2021-11-28 10:37:56 +01:00
cloudwebrtc
01276bbf60
chore: add more interface for delegate.
2021-11-27 01:29:11 +08:00
cloudwebrtc
60618d1775
chore: Add WebRTC delegate interface.
2021-11-27 01:20:04 +08:00
Krille Fear
44934d5911
Merge branch 'krille/enable-e2eerecovery' into 'main'
...
chore: Enable E2EE recovery by default
See merge request famedly/company/frontend/famedlysdk!915
2021-11-26 13:05:13 +00:00
cloudwebrtc
72584d679c
chore: bump version for webrtc_interface.
2021-11-26 20:33:57 +08:00
Krille Fear
ac06864627
feat: Migrate olm sessions on database migration
...
This adds a getAllOlmSessions
endpoint to the database API and
implements them in both
implementations. This also
adds it to the database
migration.
2021-11-26 08:17:43 +01:00
Krille Fear
03418bfe8b
chore: Enable E2EE recovery by default
...
We have disabled it by default to
prevent using workarounds as
long time solutions and to not
miss bugs. But in a federated
context we can not be sure that
we all Matrix clients are ever
bug free and we have now the
onEncryptionError Stream
anyway.
2021-11-25 15:48:17 +01:00
Krille Fear
79b74e2bbf
fix: Remove user avatar
2021-11-25 09:00:59 +01:00
Nicolas Werner
64257735ac
Merge branch 'krille/limited-timeline-behavior' into 'main'
...
fix: Limited timeline clears too much events
Closes #217
See merge request famedly/company/frontend/famedlysdk!907
2021-11-23 15:06:29 +00:00
Nicolas Werner
da57be44e4
Merge branch 'krille/fix-decrypt-room-event' into 'main'
...
fix: Decrypt last event of a room
Closes #251
See merge request famedly/company/frontend/famedlysdk!904
2021-11-23 15:03:45 +00:00
Krille Fear
bc6ec5e592
Merge branch 'krille/idb' into 'main'
...
feat: Implement FluffyBox database
See merge request famedly/company/frontend/famedlysdk!900
2021-11-23 15:00:42 +00:00
Krille Fear
01eb851364
fix:
2021-11-23 15:48:18 +01:00
Sorunome
17d8b4d25f
Merge branch 'krille/add-clear-cache-command' into 'main'
...
feat: Add clear cache command
See merge request famedly/company/frontend/famedlysdk!908
2021-11-23 13:06:53 +00:00
Krille Fear
ee21121a63
fix: Workaround for null boolean
...
deviceKeysList.outdated is not nullable but we have seen this error
in production: `Failed assertion: boolean expression must not be null`
So this could either be a null safety bug in Dart or a result of
using unsound null safety. The extra equal check `== true` should
safe us here
2021-11-23 13:53:07 +01:00
Krille Fear
921c694888
feat: Add clear cache command
2021-11-23 09:48:08 +01:00
Krille Fear
9cbe1099e5
fix: Limited timeline clears too much events
...
This fixes the bug that the
limited timeline flag also
clears all events from the
current SyncUpdate in an
open timeline.
2021-11-23 09:06:30 +01:00
Krille Fear
3338da4e09
fix: Ability to remove avatar from room and account
...
To remove an avatar the
client needs to send an
empty object. This is now
possible by making the
MatrixFile parameter nullable.
2021-11-22 19:36:38 +01:00
cloudwebrtc
18af7e0642
chore: Set client to final.
2021-11-22 23:08:52 +08:00
cloudwebrtc
12df5d8cdd
chore: Use RTCFactory interface to create MediaStream, VideoRenderer.
2021-11-22 22:41:49 +08:00
Krille Fear
27c03b4fad
fix: Request history in archived rooms
...
We have just forgotten to
set the prevBatch token in
the room object.
2021-11-22 10:37:26 +01:00
Krille Fear
f3775fa5ba
fix: Decrypt last event of a room
2021-11-22 10:18:44 +01:00
Krille Fear
a61e1ae4a3
feat: Add commands to create chats
2021-11-21 13:40:41 +01:00
cloudwebrtc
5dfb196c90
chore: dart format.
2021-11-19 18:03:58 +08:00
cloudwebrtc
93b623f2d5
chore: Use webrtc interface to build the voip module.
2021-11-19 17:51:38 +08:00
Krille Fear
b99a78476a
refactor: Remove Sembast database implementation
...
It was a nice experiment but it
loading everything into memory
is just too slow for big
accounts.
2021-11-18 19:55:21 +01:00
Krille Fear
0532974022
Merge branch 'krille/sembast' into 'main'
...
feat: Implement sembast store
Closes #239
See merge request famedly/company/frontend/famedlysdk!892
2021-11-16 09:42:40 +00:00
Krille Fear
f5051a5afe
feat: Implement sembast store
...
refactor: Use typed store
2021-11-16 09:50:25 +01:00
Nicolas Werner
ae5225f495
Merge branch 'krille/fix-start-chat' into 'main'
...
fix: Dont enable e2ee without encryption support
See merge request famedly/company/frontend/famedlysdk!893
2021-11-16 08:07:32 +00:00
td
1804838324
Merge branch 'krille/fix-crash-in-htmltotext' into 'main'
...
fix: HtmlToText crashes with an empty code block
Closes #249
See merge request famedly/company/frontend/famedlysdk!897
2021-11-16 07:27:09 +00:00
Krille Fear
66bf8e6ace
fix: HtmlToText crashes with an empty code block
2021-11-16 08:18:07 +01:00
cloudwebrtc
56d9ba7d4a
refactor: [WIP] Voip abstract interface.
2021-11-15 22:31:38 +08:00
Krille Fear
13658b7da8
chore: Trim formatted username fallback
...
A user has a mxid with a trailing "-" which
becomes a whitespace here. We should
trim those whitespaces after formatting.
2021-11-15 13:08:31 +01:00
Krille Fear
b7565af56f
fix: use originServerTs to check if state event is old
...
Due to server bugs or whatever it sometimes
happens that old state events appear
in the setState method in the room class.
Previously we checked if we already know
this event ID, but for this we needed to
check the timeline which is very fluid.
Also this is a database operation in a
non-async method which works in Hive but
not in Sembast.
Using originServerTs is not 100% safe as
well but should be more stable because
the chance that servers have veeery wrong
time (which is necessary here) is much
lower than the risk that the timeline
is not long enough to know the
old event.
2021-11-15 10:57:55 +01:00
Krille Fear
c8c4562f70
fix: Dont enable e2ee without encryption support
...
This also adds a missing visibility
parameter to the
createGroupChat method.
2021-11-13 11:58:07 +01:00
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