From ba3879a95ac8739f043fac42a39972510d505656 Mon Sep 17 00:00:00 2001 From: MeiMei <30769358+mei23@users.noreply.github.com> Date: Tue, 16 Apr 2019 02:46:47 +0900 Subject: [PATCH 01/20] =?UTF-8?q?Fix:=20admin/drive=E3=81=AE=E3=82=A2?= =?UTF-8?q?=E3=82=A4=E3=82=B3=E3=83=B3=E3=81=8C=E3=81=9A=E3=82=8C=E3=81=A6?= =?UTF-8?q?=E3=82=8B=20(#4710)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/client/app/admin/views/drive.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/app/admin/views/drive.vue b/src/client/app/admin/views/drive.vue index e4565b78f..22b3b7eb9 100644 --- a/src/client/app/admin/views/drive.vue +++ b/src/client/app/admin/views/drive.vue @@ -242,7 +242,7 @@ export default Vue.extend({ > div:nth-child(1) > .thumbnail - display block + display flex width 64px height 64px background-size cover From f966d0b32c9cd45b531a4d76f01bf008e5136bd0 Mon Sep 17 00:00:00 2001 From: tamaina Date: Tue, 16 Apr 2019 13:05:10 +0900 Subject: [PATCH 02/20] =?UTF-8?q?=E8=89=B2=E3=80=85=E3=81=AA=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3;=20Fix=20#4709=20(#4714)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix a la carte 1 * use dialog instead of alert() etc --- locales/ja-JP.yml | 4 +++- .../common/views/components/messaging-room.form.vue | 10 ++++++++-- .../app/common/views/components/messaging-room.vue | 5 ++++- .../common/views/components/post-form-attaches.vue | 2 +- .../app/common/views/components/settings/settings.vue | 4 ++-- src/client/app/common/views/components/signin.vue | 5 ++++- src/client/app/common/views/components/signup.vue | 5 ++++- .../app/common/views/deck/deck.widgets-column.vue | 4 ++-- src/client/app/common/views/widgets/post-form.vue | 5 ++++- .../app/desktop/views/components/drive.folder.vue | 5 ++++- src/client/app/desktop/views/components/drive.vue | 5 ++++- src/client/app/desktop/views/components/post-form.vue | 11 +++++++++-- src/client/app/desktop/views/home/home.vue | 5 +++-- src/client/app/desktop/views/pages/drive.vue | 2 +- src/client/app/mios.ts | 4 ++-- .../app/mobile/views/components/drive.file-detail.vue | 7 ++++++- src/client/app/mobile/views/components/post-form.vue | 11 +++++++++-- src/client/app/mobile/views/pages/favorites.vue | 2 +- src/client/app/mobile/views/pages/games/reversi.vue | 2 +- src/client/app/mobile/views/pages/search.vue | 2 +- src/client/app/mobile/views/pages/widgets.vue | 8 ++++++-- 21 files changed, 79 insertions(+), 29 deletions(-) diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 82115a722..eb87d4f20 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -313,6 +313,7 @@ common: nav: "ナビゲーション" tips: "ヒント" hashtags: "ハッシュタグ" + queue: "キュー" dev: "アプリの作成に失敗しました。再度お試しください。" ai-chan-kawaii: "藍ちゃかわいい" @@ -1549,6 +1550,7 @@ desktop/views/widgets/polls.vue: desktop/views/widgets/post-form.vue: title: "投稿" note: "投稿" + something-happened: "何らかの事情で投稿できませんでした。" desktop/views/widgets/profile.vue: update-banner: "クリックでバナー編集" @@ -1641,7 +1643,7 @@ mobile/views/components/post-form.vue: quote-placeholder: "この投稿を引用... (オプション)" reply-placeholder: "この投稿への返信..." cw-placeholder: "内容への注釈 (オプション)" - location-alert: "お使いの端末は位置情報に対応していません" + geolocation-alert: "お使いの端末は位置情報に対応していません" error: "エラー" username-prompt: "ユーザー名を入力してください" diff --git a/src/client/app/common/views/components/messaging-room.form.vue b/src/client/app/common/views/components/messaging-room.form.vue index 6c8b09c24..ee6c312bc 100644 --- a/src/client/app/common/views/components/messaging-room.form.vue +++ b/src/client/app/common/views/components/messaging-room.form.vue @@ -85,7 +85,10 @@ export default Vue.extend({ } } else { if (items[0].kind == 'file') { - alert(this.$t('only-one-file-attached')); + this.$root.dialog({ + type: 'error', + text: this.$t('only-one-file-attached') + }); } } }, @@ -107,7 +110,10 @@ export default Vue.extend({ return; } else if (e.dataTransfer.files.length > 1) { e.preventDefault(); - alert(this.$t('only-one-file-attached')); + this.$root.dialog({ + type: 'error', + text: this.$t('only-one-file-attached') + }); return; } diff --git a/src/client/app/common/views/components/messaging-room.vue b/src/client/app/common/views/components/messaging-room.vue index 6f13d50c1..83a0c463e 100644 --- a/src/client/app/common/views/components/messaging-room.vue +++ b/src/client/app/common/views/components/messaging-room.vue @@ -125,7 +125,10 @@ export default Vue.extend({ this.form.upload(e.dataTransfer.files[0]); return; } else if (e.dataTransfer.files.length > 1) { - alert(this.$t('only-one-file-attached')); + this.$root.dialog({ + type: 'error', + text: this.$t('only-one-file-attached') + }); return; } diff --git a/src/client/app/common/views/components/post-form-attaches.vue b/src/client/app/common/views/components/post-form-attaches.vue index 467e430cc..1fe476be7 100644 --- a/src/client/app/common/views/components/post-form-attaches.vue +++ b/src/client/app/common/views/components/post-form-attaches.vue @@ -1,6 +1,6 @@ {{ $t('email-address') }} - {{ $t('save') }} + {{ $t('save') }} From cb9a6ae774c06d2f4946f6c31b8ab1670289f99d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Acid=20Chicken=20=28=E7=A1=AB=E9=85=B8=E9=B6=8F=29?= Date: Tue, 16 Apr 2019 13:07:00 +0900 Subject: [PATCH 05/20] Update README.md [AUTOGEN] (#4697) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b163843a1..5b40c13ba 100644 --- a/README.md +++ b/README.md @@ -140,7 +140,7 @@ Please see the [Contribution Guide](./CONTRIBUTING.md). - + @@ -163,7 +163,7 @@ Please see the [Contribution Guide](./CONTRIBUTING.md).
DamilloraAtsuko TominagaAtsuko Tominaga natalie Hiratake Hekovic
-**Last updated:** Mon, 15 Apr 2019 01:59:07 UTC +**Last updated:** Mon, 15 Apr 2019 12:07:08 UTC :four_leaf_clover: Copyright From e90ac5d6a4d24ded77ab5608392e5b17b39b01a2 Mon Sep 17 00:00:00 2001 From: syuilo Date: Tue, 16 Apr 2019 17:52:09 +0900 Subject: [PATCH 06/20] =?UTF-8?q?=E3=83=81=E3=83=A3=E3=83=BC=E3=83=88?= =?UTF-8?q?=E3=81=AE=E6=95=B0=E5=80=A4=E3=82=AB=E3=83=A9=E3=83=A0=E3=81=AE?= =?UTF-8?q?=E5=9E=8B=E3=82=92=E6=8B=A1=E5=BC=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/services/chart/core.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/chart/core.ts b/src/services/chart/core.ts index 0a9ec8dae..fe762f2b2 100644 --- a/src/services/chart/core.ts +++ b/src/services/chart/core.ts @@ -79,7 +79,7 @@ export default abstract class Chart> { flatColumns(v.properties, p); } else { columns[this.columnPrefix + p] = { - type: 'integer', + type: 'bigint', }; } } From 18944d389d0dedc51693dd84cfa6e81b831a4a86 Mon Sep 17 00:00:00 2001 From: YuzuRyo61 Date: Tue, 16 Apr 2019 19:41:58 +0900 Subject: [PATCH 07/20] Fix space indent in misskey.nginx (#4717) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Tabインデントになっていたものをスペースインデントに変更 --- docs/examples/misskey.nginx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/examples/misskey.nginx b/docs/examples/misskey.nginx index 2b4a0548e..2bc92fa49 100644 --- a/docs/examples/misskey.nginx +++ b/docs/examples/misskey.nginx @@ -29,7 +29,7 @@ server { listen [::]:443 http2; server_name example.tld; ssl on; - ssl_session_cache shared:ssl_session_cache:10m; + ssl_session_cache shared:ssl_session_cache:10m; # To use Let's Encrypt certificate ssl_certificate /etc/letsencrypt/live/example.tld/fullchain.pem; From 85d29a3f9d2fa2970b5dd5e17498bf3aa5e20f70 Mon Sep 17 00:00:00 2001 From: Satsuki Yanagi <17376330+u1-liquid@users.noreply.github.com> Date: Wed, 17 Apr 2019 00:30:34 +0900 Subject: [PATCH 08/20] Correct syntax error (#4718) --- src/client/app/common/scripts/note-mixin.ts | 2 +- src/client/style.styl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/client/app/common/scripts/note-mixin.ts b/src/client/app/common/scripts/note-mixin.ts index 67bbe8c0a..4b454f880 100644 --- a/src/client/app/common/scripts/note-mixin.ts +++ b/src/client/app/common/scripts/note-mixin.ts @@ -134,7 +134,7 @@ export default (opts: Opts = {}) => ({ }, reactDirectly(reaction) { - (this.$root.api('notes/reactions/create', { + this.$root.api('notes/reactions/create', { noteId: this.appearNote.id, reaction: reaction }); diff --git a/src/client/style.styl b/src/client/style.styl index c6a8e4f19..968e66e75 100644 --- a/src/client/style.styl +++ b/src/client/style.styl @@ -1,4 +1,4 @@ -@charset 'utf-8' +@charset "utf-8" /* ::selection From 52e3bcfd2968ffdab8c124dc8dad9cb9e3e995ac Mon Sep 17 00:00:00 2001 From: syuilo Date: Wed, 17 Apr 2019 00:33:02 +0900 Subject: [PATCH 09/20] =?UTF-8?q?Meta=20=E3=82=92=E4=BA=8C=E9=87=8D?= =?UTF-8?q?=E3=81=AB=E3=83=87=E3=83=BC=E3=82=BF=E3=83=99=E3=83=BC=E3=82=B9?= =?UTF-8?q?=E3=81=AB=E4=BF=9D=E5=AD=98=E3=81=A7=E3=81=8D=E3=81=AA=E3=81=84?= =?UTF-8?q?=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/misc/fetch-meta.ts | 3 +-- src/models/entities/meta.ts | 6 ++++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/misc/fetch-meta.ts b/src/misc/fetch-meta.ts index cf1fc474c..a459f0772 100644 --- a/src/misc/fetch-meta.ts +++ b/src/misc/fetch-meta.ts @@ -1,6 +1,5 @@ import { Meta } from '../models/entities/meta'; import { Metas } from '../models'; -import { genId } from './gen-id'; export default async function(): Promise { const meta = await Metas.findOne(); @@ -8,7 +7,7 @@ export default async function(): Promise { return meta; } else { return Metas.save({ - id: genId(), + id: 'x' } as Meta); } } diff --git a/src/models/entities/meta.ts b/src/models/entities/meta.ts index f3ac23bac..be41cf358 100644 --- a/src/models/entities/meta.ts +++ b/src/models/entities/meta.ts @@ -1,9 +1,11 @@ import { Entity, Column, PrimaryColumn } from 'typeorm'; -import { id } from '../id'; @Entity() export class Meta { - @PrimaryColumn(id()) + @PrimaryColumn({ + type: 'varchar', + length: 32 + }) public id: string; @Column('varchar', { From fc27890f139c1ae0378b42cd912558272668723d Mon Sep 17 00:00:00 2001 From: syuilo Date: Wed, 17 Apr 2019 00:34:49 +0900 Subject: [PATCH 10/20] Refactor --- src/models/repositories/note.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/models/repositories/note.ts b/src/models/repositories/note.ts index 7a48d24e1..98ed2bddc 100644 --- a/src/models/repositories/note.ts +++ b/src/models/repositories/note.ts @@ -103,7 +103,7 @@ export class NoteRepository extends Repository { const host = note.userHost; async function populatePoll() { - const poll = await Polls.findOne({ noteId: note.id }).then(ensure); + const poll = await Polls.findOne(note.id).then(ensure); const choices = poll.choices.map(c => ({ text: c, votes: poll.votes[poll.choices.indexOf(c)], From b1865047187bf6fc9d4ad3b56a0d4eb6b2817c2b Mon Sep 17 00:00:00 2001 From: MeiMei <30769358+mei23@users.noreply.github.com> Date: Wed, 17 Apr 2019 00:45:33 +0900 Subject: [PATCH 11/20] =?UTF-8?q?Meta=E3=81=AE=E3=82=A2=E3=82=AF=E3=82=BB?= =?UTF-8?q?=E3=82=B9=E3=81=A7=E3=83=88=E3=83=A9=E3=83=B3=E3=82=B6=E3=82=AF?= =?UTF-8?q?=E3=82=B7=E3=83=A7=E3=83=B3=E3=82=92=E5=BC=B5=E3=82=8B=E3=82=88?= =?UTF-8?q?=E3=81=86=E3=81=AB=20(#4720)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * admin/instanceでmetaをキャッシュしないように * Metaのアクセスにトランザクションをかける --- src/client/app/admin/views/instance.vue | 2 +- src/misc/fetch-meta.ts | 26 ++++++++++++------- src/server/api/endpoints/admin/update-meta.ts | 20 +++++++++----- 3 files changed, 31 insertions(+), 17 deletions(-) diff --git a/src/client/app/admin/views/instance.vue b/src/client/app/admin/views/instance.vue index bc2a5fba8..cca4e5f66 100644 --- a/src/client/app/admin/views/instance.vue +++ b/src/client/app/admin/views/instance.vue @@ -195,7 +195,7 @@ export default Vue.extend({ }, created() { - this.$root.getMeta().then(meta => { + this.$root.getMeta(true).then(meta => { this.maintainerName = meta.maintainerName; this.maintainerEmail = meta.maintainerEmail; this.disableRegistration = meta.disableRegistration; diff --git a/src/misc/fetch-meta.ts b/src/misc/fetch-meta.ts index a459f0772..800f0b9e6 100644 --- a/src/misc/fetch-meta.ts +++ b/src/misc/fetch-meta.ts @@ -1,13 +1,21 @@ import { Meta } from '../models/entities/meta'; -import { Metas } from '../models'; +import { getConnection } from 'typeorm'; export default async function(): Promise { - const meta = await Metas.findOne(); - if (meta) { - return meta; - } else { - return Metas.save({ - id: 'x' - } as Meta); - } + return await getConnection().transaction(async transactionalEntityManager => { + // バグでレコードが複数出来てしまっている可能性があるので新しいIDを優先する + const meta = await transactionalEntityManager.findOne(Meta, { + order: { + id: 'DESC' + } + }); + + if (meta) { + return meta; + } else { + return await transactionalEntityManager.save(Meta, { + id: 'x' + }) as Meta; + } + }); } diff --git a/src/server/api/endpoints/admin/update-meta.ts b/src/server/api/endpoints/admin/update-meta.ts index e242ac71a..3c6380acb 100644 --- a/src/server/api/endpoints/admin/update-meta.ts +++ b/src/server/api/endpoints/admin/update-meta.ts @@ -1,6 +1,6 @@ import $ from 'cafy'; import define from '../../define'; -import { Metas } from '../../../../models'; +import { getConnection } from 'typeorm'; import { Meta } from '../../../../models/entities/meta'; export const meta = { @@ -505,11 +505,17 @@ export default define(meta, async (ps) => { set.swPrivateKey = ps.swPrivateKey; } - const meta = await Metas.findOne(); + await getConnection().transaction(async transactionalEntityManager => { + const meta = await transactionalEntityManager.findOne(Meta, { + order: { + id: 'DESC' + } + }); - if (meta) { - await Metas.update(meta.id, set); - } else { - await Metas.save(set); - } + if (meta) { + await transactionalEntityManager.update(Meta, meta.id, set); + } else { + await transactionalEntityManager.save(Meta, set); + } + }); }); From e265b538cc96b10b2ffc98c15227ab097cf4744b Mon Sep 17 00:00:00 2001 From: syuilo Date: Wed, 17 Apr 2019 02:11:22 +0900 Subject: [PATCH 12/20] Fix #4724 --- src/models/entities/note.ts | 2 ++ src/services/drive/delete-file.ts | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/models/entities/note.ts b/src/models/entities/note.ts index 969363da3..280f3dfcb 100644 --- a/src/models/entities/note.ts +++ b/src/models/entities/note.ts @@ -129,12 +129,14 @@ export class Note { }) public score: number; + @Index() @Column({ ...id(), array: true, default: '{}' }) public fileIds: DriveFile['id'][]; + @Index() @Column('varchar', { length: 256, array: true, default: '{}' }) diff --git a/src/services/drive/delete-file.ts b/src/services/drive/delete-file.ts index bba453b98..1aba0d5fd 100644 --- a/src/services/drive/delete-file.ts +++ b/src/services/drive/delete-file.ts @@ -2,7 +2,7 @@ import * as Minio from 'minio'; import config from '../../config'; import { DriveFile } from '../../models/entities/drive-file'; import { InternalStorage } from './internal-storage'; -import { DriveFiles, Instances } from '../../models'; +import { DriveFiles, Instances, Notes } from '../../models'; import { driveChart, perUserDriveChart, instanceChart } from '../chart'; export default async function(file: DriveFile, isExpired = false) { @@ -40,6 +40,11 @@ export default async function(file: DriveFile, isExpired = false) { }); } else { DriveFiles.delete(file.id); + + // TODO: トランザクション + Notes.createQueryBuilder('note').delete() + .andWhere(':id = ANY(note.fileIds)', { id: file.id }) + .execute(); } // 統計を更新 From 4f5a3f0df52ca3f8f19395d42d5877a7e6547207 Mon Sep 17 00:00:00 2001 From: syuilo Date: Wed, 17 Apr 2019 02:12:15 +0900 Subject: [PATCH 13/20] smallint --- src/models/entities/note.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/models/entities/note.ts b/src/models/entities/note.ts index 280f3dfcb..b71c02234 100644 --- a/src/models/entities/note.ts +++ b/src/models/entities/note.ts @@ -93,12 +93,12 @@ export class Note { }) public localOnly: boolean; - @Column('integer', { + @Column('smallint', { default: 0 }) public renoteCount: number; - @Column('integer', { + @Column('smallint', { default: 0 }) public repliesCount: number; From 2e55aea584e11f7155636f2d30ebebc4d8dabc90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=8B=E3=81=B2=E3=82=8F=E3=81=974=EF=BC=88=E3=83=90?= =?UTF-8?q?=E3=83=BC=E3=82=B8=E3=83=A7=E3=83=B31=EF=BC=89?= Date: Wed, 17 Apr 2019 02:15:27 +0900 Subject: [PATCH 14/20] Doc: Update setup documents (#4680) * Doc: Update setup documents Use GitHub api to checkout latest release instead of "git tag" command which cannot accurately determine prerelease tag. Also, Changed numbered list format because the shell command is too long to fit on one line. * Doc: Use tab instead of spaces * Doc: Use master branch as latest release tag master branch and latest release is the same. master branch merges develop branch with each latest release. --- docs/docker.en.md | 20 +++++++---- docs/docker.fr.md | 44 ++++++++++++++++++------- docs/docker.ja.md | 20 +++++++---- docs/setup.en.md | 81 +++++++++++++++++++++++++++++---------------- docs/setup.fr.md | 81 +++++++++++++++++++++++++++++---------------- docs/setup.ja.md | 84 +++++++++++++++++++++++++++++++---------------- 6 files changed, 222 insertions(+), 108 deletions(-) diff --git a/docs/docker.en.md b/docs/docker.en.md index 344279083..701514e45 100644 --- a/docs/docker.en.md +++ b/docs/docker.en.md @@ -9,9 +9,17 @@ This guide describes how to install and setup Misskey with Docker. *1.* Download Misskey ---------------------------------------------------------------- -1. `git clone -b master git://github.com/syuilo/misskey.git` Clone Misskey repository's master branch. -2. `cd misskey` Move to misskey directory. -3. `git checkout $(git tag -l | grep -Ev -- '-(rc|alpha)\.[0-9]+$' | sort -V | tail -n 1)` Checkout to the [latest release](https://github.com/syuilo/misskey/releases/latest) tag. +1. Clone Misskey repository's master branch. + + `git clone -b master git://github.com/syuilo/misskey.git` + +2. Move to misskey directory. + + `cd misskey` + +3. Checkout to the [latest release](https://github.com/syuilo/misskey/releases/latest) tag. + + `git checkout master` *2.* Configure Misskey ---------------------------------------------------------------- @@ -71,9 +79,9 @@ Well done! Now you have an environment to run Misskey. Just `docker-compose up -d`. GLHF! ### How to update your Misskey server to the latest version -1. `git fetch` -2. `git stash` -3. `git checkout $(git tag -l | grep -Ev -- '-(rc|alpha)\.[0-9]+$' | sort -V | tail -n 1)` +1. `git stash` +2. `git checkout master` +3. `git pull` 4. `git stash pop` 5. `docker-compose build` 6. Check [ChangeLog](../CHANGELOG.md) for migration information diff --git a/docs/docker.fr.md b/docs/docker.fr.md index e89a8f1b1..c43ab4f65 100644 --- a/docs/docker.fr.md +++ b/docs/docker.fr.md @@ -10,9 +10,17 @@ Ce guide explique comment installer et configurer Misskey avec Docker. *1.* Télécharger Misskey ---------------------------------------------------------------- -1. `git clone -b master git://github.com/syuilo/misskey.git` Clone le dépôt de Misskey sur la branche master. -2. `cd misskey` Naviguez dans le dossier du dépôt. -3. `git checkout $(git tag -l | grep -Ev -- '-(rc|alpha)\.[0-9]+$' | sort -V | tail -n 1)` Checkout sur le tag de la [dernière version](https://github.com/syuilo/misskey/releases/latest). +1. Clone le dépôt de Misskey sur la branche master. + + `git clone -b master git://github.com/syuilo/misskey.git` + +2. Naviguez dans le dossier du dépôt. + + `cd misskey` + +3. Checkout sur le tag de la [dernière version](https://github.com/syuilo/misskey/releases/latest). + + `git checkout master` *2.* Configuration de Misskey ---------------------------------------------------------------- @@ -38,9 +46,9 @@ Parfait, Vous avez un environnement prêt pour démarrer Misskey. Utilisez la commande `docker-compose up -d`. GLHF! ### How to update your Misskey server to the latest version -1. `git fetch` -2. `git stash` -3. `git checkout $(git tag -l | grep -Ev -- '-(rc|alpha)\.[0-9]+$' | sort -V | tail -n 1)` +1. `git stash` +2. `git checkout master` +3. `git pull` 4. `git stash pop` 5. `docker-compose build` 6. Consultez le [ChangeLog](../CHANGELOG.md) pour avoir les éventuelles informations de migration @@ -52,14 +60,28 @@ Utilisez la commande `docker-compose up -d`. GLHF! ### Configuration d'ElasticSearch (pour la fonction de recherche) *1.* Préparation de l'environnement ---------------------------------------------------------------- -1. `mkdir elasticsearch && chown 1000:1000 elasticsearch` Permet de créer le dossier d'accueil de la base ElasticSearch aves les bons droits -2. `sysctl -w vm.max_map_count=262144` Augmente la valeur max du paramètre map_count du système (valeur minimum pour pouvoir lancer ES) +1. Permet de créer le dossier d'accueil de la base ElasticSearch aves les bons droits + + `mkdir elasticsearch && chown 1000:1000 elasticsearch` + +2. Augmente la valeur max du paramètre map_count du système (valeur minimum pour pouvoir lancer ES) + + `sysctl -w vm.max_map_count=262144` *2.* Après lancement du docker-compose, initialisation de la base ElasticSearch ---------------------------------------------------------------- -1. `docker-compose -it web /bin/sh` Connexion dans le conteneur web -2. `apk add curl` Ajout du paquet curl -3. `curl -X PUT "es:9200/misskey" -H 'Content-Type: application/json' -d'{ "settings" : { "index" : { } }}'` Création de la base ES +1. Connexion dans le conteneur web + + `docker-compose -it web /bin/sh` + +2. Ajout du paquet curl + + `apk add curl` + +3. Création de la base ES + + `curl -X PUT "es:9200/misskey" -H 'Content-Type: application/json' -d'{ "settings" : { "index" : { } }}'` + 4. `exit` ---------------------------------------------------------------- diff --git a/docs/docker.ja.md b/docs/docker.ja.md index 9d702fa79..4aa84675e 100644 --- a/docs/docker.ja.md +++ b/docs/docker.ja.md @@ -9,9 +9,17 @@ Dockerを使ったMisskey構築方法 *1.* Misskeyのダウンロード ---------------------------------------------------------------- -1. `git clone -b master git://github.com/syuilo/misskey.git` masterブランチからMisskeyレポジトリをクローン -2. `cd misskey` misskeyディレクトリに移動 -3. `git checkout $(git tag -l | grep -Ev -- '-(rc|alpha)\.[0-9]+$' | sort -V | tail -n 1)` [最新のリリース](https://github.com/syuilo/misskey/releases/latest)を確認 +1. masterブランチからMisskeyレポジトリをクローン + + `git clone -b master git://github.com/syuilo/misskey.git` + +2. misskeyディレクトリに移動 + + `cd misskey` + +3. [最新のリリース](https://github.com/syuilo/misskey/releases/latest)を確認 + + `git checkout master` *2.* 設定ファイルの作成と編集 ---------------------------------------------------------------- @@ -71,9 +79,9 @@ docker-compose run --rm web npm run init `docker-compose up -d`するだけです。GLHF! ### Misskeyを最新バージョンにアップデートする方法: -1. `git fetch` -2. `git stash` -3. `git checkout $(git tag -l | grep -Ev -- '-(rc|alpha)\.[0-9]+$' | sort -V | tail -n 1)` +1. `git stash` +2. `git checkout master` +3. `git pull` 4. `git stash pop` 5. `docker-compose build` 6. [ChangeLog](../CHANGELOG.md)でマイグレーション情報を確認する diff --git a/docs/setup.en.md b/docs/setup.en.md index 45e3e2c68..b38ef64a0 100644 --- a/docs/setup.en.md +++ b/docs/setup.en.md @@ -32,15 +32,32 @@ Please install and setup these softwares: *3.* Install Misskey ---------------------------------------------------------------- -1. `su - misskey` Connect to misskey user. -2. `git clone -b master git://github.com/syuilo/misskey.git` Clone the misskey repo from master branch. -3. `cd misskey` Navigate to misskey directory -4. `git checkout $(git tag -l | grep -Ev -- '-(rc|alpha)\.[0-9]+$' | sort -V | tail -n 1)` Checkout to the [latest release](https://github.com/syuilo/misskey/releases/latest) -5. `npm install` Install misskey dependencies. +1. Connect to misskey user. + + `su - misskey` + +2. Clone the misskey repo from master branch. + + `git clone -b master git://github.com/syuilo/misskey.git` + +3. Navigate to misskey directory + + `cd misskey` + +4. Checkout to the [latest release](https://github.com/syuilo/misskey/releases/latest) + + `git checkout master` + +5. Install misskey dependencies. + + `npm install` *4.* Configure Misskey ---------------------------------------------------------------- -1. `cp .config/example.yml .config/default.yml` Copy the `.config/example.yml` and rename it to `default.yml`. +1. Copy the `.config/example.yml` and rename it to `default.yml`. + + `cp .config/example.yml .config/default.yml` + 2. Edit `default.yml` *5.* Build Misskey @@ -74,37 +91,45 @@ Just `NODE_ENV=production npm start`. GLHF! ### Launch with systemd -1. Create a systemd service here: `/etc/systemd/system/misskey.service` +1. Create a systemd service here + + `/etc/systemd/system/misskey.service` + 2. Edit it, and paste this and save: -``` -[Unit] -Description=Misskey daemon + ``` + [Unit] + Description=Misskey daemon -[Service] -Type=simple -User=misskey -ExecStart=/usr/bin/npm start -WorkingDirectory=/home/misskey/misskey -Environment="NODE_ENV=production" -TimeoutSec=60 -StandardOutput=syslog -StandardError=syslog -SyslogIdentifier=misskey -Restart=always + [Service] + Type=simple + User=misskey + ExecStart=/usr/bin/npm start + WorkingDirectory=/home/misskey/misskey + Environment="NODE_ENV=production" + TimeoutSec=60 + StandardOutput=syslog + StandardError=syslog + SyslogIdentifier=misskey + Restart=always -[Install] -WantedBy=multi-user.target -``` + [Install] + WantedBy=multi-user.target + ``` -3. `systemctl daemon-reload ; systemctl enable misskey` Reload systemd and enable the misskey service. -4. `systemctl start misskey` Start the misskey service. +3. Reload systemd and enable the misskey service. + + `systemctl daemon-reload ; systemctl enable misskey` + +4. Start the misskey service. + + `systemctl start misskey` You can check if the service is running with `systemctl status misskey`. ### How to update your Misskey server to the latest version -1. `git fetch` -2. `git checkout $(git tag -l | grep -Ev -- '-(rc|alpha)\.[0-9]+$' | sort -V | tail -n 1)` +1. `git checkout master` +2. `git pull` 3. `npm install` 4. `NODE_ENV=production npm run build` 5. Check [ChangeLog](../CHANGELOG.md) for migration information diff --git a/docs/setup.fr.md b/docs/setup.fr.md index e6d36aeff..7ab88a6cd 100644 --- a/docs/setup.fr.md +++ b/docs/setup.fr.md @@ -32,15 +32,32 @@ Installez les paquets suivants : *3.* Installation de Misskey ---------------------------------------------------------------- -1. `su - misskey` Basculez vers l'utilisateur misskey. -2. `git clone -b master git://github.com/syuilo/misskey.git` Clonez la branche master du dépôt misskey. -3. `cd misskey` Accédez au dossier misskey. -4. `git checkout $(git tag -l | grep -Ev -- '-(rc|alpha)\.[0-9]+$' | sort -V | tail -n 1)` Checkout sur le tag de la [version la plus récente](https://github.com/syuilo/misskey/releases/latest) -5. `npm install` Installez les dépendances de misskey. +1. Basculez vers l'utilisateur misskey. + + `su - misskey` + +2. Clonez la branche master du dépôt misskey. + + `git clone -b master git://github.com/syuilo/misskey.git` + +3. Accédez au dossier misskey. + + `cd misskey` + +4. Checkout sur le tag de la [version la plus récente](https://github.com/syuilo/misskey/releases/latest) + + `git checkout master` + +5. Installez les dépendances de misskey. + + `npm install` *4.* Création du fichier de configuration ---------------------------------------------------------------- -1. `cp .config/example.yml .config/default.yml` Copiez le fichier `.config/example.yml` et renommez-le`default.yml`. +1. Copiez le fichier `.config/example.yml` et renommez-le`default.yml`. + + `cp .config/example.yml .config/default.yml` + 2. Editez le fichier `default.yml` *5.* Construction de Misskey @@ -68,37 +85,45 @@ Lancez tout simplement `NODE_ENV=production npm start`. Bonne chance et amusez-v ### Démarrage avec systemd -1. Créez un service systemd sur : `/etc/systemd/system/misskey.service` +1. Créez un service systemd sur + + `/etc/systemd/system/misskey.service` + 2. Editez-le puis copiez et coller ceci dans le fichier : -``` -[Unit] -Description=Misskey daemon + ``` + [Unit] + Description=Misskey daemon -[Service] -Type=simple -User=misskey -ExecStart=/usr/bin/npm start -WorkingDirectory=/home/misskey/misskey -Environment="NODE_ENV=production" -TimeoutSec=60 -StandardOutput=syslog -StandardError=syslog -SyslogIdentifier=misskey -Restart=always + [Service] + Type=simple + User=misskey + ExecStart=/usr/bin/npm start + WorkingDirectory=/home/misskey/misskey + Environment="NODE_ENV=production" + TimeoutSec=60 + StandardOutput=syslog + StandardError=syslog + SyslogIdentifier=misskey + Restart=always -[Install] -WantedBy=multi-user.target -``` + [Install] + WantedBy=multi-user.target + ``` -3. `systemctl daemon-reload ; systemctl enable misskey` Redémarre systemd et active le service misskey. -4. `systemctl start misskey` Démarre le service misskey. +3. Redémarre systemd et active le service misskey. + + `systemctl daemon-reload ; systemctl enable misskey` + +4. Démarre le service misskey. + + `systemctl start misskey` Vous pouvez vérifier si le service a démarré en utilisant la commande `systemctl status misskey`. ### Méthode de mise à jour vers la plus récente version de Misskey -1. `git fetch` -2. `git checkout $(git tag -l | grep -Ev -- '-(rc|alpha)\.[0-9]+$' | sort -V | tail -n 1)` +1. `git checkout master` +2. `git pull` 3. `npm install` 4. `NODE_ENV=production npm run build` 5. Consultez [ChangeLog](../CHANGELOG.md) pour les information de migration. diff --git a/docs/setup.ja.md b/docs/setup.ja.md index 1b1730b69..fcbef2af1 100644 --- a/docs/setup.ja.md +++ b/docs/setup.ja.md @@ -33,15 +33,32 @@ adduser --disabled-password --disabled-login misskey *3.* Misskeyのインストール ---------------------------------------------------------------- -1. `su - misskey` misskeyユーザーを使用 -2. `git clone -b master git://github.com/syuilo/misskey.git` masterブランチからMisskeyレポジトリをクローン -3. `cd misskey` misskeyディレクトリに移動 -4. `git checkout $(git tag -l | grep -Ev -- '-(rc|alpha)\.[0-9]+$' | sort -V | tail -n 1)` [最新のリリース](https://github.com/syuilo/misskey/releases/latest)を確認 -5. `npm install` Misskeyの依存パッケージをインストール +1. misskeyユーザーを使用 + + `su - misskey` + +2. masterブランチからMisskeyレポジトリをクローン + + `git clone -b master git://github.com/syuilo/misskey.git` + +3. misskeyディレクトリに移動 + + `cd misskey` + +4. [最新のリリース](https://github.com/syuilo/misskey/releases/latest)を確認 + + `git checkout master` + +5. Misskeyの依存パッケージをインストール + + `npm install` *4.* 設定ファイルを作成する ---------------------------------------------------------------- -1. `cp .config/example.yml .config/default.yml` `.config/example.yml`をコピーし名前を`default.yml`にする。 +1. `.config/example.yml`をコピーし名前を`default.yml`にする。 + + `cp .config/example.yml .config/default.yml` + 2. `default.yml` を編集する。 *5.* Misskeyのビルド @@ -73,38 +90,47 @@ npm run init `NODE_ENV=production npm start`するだけです。GLHF! ### systemdを用いた起動 -1. systemdサービスのファイルを作成: `/etc/systemd/system/misskey.service` +1. systemdサービスのファイルを作成 + + `/etc/systemd/system/misskey.service` + 2. エディタで開き、以下のコードを貼り付けて保存: -``` -[Unit] -Description=Misskey daemon + ``` + [Unit] + Description=Misskey daemon -[Service] -Type=simple -User=misskey -ExecStart=/usr/bin/npm start -WorkingDirectory=/home/misskey/misskey -Environment="NODE_ENV=production" -TimeoutSec=60 -StandardOutput=syslog -StandardError=syslog -SyslogIdentifier=misskey -Restart=always + [Service] + Type=simple + User=misskey + ExecStart=/usr/bin/npm start + WorkingDirectory=/home/misskey/misskey + Environment="NODE_ENV=production" + TimeoutSec=60 + StandardOutput=syslog + StandardError=syslog + SyslogIdentifier=misskey + Restart=always -[Install] -WantedBy=multi-user.target -``` -CentOSで1024以下のポートを使用してMisskeyを使用する場合は`ExecStart=/usr/bin/sudo /usr/bin/npm start`に変更する必要があります。 + [Install] + WantedBy=multi-user.target + ``` -3. `systemctl daemon-reload ; systemctl enable misskey` systemdを再読み込みしmisskeyサービスを有効化 -4. `systemctl start misskey` misskeyサービスの起動 + CentOSで1024以下のポートを使用してMisskeyを使用する場合は`ExecStart=/usr/bin/sudo /usr/bin/npm start`に変更する必要があります。 + +3. systemdを再読み込みしmisskeyサービスを有効化 + + `systemctl daemon-reload ; systemctl enable misskey` + +4. misskeyサービスの起動 + + `systemctl start misskey` `systemctl status misskey`と入力すると、サービスの状態を調べることができます。 ### Misskeyを最新バージョンにアップデートする方法: -1. `git fetch` -2. `git checkout $(git tag -l | grep -Ev -- '-(rc|alpha)\.[0-9]+$' | sort -V | tail -n 1)` +1. `git checkout master` +2. `git pull` 3. `npm install` 4. `NODE_ENV=production npm run build` 5. [ChangeLog](../CHANGELOG.md)でマイグレーション情報を確認する From bcb1a9c5d3378082346d0f1db725825c73e8b627 Mon Sep 17 00:00:00 2001 From: syuilo Date: Wed, 17 Apr 2019 02:19:49 +0900 Subject: [PATCH 15/20] Refactor --- src/services/drive/delete-file.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/drive/delete-file.ts b/src/services/drive/delete-file.ts index 1aba0d5fd..61cac6183 100644 --- a/src/services/drive/delete-file.ts +++ b/src/services/drive/delete-file.ts @@ -43,7 +43,7 @@ export default async function(file: DriveFile, isExpired = false) { // TODO: トランザクション Notes.createQueryBuilder('note').delete() - .andWhere(':id = ANY(note.fileIds)', { id: file.id }) + .where(':id = ANY(note.fileIds)', { id: file.id }) .execute(); } From 150dac00cf3f9a148c21598d53d8e37c11017def Mon Sep 17 00:00:00 2001 From: tamaina Date: Wed, 17 Apr 2019 02:21:22 +0900 Subject: [PATCH 16/20] Update stream.ja-JP.md (#4725) --- src/docs/stream.ja-JP.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/docs/stream.ja-JP.md b/src/docs/stream.ja-JP.md index 0e9afa733..40fc49916 100644 --- a/src/docs/stream.ja-JP.md +++ b/src/docs/stream.ja-JP.md @@ -130,10 +130,12 @@ Misskeyのストリームに接続しただけでは、まだリアルタイム ```json { type: 'api', - id: 'xxxxxxxxxxxxxxxx', - endpoint: 'notes/create', - data: { - text: 'yee haw!' + body: { + id: 'xxxxxxxxxxxxxxxx', + endpoint: 'notes/create', + data: { + text: 'yee haw!' + } } } ``` From f38ab0b973dfc0734740f80dbb033208ce11eeb9 Mon Sep 17 00:00:00 2001 From: syuilo Date: Wed, 17 Apr 2019 02:37:37 +0900 Subject: [PATCH 17/20] Update delete-file.ts --- src/services/drive/delete-file.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/services/drive/delete-file.ts b/src/services/drive/delete-file.ts index 61cac6183..f1280822a 100644 --- a/src/services/drive/delete-file.ts +++ b/src/services/drive/delete-file.ts @@ -42,8 +42,8 @@ export default async function(file: DriveFile, isExpired = false) { DriveFiles.delete(file.id); // TODO: トランザクション - Notes.createQueryBuilder('note').delete() - .where(':id = ANY(note.fileIds)', { id: file.id }) + Notes.createQueryBuilder().delete() + .where(':id = ANY(fileIds)', { id: file.id }) .execute(); } From a9025aea0df014b77fa09073d6c51a8c20da632c Mon Sep 17 00:00:00 2001 From: syuilo Date: Wed, 17 Apr 2019 02:51:12 +0900 Subject: [PATCH 18/20] Better response --- src/models/repositories/user.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/models/repositories/user.ts b/src/models/repositories/user.ts index 9e4247545..30c77e78c 100644 --- a/src/models/repositories/user.ts +++ b/src/models/repositories/user.ts @@ -84,6 +84,8 @@ export class UserRepository extends Repository { const pins = opts.detail ? await UserNotePinings.find({ userId: user.id }) : []; const profile = opts.detail ? await UserProfiles.findOne({ userId: user.id }).then(ensure) : null; + const falsy = opts.detail ? false : undefined; + return await rap({ id: user.id, name: user.name, @@ -91,10 +93,10 @@ export class UserRepository extends Repository { host: user.host, avatarUrl: user.avatarUrl ? user.avatarUrl : config.url + '/avatar/' + user.id, avatarColor: user.avatarColor, - isAdmin: user.isAdmin || undefined, - isBot: user.isBot || undefined, - isCat: user.isCat || undefined, - isVerified: user.isVerified || undefined, + isAdmin: user.isAdmin || falsy, + isBot: user.isBot || falsy, + isCat: user.isCat || falsy, + isVerified: user.isVerified || falsy, // カスタム絵文字添付 emojis: user.emojis.length > 0 ? Emojis.find({ @@ -123,7 +125,7 @@ export class UserRepository extends Repository { bannerUrl: user.bannerUrl, bannerColor: user.bannerColor, isLocked: user.isLocked, - isModerator: user.isModerator || undefined, + isModerator: user.isModerator || falsy, description: profile!.description, location: profile!.location, birthday: profile!.birthday, From 5a5b65e9bf8ebb0eea1a515af16b49d6b1d6ab41 Mon Sep 17 00:00:00 2001 From: syuilo Date: Wed, 17 Apr 2019 02:57:36 +0900 Subject: [PATCH 19/20] Clean up --- .circleci/config.yml | 6 ------ package.json | 4 ---- 2 files changed, 10 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index dad2c3fc7..f26cadb5a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -5,12 +5,6 @@ executors: working_directory: /tmp/workspace docker: - image: misskey/ci:latest - - image: circleci/mongo:latest - with-redis: - working_directory: /tmp/workspace - docker: - - image: misskey/ci:latest - - image: circleci/mongo:latest - image: circleci/redis:latest docker: working_directory: /tmp/workspace diff --git a/package.json b/package.json index 4bca45293..2edbd050b 100644 --- a/package.json +++ b/package.json @@ -64,8 +64,6 @@ "@types/lolex": "3.1.1", "@types/minio": "7.0.1", "@types/mocha": "5.2.6", - "@types/mongodb": "3.1.22", - "@types/monk": "6.0.0", "@types/node": "11.13.4", "@types/nodemailer": "4.6.7", "@types/nprogress": "0.0.29", @@ -167,8 +165,6 @@ "mocha": "6.1.3", "moji": "0.5.1", "moment": "2.24.0", - "mongodb": "3.2.3", - "monk": "6.0.6", "ms": "2.1.1", "nested-property": "0.0.7", "node-fetch": "2.3.0", From 27a961814bb96b69469f882dd2df98c9dcac2b6c Mon Sep 17 00:00:00 2001 From: syuilo Date: Wed, 17 Apr 2019 02:57:48 +0900 Subject: [PATCH 20/20] 11.1.4 --- CHANGELOG.md | 10 ++++++++++ package.json | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7df2ea9b8..3e225b8aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,16 @@ If you encounter any problems with updating, please try the following: 1. `npm run clean` or `npm run cleanall` 2. Retry update (Don't forget `npm i`) +11.1.4 (2019/04/17) +------------------- +### Fixes +* タイムライン取得時に削除されたファイルを添付している投稿が含まれているとサーバーでエラーになる問題を修正 +* 管理画面のインスタンスメニューで変更前の設定が読み込まれないことがある問題を修正 +* 猫ではないのに猫のままで表示される問題を修正 +* admin/driveのアイコンがずれてる問題を修正 +* チャートで大きな数値を扱えない問題を修正 +* UIの修正 + 11.1.3 (2019/04/16) ------------------- ### Fixes diff --git a/package.json b/package.json index 2edbd050b..c835c851f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "misskey", "author": "syuilo ", - "version": "11.1.3", + "version": "11.1.4", "codename": "daybreak", "repository": { "type": "git",