From fcf0f5f6b52efc9d7c42d4968de5590554b042f9 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 9 Dec 2023 12:58:00 +0900 Subject: fix(frontend): disable Mk:apiExternal --- packages/frontend/src/scripts/aiscript/api.ts | 2 ++ 1 file changed, 2 insertions(+) (limited to 'packages/frontend/src/scripts/aiscript') diff --git a/packages/frontend/src/scripts/aiscript/api.ts b/packages/frontend/src/scripts/aiscript/api.ts index fb7ab924b7..038ae23109 100644 --- a/packages/frontend/src/scripts/aiscript/api.ts +++ b/packages/frontend/src/scripts/aiscript/api.ts @@ -50,6 +50,7 @@ export function createAiScriptEnv(opts) { return values.ERROR('request_failed', utils.jsToVal(err)); }); }), + /* セキュリティ上の問題があるため無効化 'Mk:apiExternal': values.FN_NATIVE(async ([host, ep, param, token]) => { utils.assertString(host); utils.assertString(ep); @@ -60,6 +61,7 @@ export function createAiScriptEnv(opts) { return values.ERROR('request_failed', utils.jsToVal(err)); }); }), + */ 'Mk:save': values.FN_NATIVE(([key, value]) => { utils.assertString(key); miLocalStorage.setItem(`aiscript:${opts.storageKey}:${key.value}`, JSON.stringify(utils.valToJs(value))); -- cgit v1.2.3-freya From dd332b3515fd5284c02e05cd7b5f02d82237b0e8 Mon Sep 17 00:00:00 2001 From: Yuriha <121590760+yuriha-chan@users.noreply.github.com> Date: Sat, 9 Dec 2023 13:14:51 +0900 Subject: Misskey Playのノート投稿画面で「内容を隠す」を設定できるようにする (#12576) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add the content warning option in AiScript UI postFormButton * Fix initial CW in postFormButton --------- Co-authored-by: syuilo --- packages/frontend/src/components/MkAsUi.vue | 2 ++ packages/frontend/src/components/MkPostForm.vue | 5 +++-- packages/frontend/src/components/MkPostFormDialog.vue | 1 + packages/frontend/src/scripts/aiscript/ui.ts | 8 ++++++++ 4 files changed, 14 insertions(+), 2 deletions(-) (limited to 'packages/frontend/src/scripts/aiscript') diff --git a/packages/frontend/src/components/MkAsUi.vue b/packages/frontend/src/components/MkAsUi.vue index 7670b54f16..4239cc6091 100644 --- a/packages/frontend/src/components/MkAsUi.vue +++ b/packages/frontend/src/components/MkAsUi.vue @@ -43,6 +43,7 @@ SPDX-License-Identifier: AGPL-3.0-only fixed :instant="true" :initialText="c.form.text" + :initialCw="c.form.cw" /> @@ -97,6 +98,7 @@ function onSwitchUpdate(v) { function openPostForm() { os.post({ initialText: c.form.text, + initialCw: c.form.cw, instant: true, }); } diff --git a/packages/frontend/src/components/MkPostForm.vue b/packages/frontend/src/components/MkPostForm.vue index 9e5c4ca3f1..e6d55ae982 100644 --- a/packages/frontend/src/components/MkPostForm.vue +++ b/packages/frontend/src/components/MkPostForm.vue @@ -135,6 +135,7 @@ const props = withDefaults(defineProps<{ mention?: Misskey.entities.User; specified?: Misskey.entities.User; initialText?: string; + initialCw?: string; initialVisibility?: (typeof Misskey.noteVisibilities)[number]; initialFiles?: Misskey.entities.DriveFile[]; initialLocalOnly?: boolean; @@ -177,10 +178,10 @@ const poll = ref<{ expiresAt: string | null; expiredAfter: string | null; } | null>(null); -const useCw = ref(false); +const useCw = ref(!!props.initialCw); const showPreview = ref(defaultStore.state.showPreview); watch(showPreview, () => defaultStore.set('showPreview', showPreview.value)); -const cw = ref(null); +const cw = ref(props.initialCw ?? null); const localOnly = ref(props.initialLocalOnly ?? defaultStore.state.rememberNoteVisibility ? defaultStore.state.localOnly : defaultStore.state.defaultNoteLocalOnly); const visibility = ref(props.initialVisibility ?? (defaultStore.state.rememberNoteVisibility ? defaultStore.state.visibility : defaultStore.state.defaultNoteVisibility) as typeof Misskey.noteVisibilities[number]); const visibleUsers = ref([]); diff --git a/packages/frontend/src/components/MkPostFormDialog.vue b/packages/frontend/src/components/MkPostFormDialog.vue index a0fad1ab41..7734e5a6d1 100644 --- a/packages/frontend/src/components/MkPostFormDialog.vue +++ b/packages/frontend/src/components/MkPostFormDialog.vue @@ -22,6 +22,7 @@ const props = defineProps<{ mention?: Misskey.entities.User; specified?: Misskey.entities.User; initialText?: string; + initialCw?: string; initialVisibility?: typeof Misskey.noteVisibilities; initialFiles?: Misskey.entities.DriveFile[]; initialLocalOnly?: boolean; diff --git a/packages/frontend/src/scripts/aiscript/ui.ts b/packages/frontend/src/scripts/aiscript/ui.ts index d326b956e8..75b9248432 100644 --- a/packages/frontend/src/scripts/aiscript/ui.ts +++ b/packages/frontend/src/scripts/aiscript/ui.ts @@ -121,6 +121,7 @@ export type AsUiPostFormButton = AsUiComponentBase & { rounded?: boolean; form?: { text: string; + cw?: string; }; }; @@ -128,6 +129,7 @@ export type AsUiPostForm = AsUiComponentBase & { type: 'postForm'; form?: { text: string; + cw?: string; }; }; @@ -454,8 +456,11 @@ function getPostFormButtonOptions(def: values.Value | undefined, call: (fn: valu const getForm = () => { const text = form!.value.get('text'); utils.assertString(text); + const cw = form!.value.get('cw'); + if (cw) utils.assertString(cw); return { text: text.value, + cw: cw?.value, }; }; @@ -478,8 +483,11 @@ function getPostFormOptions(def: values.Value | undefined, call: (fn: values.VFn const getForm = () => { const text = form!.value.get('text'); utils.assertString(text); + const cw = form!.value.get('cw'); + if (cw) utils.assertString(cw); return { text: text.value, + cw: cw?.value, }; }; -- cgit v1.2.3-freya