From 048192ee9c13821eaaff07c9272c4da312e27a1c Mon Sep 17 00:00:00 2001 From: csoler Date: Thu, 14 Apr 2016 23:47:42 -0400 Subject: [PATCH] added mOriginator to CircleCache entry and auto-ask for unknown GXS ids to the friend who supplied the circle group --- libretroshare/src/gxs/rsgenexchange.cc | 4 ++-- libretroshare/src/services/p3gxscircles.cc | 4 +++- libretroshare/src/services/p3gxscircles.h | 2 ++ retroshare-gui/src/gui/Identity/IdDialog.cpp | 12 ++---------- 4 files changed, 9 insertions(+), 13 deletions(-) diff --git a/libretroshare/src/gxs/rsgenexchange.cc b/libretroshare/src/gxs/rsgenexchange.cc index c1e2dd116..468792b18 100644 --- a/libretroshare/src/gxs/rsgenexchange.cc +++ b/libretroshare/src/gxs/rsgenexchange.cc @@ -2840,8 +2840,8 @@ void RsGenExchange::processRecvdGroups() // now check if group already existss if(std::find(existingGrpIds.begin(), existingGrpIds.end(), grp->grpId) == existingGrpIds.end()) { - if(meta->mCircleType == GXS_CIRCLE_TYPE_YOUREYESONLY) - meta->mOriginator = grp->PeerId(); + //if(meta->mCircleType == GXS_CIRCLE_TYPE_YOUREYESONLY) + meta->mOriginator = grp->PeerId(); meta->mSubscribeFlags = GXS_SERV::GROUP_SUBSCRIBE_NOT_SUBSCRIBED; diff --git a/libretroshare/src/services/p3gxscircles.cc b/libretroshare/src/services/p3gxscircles.cc index 17cf3efd9..d70e4cd3e 100644 --- a/libretroshare/src/services/p3gxscircles.cc +++ b/libretroshare/src/services/p3gxscircles.cc @@ -37,7 +37,6 @@ /**** * #define DEBUG_CIRCLES 1 ****/ -#define DEBUG_CIRCLES 1 RsGxsCircles *rsGxsCircles = NULL; @@ -978,6 +977,7 @@ bool p3GxsCircles::cache_load_for_token(uint32_t token) RsGxsCircleCache &cache = it->second; cache.loadBaseCircle(group); + cache.mOriginator = item->meta.mOriginator ; delete item; @@ -1043,6 +1043,8 @@ bool p3GxsCircles::cache_load_for_token(uint32_t token) #endif std::list peers; + peers.push_back(cache.mOriginator) ; + mIdentities->requestKey(*pit, peers); /* store in to_process queue. */ diff --git a/libretroshare/src/services/p3gxscircles.h b/libretroshare/src/services/p3gxscircles.h index 2ad9934b6..f17f7dc12 100644 --- a/libretroshare/src/services/p3gxscircles.h +++ b/libretroshare/src/services/p3gxscircles.h @@ -156,6 +156,8 @@ class RsGxsCircleCache std::set mAllowedAnonPeers; std::map > mAllowedSignedPeers; + + RsPeerId mOriginator ; // peer who sent the data, in case we need to ask for ids }; diff --git a/retroshare-gui/src/gui/Identity/IdDialog.cpp b/retroshare-gui/src/gui/Identity/IdDialog.cpp index 22c8571e5..bcf87ef8b 100644 --- a/retroshare-gui/src/gui/Identity/IdDialog.cpp +++ b/retroshare-gui/src/gui/Identity/IdDialog.cpp @@ -882,9 +882,6 @@ bool IdDialog::fillIdListItem(const RsGxsIdGroup& data, QTreeWidgetItem *&item, item->setToolTip(RSID_COL_IDTYPE, tooltip) ; } -#ifdef ID_DEBUG - std::cerr << "Setting item image : " << pixmap.width() << " x " << pixmap.height() << std::endl; -#endif QPixmap pixmap ; if(data.mImage.mSize == 0 || !pixmap.loadFromData(data.mImage.mData, data.mImage.mSize, "PNG")) @@ -1119,7 +1116,7 @@ void IdDialog::insertIdDetails(uint32_t token) pixmap = QPixmap::fromImage(GxsIdDetails::makeDefaultIcon(RsGxsId(data.mMeta.mGroupId))) ; #ifdef ID_DEBUG - std::cerr << "Setting header frame image : " << pix.width() << " x " << pix.height() << std::endl; + std::cerr << "Setting header frame image : " << pixmap.width() << " x " << pixmap.height() << std::endl; #endif ui->avlabel->setPixmap(pixmap); @@ -1263,7 +1260,7 @@ void IdDialog::modifyReputation() rsReputations->setOwnOpinion(id,op) ; #ifdef ID_DEBUG - std::cerr << "IdDialog::modifyReputation() ID: " << id << " Mod: " << mod; + std::cerr << "IdDialog::modifyReputation() ID: " << id << " Mod: " << op; std::cerr << std::endl; #endif @@ -1281,11 +1278,6 @@ void IdDialog::modifyReputation() } #endif -#ifdef ID_DEBUG - std::cerr << "IdDialog::modifyReputation() queuingRequest(), token: " << token; - std::cerr << std::endl; -#endif - // trigger refresh when finished. // basic / anstype are not needed. requestIdDetails();