td
6566bb8eeb
chore: reduce error logging level of groupCall is null
2022-10-28 22:01:17 +05:30
td
aa03f5aa06
fix: filter list for adding p2p call events
2022-10-28 21:52:02 +05:30
Malin Errenst
380963e87a
Merge branch 'krille/dont-try-to-decrypt-redacted-events' into 'main'
...
Krille/dont try to decrypt redacted events
See merge request famedly/company/frontend/famedlysdk!1156
2022-10-28 12:31:56 +00:00
Krille Fear
78cb434bf2
Merge branch 'krille/remove-deprecated-fluffybox' into 'main'
...
refactor: Remove deprecated fluffybox
See merge request famedly/company/frontend/famedlysdk!1155
2022-10-28 11:28:16 +00:00
Christian Pauly
e6182db16b
refactor: Remove deprecated fluffybox
2022-10-28 12:56:20 +02:00
Christian Pauly
296b193c1d
chore: Lower logs level of native implementation noSuchMethod
...
Otherwise it would spam in the
production logs all the time
2022-10-28 12:45:27 +02:00
Christian Pauly
411cf3d4ec
fix: Redact originalSource on redaction
2022-10-28 12:30:27 +02:00
Christian Pauly
da8ebe85ef
fix: Do not try to decrypt redacted events
2022-10-28 12:25:35 +02:00
Krille Fear
fc1146fe94
Merge branch 'krille/more-stable-migration' into 'main'
...
fix: Do not wait for first sync after migration init
See merge request famedly/company/frontend/famedlysdk!1153
2022-10-26 10:07:58 +00:00
Christian Pauly
6c307980a5
fix: Do not wait for first sync after migration init
...
If the first sync fails because of
a connection problem then the
migration is lost. This should not
happen.
2022-10-26 11:54:33 +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
7b1a519de0
fix: Do not assume that push rules are never malformed in account data
2022-10-21 10:48:40 +02:00
Nicolas Werner
1656c51f05
Merge branch 'fix/audio-input-auto-selection' into 'main'
...
chore: update audio device for call when input device changes.
Closes famedly-web#587
See merge request famedly/company/frontend/famedlysdk!1144
2022-10-18 14:06:50 +00:00
Nicolas Werner
99c77b9276
Merge branch 'nico/decryption-queue' into 'main'
...
feat: Implement a queue for events pending decryption
Closes famedly-web#535
See merge request famedly/company/frontend/famedlysdk!1143
2022-10-18 14:02:48 +00:00
Christian Pauly
69f82b2619
refactor: Remove unused imports
2022-10-18 11:42:11 +02:00
Nicolas Werner
f55bb4776a
feat: Support evaluating pushrules
...
fixes #339
2022-10-17 04:29:20 +02:00
Nicolas Werner
1719bcec9e
chore: add pushrules to the event types
2022-10-14 12:31:05 +00:00
Christian Pauly
3cc2f2fa4a
fix: Edge case where MatrixException.error differs from errcode
2022-10-14 14:22:13 +02:00
cloudwebrtc
e50c0ec641
chore: null safety.
2022-10-12 19:11:53 +08:00
Christian Pauly
779c278854
refactor: Use DateTime method instead of comparing milliseconds
2022-10-12 11:33:00 +02: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
td
157b488255
Merge branch 'td/staleGroupCalls' into 'main'
...
feat: implement expire_ts in group calls and provide methods to terminate stale calls
Closes #332
See merge request famedly/company/frontend/famedlysdk!1137
2022-10-07 10:13:59 +00:00
td
da4174c91a
feat: implement expire_ts in group calls and provide methods to terminate stale calls
2022-10-07 15:08:38 +05:30
duanweiwei1982@gmail.com
27527f0417
chore: update audio device for call when input device changes.
2022-10-05 21:38:45 +08:00
Nicolas Werner
c3ec0ffa2a
fix: messages not being processed after a new encryption event.
2022-09-29 12:18:18 +02:00
td
3a8fedb02f
Merge branch 'krille/warn-on-unverified-devices' into 'main'
...
feat: Add getter for own unverified devices
See merge request famedly/company/frontend/famedlysdk!1141
2022-09-27 09:25:20 +00:00
Duan Weiwei
e5bc54ef88
Improve ice connection speed.
2022-09-23 20:02:09 +00:00
Christian Pauly
dd375eddfd
feat: Add getter for own unverified devices
2022-09-21 10:23:01 +02:00
Nicolas Werner
029a4ae77a
fix: files get needlessly lowercased
...
relates to https://gitlab.com/famedly/app/-/issues/1755
2022-09-20 10:59:22 +02:00
Nicolas Werner
c8a97ce7f8
Merge branch 'krille/on-secret-stored-stream' into 'main'
...
feat: Add onSecretStored StreamController to SSSS
Closes #331
See merge request famedly/company/frontend/famedlysdk!1135
2022-09-20 07:42:04 +00:00
Christian Pauly
f0356532be
feat: Add onSecretStored StreamController to SSSS
2022-09-19 15:15:27 +02:00
Krille Fear
d94bb1e480
Merge branch 'henri2h/dont-assume-redacts-is-valid' into 'main'
...
fix: don't assume redacts attribute from content to be valid
See merge request famedly/company/frontend/famedlysdk!1131
2022-09-19 13:06:34 +00: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
cloudwebrtc
e1ccda3cb1
chore: update.
2022-09-17 00:10:50 +08:00
cloudwebrtc
df426e763a
chore: Properly close usermedia/screen stream for 1v1/group calls.
2022-09-16 23:29:49 +08:00
cloudwebrtc
4a5cf7d55d
chore: update.
2022-09-16 00:04:22 +08:00
cloudwebrtc
7e1abd2b95
chore: Fire events by default during hangup.
2022-09-14 23:48:29 +08:00
cloudwebrtc
62cca99edd
fix: Ensures that p2p/group calls are in progress to reject new call invitations, and emits a call reject events.
2022-09-14 23:07:32 +08:00
cloudwebrtc
b203b5dacb
fix: Fix remote hangup call causing local screenstream to be released.
2022-09-13 10:34:07 +08:00
henri2h
7b61f8eb01
fix: don't assume redacts attribute from content to be valid
2022-09-12 17:09:29 +02:00
Nicolas Werner
43ab43966f
fix: properly handle events not already in the db
...
fixes https://gitlab.com/famedly/app/-/issues/1798
2022-09-09 17:16:58 +02:00
Nicolas Werner
2b58ec2902
Merge branch 'krille/fix-get-push-rules' into 'main'
...
fix: Get push rules crashes if malformed
See merge request famedly/company/frontend/famedlysdk!1124
2022-09-09 10:14:35 +00:00
Nicolas Werner
94397e3cb9
Merge branch 'td/typo' into 'main'
...
chore: fix video muted updates for local stream
See merge request famedly/company/frontend/famedlysdk!1126
2022-09-09 10:09:26 +00:00
td
f15b1cf942
chore: fix video muted updates for local stream
2022-09-09 14:39:56 +05:30
Nicolas Werner
ab73047e51
fix: timeout when sending large files
...
fixes https://gitlab.com/famedly/company/frontend/famedly-web/-/issues/540
2022-09-06 21:18:53 +02:00
Christian Pauly
9a8da3c1e6
fix: Get push rules crashes if malformed
2022-09-06 20:19:52 +02:00
Nicolas Werner
abbc474480
fix: Check ahead of download if a file exceeds the maximum file size
...
fixes https://gitlab.com/famedly/company/frontend/famedly-web/-/issues/539
2022-09-06 11:52:30 +02:00
Nicolas Werner
125ce4d91f
Merge branch 'fix/release-renderer-to-fix-crashes-for-android' into 'main'
...
fix: release renderer to fix crashes on android.
See merge request famedly/company/frontend/famedlysdk!1122
2022-08-31 13:15:45 +00:00
cloudwebrtc
40dd10d2e1
fix: release renderer to fix crashes on android.
2022-08-31 09:48:20 +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
Christian Pauly
3976b0f1e2
refactor: Avoid using private types in public api
2022-08-30 11:55:17 +02:00
Christian Pauly
0c107cf917
refactor: Remove databaseDestroyer
...
The need for a database destroyer
is gone since we have switched
from sqflite/moor to Hive. Removing
it is the first step to a major
refactoring to make the database
not nullable anymore.
2022-08-30 11:00:48 +02:00
Krille Fear
d30d1a8cf9
Merge branch 'nico/dehydrated-devices' into 'main'
...
feat: support dehydrated devices
Closes #315
See merge request famedly/company/frontend/famedlysdk!1111
2022-08-29 13:18:02 +00:00
Nicolas Werner
dd1f61c29e
feat: support dehydrated devices
2022-08-29 13:05:55 +02:00
Christian Pauly
6948eb8c06
fix: Parsing of MatrixException parameters
2022-08-29 10:23:44 +02:00
Christian Pauly
81e55ade67
feat: Allow auto request keys via key sharing requests
2022-08-28 13:59:34 +02:00
Malin Errenst
ea93867b94
fix: Fixed dysfunctional key-verification (Emoji+manual)
...
- added snippet from Nico in matrix_keys.dart
Fixes #24
2022-08-26 09:48:11 +02:00
cloudwebrtc
38c37ec168
fix: Fixed issue with group calls for web and flutter.
2022-08-25 10:35:50 +08:00
Krille Fear
4675783311
Revert "fix: Secret storage keys are used as account data but are not uri encoded"
...
This reverts commit 2f944292ba
2022-08-24 07:57:16 +00:00
Christian Pauly
994faf1012
fix: Decrypt of last event might make an old message as last event
...
We should only decrypt the
last message in room if it is
the current last message.
By just fetching the state
we might bring up an old
encrypted message which
is not really the last event.
2022-08-21 14:10:29 +02:00
Nicolas Werner
a525bb120a
chore: strict casts
2022-08-20 17:26:16 +02:00
Nicolas Werner
6a225e3b8c
chore: strict raw types
2022-08-20 11:56:34 +02:00
Nicolas Werner
5bd934895d
chore: strict inference
2022-08-20 11:53:14 +02:00
Nicolas Werner
7471743be3
chore: disable dynamic calls
2022-08-20 11:28:43 +02:00
Nicolas Werner
ff66e1c208
chore: upgrade from pedantic to lints
2022-08-19 12:11:42 +02:00
td
ae1d7778d5
Merge branch 'voip/correctly-release-the-cloned-stream' into 'main'
...
chore: Correctly release the cloned stream.
See merge request famedly/company/frontend/famedlysdk!1101
2022-08-17 14:57:40 +00:00
Nicolas Werner
30060259fe
Merge branch 'td/fix_negotiation' into 'main'
...
fix: correctly pass and wait negotiation callback
Closes #323
See merge request famedly/company/frontend/famedlysdk!1104
2022-08-17 14:53:56 +00:00
td
d528ded9f8
fix: setRemoteDescription before adding local stream to prevent early feedsChanged and negotiation
2022-08-17 20:11:16 +05:30
Lanna Michalke
94a922fc31
Merge branch 'braid/natrive-implementations-follow-up' into 'main'
...
fix: follow up for native implementations web
Closes famedly-web#551
See merge request famedly/company/frontend/famedlysdk!1105
2022-08-17 10:29:57 +00:00
Lanna Michalke
ca68c28d41
chore: support MIME in file factory
...
- defaultly generate MatrixFile based on the present MIME type
Related: https://gitlab.com/famedly/company/frontend/famedly-web/-/merge_requests/598
Signed-off-by: Lanna Michalke <l.michalke@famedly.com>
2022-08-17 11:57:50 +02:00
Lanna Michalke
d43164f96d
fix: follow up for native implementations web
...
- remove room key deriviation from web worker
- fix fallback argument
Signed-off-by: Lanna Michalke <l.michalke@famedly.com>
2022-08-17 10:08:58 +02:00
Nicolas Werner
65205ea734
chore: simplify getTimeline condition a bit
2022-08-16 16:58:36 +02:00
cloudwebrtc
8b60f17356
chore: Correctly release the cloned stream.
2022-08-15 23:51:10 +08: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
Christian Pauly
527bcc63ad
refactor: Add reference to itself in bootstrap onUpdate callback
2022-08-12 15:23:32 +02:00
Christian Pauly
2f944292ba
fix: Secret storage keys are used as account data but are not uri encoded
...
This always encodes the storage
key so it can be used as account data.
Before the app has waited failed
to use this key at all so we do not
need a migration.
2022-08-12 09:06:51 +02:00
Lanna Michalke
a983db4946
chore: expose option to retry computations
...
Fixes: https://gitlab.com/famedly/company/frontend/famedly-web/-/issues/536
Signed-off-by: Lanna Michalke <l.michalke@famedly.com>
2022-08-10 07:59:29 +02:00
Nicolas Werner
064b84305d
chore: Add markasdm/group tests
2022-08-09 15:33:59 +02:00
cloudwebrtc
f2af63685c
chore: Improve code.
2022-08-09 15:24:11 +08:00
cloudwebrtc
3f38a96d4f
chore: Remove the previous room state listener method.
2022-08-08 22:54:08 +08:00
cloudwebrtc
9695a5ad10
chore: Use onRoomState to monitor group call creation and member join and leave.
2022-08-08 22:50:43 +08:00
Nicolas Werner
f7003933e6
chore: export filter map extension
2022-08-08 16:47:08 +02:00
Christian Pauly
694187d5f1
feat: Add markasdm and markasgroup commands
...
This makes it possible to mark a
room as dm or group. As most of
the apps using the SDK do not have
a GUI to do this, this makes it now
finally possible to repair broken DM
rooms.
2022-08-08 08:47:07 +02:00
Nicolas Werner
e78bf3fc09
Merge branch 'fix/fix-incoming-call' into 'main'
...
fix: Fix currentCID is null when handleNewCall is triggered, which will cause family-app not to display incoming calls.
See merge request famedly/company/frontend/famedlysdk!1080
2022-08-05 11:57:08 +00:00
Duan Weiwei
2ef59b0651
chore: fix group call id mismatch.
2022-08-03 14:16:08 +00:00
Christian Pauly
04e9ae522d
feat: Add a flag to disable colors in logs
2022-08-01 15:39:18 +02:00
Lanna Michalke
501ee5dce1
Merge branch 'td/add_startGroupCall' into 'main'
...
fix: check for m.call permissions in groupCallEnabled
See merge request famedly/company/frontend/famedlysdk!1088
2022-08-01 09:07:27 +00:00
td
f56e0ddb5f
fix: check for m.call permissions in groupCallEnabled
2022-08-01 14:27:10 +05:30
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
368162c76b
Merge branch 'braid/compute-implementation' into 'main'
...
chore: introduce native implementations
See merge request famedly/company/frontend/famedlysdk!1087
2022-08-01 05:50:20 +00: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
Lanna Michalke
05ff61ac86
chore: introduce native implementations
...
- adds Client.nativeImplementations
- deprecates Client.compute
Allows to properly implement accelerated native operations in web
Signed-off-by: Lanna Michalke <l.michalke@famedly.com>
2022-07-28 13:30:22 +02:00
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
td
5dd53a66d9
Merge branch 'nico/awaited-voip' into 'main'
...
fix: Await unawaited stuff in voip code
See merge request famedly/company/frontend/famedlysdk!1082
2022-07-21 13:56:13 +00:00
Christian Pauly
7885281c72
refactor: Use import sorter and ci templates
2022-07-21 15:44:04 +02:00
Jayesh Nirve
0aa5ef9eea
feat: allow enabling group calls in already created rooms
2022-07-20 18:44:03 +05:30
Nicolas Werner
c14fe937ec
fix: Await unawaited stuff in voip code
2022-07-19 13:19:59 +02:00
Jayesh Nirve
e9315bbb8d
fix: set fixed time for ringer
...
element sets lifetime to 60000 which would reject our calls automatically
2022-07-19 15:18:37 +05:30
duanweiwei1982@gmail.com
e789ab904f
fix: Fix currentCID is null when handleNewCall is triggered, which will cause family-app.
2022-07-15 22:34:19 +08:00
Krille Fear
50ef19b8a8
Merge branch 'isabella/create-chat-with-powerlevel' into 'main'
...
Isabella/create chat with powerlevel
See merge request famedly/company/frontend/famedlysdk!1078
2022-07-14 08:32:39 +00:00
Nicolas Werner
6e211f5a81
fix: race conditions in the SDK and its tests
2022-07-13 00:36:49 +00:00
Isabella Hundstorfer
2e649fdcf9
Add powerLevelContentOverride to startDirectChat and createGroupChat
2022-07-12 12:55:11 +02:00
Christian Pauly
7e06d0f578
fix: Cache user profile even with cache=false when there is a cache
2022-07-11 10:48:22 +02: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
Krille Fear
2a280cec98
Merge branch 'krille/share-keys-with-unknown-devices' into 'main'
...
feat: Calc encryption health state and allow key sharing with unknown devices
Closes #307
See merge request famedly/company/frontend/famedlysdk!1072
2022-07-09 07:50:32 +00: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
Duan Weiwei
80b7e7c566
fix: Add WebRTCDelegate.cloneStream to adapt to platform differences.
2022-07-09 05:32:51 +00:00
Krille Fear
c070a7ed40
Merge branch 'krille/refactor-handle-ephemerals' into 'main'
...
refactor: Handle Ephemerals method
Closes #306
See merge request famedly/company/frontend/famedlysdk!1064
2022-07-08 16:20:51 +00:00
Christian Pauly
95b060a299
fix: Database did not get cleared correctly
2022-07-08 12:46:17 +02:00
Henri Carnot
65b20e7d17
fix: request history
2022-07-05 13:24:35 +00:00
Duan Weiwei
425274cb9c
fix: fixed camera is still active after leaving the group call.
2022-07-01 18:37:37 +00:00
Krille Fear
48a376cdc0
Merge branch 'krille/refactor-handle-rooms' into 'main'
...
chore: Add macOS libraries to gitignore
See merge request famedly/company/frontend/famedlysdk!1067
2022-07-01 08:12:52 +00:00
Krille Fear
c3a9d64329
Merge branch 'reza/sending-queue' into 'main'
...
fix: implement sending queue
Closes #257
See merge request famedly/company/frontend/famedlysdk!1061
2022-07-01 06:34:22 +00:00
Reza
4af89c6de4
fix:implement sending queue
2022-06-30 20:16:56 +02:00
Christian Pauly
211c366662
refactor: Use tryGet in handleRoomEvents
2022-06-30 15:33:20 +02:00
Christian Pauly
5b831fcc83
refactor: Handle Ephemerals method
...
This makes sure that the handle
ephemerals method becomes fully
type and null safe, does not handle
maps directly anymore and stores
the corresponding fake m.read
room account data only once
per sync.
2022-06-30 09:39:34 +02: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
0f17fec3f4
fix: Only trigger onCall streams by latest call event for a call_id
...
This should fix that calls can get
started on
2022-06-29 09:00:01 +02:00
Christian Pauly
c591c1d4b5
refactor: Use handleRoomEvents method instead of handleEvent
...
This makes it easier to update
the state by a whole timeline.
2022-06-28 14:09:12 +02:00
Christian Pauly
fc229c5715
refactor: Pass BasicEvent to handleEvent instead of JSON
2022-06-28 14:09:12 +02:00
Christian Pauly
c4cdf6ab4e
refactor: Call handleEphemerals with BasicRoomEvent instead of dynamic
2022-06-28 14:09:12 +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
Nicolas Werner
c292a8602b
fix: Support for OpenSSL 3.0
2022-06-28 12:31:47 +02:00
Nicolas Werner
9b8f3dae81
fix: ringtone not stopping when rejecting a call
2022-06-16 12:08:37 +02:00
Nicolas Werner
d76fee7a20
fix: missing turn servers in group calls
2022-06-14 17:17:22 +02:00
Duan Weiwei
e2efa3e758
Support group call.
2022-06-13 15:26:25 +00: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
Christian Pauly
0ab2b7e443
refactor: add calcLocalizedBodyFallback method
2022-06-09 08:48:37 +02:00
Nicolas Werner
24a3369520
tests: Add basic test for space hierarchy api
2022-06-08 15:55:18 +00:00
Henri Carnot
80a4498ba9
fix: use ChildrenState for children_state in the room hierarchy response
2022-06-08 15:54:26 +00:00
Nicolas Werner
21e9b802a0
chore: Update Matrix API Lite for spaces fixes
2022-06-08 12:55:16 +02:00
Christian Pauly
58cfd1f688
refactor: Rename methods and get rid of all Future getter
2022-06-08 08:30:05 +02:00
Nicolas Werner
3dd7ef3444
fix: wrong types in spaces hierarchy API
...
BREAKING CHANGE (because from is now optional, so it can't be specified
conditionally)
See also:
- https://github.com/matrix-org/matrix-spec/pull/1110
- https://github.com/matrix-org/matrix-spec/pull/1097
2022-06-07 17:05:40 +02:00
Christian Pauly
b00b1636d1
fix: Do not show seen events in push notification
2022-06-07 16:34:07 +02:00
Christian Pauly
f1751a0744
refactor: Use single quotes
2022-06-07 08:53:14 +02:00
Christian Pauly
4692c95910
feat: Allow overriding supportedVersions
2022-06-07 08:53:08 +02:00
Krille Fear
fc4f004312
fix: Add missing versions to fake matrix api
...
This makes it easier to
use the FakeMatrixApi in
other packages for unit
tests.
2022-06-03 11:05:30 +00:00
Henri Carnot
44b7247d2c
fix: add deprecation mention for getUserByMYIDSync
2022-06-02 11:13:27 +00: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
Henri Carnot
2d018d3d5f
feat: added waitForSync method
2022-05-25 10:53:52 +00:00
Christian Pauly
8b1ec5b73c
feat: Add search for events in timeline
2022-05-25 08:54:58 +02:00
Lanna Michalke
dd76e652bf
fix: buggy e2e test
...
Signed-off-by: Lanna Michalke <l.michalke@famedly.com>
2022-05-23 14:40:19 +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
Krille Fear
3f3d4d38d6
refactor: Migrate to Matrix Api Lite 1.0.0
2022-05-17 22:50:04 +00:00
Nicolas Werner
d77940b9c2
Merge branch 'reza/delete_reaction' into 'main'
...
fix: delete reaction
See merge request famedly/company/frontend/famedlysdk!1034
2022-05-17 10:23:17 +00:00
Henri Carnot
ff586b06b1
fix: don't assume element is a string
2022-05-17 09:25:13 +00:00
Reza
fdc2ae01b2
fix: delete reaction
2022-05-17 11:24:02 +02:00
Henri Carnot
7e4096cc63
Merge branch 'henri/fix-remove-duplicated-fully-read' into 'main'
...
fix: remove duplicated read marker
See merge request famedly/company/frontend/famedlysdk!1033
2022-05-16 11:09:37 +00:00
Henri Carnot
bfdd4c810e
Henri/fragmented timeline v2
2022-05-16 10:54:42 +00:00
h.carnot
6c2e525a64
fix: remove duplicated read marker
2022-05-16 10:49:57 +02:00
Nicolas Werner
13b4598c83
feat: Authenticate media downloads
...
This is not strictly required by the spec, but it improves security to
require auth for media downloads on your homeserver. I enabled that on
my servers now and plan to MSC that soon. This is required for people on
my servers to see images and other content now.
2022-05-16 08:14:48 +02:00
Christian Pauly
5fbd0a73a4
chore: Make sure account data and device keys is loaded when using isCached
2022-05-12 13:48:13 +02:00
Krille Fear
9a87850092
Revert "feat: non cached fragmented timeline"
...
This reverts commit 09b324674e
2022-05-12 09:46:29 +02:00
Christian Pauly
b8ea213f73
fix: Missing null check in get single room method
2022-05-11 09:45:01 +02:00
Christian Pauly
d22c200b5c
chore: Make path configurable in uiaLogin
2022-05-10 14:47:50 +02:00
Christian Pauly
ac293c29c6
chore: Move auth object passing to external msc implementations
2022-05-09 14:32:08 +02:00
Nicolas Werner
d6bb91f7e1
chore: Update to matrix v1.2
2022-05-06 15:14:12 +00:00
cloudwebrtc
2fa6561f36
chore: Add GroupCallPrefix/GroupCallMemberPrefix to EventTypes.
...
chore: fix flutter analyze issue.
2022-05-06 22:17:33 +08: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
Lanna Michalke
ac16724841
chore: make Client.accountData read-only
...
- for external access, Client.accountData should be read only
- added corresponding getter and private Map
Signed-off-by: Lanna Michalke <l.michalke@famedly.com>
2022-05-03 03:29:20 +02:00
Henri Carnot
f23abcd323
feat: get fully read marker
2022-05-02 08:43:54 +00:00
td
60fb103563
Merge branch 'krille/remove-deprecations' into 'main'
...
refactor: Remove old deprecations
See merge request famedly/company/frontend/famedlysdk!1017
2022-04-27 05:35:32 +00:00
Krille Fear
15c5bf0a13
Merge branch 'henri/make-image-size-editable' into 'main'
...
feat: make image size editable
See merge request famedly/company/frontend/famedlysdk!1015
2022-04-23 06:09:44 +00:00
Christian Pauly
bce45cbf2b
refactor: Remove old deprecations
...
They have been lived long
enough and the next version
will have breaking changes
anyway.
2022-04-22 12:44:45 +02:00
h.carnot
eaa2f73bcc
feat: make image size editable
2022-04-21 15:45:38 +02: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
Christian Pauly
b7e0d10b5a
fix: Wait for keys in pusher
2022-04-14 19:44:19 +02:00
Christian Pauly
4e657f8e09
fix: Ignore no permission errors on requesting users
...
In theory even in invite or left rooms it
can be possible to request a room
state regarding the spec. In most
cases it will throw an error though.
2022-04-14 17:32:52 +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
Krille Fear
2f4d455eee
fix: Retry sending a file event
2022-04-08 08:41:55 +02:00
Henri Carnot
c6393c67d6
Merge branch 'henri/blurhash-fallback' into 'main'
...
feat: blurhash fallback to thumbnail one
See merge request famedly/company/frontend/famedlysdk!1002
2022-04-07 11:58:48 +00:00
h.carnot
97ca608f60
feat: check thumbnail size
2022-04-06 17:43:31 +02:00
h.carnot
f1c007c655
feat: fallback to thumbnail preview
2022-04-06 11:09:05 +02:00
Krille Fear
e97fe621d6
chore: Allow custom image resizer to be an async method
2022-04-04 14:35:23 +02:00
Christian Pauly
cdd6111ce1
fix: Missing type check in power level calculation
2022-04-03 08:22:53 +02:00
Krille Fear
6f977b7c9d
fix: Store sending files in database and fix retrying to send them
2022-04-01 14:26:57 +02:00
Christian Pauly
117baecfb1
fix: Post load all users on room opening
...
When opening a room we need to
fetch all users from the database.
Otherwise we would need to
update the timeline per user after
creation which should be much slower.
2022-03-31 13:07:40 +02:00
Christian Pauly
ea3910001b
fix: Better fallback message for member events without any change
2022-03-31 12:20:23 +02:00
Christian Pauly
6a57f99c00
feat: Pass through a custom image
...
resize function to the client
This allows the use of the
native imaging package in a more
easy way.
2022-03-30 11:15:04 +02:00
Christian Pauly
445252b3a5
feat: Pass through a custom image
...
resize function to the client
This allows the use of the
native imaging package in a more
easy way.
2022-03-30 10:35:17 +02:00
Christian Pauly
a915cdacc8
feat: Display dummy event in timeline for sending files
...
For thumbnail generation, encrypting
and uploading it is not necessary
to block the UI. The given file
event should already be displayed
in the timeline. This placed it in
the UI and adds a additional
fileSendingStatus property so the
app can fetch the current status.
2022-03-30 10:27:42 +02:00
Krille Fear
23e0d29a0d
Merge branch 'krille/try-again-sending' into 'main'
...
feat: Try again uploading file events for one minute
See merge request famedly/company/frontend/famedlysdk!986
2022-03-30 06:38:01 +00:00
Nicolas Werner
e2d2a69e45
Merge branch 'voip/move-voip-methods-from-room' into 'main'
...
chore: Move the call methods in room to the voip class.
See merge request famedly/company/frontend/famedlysdk!980
2022-03-25 23:51:55 +00:00
Duan Weiwei
cac4dc967d
chore: Move the call methods in room to the voip class.
2022-03-25 23:51:55 +00:00
Christian Pauly
f86b242dcf
feat: Try again uploading file events for one minute
...
This also refactors the code for
sending events with the same
Duration of one minute.
2022-03-25 12:54:42 +01:00
Christian Pauly
abddbee24c
feat: Set loglevel in client constructor
...
This is just more convenient than
doing it in a line after the constructor.
2022-03-25 12:12:43 +01:00
Krille Fear
c897127be5
Merge branch 'henri/fix-olm-session-creation-issue' into 'main'
...
fix: remove pendaing outbound group session creation on completed or errored
Closes #252
See merge request famedly/company/frontend/famedlysdk!987
2022-03-25 09:17:49 +00:00
Christian Pauly
6b36d6bd79
feat: Get event in a room faster by searching in database
2022-03-24 14:10:41 +01:00
h.carnot
2cd4eb5e2c
fix: remove pendaing outbound group session creation on completed or errored
2022-03-24 13:52:28 +01:00
TheOneWithTheBraid
c362ead49a
feat: implement mofifying widgets
...
- add predefined MatrixWidget factories
- allow to create widgets
- allow to delete widgets
Signed-off-by: TheOneWithTheBraid <the-one@with-the-braid.cf>
2022-03-24 10:40:10 +01:00
Krille Fear
b5336cf589
Merge branch 'henri/event-getLocalizedBody-remove-markdown' into 'main'
...
feat: allow removing markdown formating from localized body
See merge request famedly/company/frontend/famedlysdk!979
2022-03-24 08:09:43 +00:00
Krille Fear
f1be211845
Merge branch 'henri/fix-room-loading' into 'main'
...
fix: room members loading
See merge request famedly/company/frontend/famedlysdk!982
2022-03-24 08:04:17 +00:00
Henri Carnot
809fe9e621
fix: room members loading
...
States were used before being fetched from the database.
Thus, room membership states weren't set, and so,
user display names weren't be fetched from the database.
2022-03-24 08:04:17 +00:00
Christian Pauly
657a332b03
refactor: Simplify relates to and make it more type safe
...
Everything in content is user generated
so we should never expect correct
types and return null instead.
2022-03-22 11:46:48 +01:00
h.carnot
b47a5f8dff
feat: added doc
2022-03-18 11:42:38 +01:00
h.carnot
77347a44ff
feat: allow removing markdown formating
2022-03-18 11:40:10 +01:00
Techno-Disaster
885da787b4
fix: send oldusername in displayname changed event
2022-03-17 18:51:26 +05:30
Nicolas Werner
62780b5b2f
Merge branch 'krille/fix-reactions-trigger-notifications' into 'main'
...
fix: Dont encrypt reactions
See merge request famedly/company/frontend/famedlysdk!974
2022-03-15 10:40:52 +00:00
Christian Pauly
f1d422b89a
fix: Dont encrypt reactions
...
This fixes that server
sends notifications for reactions.
2022-03-15 08:42:53 +01:00
Krille Fear
93b11dd8ca
Merge branch 'krille/matrix-file-improvements' into 'main'
...
refactor: Make MatrixFile final and move all image calculation into isolate
Closes famedly/fluffychat#863
See merge request famedly/company/frontend/famedlysdk!972
2022-03-15 07:40:59 +00:00
Krille Fear
9fa5667234
refactor: Make MatrixFile final and move all image calculation into isolate
...
This makes all fields in a MatrixFile final and
the object therefore stateless. It also moves
all calculations into the isolate. After some
benchmarks it seems that this does not
really speed up the thumbnail creation
but it does no longer block the UI for
some seconds.
2022-03-15 08:27:40 +01:00
Nicolas Werner
83298cc98b
fix: own profile containing mxid
...
There are a few ways to fix this. We could skip events, where we don't
have the state in memory yet or always do a /profile request and cache
that.
I chose to go with loading the event from the database if necessary. If
we have a room in the db, we should have our memberevent in the db. In
some cases we might not (if the server thinks our memberevent is super
redundant), but I think the spec doesn't really allow that and it
doesn't happen in practice. And even if it would, we probably would want
our member event ASAP. And if we have no rooms, we fetch it from the
server as before instead of constructing a member with an MXID as the
username.
fixes https://gitlab.com/famedly/company/frontend/frontend-issue-inbox/-/issues/65
2022-03-15 02:13:09 +01:00
Krille Fear
58f77cacdb
fix: Rooms sort order after login
...
A two years old workaround prevented
the room sorting for the initial sync. But
this is definitely no longer needed.
2022-02-28 12:19:33 +01:00
Krille Fear
ecc60efea9
fix: Change password using email authentication
2022-02-19 13:37:35 +01:00
Krille Fear
215de3b948
Merge branch 'krille/fix-background-uia' into 'main'
...
fix: UIA request stucks forever on unexpected matrixExceptions
See merge request famedly/company/frontend/famedlysdk!966
2022-02-19 11:32:40 +00:00
Krille Fear
1f8691dd70
Merge branch 'krille/thumbnail-size' into 'main'
...
chore: Increase default thumbnail size to 800
See merge request famedly/company/frontend/famedlysdk!968
2022-02-19 11:16:08 +00:00
Krille Fear
d780ba77c4
chore: Increase default thumbnail size to 800
2022-02-19 11:29:10 +01:00
Christian Pauly
c0ec4c3990
fix: sortRooms should be triggered right before onSync is called
2022-02-18 12:11:10 +01:00
Krille Fear
a7f8838522
fix: UIA request stucks forever on unexpected matrixExceptions
2022-02-17 20:54:03 +01:00
Christian Pauly
b30b340b43
fix: hasNewMessage true when last event is sent
2022-02-16 08:09:57 +01:00
td
d543a0314d
Merge branch 'krille/return-homeserver-summary' into 'main'
...
feat: Return homeserver summary on checkHomeserver
See merge request famedly/company/frontend/famedlysdk!963
2022-02-16 07:07:53 +00:00
Krille Fear
6b610d0115
feat: Return homeserver summary on checkHomeserver
2022-02-16 07:07:53 +00:00
cloudwebrtc
63d347de8e
fix: Correctly end the call.
2022-02-15 22:02:56 +08:00
Christian Pauly
01dfdb29fd
fix: Has new messages compares ts
...
This compares the origin server timestamp which might not map
to the real sort order of the timeline. But it is the best
solution for now.
2022-02-15 10:26:17 +01:00
Lanna Michalke
ade7e7e910
fix: handle dynamic content for pinned events
...
Signed-off-by: Lanna Michalke <l.michalke@famedly.com>
2022-02-14 18:18:34 +01:00
Christian Pauly
68fcee98cb
fix: Show reactions as last events and refactor hasNewMessage
...
Reactions are triggering push
notifications and should therefore
be displayed as last events
in the room list of a client.
The body should just display
the reaction key.
This fixes that rooms with
new reactions can't set to
read.
2022-02-14 15:06:22 +01:00
Christian Pauly
63e69eaa27
feat: Add hasNewMessages flag to room
...
This makes it possible to check
if muted rooms have unread
messages.
2022-02-14 10:48:57 +01:00
Christian Pauly
843afe7aa4
fix: Sort rooms after updating the UI on web
...
FluffyBox behaves different on
web transactions which leads
to the result that _sortRooms()
is performed before the
rooms UI can be there. This
leads to an unsorted room list
on web.
2022-02-14 09:30:33 +01:00
Krille Fear
ff55444b52
Merge branch 'voip/fix-black-screen-with-system-button' into 'main'
...
fix: Fix black screen when end screensharing with system buttons.
Closes famedly-web#268
See merge request famedly/company/frontend/famedlysdk!955
2022-02-14 08:03:23 +00:00
Nicolas Werner
4a52540006
fix: exception on removed widgets
...
And widgets without a name.
fixes #267
2022-02-13 23:11:53 +01:00
cloudwebrtc
48c0d03bd2
fix: Fix black screen when end screensharing with system buttons.
2022-02-13 07:13:58 +08:00
Christian Pauly
d7f0da3545
fix: Call onChange on remove aggregation event
2022-02-08 08:34:20 +01:00
Krille Fear
84e87279e8
fix: Remove onHistoryReceived which was broken anyway
2022-02-07 15:15:44 +01:00
Krille Fear
8e7db020bf
fix: Remove aggregation event doesnt trigger onChange
2022-02-07 15:06:38 +01:00
Christian Pauly
846d5b0f46
fix: Add redaction events to timeline
...
The redaction events should not
be displayed in the GUI but it
is the job of the app to hide
them from the timeline while
the SDK should offer an
accurate list of ALL timeline
events by default.
2022-02-04 08:55:47 +01:00
Christian Pauly
12f846e101
fix: Resize image with compute by using const class arguments
2022-02-04 08:04:18 +01:00
Christian Pauly
01d13e7e2c
refactor: Implement on history received in timeline
...
In order to make delta updates
for GUIs displaying the
timeline events easier, the
onHistoryReceived callback
has been introduced.
2022-02-03 09:38:39 +01:00
TheOneWithTheBraid
7d2a99b500
fix: null-safety issues with widgets
...
Signed-off-by: TheOneWithTheBraid <the-one@with-the-braid.cf>
2022-02-02 16:17:22 +01:00
TheOneWithTheBraid
fa6bd12294
feat: implement to get a room's widgets
...
Please note that this does not implement *modifying* widgets,
as this requires a full implementation of the Matrix Integration Manager
API first. This is to be done later.
Signed-off-by: TheOneWithTheBraid <the-one@with-the-braid.cf>
2022-02-02 08:38:56 +01:00
Christian Pauly
48572f8f10
fix: Trigger onChange for index on aggregation event update
2022-02-01 11:45:29 +01:00
Krille Fear
f8a2a603ad
Merge branch 'room-timeline-onupdate' into 'main'
...
feat: expose Timeline.onChange to Room.getTimeline
See merge request famedly/company/frontend/famedlysdk!943
2022-01-26 12:16:07 +00:00
TheOneWithTheBraid
ed6f9c06b7
feat: expose Timeline.onChange to Room.getTimeline
...
Signed-off-by: TheOneWithTheBraid <the-one@with-the-braid.cf>
2022-01-26 12:52:30 +01:00
Nicolas Werner
999dbb4434
Merge branch 'voip/fix-call-breaks-caused-by-aborting-screen-sharing' into 'main'
...
Fix call breaks issue caused by aborting screen sharing.
Closes famedly-web#212
See merge request famedly/company/frontend/famedlysdk!938
2022-01-26 10:57:09 +00:00
Lanna Michalke
58f6cde0bf
BREAKING CHANGE: high-level hadling of image sizes
...
- By using [package:image](https://pub.dev/packages/image ), the
`MatrixImageFile` was given automatically generated width and heigth.
- Moreover, `MatrixImageFile` was given a factory to create the image
file from a given maximal dimension.
- When sending images without explicitly providing a thumbnail, the
thumbnail is automatically generated based on the provided image.
- The blur hash in generated automatically based on the provided image.
Fixes:
https://gitlab.com/famedly/company/frontend/famedly-web/-/issues/162 , https://gitlab.com/famedly/fluffychat/-/issues/756
Signed-off-by: Lanna Michalke <l.michalke@famedly.com>
2022-01-19 13:10:17 +01:00
Marcel
1b11efc9eb
fix: Use where and map instead of a loop and a removeWhere
2022-01-17 22:06:29 +00:00
cloudwebrtc
38c7109aee
fix: fix call breaks issue caused by aborting screen sharing.
2022-01-17 21:16:36 +08:00
MTRNord
d77d49430a
fix: Remove sorts that shouldnt be required.
2022-01-15 21:54:13 +01:00
cloudwebrtc
fba3c1e5f6
fix: Fix turn credentials format issue for safari.
2022-01-14 20:56:51 +08:00
Lanna Michalke
cab03aa73b
fix: Allow unpadded base64 decoding
2022-01-11 09:02:34 +00:00
Krille Fear
b472dd7b92
fix: Room Member updates should always be cached
...
I think the commit which broke it was this: e3bd0cf1 It makes sure that only important state events get cached and room member events are not important state events and so new invites have no room member events cached. It makes sense to also allow room member events here to always be cached as they are special typed.
2022-01-08 10:44:22 +01:00
Krille Fear
bcca5e11f2
feat: Let sendDefaultMessage return false on encryption failure
2022-01-07 17:12:20 +00:00
Krille Fear
6d8fabd1e0
Merge branch 'krille/fix-request-user' into 'main'
...
fix: Requested users are not stored
See merge request famedly/company/frontend/famedlysdk!930
2022-01-04 06:28:00 +00:00
Krille Fear
e9e9dcb4aa
Merge branch 'krille/newlinter' into 'main'
...
refactor: Remove unnecessary type checks and imports
See merge request famedly/company/frontend/famedlysdk!929
2022-01-03 11:45:06 +00:00
Christian Pauly
62a04b52d4
fix: Requested users are not stored
...
Fake Matrix Events for storing
need more paramters to
actually get stored. This fixes
it by creating a fake event ID
which should be unique.
2021-12-26 09:14:52 +01:00
Krille Fear
3bce8b4489
refactor: Remove unnecessary type checks and imports
2021-12-23 11:46:45 +01:00
Krille Fear
326f1f3223
fix: Localize reactions
...
In notifications in FluffyChat we
have "Unknown event m.reaction"
for reactions. But it should just be
enough to display the body so it
should look like:
"username: :thumbs_up_emoji:"
2021-12-23 11:43:00 +01:00
Krille Fear
e5fde4f801
chore: bump version
2021-12-16 08:17:36 +00:00
Nicolas Werner
d687973b01
fix: fallback in body for replies to replies
2021-12-15 19:21:41 +00:00
Lukas Lihotzki
477780d779
feat: deletePusher
2021-12-09 11:33:28 +00:00
Lukas Lihotzki
793ddddd3f
feat: add additionalProperties in PusherData
2021-12-09 11:33:28 +00:00
Sorunome
fa5abfca92
fix: ignore 4xx errors when re-sending the to_device queue
...
The to_device queue was introduced to ensure integrity if e.g. the
server temporarily failed when attempting to send a to_device message.
If, for whatever reason, the server responds with a 4xx error, though,
then we want to ignore that to_device message from the queue and move on,
as that means that something different was fundamentally wrong. This
helps to fix the to_device queue clogging up, making clients incapable
of sending to_device events anymore, should such clogging happen.
2021-12-08 13:00:53 +01:00
Sorunome
454e27239c
chore: Add missing matrix error types as per spec
...
The full list of error codes is here:
https://spec.matrix.org/v1.1/client-server-api/#standard-error-response
2021-12-07 21:10:59 +01:00
cloudwebrtc
c0e4008903
fix: Store the call state, fix the invite cannot be sent.
2021-12-06 19:32:33 +08:00
Sorunome
b009ada0ac
fix: Allow consecutive edits for state events in-memory
...
The lastEvent was incorrect when trying to process an edit of an edit.
This fixes that by allowing consecutive edits for the last event.
2021-12-06 11:11:21 +01:00
Sorunome
e3bd0cf139
fix: Only save state events from sync processing in-memory if needed
...
If we dump all state events from sync into memory then we needlessly
clog up our memory, potentially running out of ram. This is useless
as when opening the timeline we post-load the unimportant state events
anyways. So, this PR makes sure that only the state events of post-loaded
rooms and important state events land in-memory when processing a sync
request.
2021-12-06 11:09:50 +01:00
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
Krille Fear
6a3c25a8bd
chore: Make some tryGet errors verbose and display line
...
tryGet messages can spam the
logs and may be better if
they are just verbose instead
of warnings. Also now
we display the line where
this tryGet call was.
2021-11-25 08:47:19 +01:00
Krille Fear
2383cef438
feat: Colored logs on native and web
...
This uses the developer.logs
method to print logs on
native and console.logs on
web. Therefore we have
native colored logs
everywhere without the use
of a package. It highlights
errors and warnings on
web much better and supports
collapsing stacktraces on
web.
2021-11-25 08:26:19 +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
6f4f69106e
chore: Bump version
2021-11-10 09:48:05 +01:00
Krille Fear
238c5addb3
feat: Add constructors to SyncUpdate classes
...
In the SDK we have multiple points
where we use fake syncs to
update the data model.
This constructors would make it
much easier to work with them.
2021-11-10 09:31:02 +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
Nicolas Werner
3e7a6df81b
fix: threepidCreds should be threepid_creds and an object
...
For context, see https://github.com/matrix-org/matrix-doc/pull/3471
Basically the spec was wrong and didn't match what clients and servers
were doing. Might fix registration on matrix.org.
BREAKING CHANGE: Any client that implements the email portion will fail
to build now.
2021-11-04 15:23:01 +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
7a4bb507fe
chore: codegen update (convert to json explicitly)
2021-10-11 15:23:11 +02: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
Lukas Lihotzki
5c3db7a602
chore: workaround for invalid getTurnServer responses from synapse
2021-09-27 13:25:12 +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
Christian Pauly
e13b00d127
refactor: Make RoomUpdate class null safe by removing it
...
RoomUpdate came from a time where we had no data model for
SyncUpdates but now we have and therefore this class is just
code duplication. This removes the class
and uses the SyncRoomUpdate class from
the package matrix_api_lite instead.
It needed a lot of refactoring at some places
where I also have removed some unnecessary null or type checks.
2021-09-08 12:31:55 +00:00
Christian Pauly
5b13e0442e
refactor: Make Uri extension null safe
2021-09-08 12:31:55 +00:00
Christian Pauly
92755c07d3
refactor: Don't create dummy User object just to start a new chat
2021-09-08 12:31:55 +00:00
Christian Pauly
210c925a0a
fix: Do not handle sending event updates which are already synced
...
This is an edge case which might occour
on unstable data connections. The user sends an event and receives the sync
before the response to the sending
http request. This leads to duplicated
events while the response actually
should be ignored at this point.
2021-09-08 11:33:36 +02:00
Christian Pauly
646d7e2640
fix: revert make bytes in EncryptedFile nullable
2021-09-06 09:35:53 +02:00
Christian Pauly
2cd32a8547
fix: Make bytes in encrypted file nullable
...
This was a mistake to make them non nullable. There are fields in the app where
we create this object without bytes.
2021-09-06 08:46:23 +02:00
Christian Pauly
630203e7b6
fix: Check if database got disposed in keyManager
2021-09-03 15:05:34 +02:00
Christian Pauly
524b09c572
feat: Do not load all timeline events from store at once
2021-09-03 14:58:43 +02:00
Christian Pauly
9c1f79359e
refactor: Replace all logic regarding sortOrder
...
The current implementation of sortOrder can be made way more easier now
by just keeping the sortOrder of the list
and the timelineFragments in the hiveStore. This needed a huge
change but mostly removes a lot of code which can be done
way more easy now. This also needed some rewriting of the setState logic and changes to
the prevEvent calculation. This solution should also be more stable.
More information:
https://www.reddit.com/r/fluffychat/comments/pfnlhq/the_sort_order_of_matrix_timelines/
2021-09-02 07:13:38 +00:00
Christian Pauly
803c7598c6
refactor: Workarounds for missing mHeroes in rooms
...
Normally we do not need a workaround here at all but we had
one in the displayname calculation for
historical reasons. A "good" server should always send the mHeroes correctly.
Instead of removing this workaround completely we do a compromise and implement a more
lightweight alt behaviour by just saying that in a DM room with no
heroes, the directChatMatrixId will be used. This is the same behaviour like in Element
and needs way less lines than before and also covers the avatar
calculation. For Synapse we seem to not need this but for Conduit it
might be helpful.
2021-09-02 07:00:12 +00:00
Christian Pauly
fb62307730
fix: Check if client is disposed in a callback
...
This fixed an edge case in the tests.
2021-09-02 06:43:06 +00:00
Christian Pauly
d921f38734
feat: Pin invited rooms
...
Invitations should always be on top of the
room list. This makes it an optional parameter now which defaults to
true.
2021-09-02 06:43:06 +00:00
Sorunome
efb5842959
fix: Implement dummy transactions for hive
...
That way some concurrency bugs might be fixed, such as if two sync
requests are processed at the same time. That can e.g. happen if you
request history while a sync request is already being processed.
2021-09-01 19:11:46 +02:00
Nicolas Werner
8b46fa3fc2
fix: room account data key/type returned encoded
...
We uri encode all hive keys. But in some cases we never decode them.
This leads to fun issues like SSSS being unreadable after restart.
fixes https://gitlab.com/famedly/company/frontend/famedlysdk/-/issues/179
2021-09-01 16:37:51 +00:00
Sorunome
33d31cecd1
fix: Missing chatUpdate.prev_batch != null test
...
We *always* have to update the in-memory prev_batch if it is non-null
2021-09-01 17:42:49 +02:00
Krille Fear
dc0b3c715e
docs: Add comment with link to issue
2021-08-30 08:02:41 +00:00
Krille Fear
5e06721639
fix: Make type in AuthenticationData nullable
...
It seems that there is a problem in the matrix Spec according to this.
the Spec says that the type is required and session is nullable.
But for using this endpoint:
https://spec.matrix.org/unstable/client-server-api/#client-behaviour-1-1
We need to send an auth object which only contains the session.
We should file an issue at the spec and ask there for more information.
Currently we should make type nullable as well because otherwise
this would break uiaRequests in the app for SSO.
2021-08-30 07:55:21 +00:00
Christian Pauly
62694248b9
refactor: Make UIA Request null safe
2021-08-30 09:26:34 +02:00
Christian Pauly
efca583cf5
refactor: SyncUpdateExtension null safe
2021-08-30 09:20:17 +02:00
Christian Pauly
8ae77215b5
refactor: SpaceChild and SpaceParent null safe
2021-08-30 09:20:17 +02:00
Christian Pauly
dd48a379ec
refactor: runInRoot null safe
2021-08-30 09:20:17 +02:00
Christian Pauly
8621f82333
refactor: Null safe receipt
2021-08-30 09:20:17 +02:00
Christian Pauly
2589206851
refactor: Null safe QueuedToDeviceEvent and fix CamelCase filename
2021-08-30 09:20:17 +02:00
Christian Pauly
607658dcda
refactor: Null safe QueuedToDeviceEvent and fix CamelCase filename
2021-08-30 09:20:17 +02:00
Christian Pauly
4b9a2945f4
refactor: Null safe multilock
2021-08-30 09:20:17 +02:00
Christian Pauly
0cd73e846d
refactor: Null safe matrix localizations
2021-08-30 09:20:17 +02:00
Christian Pauly
f311ca62e0
refactor: Make markedUnread null safe
2021-08-30 09:20:17 +02:00
Christian Pauly
1fd40dd186
refactor: Make database null safe
2021-08-30 09:20:17 +02:00
Christian Pauly
5eb2d22207
refactor: Make eventupdate null safe
2021-08-30 09:20:17 +02:00
Christian Pauly
d75b27a0cd
refactor: Ignore import_of_legacy_library_into_null_safe
2021-08-30 09:20:17 +02:00
Christian Pauly
8f35683120
refactor: Make encryption utils null safe
2021-08-30 09:20:17 +02:00
Christian Pauly
4bee82dbe0
fix: uiaRequests send broken auth object at first try
...
We should just let the `auth` object null and dont send it at the
first try and wait for the servers response. This worked in the past
but now it is broken because of changes in the
matrix_api_lite. This could also be fault for some
bootstrap issues.
I have also removed an unnecessary check if a String is a String and just made it a
null check because this was intended at this point.
Because of that this blocks uiaRequests it is a hotfix and therefore directly bumps the version.
2021-08-30 08:31:20 +02:00
Sorunome
ffb6fd426c
fix: Requesting history being funky
...
As it turns out, some of the code set the prev_batch for rooms too
early to an empty string. For synapse this means "request from the start",
for conduit it is just an error. This commit fixes that by never resolving
null --> empty string, but instead throw an error.
2021-08-29 12:56:16 +02:00
Sorunome
024e0de4b9
fix: Don't lag when sending messages in big rooms
...
The old mentionMap was very inefficient to build and scaled badly with
room member size. This resulted in noticable lag when sending any message
in a large room, no matter if it contained a message or not.
Now, the algorithm is severly optimized and mentions (and emotes) are
only loaded when actually used.
2021-08-29 11:43:46 +02:00
Christian Pauly
aeea0669d5
fix: Send unencrypted thumbnails
...
There was just one toString() missing and this
lead to a crash in the app because hive tries to store
an URI.
2021-08-28 17:17:25 +02:00
Sorunome
f3f9b219e1
feat: Cleanup Event.plaintextBody and add [plaintextBody] to Event.getLocalizedBody
...
It appears that [hideEdit] in Event.getLocalizedBody was written in a way that it
assumes a valid event body. This was also fixed, while also adding tests for the
various parameters of Event.getLocalizedBody
2021-08-28 09:46:03 +00:00
Sorunome
b849c828e3
fix: String.parseIdentifierIntoParts not working with unicode matrix.to links
...
Some clients do not uri-encode the identifier for matrix.to links, so we must
handle if we can't uri-decode them
2021-08-28 11:19:26 +02:00
Jayesh Nirve
4af6763765
fix: missing null check in hideEdit condition
2021-08-27 21:11:06 +05:30
Sorunome
56817df437
fix: missing null check
...
It seems `device_keys` in the reply of `/keys/query` is not required. While synapse always
sent it, conduit did not, which resulted in an error.
2021-08-27 17:22:54 +02:00
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
Christian Pauly
5621c9bdb0
fix: sortAtTheEnd for LeftRoomUpdate was not set
...
This fixes a bug where requesting
history on archived room leads to a
wrong sorted timeline.
2021-08-25 11:06:26 +02:00
Christian Pauly
e1343e9c83
fix: requestHistory() for archived rooms
...
Using JoinedRoomUpdate() in a fake
sync for archived rooms when requesting
the history leads to the problem that
the room is stored as a joined room
in the store which is wrong.
2021-08-25 10:46:35 +02:00
Christian Pauly
2f35277e47
refactor: Change name of archive getter to function
...
This is more intuitive because it is
a function that loads something from
the server and doesnt directly return
something.
2021-08-25 10:36:58 +02:00
Christian Pauly
cec08b3775
feat: cache archived rooms to access them with `getRoomById`
...
getRoomById searches now in the local cache for the given room and returns null if not
found. If you have loaded the [archive] before, it can also return
archived rooms.
This should make it much easier to display
archived rooms in the client.
2021-08-25 09:52:57 +02:00
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
Nicolas Werner
a4ac9eab66
cleaner conditions
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
Lukas Lihotzki
d16c83f5db
refactor: remove uploadKeySignatures (use uploadCrossSigningSignatures)
2021-08-20 16:17:40 +02:00
Lukas Lihotzki
cb71ca9b26
chore: generate more operations from OpenAPI
2021-08-20 16:17:37 +02:00
Lukas Lihotzki
09198ce14d
chore: update generated code
2021-08-20 16:01:26 +02:00
cloudwebrtc
a554f3463d
Add more call event for improve voip.
2021-08-20 20:35:23 +08:00
Christian Pauly
93c689fd4d
hotfix: Opt-out null safety for crypto files because of an error in web
...
`packages/matrix/src/utils/crypto/crypto.dart:19:1: Error: Null safe libraries are not allowed to export declarations from of opt-out libraries.
`
2021-08-20 13:56:15 +02: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
xenofem
a1b95c0915
feat(events): add plain-text body representation from HTML
...
Co-Authored-By: Sorunome <mail@sorunome.de>
2021-08-17 18:33:45 +02:00
Jayesh
f0dd8ca061
feat: get new_content in getLocalizedBody
2021-08-17 15:24:53 +00:00
Sorunome
98b0bd4322
feat: Add a way to get a verification request by its transaction id
...
A client might find the need to get the verification request object by
its transaction id, to be able to e.g. display for in-room verification
an "accept verification request" button easily.
2021-08-17 15:03:30 +00: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
Sorunome
fb16b96ea6
fix: Correctly parse the reason of a spoiler
...
Previously only the first child node of a spoiler was considered to
determine if there should be a spoiler reason. This was, unfortunately,
incorrect, as soon as e.g. the reason had more than one space. This is
fixed by properly iterating all child nodes to search for the reason.
2021-08-17 07:33:53 +00:00
Christian Pauly
37cfadd7e9
fix: Add space states to important events
...
We need the space state events in the important events to be able to
differentiate rooms and spaces in the room list.
2021-08-17 06:47:25 +00:00
Sorunome
0e6ed1c51e
feat: Allow specifying extraContent for Room.sendFileEvent, in case clients want to specify some custom stuff
2021-08-16 19:03:15 +02:00
Jayesh Nirve
5761fb77cb
remove extra if null
2021-08-14 17:24:37 +05:30
Jayesh Nirve
2e7bf1a5c9
fix toDouble was called on null when you had a pinned room
2021-08-13 18:35:46 +05:30
Lukas Lihotzki
8d795d6eaa
chore: update generated code
2021-08-09 20:03:17 +02:00
Lukas Lihotzki
0b531d3e99
fix: tryGet for room account data
2021-08-09 11:12:49 +02:00
Marcus
f91f662c75
chore: update to matrix_sdk_lite 0.4.1
2021-08-05 12:10:45 +00:00
Lukas Lihotzki
c73b7631f5
fix: tryGet log levels
2021-08-03 16:10:55 +02:00
Nicolas Werner
08c808562b
fix: Typo in key backup requests
...
This may lead to messages not decrypting after interactive verification,
which would make the user manually press the request keys button.
2021-08-03 13:18:15 +00:00
Jindřich Pikora
cf441e533d
refactor: rename LoginState.logged to loggedIn
2021-08-03 12:26:17 +00:00
Christian Pauly
916711cf57
fix: Make tryget type optional by default
...
I see soo much annoying warnings in the logs since matrix 0.2.0
and to be honest it was never helpful to have this logs. Therefore it seems to make more
sense to make those warnings optional.
2021-08-03 10:22:45 +02:00
Nicolas Werner
162436cc8d
fix: accidental OTK uploads on internal fakeSync
2021-08-02 20:52:09 +02:00
Christian Pauly
4ca69e3e1d
fix: Missing required field `nextBatch`
2021-07-27 10:50:06 +02:00
Christian Pauly
e8d511a371
fix: Missing null checks in syncUpdate handling
2021-07-27 10:49:50 +02:00
Lukas Lihotzki
46b2f8898e
fix: use TryGet.optional
2021-07-26 15:33:36 +02:00
Lukas Lihotzki
6d6830505f
refactor: implement http timeouts in this package
2021-07-26 15:33:36 +02:00
Lukas Lihotzki
8665f092f4
chore: matrix_api_lite 0.4.0
2021-07-26 14:54:22 +02:00
Lukas Lihotzki
bc2dac2ecc
refactor: use more specific type
2021-07-26 14:40:15 +02:00
Nicolas Werner
179f73db3a
fix: Upload OTKs if the otk_count field is missing
...
fixes #180
2021-07-26 09:47:05 +02:00
Lukas Lihotzki
cfa633b489
feat: Add image pack event content models
2021-07-22 17:08:36 +02:00
Christian Pauly
209035ffbd
refactor: Use official Dart isolates
...
The isolates package is discontinued and not compatible
with the newest Dart version.
dart:isolate is not an option because importing this
library makes it impossible to run the matrix
SDK on dart web native. It just won't
build. So we now just depend on
that the flutter app pass through the compute method.
2021-07-21 12:34:43 +02:00
Lukas Lihotzki
bad334d441
refactor: FilterMap extension
2021-07-19 19:43:56 +02:00
Christian Pauly
99c900be9c
fix: Add missing null check
...
With Synapse 1.38 SyncUpdate.accountData is null if it is empty.
2021-07-19 09:18:23 +02:00
Sorunome
a1594fd9ac
feat: Add general image pack handling as per MSC2545
...
This also deprecates the old ways to access just emoticons, as the MSC
now covers both emoticons and stickers!
2021-07-18 18:46:32 +02:00
Sorunome
ee287a09b9
feat: Add support for nicer mentions
...
This PR adds support for nicer mentions in markdown: You can now
fetch the mention string of a user with `user.mention` which is
human-friendly (typically contains the display name), which will get
properly pillified upon passing through the markdown parser.
2021-07-18 17:29:25 +02:00
Sorunome
44b7c96d73
fix: preserve homeserver port when creating thumbnail URIs
2021-07-11 13:15:57 +02:00
Sorunome
cd5131daa5
fix: Add locking to sending encrypted to_device messages to prevent potential race conditions
...
Due to chunked lazy sending of megolm sessions it was in theory that we encrypted two olm
messages to the same device in different futures out-of-order. Introducing locking here should
fix this (increadibly rare, so far only theoretical?) race-condition
2021-07-11 13:06:39 +02:00
Sorunome
e86353a412
fix: Provide a reasonable well-known fallback
...
If the well-known look fails (not json, 404, etc.) we should assume a
reasonable fallback (domain part with https prepended). As clients are
expected to call Client.checkHomeserver on the resulting domain anyways
we can safely assume this default, as it is still validated, if there
is actually a matrix homeserver running on that endpoint.
2021-07-11 12:26:48 +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
36a9b53de1
fix: Adjust emoji ranges to have less false positives
...
Before too many characters, e.g. kanji, were incorrectly detected
as emoji
2021-07-09 20:53:49 +02: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
Lukas Lihotzki
c10a98ff35
fix: log levels for tryGet
2021-07-07 15:30:42 +02:00
Christian Pauly
535a3b1d70
feat: Make it possible to get the current loginState
...
You may have missed the last valid loginState from the stream if you
listen too late to it. This makes it possible to
get always the current loginState.
2021-07-06 12:25:00 +00: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
ebc9be250d
fix: Mark unsent events as failed
...
In Moor this was implemented but forgotten in Hive.
Events with status 0 (not sent yet) should be marked as failed on restart.
In fact they should be marked as failed if older than 1 minute. To not have a big startup job which iterates through all events in the database
we just do a time check when opening a room where we iterate through all events anyway.
The new implementation is now in the constructor of the Event and therefore
independent from the database implementation.
2021-07-05 08:37:46 +02:00
Marcus Hoffmann
0b8e3f3071
make tryGet* safer
...
* check casts (for list and map) at cast time by recreating the list/map
instead of throwing on access.
* type warnings work now slightly differently:
* when we expect nullable fields to be actually null within normal
operation you can explicitly set the tryGet type param to an
optional type and mute the warning. Otherwise it'll warn that something
is null which we expect to something else.
2021-07-02 12:17:05 +02:00
Lukas Lihotzki
c73ea67bcd
add note about txnId
2021-07-02 11:36:42 +02:00
Lukas Lihotzki
bf3bed9ef9
simpler toMap
2021-07-02 11:18:16 +02:00
Lukas Lihotzki
0d1e7bdf7b
omit type in tryGet
2021-07-02 11:11:29 +02:00
Marcus Hoffmann
faabc55d28
isServer and isAccessToken are optional
2021-07-01 18:05:56 +02:00
Marcus Hoffmann
dd7a824512
remove user field from AuthenticationPassword structure
...
it's not in the spec
2021-07-01 18:01:07 +02:00
Marcus
f5dbacfe07
remove leftover migration tool comment
2021-07-01 15:50:42 +00:00
Marcus Hoffmann
92a2bd9d7e
null safety test fixes
2021-07-01 17:36:21 +02:00
Marcus Hoffmann
34b9cc0dcf
filter out invalid CiphertextInfo instead of crashing
2021-07-01 17:15:06 +02:00
Marcus Hoffmann
1a51f813a7
null safety cleanup
2021-07-01 16:59:54 +02:00
Lukas Lihotzki
9e6019b820
fix: return Never
2021-07-01 15:13:45 +02:00
Lukas Lihotzki
d9c1fdb78a
refactor: migrate to null safety
2021-07-01 15:11:39 +02:00
Sorunome
b664640a05
fix: Don't run syncs while the client is being initialized
...
Fixes that a sync could be done / processed while the client was still being initialized (loaded from database). This has lead to multiple bugs, such as the verified status of keys getting lost, notifications that come in during app startup displaying oddly, etc.
Additionally, the init lock was released too early; it is now released when the init is actually done.
2021-06-25 13:26:23 +02:00
Lukas Lihotzki
1b84de0b44
refactor: remove timeouts in matrix_api_lite
2021-06-25 12:40:03 +02:00
Lukas Lihotzki
e3a1b6aa77
refactor: mostly use dart_openapi_codegen
2021-06-25 12:40:03 +02:00
Christian Pauly
768b0623da
feat: Implement sync status stream
...
This new sync status stream gives the current status of the sync to make it possible
to display in the UI where the sync currently hangs and
what the progress is while updating 1000 rooms. So the app can display a
progress bar.
2021-06-20 15:59:59 +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
69b52ba85b
refactor: Move pedantic to dev_dependencies
...
The unawaited method from the pedantic package was a historic solution
for the case that you dont want to await a future in an async function.
But now we can do this with just a comment which
is the recommended way to do this now.
This makes it possible to have pedantic as a dev_dependency which means just one dependency less.
2021-06-18 10:15:59 +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
28dc8b4ff0
refactor: Improve clearing
...
This makes sure that the database is null after clearing so it will
be built again using the databaseBuilder.
Also this makes sure that the sync has
aborted BEFORE the clearing starts to
get rid of some warnings in the logs.
2021-06-14 11:00:41 +02:00
Christian Pauly
fe06b96e93
fix: Do not logout before migration
...
Before the migration of the databases starts there is always a
logout signal sent. This was wrong.
This also cleans up the logs a little bit
and removes the useless parameters for the second init() call
because those are going to come from the new database anyway.
2021-06-14 08:29:03 +02:00
Christian Pauly
967712adfe
feat: Implement database migration
...
This allows the user to give a legacyDatabaseBuilder to the client object
and in the init proccess the client checks by itself if there is old data in the legacy
database. If yes then it migrates them and
then deletes the old database. This uses the database_api and is agnostic to
the database implementation.
2021-06-11 10:10:18 +02:00
Christian Pauly
3a6d224348
fix: Log filter in wrong direction
2021-06-10 09:21:20 +02:00
Christian Pauly
9b3768300e
fix: Logs should only printed if loglevel is high enough
2021-06-09 10:11:56 +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
ab0ff46900
refactor: Remove types for timeline callbacks
...
These types weren't that helpful anyway and their names were not compatible
with the new linter rule of Flutter 2.2.
2021-06-01 12:57:52 +02:00
Christian Pauly
73db010db4
fix: Make QueuedToDeviceEvent store content as String OR Map
...
Temporary fix to stay compatible to Moor AND a key value store
2021-06-01 12:56:43 +02:00
Christian Pauly
d0f67f914a
refactor: Add sortOrderKey and check for this while Event creation
...
This makes it easier to write a store which just stores the Event json and
does not have a dedicated scheme for
each object like Moor has.
2021-06-01 12:55:45 +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
9631cea83a
feat: Add toJson method for StoredInboundGroupSession
2021-06-01 12:51:17 +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
Christian Pauly
d1b76b01c4
fix: Try clear and try close database
2021-05-17 14:36:10 +02:00
Christian Pauly
bb9a8ff7e9
fix: SdkError Exception can be anything so should be dynamic
2021-05-17 14:17:46 +02:00
Nicolas Werner
6f52c0e2c3
fix: Allow SDK users to delete the db after logout
2021-05-17 07:38:53 +00:00
Lukas Lihotzki
c196610998
chore: operation names from OpenAPI spec
2021-05-12 13:56:16 +02:00
Christian Pauly
c70b149c20
change: Remove logger
...
The logger package has a lot of issues.
The colors are not working in web and on iOS.
Emojis are not working on some platforms.
It introduced a not very important library in a SDk which is intended to
be as minimal as possible.
This simplifies the logging to a format which works everywhere.
The # Syntax makes it also look good as markdown.
It is not very far away from the default syntax of errors and stacktraces.
It still provides several log levels, the same API and a list of output events for the logviewer.
2021-05-12 12:14:04 +02:00
Lukas Lihotzki
3eaf4ef99a
feat!: operation names from OpenAPI spec
2021-05-07 13:43:06 +02:00
Christian Pauly
d667f63675
refactor: Enable more lints
2021-05-05 12:32:20 +02:00
Lukas Lihotzki
846c96e90d
refactor: move identifier type detection into AuthenticationIdentifier
2021-05-05 12:08:03 +02:00
Lukas Lihotzki
2fdf3e8284
refactor: polymorphism can be used without manual switch statement
2021-05-05 12:05:26 +02:00
Lukas Lihotzki
4069f0a02f
refactor: avoid string conversion for comparison
2021-05-05 12:05:26 +02:00
Lukas Lihotzki
9de57fad9b
refactor: initializer lists in fromJson constructors
2021-05-05 12:05:26 +02:00
Lukas Lihotzki
23db25d4af
refactor: use ..
2021-05-05 12:05:26 +02:00
Lukas Lihotzki
83ef6484eb
refactor: use map
2021-05-05 12:05:26 +02:00
Lukas Lihotzki
19500307be
refactor: call fromJson constructor of base class
2021-05-05 12:05:26 +02:00
Christian Pauly
70ee808911
feat: Enhanced alias handling
2021-05-01 09:26:46 +02:00
Christian Pauly
a5af392fb8
fix: Missing RoomCreationTypes
2021-05-01 09:26:18 +02:00
Christian Pauly
88d0eae2b7
fix: Request aliases
2021-05-01 09:00:31 +02:00
Lukas Lihotzki
fdf650abd5
refactor: avoid if-condition based on bit value
2021-04-26 18:48:54 +02:00
Lukas Lihotzki
b4f755388a
refactor: high-level loops
2021-04-19 18:58:59 +02:00
Lukas Lihotzki
71fdd28a8a
refactor: await unconditionally
2021-04-16 14:19:42 +02:00
Christian Pauly
ffef732103
refactor: enable more linter rules
...
enable prefer_final_locals and prefer_final_in_for_each linter rules
2021-04-14 10:29:29 +02:00
Lukas Lihotzki
545ce26e39
style: fix format and lint
2021-04-12 14:49:03 +02:00
Lukas Lihotzki
ac9df588d1
chore: recreate database.g.dart
2021-04-12 14:49:03 +02:00
Lukas Lihotzki
d413f54f10
refactor: use OpenSSL for file e2ee
2021-04-12 14:49:03 +02:00
Lukas Lihotzki
761138a56d
refactor: use OpenSSL for AES
2021-04-12 14:49:01 +02:00
Lukas Lihotzki
7faf05fe90
refactor: selectable hash for pbkdf2
2021-04-12 14:48:38 +02:00
Lukas Lihotzki
a25d1932ee
fix: fast pbkdf2 with OpenSSL
2021-04-12 14:48:38 +02:00
Lukas Lihotzki
4f32168017
chore: upgrade to markdown 4.0.0
2021-04-12 14:48:38 +02:00
Lukas Lihotzki
285b14912a
chore: null safe crypto dependencies
2021-04-12 14:48:36 +02:00
Christian Pauly
fb0177ac5f
feat: Implement spaces
2021-04-12 09:24:20 +02:00
Christian Pauly
cd76448f8b
feat: Add room and event types for spaces
2021-04-12 09:00:11 +02:00
Lukas Lihotzki
f69acda419
refactor: use parameters in EncryptedFile constructor
2021-04-06 18:57:34 +02:00
Lukas Lihotzki
2a2a170609
refactor: upgrade http package
2021-04-01 13:43:24 +02:00
Lukas Lihotzki
08043c06f4
refactor: high-level loops
2021-04-01 12:51:45 +02:00
Lukas Lihotzki
924af98f30
fix: no empty server_name parameter
2021-03-31 18:33:59 +02:00
Lukas Lihotzki
04674e2dfd
refactor: upgrade to http 0.13
2021-03-30 14:49:21 +02:00
Christian Pauly
0ceb2b26df
refactor: Constants names
2021-03-30 12:43:50 +02:00
Lukas Lihotzki
3d55abdd11
chore: upgrade to ffi 1.0.0
2021-03-29 16:37:29 +02:00
Christian Pauly
9012ce6b2c
fix: Display errors from isolates in the logs
2021-03-17 09:46:13 +01:00
Christian Pauly
0a9f8497e2
chore: Make bootstrap logs more chatty
2021-03-17 08:22:22 +01:00
Krille Fear
9bef8452d3
docs: Clean up dart documentations
...
Changing to `code` blocks where it cant be resolved to [stuff] things.
2021-03-16 12:32:21 +00:00
Krille Fear
9626c64993
docs: Fix deprecation warning
2021-03-16 09:23:44 +00:00
Christian Pauly
97daae3419
refactor: Update to matrix_api_lite 0.2.0
...
This introduces a minor breaking change in the login method.
It now uses correctly the AuthenticationIdentifier
and deprecates the user, medium and address parameter.
2021-03-09 19:14:53 +01:00
Krille Fear
5cf97886b4
Merge branch 'soru/strip-at-room' into 'main'
...
feat: Escape @room in the reply fallback when replying
See merge request famedly/famedlysdk!667
2021-03-09 18:12:47 +00:00
Krille Fear
57fde98fec
Merge branch 'soru/less-sql-statements' into 'main'
...
chore: Reduce needed database accessess
See merge request famedly/famedlysdk!666
2021-03-09 18:12:40 +00:00
Krille Fear
d43d4bedee
Merge branch 'soru/fix-ssss-cache' into 'main'
...
fix: A few ssss fixes
See merge request famedly/famedlysdk!668
2021-03-09 18:12:30 +00:00
Sorunome
6d171542af
feat: Escape @room in the reply fallback when replying
2021-03-09 18:29:13 +01:00
Sorunome
c76dc0daa2
chore: Reduce needed database accessess
2021-03-09 18:28:58 +01:00
Christian Pauly
1f8285c3e7
refactor: Room states
2021-03-09 17:28:55 +00:00
Sorunome
7ef288ec91
fix: A few ssss fixes
2021-03-09 18:28:42 +01:00