From 65e3fc9bc4f2e8bbb1c9c7346c8a737e1671af8c Mon Sep 17 00:00:00 2001 From: SettingDust Date: Thu, 1 Dec 2022 18:44:51 +0800 Subject: [PATCH] feat: readable error in frontend Signed-off-by: SettingDust --- package.json | 2 +- src/_locales/en/messages.json | 4 ++-- src/_locales/zh_CN/messages.json | 4 ++-- src/app/background/background.component.ts | 3 ++- src/content-scripts/error-action.ts | 7 ------- src/content-scripts/index.ts | 10 ++++++++++ src/manifest.json | 2 +- 7 files changed, 18 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index 5bf19a6..d28ae73 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "obsidian-web-clipper", "packageManager": "yarn@3.3.0", "type": "module", - "version": "1.0.2", + "version": "1.0.3", "scripts": { "ng": "ng", "lint": "cd ./dist && web-ext lint", diff --git a/src/_locales/en/messages.json b/src/_locales/en/messages.json index 3b2e412..8af50d0 100644 --- a/src/_locales/en/messages.json +++ b/src/_locales/en/messages.json @@ -108,9 +108,9 @@ "message": "Can't connect to server. Please confirm Obsidian is running, installed Local REST API plugin in Obsidian and check url option" }, "errorNoPermission": { - "message": "Can't get extension permission" + "message": "Can't get extension permission. Please click request permission in options page" }, "errorNoToken": { - "message": "No or wrong token" + "message": "No or wrong Local REST API token. Please find it in Obsidian settings" } } diff --git a/src/_locales/zh_CN/messages.json b/src/_locales/zh_CN/messages.json index e6f4671..34b607a 100644 --- a/src/_locales/zh_CN/messages.json +++ b/src/_locales/zh_CN/messages.json @@ -100,9 +100,9 @@ "message": "无法连接服务器,请确认 Obsidian 已启动,且装有 Local REST API 插件,并检查 URL 设置" }, "errorNoPermission": { - "message": "无法获取扩展域名访问权限" + "message": "无法获取扩展域名访问权限,请在设置中点击请求权限按钮" }, "errorNoToken": { - "message": "令牌缺失或错误" + "message": "Local REST API 令牌缺失或错误,请在 Obsidian 设置中查看插件设置" } } diff --git a/src/app/background/background.component.ts b/src/app/background/background.component.ts index e34d7ef..9db74ea 100644 --- a/src/app/background/background.component.ts +++ b/src/app/background/background.component.ts @@ -51,7 +51,8 @@ export class BackgroundComponent { ), catchError((error: unknown) => { if (sender?.tab?.id) extensionService.message.action(sender.tab.id, 'error', error) - return throwError(() => error) + console.warn(error) + return of(null) }) ) ) diff --git a/src/content-scripts/error-action.ts b/src/content-scripts/error-action.ts index 28cbf30..ee16a7a 100644 --- a/src/content-scripts/error-action.ts +++ b/src/content-scripts/error-action.ts @@ -1,11 +1,4 @@ import { ActionData } from '../action' -import $background from './background-listener' - -$background.message.actionListener('error').subscribe(({ message, respond }) => { - // TODO: popup of error - console.warn('[obsidian-web-clipper:error]', message) - respond() -}) export type ErrorBackgroundAction = ActionData< { diff --git a/src/content-scripts/index.ts b/src/content-scripts/index.ts index a2b8abf..ab11bd0 100644 --- a/src/content-scripts/index.ts +++ b/src/content-scripts/index.ts @@ -1,4 +1,14 @@ import './background-listener' import './shortcuts' +import $background from './background-listener' console.debug('[obsidian-web-clipper]: Loaded') + +$background.message.actionListener('error').subscribe(({ message, respond }) => { + console.warn('[obsidian-web-clipper:error]', message) + const finalMessage = typeof message === 'string' ? message : message?.data?.message + if (finalMessage) { + alert(`[Obsidian Web Clipper] ${finalMessage}`) + } + respond() +}) diff --git a/src/manifest.json b/src/manifest.json index f6cb560..d46730f 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -2,7 +2,7 @@ "$schema": "https://raw.githubusercontent.com/PrsPrsBK/ffext-manifest-schema/master/ffext.json", "manifest_version": 2, "name": "__MSG_extensionName__", - "version": "1.0.2", + "version": "1.0.3", "description": "__MSG_extensionDescription__", "permissions": [ "tabs",