From b8c42a9eb7253f28ff24859c175e4884b831eca7 Mon Sep 17 00:00:00 2001 From: csoler Date: Tue, 23 Feb 2016 22:43:13 -0500 Subject: [PATCH] added copy of previous subscription flags when group update is received. Avoids unsubscribing friends when publishing an update to grp metadata --- libretroshare/src/gxs/rsgenexchange.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libretroshare/src/gxs/rsgenexchange.cc b/libretroshare/src/gxs/rsgenexchange.cc index ee67a0f7e..1ba979ae0 100644 --- a/libretroshare/src/gxs/rsgenexchange.cc +++ b/libretroshare/src/gxs/rsgenexchange.cc @@ -2331,7 +2331,6 @@ void RsGenExchange::publishGrps() { grp->metaData = new RsGxsGrpMetaData(); grpItem->meta.mPublishTs = time(NULL); - //grpItem->meta.mParentGrpId = std::string("empty"); *(grp->metaData) = grpItem->meta; // TODO: change when publish key optimisation added (public groups don't have publish key @@ -2927,6 +2926,11 @@ void RsGenExchange::performUpdateValidation() if(gu.newGrp->metaData->mCircleType == GXS_CIRCLE_TYPE_YOUREYESONLY) gu.newGrp->metaData->mOriginator = gu.newGrp->PeerId(); + // Keep subscriptionflag to what it was. This avoids clearing off the flag when updates to group meta information + // is received. + + gu.newGrp->metaData->mSubscribeFlags = gu.oldGrpMeta->mSubscribeFlags ; + grps.insert(std::make_pair(gu.newGrp, gu.newGrp->metaData)); } else