From 848a7f40622d6c9454437409886076c26d8ed793 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 11 Jan 2022 17:42:54 +0100 Subject: [PATCH 1/7] Version++ Also add comment about the new versioning strategy --- matrix-sdk-android/build.gradle | 2 +- vector/build.gradle | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/matrix-sdk-android/build.gradle b/matrix-sdk-android/build.gradle index 936609c1d7..c34ba8d21a 100644 --- a/matrix-sdk-android/build.gradle +++ b/matrix-sdk-android/build.gradle @@ -31,7 +31,7 @@ android { // that the app's state is completely cleared between tests. testInstrumentationRunnerArguments clearPackageData: 'true' - buildConfigField "String", "SDK_VERSION", "\"1.3.13\"" + buildConfigField "String", "SDK_VERSION", "\"1.3.16\"" buildConfigField "String", "GIT_SDK_REVISION", "\"${gitRevision()}\"" resValue "string", "git_sdk_revision", "\"${gitRevision()}\"" diff --git a/vector/build.gradle b/vector/build.gradle index 2be5fa984d..dbff6cdd11 100644 --- a/vector/build.gradle +++ b/vector/build.gradle @@ -15,7 +15,10 @@ kapt { // Note: 2 digits max for each value ext.versionMajor = 1 ext.versionMinor = 3 -ext.versionPatch = 13 +// Note: even values are reserved for regular release, odd values for hotfix release. +// When creating a hotfix, you should decrease the value, since the current value +// is the value for the next regular release. +ext.versionPatch = 16 static def getGitTimestamp() { def cmd = 'git show -s --format=%ct' From f4c891abe6a1efb08b157899c8608461c12f46fc Mon Sep 17 00:00:00 2001 From: Valere Date: Wed, 12 Jan 2022 10:36:56 +0100 Subject: [PATCH 2/7] Ensure algorithm instance is created and stored --- .../matrix/android/sdk/internal/crypto/DefaultCryptoService.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/DefaultCryptoService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/DefaultCryptoService.kt index 7dd8cc73ae..0646e4d2b8 100755 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/DefaultCryptoService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/DefaultCryptoService.kt @@ -578,7 +578,7 @@ internal class DefaultCryptoService @Inject constructor( // (for now at least. Maybe we should alert the user somehow?) val existingAlgorithm = cryptoStore.getRoomAlgorithm(roomId) - if (existingAlgorithm == algorithm) { + if (existingAlgorithm == algorithm && roomEncryptorsStore.get(roomId) != null) { // ignore Timber.tag(loggerTag.value).e("setEncryptionInRoom() : Ignoring m.room.encryption for same alg ($algorithm) in $roomId") return false From 7839f18f5824658fc4c4ab70128630d88a863a10 Mon Sep 17 00:00:00 2001 From: Valere Date: Wed, 12 Jan 2022 11:37:02 +0100 Subject: [PATCH 3/7] prevent OrderedRealmCollection to throw when using first() --- .../sdk/internal/database/helper/TimelineEventEntityHelper.kt | 4 ++-- .../matrix/android/sdk/internal/session/room/RoomGetter.kt | 2 +- .../sdk/internal/session/room/timeline/TimelineChunk.kt | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/helper/TimelineEventEntityHelper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/helper/TimelineEventEntityHelper.kt index 1d2cbcad51..ea508731b1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/helper/TimelineEventEntityHelper.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/helper/TimelineEventEntityHelper.kt @@ -30,8 +30,8 @@ internal fun TimelineEventEntity.Companion.nextId(realm: Realm): Long { } internal fun TimelineEventEntity.isMoreRecentThan(eventToCheck: TimelineEventEntity): Boolean { - val currentChunk = this.chunk?.first() ?: return false - val chunkToCheck = eventToCheck.chunk?.firstOrNull() ?: return false + val currentChunk = this.chunk?.first(null) ?: return false + val chunkToCheck = eventToCheck.chunk?.first(null) ?: return false return if (currentChunk == chunkToCheck) { this.displayIndex >= eventToCheck.displayIndex } else { diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomGetter.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomGetter.kt index eb9cd9fcba..e3f4732cc1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomGetter.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/RoomGetter.kt @@ -51,7 +51,7 @@ internal class DefaultRoomGetter @Inject constructor( .equalTo(RoomSummaryEntityFields.IS_DIRECT, true) .equalTo(RoomSummaryEntityFields.MEMBERSHIP_STR, Membership.JOIN.name) .findAll() - .firstOrNull { dm -> dm.otherMemberIds.size == 1 && dm.otherMemberIds.first() == otherUserId } + .firstOrNull { dm -> dm.otherMemberIds.size == 1 && dm.otherMemberIds.first(null) == otherUserId } ?.roomId } } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/TimelineChunk.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/TimelineChunk.kt index 14cba2a4b8..6af03a858a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/TimelineChunk.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/TimelineChunk.kt @@ -426,9 +426,9 @@ internal class TimelineChunk(private val chunkEntity: ChunkEntity, if (initialEventId != null) { frozenTimelineEvents.where().equalTo(TimelineEventEntityFields.EVENT_ID, initialEventId).findFirst()?.displayIndex } else if (direction == Timeline.Direction.BACKWARDS) { - frozenTimelineEvents.first()?.displayIndex + frozenTimelineEvents.first(null)?.displayIndex } else { - frozenTimelineEvents.last()?.displayIndex + frozenTimelineEvents.last(null)?.displayIndex } } else if (direction == Timeline.Direction.FORWARDS) { builtEvents.first().displayIndex + 1 From a35fec245db631a398f552745b65a14afc6553ff Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 12 Jan 2022 12:13:11 +0100 Subject: [PATCH 4/7] Add changelog --- changelog.d/4924.bugfix | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog.d/4924.bugfix diff --git a/changelog.d/4924.bugfix b/changelog.d/4924.bugfix new file mode 100644 index 0000000000..d5108e0ebb --- /dev/null +++ b/changelog.d/4924.bugfix @@ -0,0 +1 @@ +Fix sending events in encrypted rooms broken, and incremental sync broken in 1.3.13 \ No newline at end of file From 8038d40195e7ca126c05610b3aed230bdb4a381a Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 12 Jan 2022 12:28:16 +0100 Subject: [PATCH 5/7] Prepare for hotfix release 1.3.14 --- matrix-sdk-android/build.gradle | 2 +- vector/build.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/matrix-sdk-android/build.gradle b/matrix-sdk-android/build.gradle index c34ba8d21a..a1fb006e88 100644 --- a/matrix-sdk-android/build.gradle +++ b/matrix-sdk-android/build.gradle @@ -31,7 +31,7 @@ android { // that the app's state is completely cleared between tests. testInstrumentationRunnerArguments clearPackageData: 'true' - buildConfigField "String", "SDK_VERSION", "\"1.3.16\"" + buildConfigField "String", "SDK_VERSION", "\"1.3.14\"" buildConfigField "String", "GIT_SDK_REVISION", "\"${gitRevision()}\"" resValue "string", "git_sdk_revision", "\"${gitRevision()}\"" diff --git a/vector/build.gradle b/vector/build.gradle index dbff6cdd11..f136543a2e 100644 --- a/vector/build.gradle +++ b/vector/build.gradle @@ -18,7 +18,7 @@ ext.versionMinor = 3 // Note: even values are reserved for regular release, odd values for hotfix release. // When creating a hotfix, you should decrease the value, since the current value // is the value for the next regular release. -ext.versionPatch = 16 +ext.versionPatch = 14 static def getGitTimestamp() { def cmd = 'git show -s --format=%ct' From 7eb7d51759c7828e7b2fb5da85a9adce5148f2ca Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 12 Jan 2022 12:48:13 +0100 Subject: [PATCH 6/7] changelog --- CHANGES.md | 8 ++++++++ changelog.d/4924.bugfix | 1 - 2 files changed, 8 insertions(+), 1 deletion(-) delete mode 100644 changelog.d/4924.bugfix diff --git a/CHANGES.md b/CHANGES.md index 75d290d2e2..e93d1bb089 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,11 @@ +Changes in Element v1.3.14 (2022-01-12) +======================================= + +Bugfixes 🐛 +---------- + - Fix sending events in encrypted rooms broken, and incremental sync broken in 1.3.13 ([#4924](https://github.com/vector-im/element-android/issues/4924)) + + Changes in Element v1.3.13 (2022-01-11) ======================================= diff --git a/changelog.d/4924.bugfix b/changelog.d/4924.bugfix deleted file mode 100644 index d5108e0ebb..0000000000 --- a/changelog.d/4924.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix sending events in encrypted rooms broken, and incremental sync broken in 1.3.13 \ No newline at end of file From ed5e7d0cb6239c37238b364769bc3a454fdd2281 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 12 Jan 2022 12:50:02 +0100 Subject: [PATCH 7/7] fastlane --- fastlane/metadata/android/en-US/changelogs/40103140.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/en-US/changelogs/40103140.txt diff --git a/fastlane/metadata/android/en-US/changelogs/40103140.txt b/fastlane/metadata/android/en-US/changelogs/40103140.txt new file mode 100644 index 0000000000..c8467d68fe --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/40103140.txt @@ -0,0 +1,2 @@ +Main changes in this version: First change in onboarding screens, including Analytics opt-in. Support for Events with Math added in the labs. +Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.14 \ No newline at end of file