From e4012e12f9091a4299175ddcaa24be5303b745a8 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Wed, 3 Mar 2021 20:15:19 +0000 Subject: [PATCH 01/25] Bump @typescript-eslint/parser from 4.14.2 to 4.16.1 Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 4.14.2 to 4.16.1. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v4.16.1/packages/parser) Signed-off-by: dependabot-preview[bot] --- package.json | 2 +- yarn.lock | 57 ++++++++++++++++++++++++++-------------------------- 2 files changed, 29 insertions(+), 30 deletions(-) diff --git a/package.json b/package.json index dd1154a246..21582ef2c6 100644 --- a/package.json +++ b/package.json @@ -107,7 +107,7 @@ "@types/webpack-stream": "3.2.11", "@types/websocket": "1.0.1", "@types/ws": "7.4.0", - "@typescript-eslint/parser": "4.14.2", + "@typescript-eslint/parser": "4.16.1", "@vue/compiler-sfc": "3.0.5", "abort-controller": "3.0.0", "apexcharts": "3.25.0", diff --git a/yarn.lock b/yarn.lock index e4893b61e7..bc64677817 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1172,49 +1172,48 @@ dependencies: "@types/node" "*" -"@typescript-eslint/parser@4.14.2": - version "4.14.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.14.2.tgz#31e216e4baab678a56e539f9db9862e2542c98d0" - integrity sha512-ipqSP6EuUsMu3E10EZIApOJgWSpcNXeKZaFeNKQyzqxnQl8eQCbV+TSNsl+s2GViX2d18m1rq3CWgnpOxDPgHg== +"@typescript-eslint/parser@4.16.1": + version "4.16.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.16.1.tgz#3bbd3234dd3c5b882b2bcd9899bc30e1e1586d2a" + integrity sha512-/c0LEZcDL5y8RyI1zLcmZMvJrsR6SM1uetskFkoh3dvqDKVXPsXI+wFB/CbVw7WkEyyTKobC1mUNp/5y6gRvXg== dependencies: - "@typescript-eslint/scope-manager" "4.14.2" - "@typescript-eslint/types" "4.14.2" - "@typescript-eslint/typescript-estree" "4.14.2" + "@typescript-eslint/scope-manager" "4.16.1" + "@typescript-eslint/types" "4.16.1" + "@typescript-eslint/typescript-estree" "4.16.1" debug "^4.1.1" -"@typescript-eslint/scope-manager@4.14.2": - version "4.14.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.14.2.tgz#64cbc9ca64b60069aae0c060b2bf81163243b266" - integrity sha512-cuV9wMrzKm6yIuV48aTPfIeqErt5xceTheAgk70N1V4/2Ecj+fhl34iro/vIssJlb7XtzcaD07hWk7Jk0nKghg== +"@typescript-eslint/scope-manager@4.16.1": + version "4.16.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.16.1.tgz#244e2006bc60cfe46987e9987f4ff49c9e3f00d5" + integrity sha512-6IlZv9JaurqV0jkEg923cV49aAn8V6+1H1DRfhRcvZUrptQ+UtSKHb5kwTayzOYTJJ/RsYZdcvhOEKiBLyc0Cw== dependencies: - "@typescript-eslint/types" "4.14.2" - "@typescript-eslint/visitor-keys" "4.14.2" + "@typescript-eslint/types" "4.16.1" + "@typescript-eslint/visitor-keys" "4.16.1" -"@typescript-eslint/types@4.14.2": - version "4.14.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.14.2.tgz#d96da62be22dc9dc6a06647f3633815350fb3174" - integrity sha512-LltxawRW6wXy4Gck6ZKlBD05tCHQUj4KLn4iR69IyRiDHX3d3NCAhO+ix5OR2Q+q9bjCrHE/HKt+riZkd1At8Q== +"@typescript-eslint/types@4.16.1": + version "4.16.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.16.1.tgz#5ba2d3e38b1a67420d2487519e193163054d9c15" + integrity sha512-nnKqBwMgRlhzmJQF8tnFDZWfunXmJyuXj55xc8Kbfup4PbkzdoDXZvzN8//EiKR27J6vUSU8j4t37yUuYPiLqA== -"@typescript-eslint/typescript-estree@4.14.2": - version "4.14.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.14.2.tgz#9c5ebd8cae4d7b014f890acd81e8e17f309c9df9" - integrity sha512-ESiFl8afXxt1dNj8ENEZT12p+jl9PqRur+Y19m0Z/SPikGL6rqq4e7Me60SU9a2M28uz48/8yct97VQYaGl0Vg== +"@typescript-eslint/typescript-estree@4.16.1": + version "4.16.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.16.1.tgz#c2fc46b05a48fbf8bbe8b66a63f0a9ba04b356f1" + integrity sha512-m8I/DKHa8YbeHt31T+UGd/l8Kwr0XCTCZL3H4HMvvLCT7HU9V7yYdinTOv1gf/zfqNeDcCgaFH2BMsS8x6NvJg== dependencies: - "@typescript-eslint/types" "4.14.2" - "@typescript-eslint/visitor-keys" "4.14.2" + "@typescript-eslint/types" "4.16.1" + "@typescript-eslint/visitor-keys" "4.16.1" debug "^4.1.1" globby "^11.0.1" is-glob "^4.0.1" - lodash "^4.17.15" semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/visitor-keys@4.14.2": - version "4.14.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.14.2.tgz#997cbe2cb0690e1f384a833f64794e98727c70c6" - integrity sha512-KBB+xLBxnBdTENs/rUgeUKO0UkPBRs2vD09oMRRIkj5BEN8PX1ToXV532desXfpQnZsYTyLLviS7JrPhdL154w== +"@typescript-eslint/visitor-keys@4.16.1": + version "4.16.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.16.1.tgz#d7571fb580749fae621520deeb134370bbfc7293" + integrity sha512-s/aIP1XcMkEqCNcPQtl60ogUYjSM8FU2mq1O7y5cFf3Xcob1z1iXWNB6cC43Op+NGRTFgGolri6s8z/efA9i1w== dependencies: - "@typescript-eslint/types" "4.14.2" + "@typescript-eslint/types" "4.16.1" eslint-visitor-keys "^2.0.0" "@ungap/promise-all-settled@1.1.2": From 93c8ec631f25efdb24d249a9fee6a4f2857b0091 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Thu, 4 Mar 2021 20:14:54 +0000 Subject: [PATCH 02/25] Bump vue-style-loader from 4.1.2 to 4.1.3 Bumps [vue-style-loader](https://github.com/vuejs/vue-style-loader) from 4.1.2 to 4.1.3. - [Release notes](https://github.com/vuejs/vue-style-loader/releases) - [Changelog](https://github.com/vuejs/vue-style-loader/blob/master/CHANGELOG.md) - [Commits](https://github.com/vuejs/vue-style-loader/commits/v4.1.3) Signed-off-by: dependabot-preview[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 21582ef2c6..21fd19b900 100644 --- a/package.json +++ b/package.json @@ -251,7 +251,7 @@ "vue-loader": "16.1.2", "vue-prism-editor": "2.0.0-alpha.2", "vue-router": "4.0.4", - "vue-style-loader": "4.1.2", + "vue-style-loader": "4.1.3", "vuedraggable": "4.0.1", "web-push": "3.4.4", "webpack": "5.24.2", diff --git a/yarn.lock b/yarn.lock index bc64677817..593cebf7cc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10972,10 +10972,10 @@ vue-router@4.0.4: resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-4.0.4.tgz#ad9b4b7bbdad622407b4ff189b1646f48c1e9053" integrity sha512-uN6PDEaYdU9aRO7mU+Dkr1uaY49hV3fucEDG/Vre/Qj8ct3RoJS16vcPrvKVzn69zDDjBV5b9Xw7fZA9r6b/Iw== -vue-style-loader@4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-4.1.2.tgz#dedf349806f25ceb4e64f3ad7c0a44fba735fcf8" - integrity sha512-0ip8ge6Gzz/Bk0iHovU9XAUQaFt/G2B61bnWa2tCcqqdgfHs1lF9xXorFbE55Gmy92okFT+8bfmySuUOu13vxQ== +vue-style-loader@4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-4.1.3.tgz#6d55863a51fa757ab24e89d9371465072aa7bc35" + integrity sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg== dependencies: hash-sum "^1.0.2" loader-utils "^1.0.2" From 1cb984ba7993630cec41ca24e3f4b9db816c4348 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Thu, 4 Mar 2021 20:24:18 +0000 Subject: [PATCH 03/25] Bump @babel/plugin-transform-runtime from 7.13.6 to 7.13.9 Bumps [@babel/plugin-transform-runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-runtime) from 7.13.6 to 7.13.9. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.13.9/packages/babel-plugin-transform-runtime) Signed-off-by: dependabot-preview[bot] --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 21582ef2c6..970578ea63 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "lodash": "^4.17.20" }, "dependencies": { - "@babel/plugin-transform-runtime": "7.13.6", + "@babel/plugin-transform-runtime": "7.13.9", "@elastic/elasticsearch": "7.11.0", "@fortawesome/fontawesome-svg-core": "1.2.34", "@fortawesome/free-brands-svg-icons": "5.15.2", diff --git a/yarn.lock b/yarn.lock index bc64677817..a18135f8aa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -123,17 +123,17 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.4.tgz#340211b0da94a351a6f10e63671fa727333d13ab" integrity sha512-uvoOulWHhI+0+1f9L4BoozY7U5cIkZ9PgJqvb041d6vypgUmtVPG4vmGm4pSggjl8BELzvHyUeJSUyEMY6b+qA== -"@babel/plugin-transform-runtime@7.13.6": - version "7.13.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.13.6.tgz#c11c806f023d2065bbcc9b751702f4008245951c" - integrity sha512-QsTomUTIeOdYrNsOMJRSp2QzGvB1KYD4ePCC8Mei2SuoHScncYS3h1E9PR5gDL7buJmcqIHrWyH6B5GZMgDrRg== +"@babel/plugin-transform-runtime@7.13.9": + version "7.13.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.13.9.tgz#744d3103338a0d6c90dee0497558150b490cee07" + integrity sha512-XCxkY/wBI6M6Jj2mlWxkmqbKPweRanszWbF3Tyut+hKh+PHcuIH/rSr/7lmmE7C3WW+HSIm2GT+d5jwmheuB0g== dependencies: "@babel/helper-module-imports" "^7.12.13" "@babel/helper-plugin-utils" "^7.13.0" babel-plugin-polyfill-corejs2 "^0.1.4" babel-plugin-polyfill-corejs3 "^0.1.3" babel-plugin-polyfill-regenerator "^0.1.2" - semver "7.0.0" + semver "^6.3.0" "@babel/runtime@^7.6.2", "@babel/runtime@^7.7.2": version "7.12.13" From f871cf10538cc35d67114d780ec13afa4d30903c Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 5 Mar 2021 13:49:46 +0900 Subject: [PATCH 04/25] Improve reaction picker performance --- src/client/components/note-detailed.vue | 3 +- src/client/components/note.vue | 3 +- src/client/init.ts | 2 ++ src/client/os.ts | 32 ------------------- src/client/scripts/reaction-picker.ts | 41 +++++++++++++++++++++++++ src/client/ui/chat/note.vue | 3 +- 6 files changed, 49 insertions(+), 35 deletions(-) create mode 100644 src/client/scripts/reaction-picker.ts diff --git a/src/client/components/note-detailed.vue b/src/client/components/note-detailed.vue index b5bc054e5e..1ef3f43389 100644 --- a/src/client/components/note-detailed.vue +++ b/src/client/components/note-detailed.vue @@ -140,6 +140,7 @@ import { checkWordMute } from '@/scripts/check-word-mute'; import { userPage } from '@/filters/user'; import * as os from '@/os'; import { noteActions, noteViewInterruptors } from '@/store'; +import { reactionPicker } from '@/scripts/reaction-picker'; function markRawAll(...xs) { for (const x of xs) { @@ -523,7 +524,7 @@ export default defineComponent({ react(viaKeyboard = false) { pleaseLogin(); this.blur(); - os.pickReaction(this.$refs.reactButton, reaction => { + reactionPicker.show(this.$refs.reactButton, reaction => { os.api('notes/reactions/create', { noteId: this.appearNote.id, reaction: reaction diff --git a/src/client/components/note.vue b/src/client/components/note.vue index bc2f87fe85..65e09b7802 100644 --- a/src/client/components/note.vue +++ b/src/client/components/note.vue @@ -122,6 +122,7 @@ import { checkWordMute } from '@/scripts/check-word-mute'; import { userPage } from '@/filters/user'; import * as os from '@/os'; import { noteActions, noteViewInterruptors } from '@/store'; +import { reactionPicker } from '@/scripts/reaction-picker'; function markRawAll(...xs) { for (const x of xs) { @@ -498,7 +499,7 @@ export default defineComponent({ react(viaKeyboard = false) { pleaseLogin(); this.blur(); - os.pickReaction(this.$refs.reactButton, reaction => { + reactionPicker.show(this.$refs.reactButton, reaction => { os.api('notes/reactions/create', { noteId: this.appearNote.id, reaction: reaction diff --git a/src/client/init.ts b/src/client/init.ts index b3c53db7bb..596312ff71 100644 --- a/src/client/init.ts +++ b/src/client/init.ts @@ -62,6 +62,7 @@ import { isMobile } from '@/scripts/is-mobile'; import { getThemes } from '@/theme-store'; import { initializeSw } from '@/scripts/initialize-sw'; import { reloadChannel } from '@/scripts/unison-reload'; +import { reactionPicker } from '@/scripts/reaction-picker'; console.info(`Misskey v${version}`); @@ -222,6 +223,7 @@ await router.isReady(); //document.body.innerHTML = '
'; app.mount('body'); +reactionPicker.init(); watch(defaultStore.reactiveState.darkMode, (darkMode) => { import('@/scripts/theme').then(({ builtinThemes }) => { diff --git a/src/client/os.ts b/src/client/os.ts index 2b72391bf5..9be45e6c6d 100644 --- a/src/client/os.ts +++ b/src/client/os.ts @@ -357,38 +357,6 @@ export async function openEmojiPicker(src?: HTMLElement, opts, initialTextarea: }); } -let reactionPicker = null; -export async function pickReaction(src: HTMLElement, chosen, closed) { - if (reactionPicker) { - reactionPicker.src.value = src; - reactionPicker.manualShowing.value = true; - reactionPicker.chosen = chosen; - reactionPicker.closed = closed; - } else { - reactionPicker = { - src: ref(src), - manualShowing: ref(true), - chosen, closed - }; - popup(import('@/components/emoji-picker-dialog.vue'), { - src: reactionPicker.src, - asReactionPicker: true, - manualShowing: reactionPicker.manualShowing - }, { - done: reaction => { - reactionPicker.chosen(reaction); - }, - close: () => { - reactionPicker.manualShowing.value = false; - }, - closed: () => { - reactionPicker.src.value = null; - reactionPicker.closed(); - } - }); - } -} - export function modalMenu(items: any[], src?: HTMLElement, options?: { align?: string; viaKeyboard?: boolean }) { return new Promise((resolve, reject) => { let dispose; diff --git a/src/client/scripts/reaction-picker.ts b/src/client/scripts/reaction-picker.ts new file mode 100644 index 0000000000..e923326ece --- /dev/null +++ b/src/client/scripts/reaction-picker.ts @@ -0,0 +1,41 @@ +import { Ref, ref } from 'vue'; +import { popup } from '@/os'; + +class ReactionPicker { + private src: Ref = ref(null); + private manualShowing = ref(false); + private onChosen?: Function; + private onClosed?: Function; + + constructor() { + // nop + } + + public async init() { + await popup(import('@/components/emoji-picker-dialog.vue'), { + src: this.src, + asReactionPicker: true, + manualShowing: this.manualShowing + }, { + done: reaction => { + this.onChosen!(reaction); + }, + close: () => { + this.manualShowing.value = false; + }, + closed: () => { + this.src.value = null; + this.onClosed!(); + } + }); + } + + public show(src: HTMLElement, onChosen: Function, onClosed: Function) { + this.src.value = src; + this.manualShowing.value = true; + this.onChosen = onChosen; + this.onClosed = onClosed; + } +} + +export const reactionPicker = new ReactionPicker(); diff --git a/src/client/ui/chat/note.vue b/src/client/ui/chat/note.vue index bd7bbc5a4f..5a4a13d889 100644 --- a/src/client/ui/chat/note.vue +++ b/src/client/ui/chat/note.vue @@ -121,6 +121,7 @@ import { checkWordMute } from '@/scripts/check-word-mute'; import { userPage } from '@/filters/user'; import * as os from '@/os'; import { noteActions, noteViewInterruptors } from '@/store'; +import { reactionPicker } from '@/scripts/reaction-picker'; function markRawAll(...xs) { for (const x of xs) { @@ -504,7 +505,7 @@ export default defineComponent({ pleaseLogin(); this.operating = true; this.blur(); - os.pickReaction(this.$refs.reactButton, reaction => { + reactionPicker.show(this.$refs.reactButton, reaction => { os.api('notes/reactions/create', { noteId: this.appearNote.id, reaction: reaction From 54bcb80b447805f673e875ee98fd849879b73a4f Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 5 Mar 2021 13:51:22 +0900 Subject: [PATCH 05/25] Splash screen :sparkles: --- gulpfile.ts | 4 +++- src/client/init.ts | 16 ++++++++++++++-- src/server/web/style.css | 22 +++++++--------------- src/server/web/views/base.pug | 6 ++---- 4 files changed, 26 insertions(+), 22 deletions(-) diff --git a/gulpfile.ts b/gulpfile.ts index b394e4f44c..7d20aba4e7 100644 --- a/gulpfile.ts +++ b/gulpfile.ts @@ -56,7 +56,9 @@ gulp.task('build:client:script', () => { gulp.task('build:client:style', () => { return gulp.src(['./src/server/web/style.css', './src/server/web/bios.css', './src/server/web/cli.css']) - .pipe(cssnano()) + .pipe(cssnano({ + zindex: false + })) .pipe(gulp.dest('./built/server/web/')); }); diff --git a/src/client/init.ts b/src/client/init.ts index 596312ff71..1c44e7f23e 100644 --- a/src/client/init.ts +++ b/src/client/init.ts @@ -220,11 +220,23 @@ components(app); await router.isReady(); -//document.body.innerHTML = '
'; +const splash = document.getElementById('splash'); +// 念のためnullチェック(HTMLが古い場合があるため(そのうち消す)) +if (splash) splash.addEventListener('transitionend', () => { + splash.remove(); +}); + +const rootEl = document.createElement('div'); +document.body.appendChild(rootEl); +app.mount(rootEl); -app.mount('body'); reactionPicker.init(); +if (splash) { + splash.style.opacity = '0'; + splash.style.pointerEvents = 'none'; +} + watch(defaultStore.reactiveState.darkMode, (darkMode) => { import('@/scripts/theme').then(({ builtinThemes }) => { const themes = builtinThemes.concat(getThemes()); diff --git a/src/server/web/style.css b/src/server/web/style.css index 6ab2c2154a..acf8e083de 100644 --- a/src/server/web/style.css +++ b/src/server/web/style.css @@ -3,17 +3,20 @@ html { color: var(--fg); } -#ini { +#splash { position: fixed; - z-index: 1; + z-index: 10000; top: 0; left: 0; width: 100%; height: 100%; cursor: wait; + background-color: var(--bg); + opacity: 1; + transition: opacity 0.5s ease; } -#ini > svg { +#splash > img { position: absolute; top: 0; right: 0; @@ -22,16 +25,5 @@ html { margin: auto; width: 64px; height: 64px; - animation: ini 0.6s infinite linear; - color: var(--accent); - fill: currentColor; -} - -@keyframes ini { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } + pointer-events: none; } diff --git a/src/server/web/views/base.pug b/src/server/web/views/base.pug index 1b053438dc..9a5c674242 100644 --- a/src/server/web/views/base.pug +++ b/src/server/web/views/base.pug @@ -44,8 +44,6 @@ html | JavaScriptを有効にしてください br | Please turn on your JavaScript - div#ini. - - - + div#splash + img(src='/favicon.ico') block content From 44167ab84ce64323d1584e87b52176de7da36781 Mon Sep 17 00:00:00 2001 From: MeiMei <30769358+mei23@users.noreply.github.com> Date: Fri, 5 Mar 2021 14:46:58 +0900 Subject: [PATCH 06/25] Use alpine3.13 on Docker (#7249) --- .node-version | 2 +- Dockerfile | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/.node-version b/.node-version index 9a0c3d3f45..ab155ce138 100644 --- a/.node-version +++ b/.node-version @@ -1 +1 @@ -v14.15.4 +v14.15.5 diff --git a/Dockerfile b/Dockerfile index eba3a833bc..c1745fc215 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:14.15.4-alpine AS base +FROM node:14.15.5-alpine3.13 AS base ENV NODE_ENV=production @@ -10,7 +10,6 @@ RUN apk add --no-cache \ autoconf \ automake \ file \ - git \ g++ \ gcc \ libc-dev \ @@ -18,8 +17,10 @@ RUN apk add --no-cache \ make \ nasm \ pkgconfig \ - python \ - zlib-dev + python3 \ + zlib-dev \ + vips-dev \ + vips COPY package.json yarn.lock ./ RUN yarn install @@ -30,8 +31,9 @@ FROM base AS runner RUN apk add --no-cache \ ffmpeg \ - tini -RUN npm i -g web-push + tini \ + vips + ENTRYPOINT ["/sbin/tini", "--"] COPY --from=builder /misskey/node_modules ./node_modules From b3088facf4411852deb9fd472a510fd5228b2ab2 Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 5 Mar 2021 16:21:16 +0900 Subject: [PATCH 07/25] Improve modal performance --- src/client/components/ui/modal.vue | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/client/components/ui/modal.vue b/src/client/components/ui/modal.vue index 23c153e5f7..ebe7eb0014 100644 --- a/src/client/components/ui/modal.vue +++ b/src/client/components/ui/modal.vue @@ -1,10 +1,10 @@