show all irc messages for debugging

This commit is contained in:
fourtf 2019-09-16 18:01:32 +02:00
parent 64362d687a
commit 13c9aabf29
4 changed files with 39 additions and 5 deletions

View file

@ -328,7 +328,10 @@ std::shared_ptr<Channel> AbstractIrcServer::getCustomChannel(
QString AbstractIrcServer::cleanChannelName(const QString &dirtyChannelName) QString AbstractIrcServer::cleanChannelName(const QString &dirtyChannelName)
{ {
return dirtyChannelName; if (dirtyChannelName.startsWith('#'))
return dirtyChannelName.mid(1);
else
return dirtyChannelName;
} }
void AbstractIrcServer::addFakeMessage(const QString &data) void AbstractIrcServer::addFakeMessage(const QString &data)
@ -356,7 +359,20 @@ void AbstractIrcServer::privateMessageReceived(
void AbstractIrcServer::readConnectionMessageReceived( void AbstractIrcServer::readConnectionMessageReceived(
Communi::IrcMessage *message) Communi::IrcMessage *message)
{ {
(void)message; /* XXX: only print this message once
if (message->type() == Communi::IrcMessage::Join)
{
auto x = static_cast<Communi::IrcJoinMessage *>(message);
if (auto it = this->channels.find(this->cleanChannelName(x->channel()));
it != this->channels.end())
{
if (auto shared = it->lock())
shared->addMessage(
MessageBuilder(systemMessage, "joined").release());
}
}
*/
} }
void AbstractIrcServer::forEachChannel(std::function<void(ChannelPtr)> func) void AbstractIrcServer::forEachChannel(std::function<void(ChannelPtr)> func)

View file

@ -13,7 +13,7 @@ IrcConnection::IrcConnection(QObject *parent)
{ {
if (!this->recentlyReceivedMessage_.load()) if (!this->recentlyReceivedMessage_.load())
{ {
this->sendRaw("PING"); this->sendRaw("PING chatterino/ping");
this->reconnectTimer_.start(); this->reconnectTimer_.start();
} }
this->recentlyReceivedMessage_ = false; this->recentlyReceivedMessage_ = false;

View file

@ -131,7 +131,20 @@ void IrcServer::privateMessageReceived(Communi::IrcPrivateMessage *message)
void IrcServer::readConnectionMessageReceived(Communi::IrcMessage *message) void IrcServer::readConnectionMessageReceived(Communi::IrcMessage *message)
{ {
qDebug() << QString(message->toData()); AbstractIrcServer::readConnectionMessageReceived(message);
MessageBuilder builder;
builder.emplace<TimestampElement>();
builder.emplace<TextElement>(message->toData(), MessageElementFlag::Text);
auto msg = builder.release();
for (auto &&weak : this->channels)
{
if (auto shared = weak.lock())
shared->addMessage(msg);
}
} }
} // namespace chatterino } // namespace chatterino

View file

@ -131,6 +131,8 @@ void TwitchIrcServer::privateMessageReceived(
void TwitchIrcServer::readConnectionMessageReceived( void TwitchIrcServer::readConnectionMessageReceived(
Communi::IrcMessage *message) Communi::IrcMessage *message)
{ {
AbstractIrcServer::readConnectionMessageReceived(message);
if (message->type() == Communi::IrcMessage::Type::Private) if (message->type() == Communi::IrcMessage::Type::Private)
{ {
// We already have a handler for private messages // We already have a handler for private messages
@ -287,7 +289,10 @@ std::shared_ptr<Channel> TwitchIrcServer::getChannelOrEmptyByID(
QString TwitchIrcServer::cleanChannelName(const QString &dirtyChannelName) QString TwitchIrcServer::cleanChannelName(const QString &dirtyChannelName)
{ {
return dirtyChannelName.toLower(); if (dirtyChannelName.startsWith('#'))
return dirtyChannelName.mid(1).toLower();
else
return dirtyChannelName.toLower();
} }
bool TwitchIrcServer::hasSeparateWriteConnection() const bool TwitchIrcServer::hasSeparateWriteConnection() const