Use MatrixClientPeg::safeGet in src/components/views/* (#10987)

This commit is contained in:
Michael Telatynski 2023-06-15 08:46:19 +01:00 committed by GitHub
parent 4243847f4f
commit 280f6a9d93
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
81 changed files with 265 additions and 250 deletions

View file

@ -125,7 +125,7 @@ export default class DateSeparator extends React.Component<IProps, IState> {
const roomIdForJumpRequest = this.props.roomId;
try {
const cli = MatrixClientPeg.get();
const cli = MatrixClientPeg.safeGet();
const { event_id: eventId, origin_server_ts: originServerTs } = await cli.timestampToEvent(
roomIdForJumpRequest,
unixTimestamp,

View file

@ -36,7 +36,7 @@ const ALGORITHM = "m.megolm.v1.aes-sha2";
const EncryptionEvent = forwardRef<HTMLDivElement, IProps>(({ mxEvent, timestamp }, ref) => {
const cli = useContext(MatrixClientContext);
const roomId = mxEvent.getRoomId()!;
const isRoomEncrypted = MatrixClientPeg.get().isRoomEncrypted(roomId);
const isRoomEncrypted = MatrixClientPeg.safeGet().isRoomEncrypted(roomId);
const prevContent = mxEvent.getPrevContent() as IRoomEncryption;
const content = mxEvent.getContent<IRoomEncryption>();

View file

@ -160,7 +160,7 @@ export default class MImageBody extends React.Component<IBodyProps, IState> {
};
private clearError = (): void => {
MatrixClientPeg.get().off(ClientEvent.Sync, this.reconnectedListener);
MatrixClientPeg.get()?.off(ClientEvent.Sync, this.reconnectedListener);
this.setState({ imgError: false });
};
@ -177,7 +177,7 @@ export default class MImageBody extends React.Component<IBodyProps, IState> {
this.setState({
imgError: true,
});
MatrixClientPeg.get().on(ClientEvent.Sync, this.reconnectedListener);
MatrixClientPeg.safeGet().on(ClientEvent.Sync, this.reconnectedListener);
};
private onImageLoad = (): void => {
@ -373,7 +373,7 @@ export default class MImageBody extends React.Component<IBodyProps, IState> {
public componentWillUnmount(): void {
this.unmounted = true;
MatrixClientPeg.get().off(ClientEvent.Sync, this.reconnectedListener);
MatrixClientPeg.get()?.off(ClientEvent.Sync, this.reconnectedListener);
this.clearBlurhashTimeout();
if (this.sizeWatcher) SettingsStore.unwatchSetting(this.sizeWatcher);
if (this.state.isAnimated && this.state.thumbUrl) {

View file

@ -37,7 +37,7 @@ export default class MJitsiWidgetEvent extends React.PureComponent<IProps> {
const url = this.props.mxEvent.getContent()["url"];
const prevUrl = this.props.mxEvent.getPrevContent()["url"];
const senderName = this.props.mxEvent.sender?.name || this.props.mxEvent.getSender();
const room = MatrixClientPeg.get().getRoom(this.props.mxEvent.getRoomId());
const room = MatrixClientPeg.safeGet().getRoom(this.props.mxEvent.getRoomId());
if (!room) return null;
const widgetId = this.props.mxEvent.getStateKey();
const widget = WidgetStore.instance.getRoom(room.roomId, true).widgets.find((w) => w.id === widgetId);

View file

@ -42,7 +42,7 @@ export default class MKeyVerificationConclusion extends React.Component<IProps>
if (request) {
request.on(VerificationRequestEvent.Change, this.onRequestChanged);
}
MatrixClientPeg.get().on(CryptoEvent.UserTrustStatusChanged, this.onTrustChanged);
MatrixClientPeg.safeGet().on(CryptoEvent.UserTrustStatusChanged, this.onTrustChanged);
}
public componentWillUnmount(): void {
@ -89,7 +89,7 @@ export default class MKeyVerificationConclusion extends React.Component<IProps>
}
// User isn't actually verified
if (!MatrixClientPeg.get().checkUserTrust(request.otherUserId).isCrossSigningVerified()) {
if (!MatrixClientPeg.safeGet().checkUserTrust(request.otherUserId).isCrossSigningVerified()) {
return false;
}
@ -104,7 +104,7 @@ export default class MKeyVerificationConclusion extends React.Component<IProps>
return null;
}
const client = MatrixClientPeg.get();
const client = MatrixClientPeg.safeGet();
const myUserId = client.getUserId();
let title: string | undefined;

View file

@ -55,7 +55,7 @@ export default class MKeyVerificationRequest extends React.Component<IProps> {
let member: User | undefined;
const { verificationRequest } = this.props.mxEvent;
if (verificationRequest) {
member = MatrixClientPeg.get().getUser(verificationRequest.otherUserId) ?? undefined;
member = MatrixClientPeg.safeGet().getUser(verificationRequest.otherUserId) ?? undefined;
}
RightPanelStore.instance.setCards([
{ phase: RightPanelPhases.RoomSummary },
@ -92,7 +92,7 @@ export default class MKeyVerificationRequest extends React.Component<IProps> {
};
private acceptedLabel(userId: string): string {
const client = MatrixClientPeg.get();
const client = MatrixClientPeg.safeGet();
const myUserId = client.getUserId();
if (userId === myUserId) {
return _t("You accepted");
@ -104,7 +104,7 @@ export default class MKeyVerificationRequest extends React.Component<IProps> {
}
private cancelledLabel(userId: string): string {
const client = MatrixClientPeg.get();
const client = MatrixClientPeg.safeGet();
const myUserId = client.getUserId();
const cancellationCode = this.props.mxEvent.verificationRequest?.cancellationCode;
const declined = cancellationCode === "m.user";
@ -128,7 +128,7 @@ export default class MKeyVerificationRequest extends React.Component<IProps> {
}
public render(): React.ReactNode {
const client = MatrixClientPeg.get();
const client = MatrixClientPeg.safeGet();
const { mxEvent } = this.props;
const request = mxEvent.verificationRequest;

View file

@ -118,7 +118,7 @@ export function pollAlreadyHasVotes(mxEvent: MatrixEvent, getRelationsForEvent?:
}
export function launchPollEditor(mxEvent: MatrixEvent, getRelationsForEvent?: GetRelationsForEvent): void {
const room = MatrixClientPeg.get().getRoom(mxEvent.getRoomId());
const room = MatrixClientPeg.safeGet().getRoom(mxEvent.getRoomId());
if (pollAlreadyHasVotes(mxEvent, getRelationsForEvent)) {
Modal.createDialog(ErrorDialog, {
title: _t("Can't edit poll"),

View file

@ -311,7 +311,7 @@ export default class MessageActionBar extends React.PureComponent<IMessageAction
this.props.mxEvent.on(MatrixEventEvent.Status, this.onSent);
}
const client = MatrixClientPeg.get();
const client = MatrixClientPeg.safeGet();
client.decryptEventIfNeeded(this.props.mxEvent);
if (this.props.mxEvent.isBeingDecrypted()) {
@ -364,7 +364,7 @@ export default class MessageActionBar extends React.PureComponent<IMessageAction
e.stopPropagation();
editEvent(
MatrixClientPeg.get(),
MatrixClientPeg.safeGet(),
this.props.mxEvent,
this.context.timelineRenderingType,
this.props.getRelationsForEvent,
@ -417,19 +417,19 @@ export default class MessageActionBar extends React.PureComponent<IMessageAction
ev.preventDefault();
ev.stopPropagation();
this.runActionOnFailedEv((tarEv) => Resend.resend(MatrixClientPeg.get(), tarEv));
this.runActionOnFailedEv((tarEv) => Resend.resend(MatrixClientPeg.safeGet(), tarEv));
};
private onCancelClick = (ev: ButtonEvent): void => {
this.runActionOnFailedEv(
(tarEv) => Resend.removeFromQueue(MatrixClientPeg.get(), tarEv),
(tarEv) => Resend.removeFromQueue(MatrixClientPeg.safeGet(), tarEv),
(testEv) => canCancel(testEv.status),
);
};
public render(): React.ReactNode {
const toolbarOpts: JSX.Element[] = [];
if (canEditContent(MatrixClientPeg.get(), this.props.mxEvent)) {
if (canEditContent(MatrixClientPeg.safeGet(), this.props.mxEvent)) {
toolbarOpts.push(
<RovingAccessibleTooltipButton
className="mx_MessageActionBar_iconButton"

View file

@ -33,7 +33,7 @@ interface IProps {
export default class RoomAvatarEvent extends React.Component<IProps> {
private onAvatarClick = (): void => {
const cli = MatrixClientPeg.get();
const cli = MatrixClientPeg.safeGet();
const ev = this.props.mxEvent;
const httpUrl = mediaFromMxc(ev.getContent().url).srcHttp;
if (!httpUrl) return;
@ -63,7 +63,7 @@ export default class RoomAvatarEvent extends React.Component<IProps> {
);
}
const room = MatrixClientPeg.get().getRoom(ev.getRoomId());
const room = MatrixClientPeg.safeGet().getRoom(ev.getRoomId());
// Provide all arguments to RoomAvatar via oobData because the avatar is historic
const oobData = {
avatarUrl: ev.getContent().url,

View file

@ -87,7 +87,7 @@ export const RoomPredecessorTile: React.FC<IProps> = ({ mxEvent, timestamp }) =>
return <div />;
}
const prevRoom = MatrixClientPeg.get().getRoom(predecessor.roomId);
const prevRoom = MatrixClientPeg.safeGet().getRoom(predecessor.roomId);
// We need either the previous room, or some servers to find it with.
// Otherwise, we must bail out here

View file

@ -93,7 +93,7 @@ export default class TextualBody extends React.Component<IBodyProps, IState> {
this.activateSpoilers([content]);
HtmlUtils.linkifyElement(content);
pillifyLinks(MatrixClientPeg.get(), [content], this.props.mxEvent, this.pills);
pillifyLinks(MatrixClientPeg.safeGet(), [content], this.props.mxEvent, this.pills);
this.calculateUrlPreview();

View file

@ -31,7 +31,7 @@ export default class TextualEvent extends React.Component<IProps> {
public render(): React.ReactNode {
const text = TextForEvent.textForEvent(
this.props.mxEvent,
MatrixClientPeg.get(),
MatrixClientPeg.safeGet(),
true,
this.context?.showHiddenEvents,
);

View file

@ -42,7 +42,7 @@ export default class ViewSourceEvent extends React.PureComponent<IProps, IState>
public componentDidMount(): void {
const { mxEvent } = this.props;
const client = MatrixClientPeg.get();
const client = MatrixClientPeg.safeGet();
client.decryptEventIfNeeded(mxEvent);
if (mxEvent.isBeingDecrypted()) {