Use MatrixClientPeg::safeGet in src/components/views/* (#10987)
This commit is contained in:
parent
4243847f4f
commit
280f6a9d93
81 changed files with 265 additions and 250 deletions
|
@ -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,
|
||||
|
|
|
@ -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>();
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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"),
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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();
|
||||
|
||||
|
|
|
@ -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,
|
||||
);
|
||||
|
|
|
@ -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()) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue