Fix simple lint errors
This commit is contained in:
parent
9c3bd12830
commit
0e92251f70
8 changed files with 35 additions and 27 deletions
|
@ -17,6 +17,7 @@ limitations under the License.
|
||||||
import { JSXElementConstructor } from "react";
|
import { JSXElementConstructor } from "react";
|
||||||
|
|
||||||
// Based on https://stackoverflow.com/a/53229857/3532235
|
// Based on https://stackoverflow.com/a/53229857/3532235
|
||||||
|
// eslint-disable-next-line @typescript-eslint/type-annotation-spacing
|
||||||
export type Without<T, U> = {[P in Exclude<keyof T, keyof U>] ? : never};
|
export type Without<T, U> = {[P in Exclude<keyof T, keyof U>] ? : never};
|
||||||
export type XOR<T, U> = (T | U) extends object ? (Without<T, U> & U) | (Without<U, T> & T) : T | U;
|
export type XOR<T, U> = (T | U) extends object ? (Without<T, U> & U) | (Without<U, T> & T) : T | U;
|
||||||
export type Writeable<T> = { -readonly [P in keyof T]: T[P] };
|
export type Writeable<T> = { -readonly [P in keyof T]: T[P] };
|
||||||
|
|
|
@ -673,7 +673,7 @@ export default class CallHandler {
|
||||||
call.placeScreenSharingCall(
|
call.placeScreenSharingCall(
|
||||||
remoteElement,
|
remoteElement,
|
||||||
localElement,
|
localElement,
|
||||||
async () : Promise<DesktopCapturerSource> => {
|
async (): Promise<DesktopCapturerSource> => {
|
||||||
const {finished} = Modal.createDialog(DesktopCapturerSourcePicker);
|
const {finished} = Modal.createDialog(DesktopCapturerSourcePicker);
|
||||||
const [source] = await finished;
|
const [source] = await finished;
|
||||||
return source;
|
return source;
|
||||||
|
|
|
@ -231,8 +231,10 @@ export class KeyBindingsManager {
|
||||||
/**
|
/**
|
||||||
* Finds a matching KeyAction for a given KeyboardEvent
|
* Finds a matching KeyAction for a given KeyboardEvent
|
||||||
*/
|
*/
|
||||||
private getAction<T extends string>(getters: KeyBindingGetter<T>[], ev: KeyboardEvent | React.KeyboardEvent)
|
private getAction<T extends string>(
|
||||||
: T | undefined {
|
getters: KeyBindingGetter<T>[],
|
||||||
|
ev: KeyboardEvent | React.KeyboardEvent,
|
||||||
|
): T | undefined {
|
||||||
for (const getter of getters) {
|
for (const getter of getters) {
|
||||||
const bindings = getter();
|
const bindings = getter();
|
||||||
const binding = bindings.find(it => isKeyComboMatch(ev, it.keyCombo, isMac));
|
const binding = bindings.find(it => isKeyComboMatch(ev, it.keyCombo, isMac));
|
||||||
|
|
|
@ -194,7 +194,7 @@ export default class ScalarAuthClient {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
} else if (response.statusCode / 100 !== 2) {
|
} else if (response.statusCode / 100 !== 2) {
|
||||||
reject({statusCode: response.statusCode});
|
reject(new Error(`Scalar request failed: ${response.statusCode}`));
|
||||||
} else if (!body || !body.scalar_token) {
|
} else if (!body || !body.scalar_token) {
|
||||||
reject(new Error("Missing scalar_token in response"));
|
reject(new Error("Missing scalar_token in response"));
|
||||||
} else {
|
} else {
|
||||||
|
@ -218,7 +218,7 @@ export default class ScalarAuthClient {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
} else if (response.statusCode / 100 !== 2) {
|
} else if (response.statusCode / 100 !== 2) {
|
||||||
reject({statusCode: response.statusCode});
|
reject(new Error(`Scalar request failed: ${response.statusCode}`));
|
||||||
} else if (!body) {
|
} else if (!body) {
|
||||||
reject(new Error("Missing page title in response"));
|
reject(new Error("Missing page title in response"));
|
||||||
} else {
|
} else {
|
||||||
|
@ -257,7 +257,7 @@ export default class ScalarAuthClient {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
} else if (response.statusCode / 100 !== 2) {
|
} else if (response.statusCode / 100 !== 2) {
|
||||||
reject({statusCode: response.statusCode});
|
reject(new Error(`Scalar request failed: ${response.statusCode}`));
|
||||||
} else if (!body) {
|
} else if (!body) {
|
||||||
reject(new Error("Failed to set widget assets state"));
|
reject(new Error("Failed to set widget assets state"));
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -1182,7 +1182,11 @@ function E2ePadlockUnknown(props) {
|
||||||
|
|
||||||
function E2ePadlockUnauthenticated(props) {
|
function E2ePadlockUnauthenticated(props) {
|
||||||
return (
|
return (
|
||||||
<E2ePadlock title={_t("The authenticity of this encrypted message can't be guaranteed on this device.")} icon="unauthenticated" {...props} />
|
<E2ePadlock
|
||||||
|
title={_t("The authenticity of this encrypted message can't be guaranteed on this device.")}
|
||||||
|
icon="unauthenticated"
|
||||||
|
{...props}
|
||||||
|
/>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -394,7 +394,9 @@ export default class MessageComposer extends React.Component {
|
||||||
|
|
||||||
controls.push(<div className="mx_MessageComposer_replaced_wrapper" key="room_replaced">
|
controls.push(<div className="mx_MessageComposer_replaced_wrapper" key="room_replaced">
|
||||||
<div className="mx_MessageComposer_replaced_valign">
|
<div className="mx_MessageComposer_replaced_valign">
|
||||||
<img className="mx_MessageComposer_roomReplaced_icon" src={require("../../../../res/img/room_replaced.svg")} />
|
<img className="mx_MessageComposer_roomReplaced_icon"
|
||||||
|
src={require("../../../../res/img/room_replaced.svg")}
|
||||||
|
/>
|
||||||
<span className="mx_MessageComposer_roomReplaced_header">
|
<span className="mx_MessageComposer_roomReplaced_header">
|
||||||
{_t("This room has been replaced and is no longer active.")}
|
{_t("This room has been replaced and is no longer active.")}
|
||||||
</span><br />
|
</span><br />
|
||||||
|
|
|
@ -124,13 +124,12 @@ export default class EventIndexPanel extends React.Component {
|
||||||
}
|
}
|
||||||
|
|
||||||
_confirmEventStoreReset = () => {
|
_confirmEventStoreReset = () => {
|
||||||
const self = this;
|
|
||||||
const { close } = Modal.createDialog(SeshatResetDialog, {
|
const { close } = Modal.createDialog(SeshatResetDialog, {
|
||||||
onFinished: async (success) => {
|
onFinished: async (success) => {
|
||||||
if (success) {
|
if (success) {
|
||||||
await SettingsStore.setValue('enableEventIndexing', null, SettingLevel.DEVICE, false);
|
await SettingsStore.setValue('enableEventIndexing', null, SettingLevel.DEVICE, false);
|
||||||
await EventIndexPeg.deleteEventIndex();
|
await EventIndexPeg.deleteEventIndex();
|
||||||
await self._onEnable();
|
await this._onEnable();
|
||||||
close();
|
close();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -122,28 +122,28 @@ export default class HelpUserSettingsTab extends React.Component {
|
||||||
<span className='mx_SettingsTab_subheading'>{_t("Credits")}</span>
|
<span className='mx_SettingsTab_subheading'>{_t("Credits")}</span>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
The <a href="themes/element/img/backgrounds/lake.jpg" rel="noreferrer noopener" target="_blank">
|
The <a href="themes/element/img/backgrounds/lake.jpg" rel="noreferrer noopener"
|
||||||
default cover photo</a> is ©
|
target="_blank">default cover photo</a> is ©
|
||||||
<a href="https://www.flickr.com/golan" rel="noreferrer noopener" target="_blank">Jesús Roncero</a>{' '}
|
<a href="https://www.flickr.com/golan" rel="noreferrer noopener"
|
||||||
used under the terms of
|
target="_blank">Jesús Roncero</a> used under the terms of
|
||||||
<a href="https://creativecommons.org/licenses/by-sa/4.0/" rel="noreferrer noopener" target="_blank">
|
<a href="https://creativecommons.org/licenses/by-sa/4.0/" rel="noreferrer noopener"
|
||||||
CC-BY-SA 4.0</a>.
|
target="_blank">CC-BY-SA 4.0</a>.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
The <a href="https://github.com/matrix-org/twemoji-colr" rel="noreferrer noopener"
|
The <a href="https://github.com/matrix-org/twemoji-colr" rel="noreferrer noopener"
|
||||||
target="_blank"> twemoji-colr</a> font is ©
|
target="_blank">twemoji-colr</a> font is ©
|
||||||
<a href="https://mozilla.org" rel="noreferrer noopener" target="_blank">Mozilla Foundation</a>{' '}
|
<a href="https://mozilla.org" rel="noreferrer noopener"
|
||||||
used under the terms of
|
target="_blank">Mozilla Foundation</a> used under the terms of
|
||||||
<a href="http://www.apache.org/licenses/LICENSE-2.0" rel="noreferrer noopener" target="_blank">
|
<a href="http://www.apache.org/licenses/LICENSE-2.0" rel="noreferrer noopener"
|
||||||
Apache 2.0</a>.
|
target="_blank">Apache 2.0</a>.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
The <a href="https://twemoji.twitter.com/" rel="noreferrer noopener" target="_blank">
|
The <a href="https://twemoji.twitter.com/" rel="noreferrer noopener"
|
||||||
Twemoji</a> emoji art is ©
|
target="_blank">Twemoji</a> emoji art is ©
|
||||||
<a href="https://twemoji.twitter.com/" rel="noreferrer noopener" target="_blank">Twitter, Inc and other
|
<a href="https://twemoji.twitter.com/" rel="noreferrer noopener"
|
||||||
contributors</a> used under the terms of
|
target="_blank">Twitter, Inc and other contributors</a> used under the terms of
|
||||||
<a href="https://creativecommons.org/licenses/by/4.0/" rel="noreferrer noopener" target="_blank">
|
<a href="https://creativecommons.org/licenses/by/4.0/" rel="noreferrer noopener"
|
||||||
CC-BY 4.0</a>.
|
target="_blank">CC-BY 4.0</a>.
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue