Simplify event index store reset flow

pull/21833/head
Germain Souquet 2021-03-29 15:46:58 +01:00
parent e53a8ad992
commit b38f5c9459
4 changed files with 14 additions and 22 deletions

View File

@ -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>

View File

@ -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>

View File

@ -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");
}
} }

View File

@ -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) {