Add some logging to `UserIdenitityWarning` (#28734)
We had some reports of misbehaviour here, so adding a bit of looging to try to track it down.pull/28747/head
parent
d5db16ca24
commit
bea1b8eb85
|
@ -103,12 +103,17 @@ export const UserIdentityWarning: React.FC<UserIdentityWarningProps> = ({ room }
|
||||||
if (currentPrompt && membersNeedingApproval.has(currentPrompt.userId)) return currentPrompt;
|
if (currentPrompt && membersNeedingApproval.has(currentPrompt.userId)) return currentPrompt;
|
||||||
|
|
||||||
if (membersNeedingApproval.size === 0) {
|
if (membersNeedingApproval.size === 0) {
|
||||||
|
if (currentPrompt) {
|
||||||
|
// If we were previously showing a warning, log that we've stopped doing so.
|
||||||
|
logger.debug("UserIdentityWarning: no users left that need approval");
|
||||||
|
}
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
// We pick the user with the smallest user ID.
|
// We pick the user with the smallest user ID.
|
||||||
const keys = Array.from(membersNeedingApproval.keys()).sort((a, b) => a.localeCompare(b));
|
const keys = Array.from(membersNeedingApproval.keys()).sort((a, b) => a.localeCompare(b));
|
||||||
const selection = membersNeedingApproval.get(keys[0]!);
|
const selection = membersNeedingApproval.get(keys[0]!);
|
||||||
|
logger.debug(`UserIdentityWarning: now warning about user ${selection?.userId}`);
|
||||||
return selection;
|
return selection;
|
||||||
});
|
});
|
||||||
}, []);
|
}, []);
|
||||||
|
@ -132,6 +137,9 @@ export const UserIdentityWarning: React.FC<UserIdentityWarningProps> = ({ room }
|
||||||
// initialising, and we want to start by displaying a warning
|
// initialising, and we want to start by displaying a warning
|
||||||
// for the user with the smallest ID.
|
// for the user with the smallest ID.
|
||||||
if (initialisedRef.current === InitialisationStatus.Completed) {
|
if (initialisedRef.current === InitialisationStatus.Completed) {
|
||||||
|
logger.debug(
|
||||||
|
`UserIdentityWarning: user ${userId} now needs approval; approval-pending list now [${Array.from(membersNeedingApprovalRef.current.keys())}]`,
|
||||||
|
);
|
||||||
updateCurrentPrompt();
|
updateCurrentPrompt();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -173,6 +181,9 @@ export const UserIdentityWarning: React.FC<UserIdentityWarningProps> = ({ room }
|
||||||
const removeMemberNeedingApproval = useCallback(
|
const removeMemberNeedingApproval = useCallback(
|
||||||
(userId: string): void => {
|
(userId: string): void => {
|
||||||
membersNeedingApprovalRef.current.delete(userId);
|
membersNeedingApprovalRef.current.delete(userId);
|
||||||
|
logger.debug(
|
||||||
|
`UserIdentityWarning: user ${userId} no longer needs approval; approval-pending list now [${Array.from(membersNeedingApprovalRef.current.keys())}]`,
|
||||||
|
);
|
||||||
updateCurrentPrompt();
|
updateCurrentPrompt();
|
||||||
},
|
},
|
||||||
[updateCurrentPrompt],
|
[updateCurrentPrompt],
|
||||||
|
@ -195,6 +206,9 @@ export const UserIdentityWarning: React.FC<UserIdentityWarningProps> = ({ room }
|
||||||
const members = await room.getEncryptionTargetMembers();
|
const members = await room.getEncryptionTargetMembers();
|
||||||
await addMembersWhoNeedApproval(members);
|
await addMembersWhoNeedApproval(members);
|
||||||
|
|
||||||
|
logger.info(
|
||||||
|
`Initialised UserIdentityWarning component for room ${room.roomId} with approval-pending list [${Array.from(membersNeedingApprovalRef.current.keys())}]`,
|
||||||
|
);
|
||||||
updateCurrentPrompt();
|
updateCurrentPrompt();
|
||||||
initialisedRef.current = InitialisationStatus.Completed;
|
initialisedRef.current = InitialisationStatus.Completed;
|
||||||
}, [crypto, room, addMembersWhoNeedApproval, updateCurrentPrompt]);
|
}, [crypto, room, addMembersWhoNeedApproval, updateCurrentPrompt]);
|
||||||
|
|
Loading…
Reference in New Issue