1
1
mirror of https://github.com/kokonect-link/cherrypick synced 2024-11-27 22:38:34 +09:00

Merge remote-branch 'misskey/develop'

This commit is contained in:
NoriDev 2023-12-14 20:15:56 +09:00
commit 463368277b
8 changed files with 41 additions and 86 deletions

View File

@ -36,6 +36,7 @@
### Client
- Feat: 今日誕生日のフォロー中のユーザーを一覧表示できるウィジェットを追加
- Feat: データセーバーでコードハイライトの読み込みを削減できるように
- Feat: MFMのアニメーション要素`tada`, `jelly`, `twitch`, `shake`, `spin`, `jump`, `bounce`, `rainbow`)に `delay` オプションを追加
- Enhance: 投稿フォームの絵文字ピッカーをリアクション時に使用するものと同じのを使用するように #12336 #12560
- Enhance: リアクション用ピン留め絵文字と投稿時の絵文字入力用ピン留め絵文字を分けて設定できるように #12560
- Enhance: 絵文字のオートコンプリート機能強化 #12364

1
locales/index.d.ts vendored
View File

@ -1284,6 +1284,7 @@ export interface Locale {
"code": string;
"reloadRequiredToApplySettings": string;
"remainingN": string;
"overwriteContentConfirm": string;
"showUnreadNotificationsCount": string;
"showCatOnly": string;
"additionalPermissionsForFlash": string;

View File

@ -1281,6 +1281,7 @@ doReaction: "リアクションする"
code: "コード"
reloadRequiredToApplySettings: "設定の反映にはリロードが必要です。"
remainingN: "残り: {n}"
overwriteContentConfirm: "現在の内容に上書きされますがよろしいですか?"
showUnreadNotificationsCount: "未読の通知の数を表示する"
showCatOnly: "キャット付きのみ"
additionalPermissionsForFlash: "Playへの追加許可"

View File

@ -106,7 +106,7 @@
"content-disposition": "0.5.4",
"date-fns": "2.30.0",
"deep-email-validator": "0.1.21",
"fastify": "4.25.0",
"fastify": "4.24.3",
"fastify-raw-body": "4.3.0",
"feed": "4.2.2",
"file-type": "18.7.0",
@ -152,7 +152,7 @@
"ratelimiter": "3.4.1",
"re2": "1.20.9",
"redis-lock": "0.1.4",
"reflect-metadata": "0.2.0",
"reflect-metadata": "0.1.14",
"rename": "1.0.4",
"rss-parser": "3.13.0",
"rxjs": "7.8.1",

View File

@ -20,7 +20,6 @@
"@discordapp/twemoji": "14.1.2",
"@fontsource/jetbrains-mono": "^5.0.12",
"@github/webauthn-json": "2.1.1",
"@rollup/plugin-alias": "5.1.0",
"@rollup/plugin-json": "6.1.0",
"@rollup/plugin-replace": "5.0.5",
"@rollup/pluginutils": "5.1.0",
@ -60,7 +59,6 @@
"pretendard-jp": "^1.3.8",
"prismjs": "1.29.0",
"punycode": "2.3.1",
"querystring": "0.2.1",
"rollup": "4.9.0",
"sanitize-html": "2.11.0",
"shiki": "0.14.6",
@ -78,7 +76,6 @@
"typescript": "5.3.3",
"uuid": "9.0.1",
"v-code-diff": "1.7.2",
"vanilla-tilt": "1.8.1",
"vite": "5.0.8",
"vue": "3.3.11",
"vue-prism-editor": "2.0.0-alpha.2",
@ -116,7 +113,6 @@
"@types/throttle-debounce": "5.0.2",
"@types/tinycolor2": "1.4.6",
"@types/uuid": "9.0.7",
"@types/websocket": "1.0.10",
"@types/ws": "8.5.10",
"@typescript-eslint/eslint-plugin": "6.14.0",
"@typescript-eslint/parser": "6.14.0",

View File

@ -108,22 +108,26 @@ export default function(props: MfmProps) {
switch (token.props.name) {
case 'tada': {
const speed = validTime(token.props.args.speed) ?? '1s';
style = 'font-size: 150%;' + (useAnim ? `animation: tada ${speed} linear infinite both;` : '');
const delay = validTime(token.props.args.delay) ?? '0s';
style = 'font-size: 150%;' + (useAnim ? `animation: tada ${speed} linear infinite both; animation-delay: ${delay};` : '');
break;
}
case 'jelly': {
const speed = validTime(token.props.args.speed) ?? '1s';
style = (useAnim ? `animation: mfm-rubberBand ${speed} linear infinite both;` : '');
const delay = validTime(token.props.args.delay) ?? '0s';
style = (useAnim ? `animation: mfm-rubberBand ${speed} linear infinite both; animation-delay: ${delay};` : '');
break;
}
case 'twitch': {
const speed = validTime(token.props.args.speed) ?? '0.5s';
style = useAnim ? `animation: mfm-twitch ${speed} ease infinite;` : '';
const delay = validTime(token.props.args.delay) ?? '0s';
style = useAnim ? `animation: mfm-twitch ${speed} ease infinite; animation-delay: ${delay};` : '';
break;
}
case 'shake': {
const speed = validTime(token.props.args.speed) ?? '0.5s';
style = useAnim ? `animation: mfm-shake ${speed} ease infinite;` : '';
const delay = validTime(token.props.args.delay) ?? '0s';
style = useAnim ? `animation: mfm-shake ${speed} ease infinite; animation-delay: ${delay};` : '';
break;
}
case 'spin': {
@ -136,17 +140,20 @@ export default function(props: MfmProps) {
token.props.args.y ? 'mfm-spinY' :
'mfm-spin';
const speed = validTime(token.props.args.speed) ?? '1.5s';
style = useAnim ? `animation: ${anime} ${speed} linear infinite; animation-direction: ${direction};` : '';
const delay = validTime(token.props.args.delay) ?? '0s';
style = useAnim ? `animation: ${anime} ${speed} linear infinite; animation-direction: ${direction}; animation-delay: ${delay};` : '';
break;
}
case 'jump': {
const speed = validTime(token.props.args.speed) ?? '0.75s';
style = useAnim ? `animation: mfm-jump ${speed} linear infinite;` : '';
const delay = validTime(token.props.args.delay) ?? '0s';
style = useAnim ? `animation: mfm-jump ${speed} linear infinite; animation-delay: ${delay};` : '';
break;
}
case 'bounce': {
const speed = validTime(token.props.args.speed) ?? '0.75s';
style = useAnim ? `animation: mfm-bounce ${speed} linear infinite; transform-origin: center bottom;` : '';
const delay = validTime(token.props.args.delay) ?? '0s';
style = useAnim ? `animation: mfm-bounce ${speed} linear infinite; transform-origin: center bottom; animation-delay: ${delay};` : '';
break;
}
case 'flip': {
@ -196,7 +203,8 @@ export default function(props: MfmProps) {
}, genEl(token.children, scale));
}
const speed = validTime(token.props.args.speed) ?? '1s';
style = `animation: mfm-rainbow ${speed} linear infinite;`;
const delay = validTime(token.props.args.delay) ?? '0s';
style = `animation: mfm-rainbow ${speed} linear infinite; animation-delay: ${delay};`;
break;
}
case 'sparkle': {
@ -210,7 +218,8 @@ export default function(props: MfmProps) {
return genEl(token.children, scale);
}
const speed = validTime(token.props.args.speed) ?? '4s';
style = `animation: mfm-fade ${speed} linear infinite;`;
const delay = validTime(token.props.args.delay) ?? '0s';
style = `animation: mfm-fade ${speed} linear infinite; animation-delay: ${delay};`;
break;
}
case 'rotate': {

View File

@ -167,7 +167,7 @@ function previewEmoji(ev: MouseEvent) {
async function copyFromPinnedEmojis() {
const { canceled } = await os.confirm({
type: 'warning',
text: 'a',
text: i18n.ts.overwriteContentConfirm,
});
if (canceled) {
@ -180,7 +180,7 @@ async function copyFromPinnedEmojis() {
async function copyFromPinnedEmojisForReaction() {
const { canceled } = await os.confirm({
type: 'warning',
text: 'a',
text: i18n.ts.overwriteContentConfirm,
});
if (canceled) {

View File

@ -109,10 +109,10 @@ importers:
version: 7.2.1
'@nestjs/common':
specifier: 10.2.10
version: 10.2.10(reflect-metadata@0.2.0)(rxjs@7.8.1)
version: 10.2.10(reflect-metadata@0.1.14)(rxjs@7.8.1)
'@nestjs/core':
specifier: 10.2.10
version: 10.2.10(@nestjs/common@10.2.10)(reflect-metadata@0.2.0)(rxjs@7.8.1)
version: 10.2.10(@nestjs/common@10.2.10)(reflect-metadata@0.1.14)(rxjs@7.8.1)
'@nestjs/testing':
specifier: 10.2.10
version: 10.2.10(@nestjs/common@10.2.10)(@nestjs/core@10.2.10)
@ -198,8 +198,8 @@ importers:
specifier: 0.1.21
version: 0.1.21
fastify:
specifier: 4.25.0
version: 4.25.0
specifier: 4.24.3
version: 4.24.3
fastify-raw-body:
specifier: 4.3.0
version: 4.3.0
@ -336,8 +336,8 @@ importers:
specifier: 0.1.4
version: 0.1.4
reflect-metadata:
specifier: 0.2.0
version: 0.2.0
specifier: 0.1.14
version: 0.1.14
rename:
specifier: 1.0.4
version: 1.0.4
@ -761,9 +761,6 @@ importers:
'@github/webauthn-json':
specifier: 2.1.1
version: 2.1.1
'@rollup/plugin-alias':
specifier: 5.1.0
version: 5.1.0(rollup@4.9.0)
'@rollup/plugin-json':
specifier: 6.1.0
version: 6.1.0(rollup@4.9.0)
@ -881,9 +878,6 @@ importers:
punycode:
specifier: 2.3.1
version: 2.3.1
querystring:
specifier: 0.2.1
version: 0.2.1
rollup:
specifier: 4.9.0
version: 4.9.0
@ -935,9 +929,6 @@ importers:
v-code-diff:
specifier: 1.7.2
version: 1.7.2(vue@3.3.11)
vanilla-tilt:
specifier: 1.8.1
version: 1.8.1
vite:
specifier: 5.0.8
version: 5.0.8(@types/node@20.10.4)(sass@1.69.5)(terser@5.24.0)
@ -1044,9 +1035,6 @@ importers:
'@types/uuid':
specifier: 9.0.7
version: 9.0.7
'@types/websocket':
specifier: 1.0.10
version: 1.0.10
'@types/ws':
specifier: 8.5.10
version: 8.5.10
@ -4703,7 +4691,7 @@ packages:
tar-fs: 2.1.1
dev: true
/@nestjs/common@10.2.10(reflect-metadata@0.2.0)(rxjs@7.8.1):
/@nestjs/common@10.2.10(reflect-metadata@0.1.14)(rxjs@7.8.1):
resolution: {integrity: sha512-fwAk931rjW8CNH2Mgwawq/7HWHH1dxkOLdcgs7U52ddLk8CtHXjejm1cbNahewlSbNhvlOl7y1STLHutE6sUqw==}
peerDependencies:
class-transformer: '*'
@ -4717,13 +4705,13 @@ packages:
optional: true
dependencies:
iterare: 1.2.1
reflect-metadata: 0.2.0
reflect-metadata: 0.1.14
rxjs: 7.8.1
tslib: 2.6.2
uid: 2.0.2
dev: false
/@nestjs/core@10.2.10(@nestjs/common@10.2.10)(reflect-metadata@0.2.0)(rxjs@7.8.1):
/@nestjs/core@10.2.10(@nestjs/common@10.2.10)(reflect-metadata@0.1.14)(rxjs@7.8.1):
resolution: {integrity: sha512-+ckOI6BPi2ZMHikT9MCG4ctHDc4OnjhoIytrn7f2AYMMXI4bnutJhqyQKc30VDka5x3Wq6QAD57pgSP7y+JjJg==}
requiresBuild: true
peerDependencies:
@ -4741,12 +4729,12 @@ packages:
'@nestjs/websockets':
optional: true
dependencies:
'@nestjs/common': 10.2.10(reflect-metadata@0.2.0)(rxjs@7.8.1)
'@nestjs/common': 10.2.10(reflect-metadata@0.1.14)(rxjs@7.8.1)
'@nuxtjs/opencollective': 0.3.2
fast-safe-stringify: 2.1.1
iterare: 1.2.1
path-to-regexp: 3.2.0
reflect-metadata: 0.2.0
reflect-metadata: 0.1.14
rxjs: 7.8.1
tslib: 2.6.2
uid: 2.0.2
@ -4767,8 +4755,8 @@ packages:
'@nestjs/platform-express':
optional: true
dependencies:
'@nestjs/common': 10.2.10(reflect-metadata@0.2.0)(rxjs@7.8.1)
'@nestjs/core': 10.2.10(@nestjs/common@10.2.10)(reflect-metadata@0.2.0)(rxjs@7.8.1)
'@nestjs/common': 10.2.10(reflect-metadata@0.1.14)(rxjs@7.8.1)
'@nestjs/core': 10.2.10(@nestjs/common@10.2.10)(reflect-metadata@0.1.14)(rxjs@7.8.1)
tslib: 2.6.2
dev: false
@ -5469,19 +5457,6 @@ packages:
'@babel/runtime': 7.23.2
dev: true
/@rollup/plugin-alias@5.1.0(rollup@4.9.0):
resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==}
engines: {node: '>=14.0.0'}
peerDependencies:
rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
peerDependenciesMeta:
rollup:
optional: true
dependencies:
rollup: 4.9.0
slash: 4.0.0
dev: false
/@rollup/plugin-json@6.1.0(rollup@4.9.0):
resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==}
engines: {node: '>=14.0.0'}
@ -8209,12 +8184,6 @@ packages:
requiresBuild: true
dev: false
/@types/websocket@1.0.10:
resolution: {integrity: sha512-svjGZvPB7EzuYS94cI7a+qhwgGU1y89wUgjT6E2wVUfmAGIvRfT7obBvRtnhXCSsoMdlG4gBFGE7MfkIXZLoww==}
dependencies:
'@types/node': 20.10.4
dev: true
/@types/ws@8.5.10:
resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==}
dependencies:
@ -12058,8 +12027,8 @@ packages:
secure-json-parse: 2.7.0
dev: false
/fastify@4.25.0:
resolution: {integrity: sha512-2XANZZDadl/PccnVbmrIC8BmUtb16MO5Hyfnqv1cZIslvf7GYTVwlPuVxLKL23NNxWRc5BikY8HyhWj+NJvokA==}
/fastify@4.24.3:
resolution: {integrity: sha512-6HHJ+R2x2LS3y1PqxnwEIjOTZxFl+8h4kSC/TuDPXtA+v2JnV9yEtOsNSKK1RMD7sIR2y1ZsA4BEFaid/cK5pg==}
dependencies:
'@fastify/ajv-compiler': 3.5.0
'@fastify/error': 3.4.0
@ -12071,7 +12040,7 @@ packages:
find-my-way: 7.7.0
light-my-request: 5.11.0
pino: 8.17.0
process-warning: 3.0.0
process-warning: 2.2.0
proxy-addr: 2.0.7
rfdc: 1.3.0
secure-json-parse: 2.7.0
@ -16972,10 +16941,6 @@ packages:
resolution: {integrity: sha512-/1WZ8+VQjR6avWOgHeEPd7SDQmFQ1B5mC1eRXsCm5TarlNmx/wCsa5GEaxGm05BORRtyG/Ex/3xq3TuRvq57qg==}
dev: false
/process-warning@3.0.0:
resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==}
dev: false
/process@0.11.10:
resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
engines: {node: '>= 0.6.0'}
@ -17297,11 +17262,6 @@ packages:
engines: {node: '>=0.6'}
dev: false
/querystring@0.2.1:
resolution: {integrity: sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==}
engines: {node: '>=0.4.x'}
dev: false
/querystringify@2.2.0:
resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
@ -17671,10 +17631,6 @@ packages:
resolution: {integrity: sha512-ZhYeb6nRaXCfhnndflDK8qI6ZQ/YcWZCISRAWICW9XYqMUwjZM9Z0DveWX/ABN01oxSHwVxKQmxeYZSsm0jh5A==}
dev: false
/reflect-metadata@0.2.0:
resolution: {integrity: sha512-vUN0wuk3MuhSVMfU/ImnPQAK8QZcXJ339DtVsP3jDscxCe6dT+PsOe3J1BYS9Ec2Fd4oC6ry6bCBebzTya0IYw==}
dev: false
/regenerate-unicode-properties@10.1.0:
resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==}
engines: {node: '>=4'}
@ -18428,11 +18384,6 @@ packages:
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
engines: {node: '>=8'}
/slash@4.0.0:
resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==}
engines: {node: '>=12'}
dev: false
/slice-ansi@3.0.0:
resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==}
engines: {node: '>=8'}
@ -19887,10 +19838,6 @@ packages:
engines: {node: '>= 0.10'}
dev: true
/vanilla-tilt@1.8.1:
resolution: {integrity: sha512-hPB1XUsnh+SIeVSW2beb5RnuFxz4ZNgxjGD78o52F49gS4xaoLeEMh9qrQnJrnEn/vjjBI7IlxrrXmz4tGV0Kw==}
dev: false
/vary@1.1.2:
resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
engines: {node: '>= 0.8'}