Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F32177186
D14334.1765069464.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
17 KB
Referenced Files
None
Subscribers
None
D14334.1765069464.diff
View Options
diff --git a/keyserver/src/creators/message-creator.js b/keyserver/src/creators/message-creator.js
--- a/keyserver/src/creators/message-creator.js
+++ b/keyserver/src/creators/message-creator.js
@@ -11,7 +11,7 @@
shimUnsupportedRawMessageInfos,
stripLocalIDs,
} from 'lib/shared/message-utils.js';
-import { pushTypes } from 'lib/shared/messages/message-spec.js';
+import { messageNotifyTypes } from 'lib/shared/messages/message-spec.js';
import { messageSpecs } from 'lib/shared/messages/message-specs.js';
import { messageTypes } from 'lib/types/message-types-enum.js';
import {
@@ -442,7 +442,7 @@
}
const userPushInfoPromise = generateNotifUserInfoPromise({
- pushType: pushTypes.NOTIF,
+ messageNotifyType: messageNotifyTypes.NOTIF_AND_SET_UNREAD,
devices: userDevices,
newMessageInfos: messageInfos,
messageDatas,
@@ -454,7 +454,7 @@
userID,
});
const userRescindInfoPromise = generateNotifUserInfoPromise({
- pushType: pushTypes.RESCIND,
+ messageNotifyType: messageNotifyTypes.RESCIND,
devices: userDevices,
newMessageInfos: messageInfos,
messageDatas,
diff --git a/lib/push/send-utils.js b/lib/push/send-utils.js
--- a/lib/push/send-utils.js
+++ b/lib/push/send-utils.js
@@ -28,7 +28,7 @@
shimUnsupportedRawMessageInfos,
sortMessageInfoList,
} from '../shared/message-utils.js';
-import { pushTypes } from '../shared/messages/message-spec.js';
+import { messageNotifyTypes } from '../shared/messages/message-spec.js';
import { messageSpecs } from '../shared/messages/message-specs.js';
import {
notifTextsForMessageInfo,
@@ -218,7 +218,7 @@
userPushInfoPromises[userID] = (async () => {
const pushInfosWithoutSubscriptions = await generateNotifUserInfoPromise({
- pushType: pushTypes.NOTIF,
+ messageNotifyType: messageNotifyTypes.NOTIF_AND_SET_UNREAD,
devices: pushUserThreadInfo.devices,
newMessageInfos,
messageDatas,
@@ -240,7 +240,7 @@
userRescindInfoPromises[userID] = (async () => {
const pushInfosWithoutSubscriptions = await generateNotifUserInfoPromise({
- pushType: pushTypes.RESCIND,
+ messageNotifyType: messageNotifyTypes.RESCIND,
devices: pushUserThreadInfo.devices,
newMessageInfos,
messageDatas,
diff --git a/lib/push/utils.js b/lib/push/utils.js
--- a/lib/push/utils.js
+++ b/lib/push/utils.js
@@ -5,7 +5,7 @@
import type { Device, ThreadSubscriptionWithRole } from './send-utils.js';
import { oldValidUsernameRegex } from '../shared/account-utils.js';
import { isUserMentioned } from '../shared/mention-utils.js';
-import { type PushType } from '../shared/messages/message-spec.js';
+import { type MessageNotifyType } from '../shared/messages/message-spec.js';
import { messageSpecs } from '../shared/messages/message-specs.js';
import type { Platform } from '../types/device-types.js';
import { messageTypes } from '../types/message-types-enum.js';
@@ -90,7 +90,7 @@
}
type GenerateNotifUserInfoPromiseInputData = {
- +pushType: PushType,
+ +messageNotifyType: MessageNotifyType,
+devices: $ReadOnlyArray<Device>,
+newMessageInfos: $ReadOnlyArray<RawMessageInfo>,
+messageDatas: $ReadOnlyArray<MessageData>,
@@ -109,7 +109,7 @@
messageInfos: Array<RawMessageInfo>,
}> {
const {
- pushType,
+ messageNotifyType,
devices,
newMessageInfos,
messageDatas,
@@ -139,14 +139,14 @@
}
const { type } = messageInfo;
- const { generatesNotifs } = messageSpecs[type];
+ const { getMessageNotifyType } = messageSpecs[type];
- if (!generatesNotifs) {
+ if (!getMessageNotifyType) {
return undefined;
}
const messageData = messageDatas[messageIndex];
- const doesGenerateNotif = await generatesNotifs(
+ const thisMessageNotifyType = await getMessageNotifyType(
messageInfo,
messageData,
{
@@ -156,7 +156,7 @@
},
);
- return doesGenerateNotif === pushType
+ return thisMessageNotifyType === messageNotifyType
? { messageInfo, messageData }
: undefined;
}),
diff --git a/lib/shared/messages/change-role-message-spec.js b/lib/shared/messages/change-role-message-spec.js
--- a/lib/shared/messages/change-role-message-spec.js
+++ b/lib/shared/messages/change-role-message-spec.js
@@ -6,7 +6,7 @@
type CreateMessageInfoParams,
type MessageSpec,
type NotificationTextsParams,
- pushTypes,
+ messageNotifyTypes,
type RobotextParams,
} from './message-spec.js';
import { joinResult } from './utils.js';
@@ -243,7 +243,7 @@
);
},
- generatesNotifs: async () => pushTypes.NOTIF,
+ getMessageNotifyType: async () => messageNotifyTypes.NOTIF_AND_SET_UNREAD,
canBeSidebarSource: true,
diff --git a/lib/shared/messages/change-settings-message-spec.js b/lib/shared/messages/change-settings-message-spec.js
--- a/lib/shared/messages/change-settings-message-spec.js
+++ b/lib/shared/messages/change-settings-message-spec.js
@@ -5,7 +5,7 @@
import {
type MessageSpec,
type NotificationTextsParams,
- pushTypes,
+ messageNotifyTypes,
type RobotextParams,
} from './message-spec.js';
import { joinResult } from './utils.js';
@@ -190,7 +190,7 @@
);
},
- generatesNotifs: async () => pushTypes.NOTIF,
+ getMessageNotifyType: async () => messageNotifyTypes.NOTIF_AND_SET_UNREAD,
canBeSidebarSource: true,
diff --git a/lib/shared/messages/create-entry-message-spec.js b/lib/shared/messages/create-entry-message-spec.js
--- a/lib/shared/messages/create-entry-message-spec.js
+++ b/lib/shared/messages/create-entry-message-spec.js
@@ -2,7 +2,7 @@
import invariant from 'invariant';
-import { type MessageSpec, pushTypes } from './message-spec.js';
+import { type MessageSpec, messageNotifyTypes } from './message-spec.js';
import { joinResult } from './utils.js';
import { messageTypes } from '../../types/message-types-enum.js';
import type {
@@ -128,7 +128,7 @@
return joinResult(rawMessageInfo.creatorID, rawMessageInfo.entryID);
},
- generatesNotifs: async () => pushTypes.NOTIF,
+ getMessageNotifyType: async () => messageNotifyTypes.NOTIF_AND_SET_UNREAD,
canBeSidebarSource: true,
diff --git a/lib/shared/messages/create-sidebar-message-spec.js b/lib/shared/messages/create-sidebar-message-spec.js
--- a/lib/shared/messages/create-sidebar-message-spec.js
+++ b/lib/shared/messages/create-sidebar-message-spec.js
@@ -6,7 +6,7 @@
type CreateMessageInfoParams,
type MessageSpec,
type NotificationTextsParams,
- pushTypes,
+ messageNotifyTypes,
type RobotextParams,
} from './message-spec.js';
import { joinResult } from './utils.js';
@@ -205,7 +205,7 @@
return joinResult(messageTypes.CREATE_SIDEBAR, rawMessageInfo.threadID);
},
- generatesNotifs: async () => pushTypes.NOTIF,
+ getMessageNotifyType: async () => messageNotifyTypes.NOTIF_AND_SET_UNREAD,
userIDs(
rawMessageInfo: RawCreateSidebarMessageInfo,
diff --git a/lib/shared/messages/create-sub-thread-message-spec.js b/lib/shared/messages/create-sub-thread-message-spec.js
--- a/lib/shared/messages/create-sub-thread-message-spec.js
+++ b/lib/shared/messages/create-sub-thread-message-spec.js
@@ -6,7 +6,7 @@
type CreateMessageInfoParams,
type GeneratesNotifsParams,
type MessageSpec,
- pushTypes,
+ messageNotifyTypes,
} from './message-spec.js';
import { assertSingleMessageInfo } from './utils.js';
import { permissionLookup } from '../../permissions/thread-permissions.js';
@@ -155,15 +155,15 @@
});
},
- generatesNotifs: async (
+ getMessageNotifyType: async (
rawMessageInfo: RawCreateSubthreadMessageInfo,
messageData: CreateSubthreadMessageData,
params: GeneratesNotifsParams,
) => {
const { userNotMemberOfSubthreads } = params;
return userNotMemberOfSubthreads.has(rawMessageInfo.childThreadID)
- ? pushTypes.NOTIF
- : undefined;
+ ? messageNotifyTypes.NOTIF_AND_SET_UNREAD
+ : messageNotifyTypes.SET_UNREAD;
},
threadIDs(
diff --git a/lib/shared/messages/create-thread-message-spec.js b/lib/shared/messages/create-thread-message-spec.js
--- a/lib/shared/messages/create-thread-message-spec.js
+++ b/lib/shared/messages/create-thread-message-spec.js
@@ -5,7 +5,7 @@
import {
type CreateMessageInfoParams,
type MessageSpec,
- pushTypes,
+ messageNotifyTypes,
type RobotextParams,
} from './message-spec.js';
import { assertSingleMessageInfo } from './utils.js';
@@ -205,7 +205,7 @@
};
},
- generatesNotifs: async () => pushTypes.NOTIF,
+ getMessageNotifyType: async () => messageNotifyTypes.NOTIF_AND_SET_UNREAD,
userIDs(rawMessageInfo: RawCreateThreadMessageInfo): $ReadOnlyArray<string> {
return rawMessageInfo.initialThreadState.memberIDs;
diff --git a/lib/shared/messages/delete-entry-message-spec.js b/lib/shared/messages/delete-entry-message-spec.js
--- a/lib/shared/messages/delete-entry-message-spec.js
+++ b/lib/shared/messages/delete-entry-message-spec.js
@@ -2,7 +2,7 @@
import invariant from 'invariant';
-import { type MessageSpec, pushTypes } from './message-spec.js';
+import { type MessageSpec, messageNotifyTypes } from './message-spec.js';
import { assertSingleMessageInfo } from './utils.js';
import { messageTypes } from '../../types/message-types-enum.js';
import type {
@@ -143,7 +143,7 @@
};
},
- generatesNotifs: async () => pushTypes.NOTIF,
+ getMessageNotifyType: async () => messageNotifyTypes.NOTIF_AND_SET_UNREAD,
canBeSidebarSource: true,
diff --git a/lib/shared/messages/edit-entry-message-spec.js b/lib/shared/messages/edit-entry-message-spec.js
--- a/lib/shared/messages/edit-entry-message-spec.js
+++ b/lib/shared/messages/edit-entry-message-spec.js
@@ -2,7 +2,7 @@
import invariant from 'invariant';
-import { type MessageSpec, pushTypes } from './message-spec.js';
+import { type MessageSpec, messageNotifyTypes } from './message-spec.js';
import { joinResult } from './utils.js';
import { messageTypes } from '../../types/message-types-enum.js';
import type {
@@ -128,7 +128,7 @@
return joinResult(rawMessageInfo.creatorID, rawMessageInfo.entryID);
},
- generatesNotifs: async () => pushTypes.NOTIF,
+ getMessageNotifyType: async () => messageNotifyTypes.NOTIF_AND_SET_UNREAD,
canBeSidebarSource: true,
diff --git a/lib/shared/messages/message-spec.js b/lib/shared/messages/message-spec.js
--- a/lib/shared/messages/message-spec.js
+++ b/lib/shared/messages/message-spec.js
@@ -60,11 +60,17 @@
+fetchMessageInfoByID: (messageID: string) => Promise<?RawMessageInfo>,
};
-export const pushTypes = Object.freeze({
- NOTIF: 'notif',
+export const messageNotifyTypes = Object.freeze({
+ // Set the thread as unread and send a push notif
+ NOTIF_AND_SET_UNREAD: 'notif_and_set_unread',
+ // Set the thread as unread but don't send a push notif. This is the default
+ SET_UNREAD: 'set_unread',
+ // Do not set the thread as unread and don't send a push notif
+ NONE: 'none',
+ // Sescind all notifs with a matching notificationCollapseKey
RESCIND: 'rescind',
});
-export type PushType = $Values<typeof pushTypes>;
+export type MessageNotifyType = $Values<typeof messageNotifyTypes>;
export type CreationSideEffectsFunc<RawInfo> = (
messageInfo: RawInfo,
@@ -117,11 +123,11 @@
rawMessageInfo: RawInfo,
messageData: Data,
) => ?string,
- +generatesNotifs?: (
+ +getMessageNotifyType?: (
rawMessageInfo: RawInfo,
messageData: Data,
params: GeneratesNotifsParams,
- ) => Promise<?PushType>,
+ ) => Promise<MessageNotifyType>,
+userIDs?: (rawMessageInfo: RawInfo) => $ReadOnlyArray<string>,
+startsThread?: boolean,
+threadIDs?: (rawMessageInfo: RawInfo) => $ReadOnlyArray<string>,
diff --git a/lib/shared/messages/multimedia-message-spec.js b/lib/shared/messages/multimedia-message-spec.js
--- a/lib/shared/messages/multimedia-message-spec.js
+++ b/lib/shared/messages/multimedia-message-spec.js
@@ -5,7 +5,7 @@
import {
type MessageSpec,
type MessageTitleParam,
- pushTypes,
+ messageNotifyTypes,
type RawMessageInfoFromServerDBRowParams,
} from './message-spec.js';
import { joinResult } from './utils.js';
@@ -354,10 +354,13 @@
);
},
- generatesNotifs: async (
+ getMessageNotifyType: async (
rawMessageInfo: RawMediaMessageInfo | RawImagesMessageInfo,
messageData: MediaMessageData | ImagesMessageData,
- ) => (messageData.sidebarCreation ? undefined : pushTypes.NOTIF),
+ ) =>
+ messageData.sidebarCreation
+ ? messageNotifyTypes.SET_UNREAD
+ : messageNotifyTypes.NOTIF_AND_SET_UNREAD,
includedInRepliesCount: true,
diff --git a/lib/shared/messages/reaction-message-spec.js b/lib/shared/messages/reaction-message-spec.js
--- a/lib/shared/messages/reaction-message-spec.js
+++ b/lib/shared/messages/reaction-message-spec.js
@@ -6,7 +6,7 @@
type GeneratesNotifsParams,
type MessageSpec,
type MessageTitleParam,
- pushTypes,
+ messageNotifyTypes,
} from './message-spec.js';
import { assertSingleMessageInfo, joinResult } from './utils.js';
import type { PlatformDetails } from '../../types/device-types.js';
@@ -200,7 +200,7 @@
);
},
- generatesNotifs: async (
+ getMessageNotifyType: async (
rawMessageInfo: RawReactionMessageInfo,
messageData: ReactionMessageData,
params: GeneratesNotifsParams,
@@ -213,9 +213,11 @@
);
if (targetMessageInfo?.creatorID !== notifTargetUserID) {
- return undefined;
+ return messageNotifyTypes.SET_UNREAD;
}
- return action === 'add_reaction' ? pushTypes.NOTIF : pushTypes.RESCIND;
+ return action === 'add_reaction'
+ ? messageNotifyTypes.NOTIF_AND_SET_UNREAD
+ : messageNotifyTypes.RESCIND;
},
canBeSidebarSource: false,
diff --git a/lib/shared/messages/restore-entry-message-spec.js b/lib/shared/messages/restore-entry-message-spec.js
--- a/lib/shared/messages/restore-entry-message-spec.js
+++ b/lib/shared/messages/restore-entry-message-spec.js
@@ -2,7 +2,7 @@
import invariant from 'invariant';
-import { type MessageSpec, pushTypes } from './message-spec.js';
+import { type MessageSpec, messageNotifyTypes } from './message-spec.js';
import { assertSingleMessageInfo } from './utils.js';
import { messageTypes } from '../../types/message-types-enum.js';
import type {
@@ -143,7 +143,7 @@
};
},
- generatesNotifs: async () => pushTypes.NOTIF,
+ getMessageNotifyType: async () => messageNotifyTypes.NOTIF_AND_SET_UNREAD,
canBeSidebarSource: true,
diff --git a/lib/shared/messages/sidebar-source-message-spec.js b/lib/shared/messages/sidebar-source-message-spec.js
--- a/lib/shared/messages/sidebar-source-message-spec.js
+++ b/lib/shared/messages/sidebar-source-message-spec.js
@@ -3,7 +3,7 @@
import invariant from 'invariant';
import {
- pushTypes,
+ messageNotifyTypes,
type CreateMessageInfoParams,
type MessageSpec,
type RawMessageInfoFromServerDBRowParams,
@@ -141,7 +141,7 @@
return joinResult(messageTypes.CREATE_SIDEBAR, rawMessageInfo.threadID);
},
- generatesNotifs: async () => pushTypes.NOTIF,
+ getMessageNotifyType: async () => messageNotifyTypes.NOTIF_AND_SET_UNREAD,
startsThread: true,
diff --git a/lib/shared/messages/text-message-spec.js b/lib/shared/messages/text-message-spec.js
--- a/lib/shared/messages/text-message-spec.js
+++ b/lib/shared/messages/text-message-spec.js
@@ -6,7 +6,7 @@
import {
type MessageSpec,
type NotificationTextsParams,
- pushTypes,
+ messageNotifyTypes,
type RawMessageInfoFromServerDBRowParams,
} from './message-spec.js';
import { assertSingleMessageInfo, joinResult } from './utils.js';
@@ -289,7 +289,7 @@
return joinResult(messageTypes.CREATE_SIDEBAR, rawMessageInfo.threadID);
},
- generatesNotifs: async () => pushTypes.NOTIF,
+ getMessageNotifyType: async () => messageNotifyTypes.NOTIF_AND_SET_UNREAD,
includedInRepliesCount: true,
diff --git a/lib/shared/messages/unsupported-message-spec.js b/lib/shared/messages/unsupported-message-spec.js
--- a/lib/shared/messages/unsupported-message-spec.js
+++ b/lib/shared/messages/unsupported-message-spec.js
@@ -2,7 +2,7 @@
import invariant from 'invariant';
-import { pushTypes, type MessageSpec } from './message-spec.js';
+import { messageNotifyTypes, type MessageSpec } from './message-spec.js';
import { messageTypes } from '../../types/message-types-enum.js';
import type { ClientDBMessageInfo } from '../../types/message-types.js';
import {
@@ -72,7 +72,7 @@
return ET`${creator} ${messageInfo.robotext}`;
},
- generatesNotifs: async () => pushTypes.NOTIF,
+ getMessageNotifyType: async () => messageNotifyTypes.NOTIF_AND_SET_UNREAD,
canBeSidebarSource: true,
diff --git a/lib/shared/messages/update-relationship-message-spec.js b/lib/shared/messages/update-relationship-message-spec.js
--- a/lib/shared/messages/update-relationship-message-spec.js
+++ b/lib/shared/messages/update-relationship-message-spec.js
@@ -7,7 +7,7 @@
type CreateMessageInfoParams,
type MessageSpec,
type MergeRobotextMessageItemResult,
- pushTypes,
+ messageNotifyTypes,
} from './message-spec.js';
import { assertSingleMessageInfo } from './utils.js';
import type { RobotextChatMessageInfoItem } from '../../selectors/chat-selectors.js';
@@ -349,7 +349,7 @@
return { merged, body, title, prefix };
},
- generatesNotifs: async () => pushTypes.NOTIF,
+ getMessageNotifyType: async () => messageNotifyTypes.NOTIF_AND_SET_UNREAD,
canBeSidebarSource: true,
diff --git a/native/types/message-types-validator.js b/native/types/message-types-validator.js
--- a/native/types/message-types-validator.js
+++ b/native/types/message-types-validator.js
@@ -12,7 +12,7 @@
for (const messageName in messageTypes) {
const messageType = messageTypes[messageName];
if (
- messageSpecs[messageType]?.generatesNotifs &&
+ messageSpecs[messageType]?.getMessageNotifyType &&
!messageTypesCpp.has(messageType)
) {
missingMessageTypesCpp.push(messageName);
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sun, Dec 7, 1:04 AM (7 h, 46 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5841815
Default Alt Text
D14334.1765069464.diff (17 KB)
Attached To
Mode
D14334: [lib][keyserver][native] Renames to prepare for some robotext not setting thread to unread
Attached
Detach File
Event Timeline
Log In to Comment