From 5c36a249379f9973cc024f0b680966a0d60cfa0e 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 44bad42cf3f5daca5614284cba3d4e5aab338cfb 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 8190e89824f11f14f2c96e25d3809e83f5a74e51 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: Tue, 16 Apr 2019 13:06:36 +0900 Subject: [PATCH 04/20] Docker: Uncomment redis (#4707) Redis is required since Misskey 11.0.0. From 59f758f2070d8e2b4b21c16895fbf098f5102d24 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 0b4d7de9155a0a768fa7986248462b693ec8f16f 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 e83abda57501df16373cd92ff51b215ccee41583 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 f21d1f17adb2485341cb92bdea30ec88967f5860 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 660a976a1c884d38e5f4ecdc13f18be471f81be3 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 0f9e0b9c83e41e31f9a8dfee4bc9a1346b76b490 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 135c99591ead7922270baa8f9f946b5e813529f9 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 8760a4195c9956a8f07cef143b21493b51b325e6 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 cfcdef99a19d9d5c1cec79c6af837854fa27f292 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 9c3f765343bc488e4319226d5eb359f30b3f83db 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 475e61393126f6d971fa0616a30c90c15bd8c06e 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 2d21361b36566ea4d2007115469d6e7e2bed6362 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 a08a0270e750e73ae1be315b411141af9d41bf41 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 f9f8ccdfbf88704cc09e33c1f50a1170b0677ebf 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 696bc486ead15c7fe6f1147da8f2440e675caee7 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 f5786c4f153cae47a6a2a6d0a4f092bb65afbb1b 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",