Skip to content

Commit

Permalink
Regression: Validate empty fields for Message template (#25250)
Browse files Browse the repository at this point in the history
* Remove null values from messa list

* fix order

* Fix

* Fix type

* review
  • Loading branch information
gabriellsh committed Apr 27, 2022
1 parent b92d156 commit 80c8f9d
Showing 1 changed file with 28 additions and 1 deletion.
29 changes: 28 additions & 1 deletion apps/meteor/client/views/room/MessageList/hooks/useMessages.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,33 @@ const options = {
},
};

// In a previous version of the app, some values were being set to null.
// This is a workaround to remove those null values.
// A migration script should be created to remove this code.
const removePossibleNullValues = ({
editedBy,
editedAt,
emoji,
avatar,
alias,
customFields,
groupable,
attachments,
reactions,
...message
}: any): IMessage => ({
...message,
...(editedBy !== null && { editedBy }),
...(editedAt !== null && { editedAt }),
...(emoji !== null && { emoji }),
...(avatar !== null && { avatar }),
...(alias !== null && { alias }),
...(customFields !== null && { customFields }),
...(groupable !== null && { groupable }),
...(attachments !== null && { attachments }),
...(reactions !== null && { reactions }),
});

export const useMessages = ({ rid }: { rid: IRoom['_id'] }): IMessage[] => {
const showInMainThread = useUserPreference<boolean>('showMessageInMainThread', false);
// const hideSettings = !!useSetting('Hide_System_Messages');
Expand All @@ -35,5 +62,5 @@ export const useMessages = ({ rid }: { rid: IRoom['_id'] }): IMessage[] => {
// query.t = { $nin: Array.from(hideMessagesOfType.values()) };
// }

return useReactiveValue<IMessage[]>(useCallback(() => ChatMessage.find(query, options).fetch(), [query]));
return useReactiveValue<IMessage[]>(useCallback(() => ChatMessage.find(query, options).fetch().map(removePossibleNullValues), [query]));
};

0 comments on commit 80c8f9d

Please sign in to comment.