When an user has been invited by email to a DM, account data entry was stuck on the user email after the user account creation.
When the user has joined element, an event m.room.member is triggered for each room attached to the user, containing a third party invite with the user matrix id. We use this event to update the user account with the matrix id.
The sync response can omit the field device_one_time_keys_count.signed_curve25519 and the SDK was waiting to know this value to upload the OTK.
Now the SDK uploads the OTK when it uploads the device keys.
Verification flows have something called a transaction id. This is a
client-set custom ID that identifies the flow and is established by the
first message that gets sent out. This transaction ID needs to be kept the
same and be part of all events that are sent during the verification flow.
To-device requests have something called a transaction id. This is a
client-set custom ID that identifies a given request. It is used to
ensure idempotency of requests, i.e. retrying to send a request won't
result in two events being sent as long as the transaction id is kept
the same.
This patch removes usage of the first type of transaction ID for the
second use-case.
This closes: #3589.
Previously, when a download was aborted (e.g. due to a bad internet
connection), a partly downloaded file was remaining in cache, which
would then be delivered upon later requests.
This can lead e.g. to chats where images aren't loading.
To avoid this, first download files to a temporary file that is not the
final cache file, and only rename/move it on finish.
Note that if you already have broken downloads, you still need to clear
cache once to get rid of them after this commit, but it should not
occur anymore afterwards.
* develop: (286 commits)
Fix crash after video call
Fix issue on button styles
Clean after benoits review
Fix warning about implicit type, introduced in Kotlin 1.5.20. "Returning type parameter has been inferred to Nothing implicitly. Please specify type arguments explicitly to hide this warning. Nothing can produce an exception at runtime."
Bump kotlin_version from 1.5.10 to 1.5.20
Bump libphonenumber from 8.12.25 to 8.12.26
Fix call invite processed after call is ended because of fastlane mode.
Jump to unread: removes unnecessary check which can cause scroll issue
Jump to unread: avoid blink when jumping
Clean after Benoits review
Delete unused drawable to avoid conflict on develop
Jump to unread: add towncrier file.
Read marker: fix some issues with jump to unread visibility.
Stop using ProgressDialog, there is a theme issue with it. It's not maintain by Google since it's deprecated. Force usage of MaterialAlertDialogBuilder to have the same UI effect. We sometimes need to block the UI :/
Reordering
Add text style for dialogs
Colored dialog button is now handled by the theme
Update theme for material dialog and create a destructive variant
Reorder buttons
Update doc
...
# Conflicts:
# library/ui-styles/src/main/res/values/theme_dark.xml
# library/ui-styles/src/main/res/values/theme_light.xml
# vector/build.gradle
# vector/src/main/java/im/vector/app/features/home/room/detail/RoomDetailFragment.kt
# vector/src/main/java/im/vector/app/features/home/room/detail/RoomDetailViewModel.kt
# vector/src/main/java/im/vector/app/features/home/room/detail/composer/TextComposerView.kt
# vector/src/main/res/values/strings.xml
Thread: main, Exception: java.lang.IllegalArgumentException: Configurations cannot be different if used to open the same file. The most likely cause is that equals() and hashCode() are not overridden in the migration class: org.matrix.android.sdk.internal.database.RealmSessionStoreMigration
"Returning type parameter has been inferred to Nothing implicitly. Please specify type arguments explicitly to hide this warning. Nothing can produce an exception at runtime."