debugging vanished messages
This commit is contained in:
parent
f313c72a97
commit
eba33bea8a
8 changed files with 53 additions and 17 deletions
|
@ -1,5 +1,5 @@
|
|||
#include "account.h"
|
||||
#include <qxmpp/QXmppMessage.h>
|
||||
#include <QXmppMessage.h>
|
||||
#include <QDateTime>
|
||||
#include <QTimer>
|
||||
|
||||
|
@ -48,6 +48,7 @@ Account::Account(const QString& p_login, const QString& p_server, const QString&
|
|||
|
||||
client.addExtension(am);
|
||||
|
||||
QObject::connect(am, SIGNAL(logMessage(QXmppLogger::MessageType, const QString&)), this, SLOT(onMamLog(QXmppLogger::MessageType, const QString)));
|
||||
QObject::connect(am, SIGNAL(archivedMessageReceived(const QString&, const QXmppMessage&)), this, SLOT(onMamMessageReceived(const QString&, const QXmppMessage&)));
|
||||
QObject::connect(am, SIGNAL(resultsRecieved(const QString&, const QXmppResultSetReply&, bool)),
|
||||
this, SLOT(onMamResultsReceived(const QString&, const QXmppResultSetReply&, bool)));
|
||||
|
@ -395,7 +396,13 @@ void Core::Account::onMessageReceived(const QXmppMessage& msg)
|
|||
break;
|
||||
}
|
||||
if (!handled) {
|
||||
qDebug() << "Message wasn't handled: ";
|
||||
logMessage(msg);
|
||||
}
|
||||
}
|
||||
|
||||
void Core::Account::logMessage(const QXmppMessage& msg, const QString& reason)
|
||||
{
|
||||
qDebug() << reason;
|
||||
qDebug() << "- from: " << msg.from();
|
||||
qDebug() << "- to: " << msg.to();
|
||||
qDebug() << "- body: " << msg.body();
|
||||
|
@ -410,9 +417,9 @@ void Core::Account::onMessageReceived(const QXmppMessage& msg)
|
|||
qDebug() << "- thread: " << msg.thread();
|
||||
qDebug() << "- isMarkable: " << msg.isMarkable();
|
||||
qDebug() << "==============================";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
QString Core::Account::getFullJid() const
|
||||
{
|
||||
return getLogin() + "@" + getServer() + "/" + getResource();
|
||||
|
@ -512,6 +519,8 @@ void Core::Account::onMamMessageReceived(const QString& queryId, const QXmppMess
|
|||
QString jid = itr->second;
|
||||
std::map<QString, Contact*>::const_iterator citr = contacts.find(jid);
|
||||
|
||||
logMessage(msg, "MAM MESSAGE:");
|
||||
|
||||
if (citr != contacts.end()) {
|
||||
Contact* cnt = citr->second;
|
||||
if (msg.id().size() > 0 && msg.body().size() > 0) {
|
||||
|
@ -567,7 +576,7 @@ void Core::Account::onContactNeedHistory(const QString& before, const QString& a
|
|||
query.setAfter(after);
|
||||
}
|
||||
|
||||
qDebug() << "Remote query from\"" << after << "\", to" << before;
|
||||
qDebug() << "Remote query from" << after << ", to" << before;
|
||||
|
||||
QString q = am->retrieveArchivedMessages("", "", contact->jid, QDateTime(), QDateTime(), query);
|
||||
achiveQueries.insert(std::make_pair(q, contact->jid));
|
||||
|
@ -578,6 +587,16 @@ void Core::Account::onMamResultsReceived(const QString& queryId, const QXmppResu
|
|||
{
|
||||
std::map<QString, QString>::const_iterator itr = achiveQueries.find(queryId);
|
||||
QString jid = itr->second;
|
||||
|
||||
|
||||
qDebug() << "MAM RESULTS:";
|
||||
qDebug() << "complete:" << complete;
|
||||
qDebug() << "count:" << resultSetReply.count();
|
||||
qDebug() << "first:" << resultSetReply.first();
|
||||
qDebug() << "last:" << resultSetReply.last();
|
||||
qDebug() << "index:" << resultSetReply.index();
|
||||
qDebug() << "isNull:" << resultSetReply.isNull();
|
||||
|
||||
achiveQueries.erase(itr);
|
||||
std::map<QString, Contact*>::const_iterator citr = contacts.find(jid);
|
||||
if (citr != contacts.end()) {
|
||||
|
@ -588,6 +607,12 @@ void Core::Account::onMamResultsReceived(const QString& queryId, const QXmppResu
|
|||
}
|
||||
}
|
||||
|
||||
void Core::Account::onMamLog(QXmppLogger::MessageType type, const QString& msg)
|
||||
{
|
||||
qDebug() << "MAM MESSAGE LOG::";
|
||||
qDebug() << msg;
|
||||
}
|
||||
|
||||
void Core::Account::onContactGroupAdded(const QString& group)
|
||||
{
|
||||
Contact* contact = static_cast<Contact*>(sender());
|
||||
|
|
|
@ -5,10 +5,10 @@
|
|||
#include <map>
|
||||
#include <set>
|
||||
|
||||
#include <qxmpp/QXmppRosterManager.h>
|
||||
#include <qxmpp/QXmppCarbonManager.h>
|
||||
#include <qxmpp/QXmppMamManager.h>
|
||||
#include <qxmpp/QXmppClient.h>
|
||||
#include <QXmppRosterManager.h>
|
||||
#include <QXmppCarbonManager.h>
|
||||
#include <QXmppMamManager.h>
|
||||
#include <QXmppClient.h>
|
||||
#include "../global.h"
|
||||
#include "contact.h"
|
||||
|
||||
|
@ -107,6 +107,8 @@ private slots:
|
|||
void onContactSubscriptionStateChanged(Shared::SubscriptionState state);
|
||||
void onContactHistoryResponse(const std::list<Shared::Message>& list);
|
||||
void onContactNeedHistory(const QString& before, const QString& after);
|
||||
|
||||
void onMamLog(QXmppLogger::MessageType type, const QString &msg);
|
||||
|
||||
private:
|
||||
void addedAccount(const QString &bareJid);
|
||||
|
@ -116,6 +118,7 @@ private:
|
|||
void removeFromGroup(const QString& jid, const QString& group);
|
||||
void initializeMessage(Shared::Message& target, const QXmppMessage& source, bool outgoing = false, bool forwarded = false, bool guessing = false) const;
|
||||
Shared::SubscriptionState castSubscriptionState(QXmppRosterIq::Item::SubscriptionType qs) const;
|
||||
void logMessage(const QXmppMessage& msg, const QString& reason = "Message wasn't handled: ");
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -110,7 +110,7 @@ unsigned int Core::Contact::groupsCount() const
|
|||
void Core::Contact::addMessageToArchive(const Shared::Message& msg)
|
||||
{
|
||||
if (msg.getId().size() > 0 && msg.getBody().size() > 0) {
|
||||
hisoryCache.emplace_back(msg);
|
||||
hisoryCache.push_back(msg);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -219,13 +219,13 @@ void Core::Contact::appendMessageToArchive(const Shared::Message& msg)
|
|||
case empty:
|
||||
if (archive->addElement(msg)) {
|
||||
archiveState = end;
|
||||
};
|
||||
}
|
||||
if (!syncronizing) {
|
||||
requestHistory(-1, id);
|
||||
}
|
||||
break;
|
||||
case beginning:
|
||||
appendCache.emplace_back(msg);
|
||||
appendCache.push_back(msg);
|
||||
if (!syncronizing) {
|
||||
requestHistory(-1, id);
|
||||
}
|
||||
|
@ -234,7 +234,7 @@ void Core::Contact::appendMessageToArchive(const Shared::Message& msg)
|
|||
archive->addElement(msg);
|
||||
break;
|
||||
case chunk:
|
||||
appendCache.emplace_back(msg);
|
||||
appendCache.push_back(msg);
|
||||
if (!syncronizing) {
|
||||
requestHistory(-1, id);
|
||||
}
|
||||
|
@ -299,8 +299,10 @@ void Core::Contact::flushMessagesToArchive(bool finished, const QString& firstId
|
|||
std::list<Shared::Message> arc = archive->getBefore(requestedCount - responseCache.size(), before);
|
||||
responseCache.insert(responseCache.begin(), arc.begin(), arc.end());
|
||||
found = true;
|
||||
} catch (Archive::NotFound e) {}
|
||||
if (!found || requestedCount < responseCache.size()) {
|
||||
} catch (Archive::NotFound e) {
|
||||
|
||||
}
|
||||
if (!found || requestedCount > responseCache.size()) {
|
||||
if (archiveState == complete) {
|
||||
nextRequest();
|
||||
} else {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue