Merge branch 'release/1.3.7' into develop
This commit is contained in:
commit
cd5a0f4c3c
36
CHANGES.md
36
CHANGES.md
@ -1,3 +1,39 @@
|
||||
Changes in Element v1.3.7 (2021-11-04)
|
||||
======================================
|
||||
|
||||
Features ✨
|
||||
----------
|
||||
- Adding the room name to the invitation notification (if the room summary is available) ([#582](https://github.com/vector-im/element-android/issues/582))
|
||||
- Updating single sign on providers ordering to match priority/popularity ([#4277](https://github.com/vector-im/element-android/issues/4277))
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Stops showing a dedicated redacted event notification, the message notifications will update accordingly ([#1491](https://github.com/vector-im/element-android/issues/1491))
|
||||
- Fixes marking individual notifications as read causing other notifications to be dismissed ([#3395](https://github.com/vector-im/element-android/issues/3395))
|
||||
- Fixing missing send button in light mode dev tools - send * event ([#3674](https://github.com/vector-im/element-android/issues/3674))
|
||||
- Fixing room search needing exact casing for non latin-1 character named rooms ([#3968](https://github.com/vector-im/element-android/issues/3968))
|
||||
- Fixing call ringtones only playing once when the ringtone doesn't contain looping metadata (android 9.0 and above) ([#4047](https://github.com/vector-im/element-android/issues/4047))
|
||||
- Tentatively fixing the doubled notifications by updating the group summary at specific points in the notification rendering cycle ([#4152](https://github.com/vector-im/element-android/issues/4152))
|
||||
- Do not show shortcuts if a PIN code is set ([#4170](https://github.com/vector-im/element-android/issues/4170))
|
||||
- Fixes being unable to join rooms by name ([#4255](https://github.com/vector-im/element-android/issues/4255))
|
||||
- Fixing missing F-Droid notifications when in background due to background syncs not triggering ([#4298](https://github.com/vector-im/element-android/issues/4298))
|
||||
- Fix video compression before upload ([#4353](https://github.com/vector-im/element-android/issues/4353))
|
||||
- Fixing QR code crashes caused by a known issue in the zxing library for older versions of android by downgrading to 3.3.3 ([#4361](https://github.com/vector-im/element-android/issues/4361))
|
||||
- Fixing timeline crash when rotating with the emoji window open ([#4365](https://github.com/vector-im/element-android/issues/4365))
|
||||
- Fix handling of links coming from web instance reported as malformed by mistake ([#4369](https://github.com/vector-im/element-android/issues/4369))
|
||||
|
||||
SDK API changes ⚠️
|
||||
------------------
|
||||
- Add API `LoginWizard.loginCustom(data: JsonDict): Session` to be able to login to a homeserver using arbitrary request content ([#4266](https://github.com/vector-im/element-android/issues/4266))
|
||||
- Add optional deviceId to the login API ([#4334](https://github.com/vector-im/element-android/issues/4334))
|
||||
|
||||
Other changes
|
||||
-------------
|
||||
- Migrate app DI framework to Hilt ([#3888](https://github.com/vector-im/element-android/issues/3888))
|
||||
- Limit supported TLS versions and cipher suites ([#4192](https://github.com/vector-im/element-android/issues/4192))
|
||||
- Fixed capitalisation of text on initial sync screen ([#4292](https://github.com/vector-im/element-android/issues/4292))
|
||||
|
||||
|
||||
Changes in Element v1.3.6 (2021-10-26)
|
||||
======================================
|
||||
|
||||
|
@ -1 +0,0 @@
|
||||
Stops showing a dedicated redacted event notification, the message notifications will update accordingly
|
@ -1 +0,0 @@
|
||||
Fixes marking individual notifications as read causing other notifications to be dismissed
|
@ -1 +0,0 @@
|
||||
Fixing missing send button in light mode dev tools - send * event
|
@ -1 +0,0 @@
|
||||
Migrate app DI framework to Hilt
|
@ -1 +0,0 @@
|
||||
Fixing room search needing exact casing for non latin-1 character named rooms
|
@ -1 +0,0 @@
|
||||
Fixing call ringtones only playing once when the ringtone doesn't contain looping metadata (android 9.0 and above)
|
@ -1 +0,0 @@
|
||||
Tentatively fixing the doubled notifications by updating the group summary at specific points in the notification rendering cycle
|
@ -1 +0,0 @@
|
||||
Do not show shortcuts if a PIN code is set
|
@ -1 +0,0 @@
|
||||
Limit supported TLS versions and cipher suites
|
@ -1 +0,0 @@
|
||||
Fixes being unable to join rooms by name
|
@ -1 +0,0 @@
|
||||
Add API `LoginWizard.loginCustom(data: JsonDict): Session` to be able to login to a homeserver using arbitrary request content
|
@ -1 +0,0 @@
|
||||
Updating single sign on providers ordering to match priority/popularity
|
@ -1 +0,0 @@
|
||||
Fixed capitalisation of text on initial sync screen
|
@ -1 +0,0 @@
|
||||
Fixing missing F-Droid notifications when in background due to background syncs not triggering
|
@ -1 +0,0 @@
|
||||
Add optional deviceId to the login API
|
@ -1 +0,0 @@
|
||||
Fix video compression before upload
|
@ -1 +0,0 @@
|
||||
Fixing QR code crashes caused by a known issue in the zxing library for older versions of android by downgrading to 3.3.3
|
@ -1 +0,0 @@
|
||||
Fixing timeline crash when rotating with the emoji window open
|
@ -1 +0,0 @@
|
||||
Fix handling of links coming from web instance reported as malformed by mistake
|
@ -1 +0,0 @@
|
||||
Adding the room name to the invitation notification (if the room summary is available)
|
2
fastlane/metadata/android/en-US/changelogs/40103070.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103070.txt
Normal file
@ -0,0 +1,2 @@
|
||||
Main changes in this version: Bug fixes mainly regarding the notifications.
|
||||
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.7
|
@ -68,15 +68,6 @@ else
|
||||
removeFullDes_th=1
|
||||
fi
|
||||
|
||||
if [[ -f "./fastlane/metadata/android/vi/full_description.txt" ]]; then
|
||||
echo "It appears that file ./fastlane/metadata/android/vi/full_description.txt now exists. This can be removed."
|
||||
removeFullDes_vi=0
|
||||
else
|
||||
echo "Copy default full description to ./fastlane/metadata/android/vi"
|
||||
cp ./fastlane/metadata/android/en-US/full_description.txt ./fastlane/metadata/android/vi
|
||||
removeFullDes_vi=1
|
||||
fi
|
||||
|
||||
# Run fastlane
|
||||
echo "Run fastlane to push to the PlaysStore"
|
||||
fastlane deployMeta
|
||||
@ -103,8 +94,4 @@ if [[ ${removeFullDes_th} -eq 1 ]]; then
|
||||
rm ./fastlane/metadata/android/th/full_description.txt
|
||||
fi
|
||||
|
||||
if [[ ${removeFullDes_vi} -eq 1 ]]; then
|
||||
rm ./fastlane/metadata/android/vi/full_description.txt
|
||||
fi
|
||||
|
||||
echo "Success!"
|
||||
|
@ -32,6 +32,7 @@ abstract class ProfileMatrixItem : BaseProfileMatrixItem<ProfileMatrixItem.Holde
|
||||
open class Holder : VectorEpoxyHolder() {
|
||||
val titleView by bind<TextView>(R.id.matrixItemTitle)
|
||||
val subtitleView by bind<TextView>(R.id.matrixItemSubtitle)
|
||||
val powerLabel by bind<TextView>(R.id.matrixItemPowerLevelLabel)
|
||||
val presenceImageView by bind<PresenceStateImageView>(R.id.matrixItemPresenceImageView)
|
||||
val avatarImageView by bind<ImageView>(R.id.matrixItemAvatar)
|
||||
val avatarDecorationImageView by bind<ShieldImageView>(R.id.matrixItemAvatarDecoration)
|
||||
|
@ -17,7 +17,6 @@
|
||||
|
||||
package im.vector.app.core.epoxy.profiles
|
||||
|
||||
import android.widget.TextView
|
||||
import androidx.core.view.isVisible
|
||||
import com.airbnb.epoxy.EpoxyAttribute
|
||||
import com.airbnb.epoxy.EpoxyModelClass
|
||||
@ -25,7 +24,7 @@ import im.vector.app.R
|
||||
import im.vector.app.core.extensions.setTextOrHide
|
||||
|
||||
@EpoxyModelClass(layout = R.layout.item_profile_matrix_item)
|
||||
abstract class ProfileMatrixItemWithPowerLevel : BaseProfileMatrixItem<ProfileMatrixItemWithPowerLevel.Holder>() {
|
||||
abstract class ProfileMatrixItemWithPowerLevel : ProfileMatrixItem() {
|
||||
|
||||
@EpoxyAttribute var powerLevelLabel: CharSequence? = null
|
||||
|
||||
@ -34,8 +33,4 @@ abstract class ProfileMatrixItemWithPowerLevel : BaseProfileMatrixItem<ProfileMa
|
||||
holder.editableView.isVisible = false
|
||||
holder.powerLabel.setTextOrHide(powerLevelLabel)
|
||||
}
|
||||
|
||||
class Holder : ProfileMatrixItem.Holder() {
|
||||
val powerLabel by bind<TextView>(R.id.matrixItemPowerLevelLabel)
|
||||
}
|
||||
}
|
||||
|
@ -61,7 +61,7 @@ class RoomMemberListController @Inject constructor(
|
||||
roomMemberSummaryFilter.filter = data.filter
|
||||
|
||||
val roomMembersByPowerLevel = data.roomMemberSummaries.invoke() ?: return
|
||||
val threePidInvites = data.threePidInvites()
|
||||
val filteredThreePidInvites = data.threePidInvites()
|
||||
?.filter { event ->
|
||||
event.content.toModel<RoomThirdPartyInviteContent>()
|
||||
?.takeIf {
|
||||
@ -69,7 +69,7 @@ class RoomMemberListController @Inject constructor(
|
||||
} != null
|
||||
}
|
||||
.orEmpty()
|
||||
var threePidInvitesDone = threePidInvites.isEmpty()
|
||||
var threePidInvitesDone = filteredThreePidInvites.isEmpty()
|
||||
|
||||
for ((powerLevelCategory, roomMemberList) in roomMembersByPowerLevel) {
|
||||
val filteredRoomMemberList = roomMemberList.filter { roomMemberSummaryFilter.test(it) }
|
||||
@ -83,7 +83,7 @@ class RoomMemberListController @Inject constructor(
|
||||
stringProvider.getString(RoomMemberListCategories.INVITE.titleRes)
|
||||
)
|
||||
|
||||
buildThreePidInvites(data)
|
||||
buildThreePidInvites(filteredThreePidInvites, data.actionsPermissions.canRevokeThreePidInvite)
|
||||
threePidInvitesDone = true
|
||||
}
|
||||
|
||||
@ -93,7 +93,7 @@ class RoomMemberListController @Inject constructor(
|
||||
|
||||
filteredRoomMemberList.join(
|
||||
each = { _, roomMember ->
|
||||
buildPresence(roomMember, powerLevelCategory, host, data, roomMember.userPresence)
|
||||
buildRoomMember(roomMember, powerLevelCategory, host, data)
|
||||
},
|
||||
between = { _, roomMemberBefore ->
|
||||
dividerItem {
|
||||
@ -107,7 +107,7 @@ class RoomMemberListController @Inject constructor(
|
||||
id("divider_threepidinvites")
|
||||
}
|
||||
|
||||
buildThreePidInvites(data)
|
||||
buildThreePidInvites(filteredThreePidInvites, data.actionsPermissions.canRevokeThreePidInvite)
|
||||
threePidInvitesDone = true
|
||||
}
|
||||
}
|
||||
@ -118,16 +118,14 @@ class RoomMemberListController @Inject constructor(
|
||||
stringProvider.getString(RoomMemberListCategories.INVITE.titleRes)
|
||||
)
|
||||
|
||||
buildThreePidInvites(data)
|
||||
buildThreePidInvites(filteredThreePidInvites, data.actionsPermissions.canRevokeThreePidInvite)
|
||||
}
|
||||
}
|
||||
|
||||
private fun buildPresence(roomMember: RoomMemberSummary,
|
||||
powerLevelCategory: RoomMemberListCategories,
|
||||
host: RoomMemberListController,
|
||||
data: RoomMemberListViewState,
|
||||
userPresence: UserPresence?
|
||||
) {
|
||||
private fun buildRoomMember(roomMember: RoomMemberSummary,
|
||||
powerLevelCategory: RoomMemberListCategories,
|
||||
host: RoomMemberListController,
|
||||
data: RoomMemberListViewState) {
|
||||
val powerLabel = stringProvider.getString(powerLevelCategory.titleRes)
|
||||
|
||||
profileMatrixItemWithPowerLevelWithPresence {
|
||||
@ -138,7 +136,7 @@ class RoomMemberListController @Inject constructor(
|
||||
clickListener {
|
||||
host.callback?.onRoomMemberClicked(roomMember)
|
||||
}
|
||||
userPresence(userPresence)
|
||||
userPresence(roomMember.userPresence)
|
||||
powerLevelLabel(
|
||||
span {
|
||||
span(powerLabel) {
|
||||
@ -149,11 +147,10 @@ class RoomMemberListController @Inject constructor(
|
||||
}
|
||||
}
|
||||
|
||||
private fun buildThreePidInvites(data: RoomMemberListViewState) {
|
||||
private fun buildThreePidInvites(filteredThreePidInvites: List<Event>, canRevokeThreePidInvite: Boolean) {
|
||||
val host = this
|
||||
data.threePidInvites()
|
||||
?.filter { it.content.toModel<RoomThirdPartyInviteContent>() != null }
|
||||
?.join(
|
||||
filteredThreePidInvites
|
||||
.join(
|
||||
each = { idx, event ->
|
||||
event.content.toModel<RoomThirdPartyInviteContent>()
|
||||
?.let { content ->
|
||||
@ -161,7 +158,7 @@ class RoomMemberListController @Inject constructor(
|
||||
id("3pid_$idx")
|
||||
matrixItem(MatrixItem.UserItem("@", displayName = content.displayName))
|
||||
avatarRenderer(host.avatarRenderer)
|
||||
editable(data.actionsPermissions.canRevokeThreePidInvite)
|
||||
editable(canRevokeThreePidInvite)
|
||||
clickListener {
|
||||
host.callback?.onThreePidInviteClicked(event)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user