mirror of
https://github.com/oxen-io/session-android.git
synced 2025-02-20 13:28: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 ->
|
toAddCommunities.forEach { toAddCommunity ->
|
||||||
val joinUrl = toAddCommunity.community.fullUrl()
|
val joinUrl = toAddCommunity.community.fullUrl()
|
||||||
if (!hasBackgroundGroupAddJob(joinUrl)) {
|
if (!hasBackgroundGroupAddJob(joinUrl)) {
|
||||||
|
Log.d("Loki-DBG", "Adding background $joinUrl")
|
||||||
JobQueue.shared.add(BackgroundGroupAddJob(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) {
|
override fun onOpenGroupAdded(server: String, room: String) {
|
||||||
OpenGroupManager.restartPollerForServer(server.removeSuffix("/"))
|
OpenGroupManager.restartPollerForServer(server.removeSuffix("/"))
|
||||||
|
Log.d("Loki-DBG", "Checking onOpenGroupAdded: $server $room")
|
||||||
val groups = configFactory.userGroups ?: return
|
val groups = configFactory.userGroups ?: return
|
||||||
val volatileConfig = configFactory.convoVolatile ?: return
|
val volatileConfig = configFactory.convoVolatile ?: return
|
||||||
val openGroup = getOpenGroup(room, server) ?: 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)
|
val communityInfo = groups.getOrConstructCommunityInfo(infoServer, infoRoom, pubKeyHex)
|
||||||
groups.set(communityInfo)
|
groups.set(communityInfo)
|
||||||
val volatile = volatileConfig.getOrConstructCommunity(infoServer, infoRoom, pubKey)
|
val volatile = volatileConfig.getOrConstructCommunity(infoServer, infoRoom, pubKey)
|
||||||
|
Log.d("Loki-DBG", "latest volatile read for $room is ${volatile.lastRead}")
|
||||||
if (volatile.lastRead != 0L) {
|
if (volatile.lastRead != 0L) {
|
||||||
val threadId = getThreadId(openGroup) ?: return
|
val threadId = getThreadId(openGroup) ?: return
|
||||||
markConversationAsRead(threadId, volatile.lastRead, force = true)
|
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())
|
storage.addOpenGroup(openGroup.joinUrl())
|
||||||
Log.d(KEY, "onOpenGroupAdded(${openGroup.server})")
|
Log.d(KEY, "onOpenGroupAdded(${openGroup.server})")
|
||||||
|
Log.d("Loki-DBG", "added group $joinUrl")
|
||||||
storage.onOpenGroupAdded(openGroup.server, openGroup.room)
|
storage.onOpenGroupAdded(openGroup.server, openGroup.room)
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
Log.e("OpenGroupDispatcher", "Failed to add group because",e)
|
Log.e("OpenGroupDispatcher", "Failed to add group because",e)
|
||||||
|
@ -147,6 +147,9 @@ class BatchMessageReceiveJob(
|
|||||||
val messageIds = linkedMapOf<Long, Pair<Boolean, Boolean>>()
|
val messageIds = linkedMapOf<Long, Pair<Boolean, Boolean>>()
|
||||||
val myLastSeen = storage.getLastSeen(threadId)
|
val myLastSeen = storage.getLastSeen(threadId)
|
||||||
var newLastSeen = if (myLastSeen == -1L) 0 else myLastSeen
|
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) ->
|
messages.forEach { (parameters, message, proto) ->
|
||||||
try {
|
try {
|
||||||
when (message) {
|
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)
|
// 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
|
// might have been updated from a different thread at this point
|
||||||
val currentLastSeen = storage.getLastSeen(threadId).let { if (it == -1L) 0 else it }
|
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) {
|
if (currentLastSeen > newLastSeen) {
|
||||||
newLastSeen = currentLastSeen
|
newLastSeen = currentLastSeen
|
||||||
}
|
}
|
||||||
|
if (!openGroupID.isNullOrEmpty()) {
|
||||||
|
Log.d("Loki-DBG", "new-lastSeen for: $openGroupID is $currentLastSeen")
|
||||||
|
}
|
||||||
storage.markConversationAsRead(threadId, newLastSeen)
|
storage.markConversationAsRead(threadId, newLastSeen)
|
||||||
storage.updateThread(threadId, true)
|
storage.updateThread(threadId, true)
|
||||||
SSKEnvironment.shared.notificationManager.updateNotification(context, threadId)
|
SSKEnvironment.shared.notificationManager.updateNotification(context, threadId)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user