added warnign when notified CircleMsg cannot be retrieved from DB

This commit is contained in:
csoler 2020-05-02 15:48:38 +02:00
parent 32baccae97
commit efb26ce9c0
No known key found for this signature in database
GPG Key ID: 7BCA522266C0804C
2 changed files with 24 additions and 19 deletions

View File

@ -559,22 +559,25 @@ void p3GxsCircles::notifyChanges(std::vector<RsGxsNotify *> &changes)
for (auto msgIdIt(mit->second.begin()), end(mit->second.end()); msgIdIt != end; ++msgIdIt) for (auto msgIdIt(mit->second.begin()), end(mit->second.end()); msgIdIt != end; ++msgIdIt)
{ {
RsGxsCircleMsg msg; RsGxsCircleMsg msg;
getCircleRequest(RsGxsGroupId(circle_id),*msgIdIt,msg); if(getCircleRequest(RsGxsGroupId(circle_id),*msgIdIt,msg))
{
auto ev = std::make_shared<RsGxsCircleEvent>();
ev->mCircleId = circle_id;
ev->mGxsId = msg.mMeta.mAuthorId;
auto ev = std::make_shared<RsGxsCircleEvent>(); if (msg.stuff == "SUBSCRIPTION_REQUEST_UNSUBSCRIBE")
ev->mCircleId = circle_id; {
ev->mGxsId = msg.mMeta.mAuthorId; ev->mCircleEventType = RsGxsCircleEventCode::CIRCLE_MEMBERSHIP_LEAVE;
rsEvents->postEvent(ev);
if (msg.stuff == "SUBSCRIPTION_REQUEST_UNSUBSCRIBE") }
{ else if(msg.stuff == "SUBSCRIPTION_REQUEST_SUBSCRIBE")
ev->mCircleEventType = RsGxsCircleEventCode::CIRCLE_MEMBERSHIP_LEAVE; {
rsEvents->postEvent(ev); ev->mCircleEventType = RsGxsCircleEventCode::CIRCLE_MEMBERSHIP_REQUEST;
} rsEvents->postEvent(ev);
else if(msg.stuff == "SUBSCRIPTION_REQUEST_SUBSCRIBE") }
{ }
ev->mCircleEventType = RsGxsCircleEventCode::CIRCLE_MEMBERSHIP_REQUEST; else
rsEvents->postEvent(ev); RsErr()<< __PRETTY_FUNCTION__<<" Cannot request CircleMsg " << *msgIdIt << ". Db not ready?" << std::endl;
}
} }
mCircleCache.erase(circle_id); mCircleCache.erase(circle_id);

View File

@ -271,21 +271,23 @@ void PeopleDialog::insertCircles(uint32_t token)
std::list<RsGroupMetaData> gSummaryList; std::list<RsGroupMetaData> gSummaryList;
std::list<RsGroupMetaData>::iterator gsIt; std::list<RsGroupMetaData>::iterator gsIt;
if (!rsGxsCircles->getGroupSummary(token,gSummaryList)) { if (!rsGxsCircles->getGroupSummary(token,gSummaryList))
{
std::cerr << "PeopleDialog::insertExtCircles() Error getting GroupSummary"; std::cerr << "PeopleDialog::insertExtCircles() Error getting GroupSummary";
std::cerr << std::endl; std::cerr << std::endl;
return; return;
}//if (!rsGxsCircles->getGroupSummary(token,gSummaryList)) }
for(gsIt = gSummaryList.begin(); gsIt != gSummaryList.end(); ++gsIt) { for(gsIt = gSummaryList.begin(); gsIt != gSummaryList.end(); ++gsIt) {
RsGroupMetaData gsItem = (*gsIt); RsGroupMetaData gsItem = (*gsIt);
RsGxsCircleDetails details ; RsGxsCircleDetails details ;
if(!rsGxsCircles->getCircleDetails(RsGxsCircleId(gsItem.mGroupId), details)){ if(!rsGxsCircles->getCircleDetails(RsGxsCircleId(gsItem.mGroupId), details))
{
std::cerr << "(EE) Cannot get details for circle id " << gsItem.mGroupId << ". Circle item is not created!" << std::endl; std::cerr << "(EE) Cannot get details for circle id " << gsItem.mGroupId << ". Circle item is not created!" << std::endl;
continue ; continue ;
}//if(!rsGxsCircles->getCircleDetails(RsGxsCircleId(git->mGroupId), details)) }
if (details.mCircleType != RsGxsCircleType::EXTERNAL) if (details.mCircleType != RsGxsCircleType::EXTERNAL)
{ {