Apply prettier formatting

This commit is contained in:
Michael Weimann
2022-12-12 12:24:14 +01:00
parent 1cac306093
commit 526645c791
1576 changed files with 65384 additions and 62477 deletions
+65 -61
View File
@@ -23,21 +23,19 @@ import { ClientEvent } from "matrix-js-sdk/src/client";
import { logger } from "matrix-js-sdk/src/logger";
import { MsgType } from "matrix-js-sdk/src/@types/event";
import { M_LOCATION } from "matrix-js-sdk/src/@types/location";
import {
PermissionChanged as PermissionChangedEvent,
} from "@matrix-org/analytics-events/types/typescript/PermissionChanged";
import { PermissionChanged as PermissionChangedEvent } from "@matrix-org/analytics-events/types/typescript/PermissionChanged";
import { ISyncStateData, SyncState } from "matrix-js-sdk/src/sync";
import { IRoomTimelineData } from "matrix-js-sdk/src/matrix";
import { MatrixClientPeg } from './MatrixClientPeg';
import { MatrixClientPeg } from "./MatrixClientPeg";
import { PosthogAnalytics } from "./PosthogAnalytics";
import SdkConfig from './SdkConfig';
import PlatformPeg from './PlatformPeg';
import * as TextForEvent from './TextForEvent';
import * as Avatar from './Avatar';
import dis from './dispatcher/dispatcher';
import { _t } from './languageHandler';
import Modal from './Modal';
import SdkConfig from "./SdkConfig";
import PlatformPeg from "./PlatformPeg";
import * as TextForEvent from "./TextForEvent";
import * as Avatar from "./Avatar";
import dis from "./dispatcher/dispatcher";
import { _t } from "./languageHandler";
import Modal from "./Modal";
import SettingsStore from "./settings/SettingsStore";
import { hideToast as hideNotificationsToast } from "./toasts/DesktopNotificationsToast";
import { SettingLevel } from "./settings/SettingLevel";
@@ -89,14 +87,14 @@ export const Notifier = {
// or not
pendingEncryptedEventIds: [],
notificationMessageForEvent: function(ev: MatrixEvent): string {
notificationMessageForEvent: function (ev: MatrixEvent): string {
if (msgTypeHandlers.hasOwnProperty(ev.getContent().msgtype)) {
return msgTypeHandlers[ev.getContent().msgtype](ev);
}
return TextForEvent.textForEvent(ev);
},
_displayPopupNotification: function(ev: MatrixEvent, room: Room): void {
_displayPopupNotification: function (ev: MatrixEvent, room: Room): void {
const plaf = PlatformPeg.get();
const cli = MatrixClientPeg.get();
if (!plaf) {
@@ -121,7 +119,7 @@ export const Notifier = {
if (ev.getContent().body && !msgTypeHandlers.hasOwnProperty(ev.getContent().msgtype)) {
msg = ev.getContent().body;
}
} else if (ev.getType() === 'm.room.member') {
} else if (ev.getType() === "m.room.member") {
// context is all in the message here, we don't need
// to display sender info
title = room.name;
@@ -135,12 +133,12 @@ export const Notifier = {
}
if (!this.isBodyEnabled()) {
msg = '';
msg = "";
}
let avatarUrl = null;
if (ev.sender && !SettingsStore.getValue("lowBandwidth")) {
avatarUrl = Avatar.avatarUrlForMember(ev.sender, 40, 40, 'crop');
avatarUrl = Avatar.avatarUrlForMember(ev.sender, 40, 40, "crop");
}
const notif = plaf.displayNotification(title, msg, avatarUrl, room, ev);
@@ -153,7 +151,7 @@ export const Notifier = {
}
},
getSoundForRoom: function(roomId: string) {
getSoundForRoom: function (roomId: string) {
// We do no caching here because the SDK caches setting
// and the browser will cache the sound.
const content = SettingsStore.getValue("notificationSound", roomId);
@@ -181,18 +179,19 @@ export const Notifier = {
};
},
_playAudioNotification: async function(ev: MatrixEvent, room: Room): Promise<void> {
_playAudioNotification: async function (ev: MatrixEvent, room: Room): Promise<void> {
const cli = MatrixClientPeg.get();
if (localNotificationsAreSilenced(cli)) {
return;
}
const sound = this.getSoundForRoom(room.roomId);
logger.log(`Got sound ${sound && sound.name || "default"} for ${room.roomId}`);
logger.log(`Got sound ${(sound && sound.name) || "default"} for ${room.roomId}`);
try {
const selector =
document.querySelector<HTMLAudioElement>(sound ? `audio[src='${sound.url}']` : "#messageAudio");
const selector = document.querySelector<HTMLAudioElement>(
sound ? `audio[src='${sound.url}']` : "#messageAudio",
);
let audioElement = selector;
if (!selector) {
if (!sound) {
@@ -211,7 +210,7 @@ export const Notifier = {
}
},
start: function(this: typeof Notifier) {
start: function (this: typeof Notifier) {
// do not re-bind in the case of repeated call
this.boundOnEvent = this.boundOnEvent || this.onEvent.bind(this);
this.boundOnSyncStateChange = this.boundOnSyncStateChange || this.onSyncStateChange.bind(this);
@@ -226,7 +225,7 @@ export const Notifier = {
this.isSyncing = false;
},
stop: function(this: typeof Notifier) {
stop: function (this: typeof Notifier) {
if (MatrixClientPeg.get()) {
MatrixClientPeg.get().removeListener(RoomEvent.Timeline, this.boundOnEvent);
MatrixClientPeg.get().removeListener(RoomEvent.Receipt, this.boundOnRoomReceipt);
@@ -236,12 +235,12 @@ export const Notifier = {
this.isSyncing = false;
},
supportsDesktopNotifications: function() {
supportsDesktopNotifications: function () {
const plaf = PlatformPeg.get();
return plaf && plaf.supportsNotifications();
},
setEnabled: function(enable: boolean, callback?: () => void) {
setEnabled: function (enable: boolean, callback?: () => void) {
const plaf = PlatformPeg.get();
if (!plaf) return;
@@ -258,16 +257,22 @@ export const Notifier = {
if (enable) {
// Attempt to get permission from user
plaf.requestNotificationPermission().then((result) => {
if (result !== 'granted') {
if (result !== "granted") {
// The permission request was dismissed or denied
// TODO: Support alternative branding in messaging
const brand = SdkConfig.get().brand;
const description = result === 'denied'
? _t('%(brand)s does not have permission to send you notifications - ' +
'please check your browser settings', { brand })
: _t('%(brand)s was not given permission to send notifications - please try again', { brand });
const description =
result === "denied"
? _t(
"%(brand)s does not have permission to send you notifications - " +
"please check your browser settings",
{ brand },
)
: _t("%(brand)s was not given permission to send notifications - please try again", {
brand,
});
Modal.createDialog(ErrorDialog, {
title: _t('Unable to enable Notifications'),
title: _t("Unable to enable Notifications"),
description,
});
return;
@@ -301,11 +306,11 @@ export const Notifier = {
this.setPromptHidden(true);
},
isEnabled: function() {
isEnabled: function () {
return this.isPossible() && SettingsStore.getValue("notificationsEnabled");
},
isPossible: function() {
isPossible: function () {
const plaf = PlatformPeg.get();
if (!plaf) return false;
if (!plaf.supportsNotifications()) return false;
@@ -314,16 +319,16 @@ export const Notifier = {
return true; // possible, but not necessarily enabled
},
isBodyEnabled: function() {
isBodyEnabled: function () {
return this.isEnabled() && SettingsStore.getValue("notificationBodyEnabled");
},
isAudioEnabled: function() {
isAudioEnabled: function () {
// We don't route Audio via the HTML Notifications API so it is possible regardless of other things
return SettingsStore.getValue("audioNotificationsEnabled");
},
setPromptHidden: function(this: typeof Notifier, hidden: boolean, persistent = true) {
setPromptHidden: function (this: typeof Notifier, hidden: boolean, persistent = true) {
this.toolbarHidden = hidden;
hideNotificationsToast();
@@ -334,17 +339,22 @@ export const Notifier = {
}
},
shouldShowPrompt: function() {
shouldShowPrompt: function () {
const client = MatrixClientPeg.get();
if (!client) {
return false;
}
const isGuest = client.isGuest();
return !isGuest && this.supportsDesktopNotifications() && !isPushNotifyDisabled() &&
!this.isEnabled() && !this._isPromptHidden();
return (
!isGuest &&
this.supportsDesktopNotifications() &&
!isPushNotifyDisabled() &&
!this.isEnabled() &&
!this._isPromptHidden()
);
},
_isPromptHidden: function(this: typeof Notifier) {
_isPromptHidden: function (this: typeof Notifier) {
// Check localStorage for any such meta data
if (global.localStorage) {
return global.localStorage.getItem("notifications_hidden") === "true";
@@ -353,7 +363,12 @@ export const Notifier = {
return this.toolbarHidden;
},
onSyncStateChange: function(this: typeof Notifier, state: SyncState, prevState?: SyncState, data?: ISyncStateData) {
onSyncStateChange: function (
this: typeof Notifier,
state: SyncState,
prevState?: SyncState,
data?: ISyncStateData,
) {
if (state === SyncState.Syncing) {
this.isSyncing = true;
} else if (state === SyncState.Stopped || state === SyncState.Error) {
@@ -361,15 +376,12 @@ export const Notifier = {
}
// wait for first non-cached sync to complete
if (
![SyncState.Stopped, SyncState.Error].includes(state) &&
!data?.fromCache
) {
if (![SyncState.Stopped, SyncState.Error].includes(state) && !data?.fromCache) {
createLocalNotificationSettingsIfNeeded(MatrixClientPeg.get());
}
},
onEvent: function(
onEvent: function (
this: typeof Notifier,
ev: MatrixEvent,
room: Room | undefined,
@@ -397,7 +409,7 @@ export const Notifier = {
this._evaluateEvent(ev);
},
onEventDecrypted: function(ev: MatrixEvent) {
onEventDecrypted: function (ev: MatrixEvent) {
// 'decrypted' means the decryption process has finished: it may have failed,
// in which case it might decrypt soon if the keys arrive
if (ev.isDecryptionFailure()) return;
@@ -409,7 +421,7 @@ export const Notifier = {
this._evaluateEvent(ev);
},
onRoomReceipt: function(ev: MatrixEvent, room: Room) {
onRoomReceipt: function (ev: MatrixEvent, room: Room) {
if (room.getUnreadNotificationCount() === 0) {
// ideally we would clear each notification when it was read,
// but we have no way, given a read receipt, to know whether
@@ -427,7 +439,7 @@ export const Notifier = {
}
},
_evaluateEvent: function(ev: MatrixEvent) {
_evaluateEvent: function (ev: MatrixEvent) {
let roomId = ev.getRoomId();
if (LegacyCallHandler.instance.getSupportsVirtualRooms()) {
// Attempt to translate a virtual room to a native one
@@ -450,17 +462,12 @@ export const Notifier = {
const store = SdkContextClass.instance.roomViewStore;
const isViewingRoom = store.getRoomId() === room.roomId;
const threadId: string | undefined = ev.getId() !== ev.threadRootId
? ev.threadRootId
: undefined;
const threadId: string | undefined = ev.getId() !== ev.threadRootId ? ev.threadRootId : undefined;
const isViewingThread = store.getThreadId() === threadId;
const isViewingEventTimeline = isViewingRoom && (!threadId || isViewingThread);
if (isViewingEventTimeline &&
UserActivity.sharedInstance().userActiveRecently() &&
!Modal.hasDialogs()
) {
if (isViewingEventTimeline && UserActivity.sharedInstance().userActiveRecently() && !Modal.hasDialogs()) {
// don't bother notifying as user was recently active in this room
return;
}
@@ -478,11 +485,8 @@ export const Notifier = {
/**
* Some events require special handling such as showing in-app toasts
*/
_performCustomEventHandling: function(ev: MatrixEvent) {
if (
ElementCall.CALL_EVENT_TYPE.names.includes(ev.getType())
&& SettingsStore.getValue("feature_group_calls")
) {
_performCustomEventHandling: function (ev: MatrixEvent) {
if (ElementCall.CALL_EVENT_TYPE.names.includes(ev.getType()) && SettingsStore.getValue("feature_group_calls")) {
ToastStore.sharedInstance().addOrReplaceToast({
key: getIncomingCallToastKey(ev.getStateKey()),
priority: 100,