diff --git a/src/components/views/settings/EventIndexPanel.js b/src/components/views/settings/EventIndexPanel.js
index d78b99fc5d..a48583b61d 100644
--- a/src/components/views/settings/EventIndexPanel.js
+++ b/src/components/views/settings/EventIndexPanel.js
@@ -190,7 +190,7 @@ export default class EventIndexPanel extends React.Component {
}
);
- } else {
+ } else if (!EventIndexPeg.platformHasSupport()) {
eventIndexingSettings = (
{
@@ -208,6 +208,23 @@ export default class EventIndexPanel extends React.Component {
}
);
+ } else {
+ eventIndexingSettings = (
+
+
+ {_t("Message search initilisation failed")}
+
+ {EventIndexPeg.error && (
+
+ {_t("Advanced")}
+
+ {EventIndexPeg.error.message}
+
+
+ )}
+
+
+ );
}
return eventIndexingSettings;
diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json
index 5f1003bf29..f0d7922836 100644
--- a/src/i18n/strings/en_EN.json
+++ b/src/i18n/strings/en_EN.json
@@ -1081,6 +1081,7 @@
"Securely cache encrypted messages locally for them to appear in search results.": "Securely cache encrypted messages locally for them to appear in search results.",
"%(brand)s is missing some components required for securely caching encrypted messages locally. If you'd like to experiment with this feature, build a custom %(brand)s Desktop with search components added.": "%(brand)s is missing some components required for securely caching encrypted messages locally. If you'd like to experiment with this feature, build a custom %(brand)s Desktop with search components added.",
"%(brand)s can't securely cache encrypted messages locally while running in a web browser. Use %(brand)s Desktop for encrypted messages to appear in search results.": "%(brand)s can't securely cache encrypted messages locally while running in a web browser. Use %(brand)s Desktop for encrypted messages to appear in search results.",
+ "Message search initilisation failed": "Message search initilisation failed",
"Connecting to integration manager...": "Connecting to integration manager...",
"Cannot connect to integration manager": "Cannot connect to integration manager",
"The integration manager is offline or it cannot reach your homeserver.": "The integration manager is offline or it cannot reach your homeserver.",
diff --git a/src/indexing/EventIndexPeg.js b/src/indexing/EventIndexPeg.js
index 443daa8f43..7004efc554 100644
--- a/src/indexing/EventIndexPeg.js
+++ b/src/indexing/EventIndexPeg.js
@@ -31,6 +31,7 @@ class EventIndexPeg {
constructor() {
this.index = null;
this._supportIsInstalled = false;
+ this.error = null;
}
/**
@@ -96,6 +97,7 @@ class EventIndexPeg {
await index.init();
} catch (e) {
console.log("EventIndex: Error initializing the event index", e);
+ this.error = e;
return false;
}