Skip to content

Commit 133fff1

Browse files
committed
Merge branch 'release/1.5.16' into main
2 parents 4a46289 + 0c9e318 commit 133fff1

File tree

103 files changed

+1886
-562
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

103 files changed

+1886
-562
lines changed

CHANGES.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,34 @@
1+
Changes in Element v.5.16 (2022-12-29)
2+
======================================
3+
4+
Features ✨
5+
----------
6+
- [Rich text editor] Add support for links ([#7746](https://github.com/vector-im/element-android/issues/7746))
7+
- [Poll] When a poll is ended, use /relations API to ensure poll results are correct ([#7767](https://github.com/vector-im/element-android/issues/7767))
8+
- [Session manager] Security recommendations cards: whole view should be tappable ([#7795](https://github.com/vector-im/element-android/issues/7795))
9+
- [Session manager] Other sessions list: header should not be sticky ([#7797](https://github.com/vector-im/element-android/issues/7797))
10+
11+
Bugfixes 🐛
12+
----------
13+
- Do not show typing notification of ignored users. ([#2965](https://github.com/vector-im/element-android/issues/2965))
14+
- [Push Notifications, Threads] - quick reply to threaded notification now sent to thread except main timeline ([#7475](https://github.com/vector-im/element-android/issues/7475))
15+
- [Session manager] Other sessions list: filter option is displayed when selection mode is enabled ([#7784](https://github.com/vector-im/element-android/issues/7784))
16+
- [Session manager] Other sessions: Filter bottom sheet cut in landscape mode ([#7786](https://github.com/vector-im/element-android/issues/7786))
17+
- Automatically show keyboard after learn more bottom sheet is dismissed ([#7790](https://github.com/vector-im/element-android/issues/7790))
18+
- [Session Manager] Other sessions list: cannot select/deselect session by a long press when in select mode ([#7792](https://github.com/vector-im/element-android/issues/7792))
19+
- Fix current session ip address visibility ([#7794](https://github.com/vector-im/element-android/issues/7794))
20+
- Device Manager UI review fixes ([#7798](https://github.com/vector-im/element-android/issues/7798))
21+
22+
SDK API changes ⚠️
23+
------------------
24+
- [Sync] Sync Filter params are moved to MatrixConfiguration and will not be stored in session realm to avoid bug when session cache is cleared ([#7843](https://github.com/vector-im/element-android/issues/7843))
25+
26+
Other changes
27+
-------------
28+
- [Voice Broadcast] Replace the player timeline ([#7821](https://github.com/vector-im/element-android/issues/7821))
29+
- Increase session manager test coverage ([#7836](https://github.com/vector-im/element-android/issues/7836))
30+
31+
132
Changes in Element v1.5.14 (2022-12-20)
233
=======================================
334

dependencies.gradle

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ def jjwt = "0.11.5"
2626
// Temporary version to unblock #6929. Once 0.16.0 is released we should use it, and revert
2727
// the whole commit which set version 0.16.0-SNAPSHOT
2828
def vanniktechEmoji = "0.16.0-SNAPSHOT"
29-
def sentry = "6.9.0"
29+
def sentry = "6.9.2"
3030
def fragment = "1.5.5"
3131
// Testing
3232
def mockk = "1.12.3" // We need to use 1.12.3 to have mocking in androidTest until a new version is released: https://github.com/mockk/mockk/issues/819
@@ -83,7 +83,7 @@ ext.libs = [
8383
'appdistributionApi' : "com.google.firebase:firebase-appdistribution-api-ktx:$appDistribution",
8484
'appdistribution' : "com.google.firebase:firebase-appdistribution:$appDistribution",
8585
// Phone number https://github.com/google/libphonenumber
86-
'phonenumber' : "com.googlecode.libphonenumber:libphonenumber:8.13.1"
86+
'phonenumber' : "com.googlecode.libphonenumber:libphonenumber:8.13.3"
8787
],
8888
dagger : [
8989
'dagger' : "com.google.dagger:dagger:$dagger",
@@ -98,7 +98,7 @@ ext.libs = [
9898
],
9999
element : [
100100
'opusencoder' : "io.element.android:opusencoder:1.1.0",
101-
'wysiwyg' : "io.element.android:wysiwyg:0.9.0"
101+
'wysiwyg' : "io.element.android:wysiwyg:0.10.0"
102102
],
103103
squareup : [
104104
'moshi' : "com.squareup.moshi:moshi:$moshi",
@@ -129,7 +129,7 @@ ext.libs = [
129129
'mavericksTesting' : "com.airbnb.android:mavericks-testing:$mavericks"
130130
],
131131
maplibre : [
132-
'androidSdk' : "org.maplibre.gl:android-sdk:9.5.2",
132+
'androidSdk' : "org.maplibre.gl:android-sdk:9.6.0",
133133
'pluginAnnotation' : "org.maplibre.gl:android-plugin-annotation-v9:1.0.0"
134134
],
135135
mockk : [
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Main changes in this version: Thread are now enabled by default.
2+
Full changelog: https://github.com/vector-im/element-android/releases

library/ui-strings/src/main/res/values/strings.xml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -419,6 +419,7 @@
419419
<string name="action_got_it">Got it</string>
420420
<string name="action_select_all">Select all</string>
421421
<string name="action_deselect_all">Deselect all</string>
422+
<string name="action_stop">Yes, Stop</string>
422423

423424
<string name="copied_to_clipboard">Copied to clipboard</string>
424425

@@ -3120,6 +3121,8 @@
31203121
<string name="error_voice_broadcast_already_in_progress_message">You are already recording a voice broadcast. Please end your current voice broadcast to start a new one.</string>
31213122
<!-- Examples of usage: 6h 15min 30sec left / 15min 30sec left / 30sec left -->
31223123
<string name="voice_broadcast_recording_time_left">%1$s left</string>
3124+
<string name="stop_voice_broadcast_dialog_title">Stop live broadcasting?</string>
3125+
<string name="stop_voice_broadcast_content">Are you sure you want to stop your live broadcast? This will end the broadcast and the full recording will be available in the room.</string>
31233126

31243127
<string name="upgrade_room_for_restricted">Anyone in %s will be able to find and join this room - no need to manually invite everyone. You’ll be able to change this in room settings anytime.</string>
31253128
<string name="upgrade_room_for_restricted_no_param">Anyone in a parent space will be able to find and join this room - no need to manually invite everyone. You’ll be able to change this in room settings anytime.</string>
@@ -3335,7 +3338,7 @@
33353338
<item quantity="one">Consider signing out from old sessions (%1$d day or more) that you don’t use anymore.</item>
33363339
<item quantity="other">Consider signing out from old sessions (%1$d days or more) that you don’t use anymore.</item>
33373340
</plurals>
3338-
<string name="device_manager_current_session_title">Current Session</string>
3341+
<string name="device_manager_current_session_title">Current session</string>
33393342
<string name="device_manager_session_title">Session</string>
33403343
<string name="device_manager_device_title">Device</string>
33413344
<!-- Examples: Last activity Yesterday at 6PM, Last activity Aug 31 at 5:47PM -->
@@ -3476,13 +3479,19 @@
34763479
<string name="qr_code_login_confirm_security_code">Confirm</string>
34773480
<string name="qr_code_login_confirm_security_code_description">Please ensure that you know the origin of this code. By linking devices, you will provide someone with full access to your account.</string>
34783481

3479-
<!-- WYSIWYG Composer -->
3482+
<!-- Rich text editor -->
34803483
<string name="rich_text_editor_format_bold">Apply bold format</string>
34813484
<string name="rich_text_editor_format_italic">Apply italic format</string>
34823485
<string name="rich_text_editor_format_strikethrough">Apply strikethrough format</string>
34833486
<string name="rich_text_editor_format_underline">Apply underline format</string>
3487+
<string name="rich_text_editor_link">Set link</string>
34843488
<string name="rich_text_editor_full_screen_toggle">Toggle full screen mode</string>
34853489

3490+
<string name="set_link_text">Text</string>
3491+
<string name="set_link_link">Link</string>
3492+
<string name="set_link_create">Create a link</string>
3493+
<string name="set_link_edit">Edit link</string>
3494+
34863495
<!-- ReplyTo events -->
34873496
<string name="message_reply_to_prefix">In reply to</string>
34883497
<string name="message_reply_to_sender_sent_file">sent a file.</string>

matrix-sdk-android/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ android {
6262
// that the app's state is completely cleared between tests.
6363
testInstrumentationRunnerArguments clearPackageData: 'true'
6464

65-
buildConfigField "String", "SDK_VERSION", "\"1.5.14\""
65+
buildConfigField "String", "SDK_VERSION", "\"1.5.16\""
6666

6767
buildConfigField "String", "GIT_SDK_REVISION", "\"${gitRevision()}\""
6868
buildConfigField "String", "GIT_SDK_REVISION_UNIX_DATE", "\"${gitRevisionUnixDate()}\""

matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/CommonTestHelper.kt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@ import org.matrix.android.sdk.api.session.room.send.SendState
5050
import org.matrix.android.sdk.api.session.room.timeline.Timeline
5151
import org.matrix.android.sdk.api.session.room.timeline.TimelineEvent
5252
import org.matrix.android.sdk.api.session.room.timeline.TimelineSettings
53-
import org.matrix.android.sdk.api.session.sync.filter.SyncFilterBuilder
5453
import timber.log.Timber
5554
import java.util.UUID
5655
import java.util.concurrent.CountDownLatch
@@ -347,10 +346,6 @@ class CommonTestHelper internal constructor(context: Context, val cryptoConfig:
347346
assertTrue(registrationResult is RegistrationResult.Success)
348347
val session = (registrationResult as RegistrationResult.Success).session
349348
session.open()
350-
session.filterService().setSyncFilter(
351-
SyncFilterBuilder()
352-
.lazyLoadMembersForStateEvents(true)
353-
)
354349
if (sessionTestParams.withInitialSync) {
355350
syncSession(session, 120_000)
356351
}

matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/SyncConfig.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,13 @@
1616

1717
package org.matrix.android.sdk.api
1818

19+
import org.matrix.android.sdk.api.session.sync.filter.SyncFilterParams
20+
1921
data class SyncConfig(
2022
/**
2123
* Time to keep sync connection alive for before making another request in milliseconds.
2224
*/
2325
val longPollTimeout: Long = 30_000L,
26+
27+
val syncFilterParams: SyncFilterParams = SyncFilterParams()
2428
)

matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/Session.kt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@ import org.matrix.android.sdk.api.session.securestorage.SharedSecretStorageServi
5050
import org.matrix.android.sdk.api.session.signout.SignOutService
5151
import org.matrix.android.sdk.api.session.space.SpaceService
5252
import org.matrix.android.sdk.api.session.statistics.StatisticsListener
53-
import org.matrix.android.sdk.api.session.sync.FilterService
5453
import org.matrix.android.sdk.api.session.sync.SyncService
5554
import org.matrix.android.sdk.api.session.terms.TermsService
5655
import org.matrix.android.sdk.api.session.thirdparty.ThirdPartyService
@@ -163,11 +162,6 @@ interface Session {
163162
*/
164163
fun signOutService(): SignOutService
165164

166-
/**
167-
* Returns the FilterService associated with the session.
168-
*/
169-
fun filterService(): FilterService
170-
171165
/**
172166
* Returns the PushRuleService associated with the session.
173167
*/

matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/events/model/Event.kt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -388,7 +388,13 @@ fun Event.isLocationMessage(): Boolean {
388388
}
389389
}
390390

391-
fun Event.isPoll(): Boolean = getClearType() in EventType.POLL_START.values || getClearType() in EventType.POLL_END.values
391+
fun Event.isPoll(): Boolean = isPollStart() || isPollEnd()
392+
393+
fun Event.isPollStart(): Boolean = getClearType() in EventType.POLL_START.values
394+
395+
fun Event.isPollResponse(): Boolean = getClearType() in EventType.POLL_RESPONSE.values
396+
397+
fun Event.isPollEnd(): Boolean = getClearType() in EventType.POLL_END.values
392398

393399
fun Event.isSticker(): Boolean = getClearType() == EventType.STICKER
394400

matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/sync/filter/SyncFilterParams.kt renamed to matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/sync/filter/SyncFilterParams.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@
1414
* limitations under the License.
1515
*/
1616

17-
package org.matrix.android.sdk.internal.sync.filter
17+
package org.matrix.android.sdk.api.session.sync.filter
1818

19-
internal data class SyncFilterParams(
19+
data class SyncFilterParams(
2020
val lazyLoadMembersForStateEvents: Boolean? = null,
2121
val lazyLoadMembersForMessageEvents: Boolean? = null,
2222
val useThreadNotifications: Boolean? = null,

0 commit comments

Comments
 (0)