diff options
author | Shin'ya Ueoka <ueokande@i-beam.org> | 2021-05-09 15:16:40 +0900 |
---|---|---|
committer | Shin'ya Ueoka <ueokande@i-beam.org> | 2021-05-09 15:16:40 +0900 |
commit | ca3f03ea5ed46d4a6c4815bedd2469a69f3b1183 (patch) | |
tree | c03022cbdb4b21d3c6b50a195e4eb80dd45996a3 | |
parent | b912cd536c6edbb023c8d6e7614cc748ce83a48e (diff) |
Improve an error message on invalid settings
-rw-r--r-- | src/background/presenters/Notifier.ts | 10 | ||||
-rw-r--r-- | src/background/usecases/SettingUseCase.ts | 2 | ||||
-rw-r--r-- | test/background/usecases/SettingUseCase.test.ts | 2 |
3 files changed, 8 insertions, 6 deletions
diff --git a/src/background/presenters/Notifier.ts b/src/background/presenters/Notifier.ts index 957572d..d828b2e 100644 --- a/src/background/presenters/Notifier.ts +++ b/src/background/presenters/Notifier.ts @@ -4,7 +4,7 @@ const NOTIFICATION_ID_INVALID_SETTINGS = "vimvixen-update-invalid-settings"; export default interface Notifier { notifyUpdated(version: string, onclick: () => void): Promise<void>; - notifyInvalidSettings(onclick: () => void): Promise<void>; + notifyInvalidSettings(error: Error, onclick: () => void): Promise<void>; } export class NotifierImpl implements NotifierImpl { @@ -29,11 +29,13 @@ export class NotifierImpl implements NotifierImpl { }); } - async notifyInvalidSettings(onclick: () => void): Promise<void> { + async notifyInvalidSettings( + error: Error, + onclick: () => void + ): Promise<void> { const title = `Loading settings failed`; // eslint-disable-next-line max-len - const message = - "The default settings are used due to the last saved settings is invalid. Check your current settings from the add-on preference"; + const message = `The default settings are used due to the last saved settings is invalid. Check your current settings from the add-on preference: ${error.message}`; const listener = (id: string) => { if (id !== NOTIFICATION_ID_INVALID_SETTINGS) { diff --git a/src/background/usecases/SettingUseCase.ts b/src/background/usecases/SettingUseCase.ts index 34c1f3a..07f0d7c 100644 --- a/src/background/usecases/SettingUseCase.ts +++ b/src/background/usecases/SettingUseCase.ts @@ -54,7 +54,7 @@ export default class SettingUseCase { private showUnableToLoad(e: Error) { console.error("unable to load settings", e); - this.notifier.notifyInvalidSettings(() => { + this.notifier.notifyInvalidSettings(e, () => { browser.runtime.openOptionsPage(); }); } diff --git a/test/background/usecases/SettingUseCase.test.ts b/test/background/usecases/SettingUseCase.test.ts index c604e91..8a4c2b2 100644 --- a/test/background/usecases/SettingUseCase.test.ts +++ b/test/background/usecases/SettingUseCase.test.ts @@ -38,7 +38,7 @@ class MockCachedSettingRepository implements CachedSettingRepository { } class NopNotifier implements Notifier { - notifyInvalidSettings(_onclick: () => void): Promise<void> { + notifyInvalidSettings(_error: Error, _onclick: () => void): Promise<void> { return Promise.resolve(); } |