Merge branch 'develop'
This commit is contained in:
commit
09591fa4ae
15 changed files with 368 additions and 335 deletions
12
CHANGELOG.md
12
CHANGELOG.md
|
@ -9,6 +9,18 @@
|
||||||
You should also include the user name that made the change.
|
You should also include the user name that made the change.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
## 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
|
||||||
|
|
|
@ -1038,6 +1038,8 @@ _mfm:
|
||||||
sparkleDescription: "キラキラしたパーティクルのエフェクトを追加します。"
|
sparkleDescription: "キラキラしたパーティクルのエフェクトを追加します。"
|
||||||
rotate: "回転"
|
rotate: "回転"
|
||||||
rotateDescription: "指定した角度で回転させます。"
|
rotateDescription: "指定した角度で回転させます。"
|
||||||
|
plain: "プレーン"
|
||||||
|
plainDescription: "内側の構文を全て無効にします。"
|
||||||
|
|
||||||
_instanceTicker:
|
_instanceTicker:
|
||||||
none: "表示しない"
|
none: "表示しない"
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "misskey",
|
"name": "misskey",
|
||||||
"version": "12.117.0",
|
"version": "12.117.1",
|
||||||
"codename": "indigo",
|
"codename": "indigo",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
"@rollup/plugin-alias": "3.1.9",
|
"@rollup/plugin-alias": "3.1.9",
|
||||||
"@rollup/plugin-json": "4.1.0",
|
"@rollup/plugin-json": "4.1.0",
|
||||||
"@syuilo/aiscript": "0.11.1",
|
"@syuilo/aiscript": "0.11.1",
|
||||||
"@vitejs/plugin-vue": "3.0.0",
|
"@vitejs/plugin-vue": "3.0.1",
|
||||||
"@vue/compiler-sfc": "3.2.37",
|
"@vue/compiler-sfc": "3.2.37",
|
||||||
"abort-controller": "3.0.0",
|
"abort-controller": "3.0.0",
|
||||||
"autobind-decorator": "2.4.0",
|
"autobind-decorator": "2.4.0",
|
||||||
|
@ -73,7 +73,7 @@
|
||||||
"uuid": "8.3.2",
|
"uuid": "8.3.2",
|
||||||
"v-debounce": "0.1.2",
|
"v-debounce": "0.1.2",
|
||||||
"vanilla-tilt": "1.7.2",
|
"vanilla-tilt": "1.7.2",
|
||||||
"vite": "3.0.0",
|
"vite": "3.0.2",
|
||||||
"vue": "3.2.37",
|
"vue": "3.2.37",
|
||||||
"vue-prism-editor": "2.0.0-alpha.2",
|
"vue-prism-editor": "2.0.0-alpha.2",
|
||||||
"vuedraggable": "4.0.1",
|
"vuedraggable": "4.0.1",
|
||||||
|
|
|
@ -75,7 +75,7 @@ const props = withDefaults(defineProps<{
|
||||||
canResize: false,
|
canResize: false,
|
||||||
closeButton: true,
|
closeButton: true,
|
||||||
mini: false,
|
mini: false,
|
||||||
front: true,
|
front: false,
|
||||||
contextmenu: null,
|
contextmenu: null,
|
||||||
buttonsLeft: () => [],
|
buttonsLeft: () => [],
|
||||||
buttonsRight: () => [],
|
buttonsRight: () => [],
|
||||||
|
|
|
@ -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';
|
||||||
|
|
||||||
const preview_mention = '@example';
|
let preview_mention = $ref('@example');
|
||||||
const preview_hashtag = '#test';
|
let preview_hashtag = $ref('#test');
|
||||||
const preview_url = 'https://example.com';
|
let preview_url = $ref('https://example.com');
|
||||||
const preview_link = `[${i18n.ts._mfm.dummy}](https://example.com)`;
|
let preview_link = $ref(`[${i18n.ts._mfm.dummy}](https://example.com)`);
|
||||||
const preview_emoji = instance.emojis.length ? `:${instance.emojis[0].name}:` : ':emojiname:';
|
let preview_emoji = $ref(instance.emojis.length ? `:${instance.emojis[0].name}:` : ':emojiname:');
|
||||||
const preview_bold = `**${i18n.ts._mfm.dummy}**`;
|
let preview_bold = $ref(`**${i18n.ts._mfm.dummy}**`);
|
||||||
const preview_small = `<small>${i18n.ts._mfm.dummy}</small>`;
|
let preview_small = $ref(`<small>${i18n.ts._mfm.dummy}</small>`);
|
||||||
const preview_center = `<center>${i18n.ts._mfm.dummy}</center>`;
|
let preview_center = $ref(`<center>${i18n.ts._mfm.dummy}</center>`);
|
||||||
const preview_inlineCode = '`<: "Hello, world!"`';
|
let preview_inlineCode = $ref('`<: "Hello, world!"`');
|
||||||
const 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```');
|
||||||
const preview_inlineMath = '\\(x= \\frac{-b\' \\pm \\sqrt{(b\')^2-ac}}{a}\\)';
|
let preview_inlineMath = $ref('\\(x= \\frac{-b\' \\pm \\sqrt{(b\')^2-ac}}{a}\\)');
|
||||||
const preview_quote = `> ${i18n.ts._mfm.dummy}`;
|
let preview_quote = $ref(`> ${i18n.ts._mfm.dummy}`);
|
||||||
const preview_search = `${i18n.ts._mfm.dummy} 検索`;
|
let preview_search = $ref(`${i18n.ts._mfm.dummy} 検索`);
|
||||||
const preview_jelly = '$[jelly 🍮] $[jelly.speed=5s 🍮]';
|
let preview_jelly = $ref('$[jelly 🍮] $[jelly.speed=5s 🍮]');
|
||||||
const preview_tada = '$[tada 🍮] $[tada.speed=5s 🍮]';
|
let preview_tada = $ref('$[tada 🍮] $[tada.speed=5s 🍮]');
|
||||||
const preview_jump = '$[jump 🍮] $[jump.speed=5s 🍮]';
|
let preview_jump = $ref('$[jump 🍮] $[jump.speed=5s 🍮]');
|
||||||
const preview_bounce = '$[bounce 🍮] $[bounce.speed=5s 🍮]';
|
let preview_bounce = $ref('$[bounce 🍮] $[bounce.speed=5s 🍮]');
|
||||||
const preview_shake = '$[shake 🍮] $[shake.speed=5s 🍮]';
|
let preview_shake = $ref('$[shake 🍮] $[shake.speed=5s 🍮]');
|
||||||
const preview_twitch = '$[twitch 🍮] $[twitch.speed=5s 🍮]';
|
let preview_twitch = $ref('$[twitch 🍮] $[twitch.speed=5s 🍮]');
|
||||||
const 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 🍮]');
|
||||||
const 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}]`);
|
||||||
const 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}]`);
|
||||||
const preview_x2 = '$[x2 🍮]';
|
let preview_x2 = $ref('$[x2 🍮]');
|
||||||
const preview_x3 = '$[x3 🍮]';
|
let preview_x3 = $ref('$[x3 🍮]');
|
||||||
const preview_x4 = '$[x4 🍮]';
|
let preview_x4 = $ref('$[x4 🍮]');
|
||||||
const preview_blur = `$[blur ${i18n.ts._mfm.dummy}]`;
|
let preview_blur = $ref(`$[blur ${i18n.ts._mfm.dummy}]`);
|
||||||
const preview_rainbow = '$[rainbow 🍮] $[rainbow.speed=5s 🍮]';
|
let preview_rainbow = $ref('$[rainbow 🍮] $[rainbow.speed=5s 🍮]');
|
||||||
const preview_sparkle = '$[sparkle 🍮]';
|
let preview_sparkle = $ref('$[sparkle 🍮]');
|
||||||
const 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,
|
||||||
|
|
|
@ -74,7 +74,7 @@ function fetchValue() {
|
||||||
async function save() {
|
async function save() {
|
||||||
try {
|
try {
|
||||||
JSON5.parse(valueForEditor);
|
JSON5.parse(valueForEditor);
|
||||||
} catch (e) {
|
} catch (err) {
|
||||||
os.alert({
|
os.alert({
|
||||||
type: 'error',
|
type: 'error',
|
||||||
text: i18n.ts.invalidValue,
|
text: i18n.ts.invalidValue,
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<div v-if="user">
|
<div v-if="user">
|
||||||
<XFollowList :user="user" type="followers"/>
|
<XFollowList :user="user" type="followers"/>
|
||||||
</div>
|
</div>
|
||||||
<MkError v-else-if="error" @retry="fetch()"/>
|
<MkError v-else-if="error" @retry="fetchUser()"/>
|
||||||
<MkLoading v-else/>
|
<MkLoading v-else/>
|
||||||
</transition>
|
</transition>
|
||||||
</MkSpacer>
|
</MkSpacer>
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<div v-if="user">
|
<div v-if="user">
|
||||||
<XFollowList :user="user" type="following"/>
|
<XFollowList :user="user" type="following"/>
|
||||||
</div>
|
</div>
|
||||||
<MkError v-else-if="error" @retry="fetch()"/>
|
<MkError v-else-if="error" @retry="fetchUser()"/>
|
||||||
<MkLoading v-else/>
|
<MkLoading v-else/>
|
||||||
</transition>
|
</transition>
|
||||||
</MkSpacer>
|
</MkSpacer>
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
<XPages v-else-if="tab === 'pages'" :user="user"/>
|
<XPages v-else-if="tab === 'pages'" :user="user"/>
|
||||||
<XGallery v-else-if="tab === 'gallery'" :user="user"/>
|
<XGallery v-else-if="tab === 'gallery'" :user="user"/>
|
||||||
</div>
|
</div>
|
||||||
<MkError v-else-if="error" @retry="fetch()"/>
|
<MkError v-else-if="error" @retry="fetchUser()"/>
|
||||||
<MkLoading v-else/>
|
<MkLoading v-else/>
|
||||||
</transition>
|
</transition>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -156,7 +156,7 @@ function more(ev: MouseEvent) {
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.mvcprjjd {
|
.mvcprjjd {
|
||||||
$nav-width: 250px;
|
$nav-width: 250px;
|
||||||
$nav-icon-only-width: 86px;
|
$nav-icon-only-width: 80px;
|
||||||
|
|
||||||
flex: 0 0 $nav-width;
|
flex: 0 0 $nav-width;
|
||||||
width: $nav-width;
|
width: $nav-width;
|
||||||
|
|
|
@ -600,10 +600,10 @@
|
||||||
resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44"
|
resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44"
|
||||||
integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==
|
integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==
|
||||||
|
|
||||||
"@vitejs/plugin-vue@3.0.0":
|
"@vitejs/plugin-vue@3.0.1":
|
||||||
version "3.0.0"
|
version "3.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-3.0.0.tgz#7081e2b3fbe04e291bb85107b9fb57a1fa5e6aeb"
|
resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-3.0.1.tgz#b6af8f782485374bbb5fe09edf067a845bf4caae"
|
||||||
integrity sha512-yWP34ArFh/jAeNUDkkLz/kVRLjf5ppJiq4L36f64Cp6dIrMQeYZGDP9xxdemlXfZR9ylN9JgHUl3GzfqOtgYDg==
|
integrity sha512-Ll9JgxG7ONIz/XZv3dssfoMUDu9qAnlJ+km+pBA0teYSXzwPCIzS/e1bmwNYl5dcQGs677D21amgfYAnzMl17A==
|
||||||
|
|
||||||
"@vue/compiler-core@3.2.37":
|
"@vue/compiler-core@3.2.37":
|
||||||
version "3.2.37"
|
version "3.2.37"
|
||||||
|
@ -4222,10 +4222,10 @@ verror@1.10.0:
|
||||||
core-util-is "1.0.2"
|
core-util-is "1.0.2"
|
||||||
extsprintf "^1.2.0"
|
extsprintf "^1.2.0"
|
||||||
|
|
||||||
vite@3.0.0:
|
vite@3.0.2:
|
||||||
version "3.0.0"
|
version "3.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/vite/-/vite-3.0.0.tgz#b4675cb9ab83ec0803b9c952ffa6519bcce033a7"
|
resolved "https://registry.yarnpkg.com/vite/-/vite-3.0.2.tgz#2a7b4642c53ae066cf724e7e581d6c1fd24e2c32"
|
||||||
integrity sha512-M7phQhY3+fRZa0H+1WzI6N+/onruwPTBTMvaj7TzgZ0v2TE+N2sdLKxJOfOv9CckDWt5C4HmyQP81xB4dwRKzA==
|
integrity sha512-TAqydxW/w0U5AoL5AsD9DApTvGb2iNbGs3sN4u2VdT1GFkQVUfgUldt+t08TZgi23uIauh1TUOQJALduo9GXqw==
|
||||||
dependencies:
|
dependencies:
|
||||||
esbuild "^0.14.47"
|
esbuild "^0.14.47"
|
||||||
postcss "^8.4.14"
|
postcss "^8.4.14"
|
||||||
|
|
Loading…
Reference in a new issue