Skip to content
Snippets Groups Projects
Verified Commit f09236a2 authored by Janne Mareike Koschinski's avatar Janne Mareike Koschinski
Browse files

Attempt at fixing erroneous notifications

parent cbf1674a
No related branches found
No related tags found
No related merge requests found
Pipeline #
......@@ -76,7 +76,8 @@ class QuasselNotificationBackend @Inject constructor(
0
)
} else {
if (session.bufferSyncer.highlightCount(buffer.bufferId) != 0) {
val highlightCount = session.bufferSyncer.highlightCount(buffer.bufferId)
if (highlightCount != 0) {
session.backlogManager.requestBacklogFiltered(
buffer.bufferId, lastSeenId, -1, 20, 0,
Message_Type.of(Message_Type.Plain, Message_Type.Action, Message_Type.Notice).toInt(),
......@@ -106,6 +107,8 @@ class QuasselNotificationBackend @Inject constructor(
it.type.hasFlag(Message_Type.Action)
}.filter {
!it.flag.hasFlag(Message_Flag.Self)
}.filter {
it.messageId > session.bufferSyncer.lastSeenMsg(it.bufferInfo.bufferId)
}.map {
QuasselDatabase.NotificationData(
messageId = it.messageId,
......
......@@ -27,8 +27,6 @@ import de.kuschku.libquassel.quassel.syncables.interfaces.IBacklogManager
import de.kuschku.libquassel.session.BacklogStorage
import de.kuschku.libquassel.session.NotificationManager
import de.kuschku.libquassel.session.Session
import de.kuschku.libquassel.util.compatibility.LoggingHandler
import de.kuschku.libquassel.util.compatibility.LoggingHandler.Companion.log
class BacklogManager(
private val session: Session,
......@@ -38,9 +36,7 @@ class BacklogManager(
override fun receiveBacklogFiltered(bufferId: BufferId, first: MsgId, last: MsgId, limit: Int,
additional: Int, type: Int, flags: Int,
messages: QVariantList) {
log(LoggingHandler.LogLevel.ERROR, "DEBUG", "$messages")
val actualMessages = messages.mapNotNull { it.value<Message?>(null) }
log(LoggingHandler.LogLevel.ERROR, "DEBUG", "$actualMessages")
notificationManager?.processMessages(
session, *actualMessages.toTypedArray()
)
......
......@@ -26,8 +26,6 @@ import de.kuschku.libquassel.annotations.Slot
import de.kuschku.libquassel.annotations.Syncable
import de.kuschku.libquassel.protocol.*
import de.kuschku.libquassel.protocol.Type
import de.kuschku.libquassel.util.compatibility.LoggingHandler
import de.kuschku.libquassel.util.compatibility.LoggingHandler.Companion.log
@Syncable(name = "BacklogManager")
interface IBacklogManager : ISyncableObject {
......@@ -44,9 +42,6 @@ interface IBacklogManager : ISyncableObject {
fun requestBacklogFiltered(bufferId: BufferId, first: MsgId = -1, last: MsgId = -1,
limit: Int = -1, additional: Int = 0, type: Int = -1,
flags: Int = -1) {
log(LoggingHandler.LogLevel.ERROR,
"DEBUG",
"bufferId: $bufferId, first: $first, last: $last, limit: $limit, additional: $additional, type: $type, flags: $flags")
REQUEST(
"requestBacklogFiltered", ARG(bufferId, QType.BufferId), ARG(first, QType.MsgId),
ARG(last, QType.MsgId), ARG(limit, Type.Int), ARG(additional, Type.Int), ARG(type, Type.Int),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment