diff --git a/.config/example.yml b/.config/example.yml index 8a626cc06..db278ecc2 100644 --- a/.config/example.yml +++ b/.config/example.yml @@ -84,40 +84,54 @@ redis: drive: storage: 'fs' - # OR +# OR - # storage: 'minio' - # bucket: - # prefix: - # config: - # endPoint: - # port: - # useSSL: - # accessKey: - # secretKey: +#drive: +# storage: 'minio' +# bucket: +# prefix: +# config: +# endPoint: +# port: +# useSSL: +# accessKey: +# secretKey: - # S3 example - # storage: 'minio' - # bucket: bucket-name - # prefix: files - # config: - # endPoint: s3-us-west-2.amazonaws.com - # region: us-west-2 - # useSSL: true - # accessKey: XXX - # secretKey: YYY +# S3/GCS example +# +# * Replace to +# S3: see https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region +# GCS: use 'storage.googleapis.com' +# +# * Replace to +# S3: see https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region +# GCS: not needed (just delete the region line) +# +#drive: +# storage: 'minio' +# bucket: bucket-name +# prefix: files +# baseUrl: https://bucket-name. +# config: +# endPoint: +# region: +# useSSL: true +# accessKey: XXX +# secretKey: YYY - # S3 example (with CDN, custom domain) - # storage: 'minio' - # bucket: drive.example.com - # prefix: files - # baseUrl: https://drive.example.com - # config: - # endPoint: s3-us-west-2.amazonaws.com - # region: us-west-2 - # useSSL: true - # accessKey: XXX - # secretKey: YYY +# S3/GCS example (with CDN, custom domain) +# +#drive: +# storage: 'minio' +# bucket: drive.example.com +# prefix: files +# baseUrl: https://drive.example.com +# config: +# endPoint: +# region: +# useSSL: true +# accessKey: XXX +# secretKey: YYY # ┌───────────────┐ #───┘ ID generation └─────────────────────────────────────────── diff --git a/CHANGELOG.md b/CHANGELOG.md index bb3a15bbf..391329c56 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -73,6 +73,26 @@ mongodb: 8. master ブランチに戻す 9. enjoy +11.12.0 (2019/05/10) +-------------------- +### 注意 +このアップデートを適用した後、プロセスを起動(もしくは再起動)する前に[マイグレーション](#migration)の手順を実行してください + +### Improvements +* インスタンス運営者がおすすめアカウントを設定できるように +* MisskeyPagesでNAME環境変数がNULLにならないように +* MisskeyPagesにNULL環境変数を追加 +* MisskeyPagesで変数を並べ替えられるように +* MisskeyPagesのテキストのリスト内で変数埋め込みできるように +* 自分の指定した投稿のRenoteを全て解除するAPIを追加 + +### Fixes +* Noteをpull取得した時にhost名がvalidateされていない問題を修正 +* みつけるで人気のタグが表示されない問題を修正 + +### その他 +* アカウントのisVerifiedフラグを廃止 + 11.11.2 (2019/05/07) -------------------- ### Fixes diff --git a/README.md b/README.md index 1ee61e225..b0ef6950a 100644 --- a/README.md +++ b/README.md @@ -105,6 +105,7 @@ Please see the [Contribution Guide](./CONTRIBUTING.md). + @@ -112,6 +113,7 @@ Please see the [Contribution Guide](./CONTRIBUTING.md). + @@ -127,7 +129,6 @@ Please see the [Contribution Guide](./CONTRIBUTING.md). - @@ -138,9 +139,9 @@ Please see the [Contribution Guide](./CONTRIBUTING.md). -
Hiroshi Seki weepjpkiritan ne_moni Melilot osapon
Hiroshi Seki weepjpkiritan ne_moni Melilot osaponYUKIMOCHI Sampot sheeta.sSatsuki Yanagi
YuzuRyo61 gutfuckllcYUKIMOCHI Sampot sheeta.sSatsuki Yanagi
+ @@ -149,8 +150,8 @@ Please see the [Contribution Guide](./CONTRIBUTING.md). - + @@ -159,17 +160,18 @@ Please see the [Contribution Guide](./CONTRIBUTING.md). -
Satsuki Yanagi takimura Damillora Atsuko TominagaCG Hekovic dansupGargron
Satsuki Yanagi takimura Damillora Atsuko TominagaCG Hekovic dansupGargron
+ +
Gargron Nokotaro Takeda Takashi Shibuya
Gargron Nokotaro Takeda Takashi Shibuya
-**Last updated:** Fri, 03 May 2019 05:33:07 UTC +**Last updated:** Tue, 07 May 2019 11:55:07 UTC :four_leaf_clover: Copyright diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index c9f7436a9..14b8daad4 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -263,7 +263,6 @@ common: update-available-title: "更新があります" update-available: "Misskeyの新しいバージョンがあります({newer}。現在{current}を利用中)。ページを再度読み込みすると更新が適用されます。" my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。" - verified-user: "公式アカウント" hide-password: "パスワードを隠す" show-password: "パスワードを表示する" @@ -339,7 +338,7 @@ auth/views/index.vue: sign-in: "サインインしてください" common/views/pages/explore.vue: - verified-users: "公式アカウント" + pinned-users: "ピン留めされたユーザー" popular-users: "人気のユーザー" recently-updated-users: "最近投稿したユーザー" recently-registered-users: "新規ユーザー" @@ -1264,7 +1263,7 @@ admin/views/instance.vue: invite: "招待" save: "保存" saved: "保存しました" - user-recommendation-config: "おすすめユーザー" + pinned-users: "ピン留めユーザー" email-config: "メールサーバーの設定" email-config-info: "メールアドレス確認やパスワードリセットの際に使われます。" enable-email: "メール配信を有効にする" @@ -1351,12 +1350,6 @@ admin/views/users.vue: silence-confirm: "サイレンスしますか?" unmake-silence: "サイレンスの解除" unsilence-confirm: "サイレンスを解除しますか?" - verify: "公式アカウントにする" - verify-confirm: "公式アカウントにしますか?" - verified: "公式アカウントにしました" - unverify: "公式アカウントを解除する" - unverify-confirm: "公式アカウントを解除しますか?" - unverified: "公式アカウントを解除しました" update-remote-user: "リモートユーザー情報の更新" remote-user-updated: "リモートユーザー情報を更新しました" users: @@ -1373,7 +1366,6 @@ admin/views/users.vue: admin: "管理者" moderator: "モデレーター" adminOrModerator: "管理者+モデレーター" - verified: "公式アカウント" silenced: "サイレンス済み" suspended: "凍結済み" origin: diff --git a/migration/1557476068003-PinnedUsers.ts b/migration/1557476068003-PinnedUsers.ts new file mode 100644 index 000000000..4e7222aaf --- /dev/null +++ b/migration/1557476068003-PinnedUsers.ts @@ -0,0 +1,13 @@ +import {MigrationInterface, QueryRunner} from "typeorm"; + +export class PinnedUsers1557476068003 implements MigrationInterface { + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "meta" ADD "pinnedUsers" character varying(256) array NOT NULL DEFAULT '{}'::varchar[]`); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "pinnedUsers"`); + } + +} diff --git a/package.json b/package.json index 3c873763d..bc7b2f514 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "misskey", "author": "syuilo ", - "version": "11.11.2", + "version": "11.12.0", "codename": "daybreak", "repository": { "type": "git", diff --git a/src/client/app/admin/views/instance.vue b/src/client/app/admin/views/instance.vue index cca4e5f66..d81edc8fe 100644 --- a/src/client/app/admin/views/instance.vue +++ b/src/client/app/admin/views/instance.vue @@ -82,6 +82,14 @@ + + +
+ + {{ $t('save') }} +
+
+
@@ -190,6 +198,7 @@ export default Vue.extend({ enableServiceWorker: false, swPublicKey: null, swPrivateKey: null, + pinnedUsers: [], faHeadset, faShieldAlt, faGhost, faUserPlus, farEnvelope, faBolt }; }, @@ -239,6 +248,7 @@ export default Vue.extend({ this.enableServiceWorker = meta.enableServiceWorker; this.swPublicKey = meta.swPublickey; this.swPrivateKey = meta.swPrivateKey; + this.pinnedUsers = meta.pinnedUsers.join('\n'); }); }, @@ -297,7 +307,8 @@ export default Vue.extend({ smtpPass: this.smtpAuth ? this.smtpPass : '', enableServiceWorker: this.enableServiceWorker, swPublicKey: this.swPublicKey, - swPrivateKey: this.swPrivateKey + swPrivateKey: this.swPrivateKey, + pinnedUsers: this.pinnedUsers.split('\n') }).then(() => { this.$root.dialog({ type: 'success', diff --git a/src/client/app/admin/views/users.user.vue b/src/client/app/admin/views/users.user.vue index 096e017e6..929fc8f4b 100644 --- a/src/client/app/admin/views/users.user.vue +++ b/src/client/app/admin/views/users.user.vue @@ -11,7 +11,6 @@ @{{ user | acct }} admin moderator - @@ -77,7 +76,6 @@ export default Vue.extend({ background var(--noteHeaderAdminBg) color var(--noteHeaderAdminFg) - > .is-verified > .is-silenced > .is-suspended margin 0 0 0 .5em diff --git a/src/client/app/admin/views/users.vue b/src/client/app/admin/views/users.vue index 2d6aef337..cc3810853 100644 --- a/src/client/app/admin/views/users.vue +++ b/src/client/app/admin/views/users.vue @@ -12,10 +12,6 @@
{{ $t('reset-password') }} - - {{ $t('verify') }} - {{ $t('unverify') }} - {{ $t('make-silence') }} {{ $t('unmake-silence') }} @@ -47,7 +43,6 @@ - @@ -71,7 +66,7 @@ import Vue from 'vue'; import i18n from '../../i18n'; import parseAcct from "../../../../misc/acct/parse"; -import { faCertificate, faUsers, faTerminal, faSearch, faKey, faSync, faMicrophoneSlash } from '@fortawesome/free-solid-svg-icons'; +import { faUsers, faTerminal, faSearch, faKey, faSync, faMicrophoneSlash } from '@fortawesome/free-solid-svg-icons'; import { faSnowflake } from '@fortawesome/free-regular-svg-icons'; import XUser from './users.user.vue'; @@ -84,8 +79,6 @@ export default Vue.extend({ return { user: null, target: null, - verifying: false, - unverifying: false, suspending: false, unsuspending: false, sort: '+createdAt', @@ -95,7 +88,7 @@ export default Vue.extend({ offset: 0, users: [], existMore: false, - faTerminal, faCertificate, faUsers, faSnowflake, faSearch, faKey, faSync, faMicrophoneSlash + faTerminal, faUsers, faSnowflake, faSearch, faKey, faSync, faMicrophoneSlash }; }, @@ -181,56 +174,6 @@ export default Vue.extend({ }); }, - async verifyUser() { - if (!await this.getConfirmed(this.$t('verify-confirm'))) return; - - this.verifying = true; - - const process = async () => { - await this.$root.api('admin/verify-user', { userId: this.user.id }); - this.$root.dialog({ - type: 'success', - text: this.$t('verified') - }); - }; - - await process().catch(e => { - this.$root.dialog({ - type: 'error', - text: e.toString() - }); - }); - - this.verifying = false; - - this.refreshUser(); - }, - - async unverifyUser() { - if (!await this.getConfirmed(this.$t('unverify-confirm'))) return; - - this.unverifying = true; - - const process = async () => { - await this.$root.api('admin/unverify-user', { userId: this.user.id }); - this.$root.dialog({ - type: 'success', - text: this.$t('unverified') - }); - }; - - await process().catch(e => { - this.$root.dialog({ - type: 'error', - text: e.toString() - }); - }); - - this.unverifying = false; - - this.refreshUser(); - }, - async silenceUser() { if (!await this.getConfirmed(this.$t('silence-confirm'))) return; diff --git a/src/client/app/common/views/components/note-header.vue b/src/client/app/common/views/components/note-header.vue index 26c9c7b7d..a72863e1d 100644 --- a/src/client/app/common/views/components/note-header.vue +++ b/src/client/app/common/views/components/note-header.vue @@ -8,7 +8,6 @@ bot cat -
via {{ note.app.name }} @@ -95,10 +94,6 @@ export default Vue.extend({ color var(--noteHeaderAcct) flex-shrink 2147483647 - > .is-verified - margin 0 .5em 0 0 - color #4dabf7 - > .info margin-left auto font-size 0.9em diff --git a/src/client/app/common/views/components/page-editor/page-editor.script-block.vue b/src/client/app/common/views/components/page-editor/page-editor.script-block.vue index 41ca8ed09..faecaf61f 100644 --- a/src/client/app/common/views/components/page-editor/page-editor.script-block.vue +++ b/src/client/app/common/views/components/page-editor/page-editor.script-block.vue @@ -1,5 +1,5 @@