MCPcopy Create free account
hub / github.com/CommE2E/comm / processRedisMessage

Method processRedisMessage

keyserver/src/socket/socket.js:600–669  ·  view source on GitHub ↗
(message: RedisMessage)

Source from the content-addressed store, hash-verified

598 };
599
600 async processRedisMessage(message: RedisMessage) {
601 if (message.type === redisMessageTypes.START_SUBSCRIPTION) {
602 this.ws.terminate();
603 } else if (message.type === redisMessageTypes.NEW_UPDATES) {
604 const { viewer } = this;
605 invariant(viewer, 'should be set');
606 if (message.ignoreSession && message.ignoreSession === viewer.session) {
607 return;
608 }
609 const rawUpdateInfos = message.updates;
610 this.redisPromiseResolver.add(
611 (async () => {
612 const { updateInfos, userInfos } =
613 await fetchUpdateInfosWithRawUpdateInfos(rawUpdateInfos, {
614 viewer,
615 });
616 if (updateInfos.length === 0) {
617 console.warn(
618 'could not get any UpdateInfos from redisMessageTypes.NEW_UPDATES',
619 );
620 return null;
621 }
622 this.markActivityOccurred();
623 return {
624 type: serverSocketMessageTypes.UPDATES,
625 payload: {
626 updatesResult: {
627 currentAsOf: mostRecentUpdateTimestamp([...updateInfos], 0),
628 newUpdates: updateInfos,
629 },
630 userInfos: values(userInfos),
631 },
632 };
633 })(),
634 );
635 } else if (message.type === redisMessageTypes.NEW_MESSAGES) {
636 const { viewer } = this;
637 invariant(viewer, 'should be set');
638 const rawMessageInfos = message.messages;
639 const messageFetchResult = getMessageFetchResultFromRedisMessages(
640 viewer,
641 rawMessageInfos,
642 );
643 if (messageFetchResult.rawMessageInfos.length === 0) {
644 console.warn(
645 'could not get any rawMessageInfos from ' +
646 'redisMessageTypes.NEW_MESSAGES',
647 );
648 return;
649 }
650 this.redisPromiseResolver.add(
651 (async () => {
652 this.markActivityOccurred();
653 return {
654 type: serverSocketMessageTypes.MESSAGES,
655 payload: {
656 messagesResult: {
657 rawMessageInfos: messageFetchResult.rawMessageInfos,

Callers 1

SocketClass · 0.95

Calls 7

valuesFunction · 0.90
addMethod · 0.65
terminateMethod · 0.45

Tested by

no test coverage detected