diff --git a/changelog.d/5719.feature b/changelog.d/5719.feature new file mode 100644 index 0000000000..7561dfd82f --- /dev/null +++ b/changelog.d/5719.feature @@ -0,0 +1 @@ +Do not cancel the current incremental sync request and treatment when the app goes to background \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/EventRelationsAggregationProcessor.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/EventRelationsAggregationProcessor.kt index 27a70b27b4..47630de001 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/EventRelationsAggregationProcessor.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/EventRelationsAggregationProcessor.kt @@ -597,11 +597,11 @@ internal class EventRelationsAggregationProcessor @Inject constructor( sum.key = reaction sum.firstTimestamp = event.originServerTs ?: 0 if (isLocalEcho) { - Timber.v("Adding local echo reaction $reaction") + Timber.v("Adding local echo reaction") sum.sourceLocalEcho.add(txId) sum.count = 1 } else { - Timber.v("Adding synced reaction $reaction") + Timber.v("Adding synced reaction") sum.count = 1 sum.sourceEvents.add(reactionEventId) } @@ -613,16 +613,16 @@ internal class EventRelationsAggregationProcessor @Inject constructor( // check if it's not the sync of a local echo if (!isLocalEcho && sum.sourceLocalEcho.contains(txId)) { // ok it has already been counted, just sync the list, do not touch count - Timber.v("Ignoring synced of local echo for reaction $reaction") + Timber.v("Ignoring synced of local echo for reaction") sum.sourceLocalEcho.remove(txId) sum.sourceEvents.add(reactionEventId) } else { sum.count += 1 if (isLocalEcho) { - Timber.v("Adding local echo reaction $reaction") + Timber.v("Adding local echo reaction") sum.sourceLocalEcho.add(txId) } else { - Timber.v("Adding synced reaction $reaction") + Timber.v("Adding synced reaction") sum.sourceEvents.add(reactionEventId) } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/relation/threads/FetchThreadTimelineTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/relation/threads/FetchThreadTimelineTask.kt index a46bbe8d9f..15f70a8b4d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/relation/threads/FetchThreadTimelineTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/relation/threads/FetchThreadTimelineTask.kt @@ -251,7 +251,7 @@ internal class DefaultFetchThreadTimelineTask @Inject constructor( sum = realm.createObject(ReactionAggregatedSummaryEntity::class.java) sum.key = reaction sum.firstTimestamp = event.originServerTs ?: 0 - Timber.v("Adding synced reaction $reaction") + Timber.v("Adding synced reaction") sum.count = 1 // reactionEventId not included in the /relations API // sum.sourceEvents.add(reactionEventId) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/handler/room/RoomSyncHandler.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/handler/room/RoomSyncHandler.kt index 8fe85f0d31..e7fee7a42d 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/handler/room/RoomSyncHandler.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/handler/room/RoomSyncHandler.kt @@ -107,7 +107,6 @@ internal class RoomSyncHandler @Inject constructor(private val readReceiptHandle isInitialSync: Boolean, aggregator: SyncResponsePostTreatmentAggregator, reporter: ProgressReporter? = null) { - Timber.v("Execute transaction from $this") handleRoomSync(realm, HandlingStrategy.JOINED(roomsSyncResponse.join), isInitialSync, aggregator, reporter) handleRoomSync(realm, HandlingStrategy.INVITED(roomsSyncResponse.invite), isInitialSync, aggregator, reporter) handleRoomSync(realm, HandlingStrategy.LEFT(roomsSyncResponse.leave), isInitialSync, aggregator, reporter) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/job/SyncThread.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/job/SyncThread.kt index 2460720adc..50049dacab 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/job/SyncThread.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/job/SyncThread.kt @@ -104,10 +104,12 @@ internal class SyncThread @Inject constructor(private val syncTask: SyncTask, fun pause() = synchronized(lock) { if (isStarted) { - Timber.tag(loggerTag.value).d("Pause sync...") + Timber.tag(loggerTag.value).d("Pause sync... Not cancelling incremental sync") isStarted = false retryNoNetworkTask?.cancel() - syncScope.coroutineContext.cancelChildren() + // Do not cancel the current incremental sync. + // Incremental sync can be long and it requires the user to wait for the treatment to end, + // else all is restarted from the beginning each time the user moves the app to foreground. } } diff --git a/tools/hs_diag.py b/tools/hs_diag.py index 7d7a947c4c..50f117bc8e 100755 --- a/tools/hs_diag.py +++ b/tools/hs_diag.py @@ -65,6 +65,6 @@ for item in items: print("# " + item[0] + " (" + item[1] + ")") print("====================================================================================================") if item[2]: - os.system("curl -s -X GET '" + item[1] + "' | python -m json.tool") + os.system("curl -s -X GET '" + item[1] + "' | python3 -m json.tool") else: - os.system("curl -s -X POST --data $'{}' '" + item[1] + "' | python -m json.tool") + os.system("curl -s -X POST --data $'{}' '" + item[1] + "' | python3 -m json.tool") diff --git a/vector/src/main/java/im/vector/app/VectorApplication.kt b/vector/src/main/java/im/vector/app/VectorApplication.kt index a3f4ffcfcd..e12eecfefc 100644 --- a/vector/src/main/java/im/vector/app/VectorApplication.kt +++ b/vector/src/main/java/im/vector/app/VectorApplication.kt @@ -230,13 +230,13 @@ class VectorApplication : val sdkVersion = Matrix.getSdkVersion() val date = SimpleDateFormat("MM-dd HH:mm:ss.SSSZ", Locale.US).format(Date()) - Timber.v("----------------------------------------------------------------") - Timber.v("----------------------------------------------------------------") - Timber.v(" Application version: $appVersion") - Timber.v(" SDK version: $sdkVersion") - Timber.v(" Local time: $date") - Timber.v("----------------------------------------------------------------") - Timber.v("----------------------------------------------------------------\n\n\n\n") + Timber.d("----------------------------------------------------------------") + Timber.d("----------------------------------------------------------------") + Timber.d(" Application version: $appVersion") + Timber.d(" SDK version: $sdkVersion") + Timber.d(" Local time: $date") + Timber.d("----------------------------------------------------------------") + Timber.d("----------------------------------------------------------------\n\n\n\n") } override fun attachBaseContext(base: Context) {