Dominik Fuchß (c5f34271) at 18 Mar 22:34
Ignore JDK vendor
Dominik Fuchß (0b77dde9) at 18 Mar 21:27
Replace upstream sync error banner with Tacit offline banner
... and 6 more commits
Dominik Fuchß (9674dd2f) at 17 Mar 18:46
Merge remote-tracking branch 'upstream/main' into dev
... and 1 more commit
Dominik Fuchß (c6114494) at 17 Mar 18:44
Merge remote-tracking branch 'upstream/main' into dev
... and 3 more commits
Dominik Fuchß (dd82d7d2) at 17 Mar 17:58
Dominik Fuchß (cf9e9fee) at 17 Mar 17:50
Merge remote-tracking branch 'upstream/main' into dev
... and 2 more commits
Dominik Fuchß (dd82d7d2) at 17 Mar 17:46
Squashed commit of the following:
Dominik Fuchß (c72b073e) at 12 Mar 22:50
Merge branch '54-android-ui-not-starting-anymore' into 'main'
... and 4 more commits
Dominik Fuchß (eff0a9f1) at 09 Mar 00:03
Squashed commit of the following:
I guess this will do the trick ..
diff --git forkSrcPrefix/trixnity-client/src/commonMain/kotlin/de/connect2x/trixnity/client/room/DirectRoomEventHandler.kt forkDstPrefix/trixnity-client/src/commonMain/kotlin/de/connect2x/trixnity/client/room/DirectRoomEventHandler.kt
index 63dfc7f212d639343906aa70d0eff1c402766a0a..814a4b709ba2362addd65f025e67ef84cd0de2e9 100644
--- forkSrcPrefix/trixnity-client/src/commonMain/kotlin/de/connect2x/trixnity/client/room/DirectRoomEventHandler.kt
+++ forkDstPrefix/trixnity-client/src/commonMain/kotlin/de/connect2x/trixnity/client/room/DirectRoomEventHandler.kt
@@ -10,7 +10,6 @@ import de.connect2x.trixnity.core.EventHandler
import de.connect2x.trixnity.core.UserInfo
import de.connect2x.trixnity.core.model.UserId
import de.connect2x.trixnity.core.model.events.ClientEvent
-import de.connect2x.trixnity.core.model.events.ClientEvent.RoomEvent.StateEvent
import de.connect2x.trixnity.core.model.events.m.DirectEventContent
import de.connect2x.trixnity.core.model.events.m.room.MemberEventContent
import de.connect2x.trixnity.core.model.events.m.room.Membership.BAN
@@ -37,8 +36,13 @@ class DirectRoomEventHandler(
log.trace { "direct event mappings before recalculation: $initialDirectEventContentMappings" }
+
+ val recentRoomEvents = events.groupBy { it.roomId to it.stateKey }.mapValues { (_, eventsForRoom) ->
+ eventsForRoom.maxBy { it.originTimestamp?:Long.MIN_VALUE }
+ }.values.toList()
+
var directEventContentMappings = initialDirectEventContentMappings
- for (event in events) {
+ for (event in recentRoomEvents) {
val roomId = event.roomId ?: continue // in sync, roomId is always there
val stateKey = event.stateKey
val sender = event.sender
I guess something like this should be robust even against re-ordering
val recentRoomEvents = events.groupBy { it.roomId to it.stateKey }.mapValues { (_, eventsForRoom) ->
eventsForRoom.maxBy { it.originTimestamp?:Long.MIN_VALUE }
}.values.toList()
It is at least close to the original pdflatex style (still you might to select a slightly other font)
Dominik Fuchß (6fcd3358) at 05 Mar 00:09
Merge branch '48-tammy-fdroid-publishing' into 'main'
... and 9 more commits
I've investigated further:
On invite a member event content may be
"content": {
"avatar_url": null,
"displayname": "Dominik",
"is_direct": true,
"membership": "invite"
}
However, as soon as the user joined this changes to
"content": {
"avatar_url": null,
"displayname": "Dominik",
"membership": "join"
}
Meaning that we should use is_direct only on invite and not for invited rooms.
Dominik Fuchß (ce64c636) at 03 Mar 22:56
Squashed commit of the following: