Add extra context to messages that are added to channels, allowing the logging controller to take more responsibility in what messages to log (#5499)

Co-auhtored-by: James Upjohn <jupjohn@jammeh.co.nz>
This commit is contained in:
pajlada
2024-07-13 13:15:11 +02:00
committed by GitHub
parent 49de421bd8
commit 973b7a3bdd
26 changed files with 163 additions and 139 deletions
+8 -15
View File
@@ -925,26 +925,17 @@ void ChannelView::setChannel(const ChannelPtr &underlyingChannel)
{
if (this->channel_->lastDate_ != QDate::currentDate())
{
// Day change message
this->channel_->lastDate_ = QDate::currentDate();
auto msg = makeSystemMessage(
QLocale().toString(QDate::currentDate(),
QLocale::LongFormat),
QTime(0, 0));
this->channel_->addMessage(msg);
msg->flags.set(MessageFlag::DoNotLog);
this->channel_->addMessage(msg, MessageContext::Original);
}
// When the message was received in the underlyingChannel,
// logging will be handled. Prevent duplications.
if (overridingFlags)
{
overridingFlags->set(MessageFlag::DoNotLog);
}
else
{
overridingFlags = MessageFlags(message->flags);
overridingFlags->set(MessageFlag::DoNotLog);
}
this->channel_->addMessage(message, overridingFlags);
this->channel_->addMessage(message, MessageContext::Repost,
overridingFlags);
}
});
@@ -1010,7 +1001,9 @@ void ChannelView::setChannel(const ChannelPtr &underlyingChannel)
}
this->messages_.pushBack(messageLayout);
this->channel_->addMessage(msg);
this->channel_->addMessage(msg, MessageContext::Repost);
nMessagesAdded++;
if (this->showScrollbarHighlights())
{
+1 -1
View File
@@ -55,7 +55,7 @@ ChannelPtr SearchPopup::filter(const QString &text, const QString &channelName,
auto overrideFlags = std::optional<MessageFlags>(message->flags);
overrideFlags->set(MessageFlag::DoNotLog);
channel->addMessage(message, overrideFlags);
channel->addMessage(message, MessageContext::Repost, overrideFlags);
}
}