From 355debba68356f1a550e1921fd77e11a912b8aa3 Mon Sep 17 00:00:00 2001
From: Michael Telatynski <7t3chguy@gmail.com>
Date: Wed, 1 Dec 2021 08:52:44 +0000
Subject: [PATCH 1/3] Hide clear cache and reload button if crash is before
client init
---
src/components/views/elements/ErrorBoundary.tsx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/components/views/elements/ErrorBoundary.tsx b/src/components/views/elements/ErrorBoundary.tsx
index 7e8686a35c4..aaeea26e5f0 100644
--- a/src/components/views/elements/ErrorBoundary.tsx
+++ b/src/components/views/elements/ErrorBoundary.tsx
@@ -110,9 +110,9 @@ export default class ErrorBoundary extends React.PureComponent<{}, IState> {
{ _t("Something went wrong!") }
{ bugReportSection }
-
+ { MatrixClientPeg.get() &&
{ _t("Clear cache and reload") }
-
+ }
;
}
From 69d0f4d1ee2290ff53009218fea01ca88f617f36 Mon Sep 17 00:00:00 2001
From: Michael Telatynski <7t3chguy@gmail.com>
Date: Wed, 1 Dec 2021 08:55:13 +0000
Subject: [PATCH 2/3] Remove dispatcher unregister from LoggedInView
---
src/components/structures/LoggedInView.tsx | 2 --
1 file changed, 2 deletions(-)
diff --git a/src/components/structures/LoggedInView.tsx b/src/components/structures/LoggedInView.tsx
index 777e83d5e6a..1887e889f66 100644
--- a/src/components/structures/LoggedInView.tsx
+++ b/src/components/structures/LoggedInView.tsx
@@ -147,7 +147,6 @@ interface IState {
class LoggedInView extends React.Component {
static displayName = 'LoggedInView';
- private dispatcherRef: string;
protected readonly _matrixClient: MatrixClient;
protected readonly _roomView: React.RefObject;
protected readonly _resizeContainer: React.RefObject;
@@ -213,7 +212,6 @@ class LoggedInView extends React.Component {
componentWillUnmount() {
document.removeEventListener('keydown', this.onNativeKeyDown, false);
CallHandler.instance.removeListener(CallHandlerEvent.CallState, this.onCallState);
- dis.unregister(this.dispatcherRef);
this._matrixClient.removeListener("accountData", this.onAccountData);
this._matrixClient.removeListener("sync", this.onSync);
this._matrixClient.removeListener("RoomState.events", this.onRoomStateEvents);
From 59dd0c8d73ad4b824860a86af6533561e8a6a052 Mon Sep 17 00:00:00 2001
From: Michael Telatynski <7t3chguy@gmail.com>
Date: Wed, 1 Dec 2021 10:46:56 +0000
Subject: [PATCH 3/3] Add comment
---
src/components/structures/LoggedInView.tsx | 2 +-
src/components/views/elements/ErrorBoundary.tsx | 12 +++++++++---
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/src/components/structures/LoggedInView.tsx b/src/components/structures/LoggedInView.tsx
index 1887e889f66..427e5f84674 100644
--- a/src/components/structures/LoggedInView.tsx
+++ b/src/components/structures/LoggedInView.tsx
@@ -138,7 +138,7 @@ interface IState {
* This is what our MatrixChat shows when we are logged in. The precise view is
* determined by the page_type property.
*
- * Currently it's very tightly coupled with MatrixChat. We should try to do
+ * Currently, it's very tightly coupled with MatrixChat. We should try to do
* something about that.
*
* Components mounted below us can access the matrix client via the react context.
diff --git a/src/components/views/elements/ErrorBoundary.tsx b/src/components/views/elements/ErrorBoundary.tsx
index aaeea26e5f0..78f96ddd739 100644
--- a/src/components/views/elements/ErrorBoundary.tsx
+++ b/src/components/views/elements/ErrorBoundary.tsx
@@ -106,13 +106,19 @@ export default class ErrorBoundary extends React.PureComponent<{}, IState> {
;
}
+ let clearCacheButton: JSX.Element;
+ // we only show this button if there is an initialised MatrixClient otherwise we can't clear the cache
+ if (MatrixClientPeg.get()) {
+ clearCacheButton =
+ { _t("Clear cache and reload") }
+ ;
+ }
+
return
{ _t("Something went wrong!") }
{ bugReportSection }
- { MatrixClientPeg.get() &&
- { _t("Clear cache and reload") }
- }
+ { clearCacheButton }
;
}