summaryrefslogtreecommitdiff
path: root/packages/frontend/src/scripts
diff options
context:
space:
mode:
authorかっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>2024-07-14 17:28:34 +0900
committerGitHub <noreply@github.com>2024-07-14 17:28:34 +0900
commit722acf5986bda0ddea3a4724d171e4d553037bbf (patch)
tree955f756222a40fec97a22563e4c3f3e7d25e8b6f /packages/frontend/src/scripts
parentci: ワークフローが更新されたときにもワークフローが起... (diff)
downloadsharkey-722acf5986bda0ddea3a4724d171e4d553037bbf.tar.gz
sharkey-722acf5986bda0ddea3a4724d171e4d553037bbf.tar.bz2
sharkey-722acf5986bda0ddea3a4724d171e4d553037bbf.zip
fix(frontend): follow-up of #13089 (#14206)
* fix(frontend): #13089 を修正 * fix * 正規表現を強化 * fix
Diffstat (limited to 'packages/frontend/src/scripts')
-rw-r--r--packages/frontend/src/scripts/please-login.ts27
-rw-r--r--packages/frontend/src/scripts/url.ts4
2 files changed, 28 insertions, 3 deletions
diff --git a/packages/frontend/src/scripts/please-login.ts b/packages/frontend/src/scripts/please-login.ts
index b04062a58a..18f05bc7f4 100644
--- a/packages/frontend/src/scripts/please-login.ts
+++ b/packages/frontend/src/scripts/please-login.ts
@@ -9,13 +9,38 @@ import { i18n } from '@/i18n.js';
import { popup } from '@/os.js';
export type OpenOnRemoteOptions = {
+ /**
+ * 外部のMisskey Webで特定のパスを開く
+ */
type: 'web';
+
+ /**
+ * 内部パス(例: `/settings`)
+ */
path: string;
} | {
+ /**
+ * 外部のMisskey Webで照会する
+ */
type: 'lookup';
- path: string;
+
+ /**
+ * 照会したいエンティティのURL
+ *
+ * (例: `https://misskey.example.com/notes/abcdexxxxyz`)
+ */
+ url: string;
} | {
+ /**
+ * 外部のMisskeyでノートする
+ */
type: 'share';
+
+ /**
+ * `/share` ページに渡すクエリストリング
+ *
+ * @see https://go.misskey-hub.net/spec/share/
+ */
params: Record<string, string>;
};
diff --git a/packages/frontend/src/scripts/url.ts b/packages/frontend/src/scripts/url.ts
index c477fb5506..5a8265af9e 100644
--- a/packages/frontend/src/scripts/url.ts
+++ b/packages/frontend/src/scripts/url.ts
@@ -23,6 +23,6 @@ export function appendQuery(url: string, query: string): string {
}
export function extractDomain(url: string) {
- const match = url.match(/^(https)?:?\/{0,2}([^\/]+)/);
- return match ? match[2] : null;
+ const match = url.match(/^(?:https?:)?(?:\/\/)?(?:[^@\n]+@)?([^:\/\n]+)/im);
+ return match ? match[1] : null;
}