Fix getRelationsForEvent
under TypeScript strict
mode (#9558)
* Fix getRelationsForEvent tsc strictness * Use shared type for GetRelationsForEvent * Fix lint * Add alternative type * getRelationsForEvent is not required * Relations are optional * Reactions are optional * We expect relations in these tests * Add more protection if the eventID is not defined * Allow null too * Better test typing * User ID is not necessary unless something is selected * It's okay to [].includes(null) * Null is as good as undefined here * Null or undefined is good here * We have some expectations for the tests * The room and user can be undefined too * Protec * Reactions are optional * Try match signatures * Null or undefined * More null or undefined * Protec * Fix typo (wrong variable) * Remove optional params See https://github.com/matrix-org/matrix-react-sdk/pull/9558#discussion_r1017515913 * Fix up last maaaaybe relevant lint Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
parent
2cd1fad10b
commit
2393510a7f
15 changed files with 181 additions and 126 deletions
|
@ -101,8 +101,8 @@ const useUniqueId = (eventId: string): string => {
|
|||
// remove related beacon locations on beacon redaction
|
||||
const useHandleBeaconRedaction = (
|
||||
event: MatrixEvent,
|
||||
getRelationsForEvent: GetRelationsForEvent,
|
||||
cli: MatrixClient,
|
||||
matrixClient: MatrixClient,
|
||||
getRelationsForEvent?: GetRelationsForEvent,
|
||||
): void => {
|
||||
const onBeforeBeaconInfoRedaction = useCallback((_event: MatrixEvent, redactionEvent: MatrixEvent) => {
|
||||
const relations = getRelationsForEvent ?
|
||||
|
@ -110,14 +110,14 @@ const useHandleBeaconRedaction = (
|
|||
undefined;
|
||||
|
||||
relations?.getRelations()?.forEach(locationEvent => {
|
||||
cli.redactEvent(
|
||||
matrixClient.redactEvent(
|
||||
locationEvent.getRoomId(),
|
||||
locationEvent.getId(),
|
||||
undefined,
|
||||
redactionEvent.getContent(),
|
||||
);
|
||||
});
|
||||
}, [event, getRelationsForEvent, cli]);
|
||||
}, [event, matrixClient, getRelationsForEvent]);
|
||||
|
||||
useEffect(() => {
|
||||
event.addListener(MatrixEventEvent.BeforeRedaction, onBeforeBeaconInfoRedaction);
|
||||
|
@ -151,7 +151,7 @@ const MBeaconBody: React.FC<IBodyProps> = React.forwardRef(({ mxEvent, getRelati
|
|||
const markerRoomMember = isSelfLocation(mxEvent.getContent()) ? mxEvent.sender : undefined;
|
||||
const isOwnBeacon = beacon?.beaconInfoOwner === matrixClient.getUserId();
|
||||
|
||||
useHandleBeaconRedaction(mxEvent, getRelationsForEvent, matrixClient);
|
||||
useHandleBeaconRedaction(mxEvent, matrixClient, getRelationsForEvent);
|
||||
|
||||
const onClick = () => {
|
||||
if (displayStatus !== BeaconDisplayStatus.Active) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue