Simplify event index store reset flow
parent
e53a8ad992
commit
b38f5c9459
|
@ -36,8 +36,8 @@ export default class SeshatResetDialog extends React.PureComponent<IProps> {
|
||||||
<div>
|
<div>
|
||||||
<p>
|
<p>
|
||||||
{_t(
|
{_t(
|
||||||
"Your event store appears corrupted. " +
|
"Your event store appears to be corrupted. " +
|
||||||
"This action will restart this application.",
|
"Your messages will be re-indexed as soon as the store is initialised.",
|
||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -123,11 +123,15 @@ export default class EventIndexPanel extends React.Component {
|
||||||
await this.updateState();
|
await this.updateState();
|
||||||
}
|
}
|
||||||
|
|
||||||
_confirmEventStoreReset() {
|
_confirmEventStoreReset = () => {
|
||||||
Modal.createDialog(SeshatResetDialog, {
|
const self = this;
|
||||||
onFinished: (success) => {
|
const { close } = Modal.createDialog(SeshatResetDialog, {
|
||||||
|
onFinished: async (success) => {
|
||||||
if (success) {
|
if (success) {
|
||||||
EventIndexPeg.resetEventStore();
|
await SettingsStore.setValue('enableEventIndexing', null, SettingLevel.DEVICE, false);
|
||||||
|
await EventIndexPeg.deleteEventIndex();
|
||||||
|
await self._onEnable();
|
||||||
|
close();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
@ -223,7 +227,10 @@ export default class EventIndexPanel extends React.Component {
|
||||||
eventIndexingSettings = (
|
eventIndexingSettings = (
|
||||||
<div className='mx_SettingsTab_subsectionText'>
|
<div className='mx_SettingsTab_subsectionText'>
|
||||||
<p>
|
<p>
|
||||||
{_t("Message search initilisation failed")}
|
{this.state.enabling
|
||||||
|
? <InlineSpinner />
|
||||||
|
: _t("Message search initilisation failed")
|
||||||
|
}
|
||||||
</p>
|
</p>
|
||||||
{EventIndexPeg.error && (
|
{EventIndexPeg.error && (
|
||||||
<details>
|
<details>
|
||||||
|
|
|
@ -309,14 +309,4 @@ export default abstract class BaseEventIndexManager {
|
||||||
async deleteEventIndex(): Promise<void> {
|
async deleteEventIndex(): Promise<void> {
|
||||||
throw new Error("Unimplemented");
|
throw new Error("Unimplemented");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Reset a potentially corrupted event store
|
|
||||||
*
|
|
||||||
* @return {Promise} A promise that will resolve once the event store has
|
|
||||||
* been deleted.
|
|
||||||
*/
|
|
||||||
async resetEventStore(): Promise<void> {
|
|
||||||
throw new Error("Unimplemented");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -179,11 +179,6 @@ class EventIndexPeg {
|
||||||
await indexManager.deleteEventIndex();
|
await indexManager.deleteEventIndex();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
resetEventStore() {
|
|
||||||
const indexManager = PlatformPeg.get().getEventIndexingManager();
|
|
||||||
return indexManager.resetEventStore();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!global.mxEventIndexPeg) {
|
if (!global.mxEventIndexPeg) {
|
||||||
|
|
Loading…
Reference in New Issue