mirror of
https://github.com/oxen-io/session-android.git
synced 2025-02-18 02:58:27 +00:00
wip: add more logs for initial last Read sync of communities
This commit is contained in:
parent
dd001640a4
commit
a15842166c
@ -549,6 +549,7 @@ open class Storage(context: Context, helper: SQLCipherOpenHelper, private val co
|
||||
toAddCommunities.forEach { toAddCommunity ->
|
||||
val joinUrl = toAddCommunity.community.fullUrl()
|
||||
if (!hasBackgroundGroupAddJob(joinUrl)) {
|
||||
Log.d("Loki-DBG", "Adding background $joinUrl")
|
||||
JobQueue.shared.add(BackgroundGroupAddJob(joinUrl))
|
||||
}
|
||||
}
|
||||
@ -1030,6 +1031,7 @@ open class Storage(context: Context, helper: SQLCipherOpenHelper, private val co
|
||||
|
||||
override fun onOpenGroupAdded(server: String, room: String) {
|
||||
OpenGroupManager.restartPollerForServer(server.removeSuffix("/"))
|
||||
Log.d("Loki-DBG", "Checking onOpenGroupAdded: $server $room")
|
||||
val groups = configFactory.userGroups ?: return
|
||||
val volatileConfig = configFactory.convoVolatile ?: return
|
||||
val openGroup = getOpenGroup(room, server) ?: return
|
||||
@ -1038,9 +1040,11 @@ open class Storage(context: Context, helper: SQLCipherOpenHelper, private val co
|
||||
val communityInfo = groups.getOrConstructCommunityInfo(infoServer, infoRoom, pubKeyHex)
|
||||
groups.set(communityInfo)
|
||||
val volatile = volatileConfig.getOrConstructCommunity(infoServer, infoRoom, pubKey)
|
||||
Log.d("Loki-DBG", "latest volatile read for $room is ${volatile.lastRead}")
|
||||
if (volatile.lastRead != 0L) {
|
||||
val threadId = getThreadId(openGroup) ?: return
|
||||
markConversationAsRead(threadId, volatile.lastRead, force = true)
|
||||
Log.d("Loki-DBG", "set latest volatile read for $room to ${volatile.lastRead}")
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -40,6 +40,7 @@ class BackgroundGroupAddJob(val joinUrl: String): Job {
|
||||
}
|
||||
storage.addOpenGroup(openGroup.joinUrl())
|
||||
Log.d(KEY, "onOpenGroupAdded(${openGroup.server})")
|
||||
Log.d("Loki-DBG", "added group $joinUrl")
|
||||
storage.onOpenGroupAdded(openGroup.server, openGroup.room)
|
||||
} catch (e: Exception) {
|
||||
Log.e("OpenGroupDispatcher", "Failed to add group because",e)
|
||||
|
@ -147,6 +147,9 @@ class BatchMessageReceiveJob(
|
||||
val messageIds = linkedMapOf<Long, Pair<Boolean, Boolean>>()
|
||||
val myLastSeen = storage.getLastSeen(threadId)
|
||||
var newLastSeen = if (myLastSeen == -1L) 0 else myLastSeen
|
||||
if (!openGroupID.isNullOrEmpty()) {
|
||||
Log.d("Loki-DBG", "pre-lastSeen for: $openGroupID is $newLastSeen")
|
||||
}
|
||||
messages.forEach { (parameters, message, proto) ->
|
||||
try {
|
||||
when (message) {
|
||||
@ -217,9 +220,15 @@ class BatchMessageReceiveJob(
|
||||
// last seen will be the current last seen if not changed (re-computes the read counts for thread record)
|
||||
// might have been updated from a different thread at this point
|
||||
val currentLastSeen = storage.getLastSeen(threadId).let { if (it == -1L) 0 else it }
|
||||
if (!openGroupID.isNullOrEmpty()) {
|
||||
Log.d("Loki-DBG", "current-lastSeen (w/ my message read) for: $openGroupID is $currentLastSeen")
|
||||
}
|
||||
if (currentLastSeen > newLastSeen) {
|
||||
newLastSeen = currentLastSeen
|
||||
}
|
||||
if (!openGroupID.isNullOrEmpty()) {
|
||||
Log.d("Loki-DBG", "new-lastSeen for: $openGroupID is $currentLastSeen")
|
||||
}
|
||||
storage.markConversationAsRead(threadId, newLastSeen)
|
||||
storage.updateThread(threadId, true)
|
||||
SSKEnvironment.shared.notificationManager.updateNotification(context, threadId)
|
||||
|
Loading…
x
Reference in New Issue
Block a user