Compare commits

..

2048 Commits

Author SHA1 Message Date
syuilo 60e10d4efa 10.57.2 2018-11-24 17:31:08 +09:00
syuilo 95ba7e43b1 Fix bug: リモートユーザーのアイコンとバナーの色が取得されていない問題を修正 2018-11-24 17:29:32 +09:00
syuilo 9e5a2e5b17 Fix lint 2018-11-24 17:19:51 +09:00
syuilo dbbc416095 [MFM] Fix hashtag detection 2018-11-24 17:18:11 +09:00
syuilo a479ad357c Update dependency 🚀 2018-11-24 17:13:25 +09:00
syuilo b1c12abb7c Refactor 2018-11-24 17:10:12 +09:00
syuilo ba50156a83 10.57.1 2018-11-24 07:35:29 +09:00
syuilo eb83ab41c0 Revert "10.57.1"
This reverts commit 8c4f0d4589.
2018-11-24 07:34:51 +09:00
syuilo 4e6a917dab Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-11-24 07:34:23 +09:00
syuilo 8c4f0d4589 10.57.1 2018-11-24 07:33:53 +09:00
syuilo 3f7738204e Merge pull request #3391 from syuilo/l10n_develop
New Crowdin translations
2018-11-24 07:31:36 +09:00
syuilo e251a9b9fe New translations ja-JP.yml (English) 2018-11-24 07:22:10 +09:00
syuilo 01d43b9683 New translations ja-JP.yml (Norwegian) 2018-11-24 07:13:03 +09:00
syuilo 4d4a0c89a8 New translations ja-JP.yml (Dutch) 2018-11-24 07:12:58 +09:00
syuilo 0a5524e9c8 New translations ja-JP.yml (Japanese, Kansai) 2018-11-24 07:12:53 +09:00
syuilo c8fb5746b3 New translations ja-JP.yml (Spanish) 2018-11-24 07:12:49 +09:00
syuilo bbcc132978 New translations ja-JP.yml (Russian) 2018-11-24 07:12:44 +09:00
syuilo d3e4f84285 New translations ja-JP.yml (Portuguese) 2018-11-24 07:12:38 +09:00
syuilo 62c470cf75 New translations ja-JP.yml (Polish) 2018-11-24 07:12:34 +09:00
syuilo 8ab31d3765 New translations ja-JP.yml (Korean) 2018-11-24 07:12:28 +09:00
syuilo 55fe1cf0a8 New translations ja-JP.yml (Italian) 2018-11-24 07:12:23 +09:00
syuilo 00cff51ff7 New translations ja-JP.yml (German) 2018-11-24 07:12:18 +09:00
syuilo d6bc4a7aa1 New translations ja-JP.yml (French) 2018-11-24 07:12:14 +09:00
syuilo 4e57d12aea New translations ja-JP.yml (English) 2018-11-24 07:12:09 +09:00
syuilo 4a2d99c43f New translations ja-JP.yml (Chinese Simplified) 2018-11-24 07:12:03 +09:00
syuilo 217c27df86 New translations ja-JP.yml (Catalan) 2018-11-24 07:11:59 +09:00
syuilo e6dcd438b4 Update ja-JP.yml 2018-11-24 07:05:41 +09:00
syuilo de2b0224d6 Resolve #3158 2018-11-24 07:04:29 +09:00
syuilo 3f8a72eb88 🎨 2018-11-24 07:03:03 +09:00
syuilo 0387176e8c 🎨 2018-11-24 07:01:40 +09:00
syuilo aa34e332f4 Update reversi.room.vue 2018-11-24 07:01:12 +09:00
syuilo d13999d689 🎨 2018-11-24 06:56:30 +09:00
syuilo 22c4e92728 Resolve #3389 2018-11-24 06:47:51 +09:00
syuilo df8128c0b1 Update url-preview.ts 2018-11-24 06:41:22 +09:00
syuilo ec534a3704 New translations ja-JP.yml (Korean) 2018-11-24 00:53:34 +09:00
syuilo 366d4cd3e2 New translations ja-JP.yml (Korean) 2018-11-24 00:43:26 +09:00
Acid Chicken (硫酸鶏) 4841926df1 Update README.md [AUTOGEN] (#3393) 2018-11-23 23:12:54 +09:00
MeiMei f2f7bdc5a9 Do not use _replyIds (#3392) 2018-11-23 23:12:28 +09:00
syuilo fd811eb325 New translations ja-JP.yml (English) 2018-11-23 19:44:09 +09:00
syuilo 915d352505 Resolve #3366 2018-11-23 16:39:51 +09:00
syuilo 1d1024c57a [MFM] Improve hashtag detection
Resolve #3387
2018-11-23 16:02:17 +09:00
syuilo 73df6e0347 Update manage.ja.md 2018-11-23 09:26:14 +09:00
syuilo e6d62c5a7b Update manage.en.md 2018-11-23 09:25:32 +09:00
syuilo 470e48c0a5 Delete suspend.js 2018-11-23 09:24:00 +09:00
syuilo 9235f72a2e Update manage.ja.md 2018-11-23 09:23:40 +09:00
syuilo 9fe6da79b2 Update manage.en.md 2018-11-23 09:23:19 +09:00
syuilo 1858437eb1 Delete reset-password.js 2018-11-23 09:22:45 +09:00
dependabot[bot] c3ba0dcd32 Update @types/systeminformation requirement from 3.23.0 to 3.23.1 (#3370)
Updates the requirements on [@types/systeminformation](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-23 09:12:36 +09:00
dependabot[bot] 70f4b13089 Update @types/node requirement from 10.12.2 to 10.12.10 (#3369)
Updates the requirements on [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-23 09:12:29 +09:00
dependabot[bot] cc57a4b671 Update @types/koa requirement from 2.0.46 to 2.0.47 (#3354)
Updates the requirements on [@types/koa](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-23 09:12:21 +09:00
dependabot[bot] 6902700458 Update @types/redis requirement from 2.8.7 to 2.8.8 (#3353)
Updates the requirements on [@types/redis](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-23 09:12:13 +09:00
dependabot[bot] b772041547 Update @types/koa-router requirement from 7.0.33 to 7.0.35 (#3352)
Updates the requirements on [@types/koa-router](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-23 09:12:01 +09:00
syuilo 79174c1a19 10.57.0 2018-11-23 08:20:12 +09:00
syuilo 898850027a Merge pull request #3335 from syuilo/l10n_develop
New Crowdin translations
2018-11-23 08:19:32 +09:00
syuilo 0d272b1fb0 Resolve #3376 2018-11-23 08:13:17 +09:00
syuilo 7993a9eb90 New translations ja-JP.yml (English) 2018-11-23 08:12:53 +09:00
syuilo 42d419970d New translations ja-JP.yml (Norwegian) 2018-11-23 08:05:03 +09:00
syuilo ad49268d8b New translations ja-JP.yml (Dutch) 2018-11-23 08:04:53 +09:00
syuilo 76c345396a New translations ja-JP.yml (Japanese, Kansai) 2018-11-23 08:04:44 +09:00
syuilo 5690ef1ebc New translations ja-JP.yml (Spanish) 2018-11-23 08:04:35 +09:00
syuilo 5616404b4d New translations ja-JP.yml (Russian) 2018-11-23 08:04:31 +09:00
syuilo f92137f6c2 New translations ja-JP.yml (Portuguese) 2018-11-23 08:04:21 +09:00
syuilo ca3373ba4e New translations ja-JP.yml (Polish) 2018-11-23 08:04:12 +09:00
syuilo 4e6115b414 New translations ja-JP.yml (Korean) 2018-11-23 08:04:03 +09:00
syuilo ddf47051c9 New translations ja-JP.yml (Italian) 2018-11-23 08:03:54 +09:00
syuilo d45478510c New translations ja-JP.yml (German) 2018-11-23 08:03:45 +09:00
syuilo 2641f89349 New translations ja-JP.yml (French) 2018-11-23 08:03:35 +09:00
syuilo 9d46d03c37 New translations ja-JP.yml (English) 2018-11-23 08:03:26 +09:00
syuilo 25b6de88a9 New translations ja-JP.yml (Chinese Simplified) 2018-11-23 08:03:18 +09:00
syuilo a24046e46a New translations ja-JP.yml (Catalan) 2018-11-23 08:03:09 +09:00
syuilo 7e803ff9a9 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-11-23 08:01:29 +09:00
syuilo 246cead2b1 Improve user operations
Resolve #2197
Resolve #3367
2018-11-23 08:01:14 +09:00
dependabot[bot] 214f7f06bb Update koa requirement from 2.6.1 to 2.6.2 (#3386)
Updates the requirements on [koa](https://github.com/koajs/koa) to permit the latest version.
- [Release notes](https://github.com/koajs/koa/releases)
- [Changelog](https://github.com/koajs/koa/blob/master/History.md)
- [Commits](https://github.com/koajs/koa/commits/2.6.2)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-23 06:06:03 +09:00
dependabot[bot] 6878f73a9f Update ws requirement from 6.1.0 to 6.1.2 (#3385)
Updates the requirements on [ws](https://github.com/websockets/ws) to permit the latest version.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/commits/6.1.2)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-23 05:23:05 +09:00
MeiMei 336b45b6f7 AP quote (#3384) 2018-11-23 02:10:07 +09:00
nico 2a0b62d26d Fix #3343 (#3383)
Setting "X-Forwarded-Proto: https" in the SSL proxy is the correct way to do this
2018-11-23 02:09:04 +09:00
MeiMei 653ec0cbb0 No cache /notes/:note (#3382) 2018-11-22 23:17:58 +09:00
syuilo 120ab3f0a3 New translations ja-JP.yml (French) 2018-11-22 18:53:16 +09:00
syuilo 8bcbbbc1a3 New translations ja-JP.yml (English) 2018-11-22 09:22:41 +09:00
dependabot[bot] 13a75abc91 Update systeminformation requirement from 3.47.0 to 3.49.3 (#3374)
Updates the requirements on [systeminformation](https://github.com/sebhildebrandt/systeminformation) to permit the latest version.
- [Release notes](https://github.com/sebhildebrandt/systeminformation/releases)
- [Changelog](https://github.com/sebhildebrandt/systeminformation/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sebhildebrandt/systeminformation/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-22 05:31:46 +09:00
dependabot[bot] eace740c63 Update emojilib requirement from 2.3.0 to 2.4.0 (#3375)
Updates the requirements on [emojilib](https://github.com/muan/emojilib) to permit the latest version.
- [Release notes](https://github.com/muan/emojilib/releases)
- [Commits](https://github.com/muan/emojilib/commits/v2.4.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-22 05:31:09 +09:00
dependabot[bot] cb3a54de00 Update apexcharts requirement from 2.2.2 to 2.2.3 (#3373)
Updates the requirements on [apexcharts](https://github.com/apexcharts/apexcharts.js) to permit the latest version.
- [Release notes](https://github.com/apexcharts/apexcharts.js/releases)
- [Changelog](https://github.com/apexcharts/apexcharts.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/apexcharts/apexcharts.js/commits/v2.2.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-22 05:29:47 +09:00
dependabot[bot] 5fbc77795d Update webpack requirement from 4.25.1 to 4.26.0 (#3371)
Updates the requirements on [webpack](https://github.com/webpack/webpack) to permit the latest version.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/commits/v4.26.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-22 05:29:02 +09:00
dependabot[bot] ce4feae731 Update vue-i18n requirement from 8.3.1 to 8.3.2 (#3372)
Updates the requirements on [vue-i18n](https://github.com/kazupon/vue-i18n) to permit the latest version.
- [Release notes](https://github.com/kazupon/vue-i18n/releases)
- [Changelog](https://github.com/kazupon/vue-i18n/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/kazupon/vue-i18n/commits/v8.3.2)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-22 05:28:39 +09:00
Aya Morisawa 08f00d4990 Remove unneccesary cast (#3355) 2018-11-22 05:07:25 +09:00
Acid Chicken (硫酸鶏) 6951f7e74a Fix #3361 (#3362)
* Update create.ts

* Update api.ts
2018-11-22 05:06:51 +09:00
syuilo 2b4d63b1bb Add some tests 2018-11-22 05:04:45 +09:00
syuilo 8cbb961493 [MFM] Improve URL parsing
Fix #3368
2018-11-22 05:02:38 +09:00
syuilo 64c795938d New translations ja-JP.yml (French) 2018-11-22 02:03:40 +09:00
syuilo 67df681a48 Refactoring 2018-11-22 01:51:26 +09:00
syuilo 9285bcf8bb New translations ja-JP.yml (Norwegian) 2018-11-21 23:55:53 +09:00
syuilo b9b23a4b54 New translations ja-JP.yml (Dutch) 2018-11-21 23:55:48 +09:00
syuilo 2f6371b085 New translations ja-JP.yml (Japanese, Kansai) 2018-11-21 23:55:38 +09:00
syuilo 2a5c3475a7 New translations ja-JP.yml (Spanish) 2018-11-21 23:55:29 +09:00
syuilo 8a2698a5db New translations ja-JP.yml (Russian) 2018-11-21 23:55:19 +09:00
syuilo f6919a171a New translations ja-JP.yml (Portuguese) 2018-11-21 23:55:09 +09:00
syuilo 82ebf67456 New translations ja-JP.yml (Polish) 2018-11-21 23:55:02 +09:00
syuilo a60c8b2ee8 New translations ja-JP.yml (Korean) 2018-11-21 23:54:58 +09:00
syuilo 0a2b8ccfb6 New translations ja-JP.yml (Italian) 2018-11-21 23:54:53 +09:00
syuilo 698094b787 New translations ja-JP.yml (German) 2018-11-21 23:54:48 +09:00
syuilo b57e111ea8 New translations ja-JP.yml (French) 2018-11-21 23:54:41 +09:00
syuilo aa6bf2b54e New translations ja-JP.yml (English) 2018-11-21 23:54:31 +09:00
syuilo 454910d295 New translations ja-JP.yml (Chinese Simplified) 2018-11-21 23:54:21 +09:00
syuilo d44e620769 New translations ja-JP.yml (Catalan) 2018-11-21 23:54:12 +09:00
Hakaba Hitoyo ac14adfd3e Feature / user recommendation config in admin ui (#3357)
* add config for external user recommendation into admin ui

* debug

* correct admin ui

* switch external user recommendation to admin ui config

* debug

* debug

* debug

* Revert "debug"

This reverts commit f4a0460e5b.

* explicit parseInt radix

* add Japanese message

* change default engine to https

* remove unused settings

* debug

* nullable externalUserRecommendationTimeout
2018-11-21 23:44:59 +09:00
syuilo 928d30ee1e New translations ja-JP.yml (Norwegian) 2018-11-21 14:53:16 +09:00
syuilo 3dd9b0f347 New translations ja-JP.yml (Dutch) 2018-11-21 14:53:10 +09:00
syuilo c57dd083c5 New translations ja-JP.yml (Japanese, Kansai) 2018-11-21 14:53:06 +09:00
syuilo 2a1d6c5406 New translations ja-JP.yml (Spanish) 2018-11-21 14:52:59 +09:00
syuilo 112e9f69bd New translations ja-JP.yml (Russian) 2018-11-21 14:52:55 +09:00
syuilo d50e537888 New translations ja-JP.yml (Portuguese) 2018-11-21 14:52:50 +09:00
syuilo 86d14d30fa New translations ja-JP.yml (Polish) 2018-11-21 14:52:46 +09:00
syuilo 710d3689d3 New translations ja-JP.yml (Korean) 2018-11-21 14:52:39 +09:00
syuilo 3fee011369 New translations ja-JP.yml (Italian) 2018-11-21 14:52:33 +09:00
syuilo 7cd4b8ba4f New translations ja-JP.yml (German) 2018-11-21 14:52:28 +09:00
syuilo 31132de18b New translations ja-JP.yml (French) 2018-11-21 14:52:23 +09:00
syuilo c6cb271f6f New translations ja-JP.yml (English) 2018-11-21 14:52:18 +09:00
syuilo b7c4afd20c New translations ja-JP.yml (Chinese Simplified) 2018-11-21 14:52:14 +09:00
syuilo 70395d200a New translations ja-JP.yml (Catalan) 2018-11-21 14:52:07 +09:00
syuilo 562a5f66fc Improve usability 2018-11-21 14:44:49 +09:00
syuilo b2f8003602 [MFM] Better inline code parse 2018-11-21 12:55:15 +09:00
MeiMei b7b36973f7 Fix: stop in DB check (#3356) 2018-11-21 12:45:40 +09:00
syuilo f7d5f597f3 10.56.2 2018-11-21 08:33:02 +09:00
syuilo 79c7712241 Improve MFM 2018-11-21 08:32:40 +09:00
syuilo 8f5f3985f4 [MFM] Fix hashtag parsing 2018-11-21 08:30:29 +09:00
syuilo ef30f36f55 10.56.1 2018-11-21 06:27:11 +09:00
syuilo 4198497237 Improve test page 2018-11-21 06:25:58 +09:00
syuilo 9b1612574e [Client] Fix #3114 2018-11-21 06:24:46 +09:00
syuilo ca8a218144 10.56.0 2018-11-21 05:47:40 +09:00
syuilo db9c2913cf Update index.vue 2018-11-21 05:36:55 +09:00
syuilo 286674c2bb Fix bug 2018-11-21 05:27:06 +09:00
syuilo 7c259185bc Fix bug 2018-11-21 05:26:48 +09:00
syuilo 79ffbf95db Improve MFM parser (#3337)
* wip

* wip

* Refactor

* Refactor

* wip

* wip

* wip

* wip

* Refactor

* Refactor

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Clean up

* Update misskey-flavored-markdown.ts

* wip

* wip

* wip

* wip

* Update parser.ts

* wip

* Add new test

* wip

* Add new test

* Add new test

* wip

* Refactor

* Update parse.ts

* Refactor

* Update parser.ts

* wip
2018-11-21 05:11:00 +09:00
Aya Morisawa 6e347e4221 Refactor checkMongoDb (#3339) 2018-11-20 21:19:14 +09:00
ButterflyOfFire 28ccb14166 Create backup.fr.md (#3342)
* Create backup.fr.md

Create backup.fr.md

* Fix typo

Fix typo
2018-11-20 21:18:39 +09:00
MeiMei 389315e000 Fix: ap/show (#3350) 2018-11-20 21:18:14 +09:00
syuilo af00464f5b New translations ja-JP.yml (French) 2018-11-20 17:38:45 +09:00
syuilo f522b3df91 New translations ja-JP.yml (French) 2018-11-20 17:22:49 +09:00
Aya Morisawa 168db6891f Refactor spawnWorkers (#3338) 2018-11-20 12:25:58 +09:00
Aya Morisawa 4a77548672 Refactor port checking (#3336) 2018-11-20 11:23:32 +09:00
syuilo e9ec4a3b84 New translations ja-JP.yml (English) 2018-11-20 06:51:54 +09:00
syuilo 375b2bb284 Merge pull request #3324 from syuilo/l10n_develop
New Crowdin translations
2018-11-20 05:35:03 +09:00
dependabot[bot] b922277896 Update typescript-eslint-parser requirement from 21.0.0 to 21.0.1 (#3333)
Updates the requirements on [typescript-eslint-parser](https://github.com/eslint/typescript-eslint-parser) to permit the latest version.
- [Release notes](https://github.com/eslint/typescript-eslint-parser/releases)
- [Changelog](https://github.com/eslint/typescript-eslint-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/typescript-eslint-parser/commits/v21.0.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-20 05:34:40 +09:00
dependabot[bot] 8f6f810dbd Update apexcharts requirement from 2.2.0 to 2.2.2 (#3334)
Updates the requirements on [apexcharts](https://github.com/apexcharts/apexcharts.js) to permit the latest version.
- [Release notes](https://github.com/apexcharts/apexcharts.js/releases)
- [Changelog](https://github.com/apexcharts/apexcharts.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/apexcharts/apexcharts.js/commits/v2.2.2)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-20 05:34:18 +09:00
MeiMei 8f0c433e05 Cores => Logical cores (#3332) 2018-11-20 05:30:22 +09:00
MeiMei e332e3c248 Explicitly set max-age (#3330) 2018-11-20 05:29:51 +09:00
syuilo 2f90c38604 New translations ja-JP.yml (German) 2018-11-20 01:12:33 +09:00
syuilo fa33d12bd7 New translations ja-JP.yml (German) 2018-11-20 00:16:06 +09:00
syuilo 86ab496fd6 New translations ja-JP.yml (Chinese Simplified) 2018-11-19 23:54:55 +09:00
Aya Morisawa ca0cb6fd42 Merge environmentInfo and machineInfo into index.ts (#3319) 2018-11-19 13:39:10 +09:00
Aya Morisawa be52779bbc Use descriptive variables to improve readability (#3318) 2018-11-19 13:27:38 +09:00
Aya Morisawa 23b64794a4 Call main at the end (#3317) 2018-11-19 12:58:58 +09:00
syuilo d5fed29df3 Merge pull request #3311 from syuilo/l10n_develop
New Crowdin translations
2018-11-19 09:18:45 +09:00
MeiMei 644bc985e7 Fix some image processing (#3313)
* Improve thunmbnail generation

* Respect orientation in Firefox
2018-11-19 09:17:16 +09:00
syuilo 5c1dc31131 New translations ja-JP.yml (English) 2018-11-19 02:31:46 +09:00
syuilo 31fae1caa6 New translations ja-JP.yml (French) 2018-11-19 02:22:05 +09:00
syuilo 9bc85ac511 New translations ja-JP.yml (Norwegian) 2018-11-19 02:13:15 +09:00
syuilo 69d6dc22b9 New translations ja-JP.yml (Dutch) 2018-11-19 02:13:10 +09:00
syuilo c4f81fc1a7 New translations ja-JP.yml (Japanese, Kansai) 2018-11-19 02:13:06 +09:00
syuilo 9a866766e0 New translations ja-JP.yml (Spanish) 2018-11-19 02:13:02 +09:00
syuilo eb7153acee New translations ja-JP.yml (Russian) 2018-11-19 02:12:57 +09:00
syuilo f3d98da329 New translations ja-JP.yml (Portuguese) 2018-11-19 02:12:51 +09:00
syuilo aac1c50a77 New translations ja-JP.yml (Polish) 2018-11-19 02:12:47 +09:00
syuilo 0619a27916 New translations ja-JP.yml (Korean) 2018-11-19 02:12:43 +09:00
syuilo 49ba56493f New translations ja-JP.yml (Italian) 2018-11-19 02:12:38 +09:00
syuilo bf0dae8cc3 New translations ja-JP.yml (German) 2018-11-19 02:12:33 +09:00
syuilo fbf77afde1 New translations ja-JP.yml (French) 2018-11-19 02:12:27 +09:00
syuilo 5159caa9ff New translations ja-JP.yml (English) 2018-11-19 02:12:21 +09:00
syuilo 5aef35f0b7 New translations ja-JP.yml (Chinese Simplified) 2018-11-19 02:12:16 +09:00
syuilo 4db2843e7b New translations ja-JP.yml (Catalan) 2018-11-19 02:12:10 +09:00
syuilo a390e57dff [Client] Improve UI 2018-11-19 02:09:27 +09:00
syuilo 8d70587814 Refactoring 2018-11-19 02:04:12 +09:00
syuilo 6f3775de9d New translations ja-JP.yml (French) 2018-11-19 02:01:57 +09:00
syuilo 5a0a3050ae New translations ja-JP.yml (French) 2018-11-19 01:53:15 +09:00
syuilo cbbf141846 New translations ja-JP.yml (French) 2018-11-19 01:42:15 +09:00
MeiMei 43c2b00cf8 Show visibility in note-detail (#3308)
* Show visibility in note-detail

* fix
2018-11-18 22:47:21 +09:00
syuilo 046ccd49ca Merge pull request #3305 from syuilo/l10n_develop
New Crowdin translations
2018-11-18 22:46:28 +09:00
syuilo e7df6f5c0e New translations ja-JP.yml (English) 2018-11-18 21:31:51 +09:00
syuilo c67110835c New translations ja-JP.yml (Chinese Simplified) 2018-11-18 15:11:49 +09:00
syuilo 4c97b847e7 10.55.0 2018-11-18 12:00:07 +09:00
syuilo cfa4f0fe0b Add zh-CN 2018-11-18 11:59:26 +09:00
syuilo 9672343360 New Crowdin translations (#3255)
* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Chinese Simplified)
2018-11-18 10:56:51 +09:00
Zero King 80fdfe54c4 Add faUserClock icon for follow requests (#3303) 2018-11-18 01:10:57 +09:00
MeiMei 7fcbe87591 Improve relative time detection (#3302) 2018-11-17 20:57:23 +09:00
MeiMei e401ba9e25 Update visibility text (#3299) 2018-11-17 18:21:05 +09:00
MeiMei 35db61f1b4 To able to store local only visibilities (#3298) 2018-11-17 13:21:40 +09:00
syuilo 6c72545fc8 [Test] Add a test and some updtes 2018-11-17 12:52:20 +09:00
dependabot[bot] 70385ca670 Update @types/webpack requirement from 4.4.18 to 4.4.19 (#3295)
Updates the requirements on [@types/webpack](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-17 05:30:30 +09:00
dependabot[bot] a8e72d39f7 Update vue-svg-inline-loader requirement from 1.2.1 to 1.2.2 (#3294)
Updates the requirements on [vue-svg-inline-loader](https://github.com/oliverfindl/vue-svg-inline-loader) to permit the latest version.
- [Release notes](https://github.com/oliverfindl/vue-svg-inline-loader/releases)
- [Commits](https://github.com/oliverfindl/vue-svg-inline-loader/commits/v1.2.2)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-17 05:30:18 +09:00
MeiMei 0bf54b3ff6 Renote visibility (#3290) 2018-11-17 03:25:48 +09:00
MeiMei db657c2a62 Hide unused login method (#3285) 2018-11-17 02:13:01 +09:00
nico 01964f3926 Add missing Robot icon (used on user profiles) (#3284) 2018-11-17 01:55:37 +09:00
nico bfd6bb0fda Add missing Map Marker icon (used on user profiles) (#3283) 2018-11-17 01:50:39 +09:00
Aya Morisawa 3fc70996e2 Change math syntax (#3280) 2018-11-17 00:31:49 +09:00
syuilo cb0874f15a 10.54.0 2018-11-16 23:19:34 +09:00
Aya Morisawa 9239e37b45 Fix #3273 (#3277) 2018-11-16 23:14:11 +09:00
Aya Morisawa 57d80932a4 Add an optional setting to remain deleted note (#3271)
Co-authored-by: Aya Morisawa <AyaMorisawa4869@gmail.com>
Co-authored-by: syuilo <syuilotan@yahoo.co.jp>
2018-11-16 23:13:37 +09:00
syuilo 8569970fbe Update github-bot.ts 2018-11-16 23:10:48 +09:00
syuilo 713e9ad5f4 Resolve #3274 2018-11-16 23:09:33 +09:00
syuilo 59e229d962 Update github-bot.ts 2018-11-16 23:02:01 +09:00
syuilo 3c5f09cda2 Clean up 2018-11-16 23:01:14 +09:00
syuilo e42aa2530d Update github-bot.ts
follow dvelop instead master
2018-11-16 23:00:34 +09:00
Zero King 1fd298ac9c Update docker.en.md (#3272) 2018-11-16 22:47:10 +09:00
syuilo 1a73f52541 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-11-16 22:32:17 +09:00
syuilo 27e458f884 Do not use camelCase in html 2018-11-16 22:32:06 +09:00
Zero King ba3e2a9371 Update setup.en.md (#3270)
* [doc] run as root

* [doc] update setup guide headings
2018-11-16 22:31:53 +09:00
syuilo 831e8f8583 Refactoring 2018-11-16 22:31:28 +09:00
syuilo 0ff390ed80 [MFM] Improve various parsing
Resolve #2779
Resolve #3053
2018-11-16 21:57:19 +09:00
syuilo e3b8495431 [MFM] Better URL parsing 2018-11-16 21:30:01 +09:00
syuilo da10ba3fea [Client] Add missing icon
Resolve #3267
2018-11-16 18:34:52 +09:00
syuilo cc7de853b4 [Client] Wrap formula component to split code 2018-11-16 18:31:25 +09:00
syuilo 23d8235197 Revert "[Client] Load katex async to reduce bundle size"
This reverts commit 37e3d60ade.
2018-11-16 18:26:19 +09:00
syuilo 37e3d60ade [Client] Load katex async to reduce bundle size 2018-11-16 18:22:44 +09:00
syuilo 83a3426dd5 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-11-16 17:56:08 +09:00
syuilo a2549192ca Update misskey-flavored-markdown.ts 2018-11-16 17:55:48 +09:00
Aya Morisawa 9d3a1cab6e Fix #3224 (#3265) 2018-11-16 17:41:52 +09:00
Aya Morisawa 06f8d8f0a3 Show server version on server.info.vue (#3264) 2018-11-16 17:24:03 +09:00
MeiMei fa66b79e2d Update the locale when version or language changed (#3263) 2018-11-16 17:13:22 +09:00
Aya Morisawa 81312f5a93 Remove a trailing whitespace (#3261) 2018-11-16 17:04:28 +09:00
Aya Morisawa ad84901f39 Support math rendering on MFM (#3260) 2018-11-16 17:03:52 +09:00
MeiMei d2385a0e52 Do not show duplicate url-preview (#3259) 2018-11-16 16:35:13 +09:00
syuilo 39285fc2d0 10.53.0 2018-11-16 05:56:58 +09:00
syuilo 6e491c1466 Refactoring 2018-11-16 05:53:17 +09:00
dependabot[bot] 84152aa663 Update typescript-eslint-parser requirement from 20.1.1 to 21.0.0 (#3237)
Updates the requirements on [typescript-eslint-parser](https://github.com/eslint/typescript-eslint-parser) to permit the latest version.
- [Release notes](https://github.com/eslint/typescript-eslint-parser/releases)
- [Changelog](https://github.com/eslint/typescript-eslint-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/typescript-eslint-parser/commits/v21.0.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-16 05:49:21 +09:00
dependabot[bot] 600fc65c2f Update showdown requirement from 1.8.7 to 1.9.0 (#3252)
Updates the requirements on [showdown](https://github.com/showdownjs/showdown) to permit the latest version.
- [Release notes](https://github.com/showdownjs/showdown/releases)
- [Changelog](https://github.com/showdownjs/showdown/blob/master/CHANGELOG.md)
- [Commits](https://github.com/showdownjs/showdown/commits/1.9.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-16 05:49:07 +09:00
dependabot[bot] 40e2733424 Update mongodb requirement from 3.1.8 to 3.1.9 (#3253)
Updates the requirements on [mongodb](https://github.com/mongodb/node-mongodb-native) to permit the latest version.
- [Release notes](https://github.com/mongodb/node-mongodb-native/releases)
- [Changelog](https://github.com/mongodb/node-mongodb-native/blob/master/HISTORY.md)
- [Commits](https://github.com/mongodb/node-mongodb-native/commits/v3.1.9)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-16 05:48:39 +09:00
MeiMei bceb02d760 local only visibility (#3254)
* local only visibility

* fix UI
2018-11-16 05:47:29 +09:00
syuilo aaaaf2681a [Client] Add missing icon 2018-11-16 05:38:16 +09:00
syuilo 3c3ef9bba0 [Client] ✌️ 2018-11-16 05:36:52 +09:00
syuilo 338f3a981f Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-11-16 05:26:48 +09:00
syuilo a86ae9fa50 Better UX 2018-11-16 05:26:36 +09:00
syuilo a3c4e8a1bc [Client] Improve admin dashboard 2018-11-16 05:21:52 +09:00
syuilo 6a7c18e8db Merge pull request #3250 from syuilo/l10n_develop
New Crowdin translations
2018-11-16 05:10:41 +09:00
syuilo 672b7a4c3d 🎨 2018-11-16 05:07:59 +09:00
MeiMei bf3fee4481 Check the port is configured (#3251) 2018-11-16 03:25:35 +09:00
syuilo a3c8d1d732 New translations ja-JP.yml (Chinese Simplified) 2018-11-16 00:15:45 +09:00
syuilo bb03d8c49a New translations ja-JP.yml (Chinese Simplified) 2018-11-15 23:59:41 +09:00
syuilo fbd5abe3b6 New translations ja-JP.yml (Chinese Simplified) 2018-11-15 23:43:21 +09:00
syuilo 5ac390abe9 New translations ja-JP.yml (Chinese Simplified) 2018-11-15 23:38:10 +09:00
Aya Morisawa 766cae2299 Check Node.js version (#3245)
* Check Node.js version

* Fix bug
2018-11-15 22:17:06 +09:00
syuilo d9828fdc6a 10.52.0 2018-11-15 22:04:57 +09:00
syuilo 4114ce4a04 [Client] Split some components to improve performance 2018-11-15 22:04:12 +09:00
syuilo 6090630260 Merge pull request #3236 from syuilo/l10n_develop
New Crowdin translations
2018-11-15 21:44:39 +09:00
Acid Chicken (硫酸鶏) 259cfeae17 Use Node.js official Docker image (#3241)
* Update Dockerfile

* Update Dockerfile
2018-11-15 21:43:02 +09:00
syuilo ebe15c4711 New translations ja-JP.yml (English) 2018-11-15 21:03:36 +09:00
syuilo 75a740a110 New translations ja-JP.yml (English) 2018-11-15 20:53:18 +09:00
syuilo 0c085c4f74 New translations ja-JP.yml (English) 2018-11-15 20:44:10 +09:00
syuilo 1d819e79db New translations ja-JP.yml (Norwegian) 2018-11-15 19:24:47 +09:00
syuilo 515b79dcf0 New translations ja-JP.yml (Dutch) 2018-11-15 19:24:41 +09:00
syuilo 269e12abb4 New translations ja-JP.yml (Japanese, Kansai) 2018-11-15 19:24:36 +09:00
syuilo cf5be6ff5a New translations ja-JP.yml (Spanish) 2018-11-15 19:24:32 +09:00
syuilo f140adbc9d New translations ja-JP.yml (Russian) 2018-11-15 19:24:25 +09:00
syuilo 6c31406bb0 New translations ja-JP.yml (Portuguese) 2018-11-15 19:24:19 +09:00
syuilo b6e8626908 New translations ja-JP.yml (Polish) 2018-11-15 19:24:15 +09:00
syuilo 64a3a4915a New translations ja-JP.yml (Korean) 2018-11-15 19:24:11 +09:00
syuilo fd71f24d46 New translations ja-JP.yml (Italian) 2018-11-15 19:24:05 +09:00
syuilo 65b5c6753f New translations ja-JP.yml (German) 2018-11-15 19:23:59 +09:00
syuilo 7408bbce37 New translations ja-JP.yml (French) 2018-11-15 19:23:54 +09:00
syuilo 0f58978c9f New translations ja-JP.yml (English) 2018-11-15 19:23:47 +09:00
syuilo 01ca3fd6b2 New translations ja-JP.yml (Chinese Simplified) 2018-11-15 19:23:43 +09:00
syuilo 26c366156b New translations ja-JP.yml (Catalan) 2018-11-15 19:23:37 +09:00
Acid Chicken (硫酸鶏) 9d8f7b081d WIP: Add Discord auth (#3239)
* Add Discord auth

* Apply review 175263424
2018-11-15 19:15:04 +09:00
syuilo 9d8ebb795d New translations ja-JP.yml (French) 2018-11-15 18:11:46 +09:00
syuilo 8be98e4cb8 New translations ja-JP.yml (French) 2018-11-15 17:32:46 +09:00
syuilo 3c229c9950 New translations ja-JP.yml (Chinese Simplified) 2018-11-15 13:51:55 +09:00
syuilo f2263faf7d New translations ja-JP.yml (Chinese Simplified) 2018-11-15 13:44:35 +09:00
syuilo 39c7cf3e66 New translations ja-JP.yml (Chinese Simplified) 2018-11-15 13:32:36 +09:00
syuilo 5ee24e5c09 New translations ja-JP.yml (French) 2018-11-15 07:21:58 +09:00
syuilo a34fdc2068 10.51.2 2018-11-15 07:04:25 +09:00
syuilo 2c2cd893b8 🎨 2018-11-15 07:03:46 +09:00
syuilo a43b0548ed 10.51.1 2018-11-15 06:40:09 +09:00
syuilo 93e95f56f4 Update src/client/app/admin/views/index.vue 2018-11-15 06:39:59 +09:00
syuilo cb0673b1ec 10.51.0 2018-11-15 06:26:15 +09:00
syuilo cd018db945 Update src/client/app/admin/views/index.vue 2018-11-15 06:23:40 +09:00
syuilo 50fe67b99b [Client] Improve admin panel 2018-11-15 06:21:31 +09:00
syuilo 1dba82aae5 [API] Add /instances 2018-11-15 06:21:13 +09:00
syuilo 17c6d64750 [Client] Prevent cache locale file 2018-11-15 05:20:25 +09:00
syuilo b4c04efa23 Improve usability 2018-11-15 05:00:30 +09:00
syuilo 152dd74abf 10.50.0 2018-11-15 04:26:33 +09:00
syuilo 0985f7f609 [Client] Fix bugs 2018-11-15 04:24:40 +09:00
syuilo aecf9329bd New translations ja-JP.yml (Norwegian) 2018-11-15 04:24:24 +09:00
syuilo b2384605e7 New translations ja-JP.yml (Dutch) 2018-11-15 04:24:20 +09:00
syuilo 57ab5ab604 New translations ja-JP.yml (Japanese, Kansai) 2018-11-15 04:24:15 +09:00
syuilo e493a20301 New translations ja-JP.yml (Spanish) 2018-11-15 04:24:09 +09:00
syuilo 0bd5ed937c New translations ja-JP.yml (Russian) 2018-11-15 04:24:03 +09:00
syuilo 6a9b3bc64e New translations ja-JP.yml (Portuguese) 2018-11-15 04:23:58 +09:00
syuilo 4c1ef3e6a5 New translations ja-JP.yml (Polish) 2018-11-15 04:23:54 +09:00
syuilo 2ea250f954 New translations ja-JP.yml (Korean) 2018-11-15 04:23:49 +09:00
syuilo 5d810980f8 New translations ja-JP.yml (Italian) 2018-11-15 04:23:43 +09:00
syuilo d51b4e27cc New translations ja-JP.yml (German) 2018-11-15 04:23:37 +09:00
syuilo c01c555309 New translations ja-JP.yml (French) 2018-11-15 04:23:33 +09:00
syuilo ce2e66d9b0 New translations ja-JP.yml (English) 2018-11-15 04:23:27 +09:00
syuilo 9550acd61e New translations ja-JP.yml (Chinese Simplified) 2018-11-15 04:23:23 +09:00
syuilo d95b5daa6d New translations ja-JP.yml (Catalan) 2018-11-15 04:23:18 +09:00
syuilo 56d571c0f0 Moderator system
Closes #2357
2018-11-15 04:15:42 +09:00
syuilo dc9a19b9c7 [Client] Add missing icon 2018-11-15 03:17:48 +09:00
syuilo 88a2c7715a [Client] Add missing icon 2018-11-15 03:14:52 +09:00
syuilo 2fa8cb1b73 10.49.7 2018-11-15 01:46:01 +09:00
syuilo 5f8a66fdb9 🎨 2018-11-15 01:45:13 +09:00
syuilo 57320a94f9 [Client] Add missing icon 2018-11-15 01:43:26 +09:00
syuilo 89f045d624 🎨 2018-11-15 01:43:06 +09:00
syuilo 1a77dea7ed [Client] Fix icon 2018-11-15 01:09:50 +09:00
syuilo 532a7b90f3 New translations ja-JP.yml (Chinese Simplified) 2018-11-15 00:55:47 +09:00
syuilo 4e8c200349 New translations ja-JP.yml (Chinese Simplified) 2018-11-15 00:43:37 +09:00
syuilo d063d59a91 [Client] Improve UI 2018-11-15 00:01:49 +09:00
syuilo 90429b787c 10.49.6 2018-11-14 20:40:21 +09:00
syuilo 7a2ef04ec3 [Client] Improve UI 2018-11-14 20:36:15 +09:00
syuilo 76a9ea8d3d 10.49.5 2018-11-14 20:27:12 +09:00
syuilo 0a05a2d060 🎨 2018-11-14 20:23:51 +09:00
syuilo a7e2ee3b0c Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-11-14 20:21:45 +09:00
syuilo 40efa90dd5 🎨 2018-11-14 20:21:35 +09:00
MeiMei 4ca0a22bfc Fix: default order of users/notes (#3234) 2018-11-14 20:18:47 +09:00
syuilo 20a943b193 🎨 2018-11-14 20:17:12 +09:00
syuilo 552df8737d [Client] Add missing icon 2018-11-14 18:07:38 +09:00
syuilo 860f622d79 10.49.4 2018-11-14 18:04:30 +09:00
syuilo e76bf5707a [Client] Fix icons 2018-11-14 18:03:38 +09:00
syuilo bf37a72f59 🎨 2018-11-14 18:00:23 +09:00
syuilo 840ad75830 [Client] Better thumbnail generation 2018-11-14 18:00:15 +09:00
syuilo 4c7dd7228f 10.49.3 2018-11-14 16:39:27 +09:00
syuilo 46a51addad ServiceWorkerはメンテナンスされていないのでとりあえず無効化 2018-11-14 16:39:04 +09:00
syuilo 0a5fe37025 New Crowdin translations (#3205)
* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)
2018-11-14 16:35:55 +09:00
Acid Chicken (硫酸鶏) 00bb403497 Fix #3228 (#3230)
* Update index.ts

* fix sw.js path

* Revert "Update index.ts"

This reverts commit e0b1d4239f.
2018-11-14 16:35:00 +09:00
syuilo 11afa8140c [Client] Improve alert component 2018-11-14 16:30:58 +09:00
syuilo 850396e9da [Client] Add missing icons 2018-11-14 14:57:59 +09:00
syuilo 5ee75be49e 🎨 2018-11-14 14:47:18 +09:00
dependabot[bot] 879116a20c Update vue-sweetalert2 requirement from 1.5.7 to 1.5.9 (#3229)
Updates the requirements on [vue-sweetalert2](https://github.com/avil13/vue-sweetalert2) to permit the latest version.
- [Release notes](https://github.com/avil13/vue-sweetalert2/releases)
- [Commits](https://github.com/avil13/vue-sweetalert2/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-14 13:27:37 +09:00
syuilo e509b1f488 Update github-bot.ts 2018-11-14 05:33:48 +09:00
syuilo 468ff7037f 10.49.2 2018-11-14 03:07:55 +09:00
syuilo df23504ccf [Client] Fix #3227 2018-11-14 03:05:13 +09:00
syuilo 66e3cb8eda Update src/client/app/init.ts 2018-11-14 02:04:24 +09:00
syuilo 6ddd2389dc [Client] Add missing icons 2018-11-14 01:45:15 +09:00
syuilo 402efb8c50 [Client] Fix imports 2018-11-14 01:40:29 +09:00
syuilo 7b6eae0ce4 Fix error 2018-11-14 01:32:38 +09:00
syuilo 26ce9725ce [Client] Fix #3009 2018-11-14 01:31:36 +09:00
ButterflyOfFire ebfaa18f12 Create setup.fr.md (#3225) 2018-11-14 00:15:33 +09:00
syuilo cc81d41a05 [Client] Some optimizations 2018-11-13 23:33:30 +09:00
syuilo 212176ee5c Use terser instead of uglifyjs 2018-11-13 23:10:51 +09:00
syuilo a63ec05e41 [Client] Some optimizations 2018-11-13 23:06:31 +09:00
syuilo 0dcb527bf3 [Client] Fix bug 2018-11-13 22:45:28 +09:00
syuilo 54710f17fc [Client] Some performance optimizations 2018-11-13 22:43:09 +09:00
syuilo e58a6593c0 [Client] Fix bug 2018-11-13 22:42:31 +09:00
syuilo 62132570e1 [Client] Split components to reduce bundle size 2018-11-13 20:21:52 +09:00
MeiMei 9f0b8ba2f8 Fix: notes/create hangs when rejected (#3221) 2018-11-13 19:34:09 +09:00
syuilo adbe0fbcd1 10.49.1 2018-11-13 16:33:21 +09:00
syuilo 7896242f57 [Client] Fix #3213 2018-11-13 16:19:46 +09:00
syuilo 4a6722b9e9 Merge branch 'master' into develop 2018-11-13 15:01:52 +09:00
syuilo 7c9fb5228b Improve usability 2018-11-13 15:01:05 +09:00
MeiMei 81805b01cc sort user timeline by date (#3210) 2018-11-13 01:17:59 +09:00
syuilo 50824a7245 10.49.0 2018-11-13 01:12:27 +09:00
syuilo 6f2953f3a7 [Client] Clear cached locale data when shouldFlush is true 2018-11-13 01:11:36 +09:00
syuilo dd3f007582 [Client] Improve post-form widget 2018-11-13 01:04:15 +09:00
syuilo a4b2b093fc 🎨 2018-11-13 00:21:49 +09:00
syuilo 0fbf56219f [Client] Emoji picker
Closes #3130
2018-11-13 00:12:55 +09:00
syuilo 0acacf7a8e 10.48.1 2018-11-12 06:12:45 +09:00
syuilo c84500d914 Clean up 2018-11-12 06:12:22 +09:00
syuilo a9cfbda858 10.48.0 2018-11-12 05:48:09 +09:00
syuilo 33e79e4bb8 [Client] Split some components to reduce bundle size 2018-11-12 05:35:09 +09:00
syuilo fab389e624 [Client] Stop generate scripts for each languages
Resolve #3172
2018-11-12 05:03:12 +09:00
syuilo b1b02d0e32 [Client] Enable code splitting
And some optimizations
2018-11-12 04:09:02 +09:00
syuilo 0b40194d31 🎨 2018-11-12 01:20:26 +09:00
syuilo c2038bec73 Improve streaming 2018-11-12 00:31:09 +09:00
Acid Chicken (硫酸鶏) 8674d55c8e Hotfix typo 2018-11-11 21:34:50 +09:00
syuilo c7c0c9e79d 10.47.0 2018-11-11 21:24:10 +09:00
syuilo 2dff48167c 🎨 2018-11-11 21:18:24 +09:00
syuilo 71d42f64dc [Client] Implement word mute
Closes #1739
2018-11-11 21:17:51 +09:00
syuilo 1b4072610a [Client] Fix i18n 2018-11-11 19:15:08 +09:00
syuilo 3826a820bb [Client] Fix i18n
Closes #3192
2018-11-11 19:13:10 +09:00
syuilo 625eb376ae Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-11-11 19:10:24 +09:00
syuilo 72cbab6514 [Clinet] Fix i18n 2018-11-11 19:10:15 +09:00
syuilo c7a7059e26 New Crowdin translations (#3186)
* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (English)
2018-11-11 18:52:23 +09:00
dependabot[bot] 550593b208 Update @types/mongodb requirement from 3.1.12 to 3.1.14 (#3193)
Updates the requirements on [@types/mongodb](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-11 18:30:38 +09:00
dependabot[bot] f76255fa63 Update @types/webpack requirement from 4.4.17 to 4.4.18 (#3194)
Updates the requirements on [@types/webpack](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-11 18:30:27 +09:00
syuilo 15a2881083 [API] Fix #3203 2018-11-11 18:26:09 +09:00
和風ドレッシング 37bfb79123 Update setup.en.md (#3202)
初期状態のDebianやUbuntuだとpythonがないとインストールできなかったため(ConoHa, Vultr, DigitalOceanで検証済み)
2018-11-11 14:47:53 +09:00
Aya Morisawa b62203b1f1 Check MongoDB version (#3185)
* Check MongoDB version

* Fix bug
2018-11-11 14:27:00 +09:00
MeiMei 16136c252a fix self host detection (#3201) 2018-11-11 13:11:16 +09:00
syuilo 75864a5125 Fix #3190 2018-11-11 13:08:48 +09:00
syuilo a59f53e6da Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-11-11 12:43:52 +09:00
syuilo 2ceaccf9ab Fix chart engine 2018-11-11 12:43:35 +09:00
MeiMei 036d46c459 show self host in unicode (#3200) 2018-11-11 12:35:30 +09:00
syuilo 5d3d78a73e Better text 2018-11-11 02:44:54 +09:00
syuilo 6012e98ae6 Improve streaming API 2018-11-11 02:22:34 +09:00
syuilo 9c0e990568 Better chart generation 2018-11-10 23:25:09 +09:00
syuilo 6167ed4c9f Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-11-10 17:10:29 +09:00
syuilo 988d5405c3 Clean up: Remove unused dependencies 2018-11-10 17:10:22 +09:00
Acid Chicken (硫酸鶏) ad0ea2fab2 Update config.yml (#3195) 2018-11-10 10:42:12 +09:00
syuilo d62c67208f [Client] Show domain in admin page 2018-11-10 04:28:56 +09:00
syuilo 2da1432e52 Update CONTRIBUTING.md 2018-11-10 00:47:36 +09:00
syuilo 69eefc1425 [Client] Fix bug 2018-11-10 00:30:58 +09:00
syuilo 27bdb26202 Fix #3187 2018-11-10 00:28:50 +09:00
syuilo 8b9454eaee 10.46.2 2018-11-09 23:31:00 +09:00
syuilo 6827bc0624 New Crowdin translations (#3094)
* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Catalan)

* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (English)
2018-11-09 23:29:12 +09:00
syuilo 1fa24d709d Fix i18n text 2018-11-09 23:11:55 +09:00
Aya Morisawa fa4ea494bf Fix note menu (#3184) 2018-11-09 22:40:17 +09:00
Aya Morisawa 9f32713093 Eliminate mutable variable to construct menu items (#3183) 2018-11-09 22:35:33 +09:00
syuilo 380f9bb975 10.46.1 2018-11-09 22:20:30 +09:00
syuilo 5bcce97ff0 Fix bug 2018-11-09 22:19:43 +09:00
syuilo 825fdb2475 [Client] Fix bug 2018-11-09 22:11:11 +09:00
syuilo 460bb21c1e Fix bug 2018-11-09 22:02:48 +09:00
syuilo 251cef3129 🎨 2018-11-09 21:46:35 +09:00
syuilo d81c87af22 [Client] Fix bug 2018-11-09 21:42:36 +09:00
syuilo 8f58e7208d 10.46.0 2018-11-09 21:35:11 +09:00
syuilo cf0b7e26b5 Remove duplicated option 2018-11-09 21:30:12 +09:00
syuilo 3a1c3f9656 [Client] Fix bug 2018-11-09 21:27:27 +09:00
Aya Morisawa 035bdd0279 Add showVia option (#3182)
* Resolve #3160

* Fix bug

* Fix bug
2018-11-09 21:10:21 +09:00
syuilo f7c596beac Delete update-remote-user.js 2018-11-09 19:05:16 +09:00
syuilo ac8817ef34 [Client] Fix bug 2018-11-09 18:38:10 +09:00
syuilo 372db65604 [Client] Fix i18n 2018-11-09 18:34:32 +09:00
syuilo 4a92635eae 🎨 2018-11-09 18:32:09 +09:00
syuilo 5e140d9a11 🎨 2018-11-09 18:25:30 +09:00
syuilo 0b53ef9bae [Client] Fix bug 2018-11-09 18:25:21 +09:00
syuilo 3f79c9ae49 Refactor client (#3178)
* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip
2018-11-09 16:00:29 +09:00
syuilo 5d882dc3df [Client] Fix bug 2018-11-09 14:19:30 +09:00
syuilo 5b4205bdbc Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-11-09 14:15:52 +09:00
syuilo 20cf2b3f77 [Client] Fix i18n 2018-11-09 14:15:29 +09:00
Aya Morisawa 3c0d2db3bc Rename: setDifference -> difference (#3177)
* Improve setDifference

* Rename: setDifference -> difference
2018-11-09 14:14:53 +09:00
syuilo 9aa65fb600 [Client] Fix bug 2018-11-09 14:13:40 +09:00
syuilo 4dcb15ef0d [Client] Fix bug 2018-11-09 14:10:50 +09:00
syuilo ae6293cb6b [Client] Improve usability 2018-11-09 14:10:23 +09:00
syuilo 2614771a7c 🎨 2018-11-09 13:54:00 +09:00
syuilo ba2ebfad4f [Client] Fix error 2018-11-09 13:53:44 +09:00
syuilo 51ba738c4b Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-11-09 13:47:28 +09:00
syuilo c8081ed353 Fix i18n 2018-11-09 13:47:22 +09:00
Aya Morisawa 500fc47618 Add group function (#3175) 2018-11-09 13:03:46 +09:00
Aya Morisawa 276edd7cc2 Use sum function (#3174) 2018-11-09 11:02:23 +09:00
Aya Morisawa a9436306ab Fix #3170 (#3173) 2018-11-09 11:01:55 +09:00
dependabot[bot] 21d9afebc3 Update autobind-decorator requirement from 2.1.0 to 2.2.1 (#3151)
Updates the requirements on [autobind-decorator](https://github.com/andreypopp/autobind-decorator) to permit the latest version.
- [Release notes](https://github.com/andreypopp/autobind-decorator/releases)
- [Changelog](https://github.com/andreypopp/autobind-decorator/blob/master/CHANGELOG.md)
- [Commits](https://github.com/andreypopp/autobind-decorator/commits/v2.2.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-09 08:45:19 +09:00
dependabot[bot] ab66162dbe Update @types/minio requirement from 7.0.0 to 7.0.1 (#3153)
Updates the requirements on [@types/minio](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-09 08:45:06 +09:00
dependabot[bot] 0aacca3e78 Update systeminformation requirement from 3.45.9 to 3.47.0 (#3154)
Updates the requirements on [systeminformation](https://github.com/sebhildebrandt/systeminformation) to permit the latest version.
- [Release notes](https://github.com/sebhildebrandt/systeminformation/releases)
- [Changelog](https://github.com/sebhildebrandt/systeminformation/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sebhildebrandt/systeminformation/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-09 08:44:58 +09:00
dependabot[bot] bdcaa07cc8 Update vue-sweetalert2 requirement from 1.5.6 to 1.5.7 (#3171)
Updates the requirements on [vue-sweetalert2](https://github.com/avil13/vue-sweetalert2) to permit the latest version.
- [Release notes](https://github.com/avil13/vue-sweetalert2/releases)
- [Commits](https://github.com/avil13/vue-sweetalert2/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-09 08:44:49 +09:00
MeiMei 5b684c6deb On remote notes, not use content for detecting mentions (#3170)
* On remote note, detect mentioned users from to/cc

* fix
2018-11-09 08:44:19 +09:00
syuilo 5ef8a8b5f0 [Client] Fix #3168 2018-11-09 08:41:06 +09:00
syuilo 10fa824f95 [Client] Fix #2759 2018-11-09 08:31:05 +09:00
syuilo fccbecf159 [Client] Fix bug 2018-11-09 08:26:32 +09:00
syuilo 60ef3e3563 Refactor & Clean up 2018-11-09 08:13:34 +09:00
syuilo ba845f5218 Clean up 2018-11-09 04:02:12 +09:00
syuilo 5105981e93 [Doc] Update docs 2018-11-09 03:54:45 +09:00
syuilo f05a688ac2 [API] Fix #3169 2018-11-09 03:52:03 +09:00
syuilo 4bc919a912 [chore] Update dependencies 🚀 2018-11-09 03:46:55 +09:00
syuilo 25a69ec1b6 Refactoring of i18n (#3165)
Refactoring of i18n
2018-11-09 03:44:35 +09:00
Acid Chicken (硫酸鶏) 21303bd06a Update CircleCI configuration (#3163)
* Update config.yml

* Update config.yml
2018-11-08 18:49:45 +09:00
Aya Morisawa 480d1c9f09 Justify margin (#3164) 2018-11-08 15:47:10 +09:00
Aya Morisawa 57f6ce280e Update README.md (#3159) 2018-11-08 15:19:14 +09:00
syuilo f052d8912b wip: フォロー/フォロワーページ (#3157)
フォロー/フォロワーページ
2018-11-08 15:16:39 +09:00
Xeltica 6c95120023 via の表示を改善 (#3161) 2018-11-08 13:54:59 +09:00
syuilo 24766fb79e 🎨 2018-11-08 11:20:50 +09:00
dependabot[bot] 300d3da6ff Update apexcharts requirement from 2.1.9 to 2.2.0 (#3152)
Updates the requirements on [apexcharts](https://github.com/apexcharts/apexcharts.js) to permit the latest version.
- [Release notes](https://github.com/apexcharts/apexcharts.js/releases)
- [Changelog](https://github.com/apexcharts/apexcharts.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/apexcharts/apexcharts.js/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-08 10:18:01 +09:00
syuilo d779e18546 10.45.0 2018-11-08 02:10:36 +09:00
syuilo 3261d54cd3 Resolve #2320 2018-11-08 02:09:15 +09:00
syuilo e0ec56abb5 Fix bug 2018-11-08 01:42:02 +09:00
syuilo 1056a7167d [Client] Improve usabiliy 2018-11-07 23:04:59 +09:00
syuilo b8e1162e2d Fix test 2018-11-07 21:30:28 +09:00
syuilo 4c81e400c4 [MFM] Fix title parsing 2018-11-07 21:17:27 +09:00
syuilo a29d7a0475 10.44.2 2018-11-07 21:14:16 +09:00
syuilo d5408c429b Fix bug 2018-11-07 20:59:40 +09:00
syuilo 501b07c383 [Test] Add MFM test 2018-11-07 19:58:05 +09:00
syuilo 9dd21a19ff 10.44.1 2018-11-07 19:49:46 +09:00
syuilo a8d05cba5a Fix #3149 2018-11-07 19:43:21 +09:00
syuilo f5ddfb29f2 10.44.0 2018-11-07 13:16:29 +09:00
syuilo ba228a6b10 Clean up 2018-11-07 13:15:09 +09:00
syuilo cb6f390fb6 GitHub / Twitter連携の設定をDBに保存するように 2018-11-07 13:14:52 +09:00
syuilo 5675ecead9 Fix 2018-11-07 12:30:56 +09:00
syuilo 001bb7bbcd インスタンスの対象言語の設定を実装 2018-11-07 12:28:53 +09:00
syuilo 1585bb12cf 🎨 2018-11-07 12:17:57 +09:00
syuilo 26b47c18fd [Client] Fix #2737 2018-11-07 12:15:28 +09:00
syuilo 665fa7f2aa [API] Improve drive/files/upload_from_url 2018-11-07 12:12:43 +09:00
syuilo 0068dc30d3 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-11-07 12:09:33 +09:00
syuilo 8f39655fef Fix bug 2018-11-07 12:09:24 +09:00
dependabot[bot] b1a4fc03bc Update @types/koa-router requirement from 7.0.32 to 7.0.33 (#3147)
Updates the requirements on [@types/koa-router](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-07 09:24:13 +09:00
dependabot[bot] 05d20f1044 Update @types/request requirement from 2.48.0 to 2.48.1 (#3146)
Updates the requirements on [@types/request](https://github.com/DefinitelyTyped/DefinitelyTyped) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-07 09:24:04 +09:00
dependabot[bot] 66a90b3fb1 Update qrcode requirement from 1.3.0 to 1.3.2 (#3145)
Updates the requirements on [qrcode](https://github.com/soldair/node-qrcode) to permit the latest version.
- [Release notes](https://github.com/soldair/node-qrcode/releases)
- [Commits](https://github.com/soldair/node-qrcode/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-07 09:23:47 +09:00
dependabot[bot] 826d9d9fdf Update typescript requirement from 3.1.5 to 3.1.6 (#3144)
Updates the requirements on [typescript](https://github.com/Microsoft/TypeScript) to permit the latest version.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/commits/v3.1.6)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-07 09:23:38 +09:00
syuilo 4a9a61f108 10.43.1 2018-11-07 03:57:08 +09:00
syuilo b72d15b56c [Client] Improve usability 2018-11-07 03:48:58 +09:00
Acid Chicken (硫酸鶏) 8c68992594 Fix deploy fails on CircleCI 2018-11-07 02:06:32 +09:00
syuilo c052028fc3 10.43.0 2018-11-07 01:19:03 +09:00
syuilo c46fbcf345 Clean up 2018-11-07 01:18:21 +09:00
syuilo 06b66f0209 メンテナ情報をDBに保存するように 2018-11-07 01:12:26 +09:00
syuilo 2de48110bb ghostの設定をDBに保存するように 2018-11-07 00:44:56 +09:00
syuilo 87d4452d19 Clean up 2018-11-07 00:16:32 +09:00
syuilo 328fc64ca9 🎨 2018-11-07 00:16:08 +09:00
syuilo a6f8327aa2 reCAPTCHAの設定をDBに保存するように 2018-11-07 00:08:21 +09:00
syuilo d5ab6b41c9 10.42.2 2018-11-06 20:54:15 +09:00
syuilo ffdd0b7de7 [API] 文字列での真理値表現に対応
multipart/formdata では文字列しか送れないっぽい?
2018-11-06 20:53:50 +09:00
syuilo 1808eb6eee 10.42.1 2018-11-06 20:49:03 +09:00
syuilo 438563b505 [API] Fix bug 2018-11-06 20:47:56 +09:00
syuilo 92dfcdad57 Fix #3141 2018-11-06 20:47:07 +09:00
syuilo c178cfabfa 10.42.0 2018-11-06 15:52:28 +09:00
syuilo 260e4c955d 🎨 2018-11-06 15:51:18 +09:00
syuilo 0c46f5ce70 Clean up 2018-11-06 15:51:05 +09:00
syuilo 6d67cd07a0 [Client] Use dynamic import to reduce bundle size 2018-11-06 15:37:41 +09:00
syuilo fb8af53751 [Client] Improve usability & Refactoring 2018-11-06 15:08:22 +09:00
syuilo 37999f4af7 [API] Implement notes/watching/ 2018-11-06 14:58:20 +09:00
MeiMei 3b6ab327c1 Twemojiで合字に対応 (#3140)
* Twemojiで合字に対応

* split emoji regex
2018-11-06 14:09:40 +09:00
syuilo d3ff3a7d54 10.41.0 2018-11-06 08:06:08 +09:00
syuilo cf36106520 🎨 2018-11-06 08:04:34 +09:00
syuilo 1642fbec31 [Client] カスタム絵文字サジェストの結果をアルファベット順にソートするように 2018-11-06 08:02:19 +09:00
syuilo b195fd8145 🎨 2018-11-06 07:57:16 +09:00
MeiMei 5f59b980a7 Fix: download file (#3138)
* Fix: url download

* not explicitly close on end

* resolve on stream finish

* remove unnecessary code

* reject on file error
2018-11-06 07:53:03 +09:00
syuilo 2a5c19cd01 リモートのファイルをキャッシュするかどうかの設定をDBに保存するように 2018-11-06 07:52:13 +09:00
syuilo 42e007ddb7 🎨 2018-11-06 07:28:49 +09:00
syuilo 756dc397d9 🎨 2018-11-06 07:22:39 +09:00
syuilo 8f714b5b12 ドライブ容量の設定をDBに保存するようにしたりリファクタリングしたり 2018-11-06 07:14:43 +09:00
syuilo 06bb2a1c7c Clean up 2018-11-06 06:25:35 +09:00
syuilo ac50bb9225 Resolve #3137 2018-11-06 06:24:31 +09:00
syuilo 8fd95de25b 整理 2018-11-06 06:12:51 +09:00
dependabot[bot] 0e14b2eba4 Update file-type requirement from 10.3.0 to 10.4.0 (#3135)
Updates the requirements on [file-type](https://github.com/sindresorhus/file-type) to permit the latest version.
- [Release notes](https://github.com/sindresorhus/file-type/releases)
- [Commits](https://github.com/sindresorhus/file-type/commits/v10.4.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-06 06:08:41 +09:00
dependabot[bot] 08413a7550 Update webpack requirement from 4.23.1 to 4.25.1 (#3136)
Updates the requirements on [webpack](https://github.com/webpack/webpack) to permit the latest version.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/commits/v4.25.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-06 05:35:53 +09:00
syuilo 5e0f2a5b06 [Client] Fix bug 2018-11-06 04:10:30 +09:00
syuilo 3b505709c6 10.40.1 2018-11-06 04:02:04 +09:00
syuilo af32d1f81e [Client] Fix bug 2018-11-06 04:01:22 +09:00
syuilo 67d8773e38 [Client] Fix bug 2018-11-06 03:59:58 +09:00
syuilo e445d39c2f [Client] Use v-if instaed of v-show 2018-11-06 03:59:02 +09:00
syuilo 961ed969db メッセージでのカスタム絵文字対応 2018-11-06 03:57:02 +09:00
syuilo e9a3495225 Resolve #3132 2018-11-06 03:48:23 +09:00
Aya Morisawa 6c5a78aeb2 Fix #3133 (#3134) 2018-11-06 03:31:16 +09:00
syuilo 34e249317a 10.40.0 2018-11-06 02:06:15 +09:00
syuilo 6d8ea89f09 Resolve #3126 2018-11-06 02:05:16 +09:00
syuilo 64f89ba13e Better error code 2018-11-06 01:57:31 +09:00
syuilo f6b2f76bbf 10.39.1 2018-11-06 01:52:39 +09:00
syuilo 1235bef038 [API] Fix bug 2018-11-06 01:51:42 +09:00
syuilo 2e11f3a843 Clean up 2018-11-06 01:49:35 +09:00
syuilo 84b7e0bb7d 🎨 2018-11-06 01:48:33 +09:00
syuilo 9f5dc2c0df [WIP] Use FontAwesome Component for Vue (#3127)
* wip

* Rename

* Clean up

* Clean up

* wip

* wip

* Enable tree shaking

* ✌️

* ✌️

* wip

* wip

* Clean up
2018-11-06 01:40:11 +09:00
syuilo e640dbc501 🎨 2018-11-05 22:45:45 +09:00
syuilo 85db090d9f 🎨 2018-11-05 22:42:08 +09:00
syuilo 9f2d8e1d51 10.39.0 2018-11-05 21:07:24 +09:00
syuilo 0c98a90b75 [Client] カスタム絵文字にホバーしたときに拡大するエフェクトを追加 2018-11-05 21:04:19 +09:00
syuilo 0047920c1a Merge pull request #3117 from syuilo/twemoji
Use Twemoji
2018-11-05 20:52:55 +09:00
syuilo e4bb534f20 Better emoji regexp 2018-11-05 20:49:17 +09:00
syuilo 3fc04fcdc5 Improve readdability 2018-11-05 20:49:02 +09:00
syuilo e542dcac30 Fix test 2018-11-05 20:40:39 +09:00
syuilo a0b13505a0 Insert missing spaces 2018-11-05 20:15:09 +09:00
syuilo 389f9bfea2 Add test 2018-11-05 20:14:49 +09:00
syuilo 630a534cee Fix test 2018-11-05 20:10:28 +09:00
syuilo 5744c391e6 Revert "Fix test fails"
This reverts commit b9b05a7401.
2018-11-05 20:10:00 +09:00
Acid Chicken (硫酸鶏) b9b05a7401 Fix test fails 2018-11-05 19:50:38 +09:00
syuilo 359470a263 Fix bug 2018-11-05 19:40:09 +09:00
syuilo 3fe934ee62 Better alt value 2018-11-05 19:33:28 +09:00
syuilo 3abe632f06 Clean up 2018-11-05 19:29:50 +09:00
syuilo 65961bc15b Refactoring & 設定でTwemojiを使うかどうか切り替えられるように 2018-11-05 19:20:35 +09:00
Acid Chicken (硫酸鶏) 12f932d48a Update CI configuration (#3120)
* Update config.yml

* Add `npm prune` command

refs: https://misskey.xyz/notes/5bd9b87168b2a30045edb3aa

* Ensure package-lock.json exists
2018-11-05 17:38:57 +09:00
Acid Chicken (硫酸鶏) 54e9147782 Refactoring codes
refs: https://github.com/syuilo/misskey/pull/3117#pullrequestreview-171437187
2018-11-05 17:04:17 +09:00
Acid Chicken (硫酸鶏) 31b7626d01 Make code better
refs: https://github.com/syuilo/misskey/pull/3117#pullrequestreview-171423739
refs: https://github.com/syuilo/misskey/pull/3117#pullrequestreview-171424596
refs: https://github.com/syuilo/misskey/pull/3117#pullrequestreview-171425303
2018-11-05 16:19:14 +09:00
Acid Chicken (硫酸鶏) 200ebefe92 Add support for unicode emojis
refs: https://github.com/syuilo/misskey/pull/3117#issuecomment-435745613
2018-11-05 15:15:37 +09:00
syuilo 9d29a2e85a 10.38.8 2018-11-05 13:47:57 +09:00
syuilo c62a225542 oops 2018-11-05 13:46:46 +09:00
syuilo d5d995a3e6 Refactor 2018-11-05 13:38:50 +09:00
Acid Chicken (硫酸鶏) b7f10fdc10 Fix bug
refs: https://github.com/syuilo/misskey/pull/3117#discussion_r230624389
2018-11-05 13:24:54 +09:00
syuilo cbba03b376 [Client] Fix bug 2018-11-05 13:23:30 +09:00
syuilo f84e9c7dc8 絵文字サジェストでスペースを挿入しないように 2018-11-05 12:35:50 +09:00
syuilo a22ddb1fb9 ✌️ 2018-11-05 11:58:41 +09:00
Acid Chicken (硫酸鶏) 0d23ce3d45 Make /api/v1/instance and /api/v1/custom_emojis better (#3118)
* Separate commits

From commit dca110ebaa.

* Re-separate commits

From commit 9719387bee.
2018-11-05 11:57:17 +09:00
Acid Chicken (硫酸鶏) 9719387bee Re-separate commits 2018-11-05 11:51:14 +09:00
Acid Chicken (硫酸鶏) dca110ebaa Separate commits
Flash Back 90's
2018-11-05 11:39:13 +09:00
Acid Chicken (硫酸鶏) 136f23c7ad Merge branch 'develop' into twemoji 2018-11-05 11:21:34 +09:00
Acid Chicken (硫酸鶏) 0963e6d6e1 Use Twemoji 2018-11-05 11:19:40 +09:00
syuilo 712802e682 10.38.7 2018-11-05 11:11:23 +09:00
syuilo abe99c3c73 Update locales/ja-JP.yml 2018-11-05 11:10:02 +09:00
syuilo d7a3b71028 投稿の最大文字数情報を設定ファイルではなくDBに保存するように 2018-11-05 11:09:05 +09:00
syuilo 10c434f24a Remove Travis
Closes #3109
2018-11-05 10:52:07 +09:00
syuilo fe46c53ea6 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-11-05 10:48:51 +09:00
syuilo cdd123dfd3 [doc] specify node version 2018-11-05 10:48:40 +09:00
Acid Chicken (硫酸鶏) a1a3ee44b5 Implement /api/v1/custom_emojis (#3116) 2018-11-05 10:45:57 +09:00
Acid Chicken (硫酸鶏) 4e7fbd8967 Implement /api/v1/custom_emojis 2018-11-05 10:42:46 +09:00
syuilo a86c419f95 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-11-05 10:40:15 +09:00
syuilo e3ec0ad97e [Client] Improve admin panel usability 2018-11-05 10:40:01 +09:00
Acid Chicken (硫酸鶏) 75791981ce Fix #3115 2018-11-05 10:34:53 +09:00
syuilo e813fe16b9 [API] Better validation of admin/emoji/add 2018-11-05 10:33:49 +09:00
syuilo 42ac7b954d Improve admin panel usability 2018-11-05 10:32:45 +09:00
syuilo c1bbf5dab6 [Client] Fix error 2018-11-05 10:29:57 +09:00
Aya Morisawa e16dc2a910 Update README.md (#3112) 2018-11-05 01:57:08 +09:00
syuilo e236c05d79 10.38.6 2018-11-05 01:43:31 +09:00
syuilo 454c1e3faf [API] Fix bug 2018-11-05 01:42:41 +09:00
syuilo 43daf814df [Client] 絵文字登録フォームに便利情報を表示 2018-11-05 01:33:06 +09:00
syuilo c40b630530 10.38.5 2018-11-04 23:20:06 +09:00
syuilo 7fc0698ecf 🎨 2018-11-04 23:15:46 +09:00
syuilo 4f3c8b940e [API] Fix #3099 2018-11-04 23:13:35 +09:00
syuilo 1855ab60f1 Resolve #3098 2018-11-04 23:00:43 +09:00
syuilo af4f1a7bd6 Clean up 2018-11-04 22:05:42 +09:00
Acid Chicken (硫酸鶏) 8646a9c49c Add GitHub auth (#3095) 2018-11-04 22:03:55 +09:00
syuilo 8d7c033cf5 Clean up 2018-11-04 21:21:34 +09:00
syuilo b8900e32de 🎨 2018-11-04 21:14:17 +09:00
syuilo d48c25d2c9 [API] Fix #3097 2018-11-04 21:11:54 +09:00
Acid Chicken (硫酸鶏) a87c5899c5 Fix typo 2018-11-04 20:08:31 +09:00
Acid Chicken (硫酸鶏) 147ad69864 Revert "Add GitHub auth"
This reverts commit c146006476.
2018-11-04 19:22:04 +09:00
Acid Chicken (硫酸鶏) c146006476 Add GitHub auth 2018-11-04 19:17:30 +09:00
syuilo a0f10d7ca1 10.38.4 2018-11-04 18:38:04 +09:00
syuilo 299b91edc4 [API] Improve admin/emoji/add 2018-11-04 18:37:12 +09:00
syuilo 95c89ca6db RE: [Client] Fix bug 2018-11-04 18:36:19 +09:00
syuilo 7fe0d71e7f [Client] Fix bug 2018-11-04 18:35:55 +09:00
syuilo fbbb506e86 🎨 2018-11-04 18:31:27 +09:00
syuilo ec80b06a45 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-11-04 18:24:20 +09:00
syuilo 41e1619f1f [Client] Fix bug 2018-11-04 18:24:08 +09:00
syuilo ba6a9c6a93 Merge pull request #3092 from syuilo/l10n_develop
New Crowdin translations
2018-11-04 18:22:19 +09:00
MeiMei 18571c52fb Fix: emoji regex (#3093) 2018-11-04 17:36:37 +09:00
syuilo 5d5dfeaa83 New translations ja-JP.yml (Japanese, Kansai) 2018-11-04 17:11:19 +09:00
syuilo 3669d8c0f3 New translations ja-JP.yml (Japanese, Kansai) 2018-11-04 17:01:11 +09:00
syuilo 69d72819c6 10.38.3 2018-11-04 15:18:37 +09:00
syuilo 54dcc10250 Fix bug for Mastodon(?) 2018-11-04 15:17:52 +09:00
syuilo 1edfce8f73 [Client] スマホ/タブレットからでも管理者ページを使えるように 2018-11-04 15:16:05 +09:00
syuilo 675e573a8c 🎨 2018-11-04 14:23:28 +09:00
syuilo 1080fa63a9 10.38.2 2018-11-04 11:09:31 +09:00
syuilo 8047086988 Good bye package-lock 2018-11-04 11:08:46 +09:00
syuilo 449b9f7fa0 [Client] Improve admin panel 2018-11-04 11:08:03 +09:00
syuilo b7a15bf6ca 絵文字を作成した/更新した時にupdateAtを更新するように 2018-11-04 10:42:16 +09:00
syuilo 7c3873887d 10.38.1 2018-11-04 03:45:05 +09:00
syuilo 247ea4cf12 Merge pull request #3083 from syuilo/l10n_develop
New Crowdin translations
2018-11-04 03:44:30 +09:00
syuilo 0b7af5c669 [Client] Fix bug 2018-11-04 03:44:06 +09:00
syuilo 2b62a4e2e5 New translations ja-JP.yml (English) 2018-11-04 03:42:45 +09:00
MeiMei 65bfa3c0d6 Fix: update_client_setting (#3086) 2018-11-04 03:33:37 +09:00
syuilo 84db15694d Do not send needless emojis in note
投稿作成時に含まれている絵文字を保存しておくように

SEE: https://github.com/syuilo/misskey/pull/3085#issuecomment-435608434
2018-11-04 03:32:20 +09:00
syuilo 746189ba37 New translations ja-JP.yml (Norwegian) 2018-11-04 03:23:44 +09:00
syuilo 74e845b3ac New translations ja-JP.yml (Dutch) 2018-11-04 03:23:39 +09:00
syuilo 90fe70540e New translations ja-JP.yml (Japanese, Kansai) 2018-11-04 03:23:36 +09:00
syuilo f28af75191 New translations ja-JP.yml (Spanish) 2018-11-04 03:23:31 +09:00
syuilo 924bb2bc70 New translations ja-JP.yml (Russian) 2018-11-04 03:23:26 +09:00
syuilo 19d60f3d51 New translations ja-JP.yml (Portuguese) 2018-11-04 03:23:22 +09:00
syuilo 6903476868 New translations ja-JP.yml (Polish) 2018-11-04 03:23:16 +09:00
syuilo cf0dccc209 New translations ja-JP.yml (Korean) 2018-11-04 03:23:10 +09:00
syuilo cfd959129d New translations ja-JP.yml (Italian) 2018-11-04 03:23:06 +09:00
syuilo 819287951c New translations ja-JP.yml (German) 2018-11-04 03:23:02 +09:00
syuilo e136193925 New translations ja-JP.yml (French) 2018-11-04 03:22:57 +09:00
syuilo 8c631864d9 New translations ja-JP.yml (English) 2018-11-04 03:22:53 +09:00
syuilo d7d0f6ae2e New translations ja-JP.yml (Chinese Simplified) 2018-11-04 03:22:47 +09:00
syuilo b83b3fb9d1 New translations ja-JP.yml (Catalan) 2018-11-04 03:22:43 +09:00
syuilo dfce5bc0af [Client] Improve Emoji management page of admin panel 2018-11-04 03:18:57 +09:00
syuilo 3487ddabea [API] Implement some Emoji APIs 2018-11-04 03:18:32 +09:00
syuilo 2dbff75e7a New translations ja-JP.yml (French) 2018-11-04 02:53:30 +09:00
syuilo 02465ded9f New translations ja-JP.yml (French) 2018-11-04 02:41:50 +09:00
syuilo ffcd387945 New translations ja-JP.yml (French) 2018-11-04 02:31:36 +09:00
syuilo 4806346707 New translations ja-JP.yml (French) 2018-11-04 02:21:09 +09:00
MeiMei 31c3f6abf7 Fix: welcome-timeline (#3084) 2018-11-04 01:49:08 +09:00
syuilo 83e47fdd60 New translations ja-JP.yml (English) 2018-11-04 01:21:56 +09:00
syuilo 340ce7fa4c 10.38.0 2018-11-04 00:26:00 +09:00
syuilo ac86fee9b4 Merge pull request #3080 from syuilo/l10n_develop
New Crowdin translations
2018-11-04 00:13:09 +09:00
syuilo 6dfa283d7a New translations ja-JP.yml (English) 2018-11-04 00:11:31 +09:00
syuilo 0cce8a4d21 🎨 2018-11-04 00:10:13 +09:00
syuilo 1c6d9ab2ef New translations ja-JP.yml (Norwegian) 2018-11-04 00:05:11 +09:00
syuilo 6ca265e579 New translations ja-JP.yml (Dutch) 2018-11-04 00:04:59 +09:00
syuilo c612c4bf18 New translations ja-JP.yml (Japanese, Kansai) 2018-11-04 00:04:50 +09:00
syuilo 481a791a60 New translations ja-JP.yml (Spanish) 2018-11-04 00:04:39 +09:00
syuilo cb516c2943 New translations ja-JP.yml (Russian) 2018-11-04 00:04:29 +09:00
syuilo c0abd6f0c0 New translations ja-JP.yml (Portuguese) 2018-11-04 00:04:17 +09:00
syuilo 47695ed685 New translations ja-JP.yml (Polish) 2018-11-04 00:04:07 +09:00
syuilo 4ca8020ef5 New translations ja-JP.yml (Korean) 2018-11-04 00:03:56 +09:00
syuilo bfac83d5b8 New translations ja-JP.yml (Italian) 2018-11-04 00:03:47 +09:00
syuilo 4cd2e55fd3 New translations ja-JP.yml (German) 2018-11-04 00:03:37 +09:00
syuilo 61c7e7bc48 New translations ja-JP.yml (French) 2018-11-04 00:03:28 +09:00
syuilo bef41718e2 New translations ja-JP.yml (English) 2018-11-04 00:03:16 +09:00
syuilo 5b4b52bb97 New translations ja-JP.yml (Chinese Simplified) 2018-11-04 00:03:08 +09:00
syuilo 8901b6d774 New translations ja-JP.yml (Catalan) 2018-11-04 00:02:57 +09:00
syuilo e3a24e9215 [Client] Improve admin panel 2018-11-03 23:57:14 +09:00
syuilo a515c1f53e Improve API documentation 2018-11-03 22:49:36 +09:00
syuilo 2e22874dec Refactoring 2018-11-03 22:40:12 +09:00
syuilo 30f0b1c30d Add missing semicolons 2018-11-03 22:38:12 +09:00
syuilo 600aea4dbb [MFM] Fix emoji syntax parsing 2018-11-03 22:35:24 +09:00
syuilo f5d53d784d [Client] Improve admin panel 2018-11-03 22:21:20 +09:00
syuilo 1061e1f7ae i18n 2018-11-03 22:20:09 +09:00
syuilo 1d5fc04aa6 🎨 2018-11-03 22:03:06 +09:00
syuilo d1cf0c7998 Clean up 2018-11-03 22:01:58 +09:00
syuilo 84218abf2b [Client] Make possible to change password in mobile
モバイル版からパスワードの変更を行えるように
2018-11-03 21:53:03 +09:00
syuilo 5bebdb2511 🎨 2018-11-03 20:10:55 +09:00
syuilo 9c8e9b4165 🎨 2018-11-03 20:03:21 +09:00
syuilo 7b786bfde3 Improve usability of Admin panel 2018-11-03 19:57:44 +09:00
syuilo 42a08642a4 Misskeyのバージョンもクライアントの環境変数に突っ込むように 2018-11-03 17:04:33 +09:00
syuilo e88f7ca7b2 [Client] Fix some charts 2018-11-03 16:44:05 +09:00
syuilo c26ed1421b [API] Increase chart limit 2018-11-03 16:43:50 +09:00
syuilo ed2f94a3c1 oops 2018-11-03 15:28:11 +09:00
syuilo daba7fe87c [MFM] Fix title syntax parsing 2018-11-03 15:28:00 +09:00
syuilo afc9caf7bf Improve performance 2018-11-03 15:21:07 +09:00
syuilo 67697a7aa6 Merge pull request #3067 from syuilo/l10n_develop
New Crowdin translations
2018-11-03 15:14:13 +09:00
syuilo 1623d9e70c 🎨 2018-11-03 15:05:00 +09:00
syuilo c304351335 🎨 2018-11-03 13:39:17 +09:00
syuilo c1520763c6 🎨 2018-11-03 13:30:57 +09:00
syuilo 4853bc9414 Update src/client/app/admin/views/charts.vue 2018-11-03 13:08:49 +09:00
dependabot[bot] e7c865f8e3 Bump @types/request from 2.47.1 to 2.48.0 (#3054)
Bumps [@types/request](https://github.com/DefinitelyTyped/DefinitelyTyped) from 2.47.1 to 2.48.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-03 12:38:17 +09:00
dependabot[bot] 46cb377bc2 Bump css-loader from 1.0.0 to 1.0.1 (#3070)
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 1.0.0 to 1.0.1.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v1.0.0...v1.0.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-03 12:37:54 +09:00
dependabot[bot] 373a5ba3e1 Bump @types/node from 10.12.0 to 10.12.2 (#3072)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped) from 10.12.0 to 10.12.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-03 12:37:38 +09:00
dependabot[bot] 3bedef67c8 Bump elasticsearch from 15.1.1 to 15.2.0 (#3073)
Bumps [elasticsearch](https://github.com/elastic/elasticsearch-js) from 15.1.1 to 15.2.0.
- [Release notes](https://github.com/elastic/elasticsearch-js/releases)
- [Changelog](https://github.com/elastic/elasticsearch-js/blob/master/docs/changelog.asciidoc)
- [Commits](https://github.com/elastic/elasticsearch-js/compare/v15.1.1...v15.2.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-03 12:37:28 +09:00
dependabot[bot] 17ea19ada8 Bump typescript from 3.1.4 to 3.1.5 (#3069)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 3.1.4 to 3.1.5.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v3.1.4...v3.1.5)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-03 12:37:11 +09:00
dependabot[bot] 1f5b2285fd Bump file-type from 10.2.0 to 10.3.0 (#3071)
Bumps [file-type](https://github.com/sindresorhus/file-type) from 10.2.0 to 10.3.0.
- [Release notes](https://github.com/sindresorhus/file-type/releases)
- [Commits](https://github.com/sindresorhus/file-type/compare/v10.2.0...v10.3.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-03 12:36:59 +09:00
syuilo 17f0001966 New translations ja-JP.yml (English) 2018-11-03 11:51:00 +09:00
syuilo 04ba09a6af New translations ja-JP.yml (Norwegian) 2018-11-03 11:43:16 +09:00
syuilo 70d2744319 New translations ja-JP.yml (Dutch) 2018-11-03 11:43:06 +09:00
syuilo 6b2f0929ec New translations ja-JP.yml (Japanese, Kansai) 2018-11-03 11:42:55 +09:00
syuilo f2629bd3f2 New translations ja-JP.yml (Spanish) 2018-11-03 11:42:46 +09:00
syuilo 9e6c29c3c0 New translations ja-JP.yml (Russian) 2018-11-03 11:42:38 +09:00
syuilo abda973094 New translations ja-JP.yml (Portuguese) 2018-11-03 11:42:27 +09:00
syuilo 86b08dd5bd New translations ja-JP.yml (Polish) 2018-11-03 11:42:17 +09:00
syuilo 617e331f0f New translations ja-JP.yml (Korean) 2018-11-03 11:42:06 +09:00
syuilo cc438a9372 New translations ja-JP.yml (Italian) 2018-11-03 11:41:58 +09:00
syuilo b0fb218bfd New translations ja-JP.yml (German) 2018-11-03 11:41:50 +09:00
syuilo fc85a607e6 New translations ja-JP.yml (French) 2018-11-03 11:41:42 +09:00
syuilo fb244c45e3 New translations ja-JP.yml (English) 2018-11-03 11:41:34 +09:00
syuilo c123784c54 New translations ja-JP.yml (Chinese Simplified) 2018-11-03 11:41:24 +09:00
syuilo 342a5276fc New translations ja-JP.yml (Catalan) 2018-11-03 11:41:15 +09:00
syuilo 51a32846ee Update src/client/app/admin/views/ap-log.vue 2018-11-03 11:39:56 +09:00
syuilo 35865429a8 🎨 2018-11-03 11:39:18 +09:00
syuilo aadd5b95b8 Improve admin dashboard 2018-11-03 11:38:00 +09:00
syuilo f9f2ca51ac Improve stats API 2018-11-03 11:37:44 +09:00
syuilo 1cb93a8c10 🎨 2018-11-03 11:37:17 +09:00
syuilo 7e5dbb2ba5 Fix bug 2018-11-03 11:36:11 +09:00
syuilo 2772e3d80e New translations ja-JP.yml (English) 2018-11-03 03:51:41 +09:00
syuilo 223c578734 Improve admin dashboard 2018-11-03 03:30:28 +09:00
syuilo d01315dee2 🎨 2018-11-03 03:08:41 +09:00
syuilo 7dafb4ce4c New translations ja-JP.yml (Norwegian) 2018-11-03 03:04:52 +09:00
syuilo 9671db9b14 New translations ja-JP.yml (Dutch) 2018-11-03 03:04:41 +09:00
syuilo bec559f67c New translations ja-JP.yml (Japanese, Kansai) 2018-11-03 03:04:33 +09:00
syuilo 14053c1394 New translations ja-JP.yml (Spanish) 2018-11-03 03:04:24 +09:00
syuilo 55e4b1c828 New translations ja-JP.yml (Russian) 2018-11-03 03:04:17 +09:00
syuilo dda3421159 New translations ja-JP.yml (Portuguese) 2018-11-03 03:04:08 +09:00
syuilo 45e7488e60 New translations ja-JP.yml (Polish) 2018-11-03 03:03:55 +09:00
syuilo 30c7bd66b7 New translations ja-JP.yml (Korean) 2018-11-03 03:03:45 +09:00
syuilo af4f5bdac0 New translations ja-JP.yml (Italian) 2018-11-03 03:03:37 +09:00
syuilo 3d1a8cc341 New translations ja-JP.yml (German) 2018-11-03 03:03:28 +09:00
syuilo 0e52fb2544 New translations ja-JP.yml (French) 2018-11-03 03:03:18 +09:00
syuilo e6d6c0a17c New translations ja-JP.yml (English) 2018-11-03 03:03:10 +09:00
syuilo cfd2d47e00 New translations ja-JP.yml (Chinese Simplified) 2018-11-03 03:03:00 +09:00
syuilo 83301a879d New translations ja-JP.yml (Catalan) 2018-11-03 03:02:51 +09:00
syuilo d7881ba129 Improve admin page 2018-11-03 03:00:23 +09:00
syuilo b9fef1edf7 New translations ja-JP.yml (Norwegian) 2018-11-03 02:14:35 +09:00
syuilo 2c606f7b23 New translations ja-JP.yml (Dutch) 2018-11-03 02:14:27 +09:00
syuilo 03797607ed New translations ja-JP.yml (Japanese, Kansai) 2018-11-03 02:14:19 +09:00
syuilo 254b7f500d New translations ja-JP.yml (Spanish) 2018-11-03 02:14:09 +09:00
syuilo 51edd51bf2 New translations ja-JP.yml (Russian) 2018-11-03 02:14:00 +09:00
syuilo 0d403f4a3f New translations ja-JP.yml (Portuguese) 2018-11-03 02:13:52 +09:00
syuilo 0fa134addd New translations ja-JP.yml (Polish) 2018-11-03 02:13:44 +09:00
syuilo 7002270084 New translations ja-JP.yml (Korean) 2018-11-03 02:13:37 +09:00
syuilo 1c5452d047 New translations ja-JP.yml (Italian) 2018-11-03 02:13:26 +09:00
syuilo f0d62c07bf New translations ja-JP.yml (German) 2018-11-03 02:13:18 +09:00
syuilo 496ca55bba New translations ja-JP.yml (French) 2018-11-03 02:13:11 +09:00
syuilo 79cfba226b New translations ja-JP.yml (English) 2018-11-03 02:13:00 +09:00
syuilo f69b60dffe New translations ja-JP.yml (Chinese Simplified) 2018-11-03 02:12:51 +09:00
syuilo 513385133f New translations ja-JP.yml (Catalan) 2018-11-03 02:12:43 +09:00
syuilo 6f1e2f6636 Improve admin page 2018-11-03 02:06:34 +09:00
syuilo 8ae94c034d Update hashtags.ts 2018-11-02 23:46:57 +09:00
syuilo cd9696f25e Update src/server/api/endpoints/aggregation/hashtags.ts 2018-11-02 23:32:40 +09:00
syuilo d62a6bab41 Remove needless properties 2018-11-02 23:27:47 +09:00
syuilo 20df002746 🍕 2018-11-02 23:23:01 +09:00
syuilo fa6b01546e New translations ja-JP.yml (English) 2018-11-02 23:22:06 +09:00
syuilo 91b37a6e52 New translations ja-JP.yml (Norwegian) 2018-11-02 23:14:33 +09:00
syuilo d8171d7c8b New translations ja-JP.yml (Dutch) 2018-11-02 23:14:23 +09:00
syuilo fa96e2daf1 New translations ja-JP.yml (Japanese, Kansai) 2018-11-02 23:14:15 +09:00
syuilo 87708c3b84 New translations ja-JP.yml (Spanish) 2018-11-02 23:14:06 +09:00
syuilo 6319023cc9 New translations ja-JP.yml (Russian) 2018-11-02 23:13:58 +09:00
syuilo efad9d1b60 New translations ja-JP.yml (Portuguese) 2018-11-02 23:13:48 +09:00
syuilo a1dea657fa New translations ja-JP.yml (Polish) 2018-11-02 23:13:38 +09:00
syuilo 6b1b75717b New translations ja-JP.yml (Korean) 2018-11-02 23:13:31 +09:00
syuilo efe08e0bd3 New translations ja-JP.yml (Italian) 2018-11-02 23:13:22 +09:00
syuilo 62892c4894 New translations ja-JP.yml (German) 2018-11-02 23:13:15 +09:00
syuilo 0c2a62da11 New translations ja-JP.yml (French) 2018-11-02 23:13:07 +09:00
syuilo 5bc9e9aadd New translations ja-JP.yml (English) 2018-11-02 23:12:56 +09:00
syuilo 112c33d35b New translations ja-JP.yml (Chinese Simplified) 2018-11-02 23:12:48 +09:00
syuilo 864da3030f New translations ja-JP.yml (Catalan) 2018-11-02 23:12:38 +09:00
syuilo f2e719b361 [Client] Admin page improved 2018-11-02 23:05:53 +09:00
syuilo 6aab515389 New translations ja-JP.yml (English) 2018-11-02 22:59:53 +09:00
syuilo 819b535ab0 [API] Implement admin/add-emoji 2018-11-02 15:04:02 +09:00
syuilo 60e95ac2ac Clean up 2018-11-02 14:53:55 +09:00
syuilo 9b94ddff0a Clean up 2018-11-02 13:49:09 +09:00
syuilo 174f8022eb Refactor 2018-11-02 13:47:44 +09:00
syuilo ddc3c5ba68 Better index 2018-11-02 12:49:18 +09:00
syuilo a7e6b766be Resolve #2623 2018-11-02 12:49:08 +09:00
syuilo befc35a3ac Update src/server/api/endpoints/meta.ts 2018-11-02 12:16:03 +09:00
syuilo 2e9bbf389e Better index 2018-11-02 12:08:28 +09:00
MeiMei 80b5fda292 Remote custom emojis (#3074)
* Remote custom emojis

* んほおおおおお
2018-11-02 08:59:40 +09:00
syuilo c48cbd95f6 Fix bug 2018-11-02 03:41:09 +09:00
syuilo 931bdc6aac Refactoring, Clean up and bug fixes 2018-11-02 03:32:24 +09:00
syuilo 7f81506c8b New translations ja-JP.yml (French) 2018-11-01 22:01:38 +09:00
syuilo b4b9e76c8d Refactoring 2018-11-01 21:28:39 +09:00
syuilo e5a3dcf868 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-11-01 21:01:55 +09:00
syuilo 825648535c Refactoring 2018-11-01 21:01:47 +09:00
Acid Chicken (硫酸鶏) 5cbc908ba3 Fix typo 2018-11-01 19:32:11 +09:00
syuilo 895cf53ee1 Fix bug 2018-11-01 18:05:14 +09:00
syuilo e41f74e77c 10.37.0 2018-11-01 11:52:33 +09:00
syuilo c21caad1c5 Custom emoji (#3061)
* wip

* wip

* wip
2018-11-01 11:51:49 +09:00
syuilo 86fcd3a378 Fix bug 2018-11-01 10:00:15 +09:00
syuilo 2b3687b3cb 10.36.1 2018-11-01 09:35:24 +09:00
syuilo 5d61c7c691 Refactor and use original image for banner 2018-11-01 09:30:51 +09:00
syuilo 1bb266e7c7 Update package-lock.json 2018-11-01 09:19:31 +09:00
syuilo 1fca8d322c Clean up 2018-11-01 09:19:22 +09:00
syuilo 325cd03a59 Improve performance 2018-11-01 09:08:00 +09:00
syuilo 2f7e6baa05 Clean up 2018-11-01 09:02:54 +09:00
syuilo d252e066fe Improve performance 2018-11-01 09:00:18 +09:00
dependabot[bot] fe7bd9ab3c Bump typescript-eslint-parser from 20.0.0 to 20.1.1 (#3057)
Bumps [typescript-eslint-parser](https://github.com/eslint/typescript-eslint-parser) from 20.0.0 to 20.1.1.
- [Release notes](https://github.com/eslint/typescript-eslint-parser/releases)
- [Changelog](https://github.com/eslint/typescript-eslint-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/typescript-eslint-parser/compare/v20.0.0...v20.1.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-01 08:24:13 +09:00
dependabot[bot] 84e3f41305 Bump ts-loader from 5.2.2 to 5.3.0 (#3055)
Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 5.2.2 to 5.3.0.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases)
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/ts-loader/compare/v5.2.2...v5.3.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-01 08:24:05 +09:00
dependabot[bot] 3e8cccad0d Bump jsdom from 12.2.0 to 13.0.0 (#3058)
Bumps [jsdom](https://github.com/jsdom/jsdom) from 12.2.0 to 13.0.0.
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Changelog](https://github.com/jsdom/jsdom/blob/master/Changelog.md)
- [Commits](https://github.com/jsdom/jsdom/compare/12.2.0...13.0.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-01 08:23:38 +09:00
Acid Chicken (硫酸鶏) a2b94d67f7 Update README.md [AUTOGEN] (#3060) 2018-11-01 08:23:11 +09:00
dependabot[bot] 6ab61e73b0 Bump apexcharts from 2.1.6 to 2.1.9 (#3056)
Bumps [apexcharts](https://github.com/apexcharts/apexcharts.js) from 2.1.6 to 2.1.9.
- [Release notes](https://github.com/apexcharts/apexcharts.js/releases)
- [Changelog](https://github.com/apexcharts/apexcharts.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/apexcharts/apexcharts.js/compare/v2.1.6...v2.1.9)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-01 08:22:53 +09:00
Acid Chicken (硫酸鶏) 051c6973af Update README.md [AUTOGEN] (#3059) 2018-11-01 08:20:56 +09:00
syuilo 806a49ec3d 10.36.0 2018-11-01 00:12:13 +09:00
syuilo 3829fe128a Update src/server/api/endpoints/users/relation.ts 2018-11-01 00:11:52 +09:00
syuilo 649177985d [API] Implement users/relation 2018-11-01 00:11:21 +09:00
syuilo c15148b23c [API] Include detailed user information for block/mute response 2018-10-31 23:34:35 +09:00
syuilo 261a3f5d91 Better rate limitting 2018-10-31 23:03:14 +09:00
syuilo 256ba78ba5 Fix 2018-10-31 22:55:17 +09:00
syuilo 04aff8866e [MFM] Better hashtag detection 2018-10-31 22:38:05 +09:00
syuilo 1a51b98700 Refactor 2018-10-31 22:35:02 +09:00
syuilo f64100226d Revert "Clean up"
This reverts commit 8948a0d3a4.
2018-10-31 22:10:25 +09:00
syuilo b7805e48a6 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-10-31 22:08:27 +09:00
syuilo 0d9556620d Update package-lock.json 2018-10-31 22:08:19 +09:00
Acid Chicken (硫酸鶏) a51828a7a2 Update test.yml (#3052) 2018-10-31 22:07:26 +09:00
Acid Chicken (硫酸鶏) 7e2009f408 Update config.yml (#3051) 2018-10-31 22:00:21 +09:00
syuilo 008d950a39 10.35.1 2018-10-31 18:07:59 +09:00
syuilo 22d5862afb 🎨 2018-10-31 18:07:00 +09:00
syuilo de569147a5 Fix #3041 2018-10-31 17:56:21 +09:00
syuilo a82c3db750 Merge pull request #3038 from syuilo/l10n_develop
New Crowdin translations
2018-10-31 13:44:10 +09:00
dependabot[bot] 80706d10af Bump @types/speakeasy from 2.0.2 to 2.0.3 (#3012)
Bumps [@types/speakeasy](https://github.com/DefinitelyTyped/DefinitelyTyped) from 2.0.2 to 2.0.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-10-31 13:43:45 +09:00
dependabot[bot] 93f01ed4df Bump typescript from 3.1.3 to 3.1.4 (#3049)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 3.1.3 to 3.1.4.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v3.1.3...v3.1.4)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-10-31 13:42:47 +09:00
dependabot[bot] a3a28e5557 Bump file-type from 10.1.0 to 10.2.0 (#3039)
Bumps [file-type](https://github.com/sindresorhus/file-type) from 10.1.0 to 10.2.0.
- [Release notes](https://github.com/sindresorhus/file-type/releases)
- [Commits](https://github.com/sindresorhus/file-type/compare/v10.1.0...v10.2.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-10-31 13:42:31 +09:00
syuilo 8948a0d3a4 Clean up 2018-10-31 13:28:05 +09:00
syuilo d849ea9b41 Clean up 2018-10-31 13:23:12 +09:00
syuilo 0144575f3f Improve performance 2018-10-31 13:20:24 +09:00
syuilo bdbe646ca7 Improve performance 2018-10-31 13:14:45 +09:00
syuilo 1a1483a242 Update package-lock.json 2018-10-31 12:29:38 +09:00
syuilo 962346785b New translations ja-JP.yml (English) 2018-10-31 11:31:00 +09:00
syuilo a73da3cd70 10.35.0 2018-10-31 11:30:49 +09:00
Acid Chicken (硫酸鶏) 9c27d0ae3f Add CircleCI badge (#3050) 2018-10-31 11:29:25 +09:00
syuilo 525d5218c1 🎨 2018-10-31 11:29:03 +09:00
syuilo e23b13ec7f [API] Include detailed user information of blocking API responses 2018-10-31 11:24:36 +09:00
syuilo 29b000e03c Remove needless async/await 2018-10-31 11:22:49 +09:00
syuilo 6a7b0df810 New translations ja-JP.yml (Norwegian) 2018-10-31 11:22:11 +09:00
syuilo 4142de9195 New translations ja-JP.yml (Dutch) 2018-10-31 11:22:07 +09:00
syuilo 9195e1be00 New translations ja-JP.yml (Japanese, Kansai) 2018-10-31 11:22:03 +09:00
syuilo 75382d13fd New translations ja-JP.yml (Spanish) 2018-10-31 11:21:59 +09:00
syuilo d444280a28 New translations ja-JP.yml (Russian) 2018-10-31 11:21:52 +09:00
syuilo 52fc0fe04a New translations ja-JP.yml (Portuguese) 2018-10-31 11:21:48 +09:00
syuilo 216bebadf1 New translations ja-JP.yml (Polish) 2018-10-31 11:21:44 +09:00
syuilo a5592931cb New translations ja-JP.yml (Korean) 2018-10-31 11:21:39 +09:00
syuilo a2228417ff New translations ja-JP.yml (Italian) 2018-10-31 11:21:35 +09:00
syuilo 3e1e292c3e New translations ja-JP.yml (German) 2018-10-31 11:21:31 +09:00
syuilo f2f039ae9e New translations ja-JP.yml (French) 2018-10-31 11:21:27 +09:00
syuilo 29dde1eda0 New translations ja-JP.yml (English) 2018-10-31 11:21:21 +09:00
syuilo 45d3792ce0 New translations ja-JP.yml (Chinese Simplified) 2018-10-31 11:21:17 +09:00
syuilo 875d0aaebb New translations ja-JP.yml (Catalan) 2018-10-31 11:21:13 +09:00
syuilo 26c9d8ff6f Clean up 2018-10-31 11:20:54 +09:00
syuilo 5e3372e932 Merge pull request #3047 from mei23/mei-1031-blokings-list
blockings list
2018-10-31 11:17:24 +09:00
syuilo f7069dcd18 良い感じに 2018-10-31 11:16:13 +09:00
mei23 560bb65384 blockings list 2018-10-31 04:59:01 +09:00
Acid Chicken (硫酸鶏) 50cd6a036e Implement /api/v1/instance (#3045)
* Update mastodon.ts

* Update types.ts

* Update mastodon.ts
2018-10-31 02:17:54 +09:00
MeiMei 441ab2b5f8 Fix: can't recognize rebirthed instance user (#3046)
* resync uri from WebFinger

* trigger resync on user page

* allways update on resync

* Revert "trigger resync on user page"

This reverts commit 8ff139fb49.

* background resync
2018-10-31 02:16:13 +09:00
zwebmedia ba5ed188a1 Add Crowdin info to translate docs (#3044) 2018-10-30 22:56:13 +09:00
syuilo 72e672f08d Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-10-30 21:55:25 +09:00
syuilo 120474ec6a Fix bug 2018-10-30 21:55:16 +09:00
かひわし4(バージョン1) eee57c47f5 Use cache when default.yml update (#3042)
* Use cache when default.yml update

* Install latest npm in base image
2018-10-30 21:18:03 +09:00
syuilo 4c160869b8 Update test/api.ts 2018-10-30 21:17:26 +09:00
syuilo 3720a7fbe0 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-10-30 14:34:39 +09:00
syuilo 7afa541a53 Fix #3040 2018-10-30 14:34:32 +09:00
Acid Chicken (硫酸鶏) 6f979c8275 Configure CI (#3037)
* Update config.yml

* Configure CI

* Use Vesion 2.1

* Fix error

* Ensure binary builds

* Ensure misskey builds

* Store artifacts

* Ensure node-gyp builds

* Fix typo

* Fix typo

* Ensure binary builds

* Update working directory

* Cache test npm packages

* Revert "Update working directory"

* Ensure misskey builds

* Ensure node-gyp builds

* Fix missing configurations

* Configure deploy filters

* Use latest npm in Docker
2018-10-30 12:36:14 +09:00
syuilo d399241e65 Refactor 2018-10-30 09:36:20 +09:00
syuilo e85dec030a [Client] Fix bug 2018-10-30 09:27:57 +09:00
syuilo d0220764cc New translations ja-JP.yml (French) 2018-10-30 05:31:25 +09:00
syuilo 75c1df9531 New translations ja-JP.yml (French) 2018-10-30 05:11:49 +09:00
syuilo bca7156d6b New translations ja-JP.yml (French) 2018-10-30 05:02:28 +09:00
syuilo 64277b7157 10.34.0 2018-10-29 21:55:33 +09:00
syuilo 4a72543f65 Merge pull request #3019 from syuilo/l10n_develop
New Crowdin translations
2018-10-29 21:53:58 +09:00
syuilo 5b84d29807 Better indexes 2018-10-29 21:53:40 +09:00
syuilo a11061ec2b New translations ja-JP.yml (English) 2018-10-29 21:51:37 +09:00
syuilo 24cfb93b2e Update .circleci/config.yml 2018-10-29 21:48:35 +09:00
syuilo 502b42d63a New translations ja-JP.yml (Norwegian) 2018-10-29 21:43:46 +09:00
syuilo 612672b79c New translations ja-JP.yml (Dutch) 2018-10-29 21:43:42 +09:00
syuilo abc670e1b1 New translations ja-JP.yml (Japanese, Kansai) 2018-10-29 21:43:38 +09:00
syuilo d589ccdd01 New translations ja-JP.yml (Spanish) 2018-10-29 21:43:34 +09:00
syuilo acb07d9f7d New translations ja-JP.yml (Russian) 2018-10-29 21:43:29 +09:00
syuilo f4d2186719 New translations ja-JP.yml (Portuguese) 2018-10-29 21:43:25 +09:00
syuilo d0ede5c665 New translations ja-JP.yml (Polish) 2018-10-29 21:43:20 +09:00
syuilo 554cbb5e9b New translations ja-JP.yml (Korean) 2018-10-29 21:43:16 +09:00
syuilo dbd32a56bf New translations ja-JP.yml (Italian) 2018-10-29 21:43:10 +09:00
syuilo 7f500235c6 New translations ja-JP.yml (German) 2018-10-29 21:43:05 +09:00
syuilo 39a58084c8 New translations ja-JP.yml (French) 2018-10-29 21:43:01 +09:00
syuilo cde0fde836 New translations ja-JP.yml (English) 2018-10-29 21:42:56 +09:00
syuilo e70cca0fda New translations ja-JP.yml (Chinese Simplified) 2018-10-29 21:42:52 +09:00
syuilo 919bd7eb82 New translations ja-JP.yml (Catalan) 2018-10-29 21:42:45 +09:00
syuilo 312cff3d6f Fix 2018-10-29 21:39:35 +09:00
syuilo 0d86eef3d7 Format 2018-10-29 21:38:09 +09:00
syuilo 13acf570e7 Improve performance 2018-10-29 21:35:46 +09:00
syuilo fa17623fa8 モバイル版からブロックできるように 2018-10-29 21:32:38 +09:00
syuilo 06fd525950 Refactor 2018-10-29 21:32:21 +09:00
syuilo 4805b5115a 🎨 2018-10-29 21:09:32 +09:00
syuilo 108dcb3e61 物理削除系の処理を削除
これらの処理はパフォーマンス的に現実的でないし、すべてのモデルの関係を把握している必要があり保守が困難
論理削除でなんとかする
2018-10-29 21:06:23 +09:00
syuilo 780d272535 New translations ja-JP.yml (Norwegian) 2018-10-29 20:44:27 +09:00
syuilo 02ea4b81a5 New translations ja-JP.yml (Dutch) 2018-10-29 20:44:22 +09:00
syuilo 7c1bdc6d36 New translations ja-JP.yml (Japanese, Kansai) 2018-10-29 20:44:15 +09:00
syuilo 78c7b8b836 New translations ja-JP.yml (Spanish) 2018-10-29 20:44:10 +09:00
syuilo 227da30acb New translations ja-JP.yml (Russian) 2018-10-29 20:44:03 +09:00
syuilo 610805026f New translations ja-JP.yml (Portuguese) 2018-10-29 20:43:57 +09:00
syuilo c02399c3d2 New translations ja-JP.yml (Polish) 2018-10-29 20:43:51 +09:00
syuilo e0799d4153 New translations ja-JP.yml (Korean) 2018-10-29 20:43:45 +09:00
syuilo 6df83f1aa9 New translations ja-JP.yml (Italian) 2018-10-29 20:43:41 +09:00
syuilo efb5ad1d9b New translations ja-JP.yml (German) 2018-10-29 20:43:35 +09:00
syuilo 716976f016 New translations ja-JP.yml (French) 2018-10-29 20:43:31 +09:00
syuilo 7892f41b84 New translations ja-JP.yml (English) 2018-10-29 20:43:26 +09:00
syuilo d549e03b3f New translations ja-JP.yml (Chinese Simplified) 2018-10-29 20:43:22 +09:00
syuilo c511ef21ff New translations ja-JP.yml (Catalan) 2018-10-29 20:43:18 +09:00
MeiMei d64dc45899 User blocking (Following part) (#3035)
* block wip

* UndoBlock

* UnBlock

* wip

* follow

* UI

* fix
2018-10-29 20:32:42 +09:00
syuilo bcb0588409 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-10-29 19:33:00 +09:00
syuilo 0975959eb9 Clean up 2018-10-29 19:32:20 +09:00
syuilo e985a6d9d3 Update config.yml 2018-10-29 19:27:47 +09:00
syuilo b893305974 Delete appveyor.yml 2018-10-29 19:19:41 +09:00
syuilo 724fdd44e4 Clean up 2018-10-29 19:13:16 +09:00
syuilo b480ef669c Fix doc 2018-10-29 19:11:01 +09:00
syuilo 4b145da046 Fix MFM parsing 2018-10-29 19:09:24 +09:00
syuilo 83d168ece3 Fix API definition 2018-10-29 19:04:58 +09:00
syuilo ae44fe7818 Refactor 2018-10-29 15:09:03 +09:00
syuilo f8981b3acb Update src/server/api/endpoints/notes/reactions.ts 2018-10-29 15:07:50 +09:00
syuilo 050b324885 ? 2018-10-29 10:52:42 +09:00
syuilo e74c0df6c6 Fix #3034 2018-10-29 10:52:36 +09:00
syuilo 22d0d11895 Update note-reaction.ts 2018-10-28 21:41:39 +09:00
dependabot[bot] 80d0c0cf74 Bump eslint from 5.7.0 to 5.8.0 (#3030)
Bumps [eslint](https://github.com/eslint/eslint) from 5.7.0 to 5.8.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v5.7.0...v5.8.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-10-28 21:38:27 +09:00
MeiMei 518646b925 Fix: Unexpected remote user is selected (#3032) 2018-10-28 07:49:58 +09:00
syuilo 479d7e0087 Merge pull request #3031 from syuilo/patch-autogen 2018-10-27 13:37:02 +09:00
Acid Chicken (硫酸鶏) 8ea1a555f4 Update README.md [AUTOGEN] 2018-10-27 13:36:06 +09:00
Acid Chicken (硫酸鶏) 04024dc37c Update README.md [AUTOGEN] (#3024) 2018-10-27 03:47:04 +09:00
Acid Chicken (硫酸鶏) 060ff9288f Build assets in CircleCI. (#3021) 2018-10-27 03:46:48 +09:00
syuilo 197116ee78 New translations ja-JP.yml (Japanese, Kansai) 2018-10-26 22:12:16 +09:00
syuilo a1e0015257 New translations ja-JP.yml (Japanese, Kansai) 2018-10-26 22:01:37 +09:00
syuilo 7e701ef9e0 10.33.0 2018-10-26 15:23:10 +09:00
syuilo 3d6fb661bb Update src/client/app/desktop/views/components/settings.2fa.vue 2018-10-26 15:17:50 +09:00
syuilo fc372496da Client: Make drive folder deletable 2018-10-26 15:06:55 +09:00
syuilo ad7258fe9c Fix bug 2018-10-26 15:06:27 +09:00
syuilo bd707cb2a8 🎨 2018-10-26 14:51:57 +09:00
syuilo 1839b5f205 Improve usability 2018-10-26 14:47:30 +09:00
syuilo 02b47f963c API: Better error response 2018-10-26 14:38:34 +09:00
syuilo f8a7f9378a Improve usability 2018-10-26 14:38:22 +09:00
syuilo 65cb253be4 Update src/client/app/common/views/components/ui/textarea.vue 2018-10-26 14:38:03 +09:00
syuilo a12356b24b Merge pull request #3010 from syuilo/l10n_develop
New Crowdin translations
2018-10-26 08:55:11 +09:00
syuilo 6a67ad7f93 New translations ja-JP.yml (English) 2018-10-26 08:51:31 +09:00
syuilo 140a7f0b1c New translations ja-JP.yml (Norwegian) 2018-10-26 08:42:29 +09:00
syuilo 00159bc6b5 New translations ja-JP.yml (Dutch) 2018-10-26 08:42:24 +09:00
syuilo 9542260103 New translations ja-JP.yml (Japanese, Kansai) 2018-10-26 08:42:20 +09:00
syuilo 72074578df New translations ja-JP.yml (Spanish) 2018-10-26 08:42:15 +09:00
syuilo 3b4750a988 New translations ja-JP.yml (Russian) 2018-10-26 08:42:11 +09:00
syuilo aeec5f0163 New translations ja-JP.yml (Portuguese) 2018-10-26 08:42:05 +09:00
syuilo 9c94d8c8d6 New translations ja-JP.yml (Polish) 2018-10-26 08:41:59 +09:00
syuilo 581712a2c8 New translations ja-JP.yml (Korean) 2018-10-26 08:41:54 +09:00
syuilo b25b51aaca New translations ja-JP.yml (Italian) 2018-10-26 08:41:50 +09:00
syuilo fb97e13a61 New translations ja-JP.yml (German) 2018-10-26 08:41:44 +09:00
syuilo 36e154fdb2 New translations ja-JP.yml (French) 2018-10-26 08:41:40 +09:00
syuilo ca273a24b4 New translations ja-JP.yml (English) 2018-10-26 08:41:36 +09:00
syuilo d828bf2889 New translations ja-JP.yml (Chinese Simplified) 2018-10-26 08:41:32 +09:00
syuilo 87efccef18 New translations ja-JP.yml (Catalan) 2018-10-26 08:41:28 +09:00
syuilo e0bf522e7f Client: Improve API settings 2018-10-26 08:37:30 +09:00
syuilo 5b1cd3bd3c Fix bug 2018-10-26 08:36:50 +09:00
dependabot[bot] f00489196d Bump @types/mocha from 5.2.3 to 5.2.5 (#3006)
Bumps [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped) from 5.2.3 to 5.2.5.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-10-26 06:40:31 +09:00
dependabot[bot] dd53bf7e51 Bump html-minifier from 3.5.20 to 3.5.21 (#3015)
Bumps [html-minifier](https://github.com/kangax/html-minifier) from 3.5.20 to 3.5.21.
- [Release notes](https://github.com/kangax/html-minifier/releases)
- [Commits](https://github.com/kangax/html-minifier/compare/v3.5.20...v3.5.21)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-10-26 06:40:01 +09:00
dependabot[bot] 35a6da26d2 Bump apexcharts from 2.1.5 to 2.1.6 (#3013)
Bumps [apexcharts](https://github.com/apexcharts/apexcharts.js) from 2.1.5 to 2.1.6.
- [Release notes](https://github.com/apexcharts/apexcharts.js/releases)
- [Changelog](https://github.com/apexcharts/apexcharts.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/apexcharts/apexcharts.js/compare/v2.1.5...v2.1.6)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-10-26 06:39:48 +09:00
dependabot[bot] c8c8748a0b Bump webpack from 4.23.0 to 4.23.1 (#3011)
Bumps [webpack](https://github.com/webpack/webpack) from 4.23.0 to 4.23.1.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.23.0...v4.23.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-10-26 06:38:08 +09:00
syuilo 46d0065a90 New translations ja-JP.yml (Japanese, Kansai) 2018-10-26 01:01:40 +09:00
syuilo 990b0180a8 New translations ja-JP.yml (Japanese, Kansai) 2018-10-26 00:51:35 +09:00
syuilo f3bfb72251 New translations ja-JP.yml (Japanese, Kansai) 2018-10-26 00:42:19 +09:00
syuilo 0358a7edc6 10.32.0 2018-10-25 17:31:13 +09:00
syuilo 37f99fca04 Update appveyor.yml 2018-10-25 17:25:35 +09:00
syuilo 50dfc8ab82 Disable ElasticSearch in CI enviroment 2018-10-25 17:16:39 +09:00
syuilo c70c739b0c Remove some unused packages 2018-10-25 16:15:33 +09:00
syuilo 5918285326 Bug fix and some refactoring 2018-10-25 16:10:48 +09:00
syuilo b1dead1186 Merge pull request #2995 from syuilo/l10n_develop
New Crowdin translations
2018-10-25 11:51:43 +09:00
syuilo 3e36e132c3 New translations ja-JP.yml (English) 2018-10-25 11:51:05 +09:00
syuilo fa8d1809e7 New translations ja-JP.yml (Norwegian) 2018-10-25 11:42:18 +09:00
syuilo e12b668d04 New translations ja-JP.yml (Dutch) 2018-10-25 11:42:15 +09:00
syuilo e5506f7d8c New translations ja-JP.yml (Japanese, Kansai) 2018-10-25 11:42:11 +09:00
syuilo b1ac7e5cb3 New translations ja-JP.yml (Spanish) 2018-10-25 11:42:05 +09:00
syuilo ffd164a5f3 New translations ja-JP.yml (Russian) 2018-10-25 11:41:59 +09:00
syuilo cb27414026 New translations ja-JP.yml (Portuguese) 2018-10-25 11:41:55 +09:00
syuilo e320912f33 New translations ja-JP.yml (Polish) 2018-10-25 11:41:51 +09:00
syuilo d23aaae698 New translations ja-JP.yml (Korean) 2018-10-25 11:41:45 +09:00
syuilo 120c0fe848 New translations ja-JP.yml (Italian) 2018-10-25 11:41:41 +09:00
syuilo 34857b9520 New translations ja-JP.yml (German) 2018-10-25 11:41:37 +09:00
syuilo a87dcece4c New translations ja-JP.yml (French) 2018-10-25 11:41:33 +09:00
syuilo 01e2479004 New translations ja-JP.yml (English) 2018-10-25 11:41:28 +09:00
syuilo 0fd63fe091 New translations ja-JP.yml (Chinese Simplified) 2018-10-25 11:41:24 +09:00
syuilo cc98801c67 New translations ja-JP.yml (Catalan) 2018-10-25 11:41:15 +09:00
syuilo 2724d74108 Better text 2018-10-25 11:35:55 +09:00
syuilo 6d0c0d3a5f New translations ja-JP.yml (Norwegian) 2018-10-25 11:32:30 +09:00
syuilo 15f8f63317 New translations ja-JP.yml (Dutch) 2018-10-25 11:32:24 +09:00
syuilo d970d65968 New translations ja-JP.yml (Japanese, Kansai) 2018-10-25 11:32:20 +09:00
syuilo 04d359691b New translations ja-JP.yml (Spanish) 2018-10-25 11:32:14 +09:00
syuilo bfc519944a New translations ja-JP.yml (Russian) 2018-10-25 11:32:08 +09:00
syuilo 9f69fd14a2 New translations ja-JP.yml (Portuguese) 2018-10-25 11:32:04 +09:00
syuilo 85058787b2 New translations ja-JP.yml (Polish) 2018-10-25 11:31:58 +09:00
syuilo ec851623e0 New translations ja-JP.yml (Korean) 2018-10-25 11:31:52 +09:00
syuilo e05429a3ec New translations ja-JP.yml (Italian) 2018-10-25 11:31:47 +09:00
syuilo f651c41816 New translations ja-JP.yml (German) 2018-10-25 11:31:43 +09:00
syuilo 6b88d99ae2 New translations ja-JP.yml (French) 2018-10-25 11:31:38 +09:00
syuilo 814469cdca New translations ja-JP.yml (English) 2018-10-25 11:31:34 +09:00
syuilo 536bf8f141 New translations ja-JP.yml (Chinese Simplified) 2018-10-25 11:31:28 +09:00
syuilo 6a27290815 New translations ja-JP.yml (Catalan) 2018-10-25 11:31:22 +09:00
syuilo 7dde3465e2 Improve drive information 2018-10-25 11:30:30 +09:00
syuilo 0206a4ac83 Clean up 2018-10-25 08:42:07 +09:00
syuilo 380f5a972c Implement featured note API 2018-10-25 07:04:15 +09:00
syuilo 407467a236 Update Node.js to v11 2018-10-25 06:16:49 +09:00
syuilo bcfa9e18bf Update src/client/app/desktop/views/pages/deck/deck.notes.vue 2018-10-25 06:14:31 +09:00
syuilo 69b730e91a Clean up 2018-10-25 06:04:06 +09:00
dependabot[bot] 6c6c003d68 Bump webpack from 4.22.0 to 4.23.0 (#3007)
Bumps [webpack](https://github.com/webpack/webpack) from 4.22.0 to 4.23.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.22.0...v4.23.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-10-25 05:43:25 +09:00
syuilo fd652b70d6 Fix: Remove unused import 2018-10-25 05:33:40 +09:00
dependabot[bot] 804a5ab6a8 Bump eslint from 5.0.1 to 5.7.0 (#3002)
Bumps [eslint](https://github.com/eslint/eslint) from 5.0.1 to 5.7.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v5.0.1...v5.7.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-10-24 19:03:33 +09:00
dependabot[bot] d984a1aa19 Bump highlight.js from 9.12.0 to 9.13.1 (#3000)
Bumps [highlight.js](https://github.com/highlightjs/highlight.js) from 9.12.0 to 9.13.1.
- [Release notes](https://github.com/highlightjs/highlight.js/releases)
- [Changelog](https://github.com/highlightjs/highlight.js/blob/master/CHANGES.md)
- [Commits](https://github.com/highlightjs/highlight.js/compare/9.12.0...9.13.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-10-24 19:02:55 +09:00
dependabot[bot] e05b5a6ab8 Bump ts-loader from 4.4.1 to 5.2.2 (#3001)
Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 4.4.1 to 5.2.2.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases)
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/ts-loader/compare/v4.4.1...v5.2.2)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-10-24 19:02:22 +09:00
dependabot[bot] 3ff84db421 Bump typescript from 2.9.2 to 3.1.3 (#2999)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 2.9.2 to 3.1.3.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v2.9.2...v3.1.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-10-24 19:00:26 +09:00
dependabot[bot] 74ca73ecb4 Bump koa from 2.5.1 to 2.6.1 (#2998)
Bumps [koa](https://github.com/koajs/koa) from 2.5.1 to 2.6.1.
- [Release notes](https://github.com/koajs/koa/releases)
- [Changelog](https://github.com/koajs/koa/blob/master/History.md)
- [Commits](https://github.com/koajs/koa/compare/2.5.1...2.6.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-10-24 19:00:01 +09:00
syuilo 37032f68ae Update README.md 2018-10-24 18:56:15 +09:00
syuilo 21d3605737 Update appveyor.yml 2018-10-24 18:51:08 +09:00
syuilo 0a7c1caf43 Update appveyor.yml 2018-10-24 18:49:56 +09:00
syuilo 24b57335fa Use package-lock 2018-10-24 18:43:55 +09:00
syuilo 9f981d875a Implement drive/folders/delete 2018-10-24 18:37:58 +09:00
syuilo 6dcc3800e0 Improve some API definitions 2018-10-24 18:32:19 +09:00
syuilo 44e9be5a1c Better default theme 🎨 2018-10-24 15:48:27 +09:00
かひわし4(バージョン1) 6a8c560d21 Docker関連の修正 (#2997)
* Modify Dockerfile and docker-compose.yml

* Fix MongoDB connection error
* Use alpine-3.8 instead of alpine-edge as base image
* Modify install packages
* Modify Mongodb image tag name

* Update Docker documents

* Add 'Download misskey' paragraph

* Make redis optional for Docker
2018-10-24 14:36:42 +09:00
syuilo 0afe8c6b34 New translations ja-JP.yml (English) 2018-10-24 11:31:23 +09:00
syuilo 0f5d7f52a0 New translations ja-JP.yml (Norwegian) 2018-10-24 08:02:23 +09:00
syuilo aaaefa0ee2 New translations ja-JP.yml (Dutch) 2018-10-24 08:02:18 +09:00
syuilo 276929bc7e New translations ja-JP.yml (Japanese, Kansai) 2018-10-24 08:02:14 +09:00
syuilo 32882f1397 New translations ja-JP.yml (Spanish) 2018-10-24 08:02:10 +09:00
syuilo 7dc380c485 New translations ja-JP.yml (Russian) 2018-10-24 08:02:06 +09:00
syuilo 49aaa9a5d3 New translations ja-JP.yml (Portuguese) 2018-10-24 08:02:01 +09:00
syuilo 84462eb3f2 New translations ja-JP.yml (Polish) 2018-10-24 08:01:57 +09:00
syuilo 91709ca979 New translations ja-JP.yml (Korean) 2018-10-24 08:01:52 +09:00
syuilo 9ece71e652 New translations ja-JP.yml (Italian) 2018-10-24 08:01:46 +09:00
syuilo 4e93f6c6ff New translations ja-JP.yml (German) 2018-10-24 08:01:42 +09:00
syuilo ad9f1fb7c7 New translations ja-JP.yml (French) 2018-10-24 08:01:37 +09:00
syuilo abaeea6d8b New translations ja-JP.yml (English) 2018-10-24 08:01:31 +09:00
syuilo 8efbcc4c6b New translations ja-JP.yml (Chinese Simplified) 2018-10-24 08:01:26 +09:00
syuilo 8ef31cab8c New translations ja-JP.yml (Catalan) 2018-10-24 08:01:19 +09:00
syuilo 37ae53e55c Update locales/ja-JP.yml 2018-10-24 07:52:57 +09:00
syuilo d01f06bdf4 New translations ja-JP.yml (Norwegian) 2018-10-24 06:56:47 +09:00
syuilo 0d4a8d118a New translations ja-JP.yml (Dutch) 2018-10-24 06:56:42 +09:00
syuilo 7e6ec83b1f New translations ja-JP.yml (Japanese, Kansai) 2018-10-24 06:56:37 +09:00
syuilo 9eb515cfae New translations ja-JP.yml (Spanish) 2018-10-24 06:56:33 +09:00
syuilo d0da019a21 New translations ja-JP.yml (Russian) 2018-10-24 06:56:27 +09:00
syuilo 57a13c9ad3 New translations ja-JP.yml (Portuguese) 2018-10-24 06:56:23 +09:00
syuilo 7f39100634 New translations ja-JP.yml (Polish) 2018-10-24 06:56:17 +09:00
syuilo 9ab96ef39a New translations ja-JP.yml (Korean) 2018-10-24 06:56:13 +09:00
syuilo ed21d797a6 New translations ja-JP.yml (Italian) 2018-10-24 06:56:08 +09:00
syuilo 15960746bb New translations ja-JP.yml (German) 2018-10-24 06:56:02 +09:00
syuilo e0f1e3ca71 New translations ja-JP.yml (French) 2018-10-24 06:55:57 +09:00
syuilo 51d0524182 New translations ja-JP.yml (English) 2018-10-24 06:55:53 +09:00
syuilo 16801aa5c4 New translations ja-JP.yml (Chinese Simplified) 2018-10-24 06:55:49 +09:00
syuilo cd23f66834 New translations ja-JP.yml (Catalan) 2018-10-24 06:55:42 +09:00
syuilo cc5d2b2875 10.31.0 2018-10-24 06:51:45 +09:00
syuilo 94ef03db9e Implement federation chart 2018-10-24 06:44:09 +09:00
syuilo 038bd100b2 Implement federation chart API 2018-10-24 06:34:04 +09:00
syuilo 3b5c3f086a Fix: Add missing import 2018-10-24 06:20:42 +09:00
syuilo a136715111 Implement #2993 2018-10-24 06:17:55 +09:00
MeiMei daa22d68fa Make max allowed text length configurable (#2992)
* Make max allowed text length configurable

* Fix canPost
2018-10-24 04:00:04 +09:00
syuilo f24d202024 10.30.3 2018-10-23 14:52:25 +09:00
syuilo d3e0b8574b 🎨 2018-10-23 14:44:26 +09:00
syuilo f4482cc34a 🎨 2018-10-23 14:33:00 +09:00
syuilo 3ff226cd6b 🎨 2018-10-23 14:28:15 +09:00
syuilo 5c0d37d021 10.30.2 2018-10-23 12:59:17 +09:00
syuilo b958959cca Merge pull request #2990 from syuilo/l10n_develop
New Crowdin translations
2018-10-23 12:58:10 +09:00
syuilo 762418d0fa New translations ja-JP.yml (English) 2018-10-23 12:51:51 +09:00
syuilo 6831f0c192 New translations ja-JP.yml (Norwegian) 2018-10-23 12:42:47 +09:00
syuilo 64635fff2d New translations ja-JP.yml (Dutch) 2018-10-23 12:42:42 +09:00
syuilo e7e861fb5c New translations ja-JP.yml (Japanese, Kansai) 2018-10-23 12:42:37 +09:00
syuilo 08523ce271 New translations ja-JP.yml (Spanish) 2018-10-23 12:42:31 +09:00
syuilo 833f63c1a9 New translations ja-JP.yml (Russian) 2018-10-23 12:42:26 +09:00
syuilo 1c05825bc8 New translations ja-JP.yml (Portuguese) 2018-10-23 12:42:21 +09:00
syuilo 26bb088a3d New translations ja-JP.yml (Polish) 2018-10-23 12:42:17 +09:00
syuilo 5c361cef23 New translations ja-JP.yml (Korean) 2018-10-23 12:42:12 +09:00
syuilo 04bef96aee New translations ja-JP.yml (Italian) 2018-10-23 12:42:06 +09:00
syuilo a791981da9 New translations ja-JP.yml (German) 2018-10-23 12:42:01 +09:00
syuilo 264c47e07a New translations ja-JP.yml (French) 2018-10-23 12:41:55 +09:00
syuilo 863c44d15c New translations ja-JP.yml (English) 2018-10-23 12:41:51 +09:00
syuilo cdec6f202e New translations ja-JP.yml (Chinese Simplified) 2018-10-23 12:41:46 +09:00
syuilo bdf6c739a9 New translations ja-JP.yml (Catalan) 2018-10-23 12:41:40 +09:00
syuilo 843dd5fb58 Improve user column 2018-10-23 12:32:24 +09:00
syuilo c05853289a 10.30.1 2018-10-23 10:01:22 +09:00
syuilo 11c5d257f2 ハッシュタグチャートでローカルとリモートを分離するように 2018-10-23 09:59:43 +09:00
syuilo cee1a27348 🎨 2018-10-23 09:41:28 +09:00
syuilo 690dc75e45 🎨 2018-10-23 09:39:27 +09:00
syuilo 8dc82b7a6e 10.30.0 2018-10-23 07:46:50 +09:00
syuilo a396b519bb Merge pull request #2988 from syuilo/l10n_develop
New Crowdin translations
2018-10-23 07:17:31 +09:00
syuilo d5f9ce0893 New translations ja-JP.yml (Norwegian) 2018-10-23 07:14:38 +09:00
syuilo c1d7ae99ab New translations ja-JP.yml (Dutch) 2018-10-23 07:14:34 +09:00
syuilo d8aee7c310 New translations ja-JP.yml (Japanese, Kansai) 2018-10-23 07:14:30 +09:00
syuilo 3e43d847ca New translations ja-JP.yml (Spanish) 2018-10-23 07:14:24 +09:00
syuilo 70273931b2 New translations ja-JP.yml (Russian) 2018-10-23 07:14:18 +09:00
syuilo cc94d2acc5 New translations ja-JP.yml (Portuguese) 2018-10-23 07:14:13 +09:00
syuilo 327d9702ca New translations ja-JP.yml (Polish) 2018-10-23 07:14:08 +09:00
syuilo 1cdb285fe6 New translations ja-JP.yml (Korean) 2018-10-23 07:14:03 +09:00
syuilo e9e61e3034 New translations ja-JP.yml (Italian) 2018-10-23 07:13:56 +09:00
syuilo b613a51035 New translations ja-JP.yml (German) 2018-10-23 07:13:52 +09:00
syuilo 63e62ecb02 New translations ja-JP.yml (French) 2018-10-23 07:13:47 +09:00
syuilo d11122af3f New translations ja-JP.yml (English) 2018-10-23 07:13:43 +09:00
syuilo e8ddb7f6ee New translations ja-JP.yml (Chinese Simplified) 2018-10-23 07:13:39 +09:00
syuilo 5ad0a158bc New translations ja-JP.yml (Catalan) 2018-10-23 07:13:34 +09:00
syuilo e3ea29a8b6 fix(package): update systeminformation to version 3.45.9 (#2987)
Closes #2986
2018-10-23 07:12:27 +09:00
nico ead201ac3d More missing i18n stuff (#2981)
* More missing i18n stuff

Not tested, please check before merege

* Add missing colons

* Revert some changes
2018-10-23 07:11:56 +09:00
syuilo 19af2d7a7b Implement #2983 2018-10-23 07:04:00 +09:00
syuilo 8ba87443ca Use camelCase instead of snake_case 2018-10-23 07:01:43 +09:00
syuilo 162ace2fd6 Improve some API definitions 2018-10-23 06:59:52 +09:00
syuilo f51fdc0dbf Update src/client/app/desktop/views/pages/deck/deck.user-column.vue 2018-10-23 06:49:23 +09:00
syuilo d3d612a89b Resolve #2978 2018-10-23 06:47:06 +09:00
syuilo 7c7f32d9a6 Refactoring 2018-10-23 05:36:35 +09:00
greenkeeper[bot] c8b6b6e44f fix(package): update file-type to version 10.1.0 (#2984) 2018-10-23 04:51:47 +09:00
かひわし4(バージョン1) 12daa80071 Fix build error for Docker (#2982) 2018-10-23 04:39:00 +09:00
MeiMei 2f8cc36d4b Complement file extension from MIME (#2979) 2018-10-23 04:37:37 +09:00
syuilo 1af4f94338 Implement #2961 2018-10-22 22:00:54 +09:00
syuilo 172a0a85aa Show chart in user column 2018-10-22 22:00:32 +09:00
syuilo d37c06884d 🎨 2018-10-22 20:06:55 +09:00
syuilo 80e52c57e1 Fix #2958 2018-10-22 18:23:20 +09:00
syuilo 213a7f137e 🎨 2018-10-22 18:19:25 +09:00
syuilo 4848b71ca0 Update src/docs/stream.ja-JP.md 2018-10-22 18:08:26 +09:00
syuilo 13bad106cc Implement some chart APIs 2018-10-22 17:37:55 +09:00
syuilo 3bebf82501 Implement #2980 2018-10-22 17:36:36 +09:00
syuilo e9a8090d7e Refactor 2018-10-22 17:13:06 +09:00
syuilo e2a79abbe0 Doc: Better parameter description 2018-10-22 17:06:53 +09:00
syuilo d7f57a4415 Improve usability 2018-10-22 16:58:22 +09:00
syuilo 9dd5ed7f1a Refactor 2018-10-22 16:51:45 +09:00
syuilo 432e18a0c0 Update doc 2018-10-22 11:59:15 +09:00
syuilo 9a2d435cb1 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-10-22 10:23:20 +09:00
syuilo b02274c178 Use router-link instead of a to improve usability 2018-10-22 10:22:07 +09:00
syuilo 91408bceb1 Merge pull request #2960 from syuilo/l10n_develop
New Crowdin translations
2018-10-22 09:29:53 +09:00
syuilo e1fd7e3f0c New translations ja-JP.yml (English) 2018-10-22 06:01:16 +09:00
syuilo d18498cb6b New translations ja-JP.yml (German) 2018-10-22 05:51:47 +09:00
syuilo b3986b8963 New translations ja-JP.yml (English) 2018-10-22 05:51:43 +09:00
syuilo 75e3d6f7fb New translations ja-JP.yml (English) 2018-10-22 05:31:54 +09:00
syuilo ded78aa294 New translations ja-JP.yml (Norwegian) 2018-10-22 05:23:02 +09:00
syuilo 58e8938364 New translations ja-JP.yml (Dutch) 2018-10-22 05:22:57 +09:00
syuilo 6e8e6c7352 New translations ja-JP.yml (Japanese, Kansai) 2018-10-22 05:22:53 +09:00
syuilo 270de03646 New translations ja-JP.yml (Spanish) 2018-10-22 05:22:48 +09:00
syuilo b6c7ff109b New translations ja-JP.yml (Russian) 2018-10-22 05:22:43 +09:00
syuilo 9b72a5a46d New translations ja-JP.yml (Portuguese) 2018-10-22 05:22:39 +09:00
syuilo 626e06c5fd New translations ja-JP.yml (Polish) 2018-10-22 05:22:35 +09:00
syuilo b09d10ac52 New translations ja-JP.yml (Korean) 2018-10-22 05:22:30 +09:00
syuilo d1568cda19 New translations ja-JP.yml (Italian) 2018-10-22 05:22:25 +09:00
syuilo 3400b4fa0d New translations ja-JP.yml (German) 2018-10-22 05:22:20 +09:00
syuilo 4455f110b1 New translations ja-JP.yml (French) 2018-10-22 05:22:16 +09:00
syuilo 25fc37449b New translations ja-JP.yml (English) 2018-10-22 05:22:11 +09:00
syuilo e5ffc7c492 New translations ja-JP.yml (Chinese Simplified) 2018-10-22 05:22:08 +09:00
syuilo 5c118e6d8a New translations ja-JP.yml (Catalan) 2018-10-22 05:22:02 +09:00
syuilo b49c70e67e Update locales/ja-JP.yml 2018-10-22 05:18:05 +09:00
syuilo 3760fdeed0 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-10-22 05:16:42 +09:00
syuilo 3aece449e4 Improve API definitions 2018-10-22 05:16:27 +09:00
syuilo dcd2d8be77 New translations ja-JP.yml (Norwegian) 2018-10-22 05:12:54 +09:00
syuilo b90e6f9abb New translations ja-JP.yml (Dutch) 2018-10-22 05:12:49 +09:00
syuilo d984652aa1 New translations ja-JP.yml (Japanese, Kansai) 2018-10-22 05:12:45 +09:00
syuilo f176de6d2e New translations ja-JP.yml (Spanish) 2018-10-22 05:12:39 +09:00
syuilo ef31efabb2 New translations ja-JP.yml (Russian) 2018-10-22 05:12:35 +09:00
syuilo 53763acb76 New translations ja-JP.yml (Portuguese) 2018-10-22 05:12:30 +09:00
syuilo 6f39010133 New translations ja-JP.yml (Polish) 2018-10-22 05:12:24 +09:00
syuilo 04b5fe6af4 New translations ja-JP.yml (Korean) 2018-10-22 05:12:19 +09:00
syuilo 626f43f424 New translations ja-JP.yml (Italian) 2018-10-22 05:12:14 +09:00
syuilo bebcc72deb New translations ja-JP.yml (German) 2018-10-22 05:12:08 +09:00
syuilo 9f285779ec New translations ja-JP.yml (French) 2018-10-22 05:12:04 +09:00
syuilo 57d3e9fc32 New translations ja-JP.yml (English) 2018-10-22 05:12:00 +09:00
syuilo 84cf09c1d0 New translations ja-JP.yml (Chinese Simplified) 2018-10-22 05:11:56 +09:00
syuilo 0848bad960 New translations ja-JP.yml (Catalan) 2018-10-22 05:11:52 +09:00
nico c1b13c3b5b #2939 part 4 (#2977) 2018-10-22 05:04:33 +09:00
syuilo 8abc4ed65a New translations ja-JP.yml (Norwegian) 2018-10-22 05:03:14 +09:00
syuilo 0eebe620cb New translations ja-JP.yml (Dutch) 2018-10-22 05:03:10 +09:00
syuilo 62a0d87795 New translations ja-JP.yml (Japanese, Kansai) 2018-10-22 05:03:06 +09:00
syuilo 8318633749 New translations ja-JP.yml (Spanish) 2018-10-22 05:03:01 +09:00
syuilo a453f8aa2e New translations ja-JP.yml (Russian) 2018-10-22 05:02:57 +09:00
syuilo 54d2b90c25 New translations ja-JP.yml (Portuguese) 2018-10-22 05:02:53 +09:00
syuilo 7e1865984d New translations ja-JP.yml (Polish) 2018-10-22 05:02:48 +09:00
syuilo a2c56cc112 New translations ja-JP.yml (Korean) 2018-10-22 05:02:43 +09:00
syuilo 5c0ee8ca48 New translations ja-JP.yml (Italian) 2018-10-22 05:02:38 +09:00
syuilo 7397b2b82b New translations ja-JP.yml (German) 2018-10-22 05:02:33 +09:00
syuilo ddcbe21ce6 New translations ja-JP.yml (French) 2018-10-22 05:02:27 +09:00
syuilo 8fc7d1377d New translations ja-JP.yml (English) 2018-10-22 05:02:22 +09:00
syuilo 092403f362 New translations ja-JP.yml (Chinese Simplified) 2018-10-22 05:02:18 +09:00
syuilo bb179922b9 New translations ja-JP.yml (Catalan) 2018-10-22 05:02:13 +09:00
nico c29f912461 #2939 part 3 (#2976) 2018-10-22 04:59:27 +09:00
nico 83d3e1cfe6 #2939 part 2 (#2975)
I hope it's correct
2018-10-22 04:58:18 +09:00
nico 2914f0f65d #2939 (#2974) 2018-10-22 04:47:12 +09:00
syuilo 99aa588ae7 Implement per user drive stats 2018-10-22 04:44:10 +09:00
syuilo 0085e1f3ab Fix bug 2018-10-22 04:36:57 +09:00
syuilo 53a9eb13f8 Fix bug 2018-10-22 04:31:45 +09:00
syuilo b8c56c4dda Implemet per user notes stats 2018-10-22 04:30:27 +09:00
syuilo 59266b3190 Fix bug 2018-10-22 03:41:50 +09:00
syuilo 0dc94547f5 Fix bug 2018-10-22 03:34:56 +09:00
syuilo 29fc6de330 Refactor 2018-10-22 03:30:45 +09:00
greenkeeper[bot] e24d0c40cd fix(package): update webpack to version 4.22.0 (#2969) 2018-10-22 02:28:08 +09:00
MeiMei e95845777a Fix og:image on user page (#2972) 2018-10-22 02:27:45 +09:00
MeiMei 167648f61c Use thumbnail instead of original in photo-stream (#2971) 2018-10-22 02:27:23 +09:00
syuilo 9e6d6ff0dd New translations ja-JP.yml (English) 2018-10-21 22:01:18 +09:00
syuilo e659cc3d58 New translations ja-JP.yml (Japanese, Kansai) 2018-10-21 21:41:24 +09:00
syuilo ff6d45571a New translations ja-JP.yml (English) 2018-10-21 21:41:20 +09:00
syuilo 6cc9a2c945 New translations ja-JP.yml (Japanese, Kansai) 2018-10-21 21:31:16 +09:00
syuilo a873401bd7 New translations ja-JP.yml (English) 2018-10-21 21:31:11 +09:00
syuilo 6b19745241 New translations ja-JP.yml (English) 2018-10-21 20:02:04 +09:00
syuilo 982fae80aa New translations ja-JP.yml (English) 2018-10-21 19:21:37 +09:00
syuilo 77b15a3535 Update stats.ts 2018-10-21 18:43:45 +09:00
MeiMei 72754ede4e Fix several file processings (#2968)
* Ignore image error in person

* Fix hang while processing empty file
2018-10-21 18:35:36 +09:00
syuilo b8ed8336e0 Improve readability 2018-10-21 17:58:02 +09:00
syuilo 13f82856f9 Implement following stats 2018-10-21 17:51:35 +09:00
syuilo a62013f54d Refactor 2018-10-21 17:28:27 +09:00
syuilo 4c180869c6 Imprement hashtag stats 2018-10-21 16:54:07 +09:00
syuilo 7bbf022978 Refactor 2018-10-21 16:18:02 +09:00
syuilo 6b0d48423d Refactor 2018-10-21 15:08:07 +09:00
syuilo a617b8dbed Refactor 2018-10-21 14:53:04 +09:00
syuilo c57f472caf Improve readability 2018-10-21 14:47:44 +09:00
syuilo e1ba19fd7e Improve readability 2018-10-21 14:44:37 +09:00
syuilo 1bf8cbeb29 Clean up 2018-10-21 14:15:02 +09:00
syuilo f13faf2243 Refactoring & Better stats aggregation 2018-10-21 14:08:05 +09:00
syuilo 6cccd9d288 Implement unique incremebt 2018-10-21 12:37:00 +09:00
syuilo be2cde106b Update stats.ts 2018-10-21 10:35:37 +09:00
syuilo 17263fb459 ✌️ 2018-10-21 10:24:56 +09:00
syuilo fed04ef5ae Reduce network traffic of API response 2018-10-21 10:05:15 +09:00
syuilo 969b6dbcad Resolve #2963 2018-10-21 09:20:11 +09:00
syuilo aa50d0ee11 🎨 2018-10-21 08:47:34 +09:00
zwebmedia f09999ad5a Update README.md (#2965)
Improve instructions documentation.
2018-10-21 07:45:35 +09:00
zwebmedia 35814faf8a Update user.header.vue (#2964)
Use new birthday translations in user.header.vue
2018-10-21 07:34:50 +09:00
syuilo 8447a7fafa New translations ja-JP.yml (Norwegian) 2018-10-21 07:32:08 +09:00
syuilo c6e6c5e3ce New translations ja-JP.yml (Dutch) 2018-10-21 07:32:02 +09:00
syuilo 85cbd8dd47 New translations ja-JP.yml (Japanese, Kansai) 2018-10-21 07:31:58 +09:00
syuilo bebc9003a3 New translations ja-JP.yml (Spanish) 2018-10-21 07:31:53 +09:00
syuilo 3c081fbd65 New translations ja-JP.yml (Russian) 2018-10-21 07:31:49 +09:00
syuilo fdcf874306 New translations ja-JP.yml (Portuguese) 2018-10-21 07:31:44 +09:00
syuilo 6cbb741fa1 New translations ja-JP.yml (Polish) 2018-10-21 07:31:41 +09:00
syuilo 24129c1cb9 New translations ja-JP.yml (Korean) 2018-10-21 07:31:37 +09:00
syuilo f0938c36f5 New translations ja-JP.yml (Italian) 2018-10-21 07:31:33 +09:00
syuilo 484a6eda2e New translations ja-JP.yml (German) 2018-10-21 07:31:27 +09:00
syuilo 3f2ebffbe7 New translations ja-JP.yml (French) 2018-10-21 07:31:23 +09:00
syuilo ff278a7d8f New translations ja-JP.yml (English) 2018-10-21 07:31:19 +09:00
syuilo 844a3c3aff New translations ja-JP.yml (Chinese Simplified) 2018-10-21 07:31:16 +09:00
syuilo 0db48993e9 New translations ja-JP.yml (Catalan) 2018-10-21 07:31:10 +09:00
zwebmedia 81e21c4314 Birthday translations (#2962)
Add language terms for birthday years, months, days, years old.
2018-10-21 07:24:28 +09:00
syuilo ba0e57396d Refactoring 2018-10-21 07:10:35 +09:00
syuilo 6a728d160a New translations ja-JP.yml (Norwegian) 2018-10-21 04:12:12 +09:00
syuilo 180e507bc8 New translations ja-JP.yml (Dutch) 2018-10-21 04:12:09 +09:00
syuilo f3b7611ded New translations ja-JP.yml (Japanese, Kansai) 2018-10-21 04:12:04 +09:00
syuilo c344de5546 New translations ja-JP.yml (Spanish) 2018-10-21 04:11:59 +09:00
syuilo 0bd0aa2bf7 New translations ja-JP.yml (Russian) 2018-10-21 04:11:53 +09:00
syuilo c786cbb3a1 New translations ja-JP.yml (Portuguese) 2018-10-21 04:11:48 +09:00
syuilo cd856f653d New translations ja-JP.yml (Polish) 2018-10-21 04:11:44 +09:00
syuilo d528c09da6 New translations ja-JP.yml (Korean) 2018-10-21 04:11:40 +09:00
syuilo 76b7ad006d New translations ja-JP.yml (Italian) 2018-10-21 04:11:36 +09:00
syuilo ff33e405a3 New translations ja-JP.yml (German) 2018-10-21 04:11:33 +09:00
syuilo f74de26d63 New translations ja-JP.yml (French) 2018-10-21 04:11:29 +09:00
syuilo 2c823798d8 New translations ja-JP.yml (English) 2018-10-21 04:11:24 +09:00
syuilo 381e261bbb New translations ja-JP.yml (Chinese Simplified) 2018-10-21 04:11:20 +09:00
syuilo ba9bb5db6c New translations ja-JP.yml (Catalan) 2018-10-21 04:11:15 +09:00
syuilo cd12bb33a5 Fix: Remove duplicated key 2018-10-21 04:01:35 +09:00
syuilo e333aee232 New translations ja-JP.yml (Norwegian) 2018-10-21 03:02:48 +09:00
syuilo 54571f60c3 New translations ja-JP.yml (Dutch) 2018-10-21 03:02:45 +09:00
syuilo dd743aaeac New translations ja-JP.yml (Japanese, Kansai) 2018-10-21 03:02:41 +09:00
syuilo 22c76dc9f8 New translations ja-JP.yml (Spanish) 2018-10-21 03:02:35 +09:00
syuilo 7c7e09cf64 New translations ja-JP.yml (Russian) 2018-10-21 03:02:31 +09:00
syuilo e5e3d69371 New translations ja-JP.yml (Portuguese) 2018-10-21 03:02:27 +09:00
syuilo 82a700b24e New translations ja-JP.yml (Polish) 2018-10-21 03:02:24 +09:00
syuilo 0579425a4f New translations ja-JP.yml (Korean) 2018-10-21 03:02:18 +09:00
syuilo 218e74569d New translations ja-JP.yml (Italian) 2018-10-21 03:02:14 +09:00
syuilo 448f54cf84 New translations ja-JP.yml (German) 2018-10-21 03:02:09 +09:00
syuilo c139e13049 New translations ja-JP.yml (French) 2018-10-21 03:02:05 +09:00
syuilo 65116fef32 New translations ja-JP.yml (English) 2018-10-21 03:02:00 +09:00
syuilo a0a35b7dca New translations ja-JP.yml (Chinese Simplified) 2018-10-21 03:01:56 +09:00
syuilo 11fb8a24b7 New translations ja-JP.yml (Catalan) 2018-10-21 03:01:50 +09:00
Dr. Gutfuck LLC 512336685c Localized dev/views/new-app.vue (#2959)
* Localized read-all message

* Fixed some weirdness:   src/client/app/init.ts

* Unfucked server api stuff (sorry lol):   src/server/api/endpoints/i/read_all_unread_notes.ts

* Clean up

* Added localization lines to:   locales/ja-JP.yml
Localized:   src/client/app/dev/views/apps.vue

* Fix potential error:   src/client/app/dev/views/apps.vue

* Added relevant localization lines:   locales/ja-JP.yml
Localized:   src/client/app/dev/views/new-app.vue
2018-10-21 03:01:09 +09:00
syuilo 484f281c19 10.29.1 2018-10-21 00:33:37 +09:00
syuilo 2169bc5d3e Merge pull request #2955 from syuilo/l10n_develop
New Crowdin translations
2018-10-21 00:33:00 +09:00
syuilo c653c84ad2 New translations ja-JP.yml (English) 2018-10-21 00:31:04 +09:00
syuilo 050f75aa60 New translations ja-JP.yml (Norwegian) 2018-10-21 00:22:05 +09:00
syuilo dae3f3552a New translations ja-JP.yml (Dutch) 2018-10-21 00:22:02 +09:00
syuilo 8b09b170d6 New translations ja-JP.yml (Japanese, Kansai) 2018-10-21 00:21:58 +09:00
syuilo ec88f2ed8a New translations ja-JP.yml (Spanish) 2018-10-21 00:21:53 +09:00
syuilo 607d8502ff New translations ja-JP.yml (Russian) 2018-10-21 00:21:49 +09:00
syuilo 2f084d7c15 New translations ja-JP.yml (Portuguese) 2018-10-21 00:21:45 +09:00
syuilo 5bf6e7d8f9 New translations ja-JP.yml (Polish) 2018-10-21 00:21:41 +09:00
syuilo 31cb9fbfaf New translations ja-JP.yml (Korean) 2018-10-21 00:21:37 +09:00
syuilo c7c48f3bea New translations ja-JP.yml (Italian) 2018-10-21 00:21:33 +09:00
syuilo 6732d22e6c New translations ja-JP.yml (German) 2018-10-21 00:21:29 +09:00
syuilo 04c6b7fe31 New translations ja-JP.yml (French) 2018-10-21 00:21:25 +09:00
syuilo 2687879dbd New translations ja-JP.yml (English) 2018-10-21 00:21:21 +09:00
syuilo 20a660fa89 New translations ja-JP.yml (Chinese Simplified) 2018-10-21 00:21:16 +09:00
syuilo ba9781e1a8 New translations ja-JP.yml (Catalan) 2018-10-21 00:21:12 +09:00
syuilo f65ac74914 i18n 2018-10-21 00:18:01 +09:00
syuilo 6c33d9aeed 🎨 2018-10-20 23:44:35 +09:00
syuilo 68e86ad40d Fix bug 2018-10-20 23:43:42 +09:00
syuilo 0aa4aa49a7 New translations ja-JP.yml (Dutch) 2018-10-20 20:21:32 +09:00
syuilo 0ff3846e49 New translations ja-JP.yml (Portuguese) 2018-10-20 20:21:28 +09:00
syuilo bfb81299c3 New translations ja-JP.yml (Polish) 2018-10-20 20:21:24 +09:00
syuilo 0362a8e73c New translations ja-JP.yml (English) 2018-10-20 20:21:19 +09:00
syuilo f00f5cbed1 10.29.0 2018-10-20 15:51:47 +09:00
syuilo c4e8cabae9 ファイル作成APIにforceオプションを実装 2018-10-20 15:50:13 +09:00
Dr. Gutfuck LLC 1729d05e8c Localized mark all as read message (#2956)
* Localized read-all message

* Fixed some weirdness:   src/client/app/init.ts

* Unfucked server api stuff (sorry lol):   src/server/api/endpoints/i/read_all_unread_notes.ts

* Clean up
2018-10-20 15:46:01 +09:00
syuilo 770fb46ca7 Improve usability 2018-10-20 15:41:27 +09:00
syuilo a3c4e54bc0 🎨 2018-10-20 15:37:17 +09:00
syuilo b8a77fbada Show image info in tooltip 2018-10-20 15:21:24 +09:00
syuilo 9182ebfc19 New translations ja-JP.yml (Norwegian) 2018-10-20 12:04:11 +09:00
syuilo 25c0cf5848 New translations ja-JP.yml (Dutch) 2018-10-20 12:04:06 +09:00
syuilo a160dc0a4d New translations ja-JP.yml (Japanese, Kansai) 2018-10-20 12:04:01 +09:00
syuilo 28f1ca9c17 New translations ja-JP.yml (Spanish) 2018-10-20 12:03:55 +09:00
syuilo 6399a0f046 New translations ja-JP.yml (Russian) 2018-10-20 12:03:49 +09:00
syuilo 639413608b New translations ja-JP.yml (Portuguese) 2018-10-20 12:03:44 +09:00
syuilo c14e4c7d22 New translations ja-JP.yml (Polish) 2018-10-20 12:03:40 +09:00
syuilo c74ac64237 New translations ja-JP.yml (Korean) 2018-10-20 12:03:36 +09:00
syuilo 4b3289ed99 New translations ja-JP.yml (Italian) 2018-10-20 12:03:31 +09:00
syuilo 0c432b39dc New translations ja-JP.yml (German) 2018-10-20 12:03:27 +09:00
syuilo c4b9276713 New translations ja-JP.yml (French) 2018-10-20 12:03:22 +09:00
syuilo df300c0663 New translations ja-JP.yml (English) 2018-10-20 12:03:17 +09:00
syuilo 518114cbbd New translations ja-JP.yml (Chinese Simplified) 2018-10-20 12:03:12 +09:00
syuilo 999f0e4d58 New translations ja-JP.yml (Catalan) 2018-10-20 12:03:08 +09:00
Dr. Gutfuck LLC c2663529c1 Localized BSoD messages. (#2953)
* Added VSCode workspace files to :   .gitignore

* Localized Blue Screen of Death:   locales/ja-JP.yml
Localized Blue Screen of Death:   src/client/app/init.ts
2018-10-20 11:57:23 +09:00
syuilo 9df74a02b6 Fix bug 2018-10-20 11:24:02 +09:00
syuilo 71c9964e19 Fix bug and clean up 2018-10-20 11:19:27 +09:00
syuilo ae2e47f6a9 Merge pull request #2950 from syuilo/l10n_develop
New Crowdin translations
2018-10-20 09:45:44 +09:00
syuilo 1524d35f66 New translations ja-JP.yml (English) 2018-10-20 09:41:11 +09:00
syuilo 845be966a0 10.28.0 2018-10-20 09:39:56 +09:00
syuilo 80818d79eb Fix bug 2018-10-20 09:38:36 +09:00
syuilo cb9b3c00dd Use router-link instead of a to improve usability 2018-10-20 09:34:34 +09:00
syuilo b3997fb5df New translations ja-JP.yml (Norwegian) 2018-10-20 09:33:07 +09:00
syuilo 09dde6b78a New translations ja-JP.yml (Dutch) 2018-10-20 09:32:57 +09:00
syuilo 3345d3ab35 New translations ja-JP.yml (Japanese, Kansai) 2018-10-20 09:32:51 +09:00
syuilo 366be7bbdd New translations ja-JP.yml (Spanish) 2018-10-20 09:32:47 +09:00
syuilo 7008ea66f8 New translations ja-JP.yml (Russian) 2018-10-20 09:32:43 +09:00
syuilo 70f881e989 New translations ja-JP.yml (Portuguese) 2018-10-20 09:32:38 +09:00
syuilo 94d2355089 New translations ja-JP.yml (Polish) 2018-10-20 09:32:33 +09:00
syuilo dfbe48b25b New translations ja-JP.yml (Korean) 2018-10-20 09:32:29 +09:00
syuilo 931cb38b54 New translations ja-JP.yml (Italian) 2018-10-20 09:32:23 +09:00
syuilo e5fd34f94e New translations ja-JP.yml (German) 2018-10-20 09:32:17 +09:00
syuilo c638d7eb48 New translations ja-JP.yml (French) 2018-10-20 09:32:12 +09:00
syuilo 7e96384618 New translations ja-JP.yml (English) 2018-10-20 09:32:08 +09:00
syuilo 829cb99f5b New translations ja-JP.yml (Chinese Simplified) 2018-10-20 09:32:04 +09:00
syuilo 1f93c99304 New translations ja-JP.yml (Catalan) 2018-10-20 09:32:00 +09:00
syuilo dbb7c756cd Fix bug 2018-10-20 09:31:56 +09:00
syuilo 13f381710c Validate param 2018-10-20 09:31:52 +09:00
syuilo 70897c0e9a 🎨 2018-10-20 09:28:48 +09:00
syuilo f51d1c5264 Fix test 2018-10-20 09:14:16 +09:00
syuilo 70d0937aab Fix #2949 2018-10-20 09:03:04 +09:00
syuilo 7d1ab6102f 10.27.0 2018-10-20 08:04:52 +09:00
syuilo 77ddd778be ハッシュタグもデッキ内ナビゲーションするように 2018-10-20 08:03:45 +09:00
syuilo 890ecb693f Improve 2018-10-20 07:28:01 +09:00
syuilo 209fe7dcaf Improve deck usability 2018-10-20 07:21:22 +09:00
syuilo e0d6f7c7c4 RP --> RN 2018-10-20 07:01:09 +09:00
syuilo 5d3fe9599b Improve performance 2018-10-20 06:42:19 +09:00
syuilo 0fe0b6d254 10.26.0 2018-10-20 02:52:11 +09:00
syuilo b794216eaf Merge pull request #2940 from syuilo/l10n_develop
New Crowdin translations
2018-10-20 02:51:43 +09:00
syuilo 1fccde38f6 デッキのキーボードショートカットを強化 2018-10-20 02:49:39 +09:00
syuilo 41bd436d3e デッキのキーボードショートカットを強化 2018-10-20 02:40:37 +09:00
syuilo c66155ed48 Improve shortcut key detection 2018-10-20 01:45:31 +09:00
syuilo 627bd410fa New translations ja-JP.yml (German) 2018-10-19 22:22:36 +09:00
syuilo 41a3932c6b New translations ja-JP.yml (English) 2018-10-19 22:12:39 +09:00
syuilo 785b8d7846 New translations ja-JP.yml (French) 2018-10-19 21:02:41 +09:00
syuilo 622c8f9598 New translations ja-JP.yml (French) 2018-10-19 20:52:24 +09:00
syuilo ef978a6364 10.25.0 2018-10-19 15:07:46 +09:00
greenkeeper[bot] d95fbe1c6b fix(package): update reconnecting-websocket to version 4.1.10 (#2937) 2018-10-19 15:04:46 +09:00
syuilo d4ffddc2ab Merge pull request #2936 from syuilo/l10n_develop
New Crowdin translations
2018-10-19 15:04:36 +09:00
syuilo 3d497cedfc デッキで'T'のショートカットを使えるように 2018-10-19 15:03:23 +09:00
syuilo e8de29ae79 Resolve #2935 2018-10-19 14:34:51 +09:00
syuilo b622946844 10.24.0 2018-10-19 11:14:27 +09:00
syuilo d013f78cc7 New translations ja-JP.yml (Norwegian) 2018-10-19 11:12:15 +09:00
syuilo 2afbafdb3b New translations ja-JP.yml (Dutch) 2018-10-19 11:12:11 +09:00
syuilo 67148114a8 New translations ja-JP.yml (Japanese, Kansai) 2018-10-19 11:12:05 +09:00
syuilo 7903140ec2 New translations ja-JP.yml (Spanish) 2018-10-19 11:12:01 +09:00
syuilo cefd296200 New translations ja-JP.yml (Russian) 2018-10-19 11:11:55 +09:00
syuilo 99d1c15851 New translations ja-JP.yml (Portuguese) 2018-10-19 11:11:51 +09:00
syuilo a3107ab26f New translations ja-JP.yml (Polish) 2018-10-19 11:11:46 +09:00
syuilo 854cfae75b New translations ja-JP.yml (Korean) 2018-10-19 11:11:42 +09:00
syuilo 36ab82957d New translations ja-JP.yml (Italian) 2018-10-19 11:11:36 +09:00
syuilo de9f54386c New translations ja-JP.yml (German) 2018-10-19 11:11:32 +09:00
syuilo 7f43820765 New translations ja-JP.yml (French) 2018-10-19 11:11:28 +09:00
syuilo 955e907e7f New translations ja-JP.yml (English) 2018-10-19 11:11:24 +09:00
syuilo 4c18022e7d New translations ja-JP.yml (Chinese Simplified) 2018-10-19 11:11:20 +09:00
syuilo 509f59e46d New translations ja-JP.yml (Catalan) 2018-10-19 11:11:16 +09:00
syuilo f14c372f5e Resolve #2719 2018-10-19 11:10:49 +09:00
syuilo f028800a96 10.23.1 2018-10-19 10:26:16 +09:00
syuilo 8a1ce7a4f3 Merge pull request #2934 from syuilo/l10n_develop
New Crowdin translations
2018-10-19 10:25:19 +09:00
syuilo ea7a139ae0 New translations ja-JP.yml (English) 2018-10-19 10:21:31 +09:00
syuilo 63959eb3da New translations ja-JP.yml (Norwegian) 2018-10-19 10:12:38 +09:00
syuilo a6adbc4e56 New translations ja-JP.yml (Dutch) 2018-10-19 10:12:33 +09:00
syuilo b418cb67ba New translations ja-JP.yml (Japanese, Kansai) 2018-10-19 10:12:29 +09:00
syuilo 0ccc360c0a New translations ja-JP.yml (Spanish) 2018-10-19 10:12:24 +09:00
syuilo 1e0dda3c40 New translations ja-JP.yml (Russian) 2018-10-19 10:12:20 +09:00
syuilo 9197793bc8 New translations ja-JP.yml (Portuguese) 2018-10-19 10:12:16 +09:00
syuilo 29f62241bc New translations ja-JP.yml (Polish) 2018-10-19 10:12:12 +09:00
syuilo 8de1e91dec New translations ja-JP.yml (Korean) 2018-10-19 10:12:08 +09:00
syuilo de822a22d4 New translations ja-JP.yml (Italian) 2018-10-19 10:12:05 +09:00
syuilo f2cef456bd New translations ja-JP.yml (German) 2018-10-19 10:11:59 +09:00
syuilo 5d681d0fd6 New translations ja-JP.yml (French) 2018-10-19 10:11:55 +09:00
syuilo 2ed24ebd75 New translations ja-JP.yml (English) 2018-10-19 10:11:51 +09:00
syuilo 6e6824ecb0 New translations ja-JP.yml (Chinese Simplified) 2018-10-19 10:11:47 +09:00
syuilo 0504a4f659 New translations ja-JP.yml (Catalan) 2018-10-19 10:11:42 +09:00
syuilo 9a261755d2 Fix key 2018-10-19 10:05:30 +09:00
syuilo 8533663b26 ✌️ 2018-10-19 09:20:11 +09:00
syuilo 0a4015b8a2 Refactoring 2018-10-19 09:19:55 +09:00
syuilo dcfe56322e New translations ja-JP.yml (Norwegian) 2018-10-19 07:12:41 +09:00
syuilo d00a693026 New translations ja-JP.yml (Dutch) 2018-10-19 07:12:35 +09:00
syuilo fb36ecad70 New translations ja-JP.yml (Japanese, Kansai) 2018-10-19 07:12:32 +09:00
syuilo 26c39768ca New translations ja-JP.yml (Spanish) 2018-10-19 07:12:28 +09:00
syuilo df8abcfce8 New translations ja-JP.yml (Russian) 2018-10-19 07:12:24 +09:00
syuilo e3aab0e9e3 New translations ja-JP.yml (Portuguese) 2018-10-19 07:12:18 +09:00
syuilo e3dfc49ed0 New translations ja-JP.yml (Polish) 2018-10-19 07:12:14 +09:00
syuilo 8485284f63 New translations ja-JP.yml (Korean) 2018-10-19 07:12:10 +09:00
syuilo e549e19c03 New translations ja-JP.yml (Italian) 2018-10-19 07:12:06 +09:00
syuilo 2ace47cbb9 New translations ja-JP.yml (German) 2018-10-19 07:12:02 +09:00
syuilo dc184e7bc9 New translations ja-JP.yml (French) 2018-10-19 07:11:57 +09:00
syuilo aef1bd094b New translations ja-JP.yml (English) 2018-10-19 07:11:53 +09:00
syuilo 4f8b22f53b New translations ja-JP.yml (Chinese Simplified) 2018-10-19 07:11:48 +09:00
syuilo 0f3cbafe91 New translations ja-JP.yml (Catalan) 2018-10-19 07:11:44 +09:00
syuilo 16ad232c40 10.23.0 2018-10-19 07:06:41 +09:00
syuilo 4d235a2be5 Merge pull request #2931 from syuilo/l10n_develop
New Crowdin translations
2018-10-19 07:05:44 +09:00
syuilo aadf6fa9b1 UI整理 2018-10-19 07:03:29 +09:00
syuilo a72e9bc8b2 New translations ja-JP.yml (English) 2018-10-19 07:02:12 +09:00
syuilo f11ef93a81 🎨 2018-10-19 06:57:57 +09:00
syuilo 9136556218 New translations ja-JP.yml (Norwegian) 2018-10-19 06:52:58 +09:00
syuilo 3ead008295 New translations ja-JP.yml (Dutch) 2018-10-19 06:52:54 +09:00
syuilo 9ff5693442 New translations ja-JP.yml (Japanese, Kansai) 2018-10-19 06:52:48 +09:00
syuilo ac84b42394 New translations ja-JP.yml (Spanish) 2018-10-19 06:52:44 +09:00
syuilo a79361c71f New translations ja-JP.yml (Russian) 2018-10-19 06:52:38 +09:00
syuilo 85e17d5dc7 New translations ja-JP.yml (Portuguese) 2018-10-19 06:52:35 +09:00
syuilo 45493fd093 New translations ja-JP.yml (Polish) 2018-10-19 06:52:29 +09:00
syuilo 6f987a2391 New translations ja-JP.yml (Korean) 2018-10-19 06:52:24 +09:00
syuilo ddf785a393 New translations ja-JP.yml (Italian) 2018-10-19 06:52:18 +09:00
syuilo b8e20fe717 New translations ja-JP.yml (German) 2018-10-19 06:52:15 +09:00
syuilo 82555bf9b6 New translations ja-JP.yml (French) 2018-10-19 06:52:11 +09:00
syuilo ffe6f6c168 New translations ja-JP.yml (English) 2018-10-19 06:52:05 +09:00
syuilo 6b11f5bb7d New translations ja-JP.yml (Chinese Simplified) 2018-10-19 06:52:01 +09:00
syuilo 1a65d14864 New translations ja-JP.yml (Catalan) 2018-10-19 06:51:57 +09:00
syuilo 6c1f1ffdb1 デッキのカラムを左揃えか中央揃えか選べるように 2018-10-19 06:47:55 +09:00
syuilo 61cdbd5dd2 New translations ja-JP.yml (English) 2018-10-19 06:41:45 +09:00
greenkeeper[bot] e7e321e2b3 fix(package): update vue-sweetalert2 to version 1.5.6 (#2932) 2018-10-19 06:38:46 +09:00
syuilo fb5f6fdc10 未読の投稿をすべて既読にできるように 2018-10-19 06:36:59 +09:00
syuilo 00290fbf75 Fix bug 2018-10-19 06:29:25 +09:00
syuilo ff02dc723b 🎨 2018-10-19 06:24:15 +09:00
syuilo 67521c0d2a New translations ja-JP.yml (Norwegian) 2018-10-19 06:23:12 +09:00
syuilo da8765150b New translations ja-JP.yml (Dutch) 2018-10-19 06:23:06 +09:00
syuilo ea7f51bc12 New translations ja-JP.yml (Japanese, Kansai) 2018-10-19 06:23:02 +09:00
syuilo 1b34b3b7e2 New translations ja-JP.yml (Spanish) 2018-10-19 06:22:59 +09:00
syuilo bca4ceb7ae New translations ja-JP.yml (Russian) 2018-10-19 06:22:53 +09:00
syuilo 5648cd53d0 New translations ja-JP.yml (Portuguese) 2018-10-19 06:22:49 +09:00
syuilo 8dab37539f New translations ja-JP.yml (Polish) 2018-10-19 06:22:45 +09:00
syuilo 2dd42c0061 New translations ja-JP.yml (Korean) 2018-10-19 06:22:39 +09:00
syuilo dfafed504a New translations ja-JP.yml (Italian) 2018-10-19 06:22:35 +09:00
syuilo 9fcd2bcb0a New translations ja-JP.yml (German) 2018-10-19 06:22:29 +09:00
syuilo 4c701b91a6 New translations ja-JP.yml (French) 2018-10-19 06:22:25 +09:00
syuilo 84f7aa6d09 New translations ja-JP.yml (English) 2018-10-19 06:22:21 +09:00
syuilo 82f0c64dee New translations ja-JP.yml (Chinese Simplified) 2018-10-19 06:22:18 +09:00
syuilo 4b7c6b124b New translations ja-JP.yml (Catalan) 2018-10-19 06:22:14 +09:00
syuilo e043b678d4 i18n 2018-10-19 06:21:11 +09:00
syuilo fef4f7fce8 #2930 (#2933)
* wip

* wip

* Clean up

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* 🎨

* wip

* wip
2018-10-19 06:18:33 +09:00
syuilo 9732b3521a New translations ja-JP.yml (French) 2018-10-18 07:13:01 +09:00
syuilo a59fcc4aec New translations ja-JP.yml (French) 2018-10-18 07:03:14 +09:00
syuilo 979e1e78fb New translations ja-JP.yml (French) 2018-10-18 06:51:20 +09:00
syuilo c1a929022f Merge pull request #2929 from syuilo/l10n_develop
New Crowdin translations
2018-10-18 05:15:59 +09:00
syuilo 611bb81032 Merge pull request #2928 from syuilo/greenkeeper/webpack-4.21.0
Update webpack to the latest version 🚀
2018-10-18 05:15:43 +09:00
syuilo 5047020e6d New translations ja-JP.yml (German) 2018-10-18 05:12:23 +09:00
syuilo fb74a6a689 New translations ja-JP.yml (German) 2018-10-18 05:03:26 +09:00
syuilo a14a216c8d New translations ja-JP.yml (English) 2018-10-18 05:03:19 +09:00
syuilo 549e212a59 New translations ja-JP.yml (English) 2018-10-18 04:52:34 +09:00
syuilo 1bdc91ad47 New translations ja-JP.yml (German) 2018-10-18 04:42:28 +09:00
syuilo 67f288479c New translations ja-JP.yml (English) 2018-10-18 04:42:22 +09:00
syuilo 496e45c2bb New translations ja-JP.yml (German) 2018-10-18 04:32:18 +09:00
syuilo e458bd3cc7 New translations ja-JP.yml (English) 2018-10-18 04:32:12 +09:00
syuilo 031911c463 New translations ja-JP.yml (German) 2018-10-18 04:21:47 +09:00
syuilo 4aa7f638f9 New translations ja-JP.yml (German) 2018-10-18 04:20:03 +09:00
greenkeeper[bot] f6f4ea69ae fix(package): update webpack to version 4.21.0 2018-10-17 17:54:09 +00:00
syuilo ef945597f2 Merge pull request #2926 from syuilo/l10n_develop
New Crowdin translations
2018-10-17 22:43:47 +09:00
greenkeeper[bot] 3ab4e1d368 fix(package): update showdown to version 1.8.7 (#2925) 2018-10-17 22:43:23 +09:00
greenkeeper[bot] c6216f5b5f fix(package): update @types/elasticsearch to version 5.0.28 (#2924) 2018-10-17 22:43:04 +09:00
nico 4f24d58a79 Make clear elasticsearch is required and not optional for the search to work (#2927) 2018-10-17 22:42:45 +09:00
syuilo 73d6e7ba66 New translations ja-JP.yml (Japanese, Kansai) 2018-10-17 13:21:23 +09:00
syuilo 949707e18e New translations ja-JP.yml (Japanese, Kansai) 2018-10-17 13:12:49 +09:00
syuilo f51b299c17 10.22.1 2018-10-17 05:54:52 +09:00
syuilo d2e0faa533 Disable secure cookie 2018-10-17 05:54:31 +09:00
syuilo 22015044a5 10.22.0 2018-10-17 04:17:19 +09:00
syuilo 61f86dcb2b Resolve #2923
Allow option to disable sending HSTS headers even if https:// is used in url
2018-10-17 04:15:41 +09:00
syuilo 8f3bce6b11 Add some messaging API tests 2018-10-17 04:01:13 +09:00
syuilo ee736e73a9 Merge pull request #2922 from syuilo/greenkeeper/reconnecting-websocket-4.1.9
Update reconnecting-websocket to the latest version 🚀
2018-10-17 03:54:08 +09:00
greenkeeper[bot] 99f867897e fix(package): update reconnecting-websocket to version 4.1.9 2018-10-16 18:53:19 +00:00
syuilo c66c5b6e75 Fix bug 2018-10-17 03:47:32 +09:00
syuilo f25ecc19b9 🎨 2018-10-17 03:41:55 +09:00
syuilo 48e09970f3 Merge pull request #2921 from syuilo/l10n_develop
New Crowdin translations
2018-10-16 22:46:43 +09:00
syuilo f05cb79604 10.21.3 2018-10-16 22:26:43 +09:00
syuilo 46d3293edd Fix #2920 2018-10-16 22:21:08 +09:00
syuilo 9703d613cf 10.21.2 2018-10-16 20:59:49 +09:00
syuilo 704e217dbb オブジェクトストレージのURLに拡張子を含めるように 2018-10-16 20:59:36 +09:00
syuilo a103032d94 10.21.1 2018-10-16 20:34:32 +09:00
syuilo c7207a4bd7 Fix #2919 2018-10-16 20:33:13 +09:00
syuilo 35c65fe589 Clean up 2018-10-16 20:29:35 +09:00
syuilo 6d5bd0c484 10.21.0 2018-10-16 20:19:55 +09:00
syuilo cfbb6e8092 オブジェクトストレージのURLにファイル名を含めるのを廃止 2018-10-16 20:14:06 +09:00
syuilo feef4a933e Update src/tools/clean-remote-files.ts 2018-10-16 20:10:46 +09:00
syuilo 468bc67569 Improve test 2018-10-16 19:52:14 +09:00
syuilo 0d517fa52f Greenkeeper/monorepo.fortawesome 5.4.1 (#2917)
* fix(package): update @fortawesome/fontawesome-svg-core to version 1.2.6

Closes #2861

* fix(package): update @fortawesome/free-regular-svg-icons to version 5.4.1

Closes #2861

* fix(package): update @fortawesome/free-solid-svg-icons to version 5.4.1

Closes #2861
2018-10-16 12:28:45 +09:00
syuilo d9054367c1 fix(package): update @fortawesome/free-brands-svg-icons to version 5.4.1 (#2916)
Closes #2859
2018-10-16 12:27:03 +09:00
MeiMei 1213373027 Use cache with RSS (#2915) 2018-10-16 12:24:54 +09:00
Acid Chicken (硫酸鶏) 100a525507 Update autogen.sh (#2914)
refs: https://github.com/syuilo/misskey/commit/8b98c08a81be1bb6a9c43d9cd82fe660fb09bc94#commitcomment-30911933
2018-10-16 11:45:11 +09:00
syuilo 1bec4e2d12 10.20.0 2018-10-16 11:44:35 +09:00
syuilo 03cd1d27bf New Crowdin translations (#2910)
* New translations ja-JP.yml (German)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (German)
2018-10-16 11:38:43 +09:00
syuilo 9427a756c9 Update mongodb 2018-10-16 11:38:09 +09:00
greenkeeper[bot] d32b2a8ce5 fix(package): update @types/node to version 10.12.0 (#2912) 2018-10-16 10:46:45 +09:00
greenkeeper[bot] 15473b4368 fix(package): update @types/webpack to version 4.4.17 (#2911) 2018-10-16 10:46:38 +09:00
syuilo 54de0dc4a7 Update config for CI 2018-10-16 10:36:27 +09:00
syuilo 0162eaf826 Update signin.ts 2018-10-16 10:33:05 +09:00
syuilo 572cfafbe1 Add some API tests 2018-10-16 10:18:47 +09:00
syuilo 4d6335ce9a Add some tests and fix 2018-10-16 09:45:36 +09:00
syuilo 1c9c4af9f1 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-10-16 08:58:54 +09:00
syuilo a6844ebc9d Add some tests 2018-10-16 08:58:45 +09:00
MeiMei 072492c29b Implement /api/v1/instance/peers (#2913)
* Implement /api/v1/instance/peers

* Use punycode

* Remove Cache-Control

* Rename
2018-10-16 08:55:55 +09:00
syuilo 99da4f9839 Add some tests and some fixes 2018-10-16 08:54:36 +09:00
syuilo 88664486af Refactor 2018-10-16 08:27:20 +09:00
syuilo 80daf7c749 Implement API tests 2018-10-16 06:37:21 +09:00
syuilo 92ba64c35c New translations ja-JP.yml (German) 2018-10-16 06:11:24 +09:00
syuilo a8ee51ffd6 New translations ja-JP.yml (German) 2018-10-16 05:51:14 +09:00
syuilo 5538afc61d New translations ja-JP.yml (German) 2018-10-16 05:42:36 +09:00
greenkeeper[bot] beb2f7e558 fix(package): update @types/sharp to version 0.21.0 (#2908) 2018-10-16 05:21:07 +09:00
greenkeeper[bot] 6243184c95 fix(package): update @types/gulp-uglify to version 3.0.6 (#2906) 2018-10-16 05:20:57 +09:00
syuilo 1b3baef966 Merge pull request #2898 from syuilo/l10n_develop
New Crowdin translations
2018-10-16 05:20:40 +09:00
greenkeeper[bot] 98f38ee29b fix(package): update vue-svg-inline-loader to version 1.2.1 (#2909) 2018-10-16 05:20:17 +09:00
greenkeeper[bot] 09b82bfea4 fix(package): update chart.js to version 2.7.3 (#2907) 2018-10-16 05:20:02 +09:00
syuilo 937f686264 New translations ja-JP.yml (Russian) 2018-10-15 20:53:38 +09:00
syuilo 9bc9cbac21 New translations ja-JP.yml (English) 2018-10-15 18:22:42 +09:00
syuilo 6024550158 New translations ja-JP.yml (Norwegian) 2018-10-15 18:14:29 +09:00
syuilo 4ae5f82171 New translations ja-JP.yml (Dutch) 2018-10-15 18:14:23 +09:00
syuilo 6d2c9dcee9 New translations ja-JP.yml (Japanese, Kansai) 2018-10-15 18:14:18 +09:00
syuilo 0f1b0e1870 New translations ja-JP.yml (Spanish) 2018-10-15 18:14:11 +09:00
syuilo 81c682cdc8 New translations ja-JP.yml (Russian) 2018-10-15 18:14:05 +09:00
syuilo ab9fa67d9f New translations ja-JP.yml (Portuguese) 2018-10-15 18:14:00 +09:00
syuilo 9537fce335 New translations ja-JP.yml (Polish) 2018-10-15 18:13:53 +09:00
syuilo 9d97e7e348 New translations ja-JP.yml (Korean) 2018-10-15 18:13:48 +09:00
syuilo ebe7939412 New translations ja-JP.yml (Italian) 2018-10-15 18:13:43 +09:00
syuilo 807e3e8ca7 New translations ja-JP.yml (German) 2018-10-15 18:13:37 +09:00
syuilo a59faf9117 New translations ja-JP.yml (French) 2018-10-15 18:13:32 +09:00
syuilo d786036155 New translations ja-JP.yml (English) 2018-10-15 18:13:25 +09:00
syuilo 61d6ed5489 New translations ja-JP.yml (Chinese Simplified) 2018-10-15 18:13:21 +09:00
syuilo b38200d48a New translations ja-JP.yml (Catalan) 2018-10-15 18:13:16 +09:00
syuilo a0c396a842 10.19.0 2018-10-15 18:03:28 +09:00
syuilo 88fbc53e37 Resolve #2314 2018-10-15 18:02:57 +09:00
syuilo a2206b2d52 🎨 2018-10-15 17:55:59 +09:00
syuilo a95ff447d7 🎨 2018-10-15 17:43:25 +09:00
MeiMei 49dbd7f9d2 Fix following from Preroma does not complete (#2905)
* In Follow Accept/Reject, send previous received id

* In Follow Accept/Reject, send Activity.actor
2018-10-15 16:51:22 +09:00
syuilo 2ad2779096 10.18.0 2018-10-15 06:03:50 +09:00
syuilo 23045369aa 🎨 2018-10-15 06:03:15 +09:00
syuilo 116faf26e6 10.17.0 2018-10-15 05:29:58 +09:00
syuilo 2582b8d132 🎨 2018-10-15 05:28:35 +09:00
syuilo 63f7941073 🎨 2018-10-15 05:18:39 +09:00
syuilo 676f026085 🎨 2018-10-15 04:36:31 +09:00
syuilo a13319fd86 New translations ja-JP.yml (Norwegian) 2018-10-14 19:52:13 +09:00
syuilo be8765278c New translations ja-JP.yml (Dutch) 2018-10-14 19:52:08 +09:00
syuilo c8bb3dc209 New translations ja-JP.yml (Japanese, Kansai) 2018-10-14 19:52:03 +09:00
syuilo ea16befb73 New translations ja-JP.yml (Spanish) 2018-10-14 19:51:59 +09:00
syuilo 20b1bb7681 New translations ja-JP.yml (Russian) 2018-10-14 19:51:55 +09:00
syuilo bd10eb50eb New translations ja-JP.yml (Portuguese) 2018-10-14 19:51:50 +09:00
syuilo d47c0eb31a New translations ja-JP.yml (Polish) 2018-10-14 19:51:45 +09:00
syuilo 177e8bb19f New translations ja-JP.yml (Korean) 2018-10-14 19:51:41 +09:00
syuilo d156111637 New translations ja-JP.yml (Italian) 2018-10-14 19:51:37 +09:00
syuilo 8c13d3e50b New translations ja-JP.yml (German) 2018-10-14 19:51:33 +09:00
syuilo 6ff01016f0 New translations ja-JP.yml (French) 2018-10-14 19:51:30 +09:00
syuilo 5d659da012 New translations ja-JP.yml (English) 2018-10-14 19:51:26 +09:00
syuilo 28e7552a1a New translations ja-JP.yml (Chinese Simplified) 2018-10-14 19:51:21 +09:00
syuilo 53d264814b New translations ja-JP.yml (Catalan) 2018-10-14 19:51:15 +09:00
syuilo 2d6b20d34b 10.16.0 2018-10-14 19:45:51 +09:00
syuilo 99073b56df Resolve #2900 2018-10-14 19:44:30 +09:00
MeiMei 5dce81c0db 非ASCIIなドメインへのメンションの修正 (#2903)
* punycodeでされたmentionのラベルをunicodeとして表示する

* post-form mentionはpunycodeにする

* mentionの表示はURLもAPI向けもunicodeにする
2018-10-14 16:56:19 +09:00
Hakaba Hitoyo be82d845a4 expose user recommendation config in /api/meta (#2902) 2018-10-14 16:54:09 +09:00
syuilo f49ccd0cd3 10.15.0 2018-10-14 10:17:04 +09:00
syuilo 69d83f535d Clean up 2018-10-14 10:16:07 +09:00
syuilo c7988fb6f5 🎨 2018-10-14 10:16:02 +09:00
syuilo 3961fd08c9 Fix #2901 2018-10-14 10:06:10 +09:00
syuilo e3faf64061 10.14.0 2018-10-14 09:49:16 +09:00
syuilo ed83993e15 Fix 2018-10-14 09:48:47 +09:00
syuilo 0f8847bb74 Resolve #2618 2018-10-14 09:47:38 +09:00
syuilo a72cfa7535 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-10-14 06:46:49 +09:00
syuilo 514b74a19d Clean up 2018-10-14 06:44:20 +09:00
syuilo a2c124306f Update mios.ts 2018-10-14 05:26:36 +09:00
syuilo 273f67e268 Fix bug 2018-10-13 23:12:48 +09:00
syuilo 2870a7e463 10.13.0 2018-10-13 20:12:28 +09:00
syuilo 935b074a7a New translations ja-JP.yml (Norwegian) 2018-10-13 20:12:19 +09:00
syuilo 9d9c609bfb New translations ja-JP.yml (Dutch) 2018-10-13 20:12:15 +09:00
syuilo f6a664f181 New translations ja-JP.yml (Japanese, Kansai) 2018-10-13 20:12:10 +09:00
syuilo fce68d1f75 New translations ja-JP.yml (Spanish) 2018-10-13 20:12:06 +09:00
syuilo 88739c2444 New translations ja-JP.yml (Russian) 2018-10-13 20:12:02 +09:00
syuilo 7e2f10fce3 New translations ja-JP.yml (Portuguese) 2018-10-13 20:11:58 +09:00
syuilo a494c3a5cc New translations ja-JP.yml (Polish) 2018-10-13 20:11:53 +09:00
syuilo d6bb702883 New translations ja-JP.yml (Korean) 2018-10-13 20:11:48 +09:00
syuilo d15a972c68 New translations ja-JP.yml (Italian) 2018-10-13 20:11:44 +09:00
syuilo 2ae7d31725 New translations ja-JP.yml (German) 2018-10-13 20:11:40 +09:00
syuilo 2e329b1888 New translations ja-JP.yml (French) 2018-10-13 20:11:36 +09:00
syuilo 522d40328b New translations ja-JP.yml (English) 2018-10-13 20:11:32 +09:00
syuilo 2ecbff45bf New translations ja-JP.yml (Chinese Simplified) 2018-10-13 20:11:28 +09:00
syuilo b6f7282c13 New translations ja-JP.yml (Catalan) 2018-10-13 20:11:24 +09:00
syuilo 65e5cfa68e Resolve #2853 2018-10-13 20:11:00 +09:00
syuilo 10e59957d1 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-10-13 19:26:22 +09:00
syuilo 4f74373df3 Better id 2018-10-13 19:25:59 +09:00
syuilo 2d414bbf86 Merge pull request #2897 from syuilo/greenkeeper/reconnecting-websocket-4.1.8
Update reconnecting-websocket to the latest version 🚀
2018-10-13 19:25:23 +09:00
greenkeeper[bot] a199969b81 fix(package): update reconnecting-websocket to version 4.1.8 2018-10-13 10:22:45 +00:00
syuilo 3aef5e6748 Better id 2018-10-13 19:16:47 +09:00
syuilo 2b536a7443 connectedイベントはpongパラメータがtrueの時だけ発行するように 2018-10-13 19:14:05 +09:00
syuilo 20fe68de05 10.12.1 2018-10-13 18:11:24 +09:00
syuilo c7684b59de 🎨 2018-10-13 18:08:30 +09:00
syuilo a7237d157a Resolve #2600 2018-10-13 17:57:40 +09:00
syuilo 35f91fa280 10.12.0 2018-10-13 13:25:48 +09:00
syuilo 299ac32225 🎨 2018-10-13 13:25:07 +09:00
syuilo a038738d72 🎨 2018-10-13 13:22:14 +09:00
syuilo 2b0a919fb5 Resolve #2894 2018-10-13 13:13:15 +09:00
syuilo 946c706913 Better design 2018-10-13 12:51:01 +09:00
syuilo 89b5d976ee Add some keyboard shortcuts of note 2018-10-13 12:48:33 +09:00
syuilo 6f679bb6b4 Merge pull request #2896 from syuilo/greenkeeper/reconnecting-websocket-4.1.7
Update reconnecting-websocket to the latest version 🚀
2018-10-13 11:11:31 +09:00
syuilo db4e7b0e16 Merge pull request #2893 from syuilo/l10n_develop
New Crowdin translations
2018-10-13 11:11:16 +09:00
syuilo 9ca942490d New translations ja-JP.yml (English) 2018-10-13 10:50:54 +09:00
syuilo ebcf249c8b New translations ja-JP.yml (Japanese, Kansai) 2018-10-13 10:41:05 +09:00
syuilo 939c487503 New translations ja-JP.yml (English) 2018-10-13 10:41:01 +09:00
syuilo 981a8b267e New translations ja-JP.yml (Japanese, Kansai) 2018-10-13 10:31:22 +09:00
greenkeeper[bot] 9531da80a0 fix(package): update reconnecting-websocket to version 4.1.7 2018-10-12 23:51:14 +00:00
syuilo e1109b168c Clean up 2018-10-13 04:48:09 +09:00
syuilo b7c70039aa Merge pull request #2895 from syuilo/greenkeeper/reconnecting-websocket-4.1.6
Update reconnecting-websocket to the latest version 🚀
2018-10-13 02:13:32 +09:00
greenkeeper[bot] 17b6f6cf2a fix(package): update reconnecting-websocket to version 4.1.6 2018-10-12 17:09:56 +00:00
syuilo dd88483ba4 10.11.1 2018-10-13 01:33:20 +09:00
syuilo 0ff27f65b3 Fix bug 2018-10-13 01:33:00 +09:00
syuilo b1655740df Improve perforance 2018-10-13 01:17:23 +09:00
syuilo 6d562aece1 New translations ja-JP.yml (Norwegian) 2018-10-13 01:05:49 +09:00
syuilo 2182c3372b New translations ja-JP.yml (Dutch) 2018-10-13 01:05:44 +09:00
syuilo d3331bfe82 New translations ja-JP.yml (Japanese, Kansai) 2018-10-13 01:05:39 +09:00
syuilo cfc4a2e8b4 New translations ja-JP.yml (Spanish) 2018-10-13 01:05:35 +09:00
syuilo 36c41c8eb3 New translations ja-JP.yml (Russian) 2018-10-13 01:05:31 +09:00
syuilo d255157e6e New translations ja-JP.yml (Portuguese) 2018-10-13 01:05:27 +09:00
syuilo c12e07277d New translations ja-JP.yml (Polish) 2018-10-13 01:05:21 +09:00
syuilo 06b4fb5095 New translations ja-JP.yml (Korean) 2018-10-13 01:05:17 +09:00
syuilo 8fafdcb428 New translations ja-JP.yml (Italian) 2018-10-13 01:05:10 +09:00
syuilo 537a606bb6 New translations ja-JP.yml (German) 2018-10-13 01:05:06 +09:00
syuilo 3dc7a4463c New translations ja-JP.yml (French) 2018-10-13 01:05:02 +09:00
syuilo fd6ff05b60 New translations ja-JP.yml (English) 2018-10-13 01:04:58 +09:00
syuilo 1a159e41b8 New translations ja-JP.yml (Chinese Simplified) 2018-10-13 01:04:53 +09:00
syuilo 23533cdd16 New translations ja-JP.yml (Catalan) 2018-10-13 01:04:47 +09:00
syuilo 2f598b8fa1 10.11.0 2018-10-13 01:04:29 +09:00
syuilo bca349fec1 Improve performance 2018-10-13 01:00:43 +09:00
syuilo 719fac6480 お気に入りを解除できるように 2018-10-13 00:54:30 +09:00
syuilo 1012b2b2c7 10.10.1 2018-10-12 21:44:39 +09:00
syuilo 5149be4b1b Fix bug 2018-10-12 21:44:04 +09:00
syuilo d12deeb0d8 Merge pull request #2889 from syuilo/greenkeeper/@types/elasticsearch-5.0.27
Update @types/elasticsearch to the latest version 🚀
2018-10-12 20:08:14 +09:00
syuilo 9df81d1939 10.10.0 2018-10-12 14:38:21 +09:00
syuilo 3be0079868 Merge pull request #2890 from syuilo/l10n_develop
New Crowdin translations
2018-10-12 14:36:54 +09:00
syuilo 9b253ccb3a Refactor 2018-10-12 14:34:54 +09:00
syuilo dded76099c Refactor and usability improvements 2018-10-12 14:28:48 +09:00
syuilo 41a7ec7d3d Fix bug 2018-10-12 13:53:40 +09:00
MeiMei 168c773ba0 Fix user recommendation query (last activity) (#2892) 2018-10-12 13:48:26 +09:00
syuilo 9abed92196 New translations ja-JP.yml (French) 2018-10-12 05:26:16 +09:00
syuilo 4a75e3602a New translations ja-JP.yml (French) 2018-10-12 05:13:53 +09:00
MeiMei 1a689f6641 削除された投稿はタイムライン上で表示しないようにする (#2887)
* Excepts deleted notes on query

* Hide deleted notes

* Use v-show
2018-10-12 05:10:40 +09:00
greenkeeper[bot] 08d7ae11d6 fix(package): update @types/elasticsearch to version 5.0.27 2018-10-11 19:58:29 +00:00
syuilo 9535759787 trim filename 2018-10-12 04:01:45 +09:00
和風ドレッシング f8fc31f14a スクロール時に新着情報を取得した際に、アイコンが被るのを修正 (#2888) 2018-10-12 03:28:37 +09:00
syuilo b74bf97761 10.9.2 2018-10-11 23:52:18 +09:00
syuilo a090b908bd Fix bug 2018-10-11 23:52:11 +09:00
syuilo 3046821026 10.9.1 2018-10-11 23:09:12 +09:00
syuilo e94c73efe2 Fix 2018-10-11 23:07:20 +09:00
syuilo e85f9f4aa5 共有可能チャンネルに接続しようとしていて、かつそのチャンネルに既に接続していたら無意味なので無視するように 2018-10-11 23:01:57 +09:00
syuilo ad67886f96 Resolve #543 2018-10-11 22:35:34 +09:00
syuilo 5df0e102fd Fix 2018-10-11 22:17:27 +09:00
syuilo a04f0e3545 10.9.0 2018-10-11 21:27:33 +09:00
syuilo dff9c7ac48 Clean up and fix 2018-10-11 21:25:55 +09:00
syuilo 3a80b59986 並列に処理するように 2018-10-11 21:14:20 +09:00
syuilo 07560a4fdd 10.8.0 2018-10-11 18:38:31 +09:00
syuilo 7edca21c05 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-10-11 18:35:50 +09:00
syuilo 34105abd9d Fix 2018-10-11 18:35:19 +09:00
syuilo 1bbca48a0b Update setup.ja.md 2018-10-11 18:20:27 +09:00
syuilo 21f6a86772 Update setup.ja.md 2018-10-11 18:18:15 +09:00
syuilo 6559197c55 Clean up 2018-10-11 18:10:41 +09:00
syuilo 05f9ad11bb Redisがインストールされているときはイベントの共有にRedisのpub/subを使うように 2018-10-11 18:09:41 +09:00
syuilo f06d586680 10.7.2 2018-10-11 17:27:39 +09:00
syuilo 4f45e8125c Fix 2018-10-11 17:25:53 +09:00
syuilo cc2843503d 10.7.1 2018-10-11 17:00:48 +09:00
syuilo 324a974dec Fix bug 2018-10-11 17:00:22 +09:00
syuilo 4d4ffd70ac 10.7.0 2018-10-11 15:58:39 +09:00
syuilo bf98a11b65 Reduce memory usage in file migration tool 2018-10-11 15:56:18 +09:00
syuilo 1117ce4b54 Redisをオプションにしたり 2018-10-11 15:50:27 +09:00
greenkeeper[bot] 57e93b9b4e fix(package): update @types/node to version 10.11.7 (#2885) 2018-10-11 05:41:01 +09:00
syuilo 9e4b061ed0 Fix bug 2018-10-11 05:26:51 +09:00
syuilo 1067bef7d6 Fix bug 2018-10-11 05:26:09 +09:00
syuilo 8bff529acd Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-10-11 02:48:32 +09:00
syuilo 4b08677839 ✌️ 2018-10-11 02:48:19 +09:00
greenkeeper[bot] 70997cb551 fix(package): update vue-color to version 2.7.0 (#2884) 2018-10-11 02:22:57 +09:00
syuilo bf0ef17e23 Improve error logs 2018-10-11 02:19:21 +09:00
syuilo 7dae5107f8 Improve fault tolerance 2018-10-11 02:11:12 +09:00
syuilo 2dea88a147 Update stream.ts 2018-10-10 22:13:32 +09:00
syuilo f44c2a3e4f 10.6.0 2018-10-10 21:24:32 +09:00
syuilo 1fad3cbaae 🎨 2018-10-10 21:23:38 +09:00
syuilo 40d2e3e97c 🎨 2018-10-10 21:04:53 +09:00
greenkeeper[bot] 2efabe612e fix(package): update @types/node to version 10.11.6 (#2876) 2018-10-10 21:01:25 +09:00
greenkeeper[bot] 3107cbd6b9 fix(package): update @types/koa-logger to version 3.1.1 (#2877) 2018-10-10 21:01:18 +09:00
syuilo 3a061ed1c3 New Crowdin translations (#2878)
* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)
2018-10-10 21:01:08 +09:00
greenkeeper[bot] d4f0e6461a fix(package): update @types/webpack to version 4.4.16 (#2880) 2018-10-10 21:01:00 +09:00
greenkeeper[bot] 3285687652 fix(package): update url-loader to version 1.1.2 (#2883) 2018-10-10 21:00:47 +09:00
syuilo 51c53f64d0 Fix #2881, Fix #2879 2018-10-10 20:59:10 +09:00
syuilo 1d582f5ad2 Fix syntax error 2018-10-10 20:58:42 +09:00
syuilo 8a62748e39 🎨 2018-10-10 20:02:56 +09:00
syuilo b9290a021b New translations ja-JP.yml (French) 2018-10-10 07:51:07 +09:00
syuilo 129ce93868 New translations ja-JP.yml (French) 2018-10-10 07:41:10 +09:00
syuilo 5f41e5d6d0 New translations ja-JP.yml (French) 2018-10-10 07:31:22 +09:00
syuilo c706d030ea New translations ja-JP.yml (French) 2018-10-10 07:21:14 +09:00
syuilo 34716a34f8 New translations ja-JP.yml (French) 2018-10-10 07:02:04 +09:00
greenkeeper[bot] 6db3d6dfb6 fix(package): update @types/mongodb to version 3.1.12 (#2874) 2018-10-10 03:47:12 +09:00
syuilo 38e2853dcf 10.5.0 2018-10-10 03:38:39 +09:00
syuilo ba5a540ca3 Log misskey version 2018-10-10 03:37:51 +09:00
syuilo fb1e05c2e9 ストリーミングAPIでチャンネルに接続したときにconnectedメッセージを返すように 2018-10-10 03:28:11 +09:00
syuilo aba84612a7 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-10-10 03:24:18 +09:00
syuilo 9bebbf4e03 Add alias 2018-10-10 03:24:09 +09:00
syuilo e41b3f9c10 Merge pull request #2873 from mei23/mei-1010-pull-recquery
Fix users recommendation query
2018-10-10 02:18:31 +09:00
mei23 890dc05022 lint fix 2018-10-10 02:08:26 +09:00
mei23 375f86ec82 Fix users recommendation query 2018-10-10 02:04:16 +09:00
syuilo db248a69c8 10.4.0 2018-10-09 23:02:38 +09:00
syuilo 5951288159 Merge pull request #2863 from syuilo/l10n_develop
New Crowdin translations
2018-10-09 23:01:51 +09:00
syuilo 17b92c9db2 Fix bug 2018-10-09 22:48:45 +09:00
syuilo 962d1060d9 New translations ja-JP.yml (Korean) 2018-10-09 22:32:14 +09:00
syuilo cb2640d961 New translations ja-JP.yml (Korean) 2018-10-09 22:11:31 +09:00
greenkeeper[bot] 29aeb0f082 fix(package): update @types/webpack to version 4.4.15 (#2868) 2018-10-09 15:14:22 +09:00
syuilo 990347f856 Fix 2018-10-09 15:13:06 +09:00
かひわし4(バージョン1) 7a406c1f13 Docker (#2867)
* Dockerize Misskey

* Add a new line at EOF

* Add support Elasticsearch

* /

* Add setup document for docker

* Add english document

* Edit docs

* docker -> Docker

* Arrange format

* Update docker.en.md

* Modify title
2018-10-09 15:09:50 +09:00
syuilo 9432af2ab5 10.3.0 2018-10-09 15:09:24 +09:00
syuilo 136b13e7ca Fix bug and refactor 2018-10-09 15:08:31 +09:00
syuilo ba1c823fb1 🎨 2018-10-09 14:58:37 +09:00
greenkeeper[bot] f1301a4780 fix(package): update @types/redis to version 2.8.7 (#2866) 2018-10-09 09:38:47 +09:00
greenkeeper[bot] 7957cd4963 fix(package): update @types/node to version 10.11.5 (#2865) 2018-10-09 09:38:40 +09:00
greenkeeper[bot] ee6590d03f fix(package): update @types/mongodb to version 3.1.11 (#2864) 2018-10-09 09:38:31 +09:00
greenkeeper[bot] f2a1238b20 fix(package): update commander to version 2.19.0 (#2862) 2018-10-09 09:38:21 +09:00
syuilo e9ce84f368 New translations ja-JP.yml (Norwegian) 2018-10-09 07:04:09 +09:00
syuilo 52e84decb4 New translations ja-JP.yml (Dutch) 2018-10-09 07:04:03 +09:00
syuilo e893002bb6 New translations ja-JP.yml (Japanese, Kansai) 2018-10-09 07:03:59 +09:00
syuilo 3792103e80 New translations ja-JP.yml (Spanish) 2018-10-09 07:03:54 +09:00
syuilo 7a861c9481 New translations ja-JP.yml (Russian) 2018-10-09 07:03:47 +09:00
syuilo 942b565224 New translations ja-JP.yml (Portuguese) 2018-10-09 07:03:43 +09:00
syuilo 88390d7a9a New translations ja-JP.yml (Polish) 2018-10-09 07:03:39 +09:00
syuilo 966fc4c5d7 New translations ja-JP.yml (Korean) 2018-10-09 07:03:34 +09:00
syuilo 84dbdf1196 New translations ja-JP.yml (Italian) 2018-10-09 07:03:29 +09:00
syuilo 211e7f90d9 New translations ja-JP.yml (German) 2018-10-09 07:03:23 +09:00
syuilo e54b8e3fb2 New translations ja-JP.yml (French) 2018-10-09 07:03:18 +09:00
syuilo 836c89ed33 New translations ja-JP.yml (English) 2018-10-09 07:03:12 +09:00
syuilo c7c73afea1 New translations ja-JP.yml (Chinese Simplified) 2018-10-09 07:03:06 +09:00
syuilo 7b9ca63b1e New translations ja-JP.yml (Catalan) 2018-10-09 07:02:59 +09:00
syuilo c464183329 Improve theme manager 2018-10-09 06:46:52 +09:00
syuilo 389f420cad Update src/tools/move-drive-files.ts 2018-10-09 05:46:21 +09:00
syuilo 6b2888383c 10.2.1 2018-10-09 05:36:39 +09:00
syuilo 3c38a867b4 Fix bug 2018-10-09 05:35:40 +09:00
syuilo 7f5a69f4d8 Fix bug 2018-10-09 05:31:26 +09:00
syuilo bb9ab31d5e Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-10-09 05:15:48 +09:00
syuilo 9def80af8a 10.2.0 2018-10-09 05:15:31 +09:00
greenkeeper[bot] 9256bcdbe4 fix(package): update debug to version 4.1.0 (#2857) 2018-10-09 05:12:19 +09:00
syuilo 9b775022bc Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-10-09 05:11:55 +09:00
syuilo 32371ed2bd Fix #2858 2018-10-09 05:11:42 +09:00
syuilo 8b98c08a81 Update README.md 2018-10-09 05:07:59 +09:00
syuilo 7cf72f7447 Merge pull request #2860 from mei23/mei-1009-v10d
互換ストリーム / に main streamの内容も流す
2018-10-09 04:35:08 +09:00
mei23 913385b10d / に main stream も流す 2018-10-09 03:29:11 +09:00
syuilo 7306468d08 Merge pull request #2856 from syuilo/greenkeeper/typescript-eslint-parser-20.0.0
Update typescript-eslint-parser to the latest version 🚀
2018-10-09 02:59:13 +09:00
greenkeeper[bot] 11e5667778 fix(package): update typescript-eslint-parser to version 20.0.0 2018-10-08 17:15:23 +00:00
syuilo 38cc02e261 Add tool 2018-10-09 02:14:03 +09:00
syuilo d52cf46cc1 10.1.0 2018-10-09 01:52:18 +09:00
syuilo c6110dd996 Fix bug
Closes #2855
2018-10-09 01:50:49 +09:00
syuilo 51d8de2c38 Improve readability 2018-10-09 01:33:40 +09:00
syuilo 4455a1aa9d Fix bug 2018-10-09 01:33:31 +09:00
syuilo 040d395ddb 🎨 2018-10-09 01:26:04 +09:00
syuilo 8296cac636 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-10-09 01:02:04 +09:00
syuilo 3eafe8b87d Better api definition 2018-10-09 01:01:48 +09:00
syuilo c01512e261 Merge pull request #2854 from syuilo/greenkeeper/style-loader-0.23.1
Update style-loader to the latest version 🚀
2018-10-09 00:56:03 +09:00
syuilo e5cf3aecd5 Merge pull request #2830 from sei0o/fix-2346
fix #2346
2018-10-09 00:55:47 +09:00
greenkeeper[bot] a8f90b41b7 fix(package): update style-loader to version 0.23.1 2018-10-08 13:43:10 +00:00
sei0o b79169b975 Deleted dump.rdb 2018-10-08 22:26:26 +09:00
syuilo 437d52e2ed Improve theme 2018-10-08 18:42:19 +09:00
syuilo 1329721440 Merge pull request #2828 from hakaba-hitoyo/feature/external-user-recommendation
External user recommendation
2018-10-08 18:31:00 +09:00
syuilo 6affb4fe97 Merge pull request #2851 from mei23/mei-1008-fix-apshow2
ap/showが返ってこないことがあるのを修正
2018-10-08 17:33:46 +09:00
mei23 15395686aa ap/showが返ってこないことがあるのを修正 2018-10-08 16:01:38 +09:00
syuilo 047bcc78ad 10.0.0 2018-10-08 15:52:37 +09:00
syuilo 9df68618f2 Merge pull request #2850 from syuilo/greenkeeper/sharp-0.21.0
fix(package): update sharp to version 0.21.0
2018-10-08 15:49:38 +09:00
syuilo 732db087ab Merge pull request #2754 from syuilo/l10n_develop
New Crowdin translations
2018-10-08 15:48:30 +09:00
syuilo 0e95b33b6a Improve theme 2018-10-08 15:47:41 +09:00
syuilo 816ae7eb7e 🎨 2018-10-08 15:43:43 +09:00
syuilo 5a5ff194fa New translations ja-JP.yml (English) 2018-10-08 15:43:00 +09:00
syuilo a60edf9cff Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2018-10-08 15:42:37 +09:00
syuilo 1c2dbb914e Improve usability 2018-10-08 15:42:21 +09:00
syuilo 9c170c426b Merge branch 'develop' into l10n_develop 2018-10-08 15:37:24 +09:00
syuilo c6239c8ad9 fix(package): update @types/mongodb to version 3.1.10 (#2849)
Closes #2752
2018-10-08 15:36:33 +09:00
syuilo 159b361bac New translations ja-JP.yml (Norwegian) 2018-10-08 15:32:29 +09:00
syuilo 160f64c18e New translations ja-JP.yml (Dutch) 2018-10-08 15:32:25 +09:00
syuilo e5916b3789 New translations ja-JP.yml (Japanese, Kansai) 2018-10-08 15:32:20 +09:00
syuilo 70982b33c5 New translations ja-JP.yml (Spanish) 2018-10-08 15:32:15 +09:00
syuilo b4d614ad45 New translations ja-JP.yml (Russian) 2018-10-08 15:32:10 +09:00
syuilo 6d2ef41b37 New translations ja-JP.yml (Portuguese) 2018-10-08 15:32:05 +09:00
syuilo e102237aab New translations ja-JP.yml (Polish) 2018-10-08 15:32:00 +09:00
syuilo 665af87031 New translations ja-JP.yml (Korean) 2018-10-08 15:31:56 +09:00
syuilo 6f4e439697 New translations ja-JP.yml (Italian) 2018-10-08 15:31:51 +09:00
syuilo 742dcf35c9 New translations ja-JP.yml (German) 2018-10-08 15:31:45 +09:00
syuilo 9cd70c568c New translations ja-JP.yml (French) 2018-10-08 15:31:39 +09:00
syuilo facabf274f New translations ja-JP.yml (English) 2018-10-08 15:31:35 +09:00
syuilo e3ab51022f New translations ja-JP.yml (Chinese Simplified) 2018-10-08 15:31:30 +09:00
syuilo d278367cf9 New translations ja-JP.yml (Catalan) 2018-10-08 15:31:25 +09:00
syuilo a70ced8e90 Add new theme 2018-10-08 15:23:20 +09:00
syuilo 567cedc7cc Improve usability 2018-10-08 15:23:10 +09:00
greenkeeper[bot] 9b3af6efcd fix(package): update jsdom to version 12.2.0 (#2848) 2018-10-08 14:50:32 +09:00
syuilo d9edc1eb1d Improve theme 2018-10-08 09:08:02 +09:00
syuilo 65e46b5cec oops 2018-10-08 09:02:11 +09:00
syuilo e00b5f11cb 互換性を追加 2018-10-08 08:58:12 +09:00
syuilo 6b53d5f269 New translations ja-JP.yml (Norwegian) 2018-10-08 08:10:57 +09:00
syuilo 59c80ab140 New translations ja-JP.yml (Norwegian) 2018-10-08 08:01:13 +09:00
syuilo da323aad36 New translations ja-JP.yml (Norwegian) 2018-10-08 07:51:37 +09:00
syuilo 7c1611c939 New translations ja-JP.yml (Norwegian) 2018-10-08 07:41:01 +09:00
syuilo ab861beabe New translations ja-JP.yml (Norwegian) 2018-10-08 07:31:50 +09:00
syuilo d260e93161 New translations ja-JP.yml (Norwegian) 2018-10-08 07:21:50 +09:00
syuilo 65a1855606 New translations ja-JP.yml (Norwegian) 2018-10-08 07:01:37 +09:00
syuilo c0e08e44a4 New translations ja-JP.yml (Norwegian) 2018-10-08 06:51:21 +09:00
syuilo 5c1cebcef4 New translations ja-JP.yml (Norwegian) 2018-10-08 06:41:23 +09:00
syuilo af25d3a85e New translations ja-JP.yml (Norwegian) 2018-10-08 06:31:14 +09:00
syuilo 8cb7183107 New translations ja-JP.yml (Norwegian) 2018-10-08 06:21:40 +09:00
syuilo 1bf228d73e New translations ja-JP.yml (Norwegian) 2018-10-08 06:11:47 +09:00
syuilo d952b996e6 New translations ja-JP.yml (Norwegian) 2018-10-08 06:02:03 +09:00
syuilo 1e407c4059 New translations ja-JP.yml (Norwegian) 2018-10-08 05:51:22 +09:00
syuilo b56d1fa60e New translations ja-JP.yml (Norwegian) 2018-10-08 05:41:23 +09:00
syuilo 6340f95bfc New translations ja-JP.yml (Norwegian) 2018-10-08 05:30:57 +09:00
syuilo 3c08dacf6c New translations ja-JP.yml (Norwegian) 2018-10-08 05:21:23 +09:00
syuilo 2908124ad8 New translations ja-JP.yml (Norwegian) 2018-10-08 05:11:24 +09:00
syuilo 3d62faaaf2 New translations ja-JP.yml (Norwegian) 2018-10-08 05:03:18 +09:00
syuilo b1efa9700d New translations ja-JP.yml (Norwegian) 2018-10-08 04:52:30 +09:00
syuilo 1d08af5747 New translations ja-JP.yml (Norwegian) 2018-10-08 04:41:56 +09:00
syuilo 2f82d0db87 New translations ja-JP.yml (Norwegian) 2018-10-08 04:33:10 +09:00
syuilo d88159907d New translations ja-JP.yml (Norwegian) 2018-10-08 04:21:47 +09:00
syuilo 9ed9fbef65 New translations ja-JP.yml (Norwegian) 2018-10-08 04:11:43 +09:00
syuilo 86c2e5bb91 New translations ja-JP.yml (Norwegian) 2018-10-08 04:01:04 +09:00
syuilo d9b548de1a New translations ja-JP.yml (Norwegian) 2018-10-08 03:51:11 +09:00
syuilo 2271c6cbd8 New translations ja-JP.yml (Norwegian) 2018-10-08 03:45:38 +09:00
greenkeeper[bot] c4d4293c46 fix(package): update file-type to version 10.0.0 (#2846) 2018-10-08 02:31:42 +09:00
syuilo 39bdfb6e0d Improve usability 2018-10-08 02:10:46 +09:00
syuilo 1003fd393e Fix bug 2018-10-08 01:56:36 +09:00
syuilo 2ede3c0864 Clean up 2018-10-08 01:25:34 +09:00
syuilo 674764a035 Fix 2018-10-08 01:16:32 +09:00
syuilo a780e7b936 Clean up 2018-10-08 01:14:46 +09:00
syuilo 03d0ce1f89 Improve theme 2018-10-08 01:10:30 +09:00
syuilo 4182a0cf4c Fix 2018-10-08 01:03:07 +09:00
syuilo 305915611e Fix bug 2018-10-08 00:58:10 +09:00
syuilo b0cd59bed9 New translations ja-JP.yml (Norwegian) 2018-10-08 00:41:33 +09:00
syuilo 599dcbaa48 New translations ja-JP.yml (Norwegian) 2018-10-08 00:01:35 +09:00
syuilo 2806dc98bd New translations ja-JP.yml (Norwegian) 2018-10-07 23:51:37 +09:00
syuilo bdc52dc114 New translations ja-JP.yml (Norwegian) 2018-10-07 23:41:46 +09:00
syuilo 3f6b9e554c New translations ja-JP.yml (Norwegian) 2018-10-07 23:32:04 +09:00
syuilo f47ad7bf31 New translations ja-JP.yml (Norwegian) 2018-10-07 23:02:43 +09:00
syuilo f992f72d31 New translations ja-JP.yml (Norwegian) 2018-10-07 22:51:32 +09:00
syuilo a26f1db2cb New translations ja-JP.yml (Norwegian) 2018-10-07 22:41:27 +09:00
greenkeeper[bot] 361ab00c61 fix(package): update @types/debug to version 0.0.31 (#2822) 2018-10-07 20:31:57 +09:00
greenkeeper[bot] f5cbcf3452 fix(package): update vue-svg-inline-loader to version 1.2.0 (#2844) 2018-10-07 20:29:43 +09:00
greenkeeper[bot] 599386190a fix(package): update file-loader to version 2.0.0 (#2827) 2018-10-07 20:27:05 +09:00
greenkeeper[bot] ec541d3cd0 fix(package): update systeminformation to version 3.45.7 (#2825) 2018-10-07 20:26:47 +09:00
syuilo 3199819ded fix(package): update reconnecting-websocket to version 4.1.5 (#2845)
Closes #2785
2018-10-07 20:26:35 +09:00
greenkeeper[bot] ccf04d63ec fix(package): update ws to version 6.1.0 (#2823) 2018-10-07 20:23:13 +09:00
MeiMei b9f5fca333 ActivityPubオブジェクト採番API (#2832)
* Show ActivityPub object API

* Add missing return
2018-10-07 20:20:55 +09:00
syuilo b6a330928d 投稿の削除イベントを受け取るように 2018-10-07 20:08:42 +09:00
syuilo 1c65cb3e36 Resolve #2843 2018-10-07 19:58:00 +09:00
syuilo dbb8c99efb New translations ja-JP.yml (French) 2018-10-07 19:41:39 +09:00
syuilo 0adcb646fe Fix bug 2018-10-07 19:35:25 +09:00
syuilo a1ef70c0bf New translations ja-JP.yml (French) 2018-10-07 19:32:31 +09:00
syuilo 75cd580c3a Improve theming 2018-10-07 19:30:24 +09:00
syuilo e05acb8d18 後方互換性を追加 2018-10-07 17:19:52 +09:00
syuilo 10af684804 Improve readability a little 2018-10-07 17:06:28 +09:00
sei0o inoue 3e897727ca Fix #2773 (#2841)
* Added an API endpoint to check the existence of the file

* fix #2773: Now we can prevent users from posting the same images

* bug fix
2018-10-07 16:51:46 +09:00
syuilo d0570d7fe3 V10 (#2826)
* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update CHANGELOG.md

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update CHANGELOG.md

* Update CHANGELOG.md

* wip

* Update CHANGELOG.md

* wip

* wip

* wip

* wip
2018-10-07 11:06:17 +09:00
sei0o 5cf1956135 Added CSS variables for background of reactions-viewer 2018-10-06 22:14:30 +09:00
MeiMei 0b98a2364b Fix お知らせが確認中...のままになる(Announcement Fetching...) (#2831) 2018-10-06 20:36:11 +09:00
sei0o fff307d4bb fix #2346 2018-10-06 17:51:59 +09:00
Hakaba Hitoyo 2b7782ba03 replace var by const 2018-10-06 17:38:57 +09:00
Hakaba Hitoyo 96d961ee80 better readable code 2018-10-06 17:23:32 +09:00
Hakaba Hitoyo 9f064d76d9 better readable code 2018-10-06 17:21:27 +09:00
Hakaba Hitoyo 2e39106c4b better config handling 2018-10-06 17:19:41 +09:00
syuilo 1305006391 New translations ja-JP.yml (English) 2018-10-06 17:01:11 +09:00
Hakaba Hitoyo 04650464f3 debug 2018-10-06 16:34:52 +09:00
Hakaba Hitoyo 3bc7e1e35c remove follow buttons in the friends-maker component/widget 2018-10-06 16:31:21 +09:00
Hakaba Hitoyo 7019ddbfc7 external user recommendation 2018-10-06 16:03:18 +09:00
syuilo 106d990bd2 New translations ja-JP.yml (Norwegian) 2018-10-05 19:23:15 +09:00
syuilo b29eb29556 New translations ja-JP.yml (Dutch) 2018-10-05 19:23:11 +09:00
syuilo aeac1854ed New translations ja-JP.yml (Japanese, Kansai) 2018-10-05 19:23:07 +09:00
syuilo dbc57dd0d3 New translations ja-JP.yml (Spanish) 2018-10-05 19:23:01 +09:00
syuilo 328a87609e New translations ja-JP.yml (Russian) 2018-10-05 19:22:57 +09:00
syuilo 5d848f3900 New translations ja-JP.yml (Portuguese) 2018-10-05 19:22:53 +09:00
syuilo cf4ed45fe4 New translations ja-JP.yml (Polish) 2018-10-05 19:22:49 +09:00
syuilo 07293094d5 New translations ja-JP.yml (Korean) 2018-10-05 19:22:43 +09:00
syuilo 0917696c86 New translations ja-JP.yml (Italian) 2018-10-05 19:22:39 +09:00
syuilo 030a027366 New translations ja-JP.yml (German) 2018-10-05 19:22:35 +09:00
syuilo 372c488585 New translations ja-JP.yml (French) 2018-10-05 19:22:31 +09:00
syuilo 738b8ff1ee New translations ja-JP.yml (English) 2018-10-05 19:22:25 +09:00
syuilo 1561fc5994 New translations ja-JP.yml (Chinese Simplified) 2018-10-05 19:22:20 +09:00
syuilo c84f18545e New translations ja-JP.yml (Catalan) 2018-10-05 19:22:15 +09:00
syuilo 48e4dc75f4 Better japanese 2018-10-05 19:13:59 +09:00
syuilo 63a8d556e5 🎨 2018-10-05 12:10:00 +09:00
syuilo e5591618ee 9.7.1 2018-10-05 04:50:50 +09:00
syuilo 4794748c73 Fix bug 2018-10-05 04:50:23 +09:00
syuilo 02e7e3b971 Clean up 2018-10-05 03:21:45 +09:00
greenkeeper[bot] d2aca3c28b fix(package): update vue-svg-inline-loader to version 1.1.4 (#2821) 2018-10-05 02:43:54 +09:00
syuilo 11b84a04b3 9.7.0 2018-10-05 01:59:26 +09:00
MeiMei f243ce66e7 ActivityPubのHTTPリクエストの強化 (#2820)
* Fix error handling in AP deliver

* Set timeout to resolver

* Tune looks
2018-10-05 01:58:41 +09:00
syuilo baf9b65801 Improve error handling of packaging functions 2018-10-05 01:43:47 +09:00
greenkeeper[bot] 55419d2524 fix(package): update sharp to version 0.21.0
Closes #2619
2018-10-04 13:01:32 +00:00
syuilo 401d0b1298 9.5.0 2018-10-04 13:55:25 +09:00
syuilo fce7dc0f4e Improve error handling of pack function of notification 2018-10-04 13:53:48 +09:00
syuilo 35489ef5b7 Improve default theme definition (dark) 2018-10-04 13:48:26 +09:00
syuilo 546d494587 Improve default theme definition (light) 2018-10-04 13:40:13 +09:00
syuilo e8afa2c940 Improve pack function of favorite 2018-10-04 13:33:59 +09:00
syuilo c1ef1bf605 fix(package): update typescript-eslint-parser to version 19.0.2 (#2819)
Closes #2772
2018-10-04 12:53:50 +09:00
syuilo 4ab0dbe7e3 fix(package): update @types/webpack to version 4.4.14 (#2818)
Closes #2778
2018-10-04 12:53:17 +09:00
syuilo 44f86a94f4 fix(package): update @types/node to version 10.11.4 (#2817)
Closes #2765
2018-10-04 12:52:57 +09:00
syuilo a0278154a3 fix(package): update webpack-cli to version 3.1.2 (#2816)
Closes #2757
2018-10-04 12:52:27 +09:00
greenkeeper[bot] 8b7e6b200e fix(package): update jsdom to version 12.1.0 (#2788) 2018-10-04 12:51:19 +09:00
greenkeeper[bot] d6f6c26725 fix(package): update @types/qrcode to version 1.3.0 (#2813) 2018-10-04 12:50:32 +09:00
greenkeeper[bot] cf66343b31 fix(package): update qrcode to version 1.3.0 (#2799) 2018-10-04 12:50:25 +09:00
greenkeeper[bot] d53689332f fix(package): update diskusage to version 0.2.5 (#2767) 2018-10-04 12:49:56 +09:00
greenkeeper[bot] 4105237027 fix(package): update koa-mount to version 4.0.0 (#2776) 2018-10-04 12:49:38 +09:00
greenkeeper[bot] 436962e4b8 fix(package): update nan to version 2.11.1 (#2784) 2018-10-04 12:49:05 +09:00
syuilo a85efa1392 fix(package): update gulp-htmlmin to version 5.0.1 (#2815)
Closes #2669
2018-10-04 12:48:52 +09:00
syuilo f0115a5e21 fix(package): update webpack to version 4.20.2 (#2814)
Closes #2768
2018-10-04 12:45:47 +09:00
syuilo 80105239dc 9.4.0 2018-10-04 00:39:48 +09:00
syuilo baad11288a ドキュメントが見つからなくてもエラーにせずnullを返すように 2018-10-04 00:39:11 +09:00
syuilo 7e50646ede 9.3.1 2018-10-03 23:01:58 +09:00
syuilo d4b8e47bcb Fix 2018-10-03 23:01:47 +09:00
syuilo 0eefd2922c 9.3.0 2018-10-03 22:55:08 +09:00
syuilo 30c0f98691 Fix bug 2018-10-03 22:54:10 +09:00
syuilo 06a7c2e138 Revert "Enable JSON5 syntax"
This reverts commit 6e04549a9b.
2018-10-03 22:14:05 +09:00
syuilo 3537b3de8e Clean up 2018-10-03 22:05:17 +09:00
MeiMei ed6450244d Feature flags feature (#2803) 2018-10-03 12:39:03 +09:00
MeiMei e813880392 6個ピン留めできてしまうの修正 (#2804) 2018-10-03 12:37:23 +09:00
syuilo 9a57efa6d9 ✌️ 2018-10-03 03:13:10 +09:00
syuilo 03ee5eba3b New translations ja-JP.yml (Norwegian) 2018-10-03 03:12:34 +09:00
syuilo 295ea79231 New translations ja-JP.yml (Dutch) 2018-10-03 03:12:30 +09:00
syuilo a5486176c1 New translations ja-JP.yml (Japanese, Kansai) 2018-10-03 03:12:24 +09:00
syuilo de58325fd0 New translations ja-JP.yml (Spanish) 2018-10-03 03:12:19 +09:00
syuilo 1e7932d9c7 New translations ja-JP.yml (Russian) 2018-10-03 03:12:13 +09:00
syuilo 8ba76df409 New translations ja-JP.yml (Portuguese) 2018-10-03 03:12:07 +09:00
syuilo a8f9d20229 New translations ja-JP.yml (Polish) 2018-10-03 03:12:02 +09:00
syuilo 5e6d1b9ae8 New translations ja-JP.yml (Korean) 2018-10-03 03:11:55 +09:00
syuilo c5afbaef35 New translations ja-JP.yml (Italian) 2018-10-03 03:11:50 +09:00
syuilo 3b5a36a09f New translations ja-JP.yml (German) 2018-10-03 03:11:46 +09:00
syuilo fcb20d05d7 New translations ja-JP.yml (French) 2018-10-03 03:11:41 +09:00
syuilo 9e6990c44b New translations ja-JP.yml (English) 2018-10-03 03:11:37 +09:00
syuilo 8f3fd9b0dc New translations ja-JP.yml (Chinese Simplified) 2018-10-03 03:11:33 +09:00
syuilo 5b1b4a02d8 New translations ja-JP.yml (Catalan) 2018-10-03 03:11:27 +09:00
syuilo 31de530497 9.2.0 2018-10-03 03:09:04 +09:00
syuilo 16b6b1f2b3 テーマ関連機能の強化 2018-10-03 03:07:46 +09:00
syuilo dba83aa50d New translations ja-JP.yml (Norwegian) 2018-10-03 03:02:59 +09:00
syuilo bade054a6a New translations ja-JP.yml (Dutch) 2018-10-03 03:02:55 +09:00
syuilo 34d3485dc9 New translations ja-JP.yml (Japanese, Kansai) 2018-10-03 03:02:50 +09:00
syuilo a84d066daa New translations ja-JP.yml (Spanish) 2018-10-03 03:02:46 +09:00
syuilo 3360cf27cd New translations ja-JP.yml (Russian) 2018-10-03 03:02:41 +09:00
syuilo c1a13af611 New translations ja-JP.yml (Portuguese) 2018-10-03 03:02:36 +09:00
syuilo 47274a658b New translations ja-JP.yml (Polish) 2018-10-03 03:02:32 +09:00
syuilo b194334031 New translations ja-JP.yml (Korean) 2018-10-03 03:02:27 +09:00
syuilo 4136c4a807 New translations ja-JP.yml (Italian) 2018-10-03 03:02:23 +09:00
syuilo f1c212fe75 New translations ja-JP.yml (German) 2018-10-03 03:02:18 +09:00
syuilo d08cbff4b7 New translations ja-JP.yml (French) 2018-10-03 03:02:13 +09:00
syuilo 0b774475fa New translations ja-JP.yml (English) 2018-10-03 03:02:09 +09:00
syuilo c4f6195df3 New translations ja-JP.yml (Chinese Simplified) 2018-10-03 03:02:06 +09:00
syuilo 192cdbe322 New translations ja-JP.yml (Catalan) 2018-10-03 03:02:01 +09:00
syuilo a2a25eb5f8 Improve usability 2018-10-03 03:00:55 +09:00
syuilo 274cf1af1c テーマ関連の機能を強化 2018-10-03 02:57:31 +09:00
MeiMei 7d11c8b767 Improve admin UI (#2802) 2018-10-02 23:42:46 +09:00
syuilo abef6bafe3 New translations ja-JP.yml (French) 2018-10-02 23:14:27 +09:00
syuilo da237a5e2d New translations ja-JP.yml (French) 2018-10-02 22:56:58 +09:00
Acid Chicken (硫酸鶏) 7e50e03cfb Update README.md [AUTOGEN] (#2801) 2018-10-02 20:23:27 +09:00
syuilo 89d5df20a5 9.1.0 2018-10-02 16:29:05 +09:00
MeiMei c09a2a37fe リモートのピン留め投稿取得対応 (#2798)
* Fetch featured

* Handle featured change

* Fix typo
2018-10-02 16:27:36 +09:00
syuilo b5745877ca 🎨 2018-10-02 16:23:55 +09:00
syuilo c0ac15cad7 New translations ja-JP.yml (Norwegian) 2018-10-02 16:13:29 +09:00
syuilo 90ce09be2e New translations ja-JP.yml (Dutch) 2018-10-02 16:13:25 +09:00
syuilo fd39afb374 New translations ja-JP.yml (Japanese, Kansai) 2018-10-02 16:13:20 +09:00
syuilo 6e04549a9b Enable JSON5 syntax 2018-10-02 16:13:14 +09:00
syuilo 80e56fddd9 New translations ja-JP.yml (Spanish) 2018-10-02 16:13:14 +09:00
syuilo 4daf9e1180 New translations ja-JP.yml (Russian) 2018-10-02 16:13:09 +09:00
syuilo f72abc0e47 New translations ja-JP.yml (Portuguese) 2018-10-02 16:13:04 +09:00
syuilo 9c177f3df2 New translations ja-JP.yml (Polish) 2018-10-02 16:13:00 +09:00
syuilo a279b32c93 New translations ja-JP.yml (Korean) 2018-10-02 16:12:36 +09:00
syuilo 51465ba026 New translations ja-JP.yml (Italian) 2018-10-02 16:12:31 +09:00
syuilo 6a7bdcc533 New translations ja-JP.yml (German) 2018-10-02 16:12:25 +09:00
syuilo fddb3a5f10 New translations ja-JP.yml (French) 2018-10-02 16:12:19 +09:00
syuilo 643c7abc12 New translations ja-JP.yml (English) 2018-10-02 16:12:15 +09:00
syuilo 5715afd44c New translations ja-JP.yml (Chinese Simplified) 2018-10-02 16:12:10 +09:00
syuilo d65c1c420e New translations ja-JP.yml (Catalan) 2018-10-02 16:12:05 +09:00
syuilo 38139ee6c9 テーマに関して強化 2018-10-02 16:10:45 +09:00
syuilo 6b96bd0185 テーマに関して強化 2018-10-02 16:04:31 +09:00
MeiMei f2b9863eea Better deployment option descriptions. (#2800) 2018-10-02 11:59:12 +09:00
syuilo f56adce51f 9.0.0 2018-10-02 00:34:37 +09:00
syuilo 35598c8064 New translations ja-JP.yml (Norwegian) 2018-10-01 19:32:26 +09:00
syuilo a5e716eb5d New translations ja-JP.yml (Dutch) 2018-10-01 19:32:24 +09:00
syuilo e8073b7484 New translations ja-JP.yml (Japanese, Kansai) 2018-10-01 19:32:21 +09:00
syuilo d6a5fc20bb New translations ja-JP.yml (Spanish) 2018-10-01 19:32:18 +09:00
syuilo e763d43085 New translations ja-JP.yml (Russian) 2018-10-01 19:32:15 +09:00
syuilo a6904d5249 New translations ja-JP.yml (Portuguese) 2018-10-01 19:32:12 +09:00
syuilo 7bcb91d3ca New translations ja-JP.yml (Polish) 2018-10-01 19:32:09 +09:00
syuilo fb0c1efa41 New translations ja-JP.yml (Korean) 2018-10-01 19:32:06 +09:00
syuilo 03d243d444 New translations ja-JP.yml (Italian) 2018-10-01 19:32:04 +09:00
syuilo b91585d1fe New translations ja-JP.yml (German) 2018-10-01 19:32:00 +09:00
syuilo d1fa318cda New translations ja-JP.yml (French) 2018-10-01 19:31:58 +09:00
syuilo 42decae424 New translations ja-JP.yml (English) 2018-10-01 19:31:55 +09:00
syuilo 78bc7c20ed New translations ja-JP.yml (Chinese Simplified) 2018-10-01 19:31:52 +09:00
syuilo e6616bdf57 New translations ja-JP.yml (Catalan) 2018-10-01 19:31:49 +09:00
Hakaba Hitoyo 35362ed3c7 Better example settings for TLS certification (#2793) 2018-10-01 19:29:02 +09:00
MeiMei cd0b9a8e3f 非承認制アカウントのリモートフォローではフォロー許可待ちと表示しない (#2796) 2018-10-01 19:28:24 +09:00
syuilo 110aadd65c 8.64.0 2018-10-01 00:15:17 +09:00
syuilo cefe1f34be New translations ja-JP.yml (Norwegian) 2018-09-30 23:12:05 +09:00
syuilo d469e2152c New translations ja-JP.yml (Dutch) 2018-09-30 23:12:03 +09:00
syuilo 35c2d47518 New translations ja-JP.yml (Japanese, Kansai) 2018-09-30 23:12:00 +09:00
syuilo c00634a2cf New translations ja-JP.yml (Spanish) 2018-09-30 23:11:58 +09:00
syuilo d1835e262d New translations ja-JP.yml (Russian) 2018-09-30 23:11:55 +09:00
syuilo d0f304f0ce New translations ja-JP.yml (Portuguese) 2018-09-30 23:11:53 +09:00
syuilo 154abe06a7 New translations ja-JP.yml (Polish) 2018-09-30 23:11:51 +09:00
syuilo ac41cd378c New translations ja-JP.yml (Korean) 2018-09-30 23:11:48 +09:00
syuilo d59afda2c9 New translations ja-JP.yml (Italian) 2018-09-30 23:11:45 +09:00
syuilo 4d213833e2 New translations ja-JP.yml (German) 2018-09-30 23:11:42 +09:00
syuilo e9214d4330 New translations ja-JP.yml (French) 2018-09-30 23:11:40 +09:00
syuilo 6b41bb95b2 New translations ja-JP.yml (English) 2018-09-30 23:11:38 +09:00
syuilo 36de13d543 New translations ja-JP.yml (Chinese Simplified) 2018-09-30 23:11:35 +09:00
syuilo 3893def9f4 New translations ja-JP.yml (Catalan) 2018-09-30 23:11:32 +09:00
syuilo ff76c815b1 テーマインストール時の動作をわかりやすくしたりテーマをアンインストールできるようにしたり 2018-09-30 23:03:21 +09:00
Acid Chicken (硫酸鶏) 1b9b8912ae Update post-form.vue (#2790) 2018-09-30 22:45:24 +09:00
syuilo b91b0d17c3 New translations ja-JP.yml (French) 2018-09-30 22:31:59 +09:00
syuilo 579b61a806 Update tests 2018-09-30 14:46:18 +09:00
MeiMei 1e2b484929 profile banner が濃すぎるのを修正 (#2783) 2018-09-29 16:52:58 +09:00
syuilo ab7d4fa2a2 New translations ja-JP.yml (French) 2018-09-29 16:11:06 +09:00
syuilo f30c8b8a47 New translations ja-JP.yml (French) 2018-09-29 16:01:08 +09:00
syuilo 25dd19dd8c 🎨 2018-09-29 09:11:06 +09:00
syuilo fdaebc6315 New translations ja-JP.yml (Norwegian) 2018-09-29 00:52:53 +09:00
syuilo f1a05c214e New translations ja-JP.yml (Dutch) 2018-09-29 00:52:50 +09:00
syuilo 9ad32ffee9 New translations ja-JP.yml (Japanese, Kansai) 2018-09-29 00:52:48 +09:00
syuilo 70f83ab019 New translations ja-JP.yml (Spanish) 2018-09-29 00:52:45 +09:00
syuilo 07e64631f2 New translations ja-JP.yml (Russian) 2018-09-29 00:52:42 +09:00
syuilo 498416e2e3 New translations ja-JP.yml (Portuguese) 2018-09-29 00:52:40 +09:00
syuilo 87c4f908fe New translations ja-JP.yml (Polish) 2018-09-29 00:52:38 +09:00
syuilo 27e6eaacde New translations ja-JP.yml (Korean) 2018-09-29 00:52:35 +09:00
syuilo ada47920ca New translations ja-JP.yml (Italian) 2018-09-29 00:52:32 +09:00
syuilo f2606d62ff New translations ja-JP.yml (German) 2018-09-29 00:52:29 +09:00
syuilo 35032152b3 New translations ja-JP.yml (French) 2018-09-29 00:52:27 +09:00
syuilo 90b545fd69 New translations ja-JP.yml (English) 2018-09-29 00:52:24 +09:00
syuilo 4f7776d1f9 New translations ja-JP.yml (Chinese Simplified) 2018-09-29 00:52:21 +09:00
syuilo 03bd0c4c9e New translations ja-JP.yml (Catalan) 2018-09-29 00:52:18 +09:00
syuilo 5734221c8f New translations ja-JP.yml (French) 2018-09-26 23:31:56 +09:00
syuilo d17280b341 New translations ja-JP.yml (Japanese, Kansai) 2018-09-25 22:21:23 +09:00
syuilo f523d3f3bc New translations ja-JP.yml (Japanese, Kansai) 2018-09-25 21:55:37 +09:00
syuilo d23bc1e02a New translations ja-JP.yml (Norwegian) 2018-09-24 16:32:48 +09:00
syuilo 86fcd9208e New translations ja-JP.yml (Dutch) 2018-09-24 16:32:45 +09:00
syuilo f2b97a889c New translations ja-JP.yml (Japanese, Kansai) 2018-09-24 16:32:43 +09:00
syuilo 97f91102fe New translations ja-JP.yml (Spanish) 2018-09-24 16:32:39 +09:00
syuilo 07b04578c8 New translations ja-JP.yml (Russian) 2018-09-24 16:32:37 +09:00
syuilo 31f3c1996b New translations ja-JP.yml (Portuguese) 2018-09-24 16:32:35 +09:00
syuilo f4116e7300 New translations ja-JP.yml (Polish) 2018-09-24 16:32:31 +09:00
syuilo 5e5239c16e New translations ja-JP.yml (Korean) 2018-09-24 16:32:28 +09:00
syuilo 3adfcd1d13 New translations ja-JP.yml (Italian) 2018-09-24 16:32:25 +09:00
syuilo 3eb43a5413 New translations ja-JP.yml (German) 2018-09-24 16:32:22 +09:00
syuilo 80f41e2ac1 New translations ja-JP.yml (French) 2018-09-24 16:32:19 +09:00
syuilo 9e0b0b4210 New translations ja-JP.yml (English) 2018-09-24 16:32:17 +09:00
syuilo f3380d3184 New translations ja-JP.yml (Chinese Simplified) 2018-09-24 16:32:14 +09:00
syuilo 54bc91ea2b New translations ja-JP.yml (Catalan) 2018-09-24 16:32:11 +09:00
syuilo 7bb25917f8 New translations ja-JP.yml (French) 2018-09-23 20:11:14 +09:00
syuilo c5ff6df7e6 New translations ja-JP.yml (Norwegian) 2018-09-22 20:41:35 +09:00
syuilo e2b2982f95 New translations ja-JP.yml (Dutch) 2018-09-22 20:41:33 +09:00
syuilo a6e307010f New translations ja-JP.yml (Japanese, Kansai) 2018-09-22 20:41:31 +09:00
syuilo c636e35467 New translations ja-JP.yml (Spanish) 2018-09-22 20:41:28 +09:00
syuilo 3d26bd0532 New translations ja-JP.yml (Russian) 2018-09-22 20:41:26 +09:00
syuilo 16130e46dd New translations ja-JP.yml (Portuguese) 2018-09-22 20:41:23 +09:00
syuilo 9f703085ba New translations ja-JP.yml (Polish) 2018-09-22 20:41:20 +09:00
syuilo 0af09f13cf New translations ja-JP.yml (Korean) 2018-09-22 20:41:18 +09:00
syuilo cd8619113a New translations ja-JP.yml (Italian) 2018-09-22 20:41:16 +09:00
syuilo 4bf6d9f80b New translations ja-JP.yml (German) 2018-09-22 20:41:14 +09:00
syuilo a559b2c20c New translations ja-JP.yml (French) 2018-09-22 20:41:11 +09:00
syuilo 72411abfcd New translations ja-JP.yml (English) 2018-09-22 20:41:08 +09:00
syuilo 491c3f1dc0 New translations ja-JP.yml (Chinese Simplified) 2018-09-22 20:41:06 +09:00
syuilo d2ffc4df6c New translations ja-JP.yml (Catalan) 2018-09-22 20:41:04 +09:00
786 changed files with 34524 additions and 22115 deletions
+1 -1
View File
@@ -30,7 +30,7 @@ while :
touch patreon.cache && \
rm patreon.cache && \
cat patreon.raw.cache | \
jq -r '(.data|map(select(.relationships.currently_entitled_tiers.data[]))|map(.relationships.user.data.id))as$data|.included|map(select(.attributes.hide_pledges==false))|map(select(.id as$id|$data|contains([$id])))|map(.attributes|[.full_name,.thumb_url,.url]|@tsv)|.[]|@text' >> patreon.cache && \
jq -r '(.data|map(select(.relationships.currently_entitled_tiers.data[]))|map(.relationships.user.data.id))as$data|.included|map(select(.id as$id|$data|contains([$id])))|map(.attributes|[.full_name,.thumb_url,.url]|@tsv)|.[]|@text' >> patreon.cache && \
echo '<table><tr>' >> patreon.md.cache && \
cat patreon.cache | \
awk -F'\t' '{print $2,$1}' | \
+168
View File
@@ -0,0 +1,168 @@
version: 2.1
executors:
default:
working_directory: /tmp/workspace
docker:
- image: misskey/ci:latest
- image: circleci/mongo:latest
- image: circleci/redis:latest
docker:
working_directory: /tmp/workspace
docker:
- image: docker:latest
alpine:
working_directory: /tmp/workspace
docker:
- image: alpine:latest
jobs:
ok:
executor: alpine
steps:
- run:
name: OK
command: |
echo -e '\033[0;32mOK\033[0;39m'
build:
executor: default
steps:
- checkout
- run:
name: Ensure package-lock.json
command: |
[ ! -e package-lock.json ] && echo '{}' > package-lock.json
- restore_cache:
name: Restore npm package caches
keys:
- npm-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-lock-{{ checksum "package-lock.json" }}-
- npm-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-
- npm-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-
- npm-v1-arch-{{ arch }}-
- npm-v1-
- run:
name: Install Dependencies
command: |
npm install
npm prune
- run:
name: Configure
command: |
cp .circleci/misskey/default.yml .config
cp .circleci/misskey/test.yml .config
- run:
name: Build
command: |
npm run build || (echo -e '\033[0;34mRebuild modules\033[0;39m' && ls -1A node_modules | grep '^[^@]' | xargs npm rebuild && ls -1A node_modules | grep '^@' | xargs -I%1 sh -c 'ls -1A node_modules/'%1' | xargs -P0 -I%2 npm rebuild node_modules/'%1'/%2' && npm run build)
ls -1ARl node_modules > ls
- save_cache:
name: Cache npm packages
key: npm-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-lock-{{ checksum "package-lock.json" }}-ls-{{ checksum "ls" }}
paths:
- node_modules
# - store_artifacts:
# path: built
- persist_to_workspace:
root: .
paths:
- .
test:
parameters:
without_redis:
type: string
default: ""
executor: default
steps:
- attach_workspace:
at: /tmp/workspace
- when:
condition: <<parameters.without_redis>>
steps:
- run:
name: Configure
command: |
mv .config/test.yml .config/test_redis.yml
touch .config/test.yml
cat .config/test_redis.yml | while IFS= read line; do if [[ "$line" = '# __REDIS__' ]]; then break; else echo "$line" >> .config/test.yml; fi; done
- run:
name: Test
command: |
npm run test || (npm rebuild && npm run test) || ((node-gyp configure && node-gyp build && npm run build || (echo -e '\033[0;34mRebuild modules\033[0;39m' && ls -1A node_modules | grep '^[^@]' | xargs npm rebuild && ls -1A node_modules | grep '^@' | xargs -I%1 sh -c 'ls -1A node_modules/'%1' | xargs -P0 -I%2 npm rebuild node_modules/'%1'/%2' && npm run build)) && npm run test)
ls -1ARl node_modules > ls
- save_cache:
name: Cache npm packages
key: npm-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-lock-{{ checksum "package-lock.json" }}-ls-{{ checksum "ls" }}
paths:
- node_modules
docker:
parameters:
with_deploy:
type: string
default: ""
executor: docker
steps:
- checkout
- setup_remote_docker
- run:
name: Build
command: |
docker build -t misskey/misskey .
- when:
condition: <<parameters.with_deploy>>
steps:
- run:
name: Deploy
command: |
if [ "$DOCKERHUB_USERNAME$DOCKERHUB_PASSWORD" ]
then
apk update && apk add jq
docker tag misskey/misskey misskey/misskey:$(cat package.json | jq -r .version)
docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_PASSWORD
docker push misskey/misskey
else
echo -e '\033[0;33mAborted deploying to Docker Hub\033[0;39m'
fi
workflows:
version: 2
build-and-test:
jobs:
- ok:
filters:
branches:
only:
- l10n_develop
- imgbot
- build:
filters:
branches:
ignore:
- l10n_develop
- imgbot
- test:
requires:
- build
filters:
branches:
ignore:
# - master
- l10n_develop
- imgbot
- test:
without_redis: "true"
requires:
- build
filters:
branches:
only: master
# - docker:
# filters:
# branches:
# ignore: master
- docker:
with_deploy: "true"
filters:
branches:
only: master
+12
View File
@@ -0,0 +1,12 @@
url: 'http://misskey.local'
port: 80
mongodb:
host: localhost
port: 27017
db: misskey
user: syuilo
pass: ''
redis:
host: localhost
port: 6379
pass: ''
+13
View File
@@ -0,0 +1,13 @@
url: 'http://misskey.local'
port: 80
mongodb:
host: localhost
port: 27017
db: test-misskey
user: admin
pass: ''
# __REDIS__
redis:
host: localhost
port: 6379
pass: ''
+57 -80
View File
@@ -1,33 +1,47 @@
name: example-instance-name # Name of your instance
description: example-description # Description of your instance
# Final accessible URL seen by a user.
url: https://example.tld/
maintainer:
name: example-maitainer-name # Your name
url: http://example.com/ # Your contact (http or mailto)
repository_url: https://github.com/syuilo/misskey # Repository URL
feedback_url: https://github.com/syuilo/misskey/issues # Feedback URL (e.g. github issue)
# URL and Port settings overview
# e.g., If you want to realize following structure:
### Port and TLS settings ######################################
#
# +--- https://example.com:123 ----------+
# +------+ |+-------------+ +---------------+|
# | User | ---> || Proxy (123) | ---> | Misskey (456) ||
# +------+ |+-------------+ +---------------+|
# +--------------------------------------+
# Misskey supports two deployment options for public.
#
# You need to set 'https://example.com:123' to 'url' prop and
# You need to set 456 to 'port' prop.
# Option 1: With Reverse Proxy
#
# In other words, the 'url' prop should be the final accessible URL seen by a user.
# 'port' prop is a port that the Misskey server should actually listen
# on and it is not necessarily the port that a user accesses.
# +----- https://example.tld/ ------------+
# +------+ |+-------------+ +----------------+|
# | User | ---> || Proxy (443) | ---> | Misskey (3000) ||
# +------+ |+-------------+ +----------------+|
# +---------------------------------------+
#
# You need to setup reverse proxy. (eg. nginx)
# You do not define 'https' section.
url: http://localhost/
# Option 2: Standalone
#
# +- https://example.tld/ -+
# +------+ | +---------------+ |
# | User | ---> | | Misskey (443) | |
# +------+ | +---------------+ |
# +------------------------+
#
# You need to run Misskey as root.
# You need to set Certificate in 'https' section.
# To use option 1, uncomment below line.
# port: 3000 # A port that your Misskey server should listen.
# To use option 2, uncomment below lines.
# port: 443
#
# https:
# # path for certification
# key: /etc/letsencrypt/live/example.tld/privkey.pem
# cert: /etc/letsencrypt/live/example.tld/fullchain.pem
################################################################
# A port that your Misskey server should listen.
# This value is not a port to use when accessing with a browser.
port: 80
mongodb:
host: localhost
@@ -36,26 +50,6 @@ mongodb:
user: example-misskey-user
pass: example-misskey-pass
redis:
host: localhost
port: 6379
pass: example-pass
# Drive capacity of a local user (MB)
localDriveCapacityMb: 256
# Drive capacity of a remote user (MB)
remoteDriveCapacityMb: 8
# If enabled:
# Server will not cache remote files (Using direct link instead).
# You can save your storage.
#
# NOTE:
# * Users cannot see remote images when they turn off "Show media from a remote server" setting.
# * Since thumbnails are not provided, traffic increases.
preventCacheRemoteFiles: false
drive:
storage: 'db'
@@ -94,50 +88,33 @@ drive:
# accessKey: XXX
# secretKey: YYY
# If enabled:
# The first account created is automatically marked as Admin.
autoAdmin: true
#
# Below settings are optional
#
# TLS
# https:
# # path for certification
# key: example-tls-key
# cert: example-tls-cert
# Redis
#redis:
# host: localhost
# port: 6379
# pass: example-pass
# Elasticsearch
# elasticsearch:
# host: localhost
# port: 9200
# pass: null
# reCAPTCHA
# recaptcha:
# site_key: example-site-key
# secret_key: example-secret-key
#elasticsearch:
# host: localhost
# port: 9200
# pass: null
# ServiceWorker
# sw:
# # Public key of VAPID
# public_key: example-sw-public-key
# # Private key of VAPID
# private_key: example-sw-private-key
# google_maps_api_key: example-google-maps-api-key
# Twitter integration
# You need to set the oauth callback url as : https://<your-misskey-instance>/api/tw/cb
# twitter:
# consumer_key: example-twitter-consumer-key
# consumer_secret: example-twitter-consumer-secret-key
# Ghost
# Ghost account is an account used for the purpose of delegating
# followers when putting users in the list.
# ghost: user-id-of-your-ghost-account
#sw:
# # Public key of VAPID
# public_key: example-sw-public-key
#
# # Private key of VAPID
# private_key: example-sw-private-key
# Clustering
# clusterLimit: 1
# Summaly proxy
# summalyProxy: "http://example.com"
#clusterLimit: 1
+13
View File
@@ -0,0 +1,13 @@
var user = {
user: 'example-misskey-user',
pwd: 'example-misskey-pass',
roles: [
{
role: 'readWrite',
db: 'misskey'
}
]
};
db.createUser(user);
Executable
+12
View File
@@ -0,0 +1,12 @@
.autogen
.git
.github
.travis
.vscode
Dockerfile
build/
docker-compose.yml
node_modules/
mongo/
redis/
elasticsearch/
+5
View File
@@ -1,5 +1,6 @@
/.config/*
!/.config/example.yml
!/.config/mongo_initdb_example.js
/.vscode
/node_modules
/build
@@ -12,3 +13,7 @@ npm-debug.log
run.bat
api-docs.json
*.log
/redis
/mongo
/elasticsearch
*.code-workspace
-41
View File
@@ -1,41 +0,0 @@
# travis file
# https://docs.travis-ci.com/user/customizing-the-build
notifications:
email: false
branches:
except:
- l10n_master
language: node_js
node_js:
- 10.1.0
env:
- CXX=g++-4.8 NODE_ENV=production
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.8
cache:
directories:
- node_modules
services:
- mongodb
- redis-server
before_script:
- npm install
# 設定ファイルを配置
- cp ./.travis/default.yml ./.config
- cp ./.travis/test.yml ./.config
- travis_wait npm run build
-26
View File
@@ -1,26 +0,0 @@
maintainer: '@syuilo'
url: 'https://misskey.xyz'
secondary_url: 'https://himasaku.net'
port: 80
https:
enable: false
key: null
cert: null
ca: null
mongodb:
host: localhost
port: 27017
db: misskey
user: syuilo
pass: ''
redis:
host: localhost
port: 6379
pass: ''
elasticsearch:
host: localhost
port: 9200
pass: ''
recaptcha:
site_key: hima
secret_key: saku
-26
View File
@@ -1,26 +0,0 @@
maintainer: '@syuilo'
url: 'https://misskey.xyz'
secondary_url: 'https://himasaku.net'
port: 80
https:
enable: false
key: null
cert: null
ca: null
mongodb:
host: localhost
port: 27017
db: test-misskey
user: admin
pass: ''
redis:
host: localhost
port: 6379
pass: ''
elasticsearch:
host: localhost
port: 9200
pass: ''
recaptcha:
site_key: hima
secret_key: saku
+88
View File
@@ -5,6 +5,94 @@ ChangeLog
This document describes breaking changes only.
10.0.0
------
ストリーミングAPIに破壊的変更があります。運営者がすべきことはありません。
変更は以下の通りです
* ストリーミングでやり取りする際の snake_case が全て camelCase に
* リバーシのストリームエンドポイント名が reversi → gamesReversi、reversiGame → gamesReversiGame に
* ストリーミングの個々のエンドポイントが廃止され、一旦元となるストリームに接続してから、個々のチャンネル(今までのエンドポイント)に接続します。詳細は後述します。
* ストリームから流れてくる、キャプチャした投稿の更新イベントに投稿自体のデータは含まれず、代わりにアクションが設定されるようになります。詳細は後述します。
* ストリームに接続する際に追加で指定していたパラメータ(トークン除く)が、URLにクエリとして含むのではなくチャンネル接続時にパラメータ指定するように
### 個々のエンドポイントが廃止されることによる新しいストリーミングAPIの利用方法
具体的には、まず https://example.misskey/streaming にwebsocket接続します。
次に、例えば「messaging」ストリーム(チャンネルと呼びます)に接続したいときは、ストリームに次のようなデータを送信します:
``` javascript
{
type: 'connect',
body: {
channel: 'messaging',
id: 'foobar',
params: {
otherparty: 'xxxxxxxxxxxx'
}
}
}
```
ここで、`id`にはそのチャンネルとやり取りするための任意のIDを設定します。
IDはチャンネルごとではなく「チャンネルの接続ごと」です。なぜなら、同じチャンネルに異なるパラメータで複数接続するケースもあるからです。
`params`はチャンネルに接続する際のパラメータです。チャンネルによって接続時に必要とされるパラメータは異なります。パラメータ不要のチャンネルに接続する際は、このプロパティは省略可能です。
チャンネルにメッセージを送信するには、次のようなデータを送信します:
``` javascript
{
type: 'channel',
body: {
id: 'foobar',
type: 'something',
body: {
some: 'thing'
}
}
}
```
ここで、`id`にはチャンネルに接続するときに指定したIDを設定します。
逆に、チャンネルからメッセージが流れてくると、次のようなデータが受信されます:
``` javascript
{
type: 'channel',
body: {
id: 'foobar',
type: 'something',
body: {
some: 'thing'
}
}
}
```
ここで、`id`にはチャンネルに接続するときに指定したIDが設定されています。
### 投稿のキャプチャに関する変更
投稿の更新イベントに投稿情報は含まれなくなりました。代わりに、その投稿が「リアクションされた」「アンケートに投票された」「削除された」といったアクション情報が設定されます。
具体的には次のようなデータが受信されます:
``` javascript
{
type: 'noteUpdated',
body: {
id: 'xxxxxxxxxxx',
type: 'reacted',
body: {
reaction: 'hmm'
}
}
}
```
* reacted ... 投稿にリアクションされた。`reaction`プロパティにリアクションコードが含まれます。
* pollVoted ... アンケートに投票された。`choice`プロパティに選択肢ID、`userId`に投票者IDが含まれます。
9.0.0
-----
Misskey v8.64.0 を使っている方は、9.0.0に際しては特にすべきことはありません。
Misskey v8.64.0 に満たないバージョンをお使いの方は、一旦8.64.0にアップデートして(そして起動して)から9.0.0に再度アップデートしてください。
8.0.0
-----
+5 -5
View File
@@ -6,14 +6,14 @@ Feature suggestions and bug reports are filed in https://github.com/syuilo/missk
Before creating a new issue, please search existing issues to avoid duplication.
If you find the existing issue, please add your reaction or comment to the issue.
## Internationalization (i18n)
Please see [Translation guide](./docs/translate.en.md).
## Localization (l10n)
Please use [Crowdin](https://crowdin.com/project/misskey) for localization.
![Crowdin](https://d322cqt584bo4o.cloudfront.net/misskey/localized.svg)
## Internationalization (i18n)
Misskey uses [vue-i18n](https://github.com/kazupon/vue-i18n).
## Documentation
* Documents for contributors are located in `/docs`.
* Documents for instance admins are located in `/docs`.
@@ -23,5 +23,5 @@ Please use [Crowdin](https://crowdin.com/project/misskey) for localization.
* Test codes are located in `/test`.
## Continuous integration
Misskey uses Travis for automated test.
Configuration files are located in `/.travis`.
Misskey uses CircleCI for automated test.
Configuration files are located in `/.circleci`.
+43
View File
@@ -0,0 +1,43 @@
FROM node:11-alpine AS base
ENV NODE_ENV=production
RUN npm i -g npm@latest
WORKDIR /misskey
FROM base AS builder
RUN apk add --no-cache \
gcc \
g++ \
libc-dev \
python \
autoconf \
automake \
file \
make \
nasm \
pkgconfig \
libtool \
zlib-dev
RUN npm i -g node-gyp
COPY ./package.json ./
RUN npm i
COPY . ./
RUN node-gyp configure \
&& node-gyp build \
&& npm run build
FROM base AS runner
RUN apk add --no-cache tini
ENTRYPOINT ["/sbin/tini", "--"]
COPY --from=builder /misskey/node_modules ./node_modules
COPY --from=builder /misskey/built ./built
COPY . ./
CMD ["npm", "start"]
+37 -30
View File
@@ -3,16 +3,18 @@
[![Misskey](/assets/title.png)](https://misskey.xyz/)
================================================================
[![][travis-badge]][travis-link]
[![CircleCI](https://circleci.com/gh/syuilo/misskey.svg?style=svg)](https://circleci.com/gh/syuilo/misskey)
[![][dependencies-badge]][dependencies-link]
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) [![Greenkeeper badge](https://badges.greenkeeper.io/syuilo/misskey.svg)](https://greenkeeper.io/)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
**Sophisticated microblogging platform, evolving forever.**
[Misskey](https://misskey.xyz) is a decentralized microblogging platform born on Earth.
<p align="justify">
<a href="https://misskey.xyz">Misskey</a> is a decentralized microblogging platform born on Earth.
Since it exists within the Fediverse (a universe where various social media platforms are organized),
it is mutually linked with other social media platforms.
Why don't you take a short break from the hustle and bustle of the city, and dive into a new Internet? [Find instance!](https://joinmisskey.github.io/)
Why don't you take a short break from the hustle and bustle of the city, and dive into a new Internet? <a href="https://joinmisskey.github.io/">Find instance!</a>
</p>
<a href="https://www.patreon.com/syuilo"><img src="https://c5.patreon.com/external/logo/become_a_patron_button@2x.png" alt="Become a Patron!" width="160" /></a>
@@ -24,8 +26,8 @@ Why don't you take a short break from the hustle and bustle of the city, and div
<img src="/assets/about/post.png" align="left" height="200px"/>
<h3 align="left">Posting</h3>
<p align="left">
Just post your idea, hot topics and anything you want to share. You may want to decorate your words, attach your favorite pictures, send files including movies and create a poll - those are the things you can do on Misskey!
<p align="justify">
Just post your idea, hot topics and anything you want to share. You may decorate your words, attach your favorite pictures or movies, and create a poll - those are all supported in Misskey!
</p>
---
@@ -33,8 +35,8 @@ Just post your idea, hot topics and anything you want to share. You may want to
<img src="/assets/about/reaction.png" align="right" height="200px"/>
<h3 align="right">Reactions</h3>
<p align="right">
Easiest way to tell your emotions. Misskey allows you to add various type of reactions to others post. The emotional experience on Misskey will never be on other SNSs which only able to push “likes”.
<p align="justify">
The simplest way to tell your emotions to the posts. You can choose the best reaction from various reactions. Reactions on Misskey has much more expressive than other social media which only allows pushing “likes”.
</p>
---
@@ -42,8 +44,8 @@ Easiest way to tell your emotions. Misskey allows you to add various type of rea
<img src="/assets/about/ui.png" align="left" height="200px"/>
<h3 align="left">Interface</h3>
<p align="left">
No UI fits for everyone. Therefore, Misskey has a highly customizable UI for your taste. You can edit layouts of your timeline, place selectable widgets you can easily move and create your unique home as this place will be your home.
<p align="justify">
Highly customizable UI for your taste. We understand no UI fits for everyone. Make your graceful home by editing, adjusting layouts of timeline, and placing widgets.
</p>
---
@@ -51,13 +53,13 @@ No UI fits for everyone. Therefore, Misskey has a highly customizable UI for you
<img src="/assets/about/drive.png" align="right" width="300px"/>
<h3 align="right">Misskey Drive</h3>
<p align="right">
Wanna post a picture you have already uploaded? Wish to organize, name and create a folder for your uploaded files? Misskey Drive is the best solution for you. Very easy to share your files online.
<p align="justify">
Organized uploaded files. Wanna post a picture you have already uploaded? Wish to create a folder for your files? Misskey Drive is the best solution for you.
</p>
---
and more! You can see it with your own eyes at [misskey.xyz](https://misskey.xyz) or [other instances](https://joinmisskey.github.io/).
and more! Now it's time to experience the world with your own eyes at [misskey.xyz](https://misskey.xyz) or [other instances](https://joinmisskey.github.io/).
:package: Create your own instance
----------------------------------------------------------------
@@ -72,38 +74,45 @@ Please see [Contribution guide](./CONTRIBUTING.md).
<!-- PATREON_START -->
<table><tr>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/12731202/0995c46cdcb54153ab5f073f5869b70a/1?token-time=2145916800&token-hash=Yd60FK_SWfQO56SeiJpy1tDHOnCV4xdEywQe8gn5_Wo%3D" alt="negao"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/13099460/43cecdbaa63a40d79bf50a96b9910b9d/1?token-time=2145916800&token-hash=d6P5MWHHsCMxUuBAEPAoVc5wLUR19mIhqAq7Ma9h9rI%3D" alt="ne_moni"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/12913507/f7181eacafe8469a93033d85f5969c29/1?token-time=2145916800&token-hash=f03BFb4S2FUx9YEt87TnEmifb4h33OywGBW2akQVtQY%3D" alt="Melilot"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/12999811/5f349fafcce44dd1824a8b1ebbec4564/2?token-time=2145916800&token-hash=rwZ8qvbm_kpA4ib3kc07tVKupXeySpY5ATQFGxfL9v0%3D" alt="Axella"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/12913507/f7181eacafe8469a93033d85f5969c29/2?token-time=2145916800&token-hash=mgPdX9TqZxEg4TTPuc477dxhIgYk9246qafjWZEqZ7g%3D" alt="Melilot"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/3384329/8b713330cb27404ea6e9fac50ff96efe/1?token-time=2145916800&token-hash=0eu4-m1gTWA9PhptVZt6rdKcusqcD7RB87rJT23VVFI%3D" alt="べすれい"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/12021162/963128bb8d14476dbd8407943db8f31a/1?token-time=2145916800&token-hash=GgJ_NmUB6_nnRNLVGUWjV-WX91On7BOu59LKncYV9fE%3D" alt="gutfuckllc"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/11357794/923ce94cd8c44ba788ee931907881839/1?token-time=2145916800&token-hash=I8lJVM8LeW6TSo5W6uIIRZ42cw83zp1wK_FsbzY0mcQ%3D" alt="mydarkstar"></td>
<td><img src="https://c8.patreon.com/2/100/12718187" alt="Peter G."></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/13039004/509d0c412eb14ae08d6a812a3054f7d6/1?token-time=2145916800&token-hash=zwSu01tOtn5xTUucDZHuPsCxF2HBEMVs9ROJKTlEV_o%3D" alt="nemu"></td>
</tr><tr>
<td><a href="https://www.patreon.com/user?u=12731202">negao</a></td>
<td><a href="https://www.patreon.com/user?u=13099460">ne_moni</a></td>
<td><a href="https://www.patreon.com/negao">negao</a></td>
<td><a href="https://www.patreon.com/user?u=12913507">Melilot</a></td>
<td><a href="https://www.patreon.com/AxellaMC">Axella</a></td>
<td><a href="https://www.patreon.com/user?u=3384329">べすれい</a></td>
<td><a href="https://www.patreon.com/gutfuckllc">gutfuckllc</a></td>
<td><a href="https://www.patreon.com/mydarkstar">mydarkstar</a></td>
<td><a href="https://www.patreon.com/user?u=12718187">Peter G.</a></td>
<td><a href="https://www.patreon.com/user?u=13039004">nemu</a></td>
</tr></table>
<table><tr>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/5881381/6235ca5d3fb04c8e95ef5b4ff2abcc18/2?token-time=2145916800&token-hash=zElv7ZcPL3viGsXbNG_KWiKrbV0vvw1gk0panx8DJoo%3D" alt="Naoki Kosaka"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/12931605/ead494101f364dffa90efe49e36fb494/1?token-time=2145916800&token-hash=NzSFPjIlodXyv41rwK61aZWVZWfI4surJaNj8vWKvqM%3D" alt="Reiju"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/13039004/509d0c412eb14ae08d6a812a3054f7d6/1?token-time=2145916800&token-hash=zwSu01tOtn5xTUucDZHuPsCxF2HBEMVs9ROJKTlEV_o%3D" alt="nemu"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/5881381/6235ca5d3fb04c8e95ef5b4ff2abcc18/3?token-time=2145916800&token-hash=qsdn0-e6yLaLI6hUX9JAkyTR6a5UdnSp7T1foniBvGQ%3D" alt="YUKIMOCHI"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/8241184/39e18850e87a449e9c9a71acb3310ebd/2?token-time=2145916800&token-hash=iUXOQzRyJDv3PJxwS7Mjwg1459dzh2trOq6NFtXu_OM%3D" alt="Acid Chicken"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/13034746/c711c7f58e204ecfbc2fd646bc8a4eee/1?token-time=2145916800&token-hash=UERBN4OyP7Nh5XwwdDg0N0IE5cD6_qUQMO81Z5Wizso%3D" alt="Hiratake"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/10789744/97175095d8f04c0f86225ff47cb98d40/1?token-time=2145916800&token-hash=P4BIzCX2I1CkEP66ottfhsC8Wr6BUSamjA-vq3pLqFI%3D" alt="Naoki Hirayama"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/4503830/ccf2cc867ea64de0b524bb2e24b9a1cb/1?token-time=2145916800&token-hash=S1zP0QyLU52Dqq6dtc9qNYyWfW86XrYHiR4NMbeOrnA%3D" alt="dansup"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/619786/32cf01444db24e578cd1982c197f6fc6/1?token-time=2145916800&token-hash=tB1e_r8RlZ5sFL0KV_e8dugapxatNBRK1Z3h67TO1g8%3D" alt="Gargron"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/5731881/4b6038e6cda34c04b83a5fcce3806a93/1?token-time=2145916800&token-hash=VZUtwrjQa8Jml4twCjHYQQZ64wHEY4oIlGl7Kc-VYUQ%3D" alt="Nokotaro Takeda"></td>
</tr><tr>
<td><a href="https://www.patreon.com/user?u=13039004">nemu</a></td>
<td><a href="https://www.patreon.com/yukimochi">YUKIMOCHI</a></td>
<td><a href="https://www.patreon.com/acid_chicken">Acid Chicken</a></td>
<td><a href="https://www.patreon.com/hiratake">Hiratake</a></td>
<td><a href="https://www.patreon.com/spinlock">Naoki Hirayama</a></td>
<td><a href="https://www.patreon.com/dansup">dansup</a></td>
<td><a href="https://www.patreon.com/mastodon">Gargron</a></td>
<td><a href="https://www.patreon.com/takenoko">Nokotaro Takeda</a></td>
</tr></table>
<table><tr>
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/12531784/93a45137841849329ba692da92ac7c60/1?token-time=2145916800&token-hash=tMosUojzUYJCH_3t--tvYA-SMCyrS__hzSndyaRSnbo%3D" alt="Takashi Shibuya"></td>
</tr><tr>
<td><a href="https://www.patreon.com/user?u=5881381">Naoki Kosaka</a></td>
<td><a href="https://www.patreon.com/user?u=12931605">Reiju</a></td>
<td><a href="https://www.patreon.com/hiratake">Hiratake</a></td>
<td><a href="https://www.patreon.com/dansup">dansup</a></td>
<td><a href="https://www.patreon.com/user?u=12531784">Takashi Shibuya</a></td>
</tr></table>
**Last updated:** Sun, 02 Sep 2018 05:30:06 UTC
**Last updated:** Fri, 23 Nov 2018 14:09:04 UTC
<!-- PATREON_END -->
:four_leaf_clover: Copyright
@@ -116,8 +125,6 @@ Misskey is an open-source software licensed under the [GNU AGPLv3](LICENSE).
[agpl-3.0]: https://www.gnu.org/licenses/agpl-3.0.en.html
[agpl-3.0-badge]: https://img.shields.io/badge/license-AGPL--3.0-444444.svg?style=flat-square
[travis-link]: https://travis-ci.org/syuilo/misskey
[travis-badge]: http://img.shields.io/travis/syuilo/misskey/master.svg?style=flat-square
[dependencies-link]: https://david-dm.org/syuilo/misskey
[dependencies-badge]: https://img.shields.io/david/syuilo/misskey.svg?style=flat-square
-13
View File
@@ -1,13 +0,0 @@
const deleteUser = require('../built/models/user').deleteUser;
const args = process.argv.slice(2);
const userId = args[0];
console.log(`deleting ${userId}...`);
deleteUser(userId).then(() => {
console.log('done');
}, e => {
console.error(e);
});
-23
View File
@@ -1,23 +0,0 @@
const mongo = require('mongodb');
const User = require('../built/models/user').default;
const args = process.argv.slice(2);
const user = args[0];
const q = user.startsWith('@') ? {
username: user.split('@')[1],
host: user.split('@')[2] || null
} : { _id: new mongo.ObjectID(user) };
console.log(`Mark as verfied ${user}...`);
User.update(q, {
$set: {
isVerified: true
}
}).then(() => {
console.log(`Done ${user}`);
}, e => {
console.error(e);
});
-42
View File
@@ -1,42 +0,0 @@
const { default: Note } = require('../built/models/note');
const { default: Meta } = require('../built/models/meta');
const { default: User } = require('../built/models/user');
async function main() {
const meta = await Meta.findOne({});
const notesCount = await Note.count();
const usersCount = await User.count();
const originalNotesCount = await Note.count({
'_user.host': null
});
const originalUsersCount = await User.count({
host: null
});
const stats = {
notesCount,
usersCount,
originalNotesCount,
originalUsersCount
};
if (meta) {
await Meta.update({}, {
$set: {
stats
}
});
} else {
await Meta.insert({
stats
});
}
}
main().then(() => {
console.log('done');
}).catch(console.error);
-29
View File
@@ -1,29 +0,0 @@
const mongo = require('mongodb');
const bcrypt = require('bcryptjs');
const User = require('../built/models/user').default;
const args = process.argv.slice(2);
const user = args[0];
const q = user.startsWith('@') ? {
username: user.split('@')[1],
host: user.split('@')[2] || null
} : { _id: new mongo.ObjectID(user) };
console.log(`Resetting password for ${user}...`);
const passwd = 'yo';
// Generate hash of password
const hash = bcrypt.hashSync(passwd);
User.update(q, {
$set: {
password: hash
}
}).then(() => {
console.log(`Password of ${user} is now '${passwd}'`);
}, e => {
console.error(e);
});
-23
View File
@@ -1,23 +0,0 @@
const mongo = require('mongodb');
const User = require('../built/models/user').default;
const args = process.argv.slice(2);
const user = args[0];
const q = user.startsWith('@') ? {
username: user.split('@')[1],
host: user.split('@')[2] || null
} : { _id: new mongo.ObjectID(user) };
console.log(`Suspending ${user}...`);
User.update(q, {
$set: {
isSuspended: true
}
}).then(() => {
console.log(`Suspended ${user}`);
}, e => {
console.error(e);
});
-12
View File
@@ -1,12 +0,0 @@
const updatePerson = require('../built/remote/activitypub/models/person').updatePerson;
const args = process.argv.slice(2);
const user = args[0];
console.log(`Updating ${user}...`);
updatePerson(user).then(() => {
console.log(`Updated ${user}`);
}, e => {
console.error(e);
});
+52
View File
@@ -0,0 +1,52 @@
version: "3"
services:
web:
build: .
restart: always
links:
- mongo
# - redis
# - es
ports:
- "127.0.0.1:3000:3000"
networks:
- internal_network
- external_network
# redis:
# restart: always
# image: redis:4.0-alpine
# networks:
# - internal_network
### Uncomment to enable Redis persistance
## volumes:
## - ./redis:/data
mongo:
restart: always
image: mongo:4.1
networks:
- internal_network
environment:
MONGO_INITDB_DATABASE: "misskey"
volumes:
- ./.config/mongo_initdb.js:/docker-entrypoint-initdb.d/mongo_initdb.js:ro
### Uncomment to enable MongoDB persistance
# - ./mongo:/data
# es:
# restart: always
# image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.4.2
# environment:
# - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
# networks:
# - internal_network
#### Uncomment to enable ES persistence
## volumes:
## - ./elasticsearch:/usr/share/elasticsearch/data
networks:
internal_network:
internal: true
external_network:
+22
View File
@@ -0,0 +1,22 @@
Comment faire une sauvegarde de votre Misskey ?
==========================
Assurez-vous d'avoir installé **mongodb-tools**.
---
Dans votre terminal :
``` shell
$ mongodump --archive=db-backup -u <VotreNomdUtilisateur> -p <VotreMotDePasse>
```
Pour plus de détails, merci de consulter [la documentation de mongodump](https://docs.mongodb.com/manual/reference/program/mongodump/).
Restauration
-------
``` shell
$ mongorestore --archive=db-backup
```
Pour plus de détails, merci de consulter [la documentation de mongorestore](https://docs.mongodb.com/manual/reference/program/mongorestore/).
+1 -1
View File
@@ -10,7 +10,7 @@ In your shell:
$ mongodump --archive=db-backup -u <YourUserName> -p <YourPassword>
```
For details, plese see [mongodump docs](https://docs.mongodb.com/manual/reference/program/mongodump/).
For details, please see [mongodump docs](https://docs.mongodb.com/manual/reference/program/mongodump/).
Restore
-------
+53
View File
@@ -0,0 +1,53 @@
Docker Guide
================================================================
This guide describes how to install and setup Misskey with Docker.
[Japanese version also available - 日本語版もあります](./docker.ja.md)
----------------------------------------------------------------
*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 -v 'rc[0-9]*$' | sort -V | tail -n 1)` Checkout to the [latest release](https://github.com/syuilo/misskey/releases/latest) tag.
*2.* Configure Misskey
----------------------------------------------------------------
1. `cp .config/example.yml .config/default.yml` Copy the `.config/example.yml` and rename it to `default.yml`.
2. `cp .config/mongo_initdb_example.js .config/mongo_initdb.js` Copy the `.config/mongo_initdb_example.js` and rename it to `mongo_initdb.js`.
2. Edit `default.yml` and `mongo_initdb.js`.
*3.* Configure Docker
----------------------------------------------------------------
Edit `docker-compose.yml`.
*4.* Build Misskey
----------------------------------------------------------------
Build misskey with the following:
`docker-compose build`
*5.* That is it.
----------------------------------------------------------------
Well done! Now you have an environment to run Misskey.
### Launch normally
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 -v 'rc[0-9]*$' | sort -V | tail -n 1)`
4. `git stash pop`
5. `docker-compose build`
6. Check [ChangeLog](../CHANGELOG.md) for migration information
7. `docker-compose stop && docker-compose up -d`
### How to execute [cli commands](manage.en.md):
`docker-compose run --rm web node cli/mark-admin @example`
----------------------------------------------------------------
If you have any questions or trouble, feel free to contact us!
+54
View File
@@ -0,0 +1,54 @@
Dockerを使ったMisskey構築方法
================================================================
このガイドはDockerを使ったMisskeyセットアップ方法について解説します。
[英語版もあります - English version also available](./docker.en.md)
----------------------------------------------------------------
*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 -v 'rc[0-9]*$' | sort -V | tail -n 1)` [最新のリリース](https://github.com/syuilo/misskey/releases/latest)を確認
*2.* 設定ファイルを作成する
----------------------------------------------------------------
1. `cp .config/example.yml .config/default.yml` `.config/example.yml`をコピーし名前を`default.yml`にする
2. `cp .config/mongo_initdb_example.js .config/mongo_initdb.js` `.config/mongo_initdb_example.js`をコピーし名前を`mongo_initdb.js`にする
3. `default.yml``mongo_initdb.js`を編集する
*3.* Dockerの設定
----------------------------------------------------------------
`docker-compose.yml`を編集してください。
*4.* Misskeyのビルド
----------------------------------------------------------------
次のコマンドでMisskeyをビルドしてください:
`docker-compose build`
*5.* 以上です!
----------------------------------------------------------------
お疲れ様でした。これでMisskeyを動かす準備は整いました。
### 通常起動
`docker-compose up -d`するだけです。GLHF!
### Misskeyを最新バージョンにアップデートする方法:
1. `git fetch`
2. `git stash`
3. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)`
4. `git stash pop`
5. `docker-compose build`
6. [ChangeLog](../CHANGELOG.md)でマイグレーション情報を確認する
7. `docker-compose stop && docker-compose up -d`
### cliコマンドを実行する方法:
`docker-compose run --rm web node cli/mark-admin @example`
----------------------------------------------------------------
なにかお困りのことがありましたらお気軽にご連絡ください。
+3 -20
View File
@@ -8,28 +8,11 @@ coming soon
node cli/mark-admin (User-ID or Username)
```
## Mark as 'verified' user
``` shell
node cli/mark-verified (User-ID or Username)
```
## Suspend users
``` shell
node cli/suspend (User-ID or Username)
```
e.g.
``` shell
# Use id
node cli/suspend 57d01a501fdf2d07be417afe
# By id
node cli/mark-admin 57d01a501fdf2d07be417afe
# Use username
# By username
node cli/suspend @syuilo
# Use username (remote)
node cli/suspend @syuilo@misskey.xyz
```
## Reset password
``` shell
node cli/reset-password (User-ID or Username)
```
+2 -19
View File
@@ -8,28 +8,11 @@ coming soon
node cli/mark-admin (ユーザーID または ユーザー名)
```
## 'verified'ユーザーを設定する
``` shell
node cli/mark-verified (ユーザーID または ユーザー名)
```
## ユーザーを凍結する
``` shell
node cli/suspend (ユーザーID または ユーザー名)
```
例:
``` shell
# ユーザーID
node cli/suspend 57d01a501fdf2d07be417afe
node cli/mark-admin 57d01a501fdf2d07be417afe
# ユーザー名
node cli/suspend @syuilo
# ユーザー名 (リモート)
node cli/suspend @syuilo@misskey.xyz
```
## ユーザーのパスワードをリセットする
``` shell
node cli/reset-password (ユーザーID または ユーザー名)
node cli/mark-admin @syuilo
```
+11 -23
View File
@@ -10,7 +10,7 @@ This guide describes how to install and setup Misskey.
*1.* Create Misskey user
----------------------------------------------------------------
Running misskey on root is not a good idea so we create a user for that.
Running misskey as root is not a good idea so we create a user for that.
In debian for exemple :
```
@@ -22,17 +22,17 @@ adduser --disabled-password --disabled-login misskey
Please install and setup these softwares:
#### Dependencies :package:
* **[Node.js](https://nodejs.org/en/)**
* **[Node.js](https://nodejs.org/en/)** >= 10.0.0
* **[MongoDB](https://www.mongodb.com/)** >= 3.6
* **[Redis](https://redis.io/)**
##### Optional
* [Elasticsearch](https://www.elastic.co/) - used to provide searching feature instead of MongoDB
* [Redis](https://redis.io/)
* Redis is optional, but we strongly recommended to install it
* [Elasticsearch](https://www.elastic.co/) - required to enable the search feature
*3.* Setup MongoDB
----------------------------------------------------------------
In root :
As root:
1. `mongo` Go to the mongo shell
2. `use misskey` Use the misskey database
3. `db.users.save( {dummy:"dummy"} )` Write dummy data to initialize the db.
@@ -47,29 +47,17 @@ In root :
4. `git checkout $(git tag -l | grep -v 'rc[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.
*(optional)* reCAPTCHA tokens
----------------------------------------------------------------
If you want to enable reCAPTCHA, you need to generate reCAPTCHA tokens:
Please visit https://www.google.com/recaptcha/intro/ and generate keys.
*(optional)* Generating VAPID keys
*(optional)* Generate VAPID keys
----------------------------------------------------------------
If you want to enable ServiceWorker, you need to generate VAPID keys:
Unless you have set your global node_modules location elsewhere, you need to run this in root.
Unless you have set your global node_modules location elsewhere, you need to run this as root.
``` shell
npm install web-push -g
web-push generate-vapid-keys
```
*(optional)* Create a twitter application
----------------------------------------------------------------
If you want to enable the twitter integration, you need to create a twitter app at [https://developer.twitter.com/en/apply/user](https://developer.twitter.com/en/apply/user).
In the app you need to set the oauth callback url as : https://misskey-instance/api/tw/cb
*5.* Make configuration file
*5.* Configure Misskey
----------------------------------------------------------------
1. `cp .config/example.yml .config/default.yml` Copy the `.config/example.yml` and rename it to `default.yml`.
2. Edit `default.yml`
@@ -81,7 +69,7 @@ Build misskey with the following:
`npm run build`
If you're on Debian, you will need to install the `build-essential` package.
If you're on Debian, you will need to install the `build-essential`, `python` package.
If you're still encountering errors about some modules, use node-gyp:
@@ -126,7 +114,7 @@ WantedBy=multi-user.target
You can check if the service is running with `systemctl status misskey`.
### Way to Update to latest version of your Misskey
### How to update your Misskey server to the latest version
1. `git fetch`
2. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)`
3. `npm install`
+126
View File
@@ -0,0 +1,126 @@
Guide d'installation et de configuration de Misskey
================================================================
Nous vous remerçions de l'intrêt que vous manifestez pour l'installation de votre propre instance Misskey !
Ce guide décrit les étapes à suivre afin d'installer et de configurer une instance Misskey.
[La version en japonnais est également disponible sur - 日本語版もあります](./setup.ja.md)
----------------------------------------------------------------
*1.* Création de l'utilisateur Misskey
----------------------------------------------------------------
Lancer misskey en tant qu'utilisateur est une mauvaise idée, nous avons besoin de créer un utilisateur dédié.
Sur Debian, à titre d'exemple :
```
adduser --disabled-password --disabled-login misskey
```
*2.* Installation des dépendances
----------------------------------------------------------------
Installez les paquets suivants :
#### Dépendences :package:
* **[Node.js](https://nodejs.org/en/)** >= 10.0.0
* **[MongoDB](https://www.mongodb.com/)** >= 3.6
##### Optionnels
* [Redis](https://redis.io/)
* Redis est optionnel mais nous vous recommandons vivement de l'installer
* [Elasticsearch](https://www.elastic.co/) - requis pour pouvoir activer la fonctionnalité de recherche
*3.* Paramètrage de MongoDB
----------------------------------------------------------------
En mode root :
1. `mongo` Accédez au shell de mango
2. `use misskey` Utilisez la base de données misskey
3. `db.users.save( {dummy:"dummy"} )` Write dummy data to initialize the db.
4. `db.createUser( { user: "misskey", pwd: "<password>", roles: [ { role: "readWrite", db: "misskey" } ] } )` Créez l'utilisateur misskey.
5. `exit` Vous avez terminé !
*4.* 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 -v 'rc[0-9]*$' | sort -V | tail -n 1)` Télécharge la [version la plus récente](https://github.com/syuilo/misskey/releases/latest)
5. `npm install` Installez les dépendances de misskey.
*(optionnel)* Génération des clés VAPID
----------------------------------------------------------------
Si vous désirez activer ServiceWorker, vous devez générer les clés VAPID :
Unless you have set your global node_modules location elsewhere, vous devez lancer ceci en mode root.
``` shell
npm install web-push -g
web-push generate-vapid-keys
```
*5.* 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`.
2. Editez le fichier `default.yml`
*6.* Construction de Misskey
----------------------------------------------------------------
Construisez Misskey comme ceci :
`npm run build`
Si vous êtes sous Debian, vous serez amené à installer les paquets `build-essential`, `python`.
Si vous rencontrez des erreurs concernant certains modules, utilisez node-gyp:
1. `npm install -g node-gyp`
2. `node-gyp configure`
3. `node-gyp build`
4. `npm run build`
*7.* C'est tout.
----------------------------------------------------------------
Excellent ! Maintenant, vous avez un environnement prêt pour lancer Misskey
### Lancement conventionnel
Lancez tout simplement `npm start`. Bonne chance et amusez-vous bien !
### Démarrage avec systemd
1. Créez une service systemd sur : `/etc/systemd/system/misskey.service`
2. Editez-le puis copiez et coller ceci dans le fichier :
```
[Unit]
Description=Misskey daemon
[Service]
Type=simple
User=misskey
ExecStart=/usr/bin/npm start
WorkingDirectory=/home/misskey/misskey
TimeoutSec=60
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=misskey
Restart=always
[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.
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 -v 'rc[0-9]*$' | sort -V | tail -n 1)`
3. `npm install`
4. `npm run build`
5. Consultez [ChangeLog](../CHANGELOG.md) pour les information de migration.
----------------------------------------------------------------
Si vous rencontrez des difficultés ou avez d'autres questions, n'hésitez pas à nous contacter !
+10 -8
View File
@@ -22,12 +22,19 @@ adduser --disabled-password --disabled-login misskey
これらのソフトウェアをインストール・設定してください:
#### 依存関係 :package:
* **[Node.js](https://nodejs.org/en/)**
* **[Node.js](https://nodejs.org/en/)** (10.0.0以上)
* **[MongoDB](https://www.mongodb.com/)** (3.6以上)
* **[Redis](https://redis.io/)**
##### オプション
* [Elasticsearch](https://www.elastic.co/) - 検索機能を向上させるために用います。
* [Redis](https://redis.io/)
* Redisはオプションですが、インストールすることを強く推奨します。
* インストールしなくていいのは、あなたのインスタンスが自分専用のときだけとお考えください。
* 具体的には、Redisをインストールしないと、次の事が出来なくなります:
* Misskeyプロセスを複数起動しての負荷分散
* レートリミット
* Twitter連携
* [Elasticsearch](https://www.elastic.co/)
* 検索機能を有効にするためにはインストールが必要です。
*3.* MongoDBの設定
----------------------------------------------------------------
@@ -46,11 +53,6 @@ adduser --disabled-password --disabled-login misskey
4. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)` [最新のリリース](https://github.com/syuilo/misskey/releases/latest)を確認
5. `npm install` Misskeyの依存パッケージをインストール
*(オプション)* reCAPTCHAトークン
----------------------------------------------------------------
reCAPTCHAを有効にする場合、reCAPTCHAトークンを取得する必要があります。
https://www.google.com/recaptcha/intro/ にアクセスしてトークンを取得してください。
*(オプション)* VAPIDキーペアの生成
----------------------------------------------------------------
ServiceWorkerを有効にする場合、VAPIDキーペアを生成する必要があります:
-23
View File
@@ -1,23 +0,0 @@
Misskey's Translation
=====================
If you find an untranslated part on Misskey:
--------------------------------------------
1. Look for untranslated parts in the misskey's source code.
- For instance, if you find an untranslated part in: `src/client/app/mobile/views/pages/home.vue`.
2. Replace the untranslated portion with a character string of the form `%i18n:@foo%`.
- In fact, `foo` should be a word that is appropriate for the situation and is easy to understand in English.
- For example, if the untranslated portion is the following "タイムライン" you must write: `%i18n:@timeline%`.
3. Open the `locales/ja-JP.yml`, check whether the <strong>file name (path)</strong> found in step 1 exists, if not, create it.
- Do not put the beginning of the path `src/client/app/` in the locale file.
- For example, in this case we want to modify untranslated parts of `src/client/app/mobile/views/pages/home.vue`, so the key is `mobile/views/pages/home.vue`.
4. Add the text property using the `foo` keyword below the path that you found or created in step 2. Make sure to type your text in quotation marks. Text should always be inside of quotes.
- For example, in this case we add timeline: `timeline: "タイムライン"` to `locales/ja-JP.yml`.
5. And done
For more details, please refer to this [commit](https://github.com/syuilo/misskey/commit/10f6d5980fa7692ccb45fbc5f843458b69b7607c).
-23
View File
@@ -1,23 +0,0 @@
Traduction de Misskey
=====================
Si vous trouvez un segment non-traduit sur Misskey :
----------------------------------------------------
1. Veuillez chercher des parties non-traduites dans le code source de Misskey.
- Par exemple, supposons que vous trouviez un segment non-traduit dans : `src/client/app/mobile/views/pages/home.vue`.
2. Remplacez la portion non-traduite par une chaîne de caractères de type `%i18n:@foo%`.
- En fait, `foo` doit être un mot approprié à la situation et facile à comprendre en français.
- Par exemple, si le segment non-traduit est「タイムライン」on peut écrire : `%i18n:@timeline%`.
3. Ouvrez chaque fichier linguistique dans /locales, vérifiez si le <strong>nom du fichier (chemin)</strong> trouvé dans l'étape 1 existe, sinon créez-le.
- Ne mettez pas le début du chemin `src/client/app/` dans les fichiers /locales.
- Par exemple, dans ce cas de figure, nous voulons modifier le segment non-traduit de : `src/client/app/mobile/views/pages/home.vue`donc il faut juste écrire : `mobile/views/pages/home.vue` dans les fichiers linguistiques.
4. Ajoutez la propriété du texte traduit grâce à la clef `foo`, en-dessous du chemin correspondant à votre modification que vous avez trouvé ou créé dans l'étape 2. À côté, veuillez indiquer entre "guillemets" la valeur de votre traduction.
- Par exemple, dans ce cas de figure, nous ajoutons la propriété et la traduction `timeline: "Timeline"` à `locales/fr.yml`, mais aussi la propriété et la version originale `timeline: "タイムライン"` à `locales/ja-JP.yml`.
5. Vous avez réussi à traduire une portion de misskey
Pour plus de détails, veuillez vous référer à ce [commit](https://github.com/syuilo/misskey/commit/10f6d5980fa7692ccb45fbc5f843458b69b7607c).
-23
View File
@@ -1,23 +0,0 @@
Misskeyの翻訳
============
Misskey内の未翻訳箇所を見つけたら
-------------------------------
1. Misskeyのソースコード内から未翻訳箇所を探してください。
- 例えば`src/client/app/mobile/views/pages/home.vue`で未翻訳箇所を見つけたとします。
2. 未翻訳箇所を`%i18n:@foo%`のような形式の文字列に置換してください。
- `foo`は実際にはその場に適したわかりやすい(英語の)名前にしてください。
- 例えば未翻訳箇所が「タイムライン」というテキストだった場合、`%i18n:@timeline%`のようにします。
3. `locales/ja-JP.yml`を開き、1.で見つけた<strong>ファイル名(パス)</strong>のキーが存在するか確認し、無ければ作成してください。
- パスの`src/client/app/`は省略してください。
- 例えば、今回の例では`src/client/app/mobile/views/pages/home.vue`の未翻訳箇所を修正したいので、キーは`mobile/views/pages/home.vue`になります。
4. そのキーの直下に2.で置換した`foo`の部分をキーとし、テキストを値とするプロパティを追加します。
- 例えば、今回の例で言うと`locales/ja-JP.yml``timeline: "タイムライン"`を追加します。
5. 完了です!
詳しくは、[このコミット](https://github.com/syuilo/misskey/commit/10f6d5980fa7692ccb45fbc5f843458b69b7607c)などを参考にしてください。
+10 -16
View File
@@ -2,10 +2,10 @@
* Gulp tasks
*/
import * as fs from 'fs';
import * as gulp from 'gulp';
import * as gutil from 'gulp-util';
import * as ts from 'gulp-typescript';
const yaml = require('gulp-yaml');
const sourcemaps = require('gulp-sourcemaps');
import tslint from 'gulp-tslint';
const cssnano = require('gulp-cssnano');
@@ -22,7 +22,6 @@ import * as htmlmin from 'gulp-htmlmin';
const uglifyes = require('uglify-es');
const locales = require('./locales');
import { fa } from './src/misc/fa';
const uglify = uglifyComposer(uglifyes, console);
@@ -41,6 +40,7 @@ gulp.task('build', [
'build:ts',
'build:copy',
'build:client',
'locales',
'doc'
]);
@@ -59,16 +59,7 @@ gulp.task('build:copy:views', () =>
gulp.src('./src/server/web/views/**/*').pipe(gulp.dest('./built/server/web/views'))
);
// 互換性のため
gulp.task('build:copy:lang', () =>
gulp.src(['./built/client/assets/*.*-*.js'])
.pipe(rename(path => {
path.basename = path.basename.replace(/\-(.*)$/, '');
}))
.pipe(gulp.dest('./built/client/assets/'))
);
gulp.task('build:copy', ['build:copy:views', 'build:copy:lang'], () =>
gulp.task('build:copy', ['build:copy:views'], () =>
gulp.src([
'./build/Release/crypto_key.node',
'./src/const.json',
@@ -165,10 +156,7 @@ gulp.task('build:client:pug', [
gulp.src('./src/client/app/base.pug')
.pipe(pug({
locals: {
themeColor: constants.themeColor,
facss: fa.dom.css(),
//hljscss: fs.readFileSync('./node_modules/highlight.js/styles/default.css', 'utf8')
hljscss: fs.readFileSync('./src/client/assets/code-highlight.css', 'utf8')
themeColor: constants.themeColor
}
}))
.pipe(htmlmin({
@@ -206,6 +194,12 @@ gulp.task('build:client:pug', [
.pipe(gulp.dest('./built/client/app/'))
);
gulp.task('locales', () =>
gulp.src('./locales/*.yml')
.pipe(yaml({ schema: 'DEFAULT_SAFE_SCHEMA' }))
.pipe(gulp.dest('./built/client/assets/locales/'))
);
gulp.task('doc', () =>
gulp.src('./src/docs/**/*.styl')
.pipe(stylus())
+3
View File
@@ -1,3 +1,6 @@
# **DO NOT edit locale files** except `ja-JP.yml`.
When you add text to the ja-JP file (of syuilo/misskey), it will automatically be applied to other language files.
Translations added in ja-JP file should contain the original Japanese strings.
Please see [Contribution guide](../CONTRIBUTING.md) for more information.
+406 -191
View File
File diff suppressed because it is too large Load Diff
+518 -303
View File
File diff suppressed because it is too large Load Diff
+425 -210
View File
File diff suppressed because it is too large Load Diff
+424 -209
View File
File diff suppressed because it is too large Load Diff
+585 -370
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -5,7 +5,7 @@
const fs = require('fs');
const yaml = require('js-yaml');
const langs = ['de-DE', 'en-US', 'fr-FR', 'ja-JP', 'ja-KS', 'pl-PL', 'es-ES', 'nl-NL'];
const langs = ['de-DE', 'en-US', 'fr-FR', 'ja-JP', 'ja-KS', 'pl-PL', 'es-ES', 'nl-NL', 'zh-CN'];
const loadLocale = lang => yaml.safeLoad(fs.readFileSync(`${__dirname}/${lang}.yml`, 'utf-8'));
const locales = langs.map(lang => ({ [lang]: loadLocale(lang) }));
+409 -194
View File
File diff suppressed because it is too large Load Diff
+398 -207
View File
File diff suppressed because it is too large Load Diff
+506 -291
View File
File diff suppressed because it is too large Load Diff
+443 -228
View File
File diff suppressed because it is too large Load Diff
+423 -208
View File
File diff suppressed because it is too large Load Diff
+705 -490
View File
File diff suppressed because it is too large Load Diff
+428 -213
View File
File diff suppressed because it is too large Load Diff
+408 -193
View File
File diff suppressed because it is too large Load Diff
+409 -194
View File
File diff suppressed because it is too large Load Diff
+1296 -1081
View File
File diff suppressed because it is too large Load Diff
+79 -75
View File
@@ -1,8 +1,8 @@
{
"name": "misskey",
"author": "syuilo <i@syuilo.com>",
"version": "8.63.0",
"clientVersion": "1.0.10040",
"version": "10.57.2",
"clientVersion": "2.0.12088",
"codename": "nighthike",
"main": "./built/index.js",
"private": true,
@@ -20,100 +20,106 @@
"format": "gulp format"
},
"dependencies": {
"@fortawesome/fontawesome-svg-core": "1.2.4",
"@fortawesome/free-brands-svg-icons": "5.3.1",
"@fortawesome/free-regular-svg-icons": "5.3.1",
"@fortawesome/free-solid-svg-icons": "5.3.1",
"@fortawesome/fontawesome-svg-core": "1.2.8",
"@fortawesome/free-brands-svg-icons": "5.5.0",
"@fortawesome/free-regular-svg-icons": "5.5.0",
"@fortawesome/free-solid-svg-icons": "5.5.0",
"@fortawesome/vue-fontawesome": "0.1.2",
"@koa/cors": "2.2.2",
"@prezzemolo/rap": "0.1.2",
"@prezzemolo/zip": "0.0.3",
"@types/bcryptjs": "2.4.2",
"@types/chai-http": "3.0.5",
"@types/dateformat": "1.0.1",
"@types/debug": "0.0.30",
"@types/debug": "0.0.31",
"@types/deep-equal": "1.0.1",
"@types/double-ended-queue": "2.1.0",
"@types/elasticsearch": "5.0.26",
"@types/elasticsearch": "5.0.28",
"@types/file-type": "5.2.1",
"@types/gulp": "3.8.36",
"@types/gulp-htmlmin": "1.3.32",
"@types/gulp-mocha": "0.0.32",
"@types/gulp-rename": "0.0.33",
"@types/gulp-replace": "0.0.31",
"@types/gulp-uglify": "3.0.5",
"@types/gulp-uglify": "3.0.6",
"@types/gulp-util": "3.0.34",
"@types/is-root": "1.0.0",
"@types/is-url": "1.2.28",
"@types/js-yaml": "3.11.2",
"@types/koa": "2.0.46",
"@types/katex": "0.5.0",
"@types/koa": "2.0.47",
"@types/koa-bodyparser": "5.0.1",
"@types/koa-compress": "2.0.8",
"@types/koa-favicon": "2.0.19",
"@types/koa-logger": "3.1.0",
"@types/koa-logger": "3.1.1",
"@types/koa-mount": "3.0.1",
"@types/koa-multer": "1.0.0",
"@types/koa-router": "7.0.32",
"@types/koa-router": "7.0.35",
"@types/koa-send": "4.1.1",
"@types/koa-views": "2.0.3",
"@types/koa__cors": "2.2.3",
"@types/minio": "7.0.0",
"@types/minio": "7.0.1",
"@types/mkdirp": "0.5.2",
"@types/mocha": "5.2.3",
"@types/mongodb": "3.1.7",
"@types/mocha": "5.2.5",
"@types/mongodb": "3.1.14",
"@types/ms": "0.7.30",
"@types/node": "10.10.3",
"@types/node": "10.12.10",
"@types/oauth": "0.9.1",
"@types/parsimmon": "1.10.0",
"@types/portscanner": "2.1.0",
"@types/pug": "2.0.4",
"@types/qrcode": "1.2.0",
"@types/qrcode": "1.3.0",
"@types/ratelimiter": "2.1.28",
"@types/redis": "2.8.6",
"@types/request": "2.47.1",
"@types/redis": "2.8.8",
"@types/request": "2.48.1",
"@types/request-promise-native": "1.0.15",
"@types/rimraf": "2.0.2",
"@types/seedrandom": "2.4.27",
"@types/sharp": "0.17.10",
"@types/sharp": "0.21.0",
"@types/showdown": "1.7.5",
"@types/single-line-log": "1.1.0",
"@types/speakeasy": "2.0.2",
"@types/systeminformation": "3.23.0",
"@types/speakeasy": "2.0.3",
"@types/systeminformation": "3.23.1",
"@types/tinycolor2": "1.4.1",
"@types/tmp": "0.0.33",
"@types/uuid": "3.4.4",
"@types/webpack": "4.4.12",
"@types/webpack": "4.4.19",
"@types/webpack-stream": "3.2.10",
"@types/websocket": "0.0.40",
"@types/ws": "6.0.1",
"animejs": "2.2.0",
"apexcharts": "2.2.3",
"autobind-decorator": "2.2.1",
"autosize": "4.0.2",
"autwh": "0.1.0",
"bcryptjs": "2.4.3",
"bee-queue": "1.2.2",
"bootstrap-vue": "2.0.0-rc.11",
"cafy": "11.3.0",
"cafy": "12.0.0",
"chai": "4.2.0",
"chai-http": "4.2.0",
"chalk": "2.4.1",
"chart.js": "2.7.2",
"commander": "2.17.1",
"commander": "2.19.0",
"crc-32": "1.2.0",
"css-loader": "1.0.0",
"css-loader": "1.0.1",
"cssnano": "4.1.7",
"dateformat": "3.0.3",
"debug": "4.0.1",
"debug": "4.1.0",
"deep-equal": "1.0.1",
"deepcopy": "0.6.3",
"diskusage": "0.2.4",
"dompurify": "1.0.5",
"diskusage": "0.2.5",
"double-ended-queue": "2.1.0-0",
"elasticsearch": "15.1.1",
"emojilib": "2.3.0",
"elasticsearch": "15.2.0",
"emojilib": "2.4.0",
"escape-regexp": "0.0.1",
"eslint": "5.0.1",
"eslint": "5.8.0",
"eslint-plugin-vue": "4.7.1",
"eventemitter3": "3.1.0",
"exif-js": "2.3.0",
"file-loader": "1.1.11",
"file-type": "9.0.0",
"file-loader": "2.0.0",
"file-type": "10.4.0",
"fuckadblock": "3.2.1",
"gulp": "3.9.1",
"gulp-cssnano": "2.1.3",
"gulp-htmlmin": "4.0.0",
"gulp-htmlmin": "5.0.1",
"gulp-imagemin": "4.1.0",
"gulp-mocha": "6.0.0",
"gulp-pug": "4.0.1",
@@ -125,54 +131,59 @@
"gulp-typescript": "4.0.2",
"gulp-uglify": "3.0.1",
"gulp-util": "3.0.8",
"gulp-yaml": "2.0.2",
"hard-source-webpack-plugin": "0.12.0",
"highlight.js": "9.12.0",
"html-minifier": "3.5.20",
"html-minifier": "3.5.21",
"http-signature": "1.2.0",
"insert-text-at-cursor": "0.1.1",
"is-root": "2.0.0",
"is-url": "1.2.4",
"js-yaml": "3.12.0",
"jsdom": "11.12.0",
"koa": "2.5.1",
"jsdom": "13.0.0",
"json5": "2.1.0",
"json5-loader": "1.0.1",
"katex": "0.10.0",
"koa": "2.6.2",
"koa-bodyparser": "4.2.1",
"koa-compress": "3.0.0",
"koa-favicon": "2.0.1",
"koa-json-body": "5.3.0",
"koa-logger": "3.2.0",
"koa-mount": "3.0.0",
"koa-mount": "4.0.0",
"koa-multer": "1.0.2",
"koa-router": "7.4.0",
"koa-send": "5.0.0",
"koa-slow": "2.1.0",
"koa-views": "6.1.4",
"loader-utils": "1.1.0",
"lodash.assign": "4.2.0",
"mecab-async": "0.1.2",
"merge-options": "1.0.1",
"minio": "7.0.1",
"mkdirp": "0.5.1",
"mocha": "5.2.0",
"moji": "0.5.1",
"mongodb": "3.1.1",
"moment": "2.22.2",
"mongodb": "3.1.9",
"monk": "6.0.6",
"ms": "2.1.1",
"nan": "2.11.0",
"nan": "2.11.1",
"nested-property": "0.0.7",
"nprogress": "0.2.0",
"object-assign-deep": "0.4.0",
"on-build-webpack": "0.1.0",
"os-utils": "0.0.14",
"parse5": "5.1.0",
"parsimmon": "1.12.0",
"portscanner": "2.2.0",
"postcss-loader": "3.0.0",
"progress-bar-webpack-plugin": "1.11.0",
"promise-limit": "2.7.0",
"promise-sequential": "1.1.1",
"pug": "2.0.3",
"punycode": "2.1.1",
"qrcode": "1.2.2",
"qrcode": "1.3.2",
"randomcolor": "0.5.3",
"ratelimiter": "3.2.0",
"recaptcha-promise": "0.1.3",
"reconnecting-websocket": "3.2.2",
"reconnecting-websocket": "4.1.10",
"redis": "2.8.0",
"request": "2.88.0",
"request-promise-native": "1.0.5",
@@ -180,42 +191,42 @@
"rimraf": "2.6.2",
"rndstr": "1.0.0",
"s-age": "1.1.2",
"sass-loader": "7.1.0",
"seedrandom": "2.4.4",
"sharp": "0.20.7",
"showdown": "1.8.6",
"sharp": "0.21.0",
"showdown": "1.9.0",
"showdown-highlightjs-extension": "0.1.2",
"single-line-log": "1.1.2",
"speakeasy": "2.0.0",
"stringz": "1.0.0",
"style-loader": "0.23.0",
"style-loader": "0.23.1",
"stylus": "0.54.5",
"stylus-loader": "3.0.2",
"summaly": "2.2.0",
"systeminformation": "3.45.6",
"systeminformation": "3.49.3",
"syuilo-password-strength": "0.0.1",
"terser-webpack-plugin": "1.1.0",
"textarea-caret": "3.1.0",
"tinycolor2": "1.4.1",
"tmp": "0.0.33",
"ts-loader": "4.4.1",
"ts-loader": "5.3.0",
"ts-node": "7.0.1",
"tslint": "5.10.0",
"typescript": "2.9.2",
"typescript-eslint-parser": "18.0.0",
"typescript": "3.1.6",
"typescript-eslint-parser": "21.0.1",
"uglify-es": "3.3.9",
"url-loader": "1.1.1",
"url-loader": "1.1.2",
"uuid": "3.3.2",
"v-animate-css": "0.0.2",
"vue": "2.5.17",
"vue-chartjs": "3.4.0",
"vue-color": "2.6.0",
"vue-color": "2.7.0",
"vue-content-loading": "1.5.3",
"vue-cropperjs": "2.2.2",
"vue-i18n": "8.3.2",
"vue-js-modal": "1.3.26",
"vue-json-tree-view": "2.1.4",
"vue-loader": "15.4.2",
"vue-router": "3.0.1",
"vue-marquee-text-component": "1.1.0",
"vue-router": "3.0.2",
"vue-style-loader": "4.1.2",
"vue-svg-inline-loader": "1.1.3",
"vue-svg-inline-loader": "1.2.2",
"vue-template-compiler": "2.5.17",
"vuedraggable": "2.16.0",
"vuewordcloud": "18.7.11",
@@ -223,17 +234,10 @@
"vuex-persistedstate": "2.5.4",
"web-push": "3.3.3",
"webfinger.js": "2.6.6",
"webpack": "4.19.1",
"webpack-cli": "3.1.0",
"webpack": "4.26.0",
"webpack-cli": "3.1.2",
"websocket": "1.0.28",
"ws": "6.0.0",
"ws": "6.1.2",
"xev": "2.0.1"
},
"greenkeeper": {
"ignore": [
"deepcopy",
"cafy",
"@types/gulp"
]
}
}
+122
View File
@@ -0,0 +1,122 @@
import autobind from 'autobind-decorator';
import Chart, { Obj } from './';
import DriveFile, { IDriveFile } from '../models/drive-file';
import { isLocalUser } from '../models/user';
/**
*
*/
type DriveLog = {
local: {
/**
*
*/
totalCount: number;
/**
*
*/
totalSize: number;
/**
*
*/
incCount: number;
/**
* 使
*/
incSize: number;
/**
*
*/
decCount: number;
/**
* 使
*/
decSize: number;
};
remote: DriveLog['local'];
};
class DriveChart extends Chart<DriveLog> {
constructor() {
super('drive');
}
@autobind
protected async getTemplate(init: boolean, latest?: DriveLog): Promise<DriveLog> {
const calcSize = (local: boolean) => DriveFile
.aggregate([{
$match: {
'metadata._user.host': local ? null : { $ne: null },
'metadata.deletedAt': { $exists: false }
}
}, {
$project: {
length: true
}
}, {
$group: {
_id: null,
usage: { $sum: '$length' }
}
}])
.then(res => res.length > 0 ? res[0].usage : 0);
const [localCount, remoteCount, localSize, remoteSize] = init ? await Promise.all([
DriveFile.count({ 'metadata._user.host': null }),
DriveFile.count({ 'metadata._user.host': { $ne: null } }),
calcSize(true),
calcSize(false)
]) : [
latest ? latest.local.totalCount : 0,
latest ? latest.remote.totalCount : 0,
latest ? latest.local.totalSize : 0,
latest ? latest.remote.totalSize : 0
];
return {
local: {
totalCount: localCount,
totalSize: localSize,
incCount: 0,
incSize: 0,
decCount: 0,
decSize: 0
},
remote: {
totalCount: remoteCount,
totalSize: remoteSize,
incCount: 0,
incSize: 0,
decCount: 0,
decSize: 0
}
};
}
@autobind
public async update(file: IDriveFile, isAdditional: boolean) {
const update: Obj = {};
update.totalCount = isAdditional ? 1 : -1;
update.totalSize = isAdditional ? file.length : -file.length;
if (isAdditional) {
update.incCount = 1;
update.incSize = file.length;
} else {
update.decCount = 1;
update.decSize = file.length;
}
await this.inc({
[isLocalUser(file.metadata._user) ? 'local' : 'remote']: update
});
}
}
export default new DriveChart();
+66
View File
@@ -0,0 +1,66 @@
import autobind from 'autobind-decorator';
import Chart, { Obj } from '.';
import Instance from '../models/instance';
/**
*
*/
type FederationLog = {
instance: {
/**
*
*/
total: number;
/**
*
*/
inc: number;
/**
*
*/
dec: number;
};
};
class FederationChart extends Chart<FederationLog> {
constructor() {
super('federation');
}
@autobind
protected async getTemplate(init: boolean, latest?: FederationLog): Promise<FederationLog> {
const [total] = init ? await Promise.all([
Instance.count({})
]) : [
latest ? latest.instance.total : 0
];
return {
instance: {
total: total,
inc: 0,
dec: 0
}
};
}
@autobind
public async update(isAdditional: boolean) {
const update: Obj = {};
update.total = isAdditional ? 1 : -1;
if (isAdditional) {
update.inc = 1;
} else {
update.dec = 1;
}
await this.inc({
instance: update
});
}
}
export default new FederationChart();
+56
View File
@@ -0,0 +1,56 @@
import autobind from 'autobind-decorator';
import Chart, { Obj } from './';
import { IUser, isLocalUser } from '../models/user';
import db from '../db/mongodb';
/**
*
*/
type HashtagLog = {
local: {
/**
* 稿
*/
count: number;
};
remote: HashtagLog['local'];
};
class HashtagChart extends Chart<HashtagLog> {
constructor() {
super('hashtag', true);
// 後方互換性のため
db.get('chart.hashtag').findOne().then(doc => {
if (doc != null && doc.data.local == null) {
db.get('chart.hashtag').drop();
}
});
}
@autobind
protected async getTemplate(init: boolean, latest?: HashtagLog): Promise<HashtagLog> {
return {
local: {
count: 0
},
remote: {
count: 0
}
};
}
@autobind
public async update(hashtag: string, user: IUser) {
const update: Obj = {
count: 1
};
await this.incIfUnique({
[isLocalUser(user) ? 'local' : 'remote']: update
}, 'users', user._id.toHexString(), hashtag);
}
}
export default new HashtagChart();
+350
View File
@@ -0,0 +1,350 @@
/**
*
*/
import * as moment from 'moment';
const nestedProperty = require('nested-property');
import autobind from 'autobind-decorator';
import * as mongo from 'mongodb';
import db from '../db/mongodb';
import { ICollection } from 'monk';
const utc = moment.utc;
export type Obj = { [key: string]: any };
export type Partial<T> = {
[P in keyof T]?: Partial<T[P]>;
};
type ArrayValue<T> = {
[P in keyof T]: T[P] extends number ? Array<T[P]> : ArrayValue<T[P]>;
};
type Span = 'day' | 'hour';
type Log<T extends Obj> = {
_id: mongo.ObjectID;
/**
*
*/
group?: any;
/**
*
*/
date: Date;
/**
*
*/
span: Span;
/**
*
*/
data: T;
/**
*
*/
unique?: Obj;
};
/**
*
*/
export default abstract class Chart<T> {
protected collection: ICollection<Log<T>>;
protected abstract async getTemplate(init: boolean, latest?: T, group?: any): Promise<T>;
constructor(name: string, grouped = false) {
this.collection = db.get<Log<T>>(`chart.${name}`);
if (grouped) {
this.collection.createIndex({ span: -1, date: -1, group: -1 }, { unique: true });
} else {
this.collection.createIndex({ span: -1, date: -1 }, { unique: true });
}
}
@autobind
private convertQuery(x: Obj, path: string): Obj {
const query: Obj = {};
const dive = (x: Obj, path: string) => {
Object.entries(x).forEach(([k, v]) => {
const p = path ? `${path}.${k}` : k;
if (typeof v === 'number') {
query[p] = v;
} else {
dive(v, p);
}
});
};
dive(x, path);
return query;
}
@autobind
private getCurrentDate(): [number, number, number, number] {
const now = moment().utc();
const y = now.year();
const m = now.month();
const d = now.date();
const h = now.hour();
return [y, m, d, h];
}
@autobind
private getLatestLog(span: Span, group?: any): Promise<Log<T>> {
return this.collection.findOne({
group: group,
span: span
}, {
sort: {
date: -1
}
});
}
@autobind
private async getCurrentLog(span: Span, group?: any): Promise<Log<T>> {
const [y, m, d, h] = this.getCurrentDate();
const current =
span == 'day' ? utc([y, m, d]) :
span == 'hour' ? utc([y, m, d, h]) :
null;
// 現在(今日または今のHour)のログ
const currentLog = await this.collection.findOne({
group: group,
span: span,
date: current.toDate()
});
// ログがあればそれを返して終了
if (currentLog != null) {
return currentLog;
}
let log: Log<T>;
let data: T;
// 集計期間が変わってから、初めてのチャート更新なら
// 最も最近のログを持ってくる
// * 例えば集計期間が「日」である場合で考えると、
// * 昨日何もチャートを更新するような出来事がなかった場合は、
// * ログがそもそも作られずドキュメントが存在しないということがあり得るため、
// * 「昨日の」と決め打ちせずに「もっとも最近の」とします
const latest = await this.getLatestLog(span, group);
if (latest != null) {
// 空ログデータを作成
data = await this.getTemplate(false, latest.data);
} else {
// ログが存在しなかったら
// (Misskeyインスタンスを建てて初めてのチャート更新時など
// または何らかの理由でチャートコレクションを抹消した場合)
// 初期ログデータを作成
data = await this.getTemplate(true, null, group);
}
try {
// 新規ログ挿入
log = await this.collection.insert({
group: group,
span: span,
date: current.toDate(),
data: data
});
} catch (e) {
// 11000 is duplicate key error
// 並列動作している他のチャートエンジンプロセスと処理が重なる場合がある
// その場合は再度最も新しいログを持ってくる
if (e.code === 11000) {
log = await this.getLatestLog(span, group);
} else {
console.error(e);
throw e;
}
}
return log;
}
@autobind
protected commit(query: Obj, group?: any, uniqueKey?: string, uniqueValue?: string): void {
const update = (log: Log<T>) => {
// ユニークインクリメントの場合、指定のキーに指定の値が既に存在していたら弾く
if (
uniqueKey &&
log.unique &&
log.unique[uniqueKey] &&
log.unique[uniqueKey].includes(uniqueValue)
) return;
// ユニークインクリメントの指定のキーに値を追加
if (uniqueKey) {
query['$push'] = {
[`unique.${uniqueKey}`]: uniqueValue
};
}
// ログ更新
this.collection.update({
_id: log._id
}, query);
};
this.getCurrentLog('day', group).then(log => update(log));
this.getCurrentLog('hour', group).then(log => update(log));
}
@autobind
protected inc(inc: Partial<T>, group?: any): void {
this.commit({
$inc: this.convertQuery(inc, 'data')
}, group);
}
@autobind
protected incIfUnique(inc: Partial<T>, key: string, value: string, group?: any): void {
this.commit({
$inc: this.convertQuery(inc, 'data')
}, group, key, value);
}
@autobind
public async getChart(span: Span, range: number, group?: any): Promise<ArrayValue<T>> {
const promisedChart: Promise<T>[] = [];
const [y, m, d, h] = this.getCurrentDate();
const gt =
span == 'day' ? utc([y, m, d]).subtract(range, 'days') :
span == 'hour' ? utc([y, m, d, h]).subtract(range, 'hours') :
null;
// ログ取得
let logs = await this.collection.find({
group: group,
span: span,
date: {
$gte: gt.toDate()
}
}, {
sort: {
date: -1
},
fields: {
_id: 0
}
});
// 要求された範囲にログがひとつもなかったら
if (logs.length == 0) {
// もっとも新しいログを持ってくる
// (すくなくともひとつログが無いと隙間埋めできないため)
const recentLog = await this.collection.findOne({
group: group,
span: span
}, {
sort: {
date: -1
},
fields: {
_id: 0
}
});
if (recentLog) {
logs = [recentLog];
}
// 要求された範囲の最も古い箇所に位置するログが存在しなかったら
} else if (!utc(logs[logs.length - 1].date).isSame(gt)) {
// 要求された範囲の最も古い箇所時点での最も新しいログを持ってきて末尾に追加する
// (隙間埋めできないため)
const outdatedLog = await this.collection.findOne({
group: group,
span: span,
date: {
$lt: gt.toDate()
}
}, {
sort: {
date: -1
},
fields: {
_id: 0
}
});
if (outdatedLog) {
logs.push(outdatedLog);
}
}
// 整形
for (let i = (range - 1); i >= 0; i--) {
const current =
span == 'day' ? utc([y, m, d]).subtract(i, 'days') :
span == 'hour' ? utc([y, m, d, h]).subtract(i, 'hours') :
null;
const log = logs.find(l => utc(l.date).isSame(current));
if (log) {
promisedChart.unshift(Promise.resolve(log.data));
} else {
// 隙間埋め
const latest = logs.find(l => utc(l.date).isBefore(current));
promisedChart.unshift(this.getTemplate(false, latest ? latest.data : null));
}
}
const chart = await Promise.all(promisedChart);
const res: ArrayValue<T> = {} as any;
/**
* [{
* xxxxx: 1, yyyyy: 5
* }, {
* xxxxx: 2, yyyyy: 6
* }, {
* xxxxx: 3, yyyyy: 7
* }]
*
*
*
* {
* xxxxx: [1, 2, 3],
* yyyyy: [5, 6, 7]
* }
*
*
*/
const dive = (x: Obj, path?: string) => {
Object.entries(x).forEach(([k, v]) => {
const p = path ? `${path}.${k}` : k;
if (typeof v == 'object') {
dive(v, p);
} else {
nestedProperty.set(res, p, chart.map(s => nestedProperty.get(s, p)));
}
});
};
dive(chart[0]);
return res;
}
}
+64
View File
@@ -0,0 +1,64 @@
import autobind from 'autobind-decorator';
import Chart, { Partial } from './';
/**
*
*/
type NetworkLog = {
/**
*
*/
incomingRequests: number;
/**
*
*/
outgoingRequests: number;
/**
*
* TIP: (totalTime / incomingRequests)
*/
totalTime: number;
/**
*
*/
incomingBytes: number;
/**
*
*/
outgoingBytes: number;
};
class NetworkChart extends Chart<NetworkLog> {
constructor() {
super('network');
}
@autobind
protected async getTemplate(init: boolean, latest?: NetworkLog): Promise<NetworkLog> {
return {
incomingRequests: 0,
outgoingRequests: 0,
totalTime: 0,
incomingBytes: 0,
outgoingBytes: 0
};
}
@autobind
public async update(incomingRequests: number, time: number, incomingBytes: number, outgoingBytes: number) {
const inc: Partial<NetworkLog> = {
incomingRequests: incomingRequests,
totalTime: time,
incomingBytes: incomingBytes,
outgoingBytes: outgoingBytes
};
await this.inc(inc);
}
}
export default new NetworkChart();
+114
View File
@@ -0,0 +1,114 @@
import autobind from 'autobind-decorator';
import Chart, { Obj } from '.';
import Note, { INote } from '../models/note';
import { isLocalUser } from '../models/user';
/**
* 稿
*/
type NotesLog = {
local: {
/**
* 稿
*/
total: number;
/**
* 稿
*/
inc: number;
/**
* 稿
*/
dec: number;
diffs: {
/**
* 稿
*/
normal: number;
/**
* 稿
*/
reply: number;
/**
* Renoteの投稿数の差分
*/
renote: number;
};
};
remote: NotesLog['local'];
};
class NotesChart extends Chart<NotesLog> {
constructor() {
super('notes');
}
@autobind
protected async getTemplate(init: boolean, latest?: NotesLog): Promise<NotesLog> {
const [localCount, remoteCount] = init ? await Promise.all([
Note.count({ '_user.host': null }),
Note.count({ '_user.host': { $ne: null } })
]) : [
latest ? latest.local.total : 0,
latest ? latest.remote.total : 0
];
return {
local: {
total: localCount,
inc: 0,
dec: 0,
diffs: {
normal: 0,
reply: 0,
renote: 0
}
},
remote: {
total: remoteCount,
inc: 0,
dec: 0,
diffs: {
normal: 0,
reply: 0,
renote: 0
}
}
};
}
@autobind
public async update(note: INote, isAdditional: boolean) {
const update: Obj = {
diffs: {}
};
update.total = isAdditional ? 1 : -1;
if (isAdditional) {
update.inc = 1;
} else {
update.dec = 1;
}
if (note.replyId != null) {
update.diffs.reply = isAdditional ? 1 : -1;
} else if (note.renoteId != null) {
update.diffs.renote = isAdditional ? 1 : -1;
} else {
update.diffs.normal = isAdditional ? 1 : -1;
}
await this.inc({
[isLocalUser(note._user) ? 'local' : 'remote']: update
});
}
}
export default new NotesChart();
+101
View File
@@ -0,0 +1,101 @@
import autobind from 'autobind-decorator';
import Chart, { Obj } from './';
import DriveFile, { IDriveFile } from '../models/drive-file';
/**
*
*/
type PerUserDriveLog = {
/**
*
*/
totalCount: number;
/**
*
*/
totalSize: number;
/**
*
*/
incCount: number;
/**
* 使
*/
incSize: number;
/**
*
*/
decCount: number;
/**
* 使
*/
decSize: number;
};
class PerUserDriveChart extends Chart<PerUserDriveLog> {
constructor() {
super('perUserDrive', true);
}
@autobind
protected async getTemplate(init: boolean, latest?: PerUserDriveLog, group?: any): Promise<PerUserDriveLog> {
const calcSize = () => DriveFile
.aggregate([{
$match: {
'metadata.userId': group,
'metadata.deletedAt': { $exists: false }
}
}, {
$project: {
length: true
}
}, {
$group: {
_id: null,
usage: { $sum: '$length' }
}
}])
.then(res => res.length > 0 ? res[0].usage : 0);
const [count, size] = init ? await Promise.all([
DriveFile.count({ 'metadata.userId': group }),
calcSize()
]) : [
latest ? latest.totalCount : 0,
latest ? latest.totalSize : 0
];
return {
totalCount: count,
totalSize: size,
incCount: 0,
incSize: 0,
decCount: 0,
decSize: 0
};
}
@autobind
public async update(file: IDriveFile, isAdditional: boolean) {
const update: Obj = {};
update.totalCount = isAdditional ? 1 : -1;
update.totalSize = isAdditional ? file.length : -file.length;
if (isAdditional) {
update.incCount = 1;
update.incSize = file.length;
} else {
update.decCount = 1;
update.decSize = file.length;
}
await this.inc(update, file.metadata.userId);
}
}
export default new PerUserDriveChart();
+128
View File
@@ -0,0 +1,128 @@
import autobind from 'autobind-decorator';
import Chart, { Obj } from './';
import Following from '../models/following';
import { IUser, isLocalUser } from '../models/user';
/**
*
*/
type PerUserFollowingLog = {
local: {
/**
*
*/
followings: {
/**
*
*/
total: number;
/**
*
*/
inc: number;
/**
*
*/
dec: number;
};
/**
*
*/
followers: {
/**
*
*/
total: number;
/**
*
*/
inc: number;
/**
*
*/
dec: number;
};
};
remote: PerUserFollowingLog['local'];
};
class PerUserFollowingChart extends Chart<PerUserFollowingLog> {
constructor() {
super('perUserFollowing', true);
}
@autobind
protected async getTemplate(init: boolean, latest?: PerUserFollowingLog, group?: any): Promise<PerUserFollowingLog> {
const [
localFollowingsCount,
localFollowersCount,
remoteFollowingsCount,
remoteFollowersCount
] = init ? await Promise.all([
Following.count({ followerId: group, '_followee.host': null }),
Following.count({ followeeId: group, '_follower.host': null }),
Following.count({ followerId: group, '_followee.host': { $ne: null } }),
Following.count({ followeeId: group, '_follower.host': { $ne: null } })
]) : [
latest ? latest.local.followings.total : 0,
latest ? latest.local.followers.total : 0,
latest ? latest.remote.followings.total : 0,
latest ? latest.remote.followers.total : 0
];
return {
local: {
followings: {
total: localFollowingsCount,
inc: 0,
dec: 0
},
followers: {
total: localFollowersCount,
inc: 0,
dec: 0
}
},
remote: {
followings: {
total: remoteFollowingsCount,
inc: 0,
dec: 0
},
followers: {
total: remoteFollowersCount,
inc: 0,
dec: 0
}
}
};
}
@autobind
public async update(follower: IUser, followee: IUser, isFollow: boolean) {
const update: Obj = {};
update.total = isFollow ? 1 : -1;
if (isFollow) {
update.inc = 1;
} else {
update.dec = 1;
}
this.inc({
[isLocalUser(follower) ? 'local' : 'remote']: { followings: update }
}, follower._id);
this.inc({
[isLocalUser(followee) ? 'local' : 'remote']: { followers: update }
}, followee._id);
}
}
export default new PerUserFollowingChart();
+94
View File
@@ -0,0 +1,94 @@
import autobind from 'autobind-decorator';
import Chart, { Obj } from './';
import Note, { INote } from '../models/note';
import { IUser } from '../models/user';
/**
* 稿
*/
type PerUserNotesLog = {
/**
* 稿
*/
total: number;
/**
* 稿
*/
inc: number;
/**
* 稿
*/
dec: number;
diffs: {
/**
* 稿
*/
normal: number;
/**
* 稿
*/
reply: number;
/**
* Renoteの投稿数の差分
*/
renote: number;
};
};
class PerUserNotesChart extends Chart<PerUserNotesLog> {
constructor() {
super('perUserNotes', true);
}
@autobind
protected async getTemplate(init: boolean, latest?: PerUserNotesLog, group?: any): Promise<PerUserNotesLog> {
const [count] = init ? await Promise.all([
Note.count({ userId: group, deletedAt: null }),
]) : [
latest ? latest.total : 0
];
return {
total: count,
inc: 0,
dec: 0,
diffs: {
normal: 0,
reply: 0,
renote: 0
}
};
}
@autobind
public async update(user: IUser, note: INote, isAdditional: boolean) {
const update: Obj = {
diffs: {}
};
update.total = isAdditional ? 1 : -1;
if (isAdditional) {
update.inc = 1;
} else {
update.dec = 1;
}
if (note.replyId != null) {
update.diffs.reply = isAdditional ? 1 : -1;
} else if (note.renoteId != null) {
update.diffs.renote = isAdditional ? 1 : -1;
} else {
update.diffs.normal = isAdditional ? 1 : -1;
}
await this.inc(update, user._id);
}
}
export default new PerUserNotesChart();
+45
View File
@@ -0,0 +1,45 @@
import autobind from 'autobind-decorator';
import Chart from './';
import { IUser, isLocalUser } from '../models/user';
import { INote } from '../models/note';
/**
*
*/
type PerUserReactionsLog = {
local: {
/**
*
*/
count: number;
};
remote: PerUserReactionsLog['local'];
};
class PerUserReactionsChart extends Chart<PerUserReactionsLog> {
constructor() {
super('perUserReaction', true);
}
@autobind
protected async getTemplate(init: boolean, latest?: PerUserReactionsLog, group?: any): Promise<PerUserReactionsLog> {
return {
local: {
count: 0
},
remote: {
count: 0
}
};
}
@autobind
public async update(user: IUser, note: INote) {
this.inc({
[isLocalUser(user) ? 'local' : 'remote']: { count: 1 }
}, note.userId);
}
}
export default new PerUserReactionsChart();
+75
View File
@@ -0,0 +1,75 @@
import autobind from 'autobind-decorator';
import Chart, { Obj } from './';
import User, { IUser, isLocalUser } from '../models/user';
/**
*
*/
type UsersLog = {
local: {
/**
*
*/
total: number;
/**
*
*/
inc: number;
/**
*
*/
dec: number;
};
remote: UsersLog['local'];
};
class UsersChart extends Chart<UsersLog> {
constructor() {
super('users');
}
@autobind
protected async getTemplate(init: boolean, latest?: UsersLog): Promise<UsersLog> {
const [localCount, remoteCount] = init ? await Promise.all([
User.count({ host: null }),
User.count({ host: { $ne: null } })
]) : [
latest ? latest.local.total : 0,
latest ? latest.remote.total : 0
];
return {
local: {
total: localCount,
inc: 0,
dec: 0
},
remote: {
total: remoteCount,
inc: 0,
dec: 0
}
};
}
@autobind
public async update(user: IUser, isAdditional: boolean) {
const update: Obj = {};
update.total = isAdditional ? 1 : -1;
if (isAdditional) {
update.inc = 1;
} else {
update.dec = 1;
}
await this.inc({
[isLocalUser(user) ? 'local' : 'remote']: update
});
}
}
export default new UsersChart();
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

+27
View File
@@ -0,0 +1,27 @@
/**
* Admin
*/
import VueRouter from 'vue-router';
// Style
import './style.styl';
import init from '../init';
import Index from './views/index.vue';
init(launch => {
document.title = 'Admin';
// Init router
const router = new VueRouter({
mode: 'history',
base: '/admin/',
routes: [
{ path: '/', component: Index },
]
});
// Launch the app
launch(router);
});
+6
View File
@@ -0,0 +1,6 @@
@import "../app"
@import "../reset"
html
height 100%
background var(--bg)
@@ -0,0 +1,92 @@
<template>
<div class="cdeuzmsthagexbkpofbmatmugjuvogfb">
<ui-card>
<div slot="title"><fa icon="broadcast-tower"/> {{ $t('announcements') }}</div>
<section v-for="(announcement, i) in announcements" class="fit-top">
<ui-input v-model="announcement.title" @change="save">
<span>{{ $t('title') }}</span>
</ui-input>
<ui-textarea v-model="announcement.text">
<span>{{ $t('text') }}</span>
</ui-textarea>
<ui-horizon-group class="fit-bottom">
<ui-button @click="save()"><fa :icon="['far', 'save']"/> {{ $t('save') }}</ui-button>
<ui-button @click="remove(i)"><fa :icon="['far', 'trash-alt']"/> {{ $t('remove') }}</ui-button>
</ui-horizon-group>
</section>
<section>
<ui-button @click="add"><fa icon="plus"/> {{ $t('add') }}</ui-button>
</section>
</ui-card>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
import i18n from '../../i18n';
export default Vue.extend({
i18n: i18n('admin/views/announcements.vue'),
data() {
return {
announcements: [],
};
},
created() {
this.$root.getMeta().then(meta => {
this.announcements = meta.broadcasts;
});
},
methods: {
add() {
this.announcements.unshift({
title: '',
text: ''
});
},
remove(i) {
this.$root.alert({
type: 'warning',
text: this.$t('_remove.are-you-sure').replace('$1', this.announcements.find((_, j) => j == i).title),
showCancelButton: true
}).then(res => {
if (!res) return;
this.announcements = this.announcements.filter((_, j) => j !== i);
this.save(true);
this.$root.alert({
type: 'success',
text: this.$t('_remove.removed')
});
});
},
save(silent) {
this.$root.api('admin/update-meta', {
broadcasts: this.announcements
}).then(() => {
if (!silent) {
this.$root.alert({
type: 'success',
text: this.$t('saved')
});
}
}).catch(e => {
this.$root.alert({
type: 'error',
text: e
});
});
}
}
});
</script>
<style lang="stylus" scoped>
.cdeuzmsthagexbkpofbmatmugjuvogfb
@media (min-width 500px)
padding 16px
</style>
+107
View File
@@ -0,0 +1,107 @@
<template>
<div class="hyhctythnmwihguaaapnbrbszsjqxpio">
<table>
<thead>
<tr>
<th><fa :icon="faExchangeAlt"/> In/Out</th>
<th><fa :icon="faBolt"/> Activity</th>
<th><fa icon="server"/> Host</th>
<th><fa icon="user"/> Actor</th>
</tr>
</thead>
<tbody>
<tr v-for="log in logs" :key="log.id">
<td :class="log.direction">{{ log.direction == 'in' ? '<' : '>' }} {{ log.direction }}</td>
<td>{{ log.activity }}</td>
<td>{{ log.host }}</td>
<td>@{{ log.actor }}</td>
</tr>
</tbody>
</table>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
import { faBolt, faExchangeAlt } from '@fortawesome/free-solid-svg-icons';
export default Vue.extend({
data() {
return {
logs: [],
connection: null,
faBolt, faExchangeAlt
};
},
mounted() {
this.connection = this.$root.stream.useSharedConnection('apLog');
this.connection.on('log', this.onLog);
this.connection.on('logs', this.onLogs);
this.connection.send('requestLog', {
id: Math.random().toString().substr(2, 8),
length: 50
});
},
beforeDestroy() {
this.connection.dispose();
},
methods: {
onLog(log) {
log.id = Math.random();
this.logs.unshift(log);
if (this.logs.length > 50) this.logs.pop();
},
onLogs(logs) {
logs.reverse().forEach(log => this.onLog(log));
}
}
});
</script>
<style lang="stylus" scoped>
.hyhctythnmwihguaaapnbrbszsjqxpio
display block
padding 12px 16px 16px 16px
height 250px
overflow hidden
box-shadow 0 2px 4px rgba(0, 0, 0, 0.1)
background var(--adminDashboardCardBg)
border-radius 8px
> table
width 100%
max-width 100%
overflow auto
border-spacing 0
border-collapse collapse
color var(--adminDashboardCardFg)
font-size 14px
thead
border-bottom solid 1px var(--adminDashboardCardDivider)
tr
th
font-weight normal
text-align left
tbody
tr
&:nth-child(odd)
background rgba(0, 0, 0, 0.025)
th, td
padding 8px 16px
min-width 128px
td.in
color #d26755
td.out
color #55bb83
</style>
+497
View File
@@ -0,0 +1,497 @@
<template>
<div class="qvgidhudpqhjttdhxubzuyrhyzgslujw">
<header>
<b><fa :icon="['far', 'chart-bar']"/> {{ $t('title') }}:</b>
<select v-model="src">
<optgroup :label="$t('federation')">
<option value="federation-instances">{{ $t('charts.federation-instances') }}</option>
<option value="federation-instances-total">{{ $t('charts.federation-instances-total') }}</option>
</optgroup>
<optgroup :label="$t('users')">
<option value="users">{{ $t('charts.users') }}</option>
<option value="users-total">{{ $t('charts.users-total') }}</option>
</optgroup>
<optgroup :label="$t('notes')">
<option value="notes">{{ $t('charts.notes') }}</option>
<option value="local-notes">{{ $t('charts.local-notes') }}</option>
<option value="remote-notes">{{ $t('charts.remote-notes') }}</option>
<option value="notes-total">{{ $t('charts.notes-total') }}</option>
</optgroup>
<optgroup :label="$t('drive')">
<option value="drive-files">{{ $t('charts.drive-files') }}</option>
<option value="drive-files-total">{{ $t('charts.drive-files-total') }}</option>
<option value="drive">{{ $t('charts.drive') }}</option>
<option value="drive-total">{{ $t('charts.drive-total') }}</option>
</optgroup>
<optgroup :label="$t('network')">
<option value="network-requests">{{ $t('charts.network-requests') }}</option>
<option value="network-time">{{ $t('charts.network-time') }}</option>
<option value="network-usage">{{ $t('charts.network-usage') }}</option>
</optgroup>
</select>
<div>
<span @click="span = 'day'" :class="{ active: span == 'day' }">{{ $t('per-day') }}</span> | <span @click="span = 'hour'" :class="{ active: span == 'hour' }">{{ $t('per-hour') }}</span>
</div>
</header>
<div ref="chart"></div>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
import i18n from '../../i18n';
import * as tinycolor from 'tinycolor2';
import * as ApexCharts from 'apexcharts';
const limit = 90;
const sum = (...arr) => arr.reduce((r, a) => r.map((b, i) => a[i] + b));
const negate = arr => arr.map(x => -x);
export default Vue.extend({
i18n: i18n('admin/views/charts.vue'),
data() {
return {
chart: null,
src: 'notes',
span: 'hour',
chartInstance: null
};
},
computed: {
data(): any {
if (this.chart == null) return null;
switch (this.src) {
case 'federation-instances': return this.federationInstancesChart(false);
case 'federation-instances-total': return this.federationInstancesChart(true);
case 'users': return this.usersChart(false);
case 'users-total': return this.usersChart(true);
case 'notes': return this.notesChart('combined');
case 'local-notes': return this.notesChart('local');
case 'remote-notes': return this.notesChart('remote');
case 'notes-total': return this.notesTotalChart();
case 'drive': return this.driveChart();
case 'drive-total': return this.driveTotalChart();
case 'drive-files': return this.driveFilesChart();
case 'drive-files-total': return this.driveFilesTotalChart();
case 'network-requests': return this.networkRequestsChart();
case 'network-time': return this.networkTimeChart();
case 'network-usage': return this.networkUsageChart();
}
},
stats(): any[] {
const stats =
this.span == 'day' ? this.chart.perDay :
this.span == 'hour' ? this.chart.perHour :
null;
return stats;
}
},
watch: {
src() {
this.render();
},
span() {
this.render();
}
},
async mounted() {
this.now = new Date();
const [perHour, perDay] = await Promise.all([Promise.all([
this.$root.api('charts/federation', { limit: limit, span: 'hour' }),
this.$root.api('charts/users', { limit: limit, span: 'hour' }),
this.$root.api('charts/notes', { limit: limit, span: 'hour' }),
this.$root.api('charts/drive', { limit: limit, span: 'hour' }),
this.$root.api('charts/network', { limit: limit, span: 'hour' })
]), Promise.all([
this.$root.api('charts/federation', { limit: limit, span: 'day' }),
this.$root.api('charts/users', { limit: limit, span: 'day' }),
this.$root.api('charts/notes', { limit: limit, span: 'day' }),
this.$root.api('charts/drive', { limit: limit, span: 'day' }),
this.$root.api('charts/network', { limit: limit, span: 'day' })
])]);
const chart = {
perHour: {
federation: perHour[0],
users: perHour[1],
notes: perHour[2],
drive: perHour[3],
network: perHour[4]
},
perDay: {
federation: perDay[0],
users: perDay[1],
notes: perDay[2],
drive: perDay[3],
network: perDay[4]
}
};
this.chart = chart;
this.render();
},
beforeDestroy() {
this.chartInstance.destroy();
},
methods: {
setSrc(src) {
this.src = src;
},
render() {
if (this.chartInstance) {
this.chartInstance.destroy();
}
this.chartInstance = new ApexCharts(this.$refs.chart, {
chart: {
type: 'area',
height: 300,
animations: {
dynamicAnimation: {
enabled: false
}
},
toolbar: {
show: false
},
zoom: {
enabled: false
}
},
dataLabels: {
enabled: false
},
grid: {
clipMarkers: false,
borderColor: 'rgba(0, 0, 0, 0.1)'
},
stroke: {
curve: 'straight',
width: 2
},
legend: {
labels: {
color: tinycolor(getComputedStyle(document.documentElement).getPropertyValue('--text')).toRgbString()
},
},
xaxis: {
type: 'datetime',
labels: {
style: {
colors: tinycolor(getComputedStyle(document.documentElement).getPropertyValue('--text')).toRgbString()
}
},
axisBorder: {
color: 'rgba(0, 0, 0, 0.1)'
},
axisTicks: {
color: 'rgba(0, 0, 0, 0.1)'
},
},
yaxis: {
labels: {
formatter: this.data.bytes ? v => Vue.filter('bytes')(v, 0) : v => Vue.filter('number')(v),
style: {
color: tinycolor(getComputedStyle(document.documentElement).getPropertyValue('--text')).toRgbString()
}
}
},
series: this.data.series
});
this.chartInstance.render();
},
getDate(i: number) {
const y = this.now.getFullYear();
const m = this.now.getMonth();
const d = this.now.getDate();
const h = this.now.getHours();
return (
this.span == 'day' ? new Date(y, m, d - i) :
this.span == 'hour' ? new Date(y, m, d, h - i) :
null
);
},
format(arr) {
return arr.map((v, i) => ({ x: this.getDate(i).getTime(), y: v }));
},
federationInstancesChart(total: boolean): any {
return {
series: [{
data: this.format(total
? this.stats.federation.instance.total
: sum(this.stats.federation.instance.inc, negate(this.stats.federation.instance.dec))
)
}]
};
},
notesChart(type: string): any {
return {
series: [{
name: 'All',
type: 'line',
data: this.format(type == 'combined'
? sum(this.stats.notes.local.inc, negate(this.stats.notes.local.dec), this.stats.notes.remote.inc, negate(this.stats.notes.remote.dec))
: sum(this.stats.notes[type].inc, negate(this.stats.notes[type].dec))
)
}, {
name: 'Renotes',
type: 'area',
data: this.format(type == 'combined'
? sum(this.stats.notes.local.diffs.renote, this.stats.notes.remote.diffs.renote)
: this.stats.notes[type].diffs.renote
)
}, {
name: 'Replies',
type: 'area',
data: this.format(type == 'combined'
? sum(this.stats.notes.local.diffs.reply, this.stats.notes.remote.diffs.reply)
: this.stats.notes[type].diffs.reply
)
}, {
name: 'Normal',
type: 'area',
data: this.format(type == 'combined'
? sum(this.stats.notes.local.diffs.normal, this.stats.notes.remote.diffs.normal)
: this.stats.notes[type].diffs.normal
)
}]
};
},
notesTotalChart(): any {
return {
series: [{
name: 'Combined',
type: 'line',
data: this.format(sum(this.stats.notes.local.total, this.stats.notes.remote.total))
}, {
name: 'Local',
type: 'area',
data: this.format(this.stats.notes.local.total)
}, {
name: 'Remote',
type: 'area',
data: this.format(this.stats.notes.remote.total)
}]
};
},
usersChart(total: boolean): any {
return {
series: [{
name: 'Combined',
type: 'line',
data: this.format(total
? sum(this.stats.users.local.total, this.stats.users.remote.total)
: sum(this.stats.users.local.inc, negate(this.stats.users.local.dec), this.stats.users.remote.inc, negate(this.stats.users.remote.dec))
)
}, {
name: 'Local',
type: 'area',
data: this.format(total
? this.stats.users.local.total
: sum(this.stats.users.local.inc, negate(this.stats.users.local.dec))
)
}, {
name: 'Remote',
type: 'area',
data: this.format(total
? this.stats.users.remote.total
: sum(this.stats.users.remote.inc, negate(this.stats.users.remote.dec))
)
}]
};
},
driveChart(): any {
return {
bytes: true,
series: [{
name: 'All',
type: 'line',
data: this.format(
sum(
this.stats.drive.local.incSize,
negate(this.stats.drive.local.decSize),
this.stats.drive.remote.incSize,
negate(this.stats.drive.remote.decSize)
)
)
}, {
name: 'Local +',
type: 'area',
data: this.format(this.stats.drive.local.incSize)
}, {
name: 'Local -',
type: 'area',
data: this.format(negate(this.stats.drive.local.decSize))
}, {
name: 'Remote +',
type: 'area',
data: this.format(this.stats.drive.remote.incSize)
}, {
name: 'Remote -',
type: 'area',
data: this.format(negate(this.stats.drive.remote.decSize))
}]
};
},
driveTotalChart(): any {
return {
bytes: true,
series: [{
name: 'Combined',
type: 'line',
data: this.format(sum(this.stats.drive.local.totalSize, this.stats.drive.remote.totalSize))
}, {
name: 'Local',
type: 'area',
data: this.format(this.stats.drive.local.totalSize)
}, {
name: 'Remote',
type: 'area',
data: this.format(this.stats.drive.remote.totalSize)
}]
};
},
driveFilesChart(): any {
return {
series: [{
name: 'All',
type: 'line',
data: this.format(
sum(
this.stats.drive.local.incCount,
negate(this.stats.drive.local.decCount),
this.stats.drive.remote.incCount,
negate(this.stats.drive.remote.decCount)
)
)
}, {
name: 'Local +',
type: 'area',
data: this.format(this.stats.drive.local.incCount)
}, {
name: 'Local -',
type: 'area',
data: this.format(negate(this.stats.drive.local.decCount))
}, {
name: 'Remote +',
type: 'area',
data: this.format(this.stats.drive.remote.incCount)
}, {
name: 'Remote -',
type: 'area',
data: this.format(negate(this.stats.drive.remote.decCount))
}]
};
},
driveFilesTotalChart(): any {
return {
series: [{
name: 'Combined',
type: 'line',
data: this.format(sum(this.stats.drive.local.totalCount, this.stats.drive.remote.totalCount))
}, {
name: 'Local',
type: 'area',
data: this.format(this.stats.drive.local.totalCount)
}, {
name: 'Remote',
type: 'area',
data: this.format(this.stats.drive.remote.totalCount)
}]
};
},
networkRequestsChart(): any {
return {
series: [{
name: 'Incoming',
data: this.format(this.stats.network.incomingRequests)
}]
};
},
networkTimeChart(): any {
const data = [];
for (let i = 0; i < limit; i++) {
data.push(this.stats.network.incomingRequests[i] != 0 ? (this.stats.network.totalTime[i] / this.stats.network.incomingRequests[i]) : 0);
}
return {
series: [{
name: 'Avg time',
data: this.format(data)
}]
};
},
networkUsageChart(): any {
return {
bytes: true,
series: [{
name: 'Incoming',
data: this.format(this.stats.network.incomingBytes)
}, {
name: 'Outgoing',
data: this.format(this.stats.network.outgoingBytes)
}]
};
},
}
});
</script>
<style lang="stylus" scoped>
.qvgidhudpqhjttdhxubzuyrhyzgslujw
display block
flex 1
padding 32px 24px
padding-bottom 0
box-shadow 0 2px 4px rgba(0, 0, 0, 0.1)
background var(--face)
border-radius 8px
> header
display flex
margin 0 8px
padding 0 0 8px 0
font-size 1em
color var(--adminDashboardCardFg)
border-bottom solid 1px var(--adminDashboardCardDivider)
> b
margin-right 8px
> *:last-child
margin-left auto
*
&:not(.active)
color var(--primary)
cursor pointer
</style>
+183
View File
@@ -0,0 +1,183 @@
<template>
<div class="zyknedwtlthezamcjlolyusmipqmjgxz">
<div>
<header>
<span><fa icon="microchip"/> CPU <span>{{ cpuP }}%</span></span>
<span v-if="meta">{{ meta.cpu.model }}</span>
</header>
<div ref="cpu"></div>
</div>
<div>
<header>
<span><fa icon="memory"/> MEM <span>{{ memP }}%</span></span>
<span v-if="meta"></span>
</header>
<div ref="mem"></div>
</div>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
import * as ApexCharts from 'apexcharts';
export default Vue.extend({
props: ['connection'],
data() {
return {
stats: [],
cpuChart: null,
memChart: null,
cpuP: '',
memP: '',
meta: null
};
},
watch: {
stats(stats) {
this.cpuChart.updateSeries([{
data: stats.map((x, i) => ({ x: i, y: x.cpu_usage }))
}]);
this.memChart.updateSeries([{
data: stats.map((x, i) => ({ x: i, y: (x.mem.used / x.mem.total) }))
}]);
}
},
mounted() {
this.$root.getMeta().then(meta => {
this.meta = meta;
});
this.connection.on('stats', this.onStats);
this.connection.on('statsLog', this.onStatsLog);
this.connection.send('requestLog', {
id: Math.random().toString().substr(2, 8),
length: 200
});
const chartOpts = {
chart: {
type: 'area',
height: 200,
animations: {
dynamicAnimation: {
enabled: false
}
},
toolbar: {
show: false
},
zoom: {
enabled: false
}
},
dataLabels: {
enabled: false
},
grid: {
clipMarkers: false,
borderColor: 'rgba(0, 0, 0, 0.1)'
},
stroke: {
curve: 'straight',
width: 2
},
tooltip: {
enabled: false
},
series: [{
data: []
}],
xaxis: {
type: 'numeric',
labels: {
show: false
},
tooltip: {
enabled: false
}
},
yaxis: {
show: false,
min: 0,
max: 1
}
};
this.cpuChart = new ApexCharts(this.$refs.cpu, chartOpts);
this.memChart = new ApexCharts(this.$refs.mem, chartOpts);
this.cpuChart.render();
this.memChart.render();
},
beforeDestroy() {
this.connection.off('stats', this.onStats);
this.connection.off('statsLog', this.onStatsLog);
this.cpuChart.destroy();
this.memChart.destroy();
},
methods: {
onStats(stats) {
this.stats.push(stats);
if (this.stats.length > 200) this.stats.shift();
this.cpuP = (stats.cpu_usage * 100).toFixed(0);
this.memP = (stats.mem.used / stats.mem.total * 100).toFixed(0);
},
onStatsLog(statsLog) {
statsLog.reverse().forEach(stats => this.onStats(stats));
}
}
});
</script>
<style lang="stylus" scoped>
.zyknedwtlthezamcjlolyusmipqmjgxz
display flex
> div
display block
flex 1
padding 20px 12px 0 12px
box-shadow 0 2px 4px rgba(0, 0, 0, 0.1)
background var(--face)
border-radius 8px
&:first-child
margin-right 16px
> header
display flex
padding 0 8px
margin-bottom -16px
color var(--adminDashboardCardFg)
font-size 14px
> span
&:last-child
margin-left auto
opacity 0.7
> span
opacity 0.7
> div
margin-bottom -10px
@media (max-width 1000px)
display block
margin-bottom 26px
> div
&:first-child
margin-right 0
margin-bottom 26px
</style>
+280
View File
@@ -0,0 +1,280 @@
<template>
<div class="obdskegsannmntldydackcpzezagxqfy">
<header v-if="meta">
<p><b>Misskey</b><span>{{ meta.version }}</span></p>
<p><b>Machine</b><span>{{ meta.machine }}</span></p>
<p><b>OS</b><span>{{ meta.os }}</span></p>
<p><b>Node</b><span>{{ meta.node }}</span></p>
<p>{{ $t('@.ai-chan-kawaii') }}</p>
</header>
<marquee-text v-if="instances.length > 0" class="instances" :repeat="10" :duration="60">
<span v-for="instance in instances" class="instance">
<b :style="{ background: instance.bg }">{{ instance.host }}</b>{{ instance.notesCount | number }} / {{ instance.usersCount | number }}
</span>
</marquee-text>
<div v-if="stats" class="stats">
<div>
<div>
<div><fa icon="user"/></div>
<div>
<span>{{ $t('accounts') }}</span>
<b>{{ stats.originalUsersCount | number }}</b>
</div>
</div>
<div>
<span><fa icon="home"/> {{ $t('this-instance') }}</span>
<span @click="setChartSrc('users')"><fa :icon="['far', 'chart-bar']"/></span>
</div>
</div>
<div>
<div>
<div><fa icon="pencil-alt"/></div>
<div>
<span>{{ $t('notes') }}</span>
<b>{{ stats.originalNotesCount | number }}</b>
</div>
</div>
<div>
<span><fa icon="home"/> {{ $t('this-instance') }}</span>
<span @click="setChartSrc('notes')"><fa :icon="['far', 'chart-bar']"/></span>
</div>
</div>
<div>
<div>
<div><fa :icon="faDatabase"/></div>
<div>
<span>{{ $t('drive') }}</span>
<b>{{ stats.driveUsageLocal | bytes }}</b>
</div>
</div>
<div>
<span><fa icon="home"/> {{ $t('this-instance') }}</span>
<span @click="setChartSrc('drive')"><fa :icon="['far', 'chart-bar']"/></span>
</div>
</div>
<div>
<div>
<div><fa :icon="['far', 'hdd']"/></div>
<div>
<span>{{ $t('instances') }}</span>
<b>{{ stats.instances | number }}</b>
</div>
</div>
<div>
<span><fa icon="globe"/> {{ $t('federated') }}</span>
<span @click="setChartSrc('federation-instances-total')"><fa :icon="['far', 'chart-bar']"/></span>
</div>
</div>
</div>
<div class="charts">
<x-charts ref="charts"/>
</div>
<div class="cpu-memory">
<x-cpu-memory :connection="connection"/>
</div>
<div class="ap">
<x-ap-log/>
</div>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
import i18n from '../../i18n';
import XCpuMemory from "./cpu-memory.vue";
import XCharts from "./charts.vue";
import XApLog from "./ap-log.vue";
import { faDatabase } from '@fortawesome/free-solid-svg-icons';
import MarqueeText from 'vue-marquee-text-component';
import randomColor from 'randomcolor';
export default Vue.extend({
i18n: i18n('admin/views/dashboard.vue'),
components: {
XCpuMemory,
XCharts,
XApLog,
MarqueeText
},
data() {
return {
stats: null,
connection: null,
meta: null,
instances: [],
clock: null,
faDatabase
};
},
created() {
this.connection = this.$root.stream.useSharedConnection('serverStats');
this.updateStats();
this.clock = setInterval(this.updateStats, 1000);
this.$root.getMeta().then(meta => {
this.meta = meta;
});
this.$root.api('instances', {
sort: '+notes'
}).then(instances => {
instances.forEach(i => {
i.bg = randomColor({
seed: i.host,
luminosity: 'dark'
});
});
this.instances = instances;
});
},
beforeDestroy() {
this.connection.dispose();
clearInterval(this.clock);
},
methods: {
setChartSrc(src) {
this.$refs.charts.setSrc(src);
},
updateStats() {
this.$root.api('stats', {}, false, true).then(stats => {
this.stats = stats;
});
}
}
});
</script>
<style lang="stylus" scoped>
.obdskegsannmntldydackcpzezagxqfy
padding 16px
@media (min-width 500px)
padding 32px
> header
display flex
padding-bottom 16px
border-bottom solid 1px var(--adminDashboardHeaderBorder)
color var(--adminDashboardHeaderFg)
font-size 14px
white-space nowrap
@media (max-width 1000px)
display none
> p
display block
margin 0 32px 0 0
overflow hidden
text-overflow ellipsis
> b
&:after
content ':'
margin-right 8px
&:last-child
margin-left auto
margin-right 0
> .instances
padding 16px
color var(--adminDashboardHeaderFg)
font-size 13px
>>> .instance
margin 0 10px
> b
padding 2px 6px
margin-right 4px
border-radius 4px
color #fff
> .stats
display flex
justify-content space-between
margin-bottom 16px
> div
flex 1
margin-right 16px
color var(--adminDashboardCardFg)
box-shadow 0 2px 4px rgba(0, 0, 0, 0.1)
background var(--adminDashboardCardBg)
border-radius 8px
&:last-child
margin-right 0
> div:first-child
display flex
align-items center
text-align center
&:last-child
margin-right 0
> div:first-child
padding 16px 24px
font-size 28px
> div:last-child
flex 1
padding 16px 32px 16px 0
text-align right
> span
font-size 70%
opacity 0.7
> b
display block
> div:last-child
display flex
padding 6px 16px
border-top solid 1px var(--adminDashboardCardDivider)
> span
font-size 70%
opacity 0.7
&:last-child
margin-left auto
cursor pointer
@media (max-width 900px)
display grid
grid-template-columns 1fr 1fr
grid-template-rows 1fr 1fr
gap 16px
> div
margin-right 0
@media (max-width 500px)
display block
> div:not(:last-child)
margin-bottom 16px
> .charts
margin-bottom 16px
> .cpu-memory
margin-bottom 16px
</style>
+151
View File
@@ -0,0 +1,151 @@
<template>
<div class="tumhkfkmgtvzljezfvmgkeurkfncshbe">
<ui-card>
<div slot="title"><fa icon="plus"/> {{ $t('add-emoji.title') }}</div>
<section class="fit-top">
<ui-horizon-group inputs>
<ui-input v-model="name">
<span>{{ $t('add-emoji.name') }}</span>
<span slot="desc">{{ $t('add-emoji.name-desc') }}</span>
</ui-input>
<ui-input v-model="aliases">
<span>{{ $t('add-emoji.aliases') }}</span>
<span slot="desc">{{ $t('add-emoji.aliases-desc') }}</span>
</ui-input>
</ui-horizon-group>
<ui-input v-model="url">
<i slot="icon"><fa icon="link"/></i>
<span>{{ $t('add-emoji.url') }}</span>
</ui-input>
<ui-info>{{ $t('add-emoji.info') }}</ui-info>
<ui-button @click="add">{{ $t('add-emoji.add') }}</ui-button>
</section>
</ui-card>
<ui-card>
<div slot="title"><fa :icon="faGrin"/> {{ $t('emojis.title') }}</div>
<section v-for="emoji in emojis">
<img :src="emoji.url" :alt="emoji.name" style="width: 64px;"/>
<ui-horizon-group inputs>
<ui-input v-model="emoji.name">
<span>{{ $t('add-emoji.name') }}</span>
</ui-input>
<ui-input v-model="emoji.aliases">
<span>{{ $t('add-emoji.aliases') }}</span>
</ui-input>
</ui-horizon-group>
<ui-input v-model="emoji.url">
<i slot="icon"><fa icon="link"/></i>
<span>{{ $t('add-emoji.url') }}</span>
</ui-input>
<ui-horizon-group class="fit-bottom">
<ui-button @click="updateEmoji(emoji)"><fa :icon="['far', 'save']"/> {{ $t('emojis.update') }}</ui-button>
<ui-button @click="removeEmoji(emoji)"><fa :icon="['far', 'trash-alt']"/> {{ $t('emojis.remove') }}</ui-button>
</ui-horizon-group>
</section>
</ui-card>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
import i18n from '../../i18n';
import { faGrin } from '@fortawesome/free-regular-svg-icons';
export default Vue.extend({
i18n: i18n('admin/views/emoji.vue'),
data() {
return {
name: '',
url: '',
aliases: '',
emojis: [],
faGrin
};
},
mounted() {
this.fetchEmojis();
},
methods: {
add() {
this.$root.api('admin/emoji/add', {
name: this.name,
url: this.url,
aliases: this.aliases.split(' ').filter(x => x.length > 0)
}).then(() => {
this.$root.alert({
type: 'success',
text: this.$t('add-emoji.added')
});
this.fetchEmojis();
}).catch(e => {
this.$root.alert({
type: 'error',
text: e
});
});
},
fetchEmojis() {
this.$root.api('admin/emoji/list').then(emojis => {
emojis.reverse();
emojis.forEach(e => e.aliases = (e.aliases || []).join(' '));
this.emojis = emojis;
});
},
updateEmoji(emoji) {
this.$root.api('admin/emoji/update', {
id: emoji.id,
name: emoji.name,
url: emoji.url,
aliases: emoji.aliases.split(' ').filter(x => x.length > 0)
}).then(() => {
this.$root.alert({
type: 'success',
text: this.$t('updated')
});
}).catch(e => {
this.$root.alert({
type: 'error',
text: e
});
});
},
removeEmoji(emoji) {
this.$root.alert({
type: 'warning',
text: this.$t('remove-emoji.are-you-sure').replace('$1', emoji.name),
showCancelButton: true
}).then(res => {
if (!res) return;
this.$root.api('admin/emoji/remove', {
id: emoji.id
}).then(() => {
this.$root.alert({
type: 'success',
text: this.$t('remove-emoji.removed')
});
this.fetchEmojis();
}).catch(e => {
this.$root.alert({
type: 'error',
text: e
});
});
});
}
}
});
</script>
<style lang="stylus" scoped>
.tumhkfkmgtvzljezfvmgkeurkfncshbe
@media (min-width 500px)
padding 16px
</style>
+48
View File
@@ -0,0 +1,48 @@
<template>
<div>
<ui-card>
<div slot="title">{{ $t('hided-tags') }}</div>
<section>
<textarea class="jdnqwkzlnxcfftthoybjxrebyolvoucw" v-model="hidedTags"></textarea>
<ui-button @click="save">{{ $t('save') }}</ui-button>
</section>
</ui-card>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
import i18n from '../../i18n';
export default Vue.extend({
i18n: i18n('admin/views/hashtags.vue'),
data() {
return {
hidedTags: '',
};
},
created() {
this.$root.getMeta().then(meta => {
this.hidedTags = meta.hidedTags.join('\n');
});
},
methods: {
save() {
this.$root.api('admin/update-meta', {
hidedTags: this.hidedTags.split('\n')
}).then(() => {
//this.$root.os.apis.dialog({ text: `Saved` });
}).catch(e => {
//this.$root.os.apis.dialog({ text: `Failed ${e}` });
});
}
}
});
</script>
<style lang="stylus" scoped>
.jdnqwkzlnxcfftthoybjxrebyolvoucw
width 100%
min-height 300px
</style>
+276
View File
@@ -0,0 +1,276 @@
<template>
<div class="mk-admin" :class="{ isMobile }">
<header v-show="isMobile">
<button class="nav" @click="navOpend = true"><fa icon="bars"/></button>
<span>MisskeyMyAdmin</span>
</header>
<div class="nav-backdrop"
v-if="navOpend && isMobile"
@click="navOpend = false"
@touchstart="navOpend = false"
></div>
<nav v-show="navOpend">
<div class="mi">
<img svg-inline src="../assets/header-icon.svg"/>
</div>
<div class="me">
<img class="avatar" :src="$store.state.i.avatarUrl" alt="avatar"/>
<p class="name">{{ $store.state.i | userName }}</p>
</div>
<ul>
<li @click="nav('dashboard')" :class="{ active: page == 'dashboard' }"><fa icon="home" fixed-width/>{{ $t('dashboard') }}</li>
<li @click="nav('instance')" :class="{ active: page == 'instance' }"><fa icon="cog" fixed-width/>{{ $t('instance') }}</li>
<li @click="nav('moderators')" :class="{ active: page == 'moderators' }"><fa :icon="faHeadset" fixed-width/>{{ $t('moderators') }}</li>
<li @click="nav('users')" :class="{ active: page == 'users' }"><fa icon="users" fixed-width/>{{ $t('users') }}</li>
<!-- <li @click="nav('federation')" :class="{ active: page == 'federation' }"><fa :icon="faShareAlt" fixed-width/>{{ $t('federation') }}</li> -->
<li @click="nav('emoji')" :class="{ active: page == 'emoji' }"><fa :icon="faGrin" fixed-width/>{{ $t('emoji') }}</li>
<li @click="nav('announcements')" :class="{ active: page == 'announcements' }"><fa icon="broadcast-tower" fixed-width/>{{ $t('announcements') }}</li>
<li @click="nav('hashtags')" :class="{ active: page == 'hashtags' }"><fa icon="hashtag" fixed-width/>{{ $t('hashtags') }}</li>
<!-- <li @click="nav('drive')" :class="{ active: page == 'drive' }"><fa icon="cloud" fixed-width/>{{ $t('@.drive') }}</li> -->
</ul>
<div class="back-to-misskey">
<a href="/"><fa :icon="faArrowLeft"/> {{ $t('back-to-misskey') }}</a>
</div>
<div class="version">
<small>Misskey {{ version }}</small>
</div>
</nav>
<main>
<div class="page">
<div v-if="page == 'dashboard'"><x-dashboard/></div>
<div v-if="page == 'instance'"><x-instance/></div>
<div v-if="page == 'moderators'"><x-moderators/></div>
<div v-if="page == 'users'"><x-users/></div>
<div v-if="page == 'emoji'"><x-emoji/></div>
<div v-if="page == 'announcements'"><x-announcements/></div>
<div v-if="page == 'hashtags'"><x-hashtags/></div>
<div v-if="page == 'drive'"></div>
<div v-if="page == 'update'"></div>
</div>
</main>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
import i18n from '../../i18n';
import { version } from '../../config';
import XDashboard from "./dashboard.vue";
import XInstance from "./instance.vue";
import XModerators from "./moderators.vue";
import XEmoji from "./emoji.vue";
import XAnnouncements from "./announcements.vue";
import XHashtags from "./hashtags.vue";
import XUsers from "./users.vue";
import { faHeadset, faArrowLeft, faShareAlt } from '@fortawesome/free-solid-svg-icons';
import { faGrin } from '@fortawesome/free-regular-svg-icons';
// Detect the user agent
const ua = navigator.userAgent.toLowerCase();
const isMobile = /mobile|iphone|ipad|android/.test(ua);
export default Vue.extend({
i18n: i18n('admin/views/index.vue'),
components: {
XDashboard,
XInstance,
XModerators,
XEmoji,
XAnnouncements,
XHashtags,
XUsers
},
provide: {
isMobile
},
data() {
return {
page: 'dashboard',
version,
isMobile,
navOpend: !isMobile,
faGrin,
faArrowLeft,
faHeadset,
faShareAlt
};
},
methods: {
nav(page: string) {
this.page = page;
}
}
});
</script>
<style lang="stylus" scoped>
.mk-admin
$headerHeight = 48px
display flex
height 100%
> header
position fixed
top 0
z-index 10000
width 100%
color var(--mobileHeaderFg)
background-color var(--mobileHeaderBg)
box-shadow 0 1px 0 rgba(#000, 0.075)
&, *
user-select none
> span
display block
line-height $headerHeight
text-align center
> .nav
display block
position absolute
top 0
left 0
z-index 10001
padding 0
width $headerHeight
font-size 1.4em
line-height $headerHeight
border-right solid 1px rgba(#000, 0.1)
> [data-icon]
transition all 0.2s ease
> nav
position fixed
z-index 20001
top 0
left 0
width 250px
height 100vh
overflow auto
background #333
color #fff
> .mi
text-align center
> svg
width 24px
height 82px
vertical-align top
fill #fff
opacity 0.7
> .me
display flex
margin 0 16px 16px 16px
padding 16px 0
align-items center
border-top solid 1px #555
border-bottom solid 1px #555
> .avatar
height 48px
border-radius 100%
vertical-align middle
> .name
margin 0 16px
padding 0
color #fff
overflow hidden
text-overflow ellipsis
white-space nowrap
font-size 15px
> .back-to-misskey
margin 16px 16px 0 16px
padding 0
border-top solid 1px #555
> a
display block
padding 16px 4px
color inherit
text-decoration none
color #eee
font-size 15px
&:hover
color #fff
> [data-icon]
margin-right 6px
> .version
margin 0 16px 16px 16px
padding-top 16px
border-top solid 1px #555
text-align center
> small
opacity 0.7
> ul
margin 0
padding 0
list-style none
font-size 15px
> li
display block
padding 10px 16px
margin 0
cursor pointer
user-select none
color #eee
transition margin-left 0.2s ease
&:hover
color #fff
> [data-icon]
margin-right 6px
&.active
margin-left 8px
color var(--primary) !important
&:after
content ""
display block
position absolute
top 0
right 0
bottom 0
margin auto 0
height 0
border-top solid 16px transparent
border-right solid 16px var(--bg)
border-bottom solid 16px transparent
border-left solid 16px transparent
> .nav-backdrop
position fixed
top 0
left 0
z-index 20000
width 100%
height 100%
background var(--mobileNavBackdrop)
> main
width 100%
padding 0 0 0 250px
> .page
max-width 1150px
&.isMobile
> main
padding $headerHeight 0 0 0
</style>
+246
View File
@@ -0,0 +1,246 @@
<template>
<div class="axbwjelsbymowqjyywpirzhdlszoncqs">
<ui-card>
<div slot="title"><fa icon="cog"/> {{ $t('instance') }}</div>
<section class="fit-top fit-bottom">
<ui-input :value="host" readonly>{{ $t('host') }}</ui-input>
<ui-input v-model="name">{{ $t('instance-name') }}</ui-input>
<ui-textarea v-model="description">{{ $t('instance-description') }}</ui-textarea>
<ui-input v-model="bannerUrl"><i slot="icon"><fa icon="link"/></i>{{ $t('banner-url') }}</ui-input>
<ui-input v-model="languages"><i slot="icon"><fa icon="language"/></i>{{ $t('languages') }}<span slot="desc">{{ $t('languages-desc') }}</span></ui-input>
</section>
<section class="fit-bottom">
<header><fa :icon="faHeadset"/> {{ $t('maintainer-config') }}</header>
<ui-input v-model="maintainerName">{{ $t('maintainer-name') }}</ui-input>
<ui-input v-model="maintainerEmail" type="email"><i slot="icon"><fa :icon="['far', 'envelope']"/></i>{{ $t('maintainer-email') }}</ui-input>
</section>
<section class="fit-top fit-bottom">
<ui-input v-model="maxNoteTextLength">{{ $t('max-note-text-length') }}</ui-input>
</section>
<section class="fit-bottom">
<header><fa icon="cloud"/> {{ $t('drive-config') }}</header>
<ui-switch v-model="cacheRemoteFiles">{{ $t('cache-remote-files') }}<span slot="desc">{{ $t('cache-remote-files-desc') }}</span></ui-switch>
<ui-input v-model="localDriveCapacityMb" type="number">{{ $t('local-drive-capacity-mb') }}<span slot="suffix">MB</span><span slot="desc">{{ $t('mb') }}</span></ui-input>
<ui-input v-model="remoteDriveCapacityMb" type="number" :disabled="!cacheRemoteFiles">{{ $t('remote-drive-capacity-mb') }}<span slot="suffix">MB</span><span slot="desc">{{ $t('mb') }}</span></ui-input>
</section>
<section class="fit-bottom">
<header><fa :icon="faShieldAlt"/> {{ $t('recaptcha-config') }}</header>
<ui-switch v-model="enableRecaptcha">{{ $t('enable-recaptcha') }}</ui-switch>
<ui-info>{{ $t('recaptcha-info') }}</ui-info>
<ui-input v-model="recaptchaSiteKey" :disabled="!enableRecaptcha"><i slot="icon"><fa icon="key"/></i>{{ $t('recaptcha-site-key') }}</ui-input>
<ui-input v-model="recaptchaSecretKey" :disabled="!enableRecaptcha"><i slot="icon"><fa icon="key"/></i>{{ $t('recaptcha-secret-key') }}</ui-input>
</section>
<section>
<header><fa :icon="faGhost"/> {{ $t('proxy-account-config') }}</header>
<ui-info>{{ $t('proxy-account-info') }}</ui-info>
<ui-input v-model="proxyAccount"><span slot="prefix">@</span>{{ $t('proxy-account-username') }}<span slot="desc">{{ $t('proxy-account-username-desc') }}</span></ui-input>
<ui-info warn>{{ $t('proxy-account-warn') }}</ui-info>
</section>
<section>
<ui-switch v-model="disableRegistration">{{ $t('disable-registration') }}</ui-switch>
</section>
<section>
<ui-switch v-model="disableLocalTimeline">{{ $t('disable-local-timeline') }}</ui-switch>
</section>
<section>
<header>summaly Proxy</header>
<ui-input v-model="summalyProxy">URL</ui-input>
</section>
<section>
<header><fa :icon="faUserPlus"/> {{ $t('user-recommendation-config') }}</header>
<ui-switch v-model="enableExternalUserRecommendation">{{ $t('enable-external-user-recommendation') }}</ui-switch>
<ui-input v-model="externalUserRecommendationEngine" :disabled="!enableExternalUserRecommendation">{{ $t('external-user-recommendation-engine') }}<span slot="desc">{{ $t('external-user-recommendation-engine-desc') }}</span></ui-input>
<ui-input v-model="externalUserRecommendationTimeout" type="number" :disabled="!enableExternalUserRecommendation">{{ $t('external-user-recommendation-timeout') }}<span slot="suffix">ms</span><span slot="desc">{{ $t('external-user-recommendation-timeout-desc') }}</span></ui-input>
</section>
<section>
<ui-button @click="updateMeta">{{ $t('save') }}</ui-button>
</section>
</ui-card>
<ui-card>
<div slot="title">{{ $t('invite') }}</div>
<section>
<ui-button @click="invite">{{ $t('invite') }}</ui-button>
<p v-if="inviteCode">Code: <code>{{ inviteCode }}</code></p>
</section>
</ui-card>
<ui-card>
<div slot="title"><fa :icon="['fab', 'twitter']"/> {{ $t('twitter-integration-config') }}</div>
<section>
<ui-switch v-model="enableTwitterIntegration">{{ $t('enable-twitter-integration') }}</ui-switch>
<ui-info>{{ $t('twitter-integration-info') }}</ui-info>
<ui-input v-model="twitterConsumerKey" :disabled="!enableTwitterIntegration"><i slot="icon"><fa icon="key"/></i>{{ $t('twitter-integration-consumer-key') }}</ui-input>
<ui-input v-model="twitterConsumerSecret" :disabled="!enableTwitterIntegration"><i slot="icon"><fa icon="key"/></i>{{ $t('twitter-integration-consumer-secret') }}</ui-input>
<ui-button @click="updateMeta">{{ $t('save') }}</ui-button>
</section>
</ui-card>
<ui-card>
<div slot="title"><fa :icon="['fab', 'github']"/> {{ $t('github-integration-config') }}</div>
<section>
<ui-switch v-model="enableGithubIntegration">{{ $t('enable-github-integration') }}</ui-switch>
<ui-info>{{ $t('github-integration-info') }}</ui-info>
<ui-input v-model="githubClientId" :disabled="!enableGithubIntegration"><i slot="icon"><fa icon="key"/></i>{{ $t('github-integration-client-id') }}</ui-input>
<ui-input v-model="githubClientSecret" :disabled="!enableGithubIntegration"><i slot="icon"><fa icon="key"/></i>{{ $t('github-integration-client-secret') }}</ui-input>
<ui-button @click="updateMeta">{{ $t('save') }}</ui-button>
</section>
</ui-card>
<ui-card>
<div slot="title"><fa :icon="['fab', 'discord']"/> {{ $t('discord-integration-config') }}</div>
<section>
<ui-switch v-model="enableDiscordIntegration">{{ $t('enable-discord-integration') }}</ui-switch>
<ui-info>{{ $t('discord-integration-info') }}</ui-info>
<ui-input v-model="discordClientId" :disabled="!enableDiscordIntegration"><i slot="icon"><fa icon="key"/></i>{{ $t('discord-integration-client-id') }}</ui-input>
<ui-input v-model="discordClientSecret" :disabled="!enableDiscordIntegration"><i slot="icon"><fa icon="key"/></i>{{ $t('discord-integration-client-secret') }}</ui-input>
<ui-button @click="updateMeta">{{ $t('save') }}</ui-button>
</section>
</ui-card>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
import i18n from '../../i18n';
import { host } from '../../config';
import { toUnicode } from 'punycode';
import { faHeadset, faShieldAlt, faGhost, faUserPlus } from '@fortawesome/free-solid-svg-icons';
export default Vue.extend({
i18n: i18n('admin/views/instance.vue'),
data() {
return {
host: toUnicode(host),
maintainerName: null,
maintainerEmail: null,
disableRegistration: false,
disableLocalTimeline: false,
bannerUrl: null,
name: null,
description: null,
languages: null,
cacheRemoteFiles: false,
localDriveCapacityMb: null,
remoteDriveCapacityMb: null,
maxNoteTextLength: null,
enableRecaptcha: false,
recaptchaSiteKey: null,
recaptchaSecretKey: null,
enableTwitterIntegration: false,
twitterConsumerKey: null,
twitterConsumerSecret: null,
enableGithubIntegration: false,
githubClientId: null,
githubClientSecret: null,
enableDiscordIntegration: false,
discordClientId: null,
discordClientSecret: null,
proxyAccount: null,
inviteCode: null,
enableExternalUserRecommendation: false,
externalUserRecommendationEngine: null,
externalUserRecommendationTimeout: null,
summalyProxy: null,
faHeadset, faShieldAlt, faGhost, faUserPlus
};
},
created() {
this.$root.getMeta().then(meta => {
this.maintainerName = meta.maintainer.name;
this.maintainerEmail = meta.maintainer.email;
this.bannerUrl = meta.bannerUrl;
this.name = meta.name;
this.description = meta.description;
this.languages = meta.langs.join(' ');
this.cacheRemoteFiles = meta.cacheRemoteFiles;
this.localDriveCapacityMb = meta.driveCapacityPerLocalUserMb;
this.remoteDriveCapacityMb = meta.driveCapacityPerRemoteUserMb;
this.maxNoteTextLength = meta.maxNoteTextLength;
this.enableRecaptcha = meta.enableRecaptcha;
this.recaptchaSiteKey = meta.recaptchaSiteKey;
this.recaptchaSecretKey = meta.recaptchaSecretKey;
this.proxyAccount = meta.proxyAccount;
this.enableTwitterIntegration = meta.enableTwitterIntegration;
this.twitterConsumerKey = meta.twitterConsumerKey;
this.twitterConsumerSecret = meta.twitterConsumerSecret;
this.enableGithubIntegration = meta.enableGithubIntegration;
this.githubClientId = meta.githubClientId;
this.githubClientSecret = meta.githubClientSecret;
this.enableDiscordIntegration = meta.enableDiscordIntegration;
this.discordClientId = meta.discordClientId;
this.discordClientSecret = meta.discordClientSecret;
this.enableExternalUserRecommendation = meta.enableExternalUserRecommendation;
this.externalUserRecommendationEngine = meta.externalUserRecommendationEngine;
this.externalUserRecommendationTimeout = meta.externalUserRecommendationTimeout;
this.summalyProxy = meta.summalyProxy;
});
},
methods: {
invite() {
this.$root.api('admin/invite').then(x => {
this.inviteCode = x.code;
}).catch(e => {
this.$root.alert({
type: 'error',
text: e
});
});
},
updateMeta() {
this.$root.api('admin/update-meta', {
maintainerName: this.maintainerName,
maintainerEmail: this.maintainerEmail,
disableRegistration: this.disableRegistration,
disableLocalTimeline: this.disableLocalTimeline,
bannerUrl: this.bannerUrl,
name: this.name,
description: this.description,
langs: this.languages.split(' '),
cacheRemoteFiles: this.cacheRemoteFiles,
localDriveCapacityMb: parseInt(this.localDriveCapacityMb, 10),
remoteDriveCapacityMb: parseInt(this.remoteDriveCapacityMb, 10),
maxNoteTextLength: parseInt(this.maxNoteTextLength, 10),
enableRecaptcha: this.enableRecaptcha,
recaptchaSiteKey: this.recaptchaSiteKey,
recaptchaSecretKey: this.recaptchaSecretKey,
proxyAccount: this.proxyAccount,
enableTwitterIntegration: this.enableTwitterIntegration,
twitterConsumerKey: this.twitterConsumerKey,
twitterConsumerSecret: this.twitterConsumerSecret,
enableGithubIntegration: this.enableGithubIntegration,
githubClientId: this.githubClientId,
githubClientSecret: this.githubClientSecret,
enableDiscordIntegration: this.enableDiscordIntegration,
discordClientId: this.discordClientId,
discordClientSecret: this.discordClientSecret,
enableExternalUserRecommendation: this.enableExternalUserRecommendation,
externalUserRecommendationEngine: this.externalUserRecommendationEngine,
externalUserRecommendationTimeout: parseInt(this.externalUserRecommendationTimeout, 10),
summalyProxy: this.summalyProxy
}).then(() => {
this.$root.alert({
type: 'success',
text: this.$t('saved')
});
}).catch(e => {
this.$root.alert({
type: 'error',
text: e
});
});
}
}
});
</script>
<style lang="stylus" scoped>
.axbwjelsbymowqjyywpirzhdlszoncqs
@media (min-width 500px)
padding 16px
</style>
+61
View File
@@ -0,0 +1,61 @@
<template>
<div class="jnhmugbb">
<ui-card>
<div slot="title"><fa icon="plus"/> {{ $t('add-moderator.title') }}</div>
<section class="fit-top">
<ui-input v-model="username" type="text">
<span slot="prefix">@</span>
</ui-input>
<ui-button @click="add" :disabled="adding">{{ $t('add-moderator.add') }}</ui-button>
</section>
</ui-card>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
import i18n from '../../i18n';
import parseAcct from "../../../../misc/acct/parse";
export default Vue.extend({
i18n: i18n('admin/views/moderators.vue'),
data() {
return {
username: '',
adding: false
};
},
methods: {
async add() {
this.adding = true;
const process = async () => {
const user = await this.$root.api('users/show', parseAcct(this.username));
await this.$root.api('admin/moderators/add', { userId: user.id });
this.$root.alert({
type: 'success',
text: this.$t('add-moderator.added')
});
};
await process().catch(e => {
this.$root.alert({
type: 'error',
text: e.toString()
});
});
this.adding = false;
},
}
});
</script>
<style lang="stylus" scoped>
.jnhmugbb
@media (min-width 500px)
padding 16px
</style>
+282
View File
@@ -0,0 +1,282 @@
<template>
<div class="ucnffhbtogqgscfmqcymwmmupoknpfsw">
<ui-card>
<div slot="title"><fa :icon="faTerminal"/> {{ $t('operation') }}</div>
<section class="fit-top">
<ui-input v-model="target" type="text">
<span>{{ $t('username-or-userid') }}</span>
</ui-input>
<ui-button @click="resetPassword"><fa :icon="faKey"/> {{ $t('reset-password') }}</ui-button>
<ui-horizon-group>
<ui-button @click="verifyUser" :disabled="verifying"><fa :icon="faCertificate"/> {{ $t('verify') }}</ui-button>
<ui-button @click="unverifyUser" :disabled="unverifying">{{ $t('unverify') }}</ui-button>
</ui-horizon-group>
<ui-horizon-group>
<ui-button @click="suspendUser" :disabled="suspending"><fa :icon="faSnowflake"/> {{ $t('suspend') }}</ui-button>
<ui-button @click="unsuspendUser" :disabled="unsuspending">{{ $t('unsuspend') }}</ui-button>
</ui-horizon-group>
<ui-button @click="showUser"><fa :icon="faSearch"/> {{ $t('lookup') }}</ui-button>
<ui-textarea v-if="user" :value="user | json5" readonly tall style="margin-top:16px;"></ui-textarea>
</section>
</ui-card>
<ui-card>
<div slot="title"><fa :icon="faUsers"/> {{ $t('users.title') }}</div>
<section class="fit-top">
<ui-horizon-group inputs>
<ui-select v-model="sort">
<span slot="label">{{ $t('users.sort.title') }}</span>
<option value="-createdAt">{{ $t('users.sort.createdAtAsc') }}</option>
<option value="+createdAt">{{ $t('users.sort.createdAtDesc') }}</option>
<option value="-updatedAt">{{ $t('users.sort.updatedAtAsc') }}</option>
<option value="+updatedAt">{{ $t('users.sort.updatedAtDesc') }}</option>
</ui-select>
<ui-select v-model="origin">
<span slot="label">{{ $t('users.origin.title') }}</span>
<option value="combined">{{ $t('users.origin.combined') }}</option>
<option value="local">{{ $t('users.origin.local') }}</option>
<option value="remote">{{ $t('users.origin.remote') }}</option>
</ui-select>
</ui-horizon-group>
<div class="kofvwchc" v-for="user in users">
<div>
<a :href="user | userPage(null, true)">
<mk-avatar class="avatar" :user="user" :disable-link="true"/>
</a>
</div>
<div>
<header>
<b>{{ user | userName }}</b>
<span class="username">@{{ user | acct }}</span>
</header>
<div>
<span>{{ $t('users.updatedAt') }}: <mk-time :time="user.updatedAt" mode="detail"/></span>
</div>
<div>
<span>{{ $t('users.createdAt') }}: <mk-time :time="user.createdAt" mode="detail"/></span>
</div>
</div>
</div>
<ui-button v-if="existMore" @click="fetchUsers">{{ $t('@.load-more') }}</ui-button>
</section>
</ui-card>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
import i18n from '../../i18n';
import parseAcct from "../../../../misc/acct/parse";
import { faCertificate, faUsers, faTerminal, faSearch, faKey } from '@fortawesome/free-solid-svg-icons';
import { faSnowflake } from '@fortawesome/free-regular-svg-icons';
export default Vue.extend({
i18n: i18n('admin/views/users.vue'),
data() {
return {
user: null,
target: null,
verifying: false,
unverifying: false,
suspending: false,
unsuspending: false,
sort: '+createdAt',
origin: 'combined',
limit: 10,
offset: 0,
users: [],
existMore: false,
faTerminal, faCertificate, faUsers, faSnowflake, faSearch, faKey
};
},
watch: {
sort() {
this.users = [];
this.offset = 0;
this.fetchUsers();
},
origin() {
this.users = [];
this.offset = 0;
this.fetchUsers();
}
},
mounted() {
this.fetchUsers();
},
methods: {
async fetchUser() {
try {
return await this.$root.api('users/show', this.target.startsWith('@') ? parseAcct(this.target) : { userId: this.target });
} catch (e) {
if (e == 'user not found') {
this.$root.alert({
type: 'error',
text: this.$t('user-not-found')
});
} else {
this.$root.alert({
type: 'error',
text: e.toString()
});
}
}
},
async showUser() {
const user = await this.fetchUser();
this.$root.api('admin/show-user', { userId: user.id }).then(info => {
this.user = info;
});
},
async resetPassword() {
const user = await this.fetchUser();
this.$root.api('admin/reset-password', { userId: user.id }).then(res => {
this.$root.alert({
type: 'success',
text: this.$t('password-updated', { password: res.password })
});
});
},
async verifyUser() {
this.verifying = true;
const process = async () => {
const user = await this.fetchUser();
await this.$root.api('admin/verify-user', { userId: user.id });
this.$root.alert({
type: 'success',
text: this.$t('verified')
});
};
await process().catch(e => {
this.$root.alert({
type: 'error',
text: e.toString()
});
});
this.verifying = false;
},
async unverifyUser() {
this.unverifying = true;
const process = async () => {
const user = await this.fetchUser();
await this.$root.api('admin/unverify-user', { userId: user.id });
this.$root.alert({
type: 'success',
text: this.$t('unverified')
});
};
await process().catch(e => {
this.$root.alert({
type: 'error',
text: e.toString()
});
});
this.unverifying = false;
},
async suspendUser() {
this.suspending = true;
const process = async () => {
const user = await this.fetchUser();
await this.$root.api('admin/suspend-user', { userId: user.id });
this.$root.alert({
type: 'success',
text: this.$t('suspended')
});
};
await process().catch(e => {
this.$root.alert({
type: 'error',
text: e.toString()
});
});
this.suspending = false;
},
async unsuspendUser() {
this.unsuspending = true;
const process = async () => {
const user = await this.fetchUser();
await this.$root.api('admin/unsuspend-user', { userId: user.id });
this.$root.alert({
type: 'success',
text: this.$t('unsuspended')
});
};
await process().catch(e => {
this.$root.alert({
type: 'error',
text: e.toString()
});
});
this.unsuspending = false;
},
fetchUsers() {
this.$root.api('users', {
origin: this.origin,
sort: this.sort,
offset: this.offset,
limit: this.limit + 1
}).then(users => {
if (users.length == this.limit + 1) {
users.pop();
this.existMore = true;
} else {
this.existMore = false;
}
this.users = this.users.concat(users);
this.offset += this.limit;
});
}
}
});
</script>
<style lang="stylus" scoped>
.ucnffhbtogqgscfmqcymwmmupoknpfsw
@media (min-width 500px)
padding 16px
.kofvwchc
display flex
padding 16px 0
border-top solid 1px var(--faceDivider)
> div:first-child
> a
> .avatar
width 64px
height 64px
> div:last-child
flex 1
padding-left 16px
> header
> .username
margin-left 8px
opacity 0.7
</style>
+1 -8
View File
@@ -13,13 +13,6 @@ html
body
overflow-wrap break-word
#error
padding 32px
color #fff
hr
border solid 1px #fff
#nprogress
pointer-events none
@@ -128,5 +121,5 @@ pre
overflow auto
tab-size 2
[data-fa]
[data-icon]
display inline-block
-3
View File
@@ -5,9 +5,6 @@
<script lang="ts">
import Vue from 'vue';
import { url, lang } from './config';
import applyTheme from './common/scripts/theme';
const darkTheme = require('../theme/dark');
const halloweenTheme = require('../theme/halloween');
export default Vue.extend({
computed: {
-3
View File
@@ -9,14 +9,11 @@ import './style.styl';
import init from '../init';
import Index from './views/index.vue';
import * as config from '../config';
/**
* init
*/
init(launch => {
document.title = `${config.name} | %i18n:common.application-authorization%`;
// Init router
const router = new VueRouter({
mode: 'history',
+18 -15
View File
@@ -1,7 +1,7 @@
<template>
<div class="form">
<header>
<h1>%i18n:@share-access%</h1>
<h1 v-html="$t('share-access', { name: app.name })"></h1>
<img :src="app.iconUrl"/>
</header>
<div class="app">
@@ -11,32 +11,35 @@
<p class="description">{{ app.description }}</p>
</section>
<section>
<h2>%i18n:@permission-ask%</h2>
<h2>{{ $t('permission-ask') }}</h2>
<ul>
<template v-for="p in app.permission">
<li v-if="p == 'account-read'">%i18n:@account-read%</li>
<li v-if="p == 'account-write'">%i18n:@account-write%</li>
<li v-if="p == 'note-write'">%i18n:@note-write%</li>
<li v-if="p == 'like-write'">%i18n:@like-write%</li>
<li v-if="p == 'following-write'">%i18n:@following-write%</li>
<li v-if="p == 'drive-read'">%i18n:@drive-read%</li>
<li v-if="p == 'drive-write'">%i18n:@drive-write%</li>
<li v-if="p == 'notification-read'">%i18n:@notification-read%</li>
<li v-if="p == 'notification-write'">%i18n:@notification-write%</li>
<li v-if="p == 'account-read'">{{ $t('account-read') }}</li>
<li v-if="p == 'account-write'">{{ $t('account-write') }}</li>
<li v-if="p == 'note-write'">{{ $t('note-write') }}</li>
<li v-if="p == 'like-write'">{{ $t('like-write') }}</li>
<li v-if="p == 'following-write'">{{ $t('following-write') }}</li>
<li v-if="p == 'drive-read'">{{ $t('drive-read') }}</li>
<li v-if="p == 'drive-write'">{{ $t('drive-write') }}</li>
<li v-if="p == 'notification-read'">{{ $t('notification-read') }}</li>
<li v-if="p == 'notification-write'">{{ $t('notification-write') }}</li>
</template>
</ul>
</section>
</div>
<div class="action">
<button @click="cancel">%i18n:@cancel%</button>
<button @click="accept">%i18n:@accept%</button>
<button @click="cancel">{{ $t('cancel') }}</button>
<button @click="accept">{{ $t('accept') }}</button>
</div>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
import i18n from '../../i18n';
export default Vue.extend({
i18n: i18n('auth/views/form.vue'),
props: ['session'],
computed: {
app(): any {
@@ -45,7 +48,7 @@ export default Vue.extend({
},
methods: {
cancel() {
(this as any).api('auth/deny', {
this.$root.api('auth/deny', {
token: this.session.token
}).then(() => {
this.$emit('denied');
@@ -53,7 +56,7 @@ export default Vue.extend({
},
accept() {
(this as any).api('auth/accept', {
this.$root.api('auth/accept', {
token: this.session.token
}).then(() => {
this.$emit('accepted');
+12 -10
View File
@@ -1,7 +1,7 @@
<template>
<div class="index">
<main v-if="$store.getters.isSignedIn">
<p class="fetching" v-if="fetching">%i18n:@loading%<mk-ellipsis/></p>
<p class="fetching" v-if="fetching">{{ $t('loading') }}<mk-ellipsis/></p>
<x-form
class="form"
ref="form"
@@ -11,20 +11,20 @@
@accepted="accepted"
/>
<div class="denied" v-if="state == 'denied'">
<h1>%i18n:@denied%</h1>
<p>%i18n:@denied-paragraph%</p>
<h1>{{ $t('denied') }}</h1>
<p>{{ $t('denied-paragraph') }}</p>
</div>
<div class="accepted" v-if="state == 'accepted'">
<h1>{{ session.app.isAuthorized ? '%i18n:@already-authorized%' : '%i18n:@allowed%' }}</h1>
<p v-if="session.app.callbackUrl">%i18n:@callback-url%<mk-ellipsis/></p>
<p v-if="!session.app.callbackUrl">%i18n:@please-go-back%</p>
<h1>{{ session.app.isAuthorized ? this.$t('already-authorized') : this.$t('allowed') }}</h1>
<p v-if="session.app.callbackUrl">{{ $t('callback-url') }}<mk-ellipsis/></p>
<p v-if="!session.app.callbackUrl">{{ $t('please-go-back') }}</p>
</div>
<div class="error" v-if="state == 'fetch-session-error'">
<p>%i18n:@error%</p>
<p>{{ $t('error') }}</p>
</div>
</main>
<main class="signin" v-if="!$store.getters.isSignedIn">
<h1>%i18n:@sign-in%</h1>
<h1>{{ $t('sign-in') }}</h1>
<mk-signin/>
</main>
<footer><img src="/assets/auth/icon.svg" alt="Misskey"/></footer>
@@ -33,9 +33,11 @@
<script lang="ts">
import Vue from 'vue';
import i18n from '../../i18n';
import XForm from './form.vue';
export default Vue.extend({
i18n: i18n('auth/views/index.vue'),
components: {
XForm
},
@@ -55,7 +57,7 @@ export default Vue.extend({
if (!this.$store.getters.isSignedIn) return;
// Fetch session
(this as any).api('auth/session/show', {
this.$root.api('auth/session/show', {
token: this.token
}).then(session => {
this.session = session;
@@ -63,7 +65,7 @@ export default Vue.extend({
//
if (this.session.app.isAuthorized) {
(this as any).api('auth/accept', {
this.$root.api('auth/accept', {
token: this.session.token
}).then(() => {
this.accepted();
-3
View File
@@ -34,9 +34,6 @@ html
//- FontAwesome style
style #{facss}
//- highlight.js style
style #{hljscss}
body
noscript: p
| JavaScriptを有効にしてください
+23 -13
View File
@@ -3,15 +3,9 @@
* (ENTRY POINT)
*/
/**
* ドメインに基づいて適切なスクリプトを読み込みます
* ユーザーの言語およびモバイル端末か否かも考慮します
* webpackは介さないためrequireやimportは使えません
*/
'use strict';
(function() {
(async function() {
// キャッシュ削除要求があれば従う
if (localStorage.getItem('shouldFlush') == 'true') {
refresh();
@@ -24,7 +18,6 @@
const theme = localStorage.getItem('theme');
if (theme) {
Object.entries(JSON.parse(theme)).forEach(([k, v]) => {
if (k == 'meta') return;
document.documentElement.style.setProperty(`--${k}`, v.toString());
});
}
@@ -47,8 +40,13 @@
if (`${url.pathname}/`.startsWith('/docs/')) app = 'docs';
if (`${url.pathname}/`.startsWith('/dev/')) app = 'dev';
if (`${url.pathname}/`.startsWith('/auth/')) app = 'auth';
if (`${url.pathname}/`.startsWith('/admin/')) app = 'admin';
if (`${url.pathname}/`.startsWith('/test/')) app = 'test';
//#endregion
// Script version
const ver = localStorage.getItem('v') || VERSION;
//#region Detect the user language
let lang = null;
@@ -67,8 +65,21 @@
langs.includes(settings.device.lang)) {
lang = settings.device.lang;
}
window.lang = lang;
//#endregion
let locale = localStorage.getItem('locale');
const localeKey = localStorage.getItem('localeKey');
if (locale == null || localeKey != `${ver}.${lang}`) {
const locale = await fetch(`/assets/locales/${lang}.json?ver=${ver}`)
.then(response => response.json());
localStorage.setItem('locale', JSON.stringify(locale));
localStorage.setItem('localeKey', `${ver}.${lang}`);
}
// Detect the user agent
const ua = navigator.userAgent.toLowerCase();
const isMobile = /mobile|iphone|ipad|android/.test(ua);
@@ -94,9 +105,6 @@
app = isMobile ? 'mobile' : 'desktop';
}
// Script version
const ver = localStorage.getItem('v') || VERSION;
// Get salt query
const salt = localStorage.getItem('salt')
? `?salt=${localStorage.getItem('salt')}`
@@ -106,7 +114,7 @@
// Note: 'async' make it possible to load the script asyncly.
// 'defer' make it possible to run the script when the dom loaded.
const script = document.createElement('script');
script.setAttribute('src', `/assets/${app}.${ver}.${lang}.js${salt}`);
script.setAttribute('src', `/assets/${app}.${ver}.js${salt}`);
script.setAttribute('async', 'true');
script.setAttribute('defer', 'true');
head.appendChild(script);
@@ -142,8 +150,10 @@
function refresh() {
localStorage.setItem('shouldFlush', 'false');
localStorage.removeItem('locale');
// Random
localStorage.setItem('salt', Math.random().toString());
localStorage.setItem('salt', Math.random().toString().substr(2, 8));
// Clear cache (service worker)
try {
+1 -1
View File
@@ -66,7 +66,7 @@ export default function<T extends object>(data: {
this.bakeProps();
(this as any).api('i/update_widget', {
this.$root.api('i/update_widget', {
id: this.id,
data: this.props
});
+23 -23
View File
@@ -46,6 +46,16 @@ const getKeyMap = keymap => Object.entries(keymap).map(([patterns, callback]): a
const ignoreElemens = ['input', 'textarea'];
function match(e: KeyboardEvent, patterns: action['patterns']): boolean {
const key = e.code.toLowerCase();
return patterns.some(pattern => pattern.which.includes(key) &&
pattern.ctrl == e.ctrlKey &&
pattern.shift == e.shiftKey &&
pattern.alt == e.altKey &&
e.metaKey == false
);
}
export default {
install(Vue) {
Vue.directive('hotkey', {
@@ -55,37 +65,27 @@ export default {
const actions = getKeyMap(binding.value);
// flatten
const reservedKeys = concat(concat(actions.map(a => a.patterns.map(p => p.which))));
const reservedKeys = concat(actions.map(a => a.patterns));
el.dataset.reservedKeys = reservedKeys.map(key => `'${key}'`).join(' ');
el._misskey_reservedKeys = reservedKeys;
el._keyHandler = (e: KeyboardEvent) => {
const key = e.code.toLowerCase();
const targetReservedKeys = document.activeElement ? ((document.activeElement as any).dataset || {}).reservedKeys || '' : '';
const targetReservedKeys = document.activeElement ? ((document.activeElement as any)._misskey_reservedKeys || []) : [];
if (document.activeElement && ignoreElemens.some(el => document.activeElement.matches(el))) return;
for (const action of actions) {
if (el._hotkey_global && targetReservedKeys.includes(`'${key}'`)) break;
const matched = action.patterns.some(pattern => {
const matched = pattern.which.includes(key) &&
pattern.ctrl == e.ctrlKey &&
pattern.shift == e.shiftKey &&
pattern.alt == e.altKey &&
e.metaKey == false;
if (matched) {
e.preventDefault();
e.stopPropagation();
action.callback(e);
return true;
} else {
return false;
}
});
const matched = match(e, action.patterns);
if (matched) {
if (el._hotkey_global) {
if (match(e, targetReservedKeys)) {
return;
}
}
e.preventDefault();
e.stopPropagation();
action.callback(e);
break;
}
}
@@ -1,8 +1,7 @@
import MiOS from '../../mios';
import { version as current } from '../../config';
import { clientVersion as current } from '../../config';
export default async function(mios: MiOS, force = false, silent = false) {
const meta = await mios.getMeta(force);
export default async function($root: any, force = false, silent = false) {
const meta = await $root.getMeta(force);
const newer = meta.clientVersion;
if (newer != current) {
@@ -23,9 +22,9 @@ export default async function(mios: MiOS, force = false, silent = false) {
}
if (!silent) {
mios.apis.dialog({
title: '%i18n:common.update-available-title%',
text: '%i18n:common.update-available%'.replace('{newer}', newer).replace('{current}', current)
$root.alert({
title: $root.$t('@.update-available-title'),
text: $root.$t('@.update-available', { newer, current })
});
}
@@ -13,21 +13,21 @@ type Notification = {
export default function(type, data): Notification {
switch (type) {
case 'drive_file_created':
case 'driveFileCreated':
return {
title: '%i18n:common.notification.file-uploaded%',
body: data.name,
icon: data.url
};
case 'unread_messaging_message':
case 'unreadMessagingMessage':
return {
title: '%i18n:common.notification.message-from%'.split("{}")[0] + `${getUserName(data.user)}` + '%i18n:common.notification.message-from%'.split("{}")[1] ,
body: data.text, // TODO: getMessagingMessageSummary(data),
icon: data.user.avatarUrl
};
case 'reversi_invited':
case 'reversiInvited':
return {
title: '%i18n:common.notification.reversi-invited%',
body: '%i18n:common.notification.reversi-invited-by%'.split("{}")[0] + `${getUserName(data.parent)}` + '%i18n:common.notification.reversi-invited-by%'.split("{}")[1],
@@ -1,15 +1,12 @@
declare const fuckAdBlock: any;
export default (os) => {
export default ($root: any) => {
require('fuckadblock');
function adBlockDetected() {
os.apis.dialog({
title: '%fa:exclamation-triangle%%i18n:common.adblock.detected%',
text: '%i18n:common.adblock.warning%',
actins: [{
text: 'OK'
}]
$root.alert({
title: $root.$t('@.adblock.detected'),
text: $root.$t('@.adblock.warning')
});
}
+10
View File
@@ -0,0 +1,10 @@
// スクリプトサイズがデカい
//const crypto = require('crypto');
export default (data: ArrayBuffer) => {
//const buf = new Buffer(data);
//const hash = crypto.createHash("md5");
//hash.update(buf);
//return hash.digest("hex");
return '';
};
+186
View File
@@ -0,0 +1,186 @@
import parse from '../../../../mfm/parse';
import { sum, unique } from '../../../../prelude/array';
import shouldMuteNote from './should-mute-note';
import MkNoteMenu from '../views/components/note-menu.vue';
import MkReactionPicker from '../views/components/reaction-picker.vue';
function focus(el, fn) {
const target = fn(el);
if (target) {
if (target.hasAttribute('tabindex')) {
target.focus();
} else {
focus(target, fn);
}
}
}
type Opts = {
mobile?: boolean;
};
export default (opts: Opts = {}) => ({
data() {
return {
showContent: false,
hideThisNote: false
};
},
computed: {
keymap(): any {
return {
'r': () => this.reply(true),
'e|a|plus': () => this.react(true),
'q': () => this.renote(true),
'f|b': this.favorite,
'delete|ctrl+d': this.del,
'ctrl+q': this.renoteDirectly,
'up|k|shift+tab': this.focusBefore,
'down|j|tab': this.focusAfter,
'esc': this.blur,
'm|o': () => this.menu(true),
's': this.toggleShowContent,
'1': () => this.reactDirectly('like'),
'2': () => this.reactDirectly('love'),
'3': () => this.reactDirectly('laugh'),
'4': () => this.reactDirectly('hmm'),
'5': () => this.reactDirectly('surprise'),
'6': () => this.reactDirectly('congrats'),
'7': () => this.reactDirectly('angry'),
'8': () => this.reactDirectly('confused'),
'9': () => this.reactDirectly('rip'),
'0': () => this.reactDirectly('pudding'),
};
},
isRenote(): boolean {
return (this.note.renote &&
this.note.text == null &&
this.note.fileIds.length == 0 &&
this.note.poll == null);
},
appearNote(): any {
return this.isRenote ? this.note.renote : this.note;
},
reactionsCount(): number {
return this.appearNote.reactionCounts
? sum(Object.values(this.appearNote.reactionCounts))
: 0;
},
title(): string {
return new Date(this.appearNote.createdAt).toLocaleString();
},
urls(): string[] {
if (this.appearNote.text) {
const ast = parse(this.appearNote.text);
return unique(ast
.filter(t => (t.type == 'url' || t.type == 'link') && !t.silent)
.map(t => t.url));
} else {
return null;
}
}
},
created() {
this.hideThisNote = shouldMuteNote(this.$store.state.i, this.$store.state.settings, this.appearNote);
},
methods: {
reply(viaKeyboard = false) {
this.$root.$post({
reply: this.appearNote,
animation: !viaKeyboard,
cb: () => {
this.focus();
}
});
},
renote(viaKeyboard = false) {
this.$root.$post({
renote: this.appearNote,
animation: !viaKeyboard,
cb: () => {
this.focus();
}
});
},
renoteDirectly() {
(this as any).api('notes/create', {
renoteId: this.appearNote.id
});
},
react(viaKeyboard = false) {
this.blur();
this.$root.new(MkReactionPicker, {
source: this.$refs.reactButton,
note: this.appearNote,
showFocus: viaKeyboard,
animation: !viaKeyboard,
compact: opts.mobile,
big: opts.mobile
}).$once('closed', this.focus);
},
reactDirectly(reaction) {
(this.$root.api('notes/reactions/create', {
noteId: this.appearNote.id,
reaction: reaction
});
},
favorite() {
this.$root.api('notes/favorites/create', {
noteId: this.appearNote.id
}).then(() => {
this.$root.alert({
type: 'success',
splash: true
});
});
},
del() {
this.$root.api('notes/delete', {
noteId: this.appearNote.id
});
},
menu(viaKeyboard = false) {
this.$root.new(MkNoteMenu, {
source: this.$refs.menuButton,
note: this.appearNote,
animation: !viaKeyboard,
compact: opts.mobile,
}).$once('closed', this.focus);
},
toggleShowContent() {
this.showContent = !this.showContent;
},
focus() {
this.$el.focus();
},
blur() {
this.$el.blur();
},
focusBefore() {
focus(this.$el, e => e.previousElementSibling);
},
focusAfter() {
focus(this.$el, e => e.nextElementSibling);
}
}
});
@@ -0,0 +1,128 @@
import Vue from 'vue';
export default prop => ({
data() {
return {
connection: null
};
},
computed: {
$_ns_note_(): any {
return this[prop];
},
$_ns_isRenote(): boolean {
return (this.$_ns_note_.renote != null &&
this.$_ns_note_.text == null &&
this.$_ns_note_.fileIds.length == 0 &&
this.$_ns_note_.poll == null);
},
$_ns_target(): any {
return this.$_ns_isRenote ? this.$_ns_note_.renote : this.$_ns_note_;
},
},
created() {
if (this.$store.getters.isSignedIn) {
this.connection = this.$root.stream;
}
},
mounted() {
this.capture(true);
if (this.$store.getters.isSignedIn) {
this.connection.on('_connected_', this.onStreamConnected);
}
},
beforeDestroy() {
this.decapture(true);
if (this.$store.getters.isSignedIn) {
this.connection.off('_connected_', this.onStreamConnected);
}
},
methods: {
capture(withHandler = false) {
if (this.$store.getters.isSignedIn) {
const data = {
id: this.$_ns_target.id
} as any;
if (
(this.$_ns_target.visibleUserIds || []).includes(this.$store.state.i.id) ||
(this.$_ns_target.mentions || []).includes(this.$store.state.i.id)
) {
data.read = true;
}
this.connection.send('sn', data);
if (withHandler) this.connection.on('noteUpdated', this.onStreamNoteUpdated);
}
},
decapture(withHandler = false) {
if (this.$store.getters.isSignedIn) {
this.connection.send('un', {
id: this.$_ns_target.id
});
if (withHandler) this.connection.off('noteUpdated', this.onStreamNoteUpdated);
}
},
onStreamConnected() {
this.capture();
},
onStreamNoteUpdated(data) {
const { type, id, body } = data;
if (id !== this.$_ns_target.id) return;
switch (type) {
case 'reacted': {
const reaction = body.reaction;
if (this.$_ns_target.reactionCounts == null) {
Vue.set(this.$_ns_target, 'reactionCounts', {});
}
if (this.$_ns_target.reactionCounts[reaction] == null) {
Vue.set(this.$_ns_target.reactionCounts, reaction, 0);
}
this.$_ns_target.reactionCounts[reaction]++;
if (body.userId == this.$store.state.i.id) {
Vue.set(this.$_ns_target, 'myReaction', reaction);
}
break;
}
case 'pollVoted': {
if (body.userId == this.$store.state.i.id) return;
const choice = body.choice;
this.$_ns_target.poll.choices.find(c => c.id === choice).votes++;
break;
}
case 'deleted': {
Vue.set(this.$_ns_target, 'deletedAt', body.deletedAt);
this.$_ns_target.text = null;
this.$_ns_target.tags = [];
this.$_ns_target.fileIds = [];
this.$_ns_target.poll = null;
this.$_ns_target.geo = null;
this.$_ns_target.cw = null;
break;
}
}
this.$emit(`update:${prop}`, this.$_ns_note_);
},
}
});
@@ -0,0 +1,28 @@
export default function(me, settings, note) {
const isMyNote = note.userId == me.id;
const isPureRenote = note.renoteId != null && note.text == null && note.fileIds.length == 0 && note.poll == null;
if (settings.showMyRenotes === false) {
if (isMyNote && isPureRenote) {
return true;
}
}
if (settings.showRenotedMyNotes === false) {
if (isPureRenote && (note.renote.userId == me.id)) {
return true;
}
}
if (settings.showLocalRenotes === false) {
if (isPureRenote && (note.renote.user.host == null)) {
return true;
}
}
if (!isMyNote && note.text && settings.mutedWords.some(q => !q.some(word => !note.text.includes(word)))) {
return true;
}
return false;
}
+303
View File
@@ -0,0 +1,303 @@
import autobind from 'autobind-decorator';
import { EventEmitter } from 'eventemitter3';
import ReconnectingWebsocket from 'reconnecting-websocket';
import { wsUrl } from '../../config';
import MiOS from '../../mios';
/**
* Misskey stream connection
*/
export default class Stream extends EventEmitter {
private stream: ReconnectingWebsocket;
public state: string;
private sharedConnectionPools: Pool[] = [];
private sharedConnections: SharedConnection[] = [];
private nonSharedConnections: NonSharedConnection[] = [];
constructor(os: MiOS) {
super();
this.state = 'initializing';
const user = os.store.state.i;
this.stream = new ReconnectingWebsocket(wsUrl + (user ? `?i=${user.token}` : ''));
this.stream.addEventListener('open', this.onOpen);
this.stream.addEventListener('close', this.onClose);
this.stream.addEventListener('message', this.onMessage);
}
@autobind
public useSharedConnection(channel: string): SharedConnection {
let pool = this.sharedConnectionPools.find(p => p.channel === channel);
if (pool == null) {
pool = new Pool(this, channel);
this.sharedConnectionPools.push(pool);
}
const connection = new SharedConnection(this, channel, pool);
this.sharedConnections.push(connection);
return connection;
}
@autobind
public removeSharedConnection(connection: SharedConnection) {
this.sharedConnections = this.sharedConnections.filter(c => c !== connection);
}
@autobind
public removeSharedConnectionPool(pool: Pool) {
this.sharedConnectionPools = this.sharedConnectionPools.filter(p => p !== pool);
}
@autobind
public connectToChannel(channel: string, params?: any): NonSharedConnection {
const connection = new NonSharedConnection(this, channel, params);
this.nonSharedConnections.push(connection);
return connection;
}
@autobind
public disconnectToChannel(connection: NonSharedConnection) {
this.nonSharedConnections = this.nonSharedConnections.filter(c => c !== connection);
}
/**
* Callback of when open connection
*/
@autobind
private onOpen() {
const isReconnect = this.state == 'reconnecting';
this.state = 'connected';
this.emit('_connected_');
// チャンネル再接続
if (isReconnect) {
this.sharedConnectionPools.forEach(p => {
p.connect();
});
this.nonSharedConnections.forEach(c => {
c.connect();
});
}
}
/**
* Callback of when close connection
*/
@autobind
private onClose() {
if (this.state == 'connected') {
this.state = 'reconnecting';
this.emit('_disconnected_');
}
}
/**
* Callback of when received a message from connection
*/
@autobind
private onMessage(message) {
const { type, body } = JSON.parse(message.data);
if (type == 'channel') {
const id = body.id;
let connections: Connection[];
connections = this.sharedConnections.filter(c => c.id === id);
if (connections.length === 0) {
connections = [this.nonSharedConnections.find(c => c.id === id)];
}
connections.filter(c => c != null).forEach(c => {
c.emit(body.type, body.body);
});
} else {
this.emit(type, body);
}
}
/**
* Send a message to connection
*/
@autobind
public send(typeOrPayload, payload?) {
const data = payload === undefined ? typeOrPayload : {
type: typeOrPayload,
body: payload
};
this.stream.send(JSON.stringify(data));
}
/**
* Close this connection
*/
@autobind
public close() {
this.stream.removeEventListener('open', this.onOpen);
this.stream.removeEventListener('message', this.onMessage);
}
}
class Pool {
public channel: string;
public id: string;
protected stream: Stream;
public users = 0;
private disposeTimerId: any;
private isConnected = false;
constructor(stream: Stream, channel: string) {
this.channel = channel;
this.stream = stream;
this.id = Math.random().toString().substr(2, 8);
this.stream.on('_disconnected_', this.onStreamDisconnected);
}
@autobind
private onStreamDisconnected() {
this.isConnected = false;
}
@autobind
public inc() {
if (this.users === 0 && !this.isConnected) {
this.connect();
}
this.users++;
// タイマー解除
if (this.disposeTimerId) {
clearTimeout(this.disposeTimerId);
this.disposeTimerId = null;
}
}
@autobind
public dec() {
this.users--;
// そのコネクションの利用者が誰もいなくなったら
if (this.users === 0) {
// また直ぐに再利用される可能性があるので、一定時間待ち、
// 新たな利用者が現れなければコネクションを切断する
this.disposeTimerId = setTimeout(() => {
this.disconnect();
}, 3000);
}
}
@autobind
public connect() {
if (this.isConnected) return;
this.isConnected = true;
this.stream.send('connect', {
channel: this.channel,
id: this.id
});
}
@autobind
private disconnect() {
this.stream.off('_disconnected_', this.onStreamDisconnected);
this.stream.send('disconnect', { id: this.id });
this.stream.removeSharedConnectionPool(this);
}
}
abstract class Connection extends EventEmitter {
public channel: string;
protected stream: Stream;
public abstract id: string;
constructor(stream: Stream, channel: string) {
super();
this.stream = stream;
this.channel = channel;
}
@autobind
public send(id: string, typeOrPayload, payload?) {
const type = payload === undefined ? typeOrPayload.type : typeOrPayload;
const body = payload === undefined ? typeOrPayload.body : payload;
this.stream.send('ch', {
id: id,
type: type,
body: body
});
}
public abstract dispose(): void;
}
class SharedConnection extends Connection {
private pool: Pool;
public get id(): string {
return this.pool.id;
}
constructor(stream: Stream, channel: string, pool: Pool) {
super(stream, channel);
this.pool = pool;
this.pool.inc();
}
@autobind
public send(typeOrPayload, payload?) {
super.send(this.pool.id, typeOrPayload, payload);
}
@autobind
public dispose() {
this.pool.dec();
this.removeAllListeners();
this.stream.removeSharedConnection(this);
}
}
class NonSharedConnection extends Connection {
public id: string;
protected params: any;
constructor(stream: Stream, channel: string, params?: any) {
super(stream, channel);
this.params = params;
this.id = Math.random().toString().substr(2, 8);
this.connect();
}
@autobind
public connect() {
this.stream.send('connect', {
channel: this.channel,
id: this.id,
params: this.params
});
}
@autobind
public send(typeOrPayload, payload?) {
super.send(this.id, typeOrPayload, payload);
}
@autobind
public dispose() {
this.removeAllListeners();
this.stream.send('disconnect', { id: this.id });
this.stream.disconnectToChannel(this);
}
}
@@ -1,34 +0,0 @@
import Stream from './stream';
import StreamManager from './stream-manager';
import MiOS from '../../../mios';
/**
* Drive stream connection
*/
export class DriveStream extends Stream {
constructor(os: MiOS, me) {
super(os, 'drive', {
i: me.token
});
}
}
export class DriveStreamManager extends StreamManager<DriveStream> {
private me;
private os: MiOS;
constructor(os: MiOS, me) {
super();
this.me = me;
this.os = os;
}
public getConnection() {
if (this.connection == null) {
this.connection = new DriveStream(this.os, this.me);
}
return this.connection;
}
}
@@ -1,13 +0,0 @@
import Stream from '../../stream';
import MiOS from '../../../../../mios';
export class ReversiGameStream extends Stream {
constructor(os: MiOS, me, game) {
super(os, 'games/reversi-game', me ? {
i: me.token,
game: game.id
} : {
game: game.id
});
}
}
@@ -1,31 +0,0 @@
import StreamManager from '../../stream-manager';
import Stream from '../../stream';
import MiOS from '../../../../../mios';
export class ReversiStream extends Stream {
constructor(os: MiOS, me) {
super(os, 'games/reversi', {
i: me.token
});
}
}
export class ReversiStreamManager extends StreamManager<ReversiStream> {
private me;
private os: MiOS;
constructor(os: MiOS, me) {
super();
this.me = me;
this.os = os;
}
public getConnection() {
if (this.connection == null) {
this.connection = new ReversiStream(this.os, this.me);
}
return this.connection;
}
}
@@ -1,34 +0,0 @@
import Stream from './stream';
import StreamManager from './stream-manager';
import MiOS from '../../../mios';
/**
* Global timeline stream connection
*/
export class GlobalTimelineStream extends Stream {
constructor(os: MiOS, me) {
super(os, 'global-timeline', {
i: me.token
});
}
}
export class GlobalTimelineStreamManager extends StreamManager<GlobalTimelineStream> {
private me;
private os: MiOS;
constructor(os: MiOS, me) {
super();
this.me = me;
this.os = os;
}
public getConnection() {
if (this.connection == null) {
this.connection = new GlobalTimelineStream(this.os, this.me);
}
return this.connection;
}
}
@@ -1,13 +0,0 @@
import Stream from './stream';
import MiOS from '../../../mios';
export class HashtagStream extends Stream {
constructor(os: MiOS, me, q) {
super(os, 'hashtag', me ? {
i: me.token,
q: JSON.stringify(q)
} : {
q: JSON.stringify(q)
});
}
}

Some files were not shown because too many files have changed in this diff Show More