Conform more of the codebase to strictNullChecks (#11100)

This commit is contained in:
Michael Telatynski 2023-06-22 14:39:36 +01:00 committed by GitHub
parent 328db8fdfd
commit 7b3a4e556a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
16 changed files with 30 additions and 26 deletions

View file

@ -71,7 +71,7 @@ export const WidgetContextMenu: React.FC<IProps> = ({
} catch (err) {
logger.error("Failed to start livestream", err);
// XXX: won't i18n well, but looks like widget api only support 'message'?
const message = err.message || _t("Unable to start audio streaming.");
const message = err instanceof Error ? err.message : _t("Unable to start audio streaming.");
Modal.createDialog(ErrorDialog, {
title: _t("Failed to start livestream"),
description: message,

View file

@ -160,7 +160,7 @@ export default class BugReportDialog extends React.Component<IProps, IState> {
if (!this.unmounted) {
this.setState({
downloadBusy: false,
downloadProgress: _t("Failed to send logs: ") + `${err.message}`,
downloadProgress: _t("Failed to send logs: ") + `${err instanceof Error ? err.message : ""}`,
});
}
}

View file

@ -16,6 +16,7 @@ limitations under the License.
import React from "react";
import { MatrixEvent } from "matrix-js-sdk/src/models/event";
import { HTTPError, MatrixError } from "matrix-js-sdk/src/matrix";
import { _t } from "../../../languageHandler";
import ConfirmRedactDialog from "./ConfirmRedactDialog";
@ -62,7 +63,13 @@ export default class ConfirmAndWaitRedactDialog extends React.PureComponent<IPro
await this.props.redact();
this.props.onFinished(true);
} catch (error) {
const code = error.errcode || error.statusCode;
let code: string | number | undefined;
if (error instanceof MatrixError) {
code = error.errcode;
} else if (error instanceof HTTPError) {
code = error.httpStatus;
}
if (typeof code !== "undefined") {
this.setState({ redactionErrorCode: code });
} else {

View file

@ -75,7 +75,7 @@ export default class MKeyVerificationRequest extends React.Component<IProps> {
this.openRequest();
await request.accept();
} catch (err) {
logger.error(err.message);
logger.error(err);
}
}
};
@ -86,7 +86,7 @@ export default class MKeyVerificationRequest extends React.Component<IProps> {
try {
await request.cancel();
} catch (err) {
logger.error(err.message);
logger.error(err);
}
}
};

View file

@ -28,14 +28,14 @@ import { Action } from "../../../dispatcher/actions";
import { SettingLevel } from "../../../settings/SettingLevel";
import SettingsFlag from "../elements/SettingsFlag";
import SettingsFieldset from "../settings/SettingsFieldset";
import AccessibleButton from "../elements/AccessibleButton";
import AccessibleButton, { ButtonEvent } from "../elements/AccessibleButton";
interface IProps {
room: Room;
}
export default class UrlPreviewSettings extends React.Component<IProps> {
private onClickUserSettings = (e: React.MouseEvent): void => {
private onClickUserSettings = (e: ButtonEvent): void => {
e.preventDefault();
e.stopPropagation();
dis.fire(Action.ViewUserSettings);

View file

@ -132,7 +132,7 @@ export default class BasicMessageEditor extends React.Component<IProps, IState>
private hasTextSelected = false;
private _isCaretAtEnd = false;
private lastCaret: DocumentOffset;
private lastCaret!: DocumentOffset;
private lastSelection: ReturnType<typeof cloneSelection> | null = null;
private readonly useMarkdownHandle: string;

View file

@ -124,7 +124,7 @@ export default class ProfileSettings extends React.Component<{}, IState> {
logger.log("Failed to save profile", err);
Modal.createDialog(ErrorDialog, {
title: _t("Failed to save your profile"),
description: err && err.message ? err.message : _t("The operation could not be completed"),
description: err instanceof Error ? err.message : _t("The operation could not be completed"),
});
}