Merge remote-tracking branch 'misskey/develop' into develop

This commit is contained in:
ThatOneCalculator 2022-07-19 09:04:29 -07:00
commit 0693367f96
7 changed files with 365 additions and 319 deletions

View File

@ -9,6 +9,25 @@
You should also include the user name that made the change. You should also include the user name that made the change.
--> -->
## 12.x.x (unreleased)
### Improvements
### Bugfixes
- Client: 一度作ったwebhookの設定画面を開こうとするとページがフリーズする @syuilo
## 12.117.1 (2022/07/19)
### Improvements
- Client: UIのブラッシュアップ @syuilo
### Bugfixes
- Server: ファイルのアップロードに失敗することがある問題を修正 @acid-chicken
- Client: リアクションピッカーがアプリ内ウィンドウの後ろに表示されてしまう問題を修正 @syuilo
- Client: ユーザー情報の取得の再試行を修正 @xianonn
- Client: MFMチートシートの挙動を修正 @syuilo
- Client: 「インスタンスからのお知らせを受け取る」の設定を変更できない問題を修正 @syuilo
## 12.117.0 (2022/07/18) ## 12.117.0 (2022/07/18)
### Improvements ### Improvements

View File

@ -1047,6 +1047,8 @@ _mfm:
sparkleDescription: "キラキラしたパーティクルのエフェクトを追加します。" sparkleDescription: "キラキラしたパーティクルのエフェクトを追加します。"
rotate: "回転" rotate: "回転"
rotateDescription: "指定した角度で回転させます。" rotateDescription: "指定した角度で回転させます。"
plain: "プレーン"
plainDescription: "内側の構文を全て無効にします。"
_instanceTicker: _instanceTicker:
none: "表示しない" none: "表示しない"

View File

@ -885,6 +885,7 @@ enableAutoSensitiveDescription: "Ak je zapnuté, príznak NSFW sa na médiách a
activeEmailValidationDescription: "Dôkladnejšie overí e-mailovú adresu používateľa tým, že zistí, či ide o vyradenú e-mailovú adresu a či sa s ňou dá skutočne komunikovať. Ak nie je začiarknuté, e-mailová adresa sa kontroluje len ako text." activeEmailValidationDescription: "Dôkladnejšie overí e-mailovú adresu používateľa tým, že zistí, či ide o vyradenú e-mailovú adresu a či sa s ňou dá skutočne komunikovať. Ak nie je začiarknuté, e-mailová adresa sa kontroluje len ako text."
navbar: "Navigačný panel" navbar: "Navigačný panel"
account: "Účty" account: "Účty"
move: "Pohyb"
_sensitiveMediaDetection: _sensitiveMediaDetection:
description: "Strojové učenie sa použije na automatickú detekciu citlivých médií na účely ich moderovania. Mierne sa zvýši zaťaženie servera." description: "Strojové učenie sa použije na automatickú detekciu citlivých médií na účely ich moderovania. Mierne sa zvýši zaťaženie servera."
sensitivity: "Citlivosť detekcie" sensitivity: "Citlivosť detekcie"
@ -1691,6 +1692,7 @@ _deck:
alwaysShowMainColumn: "Vždy zobraziť v hlavnom stĺpci" alwaysShowMainColumn: "Vždy zobraziť v hlavnom stĺpci"
columnAlign: "Zarovnať stĺpce" columnAlign: "Zarovnať stĺpce"
addColumn: "Pridať stĺpec" addColumn: "Pridať stĺpec"
configureColumn: "Nastavenie stĺpcov"
swapLeft: "Vymeniť vľavo" swapLeft: "Vymeniť vľavo"
swapRight: "Vymeniť vpravo" swapRight: "Vymeniť vpravo"
swapUp: "Vymeniť hore" swapUp: "Vymeniť hore"

View File

@ -101,13 +101,17 @@ export async function getFileInfo(path: string, opts: {
let porn = false; let porn = false;
if (!opts.skipSensitiveDetection) { if (!opts.skipSensitiveDetection) {
[sensitive, porn] = await detectSensitivity( await detectSensitivity(
path, path,
type.mime, type.mime,
opts.sensitiveThreshold ?? 0.5, opts.sensitiveThreshold ?? 0.5,
opts.sensitiveThresholdForPorn ?? 0.75, opts.sensitiveThresholdForPorn ?? 0.75,
opts.enableSensitiveMediaDetectionForVideos ?? false, opts.enableSensitiveMediaDetectionForVideos ?? false,
); ).then(value => {
[sensitive, porn] = value;
}, error => {
warnings.push(`detectSensitivity failed: ${error}`);
});
} }
return { return {

View File

@ -1,6 +1,12 @@
<template> <template>
<KeepAlive :max="defaultStore.state.numberOfPageCache"> <KeepAlive :max="defaultStore.state.numberOfPageCache">
<Suspense>
<component :is="currentPageComponent" :key="key" v-bind="Object.fromEntries(currentPageProps)"/> <component :is="currentPageComponent" :key="key" v-bind="Object.fromEntries(currentPageProps)"/>
<template #fallback>
Loading...
</template>
</Suspense>
</KeepAlive> </KeepAlive>
</template> </template>

View File

@ -1,6 +1,7 @@
<template> <template>
<MkStickyContainer> <MkStickyContainer>
<template #header><MkPageHeader/></template> <template #header><MkPageHeader/></template>
<MkSpacer :content-max="800">
<div class="mwysmxbg"> <div class="mwysmxbg">
<div>{{ $ts._mfm.intro }}</div> <div>{{ $ts._mfm.intro }}</div>
<div class="section _block"> <div class="section _block">
@ -295,7 +296,18 @@
</div> </div>
</div> </div>
</div> </div>
<div class="section _block">
<div class="title">{{ $ts._mfm.plain }}</div>
<div class="content">
<p>{{ $ts._mfm.plainDescription }}</p>
<div class="preview">
<Mfm :text="preview_plain"/>
<MkTextarea v-model="preview_plain"><span>MFM</span></MkTextarea>
</div> </div>
</div>
</div>
</div>
</MkSpacer>
</MkStickyContainer> </MkStickyContainer>
</template> </template>
@ -306,35 +318,36 @@ import { definePageMetadata } from '@/scripts/page-metadata';
import { i18n } from '@/i18n'; import { i18n } from '@/i18n';
import { instance } from '@/instance'; import { instance } from '@/instance';
let preview_mention = '@example'; let preview_mention = $ref('@example');
let preview_hashtag = '#test'; let preview_hashtag = $ref('#test');
let preview_url = 'https://example.com'; let preview_url = $ref('https://example.com');
let preview_link = `[${i18n.ts._mfm.dummy}](https://example.com)`; let preview_link = $ref(`[${i18n.ts._mfm.dummy}](https://example.com)`);
let preview_emoji = instance.emojis.length ? `:${instance.emojis[0].name}:` : ':emojiname:'; let preview_emoji = $ref(instance.emojis.length ? `:${instance.emojis[0].name}:` : ':emojiname:');
let preview_bold = `**${i18n.ts._mfm.dummy}**`; let preview_bold = $ref(`**${i18n.ts._mfm.dummy}**`);
let preview_small = `<small>${i18n.ts._mfm.dummy}</small>`; let preview_small = $ref(`<small>${i18n.ts._mfm.dummy}</small>`);
let preview_center = `<center>${i18n.ts._mfm.dummy}</center>`; let preview_center = $ref(`<center>${i18n.ts._mfm.dummy}</center>`);
let preview_inlineCode = '`<: "Hello, world!"`'; let preview_inlineCode = $ref('`<: "Hello, world!"`');
let preview_blockCode = '```\n~ (#i, 100) {\n\t<: ? ((i % 15) = 0) "FizzBuzz"\n\t\t.? ((i % 3) = 0) "Fizz"\n\t\t.? ((i % 5) = 0) "Buzz"\n\t\t. i\n}\n```'; let preview_blockCode = $ref('```\n~ (#i, 100) {\n\t<: ? ((i % 15) = 0) "FizzBuzz"\n\t\t.? ((i % 3) = 0) "Fizz"\n\t\t.? ((i % 5) = 0) "Buzz"\n\t\t. i\n}\n```');
let preview_inlineMath = '\\(x= \\frac{-b\' \\pm \\sqrt{(b\')^2-ac}}{a}\\)'; let preview_inlineMath = $ref('\\(x= \\frac{-b\' \\pm \\sqrt{(b\')^2-ac}}{a}\\)');
let preview_quote = `> ${i18n.ts._mfm.dummy}`; let preview_quote = $ref(`> ${i18n.ts._mfm.dummy}`);
let preview_search = `${i18n.ts._mfm.dummy} 検索`; let preview_search = $ref(`${i18n.ts._mfm.dummy} 検索`);
let preview_jelly = '$[jelly 🍮] $[jelly.speed=5s 🍮]'; let preview_jelly = $ref('$[jelly 🍮] $[jelly.speed=5s 🍮]');
let preview_tada = '$[tada 🍮] $[tada.speed=5s 🍮]'; let preview_tada = $ref('$[tada 🍮] $[tada.speed=5s 🍮]');
let preview_jump = '$[jump 🍮] $[jump.speed=5s 🍮]'; let preview_jump = $ref('$[jump 🍮] $[jump.speed=5s 🍮]');
let preview_bounce = '$[bounce 🍮] $[bounce.speed=5s 🍮]'; let preview_bounce = $ref('$[bounce 🍮] $[bounce.speed=5s 🍮]');
let preview_shake = '$[shake 🍮] $[shake.speed=5s 🍮]'; let preview_shake = $ref('$[shake 🍮] $[shake.speed=5s 🍮]');
let preview_twitch = '$[twitch 🍮] $[twitch.speed=5s 🍮]'; let preview_twitch = $ref('$[twitch 🍮] $[twitch.speed=5s 🍮]');
let preview_spin = '$[spin 🍮] $[spin.left 🍮] $[spin.alternate 🍮]\n$[spin.x 🍮] $[spin.x,left 🍮] $[spin.x,alternate 🍮]\n$[spin.y 🍮] $[spin.y,left 🍮] $[spin.y,alternate 🍮]\n\n$[spin.speed=5s 🍮]'; let preview_spin = $ref('$[spin 🍮] $[spin.left 🍮] $[spin.alternate 🍮]\n$[spin.x 🍮] $[spin.x,left 🍮] $[spin.x,alternate 🍮]\n$[spin.y 🍮] $[spin.y,left 🍮] $[spin.y,alternate 🍮]\n\n$[spin.speed=5s 🍮]');
let preview_flip = `$[flip ${i18n.ts._mfm.dummy}]\n$[flip.v ${i18n.ts._mfm.dummy}]\n$[flip.h,v ${i18n.ts._mfm.dummy}]`; let preview_flip = $ref(`$[flip ${i18n.ts._mfm.dummy}]\n$[flip.v ${i18n.ts._mfm.dummy}]\n$[flip.h,v ${i18n.ts._mfm.dummy}]`);
let preview_font = `$[font.serif ${i18n.ts._mfm.dummy}]\n$[font.monospace ${i18n.ts._mfm.dummy}]\n$[font.cursive ${i18n.ts._mfm.dummy}]\n$[font.fantasy ${i18n.ts._mfm.dummy}]`; let preview_font = $ref(`$[font.serif ${i18n.ts._mfm.dummy}]\n$[font.monospace ${i18n.ts._mfm.dummy}]\n$[font.cursive ${i18n.ts._mfm.dummy}]\n$[font.fantasy ${i18n.ts._mfm.dummy}]`);
let preview_x2 = '$[x2 🍮]'; let preview_x2 = $ref('$[x2 🍮]');
let preview_x3 = '$[x3 🍮]'; let preview_x3 = $ref('$[x3 🍮]');
let preview_x4 = '$[x4 🍮]'; let preview_x4 = $ref('$[x4 🍮]');
let preview_blur = `$[blur ${i18n.ts._mfm.dummy}]`; let preview_blur = $ref(`$[blur ${i18n.ts._mfm.dummy}]`);
let preview_rainbow = '$[rainbow 🍮] $[rainbow.speed=5s 🍮]'; let preview_rainbow = $ref('$[rainbow 🍮] $[rainbow.speed=5s 🍮]');
let preview_sparkle = '$[sparkle 🍮]'; let preview_sparkle = $ref('$[sparkle 🍮]');
let preview_rotate = '$[rotate 🍮]'; let preview_rotate = $ref('$[rotate 🍮]');
let preview_plain = $ref('<plain>**bold** @mention #hashtag `code` $[x2 🍮]</plain>');
definePageMetadata({ definePageMetadata({
title: i18n.ts._mfm.cheatSheet, title: i18n.ts._mfm.cheatSheet,

View File

@ -10,7 +10,7 @@
</FormSection> </FormSection>
<FormSection> <FormSection>
<FormSwitch :value="$i.receiveAnnouncementEmail" @update:modelValue="onChangeReceiveAnnouncementEmail"> <FormSwitch :model-value="$i.receiveAnnouncementEmail" @update:modelValue="onChangeReceiveAnnouncementEmail">
{{ $ts.receiveAnnouncementFromInstance }} {{ $ts.receiveAnnouncementFromInstance }}
</FormSwitch> </FormSwitch>
</FormSection> </FormSection>