Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F33035860
D8103.1768409154.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
4 KB
Referenced Files
None
Subscribers
None
D8103.1768409154.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
@@ -456,6 +456,9 @@
}
const { generatesNotifs } = messageSpecs[type];
const messageData = messageDatas[messageIndex];
+ if (!generatesNotifs) {
+ return undefined;
+ }
const doesGenerateNotif = await generatesNotifs(
messageInfo,
messageData,
diff --git a/lib/shared/messages/add-members-message-spec.js b/lib/shared/messages/add-members-message-spec.js
--- a/lib/shared/messages/add-members-message-spec.js
+++ b/lib/shared/messages/add-members-message-spec.js
@@ -152,8 +152,6 @@
);
},
- generatesNotifs: async () => undefined,
-
userIDs(rawMessageInfo: RawAddMembersMessageInfo): $ReadOnlyArray<string> {
return rawMessageInfo.addedUserIDs;
},
diff --git a/lib/shared/messages/edit-message-spec.js b/lib/shared/messages/edit-message-spec.js
--- a/lib/shared/messages/edit-message-spec.js
+++ b/lib/shared/messages/edit-message-spec.js
@@ -140,7 +140,5 @@
return unwrapped;
},
- generatesNotifs: async () => undefined,
-
validator: rawEditMessageInfoValidator,
});
diff --git a/lib/shared/messages/join-thread-message-spec.js b/lib/shared/messages/join-thread-message-spec.js
--- a/lib/shared/messages/join-thread-message-spec.js
+++ b/lib/shared/messages/join-thread-message-spec.js
@@ -119,7 +119,5 @@
return joinResult(rawMessageInfo.type, rawMessageInfo.threadID);
},
- generatesNotifs: async () => undefined,
-
validator: rawJoinThreadMessageInfoValidator,
});
diff --git a/lib/shared/messages/leave-thread-message-spec.js b/lib/shared/messages/leave-thread-message-spec.js
--- a/lib/shared/messages/leave-thread-message-spec.js
+++ b/lib/shared/messages/leave-thread-message-spec.js
@@ -119,7 +119,5 @@
return joinResult(rawMessageInfo.type, rawMessageInfo.threadID);
},
- generatesNotifs: async () => undefined,
-
validator: rawLeaveThreadMessageInfoValidator,
});
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
@@ -106,7 +106,7 @@
rawMessageInfo: RawInfo,
messageData: Data,
) => ?string,
- +generatesNotifs: (
+ +generatesNotifs?: (
rawMessageInfo: RawInfo,
messageData: Data,
params: GeneratesNotifsParams,
diff --git a/lib/shared/messages/remove-members-message-spec.js b/lib/shared/messages/remove-members-message-spec.js
--- a/lib/shared/messages/remove-members-message-spec.js
+++ b/lib/shared/messages/remove-members-message-spec.js
@@ -152,8 +152,6 @@
);
},
- generatesNotifs: async () => undefined,
-
userIDs(rawMessageInfo: RawRemoveMembersMessageInfo): $ReadOnlyArray<string> {
return rawMessageInfo.removedUserIDs;
},
diff --git a/lib/shared/messages/toggle-pin-message-spec.js b/lib/shared/messages/toggle-pin-message-spec.js
--- a/lib/shared/messages/toggle-pin-message-spec.js
+++ b/lib/shared/messages/toggle-pin-message-spec.js
@@ -155,7 +155,5 @@
return unwrapped;
},
- generatesNotifs: async () => undefined,
-
validator: rawTogglePinMessageInfoValidator,
});
diff --git a/native/root.react.js b/native/root.react.js
--- a/native/root.react.js
+++ b/native/root.react.js
@@ -60,6 +60,7 @@
// Add custom items to expo-dev-menu
import './dev-menu.js';
+import './types/message-types-validator.js';
if (Platform.OS === 'android') {
UIManager.setLayoutAnimationEnabledExperimental &&
diff --git a/native/types/message-types-validator.js b/native/types/message-types-validator.js
new file mode 100644
--- /dev/null
+++ b/native/types/message-types-validator.js
@@ -0,0 +1,29 @@
+// @flow
+import { Alert } from 'react-native';
+
+import { messageSpecs } from 'lib/shared/messages/message-specs.js';
+import { messageTypes } from 'lib/types/message-types-enum.js';
+
+import { commConstants } from '../native-modules.js';
+
+if (__DEV__) {
+ const messageTypesCpp = new Set(commConstants.NATIVE_MESSAGE_TYPES);
+ const missingMessageTypesCpp = [];
+ for (const messageName in messageTypes) {
+ const messageType = messageTypes[messageName];
+ if (
+ messageSpecs[messageType]?.generatesNotifs &&
+ !messageTypesCpp.has(messageType)
+ ) {
+ missingMessageTypesCpp.push(messageName);
+ }
+ }
+
+ if (missingMessageTypesCpp.length !== 0) {
+ Alert.alert(
+ 'C++ MessageSpecs missing',
+ 'C++ MessageSpec implementation missing for message types: ' +
+ missingMessageTypesCpp.join(', '),
+ );
+ }
+}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Jan 14, 4:45 PM (7 h, 6 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5931004
Default Alt Text
D8103.1768409154.diff (4 KB)
Attached To
Mode
D8103: Implement message typoes validator and import it in root.react.js for side effect
Attached
Detach File
Event Timeline
Log In to Comment