* develop: (156 commits)
adding test case for showing html entities are processed
adding tests around the event html rendering - the test helper is a little hacky in order to covert the spans to something human readable
removing extra line
adding changelog entry
overriding the default list handler with an implementation that takes into account the initial starting position
trigger CI
Use executeTransactionAwait (need realm refresh in this case)
Bump flipper from 0.152.0 to 0.153.0
Use executeTransactionAwait (need realm refresh in this case)
generating 1.4.27 changelog and updating version
Fixing crash when sharing plain text, such as a url
Fix crashes when opening Thread (#6463)
Timeline: fix validation of timeline event changes
Fix ConcurrentModificationException on BackgroundDetectionObserver
Fix crashes when opening Thread (#6463)
suppressing unused string resource
Changelog
Fix ConcurrentModificationException on BackgroundDetectionObserver
Fix typo
adding changelog entry
...
- only uses the previous value if the key exists, otherwise we end up defaulting to true instead of false (which the preferences screen expects)
- manually deletes the key after migrating the value
* develop: (91 commits)
Remove unused import
Update versions
Update CHANGES
Improve readability.
Weblate: also clean trads
Changelog
Format file
Add android:hasFragileUserData="true" to the manifest. See details in #2352
Clean the TODO delete (UnusedResource not compatible with string template)
showing a toast on password reset confirmation
lifting duplicated event_base layout to the base class, with the option for children to override
using vector model for consistency
Replace 5 manual steps to 1 command line step
Translated using Weblate (Italian)
Translated using Weblate (Swedish)
Translated using Weblate (Swedish)
Translated using Weblate (Russian)
extracting common breaker background selection to ftue extensions
removing unused imports
adding changelog entry
...
* develop: (174 commits)
Bump libphonenumber from 8.12.50 to 8.12.51
LoadRoomMember: fix presence
Cleanup
LoadRoomMembers: add changelog
LoadRoomMembers: handle room member event a bit more efficiently
LoadRoomMembers: exclude Membership.Leave
LoadRoomMembers: divide by chunk
Bump soloader from 0.10.3 to 0.10.4
Code review fix.
Try no using the gradle daemon on CI
Harmonize values of `CI_GRADLE_ARG_PROPERTIES`
removing unused dependencies and marking soloader and ignored from dependency check (as it's dynamic)
Remove non necessary prefix in logs
Adding changelog entry
Updating the unit tests
Stopping existing active live when starting a new one
Avoid multiple PR from Dependabot when Flipper is upgraded.
Change context inside the get live summary use case
Use a TestDispatcher in the FakeSession
Code review fixes.
...
- whilst closing the session, we iterate through all the listeners calling onSessionStopped however some implementations also use this callback to remove themselves from the listeners, causing the concurrent modification crash
Background: Clients write Markdown and convert it to HTML before
sending the event. All events are formatted as HTML. However, if an
HTML formatted event happened to include markdown characters, Element
Android would incorrectly render that markdown.
For example, an event with formatted_body: "*test*" should be
displayed as literally *test* with no effects, but Element Android
incorrectly displayed it as test in italics.
This commit fixes this behaviour, making Element Android not parse
Markdown in HTML messages.
From the perspective of most users it will appear that backslash
escapes now work properly (even though this wasn't the real issue).
* Sync: delete all previous chunks in case of gappy sync
* Chunk: dont link chunks if we find existing timeline event (keep multiple timeline events in db)
* Timeline : remove some unused code
* Clean and add changelog
* Timeline: set named argument
* Timeline: avoid restarting the timeline when there is a CancellationException due to permalink
* Timeline: add migration to clean up old (broken) chunks
* Update matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/migration/MigrateSessionTo030.kt
Co-authored-by: Benoit Marty <benoitm@matrix.org>
* Timeline: try to fix test
* ignoring broken instrumentation test in order to release
Co-authored-by: ganfra <francoisg@element.io>
Co-authored-by: Benoit Marty <benoitm@matrix.org>
Co-authored-by: Adam Brown <adampsbrown@gmail.com>
* Sync: delete all previous chunks in case of gappy sync
* Chunk: dont link chunks if we find existing timeline event (keep multiple timeline events in db)
* Timeline : remove some unused code
* Clean and add changelog
* Timeline: set named argument
* Timeline: avoid restarting the timeline when there is a CancellationException due to permalink
* Timeline: add migration to clean up old (broken) chunks
* Update matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/migration/MigrateSessionTo030.kt
Co-authored-by: Benoit Marty <benoitm@matrix.org>
* Timeline: try to fix test
* ignoring broken instrumentation test in order to release
Co-authored-by: ganfra <francoisg@element.io>
Co-authored-by: Benoit Marty <benoitm@matrix.org>
Co-authored-by: Adam Brown <adampsbrown@gmail.com>
* develop: (114 commits)
Docs: Fix various formatting and spelling issues in notifications.md
Fixing non necessary breaking line
continuing to the originally supplied url when a rtl override character is detected
splitting url detection condition into separate branches
Cleaner code
Create extension `String?.toActiveSpaceOrOrphanRooms()` to reduce noise.
Add changelog
Fix test compilation
Add some Kdoc
Add some Kdoc
Create SpaceFilter.OrphanRooms to improve the API. Not 100% of the side effect. There is probably some (fixed?) bugs here.
Rename ActiveSpaceFilter to SpaceFilter
Remove `ActiveSpaceFilter.None` Prefer nullability for API coherency of `RoomSummaryQueryParams`
Add some Kdoc
Remove duplicated lines of code (the same code is done a few lines later)
Remove `RoomCategoryFilter.ALL` Prefer nullability for API coherency of `RoomSummaryQueryParams`
`displayName` default value is now `QueryStringValue.NoCondition`. It was working fine since in the DB we always have a name using `RoomDisplayNameFallbackProvider`, which in our current implementation always return a non empty String.
Small rework for nicer code
Remove duplicated code lines
Remove `roomId` from `RoomSummaryQueryParams.Builder()`. Create a new API in RoomService to observe a room summary from a roomId.
...
# Conflicts:
# vector/src/main/java/im/vector/app/features/location/live/map/LocationLiveMapViewFragment.kt
Persisting notification info fails for non-null Uris:
E NotificationEventPersistence: ## Failed to save cached notification info
E NotificationEventPersistence: java.io.NotSerializableException: android.net.Uri$HierarchicalUri
E NotificationEventPersistence: at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1240)
E NotificationEventPersistence: at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1604)
E NotificationEventPersistence: at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1565)
E NotificationEventPersistence: at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1488)
E NotificationEventPersistence: at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1234)
E NotificationEventPersistence: at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:354)
E NotificationEventPersistence: at java.util.ArrayList.writeObject(ArrayList.java:762)
E NotificationEventPersistence: at java.lang.reflect.Method.invoke(Native Method)
E NotificationEventPersistence: at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1036)
E NotificationEventPersistence: at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1552)
E NotificationEventPersistence: at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1488)
E NotificationEventPersistence: at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1234)
E NotificationEventPersistence: at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:354)
E NotificationEventPersistence: at org.matrix.android.sdk.internal.session.securestorage.SecretStoringUtils.saveSecureObjectM(SecretStoringUtils.kt:283)
E NotificationEventPersistence: at org.matrix.android.sdk.internal.session.securestorage.SecretStoringUtils.securelyStoreObject(SecretStoringUtils.kt:150)
E NotificationEventPersistence: at org.matrix.android.sdk.internal.session.securestorage.DefaultSecureStorageService.securelyStoreObject(DefaultSecureStorageService.kt:27)
E NotificationEventPersistence: at im.vector.app.features.notifications.NotificationEventPersistence.persistEvents(NotificationEventPersistence.kt:58)
E NotificationEventPersistence: at im.vector.app.features.notifications.NotificationDrawerManager$persistEvents$1.invoke(NotificationDrawerManager.kt:183)
E NotificationEventPersistence: at im.vector.app.features.notifications.NotificationDrawerManager$persistEvents$1.invoke(NotificationDrawerManager.kt:182)
E NotificationEventPersistence: at im.vector.app.features.notifications.NotificationState.queuedEvents(NotificationState.kt:55)
E NotificationEventPersistence: at im.vector.app.features.notifications.NotificationDrawerManager.persistEvents(NotificationDrawerManager.kt:182)
E NotificationEventPersistence: at im.vector.app.features.notifications.NotificationDrawerManager.refreshNotificationDrawerBg(NotificationDrawerManager.kt:177)
Accordingly, if a notification for an image is shown, and the
notification state is loaded from storage later, none of the previously
shown notifications will get dismissed once read.
Likely addresses https://github.com/vector-im/element-android/issues/4862.
Change-Id: I2d6be497e8b92e770b680e16e42b3610add57323