Commit graph

4801 commits

Author SHA1 Message Date
SpiritCroc
afe9c47086 Do not link in pagination direction for events at start of chunk
If we link chunks in pagination direction, and discard all events after
that, we assume that we reached a point in the chunk that is already
covered by a different chunk.
If we however haven't seen any new events in that chunk yet, chances are
this is the wrong direction we are linking. So in this case, better just
skip related events and continue processing later events - making sure
we don't lose new events and don't link in the wrong direction.

Note we could also enforce links into the opposite direction in this case.
Since in the cases I observed so far, such link already existed, so I
think this is probably not necessary.

Change-Id: Ia4d2fd87188b9757ed68416e883c3fb489cdfa6e
2022-04-29 15:29:36 +02:00
SpiritCroc
bda09aa03f Do not delete events from the last forward chunk
We get end up with missing messages by the combination of
- deleting the last forward chunk when receiving a new one
- not adding events to a chunk that are already found in another chunk

Accordingly, when using chunk tokens to load more messages, those
messages that were not added to a chunk due to a /sync chunk will get
lost. More thorough steps to reproduce:

- Receive e.g. 30 new messages while offline
- Use /sync in the room overview, this will fetch the latest 10 events
- Open a chat in the past before the latest unread messages
- Scroll down a little, in order to fill the message gap and load all
  unread messages
- Close the chat
- Receive another e.g. 60 messages while offline
- Re-open the chat at some time in the past, before the latest 70
  messages
  => messages from the old /sync chunk will be missing

Change-Id: Ia3f2d2715a3edfd0b3fe5c3d48a02ade4ea49c4d
2022-04-29 15:29:03 +02:00
SpiritCroc
130fe7f887 Revert "Update room previews once we have decryption keys"
Upstream implemented this now as well (differently).
This reverts commit 0d6eda56f5

Change-Id: I74a59ed3e9baf8122c506b4af66a9d1809720600
2022-04-26 17:51:35 +02:00
SpiritCroc
e450d4e9ce Merge tag 'v1.4.13' into sc
Change-Id: I308735bb5d47ae39a73437926180f563cc1a7391
2022-04-26 17:46:15 +02:00
Benoit Marty
b2f9d6778a Version hotfix 1.4.13 2022-04-26 11:29:40 +02:00
Benoit Marty
cd06ba656a Ensure getRootSpaceSummaries() is not called on the main thread. 2022-04-25 16:10:17 +02:00
SpiritCroc
d44cb85dc7 Merge tag 'v1.4.12' into sc
Change-Id: I499d1a654345d59b01881da90e8f5b529ef4dfd2

Conflicts:
	matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/model/RoomSummary.kt
	matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/summary/RoomSummaryConstants.kt
	matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/query/ReadQueries.kt
	matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/TokenChunkEventPersistor.kt
	matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/sync/job/SyncThread.kt
	vector/src/main/java/im/vector/app/AppStateHandler.kt
	vector/src/main/java/im/vector/app/features/home/HomeDetailFragment.kt
	vector/src/main/java/im/vector/app/features/home/HomeDetailViewModel.kt
	vector/src/main/java/im/vector/app/features/home/room/detail/RoomDetailViewEvents.kt
	vector/src/main/java/im/vector/app/features/home/room/detail/TimelineFragment.kt
	vector/src/main/java/im/vector/app/features/home/room/detail/TimelineViewModel.kt
	vector/src/main/java/im/vector/app/features/home/room/detail/timeline/factory/MessageItemFactory.kt
	vector/src/main/java/im/vector/app/features/home/room/detail/timeline/helper/MessageInformationDataFactory.kt
	vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MessageFileItem.kt
	vector/src/main/java/im/vector/app/features/home/room/detail/timeline/style/TimelineMessageLayout.kt
	vector/src/main/java/im/vector/app/features/home/room/detail/timeline/style/TimelineMessageLayoutFactory.kt
	vector/src/main/java/im/vector/app/features/home/room/list/RoomListFragment.kt
	vector/src/main/java/im/vector/app/features/settings/VectorSettingsLabsFragment.kt
	vector/src/main/java/im/vector/app/features/settings/notifications/VectorSettingsNotificationPreferenceFragment.kt
	vector/src/main/res/layout/item_space_beta_header.xml
2022-04-24 11:15:52 +02:00
SpiritCroc
30db09cea3 Split existing timeline loops
Change-Id: I116b77df62601138da35efee9dc2ab40a8f32856
2022-04-24 10:46:45 +02:00
SpiritCroc
fe4ec79214 Attempt to prevent timeline loops
This doesn't fix existing loops, and I'm not sure if this will lead to
missing messages (but probably still better than timeline looping...?).

Change-Id: I9c14da58736d61b89d09458168eb2d33e9f21d80
2022-04-24 10:46:45 +02:00
ericdecanini
8eab24c53d Replaces writeAsync with awaitTransaction 2022-04-20 11:10:01 +02:00
ericdecanini
90b063f0de Replaces doWithRealm with writeAsync 2022-04-20 10:55:06 +02:00
SpiritCroc
ed2b05628a Timeline consistency debug: do not toast -1->-1, these seem rather common as well
Change-Id: I90bc46dddf0760192221c4936111dd8460046c6c
2022-04-19 10:28:48 +02:00
Aris Kotsomitopoulos
abe07c73a4
Merge pull request #5775 from vector-im/feature/aris/threads_after_release_experience
Enhance user experience when home servers do not support threads.
2022-04-19 10:59:41 +03:00
ariskotsomitopoulos
1a38b8c3c9 Replace var with val 2022-04-15 16:32:48 +03:00
Adam Brown
e58677a104
Merge pull request #5763 from vector-im/feature/adm/server-selection-errors
FTUE - Server selection errors
2022-04-14 17:22:58 +01:00
Benoit Marty
6a6f59a3be
Merge pull request #5757 from ofalvai/bugfix/uploads-order-e2e
Fix sorting of uploads in encrypted rooms
2022-04-14 18:11:49 +02:00
Benoit Marty
97f2206f2a
Merge pull request #5767 from vector-im/feature/bma/unignore_user
Unignore user must perform an initial sync
2022-04-14 17:31:32 +02:00
Benoit Marty
a171a29bf1
Merge pull request #5762 from vector-im/feature/bma/dokka_2
Make some data class immutable
2022-04-14 17:17:55 +02:00
Adam Brown
eda1d9142c using expression bodies for boolean checks
- moves first expression line  onto the declaration line
2022-04-14 16:10:22 +01:00
Onuray Sahin
aa55b1f6b3
Merge pull request #5758 from vector-im/feature/ons/live_location_stop_sharing
Live Location Sharing - Update beacon info state event when sharing is ended
2022-04-14 17:12:50 +03:00
Onuray Sahin
f49e7d9619 Code review fixes. 2022-04-14 16:23:43 +03:00
Benoit Marty
fe0332957b Add API documentation 2022-04-14 14:53:25 +02:00
SpiritCroc
0eca1e03c0 Fix beginTransaction crash when continuing a transaction
Change-Id: Ied0911c1f310ed59a5bf18e423efa5c8b146c668
2022-04-14 13:56:53 +02:00
Adam Brown
1b33c03d91 lifting unavailable homeserver condition to the other error types 2022-04-14 12:01:23 +01:00
Benoit Marty
13cc0a2e8d Immutable data class. var -> val. The code should be equivalent. 2022-04-14 12:14:09 +02:00
Benoit Marty
015438289e Immutable data class. var -> val 2022-04-13 19:29:53 +02:00
Benoit Marty
7773b75834 Immutable data class. var -> val 2022-04-13 19:08:31 +02:00
Benoit Marty
3435357b1c Immutable data class. var -> val 2022-04-13 18:55:56 +02:00
Benoit Marty
10b47c33d1 Small formatting issue 2022-04-13 18:53:59 +02:00
Benoit Marty
13cf510e8a Better contract. Explicit parameter usage 2022-04-13 18:53:27 +02:00
Benoit Marty
2858401a12 Immutable data class. var -> val, MutableList -> List 2022-04-13 18:52:20 +02:00
Eric Decanini
9b7e94ebab
Fixes myroomnick changing Display Name (#5618) 2022-04-13 18:35:33 +02:00
Benoit Marty
91c896f566 Add missing internal keyword 2022-04-13 18:08:43 +02:00
Olivér Falvai
daaca4e46a Fix sorting of uploads in encrypted rooms 2022-04-13 17:24:26 +02:00
Onuray Sahin
4ee7332973 Update beacon info state event by setting live as false. 2022-04-13 16:59:42 +03:00
Benoit Marty
5075775c56
Merge pull request #5744 from vector-im/feature/bma/dokka
Set up dokka to generate SDK documentation and cleanup the API
2022-04-13 14:49:10 +02:00
Benoit Marty
e30c68fb82 Remove dokka dependencies classpath for this specific module, it's already declared in the main build.gradle file. 2022-04-13 13:45:06 +02:00
Adam Brown
0bf84341af
Merge pull request #5747 from vector-im/feature/adm/concurrent-new-session-crash
Fixing crash when navigating the app whilst room keys are being processed
2022-04-13 10:43:10 +01:00
Maxime NATUREL
071340c868 Remove non necessary comment + adding a TODO for missing aggregation check 2022-04-13 10:39:13 +02:00
Adam Brown
594b442a21 copying the list of new session listeners to avoid concurrent modification
- copying the list avoids the need to synchronise the add/removing/iterations
2022-04-12 17:36:05 +01:00
Benoit Marty
38bbbd62a4 Restore the correct copyright 2022-04-12 16:35:32 +02:00
Benoit Marty
bfbcef60e9 Run ktlintFormat 2022-04-12 16:09:56 +02:00
Benoit Marty
23d2a290ab Global import optimization 2022-04-12 16:06:27 +02:00
Maxime NATUREL
e50192910d Keep track of time out using last location event 2022-04-12 15:51:02 +02:00
Maxime NATUREL
d78ed3215b Adding support for notifications and message preview 2022-04-12 15:51:02 +02:00
Maxime NATUREL
6e61085b1f Removing TODO 2022-04-12 15:51:02 +02:00
Maxime NATUREL
aabfc81816 Show start event of live without conditions 2022-04-12 15:51:02 +02:00
Benoit Marty
4e48c076e8 Make RuntimeJsonAdapterFactory internal and cleanup 2022-04-12 15:47:09 +02:00
Benoit Marty
7514edb399 Convert RuntimeJsonAdapterFactory to Kotlin 2022-04-12 15:41:37 +02:00
Benoit Marty
73270476d2 Rename .java to .kt 2022-04-12 15:41:37 +02:00