Enable strictPropertyInitialization (#11203)
This commit is contained in:
parent
4207d182cd
commit
cfd48b36aa
38 changed files with 97 additions and 117 deletions
|
@ -154,7 +154,7 @@ export const AddExistingToSpace: React.FC<IAddExistingToSpaceProps> = ({
|
|||
|
||||
const [selectedToAdd, setSelectedToAdd] = useState(new Set<Room>());
|
||||
const [progress, setProgress] = useState<number | null>(null);
|
||||
const [error, setError] = useState<Error | null>(null);
|
||||
const [error, setError] = useState(false);
|
||||
const [query, setQuery] = useState("");
|
||||
const lcQuery = query.toLowerCase().trim();
|
||||
|
||||
|
@ -196,10 +196,10 @@ export const AddExistingToSpace: React.FC<IAddExistingToSpaceProps> = ({
|
|||
}, [visibleRooms, space, lcQuery, existingRoomsSet, existingSubspacesSet]);
|
||||
|
||||
const addRooms = async (): Promise<void> => {
|
||||
setError(null);
|
||||
setError(false);
|
||||
setProgress(0);
|
||||
|
||||
let error: Error | undefined;
|
||||
let error = false;
|
||||
|
||||
for (const room of selectedToAdd) {
|
||||
const via = calculateRoomVia(room);
|
||||
|
@ -216,7 +216,7 @@ export const AddExistingToSpace: React.FC<IAddExistingToSpaceProps> = ({
|
|||
setProgress((i) => (i ?? 0) + 1);
|
||||
} catch (e) {
|
||||
logger.error("Failed to add rooms to space", e);
|
||||
error = e;
|
||||
error = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -37,7 +37,7 @@ interface IProps {
|
|||
onFinished: (success: boolean) => void;
|
||||
initialText?: string;
|
||||
label?: string;
|
||||
error?: Error;
|
||||
error?: unknown;
|
||||
}
|
||||
|
||||
interface IState {
|
||||
|
|
|
@ -27,7 +27,7 @@ import BaseDialog from "./BaseDialog";
|
|||
import DialogButtons from "../elements/DialogButtons";
|
||||
|
||||
interface IProps {
|
||||
error: Error;
|
||||
error: unknown;
|
||||
onFinished(clear?: boolean): void;
|
||||
}
|
||||
|
||||
|
|
|
@ -84,8 +84,8 @@ export const SlidingSyncOptionsDialog: React.FC<{ onFinished(enabled: boolean):
|
|||
: _t("Your server lacks native support");
|
||||
}
|
||||
|
||||
const validProxy = withValidation<undefined, { error?: Error }>({
|
||||
async deriveData({ value }): Promise<{ error?: Error }> {
|
||||
const validProxy = withValidation<undefined, { error?: unknown }>({
|
||||
async deriveData({ value }): Promise<{ error?: unknown }> {
|
||||
try {
|
||||
await proxyHealthCheck(value!, MatrixClientPeg.safeGet().baseUrl);
|
||||
return {};
|
||||
|
@ -104,7 +104,7 @@ export const SlidingSyncOptionsDialog: React.FC<{ onFinished(enabled: boolean):
|
|||
final: true,
|
||||
test: async (_, { error }) => !error,
|
||||
valid: () => _t("Looks good"),
|
||||
invalid: ({ error }) => error?.message ?? null,
|
||||
invalid: ({ error }) => (error instanceof Error ? error.message : null),
|
||||
},
|
||||
],
|
||||
});
|
||||
|
|
|
@ -111,7 +111,7 @@ export const EventEditor: React.FC<IEventEditorProps> = ({ fieldDefs, defaultCon
|
|||
const json = JSON.parse(content);
|
||||
await onSend(fieldData, json);
|
||||
} catch (e) {
|
||||
return _t("Failed to send event!") + ` (${e.toString()})`;
|
||||
return _t("Failed to send event!") + (e instanceof Error ? ` (${e.message})` : "");
|
||||
}
|
||||
return _t("Event sent!");
|
||||
};
|
||||
|
|
|
@ -125,7 +125,7 @@ const EditSetting: React.FC<IEditSettingProps> = ({ setting, onBack }) => {
|
|||
}
|
||||
onBack();
|
||||
} catch (e) {
|
||||
return _t("Failed to save settings.") + ` (${e.message})`;
|
||||
return _t("Failed to save settings.") + (e instanceof Error ? ` (${e.message})` : "");
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ interface IProps {
|
|||
}
|
||||
|
||||
interface IState {
|
||||
error: Error | null;
|
||||
error: boolean;
|
||||
canUploadKeysWithPasswordOnly: boolean | null;
|
||||
accountPassword: string;
|
||||
}
|
||||
|
@ -52,7 +52,7 @@ export default class CreateCrossSigningDialog extends React.PureComponent<IProps
|
|||
super(props);
|
||||
|
||||
this.state = {
|
||||
error: null,
|
||||
error: false,
|
||||
// Does the server offer a UI auth flow with just m.login.password
|
||||
// for /keys/device_signing/upload?
|
||||
// If we have an account password in memory, let's simplify and
|
||||
|
@ -145,7 +145,7 @@ export default class CreateCrossSigningDialog extends React.PureComponent<IProps
|
|||
|
||||
private bootstrapCrossSigning = async (): Promise<void> => {
|
||||
this.setState({
|
||||
error: null,
|
||||
error: false,
|
||||
});
|
||||
|
||||
try {
|
||||
|
@ -161,7 +161,7 @@ export default class CreateCrossSigningDialog extends React.PureComponent<IProps
|
|||
return;
|
||||
}
|
||||
|
||||
this.setState({ error: e });
|
||||
this.setState({ error: true });
|
||||
logger.error("Error bootstrapping cross-signing", e);
|
||||
}
|
||||
};
|
||||
|
|
|
@ -20,6 +20,7 @@ import { MatrixClient } from "matrix-js-sdk/src/client";
|
|||
import { IKeyBackupInfo, IKeyBackupRestoreResult } from "matrix-js-sdk/src/crypto/keybackup";
|
||||
import { ISecretStorageKeyInfo } from "matrix-js-sdk/src/crypto/api";
|
||||
import { logger } from "matrix-js-sdk/src/logger";
|
||||
import { MatrixError } from "matrix-js-sdk/src/matrix";
|
||||
|
||||
import { MatrixClientPeg } from "../../../../MatrixClientPeg";
|
||||
import { _t } from "../../../../languageHandler";
|
||||
|
@ -56,9 +57,7 @@ interface IState {
|
|||
backupKeyStored: Record<string, ISecretStorageKeyInfo> | null;
|
||||
loading: boolean;
|
||||
loadError: boolean | null;
|
||||
restoreError: {
|
||||
errcode: string;
|
||||
} | null;
|
||||
restoreError: unknown | null;
|
||||
recoveryKey: string;
|
||||
recoverInfo: IKeyBackupRestoreResult | null;
|
||||
recoveryKeyValid: boolean;
|
||||
|
@ -343,7 +342,10 @@ export default class RestoreKeyBackupDialog extends React.PureComponent<IProps,
|
|||
title = _t("Error");
|
||||
content = _t("Unable to load backup status");
|
||||
} else if (this.state.restoreError) {
|
||||
if (this.state.restoreError.errcode === MatrixClient.RESTORE_BACKUP_ERROR_BAD_KEY) {
|
||||
if (
|
||||
this.state.restoreError instanceof MatrixError &&
|
||||
this.state.restoreError.errcode === MatrixClient.RESTORE_BACKUP_ERROR_BAD_KEY
|
||||
) {
|
||||
if (this.state.restoreType === RestoreType.RecoveryKey) {
|
||||
title = _t("Security Key mismatch");
|
||||
content = (
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue