diff --git a/lib/shared/dm-ops/change-thread-subscription.js b/lib/shared/dm-ops/change-thread-subscription.js --- a/lib/shared/dm-ops/change-thread-subscription.js +++ b/lib/shared/dm-ops/change-thread-subscription.js @@ -23,6 +23,13 @@ const threadInfo = utilities.threadInfos[threadID]; invariant(threadInfo.thick, 'Thread should be thick'); + if (threadInfo.timestamps.members[creatorID].subscription > time) { + return { + updateInfos: [], + rawMessageInfos: [], + }; + } + const creatorMemberInfo = threadInfo.members.find( member => member.id === creatorID, ); @@ -39,6 +46,16 @@ const threadInfoUpdate = { ...threadInfo, members: membersUpdate, + timestamps: { + ...threadInfo.timestamps, + members: { + ...threadInfo.timestamps.members, + [creatorID]: { + ...threadInfo.timestamps.members[creatorID], + subscription: time, + }, + }, + }, }; const updateInfos: Array = [ {