Compare commits

...

2310 Commits

Author SHA1 Message Date
c201326906 Merge branch 'develop' 2019-07-05 22:36:13 +09:00
3bc2fe8527 11.24.2 2019-07-05 22:35:52 +09:00
c76c1fc4ef Update CHANGELOG.md 2019-07-05 22:34:34 +09:00
fb3fa06ae7 Update CHANGELOG.md 2019-07-05 22:33:54 +09:00
48353cccae Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-07-05 22:32:19 +09:00
65bf863093 Fix #4760 2019-07-05 22:32:15 +09:00
87a6ef0581 Fix: SingleLineなMFMが折り返されてしまう (#5109) 2019-07-05 21:47:18 +09:00
af583d2ef6 Update CHANGELOG.md 2019-07-05 21:21:09 +09:00
68d49bc770 Add PB 2019-07-05 21:18:49 +09:00
d848195a6e チャートで数字が表示される問題を修正 2019-07-05 21:13:52 +09:00
3c5324bbbb Merge branch 'develop' 2019-07-05 18:02:42 +09:00
e2d59293fb 11.24.1 2019-07-05 18:02:29 +09:00
411f038f34 Fix: カスタム絵文字リアクションがたまに文字になってしまう (#5105) 2019-07-05 17:58:54 +09:00
26f2ae093b APNGでもMIME typeはimage/pngにするように (#5100)
* APNGでもMIME typeはimage/pngにするように

* Revert "APNGでもMIME typeはimage/pngにするように"

This reverts commit e579eb2bf44f526cabfa9bd4adc6b4fa84727e3b.

* APNGはファイル送信時のみimage/pngにするように
2019-07-05 17:44:23 +09:00
6a53ccf814 ハッシュタグのトレンドの計算を5分単位で丸める (#5107) 2019-07-05 08:43:56 +09:00
114523e69e Fix WebAuthn login (#5103) 2019-07-05 07:48:12 +09:00
d5caf22d8c Update Emojis immediately (#5106) 2019-07-05 07:45:00 +09:00
a8f945ae8e Update node version (#5101) 2019-07-05 02:48:32 +09:00
d078f78602 Merge branch 'develop' 2019-07-05 02:13:02 +09:00
a5c6145237 11.24.0 2019-07-05 02:12:45 +09:00
50df9f7dff Update node version 2019-07-05 02:12:23 +09:00
7b33522d97 New Crowdin translations (#5082)
* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* 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 (Polish)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Czech)

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

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Korean)
2019-07-05 02:09:59 +09:00
d3edf03125 Fix errors 2019-07-05 02:00:54 +09:00
d5cd38b459 Create partial type definition for 'jsrsasign' (#5092)
* Create partial type definition for 'jsrsasign'

* Update comments

* Add jsrsasign dependency

* Make some params of Signature class optional

* Make init argument of Signature.init optional
2019-07-05 01:54:16 +09:00
2c76d410ab Resolve #1867 2019-07-04 22:59:52 +09:00
dfd991a6c6 テストメールは管理者アドレスに送信するように 2019-07-04 21:08:47 +09:00
16b81fff38 Resolve #3431 2019-07-04 21:07:02 +09:00
f379a721f1 Fix bug 2019-07-04 20:52:21 +09:00
194a958d40 Update CHANGELOG.md 2019-07-04 20:40:02 +09:00
327ffd3498 Resolve #4321 2019-07-04 20:39:33 +09:00
40276d7f1a テストページ廃止 2019-07-04 20:26:12 +09:00
9254f95679 Update CHANGELOG.md 2019-07-04 15:14:13 +09:00
2e1a9dffbe Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-07-04 14:45:33 +09:00
ead5a6a258 APNG support 2019-07-04 14:45:28 +09:00
97002400a8 アバターファイル選択でimage以外は表示しないように (#5098) 2019-07-04 14:31:30 +09:00
5e7a4e4752 Fix MIME 2019-07-03 23:43:09 +09:00
2c955858a0 Add note 2019-07-03 20:31:52 +09:00
a0e56504de Update package.json 2019-07-03 20:31:38 +09:00
d46e9f5abe Update ESLint 🚀 (#5097) 2019-07-03 20:20:02 +09:00
fd94b817ab Implement Webauthn 🎉 (#5088)
* Implement Webauthn 🎉

* Share hexifyAB

* Move hr inside template and add AttestationChallenges janitor daemon

* Apply suggestions from code review

Co-Authored-By: Acid Chicken (硫酸鶏) <root@acid-chicken.com>

* Add newline at the end of file

* Fix stray newline in promise chain

* Ignore var in try{}catch(){} block

Co-Authored-By: Acid Chicken (硫酸鶏) <root@acid-chicken.com>

* Add missing comma

* Add missing semicolon

* Support more attestation formats

* add support for more key types and linter pass

* Refactor

* Refactor

* credentialId --> id

* Fix

* Improve readability

* Add indexes

* fixes for credentialId->id

* Avoid changing store state

* Fix syntax error and code style

* Remove unused import

* Refactor of getkey API

* Create 1561706992953-webauthn.ts

* Update ja-JP.yml

* Add type annotations

* Fix code style

* Specify depedency version

* Fix code style

* Fix janitor daemon and login requesting 2FA regardless of status
2019-07-03 20:18:07 +09:00
f17e229c1e Resolve #5072 2019-07-03 03:58:45 +09:00
96e23b0e5b MFMで連続したスペースがひとつに纏まるのを修正 2019-07-02 20:52:37 +09:00
014b945ea6 Fix test 2019-07-02 20:08:30 +09:00
76693138d3 Fix MFM parsing: Ignore parent [] of URL 2019-07-02 20:05:52 +09:00
10677b57d4 Update dependencies 🚀 2019-07-02 19:20:34 +09:00
5f0ac0f46a Fix #5073 2019-07-02 19:17:14 +09:00
7ffe559525 Resolve #5085 2019-07-02 18:32:24 +09:00
919e3e2fed Update README.md [AUTOGEN] (#5094) 2019-07-02 15:37:24 +09:00
03e999875a リモートファイルの削除が重い問題を修正 2019-07-01 21:12:14 +09:00
ed0070c470 Set job concurrency to reduce performance issue 2019-07-01 20:37:26 +09:00
d764316708 Simplify log domain 2019-07-01 03:25:31 +09:00
06b1203ef9 Create 1561873850023-ChartIndexes.ts 2019-06-30 14:51:57 +09:00
b2cf74e878 Create accept-migration.ts 2019-06-30 04:49:30 +09:00
21064f7859 Add initial migration 2019-06-29 23:19:21 +09:00
bb2d76ffa3 Fix #4926 2019-06-29 23:12:00 +09:00
763b70e01b Revert "Update ormconfig.ts"
This reverts commit 5a349eb376.
2019-06-29 15:58:04 +09:00
5a349eb376 Update ormconfig.ts 2019-06-29 15:31:54 +09:00
0141affe05 Fix: AP object / actor type (#5086)
* attributedToがArrayの場合などに対応

* attachment以外で来るDocument系のObjectに対応

* Renote, Reply 対応

* 表示をいい感じに

* fix type

* revert as const

* Fix Note / Question type

* attributedToのtypeで複合配列を想定する
2019-06-28 18:54:09 +09:00
a8379e3bc9 Use as const
#5089
2019-06-28 16:38:48 +09:00
952789cc1e Use as const
#5089
2019-06-27 18:04:09 +09:00
0500600cdd Merge branch 'develop' 2019-06-25 01:27:51 +09:00
6b897e562a 11.23.1 2019-06-25 01:27:33 +09:00
f74bc309b1 Fix bug 2019-06-25 01:24:01 +09:00
bc83963ac7 English nyaize 2019-06-24 22:20:13 +09:00
94715e6153 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-06-23 16:12:37 +09:00
31a5247b9c 🎨 2019-06-23 16:12:11 +09:00
ac9f77752d New translations ja-JP.yml (Chinese Simplified) (#5081) 2019-06-23 01:53:21 +09:00
73ac2632c2 Merge branch 'develop' 2019-06-23 00:22:33 +09:00
20f11a6701 11.23.0 2019-06-23 00:21:58 +09:00
9bdc67c1f6 New Crowdin translations (#5065)
* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Korean)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Korean)

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

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (Russian)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Korean)

* 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 (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Czech)

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

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)
2019-06-23 00:21:04 +09:00
bb4ca7b31a Resolve #5010 2019-06-23 00:06:39 +09:00
89f16668e6 Fix #4519 2019-06-22 04:17:02 +09:00
8409b59dea Improve usability 2019-06-22 04:09:53 +09:00
1707002d43 Block all activities from suspended users (#5076) 2019-06-21 15:42:07 +09:00
16b03fc157 Improve url-preview (#5077)
* url-previewリクエスト時にハッシュは除く

* ハッシュだけ違うプレビューカードは表示しない

*  url-previewをユーザーロケールで出し分けるように

* Fix code style
2019-06-21 15:41:02 +09:00
fa0023e541 Fix bug 2019-06-21 15:11:56 +09:00
aec5911821 Improve sync 2019-06-21 15:08:17 +09:00
26f4c038f3 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-06-21 13:06:55 +09:00
6136f6f33a デッキの状態を同期できるように 2019-06-21 13:06:47 +09:00
2b8d0225cc Enable ServiceWorker (#5075) 2019-06-21 11:50:38 +09:00
18184441f1 ホームのカスタマイズ情報を複数のデバイス間で同期できるように 2019-06-21 01:50:01 +09:00
bd83939993 Provide Redis version 2019-06-20 22:55:57 +09:00
2c1932faa7 Add psql version to info page 2019-06-20 22:52:35 +09:00
33d79420eb Fix code style 2019-06-19 17:47:24 +09:00
80d8af84dd Merge branch 'develop' 2019-06-18 19:16:41 +09:00
aac519bf80 11.22.0 2019-06-18 19:15:55 +09:00
d64dffbdda Add index 2019-06-18 17:11:28 +09:00
4015ccef2f Add chart indices 2019-06-18 17:10:28 +09:00
b6f985abaf Update summaly to 2.3.0 2019-06-18 16:58:32 +09:00
2dac8d3d1f Update db.vue 2019-06-18 16:53:14 +09:00
4f284e1bc0 Resolve #5063 2019-06-18 16:49:58 +09:00
b0280355e8 Better request interval 2019-06-18 16:17:20 +09:00
048d88b784 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-06-18 15:56:31 +09:00
bb52ebdc3e Provide version of postgresql 2019-06-18 15:56:03 +09:00
5f2fda85ba Resolve #5069 (#5070) 2019-06-18 15:42:08 +09:00
1331f0b953 Use WHATWG API
> New application code should use the WHATWG API.
2019-06-18 15:27:13 +09:00
736fdabc1d Fix #2637 2019-06-18 15:19:19 +09:00
7096c0ca49 Add note 2019-06-18 14:04:41 +09:00
1a984de8e8 Better error handling 2019-06-18 13:58:59 +09:00
285d0d13f9 Fix MFM URL parsing 2019-06-17 20:15:19 +09:00
63c659bc8f Fix MFM strike parsing 2019-06-16 21:42:57 +09:00
af60b45ee7 Fix MFM italic parsing 2019-06-16 21:30:51 +09:00
e7effd606d Fix test 2019-06-16 21:30:26 +09:00
5042d23bc4 Simplify test 2019-06-16 21:29:31 +09:00
b134467bd3 Add some MFM tests 2019-06-16 21:26:43 +09:00
5cc1aab530 Merge branch 'develop' 2019-06-16 16:09:04 +09:00
49d57ce049 11.21.0 2019-06-16 16:08:36 +09:00
f1feceaf1a Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-06-16 16:08:29 +09:00
1204e1c5e4 Update dependencies 🚀 2019-06-16 16:07:57 +09:00
96cf4c30cf New Crowdin translations (#5053)
* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* 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 (Korean)

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

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Korean)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (French)
2019-06-16 16:06:00 +09:00
a3853611ad Fix: オートコンプリートにアニメーション停止が効かない (#5061) 2019-06-16 16:04:27 +09:00
ef7eaaabfa Support Unicode 12.0 Emoji (#5062) 2019-06-16 14:24:37 +09:00
a4a96710b0 閉鎖しているホストにはAP deliverしないように (#5057)
* 閉鎖しているホストにはAP deliverしないように

* fix case
2019-06-15 17:09:59 +09:00
6d08909b2f Refactor 2019-06-15 17:06:03 +09:00
2615368b1e Resolve #365 2019-06-15 00:07:41 +09:00
2bd03ca725 Use halfwidth space instead of fullwidth space in code (#5054) 2019-06-14 22:54:19 +09:00
67dda01fcb image以外はproxyしないように (#5051) 2019-06-14 12:14:23 +09:00
e9dc54c4d9 サムネイル生成でエラーになってもファイルのアップロードを失敗しないように
#5050
2019-06-13 22:59:15 +09:00
fde9fc2891 Make url preview log warn 2019-06-13 22:35:37 +09:00
6e59798e82 Merge branch 'develop' 2019-06-13 18:22:49 +09:00
5e3cc0a3c6 11.20.4 2019-06-13 18:22:31 +09:00
cfb35324d0 Fix bug 2019-06-13 18:15:35 +09:00
9bfbc12afa Add indexes 2019-06-13 15:30:51 +09:00
b41cddaf5a Fix: #5035 (#5048) 2019-06-12 13:47:58 +09:00
1432a7193d 設定でPostgreSQLのクエリー結果のキャッシュを無効できるように (#5046) 2019-06-11 20:49:08 +09:00
20630cb3a0 Update README.md [AUTOGEN] (#5044) 2019-06-11 16:57:52 +09:00
2eb02ae581 Merge branch 'develop' 2019-06-10 23:11:22 +09:00
801f9027aa 11.20.3 2019-06-10 23:11:04 +09:00
802739a2df Fix bug 2019-06-10 23:09:36 +09:00
95b1e1a21d Merge branch 'develop' 2019-06-10 11:44:01 +09:00
b8060a522a 11.20.2 2019-06-10 11:43:45 +09:00
fe2191a491 New Crowdin translations (#5040)
* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)
2019-06-10 11:42:06 +09:00
2891f52817 Merge branch 'riamu' into develop 2019-06-10 11:41:07 +09:00
5bdc44c672 ✌️ (#5041)
related #5020
2019-06-10 01:02:33 +09:00
65d359b57a Fix #5020 2019-06-09 23:07:32 +09:00
7b6e717e23 Merge branch 'develop' 2019-06-07 20:47:56 +09:00
2820f6a621 11.20.1 2019-06-07 20:47:14 +09:00
6f96e05fec New Crowdin translations (#4979)
* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (French)

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

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (French)

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

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Korean)

* 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 (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (French)

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

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* 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 (English)

* New translations ja-JP.yml (Polish)

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

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Polish)

* 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 (English)

* 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 (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Polish)
2019-06-07 20:43:34 +09:00
4c2c762b87 Fix #5036 2019-06-07 20:40:05 +09:00
81fadfa4ff Fix bug 2019-06-07 20:34:05 +09:00
c227641d50 Update dependencies 🚀 2019-06-07 20:29:13 +09:00
dacc713f99 Fix #5021 2019-06-07 20:24:07 +09:00
a1f794ee05 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-06-07 20:11:38 +09:00
8b2098fc89 Fix bug 2019-06-07 20:11:23 +09:00
4436852de0 Deny 'private' in note visibility (#5031)
Fixes #5028
2019-06-06 19:45:25 +09:00
a8ff1e19dc Add resolutions for polluted packages
for yarn users: Just `yarn install` then vulnerabilities are fixed!
for npm users: Wait for support of 'resolutions' from npm.
2019-06-04 23:06:30 +09:00
d559aa8e6d Update README.md [AUTOGEN] (#5025) 2019-06-04 18:19:16 +09:00
83fedcff3b Add missing semicolon (#5030) 2019-06-04 18:03:56 +09:00
9969cf8816 Update README.md [AUTOGEN] (#5017) 2019-06-02 10:13:11 +09:00
dee48fff12 Update README.md [AUTOGEN] (#5013) 2019-06-01 20:38:46 +09:00
aff80199e5 Fix bug 2019-05-29 12:22:47 +09:00
b9f1a55190 Update README.md [AUTOGEN] (#5003) 2019-05-27 23:44:44 +09:00
07d5bce61a Update README.md [AUTOGEN] (#5001) 2019-05-27 23:15:46 +09:00
834edd216c Fix #4894 (#5000) 2019-05-27 20:04:01 +09:00
4670a3d886 Merge branch 'develop' 2019-05-27 18:07:36 +09:00
78952df364 11.20.0 2019-05-27 18:07:21 +09:00
d69df60da4 Fix 2019-05-27 18:06:01 +09:00
6ca69f6f2e Fix #4999 2019-05-27 18:03:13 +09:00
8e8428b667 Fix bug 2019-05-27 18:01:06 +09:00
5dbe1d448b Improve job queue view 2019-05-27 17:44:51 +09:00
85d8e6f220 Refactoring 2019-05-27 17:23:05 +09:00
72fb23f4d5 Improve drive management 2019-05-27 16:54:47 +09:00
9403ee6495 Improve post form
Resolve #4998
Resolve #1151
2019-05-27 15:38:14 +09:00
94ce4fa780 Fix #4996 (#4997) 2019-05-27 08:41:24 +09:00
911f5c1455 i18n: ページ編集のカウンターの増加値 (#4995) 2019-05-27 00:03:39 +09:00
a6a88af513 Add locales for admin/views/queue.vue (#4993) 2019-05-26 23:14:31 +09:00
fad1352d51 Add locale for admin/views/federation.vue (#4994) 2019-05-26 23:14:09 +09:00
41cdae07c3 Fix #4989 (#4992)
* Fix #4989

* Update
2019-05-26 22:35:25 +09:00
3b0daeac3c Fix #4986 (#4991) 2019-05-26 22:05:09 +09:00
99e4b06468 Merge branch 'develop' 2019-05-26 21:42:19 +09:00
c88576e3e6 11.19.1 2019-05-26 21:42:03 +09:00
4de709fe51 Fix #4990 2019-05-26 21:35:45 +09:00
37e4226c70 Clean up 2019-05-26 21:16:52 +09:00
1a6ed61b91 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-05-26 21:16:37 +09:00
ac641da49c Update CHANGELOG.md 2019-05-26 21:16:27 +09:00
933a79af93 Remove deprecated package @types/file-type (#4987) 2019-05-26 15:09:42 +09:00
f36e3c69b4 Fix #4985 2019-05-26 13:42:53 +09:00
c46bfcc768 Add links in CONTRIBUTING.md (#4984) 2019-05-26 12:48:37 +09:00
c65ccd5eb0 Improve issues description (#4982) 2019-05-26 01:06:36 +09:00
162a740295 Fix #4981 2019-05-26 00:38:26 +09:00
9192e98e3f インスタンス名を空にしてもMisskeyロゴが表示されない問題を修正 2019-05-25 11:50:29 +09:00
fad84203c0 Merge branch 'develop' 2019-05-25 09:22:25 +09:00
622266d200 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-05-25 09:21:50 +09:00
0f6cd3c125 11.19.0 2019-05-25 09:21:21 +09:00
0dfc1fcf13 New Crowdin translations (#4955)
* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Korean)

* 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 (Chinese Simplified)

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

* New translations ja-JP.yml (Korean)

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

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Korean)
2019-05-25 09:11:42 +09:00
efeebd2165 Better migration for UserProfile1556746559567 (#4969) 2019-05-25 09:11:24 +09:00
69a916d506 Fix: Firefoxでトークの下が隠れてしまう (#4974) 2019-05-25 09:10:51 +09:00
114803a86a Fix #4972 2019-05-25 09:07:50 +09:00
7f54c8fa2a 🎨 2019-05-25 09:05:14 +09:00
0af3e15e82 🎨 2019-05-25 09:04:16 +09:00
f9afebc12e Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-05-25 08:50:07 +09:00
fc7268fd12 🎨 2019-05-25 08:49:58 +09:00
7e7f94d685 Enable query result cache for meta / stats / hashtags trend (#4978) 2019-05-25 08:35:16 +09:00
3ea7a49c1c Show page title 2019-05-24 19:36:35 +09:00
f596a847c2 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-05-24 19:34:20 +09:00
312ba501a3 Add deck fallback 2019-05-24 19:33:58 +09:00
c6531e8609 Improve localization description (#4976)
* Improve localization description

* Update CONTRIBUTING.md

* Update CONTRIBUTING.md
2019-05-24 19:31:40 +09:00
36c2d0082f MisskeyPagesをホームUIに統合 2019-05-24 19:19:43 +09:00
358bb0fc06 Misskey Pages でURLプレビューを表示するように 2019-05-24 18:11:33 +09:00
5a4f6b4ada Update page-editor.vue 2019-05-24 18:11:12 +09:00
03136caac4 Update instance.vue 2019-05-24 04:57:04 +09:00
e6f78a73ab i18n: reaction-picker.vue (#4971) 2019-05-24 04:25:57 +09:00
bcdab799d0 🎨 2019-05-24 04:17:14 +09:00
50251955cd Improve usability 2019-05-24 03:57:03 +09:00
2270fbf3ee 🎨 2019-05-24 03:46:20 +09:00
deb6485cc2 Update dependency 🚀 2019-05-24 03:31:14 +09:00
6de08d07a3 Support PostgreSQL Extra Connection options (#4970) 2019-05-24 03:26:56 +09:00
f54cd10a04 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-05-23 23:46:20 +09:00
dda7b0c80e Refactor 2019-05-23 23:46:10 +09:00
3ed9e1ff3f Create FUNDING.yml 2019-05-23 22:43:24 +09:00
9c8d26affa Resolve #4967 2019-05-23 14:11:42 +09:00
1e1a7ee858 Add info 2019-05-23 13:38:07 +09:00
9cfb72810c Fix bug (#4958)
4a88cb59
2019-05-22 14:27:10 +09:00
14a774c723 Fix bug 2019-05-22 13:07:58 +09:00
8509adf961 Add group update / transfer API (#4957) 2019-05-22 13:03:18 +09:00
9d75ec799b Better deninition 2019-05-22 13:00:36 +09:00
eed9266ecb align format 2019-05-22 12:58:53 +09:00
4a88cb5968 rename 2019-05-22 12:58:44 +09:00
50d4de19f0 Clean up 2019-05-22 12:56:42 +09:00
c7456224af Fix bug 2019-05-22 12:55:53 +09:00
c1524d9bef デッキでフォロー申請を見れるように 2019-05-22 12:54:28 +09:00
aa1d2545b3 Fetch joined groups on accept group invites (#4956) 2019-05-22 12:25:14 +09:00
1092818203 Add group update / transfer API 2019-05-22 05:06:58 +09:00
d67d163c78 Merge branch 'develop' 2019-05-21 18:13:24 +09:00
a973bd56fe 11.18.1 2019-05-21 18:13:10 +09:00
08b6fda065 Fix bug 2019-05-21 18:09:05 +09:00
d0cc145cb3 Clean up 2019-05-21 18:08:58 +09:00
19588647d6 Improve usability 2019-05-21 18:06:00 +09:00
09da292f1a Fix #4953 2019-05-21 17:43:27 +09:00
c8107ff936 🎨 2019-05-21 17:40:58 +09:00
b44afc1876 iOSで投稿フォームに自動フォーカスしない問題を修正 2019-05-21 17:39:23 +09:00
c26168f22e Merge branch 'develop' 2019-05-21 08:57:10 +09:00
391be342ac 11.18.0 2019-05-21 08:55:26 +09:00
16549f8f84 Add da-DK 2019-05-21 08:51:32 +09:00
2d2b65d9fa New Crowdin translations (#4931)
* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (French)

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

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

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

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (French)

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

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

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Norwegian)

* 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 (Korean)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (French)

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

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* 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 (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (French)

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

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (French)

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

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Danish)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)
2019-05-21 08:49:57 +09:00
a12ad37522 Fix 2019-05-21 08:48:15 +09:00
84541faf92 Update dependencies 🚀 2019-05-21 08:46:35 +09:00
c7daaba370 🎨 2019-05-21 08:44:36 +09:00
f128813a5e Fix 2019-05-21 08:23:37 +09:00
699a55ea08 Fix 2019-05-21 08:21:26 +09:00
90a674f99b Refactore 2019-05-21 08:19:29 +09:00
f236d36ed3 Fix 2019-05-21 08:19:23 +09:00
1b2200ccf4 Refactyor 2019-05-21 08:10:37 +09:00
c6353f3502 Improve usability 2019-05-21 06:53:18 +09:00
f09b8a78a0 Improve usability 2019-05-21 06:34:10 +09:00
5f741ac46e Refactoring 2019-05-21 06:31:51 +09:00
a434cfbe0d Fix 2019-05-21 04:26:14 +09:00
cd4c7689b7 Reduce initial bundle size 2019-05-21 04:21:43 +09:00
3cc2049fb3 Reduce initial bundle size 2019-05-21 03:45:07 +09:00
0d3117e472 Fix 2019-05-21 03:40:18 +09:00
b335975c97 Refactoring 2019-05-21 03:20:16 +09:00
5511b6e013 Refactoring 2019-05-21 03:07:11 +09:00
262d5ead51 Clean up 2019-05-20 22:59:10 +09:00
a78b048720 Improve API doc 2019-05-20 22:01:32 +09:00
e7dd5e155d Fix bugs
Use Not(IsNull())
2019-05-20 21:44:16 +09:00
5a3ea38bbf Fix: Delete is not deliver (#4950)
* Fix: Delete is not deliver

* fix
2019-05-20 13:34:51 +09:00
786521eba7 Merge branch 'develop' 2019-05-20 00:12:42 +09:00
202cb3048a 11.17.1 2019-05-20 00:12:19 +09:00
7e642cf700 Fix bug 2019-05-19 23:42:18 +09:00
7732aabc1e Fix bug 2019-05-19 23:29:28 +09:00
1cf9f52eca Merge branch 'develop' 2019-05-19 21:02:32 +09:00
d1d5e10b72 11.17.0 2019-05-19 21:02:17 +09:00
c3fada264f Fix #4938 2019-05-19 20:57:05 +09:00
45eeb74b83 Fix #4948 2019-05-19 20:52:00 +09:00
b9a6e551cd Add unique index 2019-05-19 20:50:08 +09:00
c610e5ed9b Update note-favorite.ts 2019-05-19 20:48:10 +09:00
c2c2824e50 Fix bug 2019-05-19 20:47:41 +09:00
01fab09683 Fix #4945 2019-05-19 20:43:33 +09:00
e103904a04 Resolve #4941 2019-05-19 20:41:23 +09:00
56678cbac0 Update README.md [AUTOGEN] (#4940) 2019-05-19 15:08:16 +09:00
7fade8939d Merge branch 'develop' 2019-05-19 03:22:41 +09:00
daa557f6a3 11.16.1 2019-05-19 03:22:26 +09:00
23a257ed86 Update Dockerfile 2019-05-19 03:21:39 +09:00
05d0620491 Merge branch 'develop' 2019-05-19 02:51:49 +09:00
5225139284 11.16.0 2019-05-19 02:51:28 +09:00
9b2e996cae 🎨 2019-05-19 02:47:31 +09:00
6a561342a4 🎨 2019-05-19 02:39:34 +09:00
429bed2f91 Refactor 2019-05-18 23:16:09 +09:00
200d593414 Add group menu 2019-05-18 22:57:34 +09:00
9dbe12135d Fix bug 2019-05-18 22:54:02 +09:00
318d7f2652 🎨 2019-05-18 22:50:57 +09:00
5a653531e2 Avoid error 2019-05-18 21:22:37 +09:00
c7cc3dcdfd ユーザーグループ
Resolve #3218
2019-05-18 20:36:33 +09:00
61f54f8f74 Fix bug 2019-05-18 00:38:33 +09:00
a3b27fe3a1 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-05-17 19:56:56 +09:00
380749051d ページにいいねできるように 2019-05-17 19:56:47 +09:00
ql3
81625f9fc5 Update gitignore to ignore config files for Intelij-IDEA (#4933) 2019-05-17 02:31:00 +09:00
d6ccb1725b Update API docs 2019-05-17 00:19:23 +09:00
5ce412aeda Merge branch 'develop' 2019-05-16 16:14:00 +09:00
fe6d88e410 11.15.0 2019-05-16 16:13:46 +09:00
a21357248f Dockerを使用している場合、アプデの際にマイグレを自動実行するように 2019-05-16 16:12:30 +09:00
70d710c9a9 管理画面でreCAPTCHAのプレビューを表示するように 2019-05-16 16:08:50 +09:00
183c82fb8d New Crowdin translations (#4924)
* 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 (Polish)

* New translations ja-JP.yml (French)

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

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

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

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Korean)

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

* 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)
2019-05-16 13:11:56 +09:00
62cbb92154 Fix #4930 2019-05-16 12:59:09 +09:00
7d70126072 Merge branch 'develop' 2019-05-16 01:18:06 +09:00
54bfffa7b9 11.14.0 2019-05-16 01:16:41 +09:00
3f5b96bf62 Resolve #4928 2019-05-16 01:07:32 +09:00
3d8bbedf1b GIFのサムネイルが生成されないのを修正
#4728
2019-05-15 21:27:20 +09:00
23c9f6a6ca Resolve #4833 2019-05-15 20:41:01 +09:00
5ba8d4949d インスタンスの設定画面を整理 2019-05-15 20:29:47 +09:00
a6befdd541 Fix bug 2019-05-15 17:05:41 +09:00
e5409db0e8 Resolve #4925 2019-05-14 23:54:39 +09:00
678d610cd6 Update CHANGELOG.md 2019-05-14 21:27:20 +09:00
466fe9c368 Merge branch 'develop' 2019-05-14 21:25:24 +09:00
13feaea7b7 11.13.0 2019-05-14 21:25:00 +09:00
e52f9301fa New Crowdin translations (#4878)
* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Spanish)

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

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

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (French)

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

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Spanish)

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

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (French)

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

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Korean)

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

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

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

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (French)

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

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)
2019-05-14 21:18:05 +09:00
1b58e18a6d Update dependencies 🚀 2019-05-14 21:17:29 +09:00
b779ff08e0 特定のインスタンスのファイルをすべて削除できるように 2019-05-14 21:08:35 +09:00
811f9c22d7 🎨 2019-05-14 20:57:24 +09:00
c3529f0691 Improve usability 2019-05-14 20:53:49 +09:00
f9f574532e インスタンスブロックを設定できるように 2019-05-14 20:49:09 +09:00
92dee53dd6 Update note.ts 2019-05-14 12:04:40 +09:00
5d42ee2359 Fix tag cloud on Welcome page (#4922)
Resolve #4754
2019-05-14 10:50:20 +09:00
7c03d37caa Add ToSUrl, repositoryUrl, feedbackUrl (#4921)
* Add ToSUrl, repositoryUrl, feedbackUrl

* modify nodeinfo
2019-05-14 02:57:04 +09:00
b128b593c2 Fix: user menu (#4845) (#4920)
* Fix: Firefoxで自分のメニューが開けないなど

* 自分のユーザーメニューにはミュートなどを表示しないようになど
2019-05-14 02:53:05 +09:00
342e48ed77 Fix meta tags (#4918) 2019-05-14 02:50:23 +09:00
052f8b265d Update README.md [AUTOGEN] (#4916) 2019-05-13 18:03:29 +09:00
2eedc91d74 Update Docker images on CircleCI 2019-05-12 17:27:27 +09:00
410b9ad6bc Fix: ピン留め投稿の表示順がおかしい (#4906)
* Fix: syuilo#4904

* fix comment
2019-05-12 09:37:00 +09:00
24c6dff3e4 Fix #4875 (#4899) 2019-05-11 21:43:08 +09:00
161db7636a Update log.ts 2019-05-11 10:58:34 +09:00
796252357e Merge branch 'develop' 2019-05-10 17:33:21 +09:00
b0344d52e9 11.12.0 2019-05-10 17:32:57 +09:00
8e6da3a0d9 インスタンス運営者がピン留めユーザーを設定できるように
Related #4892
2019-05-10 17:30:28 +09:00
756e4eaeec テキストのリスト内で変数埋め込みできるように 2019-05-10 16:08:01 +09:00
3126d0730a MisskeyPagesで変数を並べ替えられるように 2019-05-10 16:04:32 +09:00
748e9f15df Add notes/unrenote API 2019-05-10 15:53:53 +09:00
7c714f5788 Improve MisskeyPages 2019-05-10 14:18:18 +09:00
d3c3ad839b Update ObjectStorage example (#4890) 2019-05-10 01:46:11 +09:00
168de3c316 Resolve #4870 2019-05-09 23:27:34 +09:00
9e20fc5c88 Validate Note on createNote (#4881) 2019-05-09 15:43:31 +09:00
1ff5151786 Fix: みつけるで人気のタグが表示されない (#4883) 2019-05-09 15:42:56 +09:00
a56738a331 Update README.md [AUTOGEN] (#4877) 2019-05-07 20:55:37 +09:00
2d04a3d6d2 Merge branch 'develop' 2019-05-07 18:56:33 +09:00
e0a55b9100 11.11.2 2019-05-07 18:56:19 +09:00
0a57eecb3a New Crowdin translations (#4812)
* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (French)

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

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Norwegian)

* 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 (German)

* 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 (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (French)

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

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Spanish)

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

* 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 (Chinese Simplified)

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

* New translations ja-JP.yml (English)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (French)

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

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Spanish)

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

* 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)

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

* New translations ja-JP.yml (English)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (French)

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

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (English)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Czech)

* 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 (English)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (French)

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

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Spanish)

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

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

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

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Czech)

* 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 (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (English)
2019-05-07 18:49:51 +09:00
51f98020f6 Fix #4874 2019-05-07 18:48:38 +09:00
70123805e1 Fix #4866 2019-05-07 18:23:12 +09:00
1448b11d00 Clean up 2019-05-07 18:20:18 +09:00
490b81ed05 Fix #4873 2019-05-07 18:14:37 +09:00
96f675abed Fix: IPv4 onlyホストからDualstackホストにAP deliverできない (#4872) 2019-05-07 17:49:25 +09:00
4cd451c613 2段階認証コードの入力フォームタイプの訂正 (#4869)
Fix #4849, Resolve #4848
2019-05-07 08:45:29 +09:00
187792dfc4 Fix bug 2019-05-06 20:09:13 +09:00
3dde561fe5 Resolve #4864 (#4865) 2019-05-06 17:28:55 +09:00
a75ec45172 Merge branch 'develop' 2019-05-05 20:36:25 +09:00
3732ddf75f 11.11.1 2019-05-05 20:36:11 +09:00
b8d8097734 Fix bug 2019-05-05 20:36:09 +09:00
1092532292 Merge branch 'develop' 2019-05-05 20:33:44 +09:00
8a79ba0e2b 11.11.0 2019-05-05 20:33:29 +09:00
ca2949fbb4 MisskeyPagesにリストから選択関数を追加 2019-05-05 20:31:15 +09:00
17b373ac07 ✌️ 2019-05-05 20:16:05 +09:00
7aa66f438f Resolve #4853 2019-05-05 20:12:35 +09:00
73641fd78d Fix #4852 2019-05-05 15:17:29 +09:00
64aac9d6ad Fix #4862 2019-05-05 15:12:25 +09:00
2be13736c8 Update user-profile.ts
#4809
2019-05-05 09:42:38 +09:00
ff4f5fec1d meidg (#4835) 2019-05-05 09:29:15 +09:00
7d64f8abe4 外部サービス連携後のPackedUserがその情報を持つように (#4850) 2019-05-05 09:28:55 +09:00
88e6929e9f 外部サービス連携ログインリンクにアイコン追加 (#4858) 2019-05-05 09:28:23 +09:00
5fb0a995dd 様々な修正 (#4859)
Typo, Redundant code, Syntax error の修正
2019-05-05 09:27:55 +09:00
58a04ce1a5 ログアウトの処理と外部サービス連携Viewがセッションクッキーを作らないように (#4856) 2019-05-05 04:04:30 +09:00
f74e0d9123 Merge branch 'develop' 2019-05-04 15:21:51 +09:00
c6249b82d4 11.10.1 2019-05-04 15:21:35 +09:00
d6131c0b09 MisskeyPagesでページブロックを削除できなくなっていた問題を修正 2019-05-04 15:14:02 +09:00
e62c810b7c Use node 12 2019-05-04 14:53:46 +09:00
2851a1a7ef Update dependencies 🚀 2019-05-04 14:47:28 +09:00
12cd2709d6 Merge branch 'develop' 2019-05-03 18:58:54 +09:00
bf54e58873 11.10.0 2019-05-03 18:58:09 +09:00
6b473e3a5c Fix #4840 2019-05-03 18:55:24 +09:00
4b68abd963 割った余りを求める関数をMisskeyPagesに追加 2019-05-03 18:48:40 +09:00
0e764a2b3e Fix external service authentication (#4846) 2019-05-03 18:38:19 +09:00
9d1ed1eb0d Some import and export fixes (#4842)
* Fix: Mastodon v2.8.0 のフォローリストがインポートできない

* Fix: エクスポートリクエストに失敗してもエラーが出ない (#4821)

* エクスポートファイルでは同一ハッシュチェックをしないように
2019-05-03 18:33:25 +09:00
a09a3465a2 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-05-03 14:49:40 +09:00
001969efaf Improve usability 2019-05-03 14:49:22 +09:00
e7c515da9a Update README.md [AUTOGEN] (#4839) 2019-05-03 14:34:41 +09:00
8367c7dd49 Update README.md [AUTOGEN] (#4837) 2019-05-03 14:32:09 +09:00
55e6cae240 Fix #4834 2019-05-03 09:16:31 +09:00
5553c3fb17 Improve usability 2019-05-03 08:27:46 +09:00
026265cb1e Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-05-03 08:22:51 +09:00
289c76a802 Disable ServiceWorker 2019-05-03 08:22:44 +09:00
7c1bc1d6bc Update README.md [AUTOGEN] (#4832) 2019-05-02 19:44:59 +09:00
90cf0d32b5 Update README.md [AUTOGEN] (#4827) 2019-05-02 18:48:48 +09:00
88d934f922 Merge branch 'develop' 2019-05-02 17:57:29 +09:00
abf11bb03c 11.9.0 2019-05-02 17:57:13 +09:00
2d1f50303d Improve MisskeyPages 2019-05-02 17:55:59 +09:00
9fb7c4091f Merge branch 'develop' 2019-05-02 17:18:34 +09:00
2fdec27ab0 11.8.1 2019-05-02 17:18:11 +09:00
aff56469ed Fix bug 2019-05-02 17:15:14 +09:00
419cb7fbad Remove unwanted ! character in user token regex (#4830) 2019-05-02 06:24:32 +09:00
7882851539 Fix TypeScript semantic error (#4828)
ビルドの時こういうエラーが出てます
src/misc/aiscript/evaluator.ts(2,29): error TS7016: Could not find a declaration file for module 'seedrandom'
2019-05-01 22:56:18 +09:00
358299cf0e Merge branch 'develop' 2019-05-01 20:59:18 +09:00
5a2af24869 11.8.0-2 2019-05-01 20:58:59 +09:00
6d35872af5 Merge branch 'develop' 2019-05-01 20:57:23 +09:00
559dfdaa80 11.8.0 2019-05-01 20:56:50 +09:00
79c49bc926 ページのソースを見れるように 2019-05-01 20:48:56 +09:00
76c538ad25 🎨 2019-05-01 19:50:56 +09:00
e76e358d98 Fix bug 2019-05-01 19:50:52 +09:00
76f37671b4 🎨 2019-05-01 19:45:05 +09:00
a9fc176c3c Fix types 2019-05-01 19:31:34 +09:00
8b13e3c327 Refactor 2019-05-01 19:20:47 +09:00
c3cd6ad2d2 Refactoring 2019-05-01 18:33:11 +09:00
3444b9c9c8 Add splitStrByLine function 2019-05-01 16:33:54 +09:00
ca6fc9cd79 Remove strConcat function 2019-05-01 16:07:05 +09:00
4747ae8b61 Improve AiScript 2019-05-01 15:17:24 +09:00
b6c50d63a0 Update ja-JP.yml 2019-05-01 15:04:26 +09:00
52ebf2055e Improve AiScript 2019-05-01 14:54:34 +09:00
d0af2c2a98 Improve MisskeyPages 2019-05-01 10:37:25 +09:00
10216af48a Improve MisskeyPages 2019-05-01 10:05:33 +09:00
d0c8d537f5 Refactor 2019-05-01 09:15:29 +09:00
1903aaf351 Improve API doc
Fix #4825
2019-05-01 04:44:46 +09:00
e6cdf1b995 Fix: mention (あなた宛て) streaming にミュートが効かない (#4823) 2019-04-30 15:53:13 +09:00
2900d22cdc Update CHANGELOG.md 2019-04-30 12:38:07 +09:00
dc072d4706 Merge branch 'develop' 2019-04-30 12:21:31 +09:00
8ae14f146b 11.7.0 2019-04-30 12:20:59 +09:00
57444c6c3f Update page-editor.el.post.vue 2019-04-30 12:17:53 +09:00
759719d124 Improve MisskeyPages 2019-04-30 12:15:41 +09:00
59782973be 🎨 2019-04-30 10:08:55 +09:00
6c647ea91c Improve usability 2019-04-30 07:55:40 +09:00
c9763dabe1 変換関数を追加 2019-04-30 07:49:46 +09:00
da82754659 🎨 2019-04-30 07:43:56 +09:00
a3cc0ad18b 🎨 2019-04-30 07:41:57 +09:00
2e8e5c2751 Improve MisskeyPages
* ifブロック を追加
* ボタンやスイッチなどのテキストに変数使えるようにした
2019-04-30 06:40:02 +09:00
a60d83b101 Fix ogp 2019-04-29 18:15:12 +09:00
6d45265763 Use bigint 2019-04-29 17:38:31 +09:00
42e84b77e1 Merge branch 'develop' 2019-04-29 15:26:43 +09:00
24121cfadb 11.6.0 2019-04-29 15:26:09 +09:00
93093dd288 🎨 2019-04-29 15:20:37 +09:00
53381c04e6 🎨 2019-04-29 15:17:31 +09:00
c6b64e57f1 いくつかの文字列関数を追加 2019-04-29 15:13:04 +09:00
9158426d0a Improve usability 2019-04-29 14:51:04 +09:00
cef26853df Improve usability 2019-04-29 14:46:35 +09:00
c0673884c5 🎨 2019-04-29 14:38:06 +09:00
c98eb64598 Fix bug 2019-04-29 14:37:58 +09:00
8836bd4f3b Merge branch 'develop' 2019-04-29 11:11:17 +09:00
a58df29208 11.5.1 2019-04-29 11:10:59 +09:00
0d64a17d86 Update page.vue 2019-04-29 11:10:50 +09:00
c886c09cdb MisskeyPagesで値が0の変数が表示されない問題を修正 2019-04-29 11:08:35 +09:00
e86d0007c6 Fix error 2019-04-29 11:03:05 +09:00
624ee76e71 Fix bug 2019-04-29 11:00:41 +09:00
9406079cb7 Merge branch 'develop' 2019-04-29 09:29:48 +09:00
cd2de7f893 11.5.0 2019-04-29 09:29:21 +09:00
342061803e Update dependencies 🚀 2019-04-29 09:28:13 +09:00
05b8111c19 Pages (#4811)
* wip

* wip

* wip

* Update page-editor.vue

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update page-editor.variable.core.vue

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update aiscript.ts

* wip

* Update package.json

* wip

* wip

* wip

* wip

* wip

* Update page.vue

* wip

* wip

* wip

* wip

* more info

* wip fn

* wip

* wip

* wip
2019-04-29 09:11:57 +09:00
747a0b1791 Update define.ts 2019-04-28 19:56:41 +09:00
c05586b53a Improve performance 2019-04-27 11:17:03 +09:00
0cfca4a618 Fix official instance address (#4805)
いくつかのURLが misskey.xyz になってたままだったので misskey.io に訂正
2019-04-26 18:29:56 +09:00
2b8187f7ab Fix bug 2019-04-26 00:54:11 +09:00
291e7e7943 おすすめユーザーに自分自身を含まないように (#4803)
Fix #4790
2019-04-26 00:52:58 +09:00
535d10f469 Improve API console 2019-04-25 14:40:42 +09:00
4cb58c0892 Refactor 2019-04-25 13:27:07 +09:00
6721d27e3f Improve hashtag API 2019-04-25 13:25:10 +09:00
da9dd7c423 Improve API definition 2019-04-25 12:56:52 +09:00
867eb41618 Fix #4415 2019-04-25 12:37:13 +09:00
6fdff13480 Update example.yml 2019-04-25 12:24:18 +09:00
e581ead1ed Update CHANGELOG.md 2019-04-25 12:22:03 +09:00
7495206db2 Merge branch 'develop' 2019-04-25 07:48:29 +09:00
fe87d16d46 11.4.0 2019-04-25 07:48:12 +09:00
0db54386cd Resolve #3119 2019-04-25 07:46:39 +09:00
772258b0b8 Fix #4793 2019-04-25 04:32:01 +09:00
3ef002e14d Fix bug 2019-04-25 04:27:34 +09:00
b90d473ae5 Fix layout 2019-04-25 04:26:58 +09:00
f5091d524b Refactorgin 2019-04-25 04:17:03 +09:00
ee5720df2c Fix #4704 (#4797)
*  Fix #4632

* Fix #4795
2019-04-25 04:07:39 +09:00
afe2037985 Merge branch 'develop' 2019-04-24 20:51:34 +09:00
878cd18144 11.3.1 2019-04-24 20:51:14 +09:00
e8c8f67a09 Update post-form.vue
Close #4792

Co-Authored-By: tamaina <tamaina@hotmail.co.jp>
2019-04-24 20:47:47 +09:00
7b29e7cf7e Fix bug 2019-04-24 20:41:32 +09:00
723d3e6871 Merge branch 'develop' 2019-04-24 15:23:48 +09:00
f063dee12a 11.3.0 2019-04-24 15:23:31 +09:00
db4b315d3d Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-04-24 15:21:58 +09:00
64d00b08a3 Improve announcement
* お知らせにMFMを使えるように
* お知らせに画像を添付できるように
2019-04-24 15:21:39 +09:00
74736a941e Update README.md [AUTOGEN] (#4778) 2019-04-24 14:56:23 +09:00
c40366f20a Update README.md [AUTOGEN] (#4777) 2019-04-24 14:55:49 +09:00
d73e52ac2a Create find-by-hash.ts 2019-04-24 14:54:19 +09:00
9fac8a611f Fix response 2019-04-24 14:54:15 +09:00
9c774a50f8 Update attached-notes.ts 2019-04-24 14:54:06 +09:00
4f20ee1909 Rename theme 2019-04-24 14:44:28 +09:00
1440c5bc65 Fix bug 2019-04-24 14:39:59 +09:00
5829b2a7c1 Update CHANGELOG.md 2019-04-24 10:07:27 +09:00
e3c4bc18d0 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-04-24 10:02:49 +09:00
8555ec2f72 Fix #4767 2019-04-24 10:02:31 +09:00
8d7cefbbbe New Crowdin translations (#4771)
* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Chinese Simplified)
2019-04-24 09:54:43 +09:00
5aa5896b22 Cache meta 2019-04-24 08:11:19 +09:00
8a55bdd89d Increase reaction column length 2019-04-24 03:39:11 +09:00
6444ef6444 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-04-24 03:26:10 +09:00
701ab6cc68 Refactor 2019-04-24 03:26:02 +09:00
3c6ce7a943 Update README.md [AUTOGEN] (#4773) 2019-04-24 00:34:48 +09:00
1e54afd217 Update README.md [AUTOGEN] (#4772) 2019-04-24 00:33:55 +09:00
4e90fd3a06 メンテナ名を必須でなくす
Close #4753
2019-04-23 22:48:53 +09:00
0463c6bb0f Refactor API (#4770)
* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update description.ts

* wip
2019-04-23 22:35:26 +09:00
f31f986d66 Fix #4768 2019-04-23 02:50:59 +09:00
c203c8302b Add @rinsuki into collaborators (#4762) 2019-04-22 18:19:20 +09:00
dea4a7b389 Merge branch 'develop' 2019-04-22 00:50:14 +09:00
0caf9b0706 11.2.2 2019-04-22 00:49:36 +09:00
5f655c9fd7 Update dependencies 🚀 2019-04-22 00:43:15 +09:00
44aed53998 New Crowdin translations (#4736)
* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (French)

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

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Spanish)

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

* 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 (English)

* 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 (Polish)

* New translations ja-JP.yml (French)

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

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (English)

* 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 (Czech)
2019-04-22 00:39:00 +09:00
f9ff621d4a 2段階認証を有効にするとログインできない問題を修正 2019-04-22 00:38:37 +09:00
23a5a75778 Docker: Remove quotes in docker_example.env (#4765)
Docker does not parse quotes in env_file.
As follows if enclosed in quotation marks.

docker_example.env:
POSTGRES_PASSWORD="password"

Environment value in Misskey container:
$ echo $POSTGRES_PASSWORD
"password"

Some users may see this behavior as unexpected.

Dockerはenv_fileのクォーテーションマークを解析しません。
もし値がクォーテーションマークで囲まれていた場合は以下のような動作になります。

docker_example.env:
POSTGRES_PASSWORD="password"

Misskeyのコンテナ内の環境変数:
$ echo $POSTGRES_PASSWORD
"password"

この動作を予期しない動作のように思うユーザーがいるかもしれません。
2019-04-21 23:58:15 +09:00
a78475844a Fix: リモートユーザーの修復処理が自動的に実行されない など for v11 (#4764)
* Fix #4761

* Fix: updatePersonができない
2019-04-21 23:57:44 +09:00
575cf2935e Merge branch 'develop' 2019-04-21 06:52:28 +09:00
ae43aa1bc0 11.2.1 2019-04-21 06:52:01 +09:00
0ba71c6a47 Fix #4752 (#4759) 2019-04-21 02:30:18 +09:00
643f7d1803 Update CHANGELOG.md 2019-04-20 05:19:28 +09:00
5d06da4db2 Update CHANGELOG.md 2019-04-20 05:13:38 +09:00
2934b09361 Fix bug 2019-04-19 21:37:36 +09:00
97341d3fa0 Update README.md [AUTOGEN] (#4748) 2019-04-19 15:37:47 +09:00
a95546ede0 Fix bug 2019-04-19 01:00:17 +09:00
7b44727b23 Merge branch 'develop' 2019-04-18 22:01:45 +09:00
debe648a98 11.2.0 2019-04-18 22:00:53 +09:00
fda8cf77ed Improve warp 2019-04-18 22:00:11 +09:00
8aaab195c6 Fix bug 2019-04-18 21:40:36 +09:00
4096ddcbd0 Use - 2019-04-18 21:36:44 +09:00
ae6cc11ad2 Fix icon 2019-04-18 21:34:56 +09:00
dab7e527de Improve user lists index (#4605)
* wip

* Revert "wip"

This reverts commit 6212831ce3bdae5ce17f8ace9945710ba7696185.

* improve list index

* Update user-lists.vue
2019-04-18 21:33:24 +09:00
8b92feac71 Resolve #4732 2019-04-18 21:29:19 +09:00
4beb3e5755 Fix #4734 (#4745) 2019-04-18 20:46:59 +09:00
55f63229cd Update timemachine.vue 2019-04-18 19:42:40 +09:00
7827aeb695 Resolve #4735 2019-04-18 19:40:23 +09:00
cce768aaac Fix API definition 2019-04-18 14:58:43 +09:00
80b83c0624 間違えた 2019-04-18 14:41:51 +09:00
73b683bb4d Add test 2019-04-18 14:39:49 +09:00
d78a5c0863 Fix #4703 2019-04-18 14:34:47 +09:00
683e5b6abe Add type annotations 2019-04-18 14:29:17 +09:00
653b8f6352 スプラッシュがクリックに反応するように (#4561)
* confirm silence

* Resolve #4554

* Revert "confirm silence"

This reverts commit e1dbdc2bfc0f41c2b308b142c70e9e4573c98cf9.
2019-04-18 03:37:49 +09:00
9ec6afa375 confirm on user menu (#4553) 2019-04-18 03:36:06 +09:00
adff5382ca confirm silence (#4560) 2019-04-18 03:33:51 +09:00
704aabd703 Use menu instead of prompt Fix #4540, Fix #342 (#4575)
* Use menu instead prompt

* fix

* https://bit.ly/2U0JuVt

* fix
2019-04-18 03:32:45 +09:00
f7b1ef0690 アンケートウィジットでもMFMを使用するように v11 (#4741)
* MFM in poll

* use mfm
2019-04-18 03:14:04 +09:00
929982117f Merge branch 'develop' 2019-04-18 01:12:21 +09:00
56a530d769 11.1.6 2019-04-18 01:12:03 +09:00
7ef75fb06b New Crowdin translations (#4692)
* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (French)

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

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Norwegian)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (French)

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

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Spanish)

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

* 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 (Czech)

* New translations ja-JP.yml (Czech)
2019-04-18 01:11:06 +09:00
112a72abdf Docker: Back to npm from yarn (#4730)
This commit reverts "Fix Dockerfile #4214" which uses yarn instead of npm.
The cause of the build error is that binding.gyp and src/crypto_key.cc
are missing when installing dependencies.
In other words, yarn did not fix build error.

There is no reason to use yarn, so go back to npm.
2019-04-18 01:09:31 +09:00
71813e03ee Fix bug 2019-04-18 01:05:40 +09:00
9b05b6ef28 Improve readability 2019-04-18 00:57:06 +09:00
54a87b25b3 Remove unused imports 2019-04-18 00:56:10 +09:00
55e97864bd Fix: v11で未認知ユーザーからActivityが飛んできた場合に処理できない (#4733)
* Fix: inboxに未知のユーザーが来ると処理できない

* こうかな
2019-04-18 00:53:00 +09:00
95733c9490 [MFM] Better hashtag parsing 2019-04-18 00:40:56 +09:00
e19ae644f1 Fix indent 2019-04-18 00:13:31 +09:00
ac4ea25267 Better error handling 2019-04-18 00:09:08 +09:00
611e4f34dc Merge branch 'develop' 2019-04-17 19:37:32 +09:00
faf017f333 11.1.5 2019-04-17 19:36:58 +09:00
5eec896615 Better avgColor 2019-04-17 17:13:49 +09:00
17f35174ea 🎨 2019-04-17 17:01:57 +09:00
bf71b31123 Update CONTRIBUTING.md 2019-04-17 16:59:39 +09:00
9399a44c82 Fix error 2019-04-17 16:50:50 +09:00
c96418806f Disable sql log 2019-04-17 16:45:31 +09:00
7945eddef6 Clean up 2019-04-17 14:39:45 +09:00
0ede390fef Refactor 2019-04-17 14:32:59 +09:00
85959a3b9b Fix #4721 Fix #4722 2019-04-17 14:30:31 +09:00
946c3a25b9 Clean up 2019-04-17 07:25:34 +09:00
f9d697128a Update schemas.ts 2019-04-17 04:32:04 +09:00
532ef744f4 Merge branch 'develop' 2019-04-17 02:58:09 +09:00
27a961814b 11.1.4 2019-04-17 02:57:48 +09:00
5a5b65e9bf Clean up 2019-04-17 02:57:36 +09:00
96673ad610 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-04-17 02:51:19 +09:00
a9025aea0d Better response 2019-04-17 02:51:12 +09:00
f38ab0b973 Update delete-file.ts 2019-04-17 02:37:37 +09:00
150dac00cf Update stream.ja-JP.md (#4725) 2019-04-17 02:21:22 +09:00
bcb1a9c5d3 Refactor 2019-04-17 02:19:49 +09:00
2e55aea584 Doc: Update setup documents (#4680)
* Doc: Update setup documents

Use GitHub api to checkout latest release instead of "git tag" command
which cannot accurately determine prerelease tag.
Also, Changed numbered list format because
the shell command is too long to fit on one line.

* Doc: Use tab instead of spaces

* Doc: Use master branch as latest release tag

master branch and latest release is the same.
master branch merges develop branch with each latest release.
2019-04-17 02:15:27 +09:00
4f5a3f0df5 smallint 2019-04-17 02:12:15 +09:00
e265b538cc Fix #4724 2019-04-17 02:11:22 +09:00
b186504718 Metaのアクセスでトランザクションを張るように (#4720)
* admin/instanceでmetaをキャッシュしないように

* Metaのアクセスにトランザクションをかける
2019-04-17 00:45:33 +09:00
fc27890f13 Refactor 2019-04-17 00:34:49 +09:00
a583939767 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-04-17 00:33:10 +09:00
52e3bcfd29 Meta を二重にデータベースに保存できないように 2019-04-17 00:33:02 +09:00
85d29a3f9d Correct syntax error (#4718) 2019-04-17 00:30:34 +09:00
18944d389d Fix space indent in misskey.nginx (#4717)
Tabインデントになっていたものをスペースインデントに変更
2019-04-16 19:41:58 +09:00
e90ac5d6a4 チャートの数値カラムの型を拡張 2019-04-16 17:52:09 +09:00
cb9a6ae774 Update README.md [AUTOGEN] (#4697) 2019-04-16 13:07:00 +09:00
3ef09aa6b2 Docker: Uncomment redis (#4707)
Redis is required since Misskey 11.0.0.
2019-04-16 13:06:36 +09:00
4db22e45a2 fix syuilo#4711 (#4715) 2019-04-16 13:05:47 +09:00
f966d0b32c 色々な修正; Fix #4709 (#4714)
* Fix a la carte 1

* use dialog instead of alert() etc
2019-04-16 13:05:10 +09:00
ba3879a95a Fix: admin/driveのアイコンがずれてる (#4710) 2019-04-16 02:46:47 +09:00
c6cef0162d Merge branch 'develop' 2019-04-16 01:24:00 +09:00
6d09aa86e9 11.1.3 2019-04-16 01:23:26 +09:00
b711f0f9c6 Clean up 2019-04-16 01:22:48 +09:00
8fefb3a4c9 Update authenticate.ts 2019-04-16 01:20:28 +09:00
400cdf0f26 Fix #4705 2019-04-16 01:11:20 +09:00
bce8c5a315 Refactor 2019-04-16 01:05:21 +09:00
f44dc2dd05 Doc: Add "Init DB" section (#4695)
Misskey 11.x requires database initialization.
2019-04-15 23:39:09 +09:00
df950d2fc5 Clean up 2019-04-15 23:37:35 +09:00
5e1f804dd1 Merge branch 'develop' 2019-04-15 23:32:45 +09:00
15de89f2f9 11.1.2 2019-04-15 23:32:26 +09:00
df647a415c Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-04-15 23:29:44 +09:00
fc66231f8e Fix #4701 2019-04-15 23:29:26 +09:00
71df3e1566 APIドキュメントの説明とか一部追記 (#4702)
* Define description in generate.ts

* Add description in create.ts
2019-04-15 23:26:20 +09:00
168c22fc98 Fix bug 2019-04-15 23:00:39 +09:00
792ec23d7a Use pureimage instead of canvas 2019-04-15 22:58:04 +09:00
ff625253ce Merge branch 'develop' 2019-04-15 22:09:10 +09:00
8c872c6b22 11.1.1 2019-04-15 22:08:53 +09:00
541f5bc0a6 Fix bug 2019-04-15 21:59:14 +09:00
77ff7b9df0 デフォルトでHTLを表示するように 2019-04-15 21:30:49 +09:00
203cc5075e Fix application-name 2019-04-15 21:17:52 +09:00
7abfcd06da Merge branch 'develop' 2019-04-15 21:02:04 +09:00
724f81c7f3 11.1.0 2019-04-15 21:01:46 +09:00
4d2e98af7b 管理者やモデレーターはレートリミット無効に 2019-04-15 20:52:08 +09:00
08221fdda7 Fix bug 2019-04-15 20:41:56 +09:00
c0f72970b9 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-04-15 20:37:29 +09:00
18bc4a49e8 ランダムにアバターを生成するように 2019-04-15 20:37:21 +09:00
f90b6dbed4 Follow lint 2019-04-15 19:05:35 +09:00
d2d991ff34 Fix error 2019-04-15 18:08:57 +09:00
190a5e175b Fix bug 2019-04-15 16:37:54 +09:00
a05f5a91b8 Merge branch 'develop' 2019-04-15 13:14:58 +09:00
4d02ff27be 11.0.3 2019-04-15 13:14:36 +09:00
df92b41d25 Fix bug 2019-04-15 13:11:17 +09:00
075af96338 Fix error 2019-04-15 12:54:42 +09:00
64bbc55336 Fix bug 2019-04-15 12:52:02 +09:00
06c621acc1 Fix bug 2019-04-15 12:49:38 +09:00
d040dc19bc Merge branch 'develop' 2019-04-15 12:23:20 +09:00
a38ae4a402 11.0.2 2019-04-15 12:23:03 +09:00
772063aade Refactor 2019-04-15 12:20:48 +09:00
31c26354c5 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-04-15 12:11:58 +09:00
64b331c5b2 Update read.ts 2019-04-15 12:11:32 +09:00
94f8a145ec Better permisson Fix #2341 (#4611)
* Better permisson Fix #2341

* add kinds.ts

* test

* fix

* v11

* fix
2019-04-15 12:10:40 +09:00
b357afa30a Clean up 2019-04-15 12:04:23 +09:00
fee0437493 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-04-15 12:03:04 +09:00
663b8864c1 Fix bug 2019-04-15 12:03:00 +09:00
c6eafdde30 Fix bug 2019-04-15 11:59:25 +09:00
f32ff95256 New Crowdin translations (#4685)
* New translations ja-JP.yml (German)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Czech)
2019-04-15 11:33:08 +09:00
0452b75c3e Fix #4688 (#4689) 2019-04-15 11:32:53 +09:00
97efd23ec8 Update README.md [AUTOGEN] (#4691) 2019-04-15 11:31:32 +09:00
ea3e311528 簡易的なパーミッションの後方互換 (#4687) 2019-04-15 03:48:54 +09:00
0565454419 callbackUrlをappのレスポンスに追加 (#4686) 2019-04-15 03:39:31 +09:00
35c79c2f29 Fix bug 2019-04-15 03:20:14 +09:00
e6089aec48 Update README.md 2019-04-15 02:45:16 +09:00
dd3f7834c3 Merge branch 'develop' 2019-04-15 01:06:57 +09:00
f8cf18d880 11.0.1 2019-04-15 01:06:36 +09:00
2ac7e242b6 Fix test 2019-04-15 01:03:57 +09:00
d8b604a94f Update CHANGELOG.md 2019-04-14 23:18:01 +09:00
a1f7b00981 Clean up 2019-04-14 22:54:33 +09:00
b7ee42198c New translations ja-JP.yml (German) (#4683) 2019-04-14 22:40:35 +09:00
d66e4b7ff9 Merge branch 'develop' 2019-04-14 20:38:55 +09:00
7f9789cf65 11.0.0 2019-04-14 20:36:13 +09:00
b41c18e033 New translations ja-JP.yml (English) (#4681) 2019-04-14 20:31:15 +09:00
3c73a7ec6d inc/dec score 2019-04-14 20:28:57 +09:00
182c09d952 Update note.ts 2019-04-14 20:26:47 +09:00
9fb86aed04 Clean up 2019-04-14 18:18:20 +09:00
b8f7b13b05 11.0.0-beta.16 2019-04-14 17:44:16 +09:00
1ee1d5b6d1 Update and clean dependencies 🚀 2019-04-14 17:40:30 +09:00
154c38c314 Fix URL 2019-04-14 17:23:11 +09:00
3c0626752a 11.0.0-beta.15 2019-04-14 17:21:59 +09:00
511ef77fb7 Update CHANGELOG.md 2019-04-14 17:21:37 +09:00
4df3ede500 New Crowdin translations (#4641)
* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (French)

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

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (French)

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

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Portuguese)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (French)

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

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (French)

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

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Korean)

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

* New translations ja-JP.yml (English)

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

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (French)

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

* New translations ja-JP.yml (Dutch)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Japanese, Kansai)
2019-04-14 17:19:52 +09:00
e83c080af8 Update README.md [AUTOGEN] (#4678) 2019-04-14 17:18:55 +09:00
054220db70 リファクタリング (#4587)
* Use I cap

* Avoid _

* Use default value instead of optional boolean

* Bye useless variable

* Bye verbose try-catch
2019-04-14 17:18:17 +09:00
97bff010a8 Update README.md [AUTOGEN] (#4665) 2019-04-14 17:12:49 +09:00
487a3079cd Improve post form attaches; Fix #4673, Resolve #2327, Resolve #2145 [v11] (#4674)
* improve post form attaches

* Fix

* chain

* 右クリックでも反応するように
2019-04-14 17:12:04 +09:00
2d5158c680 Fix bug 2019-04-14 16:06:04 +09:00
837be06b72 Update docker-compose.yml 2019-04-14 12:05:12 +09:00
7e0d8dd4d7 11.0.0-beta.14 2019-04-14 12:00:49 +09:00
146fb23d7d Fix bug 2019-04-14 11:59:23 +09:00
61455ffe29 Fix bug 2019-04-14 11:58:10 +09:00
c267baafdc Fix bug 2019-04-14 11:56:37 +09:00
42248a306a Better error handling 2019-04-14 11:53:47 +09:00
694ec7ebe1 Fix bug 2019-04-14 11:50:31 +09:00
e3b3f8fac1 Better error handling 2019-04-14 04:17:24 +09:00
b390363b25 Update CHANGELOG.md 2019-04-14 02:44:49 +09:00
f6f8cdbcf2 11.0.0-beta.13 2019-04-14 02:36:21 +09:00
f46f53b8a3 Refactor 2019-04-14 02:36:00 +09:00
a2fcae4383 Fix bug 2019-04-14 02:33:50 +09:00
483f043768 11.0.0-beta.12 2019-04-14 02:24:27 +09:00
f8e0f4f21f Fix bug 2019-04-14 02:21:57 +09:00
9c3613e96d Improve error handling 2019-04-14 02:19:59 +09:00
d9cacdc86d Update meid.ts 2019-04-14 01:47:46 +09:00
aa3d2deeaa Add meid 2019-04-14 01:40:29 +09:00
e64912545a Update id generation methods 2019-04-14 01:08:26 +09:00
b247be80cc 11.0.0-beta.11 2019-04-13 20:02:47 +09:00
343f2f1f33 Fix bug 2019-04-13 20:02:31 +09:00
2d590df900 Clean up 2019-04-13 20:01:32 +09:00
ba56b2b9fd Update CHANGELOG.md 2019-04-13 19:40:03 +09:00
bf472b0c5e refactor 2019-04-13 19:36:57 +09:00
f7961f34c5 Update CHANGELOG.md 2019-04-13 19:23:32 +09:00
e369031a28 Redis必須に 2019-04-13 19:19:32 +09:00
186d7bbfd9 Fix bug 2019-04-13 19:08:41 +09:00
60a11f8da5 11.0.0-beta.10 2019-04-13 18:58:48 +09:00
1181fcdceb Fix bug 2019-04-13 18:58:29 +09:00
8cb9852058 リプライ先をエラー時に無視すると本来は投票なのに投票じゃないと扱われおかしくなるのでエラーにするように 2019-04-13 18:45:07 +09:00
53d46d1cbe Fix error 2019-04-13 18:23:32 +09:00
275e1c8de9 Refactor 2019-04-13 18:17:27 +09:00
d46eca4c87 Refactor 2019-04-13 18:14:32 +09:00
2927fb1597 11.0.0-beta.9 2019-04-13 17:27:17 +09:00
8c72e011d2 Fix bug 2019-04-13 17:26:38 +09:00
69662e24c3 Fix bug 2019-04-13 17:24:56 +09:00
96099ffe98 11.0.0-beta.8 2019-04-13 16:55:13 +09:00
ae16b45c11 Fix bug 2019-04-13 16:54:21 +09:00
cfee87d3ef 11.0.0-beta.7 2019-04-13 15:18:27 +09:00
5fcf5bc635 Fix bug 2019-04-13 15:18:12 +09:00
14bcb813cc Update migrate.ts 2019-04-13 15:09:16 +09:00
6af19794b6 11.0.0-beta.6 2019-04-13 15:03:56 +09:00
8316186695 Clean packed responses 2019-04-13 15:02:15 +09:00
85d3023cd5 Clean packed responses 2019-04-13 14:55:59 +09:00
78414dee29 Add note 2019-04-13 14:45:51 +09:00
084135141f typo 2019-04-13 14:37:45 +09:00
467a21f028 Update CONTRIBUTING.md 2019-04-13 14:36:35 +09:00
6e284c44d6 Update CONTRIBUTING.md 2019-04-13 14:34:34 +09:00
daf9a449e8 Update CONTRIBUTING.md 2019-04-13 14:31:05 +09:00
960268fd33 typo 2019-04-13 14:17:50 +09:00
8c331da315 Fix bug 2019-04-13 14:11:15 +09:00
b0d626d862 Update CONTRIBUTING.md 2019-04-13 14:04:29 +09:00
a51fbd7316 Suppress errors 2019-04-13 04:00:02 +09:00
063f372f3c 11.0.0-beta.5 2019-04-13 01:53:00 +09:00
987168b863 strictNullChecks (#4666)
* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip
2019-04-13 01:43:22 +09:00
4ee40c3345 Fix bug 2019-04-12 14:24:56 +09:00
654daff7ce Better error handling 2019-04-12 13:07:56 +09:00
64e10e9619 11.0.0-beta.4 2019-04-12 02:25:56 +09:00
b89cffe98d Fix bug 2019-04-12 02:22:22 +09:00
bd76ba702f 🎨 2019-04-12 02:15:22 +09:00
5d52e9ce6b 11.0.0-beta.3 2019-04-12 01:56:48 +09:00
3c29027ca3 Clean up 2019-04-12 01:54:28 +09:00
2ff3069d23 トランザクションを使うようにしたり 2019-04-12 01:52:25 +09:00
4198246351 トランザクションを使用してアンケートレコードの挿入に失敗した場合に投稿レコードの挿入もなかったことにするように 2019-04-12 01:30:10 +09:00
2b6389b4dc Fix bug 2019-04-12 01:03:40 +09:00
d7df75ae6c Clean up 2019-04-12 01:01:25 +09:00
11c30eccb3 非正規化カラムを削除
非正規化するほどの情報じゃない
2019-04-12 00:42:39 +09:00
ab8c6515b8 Fix error log 2019-04-12 00:33:26 +09:00
d4ad36fa41 Update migrate.ts 2019-04-11 22:49:12 +09:00
4d688be3df Update migrate.ts 2019-04-11 22:44:04 +09:00
d2b75f3501 Update migrate.ts 2019-04-11 19:42:35 +09:00
46b78cb4ff Increase url column length 2019-04-11 19:03:49 +09:00
5d6e0d0f37 Update migrate.ts 2019-04-11 16:15:27 +09:00
e19d0a37bb Update migrate.ts 2019-04-11 16:09:33 +09:00
dea3e2132e Update migrate.ts 2019-04-11 15:53:15 +09:00
91c1ceefbd Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-04-11 12:59:16 +09:00
5c50989970 Fix bug 2019-04-11 12:59:09 +09:00
2a7e3b9c51 Fix: AP actor Service のサポートが不完全 (v11) (#4662) 2019-04-11 03:09:12 +09:00
ab302df0ae Update CHANGELOG.md 2019-04-11 00:18:37 +09:00
21e5809993 Clean up 2019-04-10 23:57:39 +09:00
155da0c6a3 Avoid roma-ji naming 2019-04-10 20:30:00 +09:00
c58afc67e8 Update migrate.ts 2019-04-10 20:13:14 +09:00
8e344f2deb 11.0.0-beta.2 2019-04-10 20:08:19 +09:00
c28f4ffb3f Clean up 2019-04-10 20:07:36 +09:00
2a40240310 Fix bug 2019-04-10 18:35:51 +09:00
0e9fba9287 11.0.0-beta.1 2019-04-10 18:25:16 +09:00
2e3dd2a30a Fix bug 2019-04-10 18:13:33 +09:00
dda5f6559d Fix bug 2019-04-10 18:10:09 +09:00
4152e59638 Fix bug 2019-04-10 18:05:39 +09:00
9d5a92bce6 11.0.0-alpha.10 2019-04-10 15:08:05 +09:00
30172b92e6 WebFingerリクエストで Proxy, Keep-Alive などをサポート #4658
Co-Authored-By: MeiMei <mei23@users.noreply.github.com>
2019-04-10 15:07:21 +09:00
8468a9d4c7 11.0.0-alpha.9 2019-04-10 15:04:33 +09:00
626cfb61ac テーブル分割 2019-04-10 15:04:27 +09:00
9603f3fa4f Delete get-user-summary.ts 2019-04-10 14:58:45 +09:00
619a1b9e53 Fix bug 2019-04-10 14:10:00 +09:00
62e76ad588 11.0.0-alpha.8 2019-04-10 01:00:00 +09:00
236d72685d More puny 2019-04-10 00:59:41 +09:00
72a5f7b1e2 Fix bug 2019-04-10 00:40:10 +09:00
d1c16a90b4 11.0.0-alpha.7 2019-04-10 00:01:10 +09:00
33a9783ae5 ドメインは常にPunycodeで保存するように 2019-04-09 23:59:32 +09:00
4d64fd665e Update update.ts 2019-04-09 23:40:55 +09:00
96443384fe 11.0.0-alpha.6 2019-04-09 23:35:34 +09:00
69939f1edb :) 2019-04-09 23:31:41 +09:00
e3c0058942 Refactor 2019-04-09 23:29:48 +09:00
3dc2361654 Update migrate.ts 2019-04-09 23:12:11 +09:00
ec2f709018 Update migrate.ts 2019-04-09 23:09:57 +09:00
ea06665c51 isRemote --> isLink 2019-04-09 23:07:08 +09:00
83b7010d6a 10.100.0 2019-04-09 21:13:52 +09:00
71654cbe47 Fix #4636 2019-04-09 21:11:05 +09:00
e8f96e848a Merge branch 'v10' of https://github.com/syuilo/misskey into v10 2019-04-09 21:10:36 +09:00
251abf21d4 Update .gitignore 2019-04-09 21:10:18 +09:00
d103427932 Fix non media thumbnails (#4380) 2019-04-09 21:07:46 +09:00
74a4bd704c Update migrate.ts 2019-04-09 21:05:49 +09:00
c62f3e0e45 11.0.0-alpha.5 2019-04-09 20:51:23 +09:00
a56a969433 Update dependencies 🚀 2019-04-09 20:49:56 +09:00
1016f94bbb Fix bug 2019-04-09 20:47:31 +09:00
e98cce9aee Update migrate.ts 2019-04-09 19:20:10 +09:00
d4bdb5d327 Update migrate.ts 2019-04-09 19:14:18 +09:00
db4378415e Update migrate.ts 2019-04-09 19:02:09 +09:00
9b594880c8 Restore crypto_key to migration 2019-04-09 19:02:02 +09:00
d44fc3db2f Update migrate.ts 2019-04-09 18:45:21 +09:00
5133b0a0c0 Update migrate.ts 2019-04-09 18:41:53 +09:00
815469304f typo 2019-04-09 18:37:14 +09:00
c651921c79 Fix bug 2019-04-09 18:36:43 +09:00
d18c835221 Update migrate.ts 2019-04-09 18:35:07 +09:00
e38335077e Update user.ts 2019-04-09 12:36:01 +09:00
34c150cf73 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-04-09 12:31:48 +09:00
24cb3ba091 Update migrate.ts 2019-04-09 12:31:45 +09:00
c07eaef2d1 Update note.ts 2019-04-09 12:25:19 +09:00
5df708ac9f Delete mark-admin.js 2019-04-09 04:09:34 +09:00
38ffbe95e9 Update migrate.ts 2019-04-09 01:42:07 +09:00
8bec4042fc Update migrate.ts 2019-04-09 01:31:54 +09:00
ee7ef89dfb Fix bug 2019-04-09 01:31:48 +09:00
54a5246061 Update migrate.ts 2019-04-09 01:03:58 +09:00
fa6eae2937 Update migrate.ts 2019-04-08 23:24:44 +09:00
795be20ee1 Clean up 2019-04-08 23:06:05 +09:00
87d3a06dcd revert rename 2019-04-08 23:05:41 +09:00
8b5c917195 Update CHANGELOG.md 2019-04-08 22:23:33 +09:00
c7da0e59ff Update CHANGELOG.md 2019-04-08 21:46:11 +09:00
eb14acbe0c Doc: Update installing command (#4655)
Replace the "Checkout to Latest Release" command.
Current setup document will checkout latest alpha version.
Because grep command in the document does not exclude alpha version tags.
2019-04-08 21:40:13 +09:00
56860a6bef wip migration 2019-04-08 20:33:42 +09:00
735687be21 update token generation 2019-04-08 20:29:52 +09:00
592cdfa910 ユーザーリストでフォローボタンを表示するように (#4654) 2019-04-08 20:18:42 +09:00
f2ad1a0406 Fix: 投稿ウィジットでローカルのみの公開範囲で投稿できない (#4653) 2019-04-08 20:16:00 +09:00
fab0cc51b3 Fix 2019-04-08 19:56:42 +09:00
3a26acbdb2 ユーザーリストでフォローボタンを表示するように (#4603) 2019-04-08 17:20:16 +09:00
8d0c31bcda 11.0.0-alpha.4 2019-04-08 17:07:50 +09:00
0b99293d4c Fix bug 2019-04-08 17:04:37 +09:00
802153ff9b Fix bug 2019-04-08 16:49:05 +09:00
ec73e2d237 11.0.0-alpha.3 2019-04-08 16:43:51 +09:00
c32b020535 Update ja-JP.yml 2019-04-08 16:43:27 +09:00
c4441804e2 Fix bug 2019-04-08 16:41:41 +09:00
6c9d80d4e8 Fix bug 2019-04-08 16:39:02 +09:00
a231f8d26c Fix bug 2019-04-08 16:34:45 +09:00
82af9320c0 Fix: TLを遡った時に抜けがある時がある (v10) (#4629)
* Update the cursor when the timeline is updated

* fix releaseQueue
2019-04-08 15:18:44 +09:00
fceebf7388 Fix #4562 (#4563) 2019-04-08 15:17:39 +09:00
08da258b63 Update README.md 2019-04-08 15:11:03 +09:00
5994926440 11.0.0-alpha.2 2019-04-08 14:51:36 +09:00
30f2da4215 Fix bug 2019-04-08 14:41:23 +09:00
1a2229f886 Improve instance chart 2019-04-08 14:29:17 +09:00
1e166490d9 [Client] Better pagination
Fix #4628
Close #4629
2019-04-08 14:17:44 +09:00
1c57e6f80a i18n 2019-04-08 13:55:09 +09:00
a6537a8748 Fix: 投稿ウィジットでローカルのみの公開範囲で投稿できない (#4647) 2019-04-08 13:31:42 +09:00
842b75977b Update README.md [AUTOGEN] (#4652) 2019-04-08 04:21:37 +09:00
9b3dccf60c Update README.md [AUTOGEN] (#4649) 2019-04-08 04:20:53 +09:00
2d533e0cd8 Update CHANGELOG.md 2019-04-08 03:52:46 +09:00
9e1925c808 11.0.0-alpha.1 2019-04-08 03:48:26 +09:00
142d59be85 Fix bug 2019-04-08 03:35:02 +09:00
d9a5e06b5b Fix bug 2019-04-08 02:27:06 +09:00
b6889e9ac6 Fix bug 2019-04-08 00:46:01 +09:00
dc82203e9b Fix bug 2019-04-08 00:24:01 +09:00
6a30d32e7d Fix bug 2019-04-07 23:31:58 +09:00
d9780606b3 Refactor 2019-04-07 23:06:07 +09:00
fffa32df48 Fix bug 2019-04-07 23:05:57 +09:00
cad49892d3 Fix avgColor format 2019-04-07 22:57:30 +09:00
f0a29721c9 Use PostgreSQL instead of MongoDB (#4572)
* wip

* Update note.ts

* Update timeline.ts

* Update core.ts

* wip

* Update generate-visibility-query.ts

* wip

* wip

* wip

* wip

* wip

* Update global-timeline.ts

* wip

* wip

* wip

* Update vote.ts

* wip

* wip

* Update create.ts

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update files.ts

* wip

* wip

* Update CONTRIBUTING.md

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update read-notification.ts

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update cancel.ts

* wip

* wip

* wip

* Update show.ts

* wip

* wip

* Update gen-id.ts

* Update create.ts

* Update id.ts

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Docker: Update files about Docker (#4599)

* Docker: Use cache if files used by `yarn install` was not updated

This patch reduces the number of times to installing node_modules.
For example, `yarn install` step will be skipped when only ".config/default.yml" is updated.

* Docker: Migrate MongoDB to Postgresql

Misskey uses Postgresql as a database instead of Mongodb since version 11.

* Docker: Uncomment about data persistence

This patch will save a lot of databases.

* wip

* wip

* wip

* Update activitypub.ts

* wip

* wip

* wip

* Update logs.ts

* wip

* Update drive-file.ts

* Update register.ts

* wip

* wip

* Update mentions.ts

* wip

* wip

* wip

* Update recommendation.ts

* wip

* Update index.ts

* wip

* Update recommendation.ts

* Doc: Update docker.ja.md and docker.en.md (#1) (#4608)

Update how to set up misskey.

* wip

* ✌️

* wip

* Update note.ts

* Update postgre.ts

* wip

* wip

* wip

* wip

* Update add-file.ts

* wip

* wip

* wip

* Clean up

* Update logs.ts

* wip

* 🍕

* wip

* Ad notes

* wip

* Update api-visibility.ts

* Update note.ts

* Update add-file.ts

* tests

* tests

* Update postgre.ts

* Update utils.ts

* wip

* wip

* Refactor

* wip

* Refactor

* wip

* wip

* Update show-users.ts

* Update update-instance.ts

* wip

* Update feed.ts

* Update outbox.ts

* Update outbox.ts

* Update user.ts

* wip

* Update list.ts

* Update update-hashtag.ts

* wip

* Update update-hashtag.ts

* Refactor

* Update update.ts

* wip

* wip

* ✌️

* clean up

* docs

* Update push.ts

* wip

* Update api.ts

* wip

* ✌️

* Update make-pagination-query.ts

* ✌️

* Delete hashtags.ts

* Update instances.ts

* Update instances.ts

* Update create.ts

* Update search.ts

* Update reversi-game.ts

* Update signup.ts

* Update user.ts

* id

* Update example.yml

* 🎨

* objectid

* fix

* reversi

* reversi

* Fix bug of chart engine

* Add test of chart engine

* Improve test

* Better testing

* Improve chart engine

* Refactor

* Add test of chart engine

* Refactor

* Add chart test

* Fix bug

* コミットし忘れ

* Refactoring

* ✌️

* Add tests

* Add test

* Extarct note tests

* Refactor

* 存在しないユーザーにメンションできなくなっていた問題を修正

* Fix bug

* Update update-meta.ts

* Fix bug

* Update mention.vue

* Fix bug

* Update meta.ts

* Update CONTRIBUTING.md

* Fix bug

* Fix bug

* Fix bug

* Clean up

* Clean up

* Update notification.ts

* Clean up

* Add mute tests

* Add test

* Refactor

* Add test

* Fix test

* Refactor

* Refactor

* Add tests

* Update utils.ts

* Update utils.ts

* Fix test

* Update package.json

* Update update.ts

* Update manifest.ts

* Fix bug

* Fix bug

* Add test

* 🎨

* Update endpoint permissions

* Updaye permisison

* Update person.ts

#4299

* データベースと同期しないように

* Fix bug

* Fix bug

* Update reversi-game.ts

* Use a feature of Node v11.7.0 to extract a public key (#4644)

* wip

* wip

* ✌️

* Refactoring

#1540

* test

* test

* test

* test

* test

* test

* test

* Fix bug

* Fix test

* 🍣

* wip

* #4471

* Add test for #4335

* Refactor

* Fix test

* Add tests

* 🕓

* Fix bug

* Add test

* Add test

* rename

* Fix bug
2019-04-07 21:50:36 +09:00
13caf37991 Update README.md [AUTOGEN] (#4639) 2019-04-06 12:47:02 +09:00
b71a602107 10.99.0 2019-04-06 00:58:45 +09:00
e6ce0dd43a New Crowdin translations (#4521)
* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* 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 (French)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* 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 (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)
2019-04-06 00:51:54 +09:00
094a5214f1 Re: fix drive file preview: Fix #4532, Fix #4577 (#4590)
* 🎨 Re: fix drive file preview

* clean

* fix

* fix
2019-04-06 00:51:31 +09:00
0932fcd114 fix #4532 (#4592) 2019-04-06 00:50:35 +09:00
f26643cea3 Update dependencies 🚀 2019-04-06 00:48:05 +09:00
63b1689155 Fix #4556 (#4558) 2019-04-06 00:41:08 +09:00
59dc929431 フォローインポートで自分をスキップするように (#4614)
* skip myself in import-following

* skip owner in publishToFollowers
2019-04-06 00:07:23 +09:00
deaadc33db Update README.md [AUTOGEN] (#4634) 2019-04-05 18:45:20 +09:00
0ba92a4f29 設定でポートが指定されていない場合、環境変数を参照するように 2019-04-05 18:21:08 +09:00
7dc5009ec7 Create Procfile 2019-04-05 18:17:30 +09:00
0ee827afd3 Update 01_bug-report.md 2019-04-05 01:14:25 +09:00
551d1b7f86 Metaに投稿やユーザーのIDを設定するように 2019-04-04 02:22:50 +09:00
7ed1b695f5 Update README.md [AUTOGEN] (#4631) 2019-04-04 00:50:33 +09:00
7ad31b9b33 Update README.md [AUTOGEN] (#4627) 2019-04-03 12:48:51 +09:00
edd8992f7f Update README.md [AUTOGEN] (#4626) 2019-04-02 03:59:54 +09:00
96fe42cfcb Update README.md [AUTOGEN] (#4624) 2019-04-02 00:25:14 +09:00
c3872b4a38 Fix bug
FYI: https://developer.mozilla.org/ja/docs/Web/CSS/@charset
2019-04-01 21:23:16 +09:00
762945113d Fix #4586 (#4621)
* Fix #4586

* Revert "Fix #4586"

This reverts commit e3e600d3c814c617deade1465a1c0a26161caeda.

* note-headerにnarrow
2019-04-01 11:04:11 +09:00
037e9230fc Update reset.styl 2019-04-01 02:28:32 +09:00
3f59ebf986 manifest.json にインスタンス名を反映させるように (#4619) 2019-04-01 01:05:49 +09:00
e51e1d2b09 Fix: ServiceWorkerの設定がUIで有効にならない (#4620) 2019-04-01 01:04:55 +09:00
26cc49eb69 ユーザーリストの user.description を single line 扱いで表示するように (#4604) 2019-03-31 21:32:09 +09:00
7987bb491c 🎨 2019-03-29 22:05:51 +09:00
16b7ac5a87 Fix #4593 (#4594) 2019-03-29 18:35:47 +09:00
5932cb8609 Fix: View source on GitHub (#4584) 2019-03-27 03:10:56 +09:00
dfe694d39f Fix #4581 (#4583) 2019-03-27 02:58:42 +09:00
278624f2c8 10.98.3 2019-03-26 22:26:12 +09:00
899f42c070 Update reaction-lib.ts (#4580) 2019-03-26 22:24:46 +09:00
8ce1d4d6a3 Fix #4576 (#4579)
* Update update.ts

* Update api.ts
2019-03-26 22:24:14 +09:00
52225d703b Fix drive file preview Fix #4532 (#4577)
* fix #4532

* fix
2019-03-26 22:23:17 +09:00
81739af7cb Fix: リアクションのカスタム絵文字の情報がNoteに添付されない (#4574) 2019-03-26 22:22:39 +09:00
25473222cc Follow lint 2019-03-26 21:52:58 +09:00
0b7be70935 10.98.2 2019-03-25 23:36:30 +09:00
818b71abd6 fix Content-Disposition (#4573) 2019-03-25 03:12:08 +09:00
25575e8510 10.98.1 2019-03-24 13:03:22 +09:00
6c85adcf23 Fix typo 2019-03-23 13:50:10 +09:00
5dc92d7a40 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-03-22 19:07:29 +09:00
4e2b966b80 Fix #4559
Close #4564
2019-03-22 19:07:13 +09:00
d34f8c3cb9 Update README.md [AUTOGEN] (#4566) 2019-03-22 19:01:29 +09:00
9049ecb1cf Add name of series in instance count chart (#4565) 2019-03-22 14:57:09 +09:00
7bebea087c Fix #4546 (#4548)
* Refactor download

* emoji type
2019-03-21 04:50:44 +09:00
1c79e30436 Fix NoteReaction (#4547) 2019-03-20 21:39:02 +09:00
1d7933349b Fix #4538 (#4539)
* fix #4538

* clean up

* fix

* fix
2019-03-19 23:35:22 +09:00
d002f67140 10.98.0 2019-03-19 18:50:09 +09:00
da3447765b Revert "Remove deepcopy dependency"
This reverts commit cbf5663179.
2019-03-19 18:47:14 +09:00
cbf5663179 Remove deepcopy dependency 2019-03-19 17:59:44 +09:00
b217fba235 Fix #4531 2019-03-19 17:47:40 +09:00
7f7e6d5aba 「メッセージ」「トーク」「ダイレクト投稿」( Fix #2748 ) (#4515)
* 「メッセージ」「トーク」「ダイレクト投稿」
トーク: 一対一のチャット機能・画面
メッセージ: トークでやり取りする発言
ダイレクト投稿: 自分向けのダイレクト投稿が一覧されるTL

* Fix display of messaging

* ✌️

* Update ja-JP.yml
2019-03-19 17:45:46 +09:00
87c5a9d9a6 Fix #97, Fix #2943 (#4533) 2019-03-19 17:35:50 +09:00
8ca1fe3f0a Resolve #1465 (#4532)
* [client] show drive file icon

* 🎨

* exchange icon

* fix

* fuck crlf

* 背景差し戻し

* fix selected color

* 🎨

* fix

* pointer-events none

* fix bug

* ✌️

* Clean up

* ✌️

* Clean up

* Fix
2019-03-19 17:26:07 +09:00
763ae8f1a6 Change Twemoji CDN (#4527) 2019-03-18 22:02:45 +09:00
c65256d02b Fix custom emoji validation (#4528) 2019-03-18 20:02:25 +09:00
bd2ac515d1 🎨 2019-03-18 17:37:29 +09:00
681f372889 proxy cropper url (#4525) 2019-03-18 16:41:29 +09:00
c2eec272e6 Content-Disposition in ObjectStrage (#4524)
* Content-Disposition in ObjectStrage

* encode filename
2019-03-18 15:23:45 +09:00
bd720491a9 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-03-18 13:30:13 +09:00
a408226509 Refactor 2019-03-18 13:29:58 +09:00
c015e99e6e Update black.json5 2019-03-18 13:25:56 +09:00
de47a17be7 Improve drive downloading (#4523)
* Improve drive file downloading

* fix name

* wtf crlf

* semicolon
2019-03-18 13:20:49 +09:00
d38fc490ad 10.97.2 2019-03-18 02:22:28 +09:00
662167e792 Remove unused import 2019-03-18 02:21:29 +09:00
36c91f03d9 10.97.1 2019-03-18 01:59:59 +09:00
33ccee26b5 Update black.json5 2019-03-18 01:29:58 +09:00
ed5cb991e3 10.97.0 2019-03-18 01:11:18 +09:00
bea84ec2bf New Crowdin translations (#4509)
* New translations ja-JP.yml (Polish)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (English)
2019-03-18 01:10:03 +09:00
08c176e549 不明なリアクションのフォールバックに star を使うようにするオプション 2019-03-18 01:03:35 +09:00
810ed50976 Update black.json5 2019-03-18 00:41:30 +09:00
2684541693 Custom reaction (#4517)
* Custom reaction

* increase limit of reactions/delete

* リアクションの場合は OS標準の絵文字を使用 を迂回する

* カスタムリアクションを無効にする設定

* fix

* disableCustomReaction --> enableEmojiReaction

* Avoid MFM rendering

* 🎨

* 🎨

* Auto accept

* custom emoji reaction

* Improve usability

* Extract emojiRegex

* Fix

* Clean up

* 🎨

* 🎨

* toDbReaction で reaction は必須に

あとフォールバックは like に

* Clean up

* Make required

* 3eb08748fe (r266241728)

* Refactor

* Allow null
2019-03-18 00:03:57 +09:00
a5b12bac54 Change default dark theme 2019-03-17 20:48:55 +09:00
fea1b06e43 Update black.json5 2019-03-17 20:46:14 +09:00
182ca5d434 10.96.0 2019-03-16 21:30:31 +09:00
facde9a75d Increase chart limit 2019-03-16 21:02:17 +09:00
41385640b9 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-03-16 18:17:15 +09:00
7bad9db32e Update interval 2019-03-16 18:16:28 +09:00
af66f0a497 Fix #3504 (#4513) 2019-03-16 18:00:23 +09:00
95e1b80f41 updatePersonを試行した時点でもlastFetchedAtを更新する (#4510) 2019-03-16 09:55:19 +09:00
556e2eba95 Resolve #1727 (#4512) 2019-03-16 09:54:40 +09:00
efe530cb17 Update CONTRIBUTING.md 2019-03-16 02:53:35 +09:00
34e7c99283 Increase display instances limit 2019-03-16 01:36:10 +09:00
4157ea8bc3 Add icons 🎨 2019-03-16 01:34:21 +09:00
550517bbf3 Resolve #4506 2019-03-16 01:20:13 +09:00
eb910cd8a1 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-03-16 01:08:34 +09:00
75131c4e8a Fix bug 2019-03-16 01:08:26 +09:00
ee29ab95be Fix users/search (#4505) 2019-03-15 22:22:59 +09:00
e97951fc51 10.95.0 2019-03-15 13:54:08 +09:00
dfabdef60f Resolve #4501 2019-03-15 13:51:23 +09:00
5a87763193 New Crowdin translations (#4481)
* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Korean)

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

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Czech)

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

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (English)
2019-03-15 13:48:46 +09:00
6bb90f56fa ジョブを一覧できるように 2019-03-15 13:48:17 +09:00
c883ae1350 🎨 2019-03-15 13:14:50 +09:00
09e25e6a02 Better queue chart 2019-03-15 13:09:19 +09:00
bf5d43054b Fix bug 2019-03-15 13:09:05 +09:00
63b3c65691 ファビコンが保存されないのを修正 (#4500)
* Fix ファビコン保存されない

* Fix meta
2019-03-15 12:40:10 +09:00
f193da7f67 🎨 2019-03-15 02:17:10 +09:00
40f38c2c0a Improve queue page 2019-03-15 01:56:40 +09:00
db439ef804 🎨 2019-03-15 01:43:11 +09:00
56eb896a03 Accept Article object (#4499) 2019-03-15 00:23:24 +09:00
68d43e43b6 Fix hashtag style 2019-03-15 00:03:24 +09:00
c60517e49a Follow #3676 2019-03-14 22:18:31 +09:00
3f59d261f2 Follow #3676 2019-03-14 22:18:10 +09:00
4068d220e5 Follow #3676 2019-03-14 22:17:26 +09:00
18968e7208 Fix bug 2019-03-14 21:51:33 +09:00
38656103c0 Add angle bracket covered url syntax to mfm (#4483)
* Add angle bracket covered url syntax to mfm

* Fix path

* Fix match

* Fix index
2019-03-14 21:23:15 +09:00
0f65b1bcc5 10.94.0 2019-03-14 16:40:06 +09:00
a628821834 Improve readability 2019-03-14 16:35:07 +09:00
6ceff60c1e Faviconを可変にするなど 2019-03-14 16:30:51 +09:00
d762a6ce58 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-03-14 15:19:09 +09:00
75a8037a46 Fix #4489 2019-03-14 15:19:02 +09:00
1179920790 unFollowAll on suspend (#4490)
* unFollowAll on suspend

* use services

* silent
2019-03-14 15:16:07 +09:00
b323a160e3 Follow #3676 2019-03-14 01:20:25 +09:00
b157e9535e Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-03-13 23:27:21 +09:00
7668475bd6 🎨 2019-03-13 23:27:11 +09:00
8bda2a1fb7 Refactor 2019-03-13 23:04:17 +09:00
b092086b5b Add languages (#4452) 2019-03-13 14:22:55 +09:00
69a0d9034f Fix #4486 (#4487) 2019-03-13 11:21:16 +09:00
f5be8fd313 10.93.1 2019-03-13 09:34:14 +09:00
7f835d7f76 🎨 2019-03-13 09:32:10 +09:00
ddbb7c5993 🎨 2019-03-13 09:26:38 +09:00
00a3fe39e8 Update dependencies 🚀 2019-03-13 09:19:48 +09:00
7537fb88d4 Refactor 2019-03-13 00:14:44 +09:00
a81bc71a1e Resolve #4454 2019-03-13 00:13:56 +09:00
0a0aa0e2db Fix #4484 (#4485)
* Fix #4484

* import order
2019-03-12 23:38:11 +09:00
c56b94ae96 Add type annotation to avoid type error 2019-03-12 23:31:18 +09:00
e90712706d Add icons 🎨 2019-03-12 23:30:44 +09:00
eb0623331f 🎨 2019-03-12 23:14:18 +09:00
d15bd59109 Fix queue charts (#4482) 2019-03-12 21:53:36 +09:00
60e0b19372 10.93.0 2019-03-12 17:24:42 +09:00
922eb937ff 🎨 2019-03-12 17:20:40 +09:00
87573284f1 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-03-12 17:11:33 +09:00
a91c585f55 Add queue chart 2019-03-12 17:11:06 +09:00
953ea21d5e New Crowdin translations (#4479)
* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Czech)
2019-03-12 16:43:13 +09:00
ecb00968bc Fix bug 2019-03-12 16:42:56 +09:00
50ad8adb2d Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-03-12 13:26:33 +09:00
16878caf09 Update doc 2019-03-12 13:26:26 +09:00
5bc30c5493 Add log 2019-03-12 13:12:49 +09:00
85d89cf4c4 embedプレイヤーを閉じれるように (#4402) 2019-03-12 13:12:34 +09:00
db693f598b シェアページを統合 2019-03-12 13:02:16 +09:00
0494c770a1 Better share template 2019-03-12 12:59:26 +09:00
c473b62aed Follow latest Web Share Target specification 2019-03-12 12:55:43 +09:00
f19ac5320e Remove unnecessary checking 2019-03-12 12:46:01 +09:00
612e3aafbc activeなジョブ数のカウント方法を分けた
https://github.com/syuilo/misskey/issues/4470#issuecomment-471827030
2019-03-12 12:31:01 +09:00
0e97fec451 Fix typo 2019-03-12 10:46:25 +09:00
e8c8626ee4 New Crowdin translations (#4469)
* 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 (Korean)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Spanish)

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

* New translations ja-JP.yml (Czech)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Korean)
2019-03-12 10:41:05 +09:00
d89e0f07f8 Update issue templates 2019-03-12 10:38:30 +09:00
e7f81a42ce Resolve #4470 2019-03-12 10:35:17 +09:00
ac614148b8 Update README.md [AUTOGEN] (#4477) 2019-03-12 09:50:42 +09:00
5eb02b4901 Resolve #4458 (#4476) 2019-03-12 09:50:20 +09:00
65631525f6 Update README.md [AUTOGEN] (#4474) 2019-03-12 09:49:58 +09:00
969435cfe9 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-03-12 00:34:30 +09:00
c932f7a25b Resolve #1736 2019-03-12 00:34:19 +09:00
42d164dc57 log failed job (#4472) 2019-03-11 22:45:07 +09:00
a7e60f80bd Refactor: Extract downloadTextFile function 2019-03-11 20:23:29 +09:00
3dd5f313b7 Add icons 🎨 2019-03-11 20:12:44 +09:00
883962c393 Add icon 🎨 2019-03-11 20:07:27 +09:00
8a30ff1c76 🌎 A federated blogging platform 🚀 2019-03-11 20:03:02 +09:00
e47c354916 Refactor 2019-03-11 19:57:50 +09:00
496f42805d リストをインポートしたときにプロキシアカウントがフォローするように修正 2019-03-11 19:51:58 +09:00
c3d34bda37 Resolve #4259 2019-03-11 19:43:58 +09:00
bb6ede2b8f 10.92.4 2019-03-11 13:59:27 +09:00
822400a1ba New Crowdin translations (#4461)
* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Spanish)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Czech)

* 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 (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (English)

* 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 (Korean)

* New translations ja-JP.yml (Polish)

* 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 (Czech)
2019-03-11 13:57:21 +09:00
e3e08843f1 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-03-11 09:59:14 +09:00
ce0d4f77fa リストのエクスポートをできるように
#4259
2019-03-11 09:59:07 +09:00
94fdb4e974 Update README.md [AUTOGEN] (#4467) 2019-03-11 08:13:02 +09:00
4d425fc8a4 Use proxy instead of weserv for url-preview images (#4466) 2019-03-11 01:03:09 +09:00
c6cdfa2f5a Ignore 4xx references in AP (#4463)
* Ignore 4xx references

* remove unnecessary comment
2019-03-10 22:27:25 +09:00
0fff2e4f16 Remove debug code 2019-03-10 19:20:25 +09:00
80a2172715 Resolve #4462 2019-03-10 19:16:33 +09:00
5a0a297634 Improve redis config 2019-03-09 23:44:54 +09:00
948a133b7b Fix log 2019-03-09 18:15:44 +09:00
2ee826c958 10.92.3 2019-03-09 10:21:45 +09:00
539409faf8 Better logs 2019-03-09 10:18:59 +09:00
606e46e4d7 Make info 2019-03-09 10:10:24 +09:00
a179cfd69a Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-03-09 10:09:12 +09:00
d8379253d4 Rename 2019-03-09 10:09:04 +09:00
c3344fbd68 To retry AP deliver queue (#4457) 2019-03-09 08:57:55 +09:00
4cebd6e84a Increase job attempts limit a little 2019-03-08 21:43:17 +09:00
90fbf9dbb0 Add missing semicolon 2019-03-08 21:38:23 +09:00
d365b9f634 Fix bug 2019-03-08 21:30:12 +09:00
a2f06acaa4 10.92.2 2019-03-08 21:00:35 +09:00
8c90cbcbfb Disable lifo 2019-03-08 20:58:01 +09:00
a4a47772dc New Crowdin translations (#4447)
* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

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

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

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

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

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Polish)
2019-03-08 20:55:36 +09:00
5dde1f4602 Update README.md 2019-03-08 20:52:09 +09:00
9dc0909eeb Add index 2019-03-08 20:36:42 +09:00
0ed2592e41 Resolve #4453 2019-03-08 20:07:29 +09:00
76cff98220 Fix bug 2019-03-08 19:45:01 +09:00
60604b6f51 🎨 2019-03-08 15:34:34 +09:00
f410b7aecb 🎨 2019-03-08 15:27:06 +09:00
1a61f2cee9 自動更新 2019-03-08 13:10:38 +09:00
78a8293520 ジョブの数を一覧できるように 2019-03-08 13:03:38 +09:00
03cfb4fc8d 🎨 2019-03-08 13:03:17 +09:00
144345a359 Enable lifo job 2019-03-08 05:39:59 +09:00
fd2c01515e Increase job concurrency 2019-03-08 05:23:13 +09:00
219570e08b Update job handlers 2019-03-08 05:22:14 +09:00
69df556ff5 Resolve #4448 2019-03-08 04:55:55 +09:00
5f4a52574f Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-03-07 23:43:56 +09:00
5a1f6c5839 10.92.1 2019-03-07 23:43:42 +09:00
91d0342fe8 New Crowdin translations (#4445)
* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)
2019-03-07 23:41:13 +09:00
8cc236daf8 Clean jobs 2019-03-07 23:36:08 +09:00
d283ec69f7 Refactor 2019-03-07 23:27:38 +09:00
d1aea7596c Fix import 2019-03-07 23:14:01 +09:00
c934987b14 Resolve #4444 2019-03-07 23:07:21 +09:00
00c9f4a2e5 Update issue templates 2019-03-07 21:41:39 +09:00
6605c1d07f New Crowdin translations (#4431)
* New translations ja-JP.yml (Chinese Simplified)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)
2019-03-07 21:19:53 +09:00
7325d66c52 Implement Update Question (#4435)
* Update remote votes count

* save updatedAt

* deliver Update

* use renderNote

* use id

* fix typeof
2019-03-07 21:19:32 +09:00
a485061e22 Update README.md [AUTOGEN] (#4441) 2019-03-07 20:30:41 +09:00
1f63f50343 Create robots.txt (#4439)
* Create robots.txt

* Update index.ts
2019-03-07 20:11:04 +09:00
cd3170dabd Update PULL_REQUEST_TEMPLATE.md 2019-03-07 20:06:36 +09:00
841cedc5f8 Update issue templates 2019-03-07 19:56:02 +09:00
7f4882734d Update @types/speakeasy requirement from 2.0.3 to 2.0.4 (#4369)
Updates the requirements on [@types/speakeasy](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/speakeasy) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/speakeasy)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-03-07 19:41:08 +09:00
e7d647d412 Update eslint requirement from 5.12.0 to 5.15.0 (#4394)
Updates the requirements on [eslint](https://github.com/eslint/eslint) to permit the latest version.
- [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.12.0...v5.15.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-03-07 19:40:55 +09:00
913d14a58a Update @types/node requirement from 10.12.24 to 11.10.4 (#4396)
Updates the requirements on [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-03-07 19:40:41 +09:00
909272ec3d Update @types/koa-router requirement from 7.0.39 to 7.0.40 (#4418)
Updates the requirements on [@types/koa-router](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/koa-router) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/koa-router)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-03-07 19:40:22 +09:00
7af40ffbbe Update webpack-cli requirement from 3.2.1 to 3.2.3 (#4422)
Updates the requirements on [webpack-cli](https://github.com/webpack/webpack-cli) to permit the latest version.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/v.3.2.1...V.3.2.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-03-07 19:40:09 +09:00
9df79a3ec9 Update file-type requirement from 10.7.1 to 10.9.0 (#4423)
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/compare/v10.7.1...v10.9.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-03-07 19:39:52 +09:00
4f2eee06aa Update bootstrap-vue requirement from 2.0.0-rc.11 to 2.0.0-rc.13 (#4353)
Updates the requirements on [bootstrap-vue](https://github.com/bootstrap-vue/bootstrap-vue) to permit the latest version.
- [Release notes](https://github.com/bootstrap-vue/bootstrap-vue/releases)
- [Changelog](https://github.com/bootstrap-vue/bootstrap-vue/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/bootstrap-vue/bootstrap-vue/compare/v2.0.0-rc.11...v2.0.0-rc.13)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-03-07 19:39:39 +09:00
1b9cf76008 Update issue templates 2019-03-07 18:16:49 +09:00
d035a43ed6 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-03-07 16:50:41 +09:00
95ee9a6e09 Update issue templates 2019-03-07 16:50:05 +09:00
02a63cdcb3 Update index.js 2019-03-07 16:43:16 +09:00
f02125dd47 Resolve #4437 2019-03-07 13:03:46 +09:00
c11e813146 Fix 2019-03-07 09:35:23 +09:00
a365849048 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-03-07 09:31:07 +09:00
a493c9f769 🎨 2019-03-07 09:30:44 +09:00
a13f522b2a Update README.md [AUTOGEN] (#4436) 2019-03-07 09:18:57 +09:00
1ed70b2e2c 10.92.0 2019-03-06 23:37:53 +09:00
86d5a599b7 New Crowdin translations (#4414)
* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Italian)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Czech)

* 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 (Czech)

* New translations ja-JP.yml (Czech)

* 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 (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 (Czech)
2019-03-06 23:30:39 +09:00
c226fc8d63 Make building locales better (#4427) 2019-03-06 23:28:50 +09:00
bbf4e1c413 Add fallback for broken db 2019-03-06 23:23:50 +09:00
a24a20a83d Clean up 2019-03-06 23:19:15 +09:00
725600da8f Enhance poll (#4409)
* Start working

* WIP: Enhance poll

* Fix bug

* Use `name` in voting note
refs: https://github.com/syuilo/misskey/issues/4407#issuecomment-469057296

* Fix style

* Refactor
Co-authored-by: MeiMei <30769358+mei23@users.noreply.github.com>

* WIP: Update poll editor

* Fix bug

* Fix bug
refs: https://github.com/syuilo/misskey/pull/4409#discussion_r

* Fix typo

* Better design

* Beautify poll editor

* Fix UI

* Fix bug
refs: https://github.com/syuilo/misskey/pull/4409#discussion_r262217524

* Add debug logging

* Fix bug

* Log deliver

* fix vote

* Update ap/show
refs: https://github.com/syuilo/misskey/pull/4409#issuecomment-469652386

* Update poll view

* Maybe done

* Add tests

* Fix path

* Fix test

* Fix test

* Fix test

* Fix expired check on AP

* Update note.ts

* Squashed commit of the following:

commit d9a4beabf851893b8992a0f4568265eb9d4f0b8e
Author: mei23 <m@m544.net>
Date:   Wed Mar 6 05:16:14 2019 +0900

    tune

commit 83ff421a6e978243f80ba9ec820189bc897e6e3b
Author: mei23 <m@m544.net>
Date:   Wed Mar 6 05:01:14 2019 +0900

    fallback

commit 0b566af973b115ade9e75ea4b8094ee2b329dabc
Author: mei23 <m@m544.net>
Date:   Wed Mar 6 04:40:12 2019 +0900

    Note

commit cc0296dd6127580ac584c40398db3f762a311f8b
Author: mei23 <m@m544.net>
Date:   Wed Mar 6 04:33:58 2019 +0900

    createで送る

* Squashed commit of the following:

commit ae696b1ed12568b27c27367ac5a77035c97c9a1f
Author: mei23 <m@m544.net>
Date:   Wed Mar 6 06:11:17 2019 +0900

    fix

commit b735e354e7a9e64534c4f17d04ecbc65fb735c21
Author: mei23 <m@m544.net>
Date:   Wed Mar 6 06:08:33 2019 +0900

    messge

commit d9a4beabf851893b8992a0f4568265eb9d4f0b8e
Author: mei23 <m@m544.net>
Date:   Wed Mar 6 05:16:14 2019 +0900

    tune

commit 83ff421a6e978243f80ba9ec820189bc897e6e3b
Author: mei23 <m@m544.net>
Date:   Wed Mar 6 05:01:14 2019 +0900

    fallback

commit 0b566af973b115ade9e75ea4b8094ee2b329dabc
Author: mei23 <m@m544.net>
Date:   Wed Mar 6 04:40:12 2019 +0900

    Note

commit cc0296dd6127580ac584c40398db3f762a311f8b
Author: mei23 <m@m544.net>
Date:   Wed Mar 6 04:33:58 2019 +0900

    createで送る

* Fix typo

* Update vote.ts

* Update vote.ts

* Update poll-editor.vue

* Update tslint.json

* Fix layout

* Add note

* Fix bug

* Rename text key

* 投票するときに投稿として扱わないように (#4425)

* wip

* 形式をMastodonと合わせた

* Bye something

* Use - instead of ~

* Redundancy

* Yes!

* Refactor

* Use moment instead of Date

* Fix indent

* Refactor

if (votes.length)
は必要なさそう

* Clean up

* Bye Date

* Clean

* Fix timer is not displayed

* Fix リモートから無期限pollにvoteできない

* Fix vote actor
2019-03-06 22:55:47 +09:00
f74a32ed9b [Client] Fix bug 2019-03-06 20:17:59 +09:00
e08e72dd10 Use meta url instead of constant url 2019-03-06 12:31:58 +09:00
ce02e1e528 Bye on-build-webpack (#4404)
* Update webpack.config.ts

* Update package.json
2019-03-06 09:26:22 +09:00
0b27d8a717 Fix #4421 2019-03-06 09:24:16 +09:00
2782e7d26f [MFM] Improve hashtag parsing 2019-03-05 22:18:29 +09:00
2c83a05e80 [Client] Better transition 2019-03-05 20:45:19 +09:00
467f68502a Refactor 2019-03-05 20:32:39 +09:00
d95b0dee6b Fix #4416 2019-03-05 08:27:50 +09:00
a1f3323fa5 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-03-05 08:24:26 +09:00
494796a7f0 Fix #4415 2019-03-05 08:24:19 +09:00
94f2c20d35 Fix #4413 (#4417) 2019-03-05 07:56:23 +09:00
c1deb9438d Update README.md [AUTOGEN] (#4411) 2019-03-04 19:27:53 +09:00
ea86527c66 Add indexes 2019-03-04 19:26:05 +09:00
d1a18fe266 Resolve #3220 2019-03-04 14:32:36 +09:00
737064da82 Better log 2019-03-04 14:02:42 +09:00
606cc85ff5 10.91.2 2019-03-04 09:25:28 +09:00
dcfc8f1b30 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-03-04 09:23:49 +09:00
ebe4b84f14 Fix bug 2019-03-04 09:23:45 +09:00
699d4897db New Crowdin translations (#4403)
* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (Czech)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (German)

* 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 (Czech)

* 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)
2019-03-04 09:17:46 +09:00
fcdfd8d323 Use vue-json-pretty 2019-03-04 09:16:24 +09:00
db8625c31a Revert "Improve log view" (#4406)
This reverts commit e8ef8f0004.
2019-03-04 08:55:35 +09:00
b65f265c55 Update logs 2019-03-03 10:57:17 +09:00
c55237d09c 10.91.1 2019-03-03 08:49:53 +09:00
ed698b7b82 New Crowdin translations (#4398)
* 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 (Korean)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)
2019-03-03 08:48:17 +09:00
d4ff19f013 Fix SVG detection (#4401)
* Fix SVG detection

* remove unnecessary import
2019-03-03 08:48:02 +09:00
972fb8eb40 Hide some components 2019-03-03 08:46:42 +09:00
4de75448b6 テーマの切り替えをなめらかに 2019-03-03 08:43:51 +09:00
e8ef8f0004 Improve log view 2019-03-03 08:35:30 +09:00
a319b30382 Increase log limit 2019-03-03 08:28:35 +09:00
8278616eeb Fix log order 2019-03-03 08:28:12 +09:00
771f011506 Better log 2019-03-03 08:27:30 +09:00
826865869a Improve usability 2019-03-03 08:23:06 +09:00
3c77ae7b62 Improve log api 2019-03-03 08:13:49 +09:00
60c30ece10 Better logs 2019-03-03 08:00:39 +09:00
76a0d0fee9 Use dot 2019-03-03 07:48:25 +09:00
d50624f0a0 Better logs 2019-03-03 07:47:58 +09:00
4f9b015d1c 10.91.0 2019-03-02 18:56:38 +09:00
4f10bd038d Update ja-JP.yml 2019-03-02 18:53:12 +09:00
977af0a24d ログをデータベースに保存して管理画面で見れるように 2019-03-02 18:51:59 +09:00
f3ceb32a7c Change queue db name 2019-03-02 14:32:32 +09:00
15da2de256 Add animaition 2019-03-02 14:27:30 +09:00
41ae0ccd6f Update dependencies 🚀 2019-03-02 14:25:44 +09:00
344532662e Update README.md [AUTOGEN] (#4393) 2019-03-02 08:59:53 +09:00
99b365030e Update README.md [AUTOGEN] (#4391) 2019-03-02 08:58:35 +09:00
5cc940c08a Fix bug
Fix #4390
2019-03-02 08:13:09 +09:00
1d02d9e0fe モバイルのデッキで返信が表示されない問題を修正 2019-03-02 08:06:03 +09:00
139523b763 Refactor 2019-03-02 07:57:18 +09:00
e7c83db9c7 New Crowdin translations (#4381)
* New translations ja-JP.yml (Korean)

* 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 (Korean)

* 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 (Korean)

* 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 (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 (English)

* New translations ja-JP.yml (Korean)

* 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 (Korean)

* 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 (Polish)
2019-03-01 18:10:00 +09:00
da47782b77 Update README.md [AUTOGEN] (#4389) 2019-03-01 14:46:48 +09:00
4685de88a7 Better log 2019-03-01 14:40:29 +09:00
0c28ac4907 Add animation 2019-03-01 14:24:12 +09:00
ae2d707c68 Update README.md [AUTOGEN] (#4387) 2019-03-01 11:13:07 +09:00
00a28193a0 ダークモードの設定をテーマに移動 2019-03-01 11:03:45 +09:00
ea1818284b クライアントの設定コンポーネントを整理
* デスクトップとモバイルで統一
* いくつかの設定を廃止
2019-03-01 10:42:28 +09:00
d83efecc94 文字サイズを設定できるように 2019-03-01 08:08:08 +09:00
9a9fb37a78 Update compose-notification.ts 2019-02-28 20:57:38 +09:00
b6dc6c6984 10.90.4 2019-02-28 15:57:02 +09:00
517084b1fc Fix error 2019-02-28 14:17:39 +09:00
27763e6898 🎨 2019-02-28 14:14:05 +09:00
57dde1da38 Fix error 2019-02-28 14:13:18 +09:00
0bb961767c Fix i18n 2019-02-28 14:10:56 +09:00
88515ce677 Use internal dialog 2019-02-28 14:07:03 +09:00
00562e840c Improve usability 2019-02-28 12:53:31 +09:00
b7927ba386 Refactor 2019-02-28 12:49:13 +09:00
9c363ff045 Improve usability 2019-02-28 12:29:04 +09:00
1dbce5e3e2 Improve performance 2019-02-28 12:14:24 +09:00
361a9ca1be url-previewでembedプレイヤー展開をオプトインにする (#4382)
* url-previewでembedプレイヤー展開をオプトインにする

* remove tabs
2019-02-28 12:05:47 +09:00
cde6514839 Add log 2019-02-28 12:00:57 +09:00
507e2f727e 読み込む通知数を増やした 2019-02-28 11:44:16 +09:00
8028499d2b 🎨 2019-02-28 11:42:41 +09:00
c2c79c4a87 [Client] Use class selector to improve performance 2019-02-28 11:39:34 +09:00
d56f7f3390 remove tabs 2019-02-28 03:57:35 +09:00
ef70d17194 url-previewでembedプレイヤー展開をオプトインにする 2019-02-28 03:46:37 +09:00
9789b9a083 🎨 2019-02-27 16:47:13 +09:00
e6311fdb13 🎨 2019-02-27 09:27:19 +09:00
2231c54dee 10.90.3 2019-02-27 05:33:05 +09:00
20de9a5e35 Resolve #4374 2019-02-27 05:31:16 +09:00
ec3a6d7097 🎨 2019-02-27 05:20:29 +09:00
9d99bf5af8 🎨 2019-02-27 05:16:32 +09:00
52911cc9fd 🎨 2019-02-27 05:13:11 +09:00
6f71ba376d Improve doc 2019-02-27 05:08:42 +09:00
9f439aabba Fix schema 2019-02-27 05:02:46 +09:00
33ad60b1f3 Improve doc 2019-02-27 05:02:36 +09:00
010d3f8281 Update translations of CONTRIBUTING.md (#4371)
* Update translationa about Nyaize

* Update translation about description of source code

* Fix translation
2019-02-26 18:00:47 +09:00
e27c4bf1b9 10.90.2 2019-02-26 15:27:34 +09:00
11cfc58ffc New Crowdin translations (#4370)
* 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 (English)

* New translations ja-JP.yml (Korean)
2019-02-26 15:25:34 +09:00
91f38a8ddd 🎨 2019-02-26 14:44:26 +09:00
b56fed8ed5 Update notes/featured 2019-02-26 14:42:24 +09:00
4a93dadc1c 🎨 2019-02-26 14:37:17 +09:00
3a5f55c471 Chage default settings 2019-02-26 14:28:38 +09:00
2919e37586 Fix 2019-02-26 14:25:09 +09:00
077bdbfdef Improve doc 2019-02-26 14:21:28 +09:00
61ac024127 i18n整理 2019-02-26 14:13:02 +09:00
8db8d3f39e 🎨 2019-02-26 14:02:23 +09:00
e7032363d7 🎨 2019-02-26 12:14:24 +09:00
8a9dc26419 アカウントが削除できない問題を修正 2019-02-26 11:42:21 +09:00
022f5a18c8 10.90.1 2019-02-26 07:01:04 +09:00
eae4b2f2e9 Improve usability 2019-02-26 06:56:15 +09:00
d285452dec Fix bug 2019-02-26 06:54:49 +09:00
aced183a66 10.90.0 2019-02-26 05:34:58 +09:00
77b150c53b Update apexcharts requirement from 3.4.1 to 3.5.0 (#4368)
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/compare/v3.4.1...v3.5.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-26 05:23:43 +09:00
9b2ddfea5f New Crowdin translations (#4367)
* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* New translations ja-JP.yml (Polish)

* 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 (English)

* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Chinese Simplified)
2019-02-26 05:23:06 +09:00
bf2bdaa6ff 🎨 2019-02-26 05:22:21 +09:00
42525bb12a Improve usability 2019-02-25 20:18:15 +09:00
bc243c1ea3 i18n 2019-02-25 20:17:33 +09:00
a2517d1a1d 🎨 2019-02-25 20:08:56 +09:00
c0a60260c2 モバイル版でもデッキを使えるように (#4366)
* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Fix bug

* wip

* Update notifications.vue

* Update user-menu.vue

* deck settings

* indicate
2019-02-25 19:45:00 +09:00
3654f247c4 Fix error 2019-02-25 15:22:56 +09:00
c4ddfef2ed Improve doc 2019-02-25 09:37:22 +09:00
28086111e1 Resolve #4325 2019-02-25 04:20:42 +09:00
60c9a6528f Improve doc 2019-02-25 04:18:09 +09:00
47d4dcfdf5 Improve doc 2019-02-25 04:02:18 +09:00
eb8d1211ba Improve doc 2019-02-25 03:43:19 +09:00
495aad6a2d Improve doc 2019-02-25 03:35:45 +09:00
77676d18c8 Improve doc 2019-02-25 03:30:22 +09:00
68d90caab7 Fix doc 2019-02-25 03:23:19 +09:00
31fc43ed16 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-25 03:22:01 +09:00
31802c9749 Improve doc 2019-02-25 03:21:54 +09:00
192aa89f95 New Crowdin translations (#4364)
* 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 (Korean)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)

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

* New translations ja-JP.yml (Chinese Simplified)
2019-02-25 02:45:07 +09:00
b0a0faff7e Update README.md [AUTOGEN] (#4365) 2019-02-25 02:44:55 +09:00
b67f3438e9 Improve doc 2019-02-24 19:42:26 +09:00
02e4929a97 Improve doc 2019-02-24 19:27:32 +09:00
fcc6a65e08 Improve doc 2019-02-24 18:13:11 +09:00
f4ae939124 ハイフンに統一 2019-02-24 17:57:49 +09:00
664acb2d0e Refactor 2019-02-24 17:48:54 +09:00
e6e7cecdb6 Refactor 2019-02-24 17:35:19 +09:00
563d604812 Refactor 2019-02-24 17:28:51 +09:00
012d744f4c Fix doc 2019-02-24 17:28:15 +09:00
d4c7ca76ac 10.89.1 2019-02-24 13:30:05 +09:00
1a6aae944f 🎨 2019-02-24 13:29:08 +09:00
71e0241c94 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-24 12:58:55 +09:00
d838ef5b76 Resolve #4362 2019-02-24 12:58:45 +09:00
d90a5c9154 New Crowdin translations (#4350)
* New translations ja-JP.yml (Polish)

* New translations ja-JP.yml (Polish)

* 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 (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 (English)

* New translations ja-JP.yml (English)
2019-02-24 12:54:57 +09:00
9b79a411e0 Use camelCase 2019-02-24 12:53:22 +09:00
b8e0ec9edc Improve doc 2019-02-24 12:40:17 +09:00
57009057ae Update typescript to 3.3.3333 🚀 2019-02-24 12:25:12 +09:00
5db7b2e193 Improve doc 2019-02-24 12:23:31 +09:00
d994c84901 Resolve audioTag undefined error (#4363) 2019-02-24 10:50:45 +09:00
febfb97bb4 Remember container state on user page (#4361)
* Remember container state on user page

* remove unnecessary code
2019-02-24 10:38:53 +09:00
a6c5e62923 assetsのjs要求時にsaltを付けないように (#4358)
* No assets salt

* remove related code
2019-02-24 10:38:00 +09:00
ac0390fec3 Improve doc 2019-02-24 10:08:09 +09:00
97b99867f2 Improve doc 2019-02-24 10:04:27 +09:00
a55d5516a6 Improve doc 2019-02-24 10:00:24 +09:00
b679163d01 Improve type definitions 2019-02-24 09:45:27 +09:00
76edcdbe45 Update schemas.ts 2019-02-24 04:27:09 +09:00
d8d51519c4 Update description.ts 2019-02-24 04:11:54 +09:00
3446969121 Refator: separate files 2019-02-24 04:08:08 +09:00
0e0c35a701 Fix bug 2019-02-24 03:56:15 +09:00
c9a6c9e20a テキストをまとめた 2019-02-24 03:54:04 +09:00
3d2b982a94 Use internal alert function 2019-02-24 03:52:12 +09:00
6157d8331b Update drive.vue 2019-02-24 03:50:24 +09:00
3d0fc09fae Implement mobile version folder deletion (#4355) 2019-02-24 03:49:07 +09:00
b975751710 Use global translation 2019-02-24 03:39:45 +09:00
4530d40537 Add missing translation - ホームのカスタマイズ (#4360) 2019-02-24 03:34:40 +09:00
94e3ac9b72 デッキからホームに行くメニューをホームと表記する (#4359) 2019-02-24 03:34:09 +09:00
e13fe97ebb Update update.ts (#4357)
* Update update.ts

* Update update.ts

* Update update.ts

* Update update.ts
2019-02-24 03:32:30 +09:00
4ad7632113 Fix bool-param-default 2019-02-23 17:21:59 +09:00
0709cac97f Fix indent 2019-02-23 16:23:15 +09:00
7dd4180fba Better error handling 2019-02-23 15:45:03 +09:00
558213490a Remove space 2019-02-23 15:42:52 +09:00
78a69e3da8 Update doc 2019-02-23 15:35:26 +09:00
140c78e5a7 Add operationId to more convinience 2019-02-23 14:59:37 +09:00
a8e18e0e22 Add source code link 2019-02-23 14:57:05 +09:00
2a8bb23625 Fix type 2019-02-23 14:56:48 +09:00
936a4d1bc4 Add reaction count (#4283) 2019-02-23 13:44:37 +09:00
69c34e8d00 [ImgBot] Optimize images (#4352)
/assets/api-doc.png -- 5.85kb -> 5.41kb (7.54%)
2019-02-23 13:34:35 +09:00
1a2a190828 10.89.0 2019-02-23 11:29:29 +09:00
251cf1d76f Update dependencies 🚀 2019-02-23 11:29:17 +09:00
52774bbe64 Introduce OpenAPI specs (#4351)
* wip

* wip

* wip

* Update index.ts

* Update gen-openapi-spec.ts

* Update api.ja-JP.md

* Fix

* Improve doc

* Update gen-openapi-spec.ts

* Update redoc.html

* Improve doc

* Update gen-openapi-spec.ts

* Improve doc

* Update CHANGELOG.md
2019-02-23 11:20:58 +09:00
68a6758302 投稿を削除したときにお気に入りからも削除するように 2019-02-22 14:54:52 +09:00
13e43a4f74 Refactor 2019-02-22 14:53:03 +09:00
b7d62d09ec Refactor 2019-02-22 14:46:49 +09:00
321ec18173 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-22 14:22:54 +09:00
a44ac3306e Fix error response format 2019-02-22 14:22:40 +09:00
951288ecf0 docs to run in production mode (#4347)
* run in production mode from systemd

* NODE_ENV=production npm run build

* npm start
2019-02-22 14:18:05 +09:00
cc8a7dd588 Fix bug 2019-02-22 14:09:24 +09:00
813c52f51e Remove unused imports 2019-02-22 14:06:17 +09:00
be3298639d Refactor 2019-02-22 14:02:56 +09:00
e8d2959717 New Crowdin translations (#4337)
* 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 (Korean)

* New translations ja-JP.yml (English)
2019-02-22 13:46:51 +09:00
e7680e08eb Update README.md [AUTOGEN] (#4344) 2019-02-22 13:46:26 +09:00
bd792d7661 Fix type annotation 2019-02-22 13:39:06 +09:00
4920983f23 Refactoring 2019-02-22 13:38:12 +09:00
2756f553c6 Improve error handling of API (#4345)
* wip

* wip

* wip

* Update attached_notes.ts

* wip

* Refactor

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update call.ts

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* ✌️

* Fix
2019-02-22 11:46:58 +09:00
fc52e95ad0 Update CHANGELOG.md 2019-02-22 02:10:32 +09:00
5d1d6bc028 Fix i18n 2019-02-22 02:08:45 +09:00
b106acac91 Fix #4340 2019-02-22 01:56:07 +09:00
a5071db864 Update note-detail.vue (#4342) 2019-02-21 23:20:55 +09:00
bae874eb45 /api/v1/instance/peers 復活 (#4339)
* /api/v1/instance/peers 復活

* use Instance
2019-02-21 23:20:25 +09:00
60da17940d 10.88.0 2019-02-21 06:06:12 +09:00
385eeed732 New Crowdin translations (#4332)
* 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 (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 (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 (English)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)
2019-02-21 06:05:35 +09:00
2e908758d8 🎨 2019-02-21 06:04:42 +09:00
a164f8ad95 Fix bug 2019-02-21 05:53:10 +09:00
372138dfea アカウント削除時にサインイン履歴も削除するように 2019-02-21 01:49:00 +09:00
922a657c7e アカウント削除時にメッセージも削除するように 2019-02-21 01:47:10 +09:00
3409a51cca Resolve #2017 2019-02-21 01:30:21 +09:00
7174a55846 🎨 2019-02-21 00:37:58 +09:00
6656a59402 Fix error 2019-02-21 00:32:49 +09:00
7612ead551 Fix #4331 2019-02-21 00:30:53 +09:00
fa78fe665d メディアビュー機能を削除 2019-02-21 00:13:46 +09:00
c89aa7eb95 デッキでメディア投稿のみ表示するオプションが機能していない問題を修正 2019-02-21 00:12:09 +09:00
43f4c5b7cd Fix #1537 2019-02-21 00:04:23 +09:00
2b6c566386 Fix template styling 2019-02-21 00:02:23 +09:00
91ef328b6b 「みつける」でミュートしているユーザーが含まれる問題を修正 2019-02-20 22:34:52 +09:00
5a9d9dc41d Fix indent 2019-02-20 22:33:22 +09:00
a48e503caa Fix indent 2019-02-20 22:33:13 +09:00
fe00cb9ad5 ハイライトでミュートしているユーザーの投稿が含まれる問題を修正 2019-02-20 22:31:21 +09:00
ed0fdaddbd Fix #4333 2019-02-20 22:21:12 +09:00
893795a31d Update some logs 2019-02-20 22:05:34 +09:00
f1047f1ce5 10.87.5 2019-02-20 16:35:36 +09:00
9beddc941a 返信が遷移後も残り続ける問題を修正 2019-02-20 16:35:00 +09:00
3a6a01d2d6 New Crowdin translations (#4328)
* 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 (Korean)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Chinese Simplified)
2019-02-20 16:27:04 +09:00
e0e4bdbdbc Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-20 16:14:39 +09:00
b3daf79b6a Update CHANGELOG.md 2019-02-20 16:14:31 +09:00
81aa21915b Fix #4329 (#4330)
* Create xml.ts

* Update well-known.ts

* Update well-known.ts

* Fix typo

* Update well-known.ts

* Update well-known.ts
2019-02-20 16:13:43 +09:00
5aadd80243 Update CHANGELOG.md 2019-02-20 13:41:55 +09:00
23350b1cbc 🎨 2019-02-20 13:41:31 +09:00
daff0977cb Resolve #747 2019-02-20 13:38:48 +09:00
c1e7d56ff8 Fix bug 2019-02-20 10:15:06 +09:00
61aef56f83 🎨 2019-02-20 10:14:11 +09:00
249f591403 10.87.4 2019-02-20 07:21:58 +09:00
36599c82d1 New translations ja-JP.yml (Chinese Simplified) (#4323) 2019-02-20 07:21:12 +09:00
7615b1ea0a Improve usability 2019-02-20 07:19:05 +09:00
d8de9f8eba 🎨 2019-02-20 07:15:08 +09:00
8c0e65ce6f Fix error 2019-02-20 07:09:57 +09:00
9aa24c0552 🎨 2019-02-20 07:08:54 +09:00
47bf06f432 人気のタグは常に上 (#4314) 2019-02-20 06:46:35 +09:00
99d291c71b Update CHANGELOG.md 2019-02-20 06:45:16 +09:00
d51cafca74 Fix #4326 2019-02-20 06:44:40 +09:00
7921f8cd43 🎨 2019-02-20 01:00:59 +09:00
1b8467d5e5 [ImgBot] Optimize images (#4322)
*Total -- 482.97kb -> 427.88kb (11.41%)

/src/client/assets/misskey-php-like-logo.png -- 48.77kb -> 41.66kb (14.59%)
/assets/ss/explore.jpg -- 272.68kb -> 238.07kb (12.69%)
/assets/ss/user.jpg -- 161.52kb -> 148.15kb (8.27%)
2019-02-19 20:47:11 +09:00
e13b2689b5 New Crowdin translations (#4318)
* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Korean)
2019-02-19 20:12:52 +09:00
9c167acbd9 Supports scrollbar width in Firefox (#4319)
* Supports scrollbar width in Firefox

* fix style
2019-02-19 20:12:19 +09:00
1bc531edbd Update README.md 2019-02-19 20:09:33 +09:00
b4d0db9202 Create user.jpg 2019-02-19 20:07:52 +09:00
bd2b681367 Create explore.jpg 2019-02-19 20:01:38 +09:00
f0edf81cc4 Remove unused import 2019-02-19 08:48:25 +09:00
e81ac05ba6 Fix bug 2019-02-19 05:17:36 +09:00
6279ce8f22 Add fallback for locales (#4109)
* Update index.js

* Update index.js
2019-02-19 04:04:05 +09:00
0fd20cf588 New Crowdin translations (#4254)
* 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 (English)

* New translations ja-JP.yml (Korean)

* 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 (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 (English)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* 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 (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 (English)

* New translations ja-JP.yml (Korean)

* 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 (Korean)

* New translations ja-JP.yml (Korean)

* 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 (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 (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 (Korean)

* 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 (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 (Korean)

* New translations ja-JP.yml (Korean)

* 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)

* 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 (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)
2019-02-19 04:01:22 +09:00
f2d55e7f60 Fix #4308 (#4310) 2019-02-19 03:48:21 +09:00
963b0db3d3 コンポーネント整理 2019-02-19 03:38:34 +09:00
aeca115a37 developにキャッシュFlushリンクを追加 (#4313) 2019-02-18 20:55:52 +09:00
6f97142b59 10.87.3 2019-02-18 20:54:14 +09:00
b31d1ce61d フォローリクエスト数がおかしい場合の応急処置APIを追加 2019-02-18 20:52:41 +09:00
b07cd37a16 🎨 2019-02-18 20:48:39 +09:00
69b74a46b9 Split cropperjs to reduce bundle size 2019-02-18 19:26:53 +09:00
882d829558 Fix #4063 2019-02-18 19:22:10 +09:00
532821d503 Fix #4309
Close #4311
2019-02-18 18:50:45 +09:00
522ce67498 10.87.2 2019-02-18 11:49:32 +09:00
0e046faf4a みつけるの人気のタグを第2ソートで連合含めたユーザー数にしたりユーザーのタグ以外は除外するように 2019-02-18 11:47:25 +09:00
d9092dc81f ユーザーが存在しない場合の表示を追加 2019-02-18 11:27:15 +09:00
92a4e90026 Remove duplicated route name 2019-02-18 11:21:50 +09:00
07dccad5b1 Avoid dupulicated route name 2019-02-18 11:20:20 +09:00
146b0d2889 Improve usability 2019-02-18 11:16:52 +09:00
388565fb10 Use # instead of v-slot: 2019-02-18 11:13:56 +09:00
da4ba51a74 Fix bug 2019-02-18 10:05:58 +09:00
1edcd136a4 Revert "🎨"
This reverts commit 9883c751da.
2019-02-18 10:02:32 +09:00
9883c751da 🎨 2019-02-18 09:57:19 +09:00
f78b28b995 🎨 2019-02-18 09:51:22 +09:00
54d40420ad Use v-slot instead of slot 2019-02-18 09:48:00 +09:00
ba1492f977 Refactor client (#4307)
* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Fix bug

* 🎨

* 🎨

* 🎨
2019-02-18 09:17:55 +09:00
efd0368e56 Resolve #4305 2019-02-18 04:52:40 +09:00
a766a57af9 誰もフォローしていない状態でホームTLを表示したときにexploreページへ誘導するように 2019-02-18 04:45:16 +09:00
3bdd8a2d90 Update CircleCI configuration (#4297)
* Update config.yml

* Fix typo

* Add name
2019-02-18 02:44:46 +09:00
7ef1205f8b 10.87.1 2019-02-18 01:11:28 +09:00
e8db63e788 Fix bug 2019-02-18 01:11:14 +09:00
0bcef2453c 10.87.0 2019-02-18 00:51:39 +09:00
b9f549135c Fix bug 2019-02-18 00:49:34 +09:00
87b0017386 Fix bug 2019-02-18 00:47:45 +09:00
cc8ff556d4 Fix bug 2019-02-18 00:45:43 +09:00
021f74da54 🎨 2019-02-18 00:41:05 +09:00
f9389802d7 Update CHANGELOG.md 2019-02-18 00:39:31 +09:00
18dd172c97 Chore: Fix type definition 2019-02-18 00:20:14 +09:00
1d5a54ff6f ハッシュタグでユーザー検索できるように (#4298)
* ハッシュタグでユーザー検索できるように

* 🎨

* Increase limit

* リモートユーザーも表示

* Fix bug

* Fix bug

* Improve performance
2019-02-17 23:41:47 +09:00
03e2c7eec6 Fix #4300 (#4304)
* Fix #4300

* sidebar
2019-02-17 23:40:00 +09:00
0902727d1c Update @types/node requirement from 10.12.21 to 10.12.24 (#4231)
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>
2019-02-17 21:42:40 +09:00
496895634d Update @types/sharp requirement from 0.21.1 to 0.21.2 (#4263)
Updates the requirements on [@types/sharp](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>
2019-02-17 21:42:03 +09:00
9414e9e258 Update cssnano requirement from 4.1.8 to 4.1.10 (#4265)
Updates the requirements on [cssnano](https://github.com/cssnano/cssnano) to permit the latest version.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/commits/v4.1.10)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-17 21:41:36 +09:00
357528d139 Use object instead of if chain (#4212) 2019-02-17 21:40:53 +09:00
c4efbdf4c7 Fix #4292 (#4294)
* Fix #4292

* use commit
2019-02-17 21:28:20 +09:00
fb4a921cd9 Docker: Add support for service worker (#4296)
Service worker requires web-push package.
2019-02-17 21:26:00 +09:00
683b242215 Use Record<string, number> instead of any (#4293) 2019-02-17 19:38:46 +09:00
a5660d6c82 Exploreページに新規ユーザー一覧を追加 (#4295) 2019-02-17 17:53:51 +09:00
f632ec50c1 10.86.2 2019-02-17 03:29:17 +09:00
a55d15214b Update ja-JP.yml 2019-02-17 03:28:36 +09:00
f1709a2cc2 Update CHANGELOG.md 2019-02-17 03:23:43 +09:00
effa542958 Improve user page 2019-02-17 03:23:34 +09:00
e8bf742c87 別タブでルートより下を開いたときにはデッキにしないように (#4291) 2019-02-17 02:26:17 +09:00
2e6652edce Resolve #4272 2019-02-17 01:50:17 +09:00
230c204b48 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-17 01:12:08 +09:00
3755c600b1 Update CHANGELOG.md 2019-02-17 01:11:59 +09:00
24513fc0a3 Update media-banner.vue (#4287) 2019-02-17 01:09:49 +09:00
0a79a6564a Add support for disabled timeline to deck
Close #4286
Resolve #4275
2019-02-17 01:04:21 +09:00
562bb5842b [Client] Improve featured notes page 2019-02-17 00:28:41 +09:00
ec3ca3032e ミュートワードで正規表現を使えるように 2019-02-16 19:37:05 +09:00
890770c275 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-16 17:42:01 +09:00
9ed58a1b4e 🎨 2019-02-16 17:41:54 +09:00
08984be2fe Update config.yml 2019-02-16 17:05:56 +09:00
e3ade148ca 10.86.1 2019-02-16 16:59:56 +09:00
34c0eff89f 🎨 2019-02-16 16:46:06 +09:00
40aba47a47 Fix bug 2019-02-16 16:43:17 +09:00
6736f51134 Use home icon 2019-02-16 16:40:17 +09:00
9d826d6e52 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-16 16:39:42 +09:00
902d9bc7a5 Fix bug 2019-02-16 16:39:34 +09:00
b6c86e2845 Change home button to timeline (#4282)
* Home to Timeline

* remove home from locales
2019-02-16 16:27:24 +09:00
34dffdfc8f Update config.yml 2019-02-16 11:10:06 +09:00
a56f3f1d89 10.86.0 2019-02-16 11:06:45 +09:00
88dc4c83cb Improve UI 2019-02-16 10:58:44 +09:00
5a28dc0198 Improve user-list component 2019-02-16 09:27:53 +09:00
40d2650d49 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-16 08:51:38 +09:00
545e83efb1 🎨 2019-02-16 08:51:35 +09:00
d4b00a5482 Update README.md [AUTOGEN] (#4280) 2019-02-16 06:58:51 +09:00
c2b1bbeec5 Exploreページを実装 2019-02-16 06:50:58 +09:00
8c8f165a6e Add missing comma 2019-02-16 04:51:57 +09:00
04553de230 Fix #4276 (#4278) 2019-02-15 23:43:49 +09:00
2776934728 Update is-objectid.ts (#4277)
* Update is-objectid.ts

* Update is-objectid.ts
2019-02-15 23:42:44 +09:00
0064dbb010 🎨 2019-02-15 19:40:11 +09:00
d52e671adf Update README.md [AUTOGEN] (#4274) 2019-02-15 17:20:17 +09:00
6017dc2dff 10.85.2 2019-02-15 15:38:10 +09:00
937f7cbd60 🎨 2019-02-15 15:35:52 +09:00
f8b3f66904 Refactor 2019-02-15 15:12:23 +09:00
9d5701f35a Update deck.vue 2019-02-15 15:06:15 +09:00
dff65810c6 Increase featured limit 2019-02-15 15:01:05 +09:00
6752cf1d64 🎨 2019-02-15 15:00:20 +09:00
8336910a59 🎨 2019-02-15 14:58:15 +09:00
957a1149e0 検索結果を内部コンポーネントに 2019-02-15 14:52:21 +09:00
e8719ff6e6 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-15 14:29:59 +09:00
28b63298e5 Increase featured limit 2019-02-15 14:29:42 +09:00
dd4dee8095 デッキから フォロー/フォロワー ページに行けるように (#4271) 2019-02-15 14:27:16 +09:00
c47818fed4 🎨 2019-02-15 08:52:09 +09:00
e53c383908 10.85.1 2019-02-15 08:42:48 +09:00
55c9c0436b 🎨 2019-02-15 08:42:41 +09:00
66b79e5e24 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-15 08:40:25 +09:00
514b830910 Fix bug 2019-02-15 08:40:16 +09:00
e4f799bf1d Hide localOnly from welcome TL (#4257) 2019-02-15 08:38:59 +09:00
b383427d3d 🎨 2019-02-15 08:37:46 +09:00
e969518139 Fix bug 2019-02-15 08:34:54 +09:00
113fe294bd Fix #4267
Close #4269
2019-02-15 08:32:18 +09:00
a4d92f781f 10.85.0 2019-02-15 06:34:45 +09:00
414cac49c3 Improve featured api 2019-02-15 06:31:22 +09:00
95b157ac3e Add featured page 2019-02-15 06:31:03 +09:00
8e3d884081 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-15 06:06:24 +09:00
9def6fcadd 🎨 2019-02-15 06:06:13 +09:00
7837bd44fc Add i18n when timelines are empty (#4261) 2019-02-15 05:59:07 +09:00
a6c3663155 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-15 05:58:18 +09:00
0b5afadbb8 Update setup.ja.md 2019-02-15 05:58:09 +09:00
43864f0da4 既にフォローされている場合はフォローリクエストを生成しないように (#4266) 2019-02-15 05:56:28 +09:00
6a0d9d70ed 非ログイン時にお知らせを表示 2019-02-15 05:55:59 +09:00
63c6dce68e 🎨 2019-02-15 05:51:22 +09:00
53422ffcb2 Improve desktop UX (#4262)
* wip

* wip

* wip

* wip

* wip

* wip

* Merge

* wip

* wip

* wip

* wip

* wip

* wip
2019-02-15 05:08:59 +09:00
38ca514f53 Update README.md [AUTOGEN] (#4253) 2019-02-15 00:58:57 +09:00
caea0f0376 Change minimum allowed maxNoteTextLength to 0 (#4256) 2019-02-14 16:30:20 +09:00
25a8b26977 Emojify user.friends of desktop view (#4249) 2019-02-14 13:42:14 +09:00
bcaefe8d62 Fix huge close icon of friends-maker (#4245) 2019-02-14 13:41:48 +09:00
46f1e8c599 Restore web max-age to 5 minutes (#4246) 2019-02-14 13:41:28 +09:00
16230f320e Unify translations of frequently replied users (#4248) 2019-02-14 13:40:48 +09:00
ace6419aef 無効化されているタイムラインのフォールバック (#4242)
* Update timeline.vue

* Update home.vue
2019-02-14 13:39:42 +09:00
77fb9eb2be Fix title of robot icon in user.header of desktop view (#4243) 2019-02-14 03:01:42 +09:00
aa7fc7c893 10.84.2 2019-02-14 01:27:22 +09:00
8fc170109f Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-14 01:13:28 +09:00
ad12d00d7e ハッシュタグの集計期間を短くした
Resolve #4238 ?
2019-02-14 01:13:19 +09:00
fa5ea45726 Docker: Remove unnecessary workaround for BusyBox's "free" (#4199) (#4213)
systeminformation gets incorrect memory information due to BusyBox's
"free" issue.(#3409)
A workaround for avoiding it was made.

But it never works because the runner container has no effect.
It should be deleted.
2019-02-13 23:45:58 +09:00
4b6c113251 Add prelude function for URL Query (#4135)
* Update string.ts

* Refactor

* Update string.ts

* Update wrap-url.ts

* Update string.ts

* Update get-static-image-url.ts

* Use querystring.stringify

* Update outbox.ts

* Back to the urlQuery

* Update followers.ts

* Update following.ts

* Update outbox.ts

* Update string.ts

* Update get-static-image-url.ts

* Update string.ts

* Update string.ts

* Separate prelude files
2019-02-13 23:45:35 +09:00
3548290ff2 Fix tslint.json styles (#4219) 2019-02-13 23:43:55 +09:00
b165b90c40 Update dependencies 2019-02-13 21:57:00 +09:00
4ffe9c908b Make ignore pointer events 2019-02-13 21:48:20 +09:00
a135f75e71 🎨 2019-02-13 21:47:53 +09:00
cbc61ba03d Add GIF badge (#4241) 2019-02-13 21:43:58 +09:00
5aa58da918 Migrate cafy to 14.0 (#4240) 2019-02-13 16:33:07 +09:00
b083430011 Sort ISSUE_TEMPLATE (#4236) 2019-02-13 15:59:51 +09:00
a8946b0404 Update nodeinfo.ts (#4239)
* Update nodeinfo.ts

* Update nodeinfo.ts

* Update nodeinfo.ts

* Update nodeinfo.ts

* Update nodeinfo.ts
2019-02-13 15:56:45 +09:00
0303bccc61 Update vue-i18n requirement from 8.8.0 to 8.8.1 (#4235)
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.8.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-13 14:46:41 +09:00
f3ce8564ea よく話すユーザーからサスペンドされたユーザーを隠すなど (#4228)
* Resolve #4226

* fix

* Fix: anonymousでアクセスするとサスペンドユーザーが隠れない

* fix
2019-02-12 17:19:15 +09:00
52c3f9e98c 10.84.1 2019-02-11 23:42:39 +09:00
6c8b4184fe Update CHANGELOG.md 2019-02-11 23:41:00 +09:00
a0979f8435 Update dependencies 🚀 2019-02-11 23:40:10 +09:00
faba21d003 Remove unused import 2019-02-11 23:39:05 +09:00
d82c5dff71 Fix bug 2019-02-11 23:37:15 +09:00
59fbc5b054 New translations ja-JP.yml (English) (#4221) 2019-02-11 22:37:28 +09:00
2c1a7f4392 Fix #4152 (#4224)
* Fix #4152

* fix

* remove unused code
2019-02-11 22:37:20 +09:00
769e6182d8 New Crowdin translations (#4220)
* New translations ja-JP.yml (English)

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

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)
2019-02-11 01:39:46 +09:00
88176a17a3 New Crowdin translations (#4218)
* 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)
2019-02-10 23:17:49 +09:00
fc660e869f [Client] Make default sort lastCommunicatedAt in instances list of admin panel 2019-02-10 19:46:47 +09:00
dc04869650 [Client] Make default origin local in user list of admin panel 2019-02-10 19:44:57 +09:00
93c3f34813 管理画面でサイレンスされているユーザーを一覧できるように 2019-02-10 19:43:46 +09:00
1282eed192 Update CHANGELOG.md 2019-02-10 19:39:42 +09:00
962b3ca78e [Client] Fix bug 2019-02-10 19:38:17 +09:00
62d17c9266 Optimize url-preview image (#4216) 2019-02-10 19:19:26 +09:00
f5b928a537 New translations ja-JP.yml (English) (#4210) 2019-02-10 19:19:10 +09:00
c8811894b5 Update package.json 2019-02-10 17:58:03 +09:00
e579b49228 Update package.json 2019-02-10 17:55:42 +09:00
9561908ad3 Update user.followers-you-know.vue (#4215) 2019-02-10 17:15:41 +09:00
fac7ebf4f6 Fix Dockerfile (#4214)
* Update Dockerfile

* Update Dockerfile
2019-02-10 16:14:48 +09:00
a0769d65e3 Update package.json 2019-02-10 15:08:13 +09:00
d17aa4b24e New translations ja-JP.yml (Korean) (#4209) 2019-02-10 11:45:00 +09:00
310371658b 重いのでジョブキュー無効化 2019-02-10 11:44:08 +09:00
7ca073aafd Hide unusable follow buttons (#4208) 2019-02-10 05:56:11 +09:00
7216d0fb1f New Crowdin translations (#4201)
* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* 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)
2019-02-10 05:34:23 +09:00
22a9e950c7 deckにフォローされていますマークを追加 (#4207)
* deckにフォローされていますを追加

* opacity
2019-02-10 05:26:49 +09:00
6683d50bae Update CircleCI configuration (#4204)
* Update config.yml

* Update config.yml

* Update config.yml

* Update config.yml

* Update config.yml
2019-02-10 02:17:43 +09:00
8f26176273 Update README.md (#4198) 2019-02-09 13:35:04 +09:00
9ea7d446e8 10.84.0 2019-02-09 13:04:58 +09:00
757312ba52 Limit the parallelism of AP object processing (#4193) 2019-02-09 13:01:21 +09:00
1675c473d4 🎨 2019-02-09 12:43:26 +09:00
3a3a5d4bfb Update vue 2019-02-09 12:35:52 +09:00
4a41499c95 🎨 2019-02-09 12:34:42 +09:00
a1d1cb58e0 New Crowdin translations (#4184)
* 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 (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 (German)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (German)

* New translations ja-JP.yml (English)

* New translations ja-JP.yml (English)
2019-02-09 12:29:44 +09:00
acb82fe7b6 フォロー処理のリファクタリング (#4196)
* Fix #4185

* Fix bug
2019-02-09 12:04:03 +09:00
b25df24cea Merge pull request #4197 from syuilo/dependabot/npm_and_yarn/@fortawesome/free-solid-svg-icons-5.7.1 2019-02-08 20:37:00 +00:00
39284eb9b2 Update @fortawesome/free-solid-svg-icons requirement from 5.6.3 to 5.7.1
Updates the requirements on [@fortawesome/free-solid-svg-icons](https://github.com/FortAwesome/Font-Awesome) to permit the latest version.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/commits/5.7.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-08 20:27:31 +00:00
31b0e552a2 Improve usability 2019-02-09 01:53:46 +09:00
c4a2a31cf3 Update ja-JP.yml (#4195)
Fix incorrect strings
2019-02-08 23:10:42 +09:00
4497ddb3f3 Doc: Add bug details to CHANGELOG (#4191)
Bug in Misskey 10.82.3 (#4179) is critical to server administrators,
and they need more detail about it.
2019-02-08 21:04:04 +09:00
5e0eda9526 Improve instances manegement
Resolve #4187
2019-02-08 20:56:16 +09:00
72b85fc09f 10.83.0 2019-02-08 17:06:07 +09:00
6c27412c9c Fix theme 2019-02-08 17:05:50 +09:00
46bddfc9c2 New Crowdin translations (#4178)
* 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 (Chinese Simplified)

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

* 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 (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 (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)
2019-02-08 17:01:43 +09:00
56275bcfcb Introduce per-instance chart (#4183)
* Introduce per-instance chart

* Implement chart view in client

* Handle note deleting

* More chart srcs

* Add drive stats

* Improve drive stats

* Fix bug

* Add icon
2019-02-08 16:58:57 +09:00
f35688bab8 Supress logs during test 2019-02-08 16:56:23 +09:00
93541f83c8 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-08 04:40:55 +09:00
ea0d114833 🎨 2019-02-08 04:40:47 +09:00
7f6a3ec828 🎨 2019-02-08 04:36:23 +09:00
732804b6fa Update CONTRIBUTING.md 2019-02-08 04:33:15 +09:00
aba85b977d Refactoring: Move chart dir into services dir 2019-02-08 04:31:33 +09:00
e6612f610c Implement instance blocking (#4182)
* Implement instance blocking

* Add missing text

* Delete unnecessary file

* Covert Punycode to Unicode
2019-02-08 04:26:43 +09:00
5a28632af7 Update CONTRIBUTING.md 2019-02-08 04:08:25 +09:00
4099db0d42 [Client] Add icon 🎨 2019-02-07 23:42:56 +09:00
9d50a06d9c Fix bug 2019-02-07 23:37:39 +09:00
dd7bf9b2a3 Remove unused import 2019-02-07 23:32:39 +09:00
c463284c2f Fix bug 2019-02-07 23:27:42 +09:00
c1d728a616 インスタンス一覧の表示数を増やした 2019-02-07 22:00:55 +09:00
e43c9c0e21 特定インスタンスからのフォローを全解除できるように 2019-02-07 21:59:18 +09:00
15cac10d7b 10.82.4 2019-02-07 21:30:38 +09:00
49958ca03f Make instance information more detail 2019-02-07 21:23:12 +09:00
280dbe9853 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-07 21:07:58 +09:00
bf964ee969 Update load.ts 2019-02-07 21:03:24 +09:00
61dcd51888 Revert "Fix bug"
This reverts commit 2ef795aba8.
2019-02-07 21:02:57 +09:00
5448c22031 Revert 96bc17aa10 2019-02-07 21:02:33 +09:00
27768081e2 Fix #4179 2019-02-07 20:14:15 +09:00
c3140f57b9 連合しているインスタンスを一覧できるように 2019-02-07 18:11:20 +09:00
7275bc6d3b Improve instance stats 2019-02-07 16:05:29 +09:00
485f2f460e Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-07 15:00:52 +09:00
336912e442 Improve instance stats 2019-02-07 15:00:44 +09:00
dd9c94e47e Update CONTRIBUTING.md 2019-02-07 14:54:14 +09:00
055863144d Update issue templates (#4038)
* WIP: Update issue templates

* Update client-side-feature-request.md

* Update bug_report.md

* Update feature_request.md

* Update server-side-bug-report.md

* Update server-side-feature-request.md

* Update bug_report.md
2019-02-07 14:46:17 +09:00
0bf602bae6 10.82.3 2019-02-07 10:55:52 +09:00
6fc28d1df7 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-07 10:52:07 +09:00
2ef795aba8 Fix bug 2019-02-07 10:51:55 +09:00
1d2c50fc26 デフォルトでログのタイムスタンプ非表示 2019-02-07 10:51:50 +09:00
cef8aa5e7a APのジョブキュー無効化 2019-02-07 10:51:24 +09:00
edf3e75344 New Crowdin translations (#4166)
* 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 (English)
2019-02-07 10:37:36 +09:00
62835c6011 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-07 10:36:09 +09:00
60fb22cb3c Update dependencies 🚀 2019-02-07 10:35:59 +09:00
20dea3a793 Merge pull request #4174 from syuilo/dependabot/npm_and_yarn/@fortawesome/free-brands-svg-icons-5.7.1 2019-02-06 20:35:37 +00:00
aba37ae701 Merge pull request #4173 from syuilo/dependabot/npm_and_yarn/tslint-5.12.1 2019-02-06 20:26:06 +00:00
2c6e6275aa Update @fortawesome/free-brands-svg-icons requirement
Updates the requirements on [@fortawesome/free-brands-svg-icons](https://github.com/FortAwesome/Font-Awesome) to permit the latest version.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/commits/5.7.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-06 20:24:43 +00:00
20ef362854 Update tslint requirement from 5.12.0 to 5.12.1
Updates the requirements on [tslint](https://github.com/palantir/tslint) to permit the latest version.
- [Release notes](https://github.com/palantir/tslint/releases)
- [Changelog](https://github.com/palantir/tslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/palantir/tslint/commits/5.12.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-06 20:15:49 +00:00
4692aa8d9b Update README.md [AUTOGEN] (#4172) 2019-02-07 03:29:10 +09:00
f7b6dc08f7 😢 2019-02-07 02:50:03 +09:00
7dfe7005e0 Update builtin themes 2019-02-07 02:36:02 +09:00
b91de4ac12 🎨 2019-02-07 02:28:08 +09:00
d5205d7328 Refactor reaction-viewer (#4171)
* Refactor reaction-viewer

* code style

* fix
2019-02-07 02:05:49 +09:00
f44ce535fa リアクションマージン再調整 (#4169)
* リアクションマージン再調整

* fix size
2019-02-06 22:57:08 +09:00
7177fd27c8 Fix bug 2019-02-06 22:56:20 +09:00
cf304f88d4 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-06 22:49:42 +09:00
dff1d84031 Fix cofig for ci 2019-02-06 22:46:21 +09:00
96bc17aa10 Check config on load (#4170)
Co-authored-by: syuilo <syuilotan@yahoo.co.jp>
2019-02-06 22:44:55 +09:00
41ba06a5e6 Fix bug 2019-02-06 22:27:23 +09:00
d7ac0418d7 Revert "余計なマージンを削除 (#4168)"
This reverts commit 77bcb58f12.
2019-02-06 21:51:01 +09:00
f4319a9c01 Revert "[Client] リアクション一覧のマージンを調整"
This reverts commit 80ea747db6.
2019-02-06 21:50:37 +09:00
f4c4d53bbb Fix bug 2019-02-06 21:21:49 +09:00
0ed43e1bdf Fix file name 2019-02-06 21:10:37 +09:00
d25bd876cb Better file names 2019-02-06 21:10:12 +09:00
b9782397c2 Fix file ext 2019-02-06 21:07:36 +09:00
ea0abc9f71 Clean up 2019-02-06 20:57:15 +09:00
27d16c6a12 Resolve #4151 2019-02-06 20:56:48 +09:00
ede70d354e Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-06 19:36:52 +09:00
66fa583f6e Update example.yml 2019-02-06 19:36:44 +09:00
77bcb58f12 余計なマージンを削除 (#4168) 2019-02-06 18:29:39 +09:00
61036e3a70 Rename clusterLog to clusterLogger (#4167) 2019-02-06 18:01:35 +09:00
bcd886c4f5 🎨 2019-02-06 17:51:33 +09:00
4d868aaf1f 🎨 2019-02-06 17:10:40 +09:00
80ea747db6 [Client] リアクション一覧のマージンを調整
Close #4160
2019-02-06 17:03:43 +09:00
960f29ce81 10.82.2 2019-02-06 15:25:47 +09:00
20ee57931f Resolve #4165 2019-02-06 15:24:59 +09:00
71ba72e796 Better logs 2019-02-06 15:06:23 +09:00
9835945ee1 Improve queue option 2019-02-06 15:01:43 +09:00
4f2d52697d Update queue setting 2019-02-06 14:53:02 +09:00
46c258d77a 10.82.1 2019-02-06 14:01:52 +09:00
3b5b3cf521 Merge branches 'develop' and 'develop' of https://github.com/syuilo/misskey into develop 2019-02-06 13:56:21 +09:00
5e0bdd8a78 New Crowdin translations (#4147)
* 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 (English)
2019-02-06 13:56:00 +09:00
b299988bb5 Simplify comment (#4164) 2019-02-06 13:52:32 +09:00
e26bec6ab4 Improve queue configuration
Resolve #4157
Resolve #4158
2019-02-06 13:51:02 +09:00
e9955e01d6 Introduce option type (#4150)
* Introduce option type

* Improve test naming
2019-02-06 13:42:35 +09:00
1974d8f58b Add URL validation (#4148) 2019-02-06 13:37:20 +09:00
08c0be11b2 Merge pull request #4163 from syuilo/dependabot/npm_and_yarn/jsdom-13.2.0 2019-02-05 20:36:15 +00:00
87c7058494 Merge pull request #4162 from syuilo/dependabot/npm_and_yarn/@types/node-10.12.21 2019-02-05 20:31:01 +00:00
b92addffa9 Update jsdom requirement from 13.1.0 to 13.2.0
Updates the requirements on [jsdom](https://github.com/jsdom/jsdom) to permit the latest version.
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Changelog](https://github.com/jsdom/jsdom/blob/master/Changelog.md)
- [Commits](https://github.com/jsdom/jsdom/commits/13.2.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-05 20:26:19 +00:00
e8b49df842 Update @types/node requirement from 10.12.18 to 10.12.21
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>
2019-02-05 20:22:20 +00:00
18fd39b335 proxyで400番台はそのステータスを返す (#4154) 2019-02-06 00:20:00 +09:00
8a11322802 Update README.md 2019-02-06 00:13:31 +09:00
31929dad61 [MFM] Better hashtag parsing: Ignore slash 2019-02-06 00:05:26 +09:00
4a41d2fddc Add logs 2019-02-06 00:01:37 +09:00
4c65b0cd6f 🎨 2019-02-05 23:45:27 +09:00
3e89dc603d Bye 'is-url' (#4113) 2019-02-05 19:54:41 +09:00
2a1def3cce 10.82.0 2019-02-05 19:53:31 +09:00
938fe05fef Update CHANGELOG.md 2019-02-05 19:52:22 +09:00
5db5bbd1cd 自分の投稿情報をエクスポートできるように (#4144)
* wip

* 正しいJSONを生成するように

* データを整形
2019-02-05 19:50:14 +09:00
ba7e05837c Add ffmpeg package for the runner container (#4145)
* Revert "Update Dockerfile (#4090)"

This reverts commit 6758b0f133.

* Docker: Add ffmpeg package for the runner container

Misskey 10.81.0 added thumbnail generation support.
However it did not work with Docker bacause ffmpeg has not been
installed in the runner container.
2019-02-05 19:32:53 +09:00
9dd06a7621 /.well-known 周りをいい感じに (#4141)
* Enhance /.well-known and their friends

* Fix bug
2019-02-05 17:42:55 +09:00
2f4434b0d8 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-05 17:30:25 +09:00
350328770b Improve readability 2019-02-05 17:30:17 +09:00
17e1b49bff New translations ja-JP.yml (Chinese Simplified) (#4140) 2019-02-05 15:16:53 +09:00
266c31981d Fix typo 2019-02-05 15:09:37 +09:00
803fb0898a Fix bug 2019-02-05 14:56:33 +09:00
01983da514 [Client] Use localStorage instead of window 2019-02-05 14:42:18 +09:00
6f473aa64a Update setup.ja.md 2019-02-05 14:25:03 +09:00
574747b9d4 Improve doc 2019-02-05 14:24:10 +09:00
dff1122bd5 Enable service worker 2019-02-05 14:22:52 +09:00
43cb12930a Remove unused declare 2019-02-05 14:22:35 +09:00
8129d4dc23 Refactoring 2019-02-05 14:14:23 +09:00
9b780dff04 Fix log 2019-02-05 14:04:40 +09:00
11a0ef485b Resolve #4139 2019-02-05 13:56:50 +09:00
83b2aa72b1 [Client] Clip note content 2019-02-05 13:54:40 +09:00
c71b24987d Make index.js for more convinience 2019-02-05 13:46:06 +09:00
78d22dbd22 Update vue to 2.6.2 🚀 2019-02-05 13:35:47 +09:00
8961dab137 Fix comment 2019-02-05 11:49:03 +09:00
bcc549fd8e Fix style 2019-02-05 11:48:08 +09:00
5a6c3fc11c Update css-loader to 2.1.0 🚀
Close #3961
2019-02-05 07:06:57 +09:00
7d730f676d Refactoring: Extract showMachineInfo function 2019-02-05 06:49:00 +09:00
6bda571660 Make some error logs important 2019-02-05 06:46:01 +09:00
d3c7129e1f Refactoring: Extract checkMongoDB function 2019-02-05 06:43:36 +09:00
3709ba95cd Improve doc 2019-02-05 06:29:56 +09:00
4162981081 アニメーション停止箇所の追加 (#4138) 2019-02-05 06:22:39 +09:00
7b7359fbdc [Client] Fix bug 2019-02-05 06:12:41 +09:00
70c01c52a8 Update Vue to 2.6 🚀 2019-02-05 06:07:23 +09:00
443006c868 Update terser-webpack-plugin requirement from 1.2.1 to 1.2.2 (#4137)
Updates the requirements on [terser-webpack-plugin](https://github.com/webpack-contrib/terser-webpack-plugin) to permit the latest version.
- [Release notes](https://github.com/webpack-contrib/terser-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/terser-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/terser-webpack-plugin/commits/v1.2.2)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-05 05:20:10 +09:00
7c1db1fea5 New Crowdin translations (#4130)
* 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 (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 (English)
2019-02-05 04:58:07 +09:00
7c2b704bef Fix CHANGELOG 2019-02-05 04:23:28 +09:00
368c3f1e29 Update CHANGELOG.md 2019-02-05 04:22:24 +09:00
dd39d6ea37 Better key name 2019-02-05 04:09:44 +09:00
ef618b2431 [Client] Increase font size a little in the Deck view
Resolve #1821
2019-02-05 04:01:50 +09:00
861302f0fd アニメーション画像を無効にする際、サーバーサイドではなくクライアントサイドでURLを変更するように 2019-02-05 03:51:54 +09:00
f014b7ae0e アニメーションを自動再生しないオプション (#4131)
* Refactor

* settings

* Media Proxy

* Replace API response
2019-02-05 03:01:36 +09:00
00b2d89f1a Refactor: Better type definition 2019-02-05 01:52:09 +09:00
5410efe9ca Refactoring 2019-02-05 01:31:02 +09:00
1d814ba0e1 個別に投稿のウォッチ/ウォッチ解除をできるように
Resolve #161
2019-02-05 01:24:44 +09:00
c107333f56 [API] お気に入り状態は投稿情報に含めないように統一 2019-02-05 01:11:06 +09:00
9595a56346 Revert "Update load.ts"
This reverts commit cf9e8ed39e, commit 67792fcb5e, and commit c7e8c27ce6.
2019-02-04 22:30:24 +09:00
06707705bf Add dummy option for some libraries 2019-02-04 19:41:31 +09:00
68ee9a008e Resolve #4121 (#4122)
* Resolve #4121

* Update tslint.json
2019-02-04 18:27:45 +09:00
3a035c481e Fix fusion 2019-02-04 16:50:14 +09:00
23a0aead9f Update config.yml
Redis なしが帰ってきたぞっ!
2019-02-04 16:41:57 +09:00
6cd41f9860 Initialize queue only if queue is enabled (#4125) 2019-02-04 16:41:53 +09:00
baf861ac79 Update __MISSKEY_HEAD 2019-02-04 16:41:11 +09:00
0ae1190c08 Add --disable-queue option 2019-02-04 13:37:50 +09:00
d3b3426ebe Enable job queue
Resolve #3216
2019-02-04 13:35:58 +09:00
4982ea8f14 Add --verbose option 2019-02-04 12:14:07 +09:00
3be89e9702 Better logging 2019-02-04 12:09:59 +09:00
4275af2324 Make Logger#log method private 2019-02-04 11:51:23 +09:00
84d42be090 Fix MongoDB connectivity checking 2019-02-04 11:48:59 +09:00
c4c7783691 [Server] Enable slow option 2019-02-04 10:03:49 +09:00
d6dba7fd71 Update dependencies 🚀 2019-02-04 09:56:48 +09:00
30b1b1a5ed Fix imports 2019-02-04 09:37:15 +09:00
90b6688057 Update apexcharts requirement from 2.5.1 to 3.2.1 (#4124)
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/v3.2.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-04 09:29:47 +09:00
b536ee4dcd Add collaborators credit 2019-02-04 09:09:45 +09:00
11101a6aca Better error log of WebFinger 2019-02-04 09:06:13 +09:00
b4a3e5aa4f Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-04 09:02:27 +09:00
874c0eae6a Better error log of WebFinger 2019-02-04 09:02:23 +09:00
9950b6fbc6 Update tslint-sonarts requirement from 1.8.0 to 1.9.0 (#3978)
Updates the requirements on [tslint-sonarts](https://github.com/SonarSource/SonarTS) to permit the latest version.
- [Release notes](https://github.com/SonarSource/SonarTS/releases)
- [Commits](https://github.com/SonarSource/SonarTS/commits/v1.9.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-04 07:16:01 +09:00
42d6ed62f6 New translations ja-JP.yml (English) (#4120) 2019-02-04 07:01:19 +09:00
c7e8c27ce6 Fix bug
C#っぽく使ってしまっていた。
2019-02-04 02:14:18 +09:00
67792fcb5e Update load.ts 2019-02-04 02:09:41 +09:00
353fc18f19 Merge branch 'develop' into acid-chicken-patch-10 2019-02-04 02:06:46 +09:00
cf9e8ed39e Update load.ts 2019-02-04 02:06:08 +09:00
beb1b570d4 New translations ja-JP.yml (Polish) (#4119) 2019-02-04 01:52:39 +09:00
ba1b5a8ede Update README.md 2019-02-04 01:51:01 +09:00
99d8d0a484 Create type definition for '*/const.json' (#4118) 2019-02-04 01:47:12 +09:00
5891135ac1 Create type definition for ./locales (#4117) 2019-02-04 01:46:59 +09:00
c4f7491322 Revert "Create new type definition for 'is-url' (#4013)"
This reverts commit 014b58cb40.
2019-02-04 01:30:33 +09:00
206b57b962 New translations ja-JP.yml (Polish) (#4116) 2019-02-04 01:22:37 +09:00
1b0e03704e New translations ja-JP.yml (Polish) (#4115) 2019-02-04 01:13:39 +09:00
8b71006fbe Bye 'is-url' 2019-02-04 00:09:24 +09:00
8f2f4b6d2d Add missing semicolons 2019-02-03 23:52:46 +09:00
6e0c055faf Module 'jsdom' as import syntax (#4016) 2019-02-03 23:49:00 +09:00
893a3b527d Create type definition for 'os-utils' (#4050) 2019-02-03 23:41:27 +09:00
fe13c17fcb Create type definition for 'langmap' (#4059)
* Create type definition for 'langmap'

* Follow lint
2019-02-03 23:41:05 +09:00
5049870b6e Create type definition for 'koa-slow' (#4072) 2019-02-03 23:01:03 +09:00
ce576dea8f Create type definition for 'recaptcha-promise' (#4068) 2019-02-03 22:21:55 +09:00
ceda3dd72a Create new type definition for 'escape-regexp' (#4058) 2019-02-03 22:21:47 +09:00
014b58cb40 Create new type definition for 'is-url' (#4013)
* Create new type definition for 'is-url'

* [Client] Resolve #3638

* 10.79.1

* New translations ja-JP.yml (Korean)

* Add missing semicolon

* Remove file-loader from dependencies (#4025)

* Update README.md [AUTOGEN] (#4028)

* Update README.md [AUTOGEN] (#4030)

* Add visibility test (#4029)

* Update ws requirement from 6.1.2 to 6.1.3 (#4027)

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.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Module 'web-push' as import syntax (#4017)

* Fix visibility test (#4031)

* Upgrade gulp version to 4.0.0

* Prevent typescript errors from crashing

* Remove duplicated dependencies

* Use parallel and task to specify dependencies

* Sort tasks by topological ordering

* リプライ/メンションされていれば非フォロワーへのフォロワー限定でも参照可能に (#4033)

* 非メンション/リプライ投稿がmentionsにあるかどうかはvisibilityと関係ないので削除

* リプライ/メンションされていれば非フォロワーでも参照可能に

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

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

* Fix #4034 (#4037)

* Fix #4034

* improve

* Module 'crypto' as import syntax (#4011)

* Extract MFM normalize function

* Extract MFM types

* Rename html to toHtml

* Rename html-to-mfm to fromHtml

* Merge plainParser into mfm

* Extract parsePlain function

* Rename analyze to parse in MFM tests

* Update @types/mongodb requirement from 3.1.18 to 3.1.19 (#4041)

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>

* Update vue-svg-inline-loader requirement from 1.2.7 to 1.2.10 (#4040)

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.10)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Avoid export default

* Rename parser to language

* Fix import

* Introduce silence (#4043)

* Introduce silence

* Fix icon

* delete unnecessary key (#4045)

* delete unnecessary key

* Add note

* Update CHANGELOG.md

* [ActivityPub] Use microformats on mentions

To avoid pointless link previews.
see: https://misskey.xyz/notes/5c51ab5c2d85f2003248eddc

* Create type definition for '*/package.json' (#4014)

* Create type definition for '*/package.json'

* Update tsconfig.json

* Update index.ts

* Create type definition for 'is-root' (#4001)

* Update @types/sharp requirement from 0.21.0 to 0.21.1

Updates the requirements on [@types/sharp](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>

* Add multiline math syntax

Co-authored-by: syuilo <syuilotan@yahoo.co.jp>

* 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)

* Create type definition for 'is-root'

* [MFM] Add spin syntax

Resolve #4003

* [MFM] Add flip syntax

Resolve #4002

* Fix test

* Update CHANGELOG.md

* 10.79.0

* Update @fortawesome/free-regular-svg-icons requirement (#3963)

Updates the requirements on [@fortawesome/free-regular-svg-icons](https://github.com/FortAwesome/Font-Awesome) to permit the latest version.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/commits/5.6.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Update @types/webpack requirement from 4.4.21 to 4.4.24 (#3976)

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>

* Update @types/js-yaml requirement from 3.11.4 to 3.12.0 (#3977)

Updates the requirements on [@types/js-yaml](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>

* Update debug requirement from 4.1.0 to 4.1.1 (#3964)

Updates the requirements on [debug](https://github.com/visionmedia/debug) to permit the latest version.
- [Release notes](https://github.com/visionmedia/debug/releases)
- [Commits](https://github.com/visionmedia/debug/commits/4.1.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (French)

* [MFM] spinの中でflipを使えるように

* Add jump syntax (#4007)

* Add jump syntax

* Fix typo: spin -> jump

* Fix typo

* [MFM] Resolve #4009

* Module 'nprogress' as import syntax (#4012)

* 🎨

* [Client] Fix #4008

* Use yarn instead of npm on CircleCI

* touch yarn.lock

* [Client] Resolve #3638

* 10.79.1

* New translations ja-JP.yml (Korean)

* Add missing semicolon

* Remove file-loader from dependencies (#4025)

* Update README.md [AUTOGEN] (#4028)

* Update README.md [AUTOGEN] (#4030)

* Add visibility test (#4029)

* Update ws requirement from 6.1.2 to 6.1.3 (#4027)

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.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Module 'web-push' as import syntax (#4017)

* Fix visibility test (#4031)

* Upgrade gulp version to 4.0.0

* Prevent typescript errors from crashing

* Remove duplicated dependencies

* Use parallel and task to specify dependencies

* Sort tasks by topological ordering

* リプライ/メンションされていれば非フォロワーへのフォロワー限定でも参照可能に (#4033)

* 非メンション/リプライ投稿がmentionsにあるかどうかはvisibilityと関係ないので削除

* リプライ/メンションされていれば非フォロワーでも参照可能に

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

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

* Fix #4034 (#4037)

* Fix #4034

* improve

* Module 'crypto' as import syntax (#4011)

* Extract MFM normalize function

* Extract MFM types

* Rename html to toHtml

* Rename html-to-mfm to fromHtml

* Merge plainParser into mfm

* Extract parsePlain function

* Rename analyze to parse in MFM tests

* Update @types/mongodb requirement from 3.1.18 to 3.1.19 (#4041)

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>

* Update vue-svg-inline-loader requirement from 1.2.7 to 1.2.10 (#4040)

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.10)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Avoid export default

* Rename parser to language

* Fix import

* Introduce silence (#4043)

* Introduce silence

* Fix icon

* Update is-root.d.ts

* Update index.ts

* Create type definition for 'is-root'

* Update is-root.d.ts

* Update index.ts

* Fix path

refs: 7e3a8d56e6

* Re-fix path

refs: 4bb4903ee5, 7e3a8d56e6

*  Do not import as pack from AP renderer  (#4048)

* Do not import as pack from AP renderer

* rename

* Simplify MFM (#4046)

* [MFM] Make some syntax block

Resolve #3508

* [MFM] Better syntax parsing

Allow nesting by same tag

* [Client] MFMの制限を緩和

* 🎨

* Update CHANGELOG.md

* 10.80.0

* Update is-url.d.ts
2019-02-03 22:21:36 +09:00
b4859be098 Improve log readability 2019-02-03 21:42:52 +09:00
df54da9510 Fix type declaretion 2019-02-03 20:32:46 +09:00
b97f788d71 Display version in logo 2019-02-03 20:31:35 +09:00
edd1baa9f4 🎨 2019-02-03 20:23:53 +09:00
4a23ebe534 Refactoring 2019-02-03 20:10:20 +09:00
64c1075b06 Remember the media playback volume (#4089)
* Remember the media playback volume

* fix
2019-02-03 19:33:23 +09:00
217e4ee39c New translations ja-JP.yml (Korean) (#4110) 2019-02-03 19:13:56 +09:00
7e2a7cdff8 Update README.md [AUTOGEN] (#4111) 2019-02-03 19:13:41 +09:00
e1fb4f23f0 10.81.0 2019-02-03 18:41:41 +09:00
452fb8e496 Improve usability 2019-02-03 18:40:50 +09:00
6758b0f133 Update Dockerfile (#4090)
* Update Dockerfile

* Fix indent
2019-02-03 18:30:47 +09:00
35e509850f Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-03 18:17:05 +09:00
0868c3517f Use internal logger instead of debug/console for logging
Resolve #4104
Resolve #1966
Resolve #1937
2019-02-03 18:16:57 +09:00
1cd839215b Fix typo 2019-02-03 18:03:58 +09:00
42be09ad33 Fix typo 2019-02-03 18:01:09 +09:00
bcb7ee8d2a Hotfix build fails
refs: https://github.com/vuejs/vue-cli/issues/3407#issuecomment-459985313
2019-02-03 18:00:56 +09:00
3a5867b324 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-03 17:14:02 +09:00
efe2a6be14 Better logging 2019-02-03 17:09:16 +09:00
11f30b0444 Use yarn instead of npm 2019-02-03 16:57:36 +09:00
75558add17 Better logging 2019-02-03 16:45:13 +09:00
ca91709801 Revert "Revert "Merge pull request #4098 from syuilo/dependabot/npm_and_yarn/@fortawesome/fontawesome-svg-core-1.2.14""
This reverts commit 45b905df6a.
2019-02-03 14:55:58 +09:00
45b905df6a Revert "Merge pull request #4098 from syuilo/dependabot/npm_and_yarn/@fortawesome/fontawesome-svg-core-1.2.14"
This reverts commit 7f6bb75f95, reversing
changes made to cefecd7903.
2019-02-03 14:49:41 +09:00
32a0cd4b13 Display Misskey logo when misskey launched 🎨 2019-02-03 14:05:01 +09:00
0b2571858f More logs 2019-02-03 13:52:21 +09:00
08eb3851da Merge branches 'develop' and 'develop' of https://github.com/syuilo/misskey into develop 2019-02-03 13:51:32 +09:00
0bd0fb9fbf Include worker information for each logs 2019-02-03 13:51:24 +09:00
9beab05a30 Make more importance for env log 2019-02-03 13:51:00 +09:00
3b3ef20e0a New Crowdin translations (#4105)
* New translations ja-JP.yml (French)

* New translations ja-JP.yml (French)

* 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)
2019-02-03 13:22:39 +09:00
3441acf56c Improve usability 2019-02-03 05:06:23 +09:00
189f9f6592 Close #4093 2019-02-03 04:50:40 +09:00
6071fc7077 Better log 2019-02-03 04:43:43 +09:00
2f215ea34c Use is syntax (#4079) 2019-02-03 04:31:03 +09:00
c44c777976 Update CHANGELOG.md 2019-02-03 04:27:45 +09:00
7d2f0a1f31 Fix: URLプレビューのthumbnailで()を含むURLを提示されると表示できない (#4103)
* Fix: URLプレビューのthumbnailで()を含むURLを提示されると表示できない

* remove debug
2019-02-03 04:26:58 +09:00
15eca04bc4 🎨 2019-02-03 04:20:35 +09:00
238c6a428b [Server] Use logger for logging 2019-02-03 04:18:27 +09:00
110eeb89f1 Clean up 2019-02-03 04:18:09 +09:00
278e43e9ba [Server] Use logger for logging 2019-02-03 04:04:57 +09:00
d55277e57e Better logging 2019-02-03 02:01:06 +09:00
f53a93ea13 Better logger 2019-02-03 01:39:42 +09:00
a3e37294e5 Better logs 2019-02-03 01:33:34 +09:00
05baa89508 Refactoring of logger 2019-02-03 01:24:59 +09:00
80aa45372a Better logger 2019-02-03 01:20:21 +09:00
a91f95451a Fix logger 2019-02-03 01:07:14 +09:00
122ef23e0f Remove unnecessary log 2019-02-03 01:04:38 +09:00
cd9d67389a Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-03 01:01:54 +09:00
52d6ec2138 Refatoring of logger 2019-02-03 01:01:40 +09:00
a5725c1d04 Merge pull request #4102 from syuilo/dependabot/npm_and_yarn/gulp-imagemin-5.0.3 2019-02-02 15:59:21 +00:00
db8ad3c035 Merge pull request #4101 from syuilo/dependabot/npm_and_yarn/vue-i18n-8.8.0 2019-02-02 15:56:02 +00:00
a0957f2e50 Merge pull request #4100 from syuilo/dependabot/npm_and_yarn/systeminformation-3.54.0 2019-02-02 15:47:56 +00:00
301b8f5e13 Update elasticsearch requirement from 15.3.0 to 15.3.1 (#4085)
Updates the requirements on [elasticsearch](https://github.com/elastic/elasticsearch-js) to permit the latest version.
- [Release notes](https://github.com/elastic/elasticsearch-js/releases)
- [Changelog](https://github.com/elastic/elasticsearch-js/blob/v15.3.1/docs/changelog.asciidoc)
- [Commits](https://github.com/elastic/elasticsearch-js/commits/v15.3.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-03 00:45:18 +09:00
7f6bb75f95 Merge pull request #4098 from syuilo/dependabot/npm_and_yarn/@fortawesome/fontawesome-svg-core-1.2.14 2019-02-02 15:44:00 +00:00
9be47df10e Update gulp-imagemin requirement from 4.1.0 to 5.0.3
Updates the requirements on [gulp-imagemin](https://github.com/sindresorhus/gulp-imagemin) to permit the latest version.
- [Release notes](https://github.com/sindresorhus/gulp-imagemin/releases)
- [Commits](https://github.com/sindresorhus/gulp-imagemin/commits/v5.0.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-02 15:40:08 +00:00
bec014da4a Update vue-i18n requirement from 8.7.0 to 8.8.0
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.8.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-02 15:39:47 +00:00
cefecd7903 Update cafy requirement from 12.0.0 to 12.1.0 (#4099)
Updates the requirements on [cafy](https://github.com/syuilo/cafy) to permit the latest version.
- [Release notes](https://github.com/syuilo/cafy/releases)
- [Changelog](https://github.com/syuilo/cafy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/syuilo/cafy/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-03 00:35:30 +09:00
52cb043185 Update sharp requirement from 0.21.1 to 0.21.3 (#4097)
Updates the requirements on [sharp](https://github.com/lovell/sharp) to permit the latest version.
- [Release notes](https://github.com/lovell/sharp/releases)
- [Changelog](https://github.com/lovell/sharp/blob/master/docs/changelog.md)
- [Commits](https://github.com/lovell/sharp/commits/v0.21.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-03 00:35:03 +09:00
3a440dd116 Update systeminformation requirement from 3.52.2 to 3.54.0
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>
2019-02-02 15:33:49 +00:00
8ae1039c77 Update @fortawesome/fontawesome-svg-core requirement
Updates the requirements on [@fortawesome/fontawesome-svg-core](https://github.com/FortAwesome/Font-Awesome) to permit the latest version.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-02 15:30:23 +00:00
190eb0601f New Crowdin translations (#4096)
* 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)
2019-02-03 00:15:50 +09:00
84931003ea Fix video thumbnails (#4095)
* Fix video thumbnails

* Fix import
2019-02-02 23:30:34 +09:00
2b0cb6d728 [Client] Resolve #3226 2019-02-02 23:20:40 +09:00
4ea7e711ce [Client] Improve usability
Resolve #4094
2019-02-02 22:59:11 +09:00
2a50997a75 Fallback en-US 2019-02-02 16:16:31 +09:00
d692d531d1 Fix indent 2019-02-02 13:57:26 +09:00
e325410649 [Server] Remove unnecessarily property 2019-02-02 13:50:41 +09:00
eea2b97ae5 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-02 13:47:26 +09:00
6b53e9ed29 [Client] Fix #4086 2019-02-02 13:47:12 +09:00
9ae3e7bdab New translations ja-JP.yml (Chinese Simplified) (#4087) 2019-02-02 13:42:34 +09:00
3905129eae New Crowdin translations (#4044)
* 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 (Polish)

* New translations ja-JP.yml (Polish)

* 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 (Korean)

* 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 (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 (Korean)

* New translations ja-JP.yml (English)

* 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 (English)

* 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)
2019-02-02 13:39:48 +09:00
6b4e417cc7 Update CHANGELOG.md 2019-02-02 13:24:41 +09:00
3040700005 Generate video thumbnails (#4084)
* Generate video thumbnails

* import order
2019-02-02 13:22:09 +09:00
170b1bb4cc Downgrade webpack to avoid build error
See https://github.com/webpack/webpack/issues/8656
2019-02-02 02:00:00 +09:00
da1a238be3 Create new type definition for 'ms' (#4057)
* Create new type definition for 'ms'

* Follow lint
2019-02-02 00:16:27 +09:00
9c106022ae Fix #3871 (#4082) 2019-02-01 21:37:34 +09:00
bab1dc1d97 Create type definition for 'koa-json-body' (#4056)
* Create type definition for 'koa-json-body'

* Follow lint
2019-02-01 21:08:58 +09:00
3b30ad5404 Create type definition for 'nested-property' (#4004)
* Create type definition for 'nested-property'

* Follow lint
2019-02-01 21:08:49 +09:00
27268fd6b7 Update @fortawesome/free-regular-svg-icons requirement (#4076)
Updates the requirements on [@fortawesome/free-regular-svg-icons](https://github.com/FortAwesome/Font-Awesome) to permit the latest version.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/commits/5.7.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-01 20:03:11 +09:00
00f9c824d1 リモートの外部サービス認証情報を表示する (#4047)
* Update user.vue

* Update ja-JP.yml

* Fix path

refs: 7e3a8d56e6

* Update user.vue

* Update ja-JP.yml

* Re-fix path

refs: 4bb4903ee5, 7e3a8d56e6

* Update user.vue

* Update ja-JP.yml

* Update ja-JP.yml

* Fix sentence a little
2019-02-01 20:02:10 +09:00
40e177fa96 Create type definition for 'http-signature' (#4049)
* Create type definition for 'http-signature'

* Follow lint
2019-02-01 19:59:12 +09:00
2f72c38516 Create type definition for 'deepcopy' (#4000) 2019-02-01 19:56:16 +09:00
2dc4696b0a Module '@koa/cors' as import syntax (#4060) 2019-02-01 19:46:18 +09:00
723d5baed5 Module 'parse5' as import syntax (#4015) 2019-02-01 19:41:13 +09:00
341838b502 Update webpack requirement from 4.28.4 to 4.29.0 (#4077)
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.29.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-01 12:17:15 +09:00
72efa278b3 Update CHANGELOG.md 2019-02-01 10:02:02 +09:00
5fe9f2baee Improve performance 2019-02-01 10:00:36 +09:00
c7ebf6f990 Hide suspended users (#4075) 2019-02-01 09:57:51 +09:00
9bf9519b8f Fix path 2019-02-01 00:17:15 +09:00
6c57690359 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-02-01 00:09:36 +09:00
3a03010ee2 Refactoring 2019-02-01 00:09:28 +09:00
ba4dcc40da Create type definition for '*/meta.json' (#4073) 2019-02-01 00:00:54 +09:00
1b0601b421 Update CHANGELOG.md 2019-01-31 23:53:20 +09:00
e2bf0067b2 Module 'request-stats' as import syntax (#4071) 2019-01-31 23:46:15 +09:00
6d004fde7c Module 'uuid' as import syntax (#4070) 2019-01-31 23:45:12 +09:00
f35547f3b8 API modules as import syntax (#4069) 2019-01-31 23:32:58 +09:00
c34a278533 おすすめのアンケートでミュートユーザーのものは表示しない (#4067) 2019-01-31 23:14:45 +09:00
6d3408ae73 [Client] Add information 2019-01-31 20:55:40 +09:00
a6e7bbc306 send/receive user hashtags via AP (#4064) 2019-01-31 20:42:45 +09:00
d140548784 Update @types/koa-router requirement from 7.0.38 to 7.0.39 (#4052)
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>
2019-01-31 17:54:19 +09:00
76569bfb08 Create type definition for 'lookup-dns-cache' (#4051) 2019-01-31 17:53:49 +09:00
bbcdf1bb8a Create type definition for 'promise-any' (#4055) 2019-01-31 17:52:27 +09:00
6439a6c63f Create type definition for 'webfinger.js' (#4054) 2019-01-31 17:52:17 +09:00
76fe1c21c3 Update gulp-yaml requirement from 2.0.2 to 2.0.3 (#4053)
Updates the requirements on [gulp-yaml](https://github.com/crissdev/gulp-yaml) to permit the latest version.
- [Release notes](https://github.com/crissdev/gulp-yaml/releases)
- [Changelog](https://github.com/crissdev/gulp-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crissdev/gulp-yaml/commits/2.0.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-31 17:46:42 +09:00
4f99b98ed8 Revert b515cc90e9 2019-01-31 17:42:36 +09:00
7cb38f5525 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-31 17:38:24 +09:00
734277d9f6 [Server] Resolve #4062 2019-01-31 17:37:57 +09:00
960d4e2e7b Close #3380 (#4061)
* Delete index.ts

* Delete emoji.ts

* Update index.ts
2019-01-31 17:30:56 +09:00
33eb91c0f0 [Test] Disable some tests temporary 2019-01-31 17:15:14 +09:00
6f1e47f0b3 [Test] Better tests 2019-01-31 15:19:59 +09:00
0a8488a78c Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-31 15:10:33 +09:00
57ab640221 Fix typo 2019-01-31 15:10:27 +09:00
3c4682782c Add 'src/@types' to typeRoots 2019-01-31 14:40:06 +09:00
dc820ffba6 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-31 14:31:31 +09:00
e4c745bccd [Test] Add MFM test 2019-01-31 14:31:25 +09:00
a05c94437c Make type definition for 'is-root' better 2019-01-31 13:42:13 +09:00
fdcc994291 10.80.0 2019-01-31 12:27:44 +09:00
f54363076c Update CHANGELOG.md 2019-01-31 12:26:56 +09:00
ec016e5a95 🎨 2019-01-31 12:24:21 +09:00
bbdb2496a4 [Client] MFMの制限を緩和 2019-01-31 12:24:14 +09:00
b515cc90e9 [MFM] Better syntax parsing
Allow nesting by same tag
2019-01-31 12:23:45 +09:00
bb92158dff [MFM] Make some syntax block
Resolve #3508
2019-01-31 12:10:48 +09:00
c652add16a Simplify MFM (#4046) 2019-01-31 12:06:13 +09:00
b8a7468c4a Do not import as pack from AP renderer (#4048)
* Do not import as pack from AP renderer

* rename
2019-01-31 02:29:35 +09:00
e220ef3e75 Re-fix path
refs: 4bb4903ee5, 7e3a8d56e6
2019-01-31 01:38:52 +09:00
4bb4903ee5 Fix path
refs: 7e3a8d56e6
2019-01-31 01:26:11 +09:00
9487840ae3 Create type definition for 'is-root' (#4001)
* Update @types/sharp requirement from 0.21.0 to 0.21.1

Updates the requirements on [@types/sharp](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>

* Add multiline math syntax

Co-authored-by: syuilo <syuilotan@yahoo.co.jp>

* 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)

* Create type definition for 'is-root'

* [MFM] Add spin syntax

Resolve #4003

* [MFM] Add flip syntax

Resolve #4002

* Fix test

* Update CHANGELOG.md

* 10.79.0

* Update @fortawesome/free-regular-svg-icons requirement (#3963)

Updates the requirements on [@fortawesome/free-regular-svg-icons](https://github.com/FortAwesome/Font-Awesome) to permit the latest version.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/commits/5.6.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Update @types/webpack requirement from 4.4.21 to 4.4.24 (#3976)

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>

* Update @types/js-yaml requirement from 3.11.4 to 3.12.0 (#3977)

Updates the requirements on [@types/js-yaml](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>

* Update debug requirement from 4.1.0 to 4.1.1 (#3964)

Updates the requirements on [debug](https://github.com/visionmedia/debug) to permit the latest version.
- [Release notes](https://github.com/visionmedia/debug/releases)
- [Commits](https://github.com/visionmedia/debug/commits/4.1.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (Korean)

* New translations ja-JP.yml (French)

* [MFM] spinの中でflipを使えるように

* Add jump syntax (#4007)

* Add jump syntax

* Fix typo: spin -> jump

* Fix typo

* [MFM] Resolve #4009

* Module 'nprogress' as import syntax (#4012)

* 🎨

* [Client] Fix #4008

* Use yarn instead of npm on CircleCI

* touch yarn.lock

* [Client] Resolve #3638

* 10.79.1

* New translations ja-JP.yml (Korean)

* Add missing semicolon

* Remove file-loader from dependencies (#4025)

* Update README.md [AUTOGEN] (#4028)

* Update README.md [AUTOGEN] (#4030)

* Add visibility test (#4029)

* Update ws requirement from 6.1.2 to 6.1.3 (#4027)

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.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Module 'web-push' as import syntax (#4017)

* Fix visibility test (#4031)

* Upgrade gulp version to 4.0.0

* Prevent typescript errors from crashing

* Remove duplicated dependencies

* Use parallel and task to specify dependencies

* Sort tasks by topological ordering

* リプライ/メンションされていれば非フォロワーへのフォロワー限定でも参照可能に (#4033)

* 非メンション/リプライ投稿がmentionsにあるかどうかはvisibilityと関係ないので削除

* リプライ/メンションされていれば非フォロワーでも参照可能に

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

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

* Fix #4034 (#4037)

* Fix #4034

* improve

* Module 'crypto' as import syntax (#4011)

* Extract MFM normalize function

* Extract MFM types

* Rename html to toHtml

* Rename html-to-mfm to fromHtml

* Merge plainParser into mfm

* Extract parsePlain function

* Rename analyze to parse in MFM tests

* Update @types/mongodb requirement from 3.1.18 to 3.1.19 (#4041)

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>

* Update vue-svg-inline-loader requirement from 1.2.7 to 1.2.10 (#4040)

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.10)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Avoid export default

* Rename parser to language

* Fix import

* Introduce silence (#4043)

* Introduce silence

* Fix icon

* Update is-root.d.ts

* Update index.ts

* Create type definition for 'is-root'

* Update is-root.d.ts

* Update index.ts
2019-01-31 01:09:52 +09:00
7e3a8d56e6 Update index.ts 2019-01-31 01:09:36 +09:00
e909eac296 Create type definition for '*/package.json' (#4014)
* Create type definition for '*/package.json'

* Update tsconfig.json
2019-01-31 01:08:43 +09:00
8dc7f28744 [ActivityPub] Use microformats on mentions
To avoid pointless link previews.
see: https://misskey.xyz/notes/5c51ab5c2d85f2003248eddc
2019-01-30 22:57:32 +09:00
a4b1e8ca26 Update CHANGELOG.md 2019-01-30 22:44:36 +09:00
79b0cc6785 delete unnecessary key (#4045)
* delete unnecessary key

* Add note
2019-01-30 21:31:45 +09:00
00b134ce1e Introduce silence (#4043)
* Introduce silence

* Fix icon
2019-01-30 17:25:56 +09:00
b3fc4dc00f Fix import 2019-01-30 17:15:12 +09:00
d06fbbe3ea Rename parser to language 2019-01-30 17:04:49 +09:00
28bfb45426 Avoid export default 2019-01-30 16:56:27 +09:00
1c60a49c96 Update vue-svg-inline-loader requirement from 1.2.7 to 1.2.10 (#4040)
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.10)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-30 16:06:45 +09:00
3ae8ff083b Update @types/mongodb requirement from 3.1.18 to 3.1.19 (#4041)
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>
2019-01-30 16:06:28 +09:00
c12ccb2a15 Rename analyze to parse in MFM tests 2019-01-30 15:30:05 +09:00
e3b1d00e4c Extract parsePlain function 2019-01-30 15:27:54 +09:00
98795aad9a Merge plainParser into mfm 2019-01-30 15:12:48 +09:00
ca26edbfce Rename html-to-mfm to fromHtml 2019-01-30 15:00:05 +09:00
3058e8f354 Rename html to toHtml 2019-01-30 14:57:13 +09:00
4c9b66b0f0 Extract MFM types 2019-01-30 14:51:30 +09:00
6eb9ba31bf Extract MFM normalize function 2019-01-30 14:21:36 +09:00
5bbf4187e6 Module 'crypto' as import syntax (#4011) 2019-01-30 11:51:29 +09:00
f2425f71c2 Merge pull request #4020 from syuilo/l10n_develop
New Crowdin translations
2019-01-30 11:50:55 +09:00
b0e00da2f7 Fix #4034 (#4037)
* Fix #4034

* improve
2019-01-29 20:33:28 +09:00
215472cd17 New translations ja-JP.yml (Chinese Simplified) 2019-01-29 18:33:13 +09:00
072fd4455e New translations ja-JP.yml (Chinese Simplified) 2019-01-29 18:22:34 +09:00
2ed9e26a4f リプライ/メンションされていれば非フォロワーへのフォロワー限定でも参照可能に (#4033)
* 非メンション/リプライ投稿がmentionsにあるかどうかはvisibilityと関係ないので削除

* リプライ/メンションされていれば非フォロワーでも参照可能に
2019-01-29 17:34:43 +09:00
8a3e26cdb8 Sort tasks by topological ordering 2019-01-29 17:10:16 +09:00
7301671962 Use parallel and task to specify dependencies 2019-01-29 17:10:16 +09:00
0d0f25818e Remove duplicated dependencies 2019-01-29 17:10:16 +09:00
7850d68dc2 Prevent typescript errors from crashing 2019-01-29 17:10:16 +09:00
f0f5b32300 Upgrade gulp version to 4.0.0 2019-01-29 17:10:16 +09:00
1ca0976e85 Fix visibility test (#4031) 2019-01-29 15:16:11 +09:00
7fbfd17896 Module 'web-push' as import syntax (#4017) 2019-01-29 14:36:24 +09:00
3d04f7db62 Update ws requirement from 6.1.2 to 6.1.3 (#4027)
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.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-29 14:35:34 +09:00
e301630c9d Add visibility test (#4029) 2019-01-29 13:46:24 +09:00
afbccaae41 Update README.md [AUTOGEN] (#4030) 2019-01-29 13:42:28 +09:00
893c01c207 Update README.md [AUTOGEN] (#4028) 2019-01-29 05:55:21 +09:00
41c80097ce Remove file-loader from dependencies (#4025) 2019-01-28 18:04:30 +09:00
250933fff3 Add missing semicolon 2019-01-28 17:49:20 +09:00
bc9454f67c New translations ja-JP.yml (Korean) 2019-01-28 00:51:55 +09:00
377a7fdf3e 10.79.1 2019-01-27 23:25:20 +09:00
645f661911 [Client] Resolve #3638 2019-01-27 22:04:50 +09:00
db7c83c8ff touch yarn.lock 2019-01-27 20:19:24 +09:00
97385db5b5 Use yarn instead of npm on CircleCI 2019-01-27 20:13:06 +09:00
c69d57a064 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-27 20:09:03 +09:00
a488d6e2d6 [Client] Fix #4008 2019-01-27 20:05:03 +09:00
85e8b1fbf4 🎨 2019-01-27 20:03:58 +09:00
78763116c3 Module 'nprogress' as import syntax (#4012) 2019-01-27 19:41:41 +09:00
103fe8b91d [MFM] Resolve #4009 2019-01-27 19:32:35 +09:00
311e67047d Merge pull request #3998 from syuilo/l10n_develop
New Crowdin translations
2019-01-27 19:14:49 +09:00
62d41023e1 Add jump syntax (#4007)
* Add jump syntax

* Fix typo: spin -> jump

* Fix typo
2019-01-27 19:12:45 +09:00
5fac7c1718 [MFM] spinの中でflipを使えるように 2019-01-27 19:12:08 +09:00
ade01139ca New translations ja-JP.yml (French) 2019-01-27 17:54:13 +09:00
5ea8e9c787 New translations ja-JP.yml (Korean) 2019-01-27 17:01:41 +09:00
e5cfdbf372 New translations ja-JP.yml (Korean) 2019-01-27 16:51:42 +09:00
d2cc5c3b63 Update debug requirement from 4.1.0 to 4.1.1 (#3964)
Updates the requirements on [debug](https://github.com/visionmedia/debug) to permit the latest version.
- [Release notes](https://github.com/visionmedia/debug/releases)
- [Commits](https://github.com/visionmedia/debug/commits/4.1.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-27 16:46:41 +09:00
7cdd90db09 Update @types/sharp requirement from 0.21.0 to 0.21.1 (#3982)
Updates the requirements on [@types/sharp](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>
2019-01-27 16:46:11 +09:00
aad1b8c12e Update @types/js-yaml requirement from 3.11.4 to 3.12.0 (#3977)
Updates the requirements on [@types/js-yaml](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>
2019-01-27 16:45:55 +09:00
2519abdd39 Update @types/webpack requirement from 4.4.21 to 4.4.24 (#3976)
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>
2019-01-27 16:45:48 +09:00
e8d0568a11 Update @fortawesome/free-regular-svg-icons requirement (#3963)
Updates the requirements on [@fortawesome/free-regular-svg-icons](https://github.com/FortAwesome/Font-Awesome) to permit the latest version.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/commits/5.6.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-27 16:45:36 +09:00
031287aebd 10.79.0 2019-01-27 16:43:50 +09:00
b24de13a37 Update CHANGELOG.md 2019-01-27 16:43:06 +09:00
c113fdc20e Merge pull request #3987 from syuilo/math-block
複数行用の数式構文を追加
2019-01-27 16:41:49 +09:00
1af1638e2b Merge branch 'develop' into math-block 2019-01-27 16:41:30 +09:00
8c62aafa97 Fix test 2019-01-27 16:36:01 +09:00
4de62220e3 [MFM] Add flip syntax
Resolve #4002
2019-01-27 16:31:00 +09:00
e5d9381503 [MFM] Add spin syntax
Resolve #4003
2019-01-27 16:18:04 +09:00
5621113d1f New translations ja-JP.yml (English) 2019-01-27 15:02:03 +09:00
d906d90010 [Server] Introduce admin stream channel 2019-01-27 14:55:02 +09:00
b836528b51 Celan up 2019-01-27 14:44:39 +09:00
4b191c7f68 [Client] Improve syntax highlighting
Resolve #3926
Resolve #3390
2019-01-27 14:34:52 +09:00
f9f70d5df4 Clean up 2019-01-27 14:30:57 +09:00
50b809784f Improve readability and some cleanups 2019-01-27 13:55:11 +09:00
54ce19bd56 Update parser.ts (#3999)
* Update parser.ts

* Update parser.ts

* Update parser.ts
2019-01-27 13:50:47 +09:00
71210595d2 [Test] Add a MFM test 2019-01-27 13:48:56 +09:00
085325e65f [MFM] Improve title syntax detection 2019-01-27 13:40:38 +09:00
e4c0c8869e New translations ja-JP.yml (Norwegian) 2019-01-27 13:33:03 +09:00
405f98d6d1 New translations ja-JP.yml (Dutch) 2019-01-27 13:32:58 +09:00
870ab3d3b6 New translations ja-JP.yml (Japanese, Kansai) 2019-01-27 13:32:54 +09:00
9ac2913afc New translations ja-JP.yml (Spanish) 2019-01-27 13:32:50 +09:00
171651484a New translations ja-JP.yml (Russian) 2019-01-27 13:32:45 +09:00
bfadb4026d New translations ja-JP.yml (Portuguese) 2019-01-27 13:32:40 +09:00
3940a9a447 New translations ja-JP.yml (Polish) 2019-01-27 13:32:34 +09:00
714446fb46 New translations ja-JP.yml (Korean) 2019-01-27 13:32:27 +09:00
e806f33f9f New translations ja-JP.yml (Italian) 2019-01-27 13:32:23 +09:00
65ee1711e5 New translations ja-JP.yml (German) 2019-01-27 13:32:16 +09:00
ef92578555 New translations ja-JP.yml (French) 2019-01-27 13:32:11 +09:00
0352fd0acd New translations ja-JP.yml (English) 2019-01-27 13:32:07 +09:00
fffce73d3e New translations ja-JP.yml (Chinese Simplified) 2019-01-27 13:32:03 +09:00
717f66b4a6 New translations ja-JP.yml (Catalan) 2019-01-27 13:31:58 +09:00
7dcea49be7 Refactoring 2019-01-27 13:29:53 +09:00
7c91915e50 Merge pull request #3997 from syuilo/l10n_develop
New Crowdin translations
2019-01-27 13:12:00 +09:00
895e80d794 New translations ja-JP.yml (French) 2019-01-27 13:11:47 +09:00
be5714a9f1 Update qrcode requirement from 1.3.2 to 1.3.3 (#3988)
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)
- [Changelog](https://github.com/soldair/node-qrcode/blob/master/CHANGELOG.md)
- [Commits](https://github.com/soldair/node-qrcode/commits/v1.3.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-27 12:36:47 +09:00
1ba8374292 Merge pull request #3983 from syuilo/l10n_develop
New Crowdin translations
2019-01-27 10:59:28 +09:00
94154a1aa2 テーマによってコードが見づらいのを少し改善 (#3993) 2019-01-26 21:10:25 +09:00
5ae576bad1 🎨 2019-01-26 20:59:14 +09:00
f9e6c84d00 New translations ja-JP.yml (English) 2019-01-26 19:22:23 +09:00
3ab5d2e0e1 New translations ja-JP.yml (Norwegian) 2019-01-26 18:04:03 +09:00
b8f60527f6 New translations ja-JP.yml (Dutch) 2019-01-26 18:03:57 +09:00
a83c3557fc New translations ja-JP.yml (Japanese, Kansai) 2019-01-26 18:03:50 +09:00
a45abf858f New translations ja-JP.yml (Spanish) 2019-01-26 18:03:45 +09:00
a82eeb7e92 New translations ja-JP.yml (Russian) 2019-01-26 18:03:39 +09:00
3781f07c49 New translations ja-JP.yml (Portuguese) 2019-01-26 18:03:35 +09:00
990bc976de New translations ja-JP.yml (Polish) 2019-01-26 18:03:30 +09:00
ff2fc2267d New translations ja-JP.yml (Korean) 2019-01-26 18:03:26 +09:00
ec50240a03 New translations ja-JP.yml (Italian) 2019-01-26 18:03:21 +09:00
bf00b59339 New translations ja-JP.yml (German) 2019-01-26 18:03:17 +09:00
456b01590b New translations ja-JP.yml (French) 2019-01-26 18:03:13 +09:00
5eeec0becb New translations ja-JP.yml (English) 2019-01-26 18:03:08 +09:00
e5fcb2aea0 New translations ja-JP.yml (Chinese Simplified) 2019-01-26 18:03:03 +09:00
d717b1d404 New translations ja-JP.yml (Catalan) 2019-01-26 18:02:59 +09:00
2334b41375 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-26 17:54:09 +09:00
6f6974a6ae Update CHANGELOG.md 2019-01-26 17:54:00 +09:00
0854f2e180 管理画面からリモートユーザー情報を更新できるように (#3992) 2019-01-26 17:53:35 +09:00
a0f8c7e94e Resolve #2253 2019-01-26 17:47:56 +09:00
1f5e3040ed New translations ja-JP.yml (Norwegian) 2019-01-26 17:23:40 +09:00
6128e62751 New translations ja-JP.yml (Dutch) 2019-01-26 17:23:36 +09:00
7c6088b2b4 New translations ja-JP.yml (Japanese, Kansai) 2019-01-26 17:23:32 +09:00
9450e567c6 New translations ja-JP.yml (Spanish) 2019-01-26 17:23:27 +09:00
c9c2e36540 New translations ja-JP.yml (Russian) 2019-01-26 17:23:22 +09:00
fbfd3a60ed New translations ja-JP.yml (Portuguese) 2019-01-26 17:23:18 +09:00
9b386fd50e New translations ja-JP.yml (Polish) 2019-01-26 17:23:14 +09:00
db5a404081 New translations ja-JP.yml (Korean) 2019-01-26 17:23:09 +09:00
3bffe605f7 New translations ja-JP.yml (Italian) 2019-01-26 17:23:02 +09:00
4e92eb55cd New translations ja-JP.yml (German) 2019-01-26 17:22:57 +09:00
6667ddbc26 New translations ja-JP.yml (French) 2019-01-26 17:22:50 +09:00
16e4bb7f79 New translations ja-JP.yml (English) 2019-01-26 17:22:45 +09:00
821182cad5 New translations ja-JP.yml (Chinese Simplified) 2019-01-26 17:22:41 +09:00
b3730e3373 New translations ja-JP.yml (Catalan) 2019-01-26 17:22:36 +09:00
741efa1a9a Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-26 17:14:53 +09:00
de1a7b4364 Update CHANGELOG.md 2019-01-26 17:14:43 +09:00
85cd647946 Improve moderation UI (#3989)
* admin users UI

* tune
2019-01-26 17:14:10 +09:00
da7d1938c9 [Server] Fix #3991 2019-01-26 17:11:02 +09:00
5a795c4ab2 tools/resync-remote-user で exit しないように (#3990) 2019-01-26 16:56:05 +09:00
95d4937e16 Remove whiteP and blackP from Reversi (#3736) 2019-01-26 11:30:30 +09:00
6bbc6a80b2 Update style.styl (#3986) 2019-01-26 11:26:32 +09:00
79d2374d8e Add multiline math syntax
Co-authored-by: syuilo <syuilotan@yahoo.co.jp>
2019-01-25 23:08:06 +09:00
e4601962d0 New translations ja-JP.yml (English) 2019-01-25 19:53:11 +09:00
4398651841 Refactor 2019-01-25 19:37:45 +09:00
42cd7c8a75 [MFM] Improve italic syntax detection 2019-01-25 16:41:51 +09:00
501379c82c [Test] Add sone streaming tests 2019-01-25 16:14:09 +09:00
92b45d1a9d Refactoring 2019-01-25 15:56:49 +09:00
3330c3f548 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-25 11:05:34 +09:00
3552b1c900 Update CHANGELOG.md 2019-01-25 11:05:24 +09:00
428d27a27b New translations ja-JP.yml (Spanish) 2019-01-25 11:01:47 +09:00
4f6e387d49 Update koa-views requirement from 6.1.4 to 6.1.5 (#3979)
Updates the requirements on [koa-views](https://github.com/queckezz/koa-views) to permit the latest version.
- [Release notes](https://github.com/queckezz/koa-views/releases)
- [Changelog](https://github.com/queckezz/koa-views/blob/master/history.md)
- [Commits](https://github.com/queckezz/koa-views/commits/v6.1.5)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-25 11:00:02 +09:00
01c0253c89 Merge pull request #3972 from syuilo/l10n_develop
New Crowdin translations
2019-01-25 10:59:34 +09:00
76fcf122f9 [Test] Add notes/timeline test 2019-01-25 10:58:39 +09:00
926ad23033 [Test] Add API test 2019-01-25 10:52:04 +09:00
b956d63c46 New translations ja-JP.yml (Spanish) 2019-01-25 10:11:46 +09:00
1970927b5e New translations ja-JP.yml (Spanish) 2019-01-25 08:52:43 +09:00
3995ae0957 New translations ja-JP.yml (Spanish) 2019-01-25 08:21:24 +09:00
c2a840fa19 New translations ja-JP.yml (English) 2019-01-25 08:21:20 +09:00
c7a6321a08 New translations ja-JP.yml (Spanish) 2019-01-25 08:12:04 +09:00
0c42c54b7a New translations ja-JP.yml (Spanish) 2019-01-25 08:01:47 +09:00
8b775c85f6 New translations ja-JP.yml (Spanish) 2019-01-25 07:52:46 +09:00
5c14ff661f New translations ja-JP.yml (Spanish) 2019-01-25 07:42:51 +09:00
160c1a3022 New translations ja-JP.yml (Spanish) 2019-01-25 07:22:31 +09:00
7017d3ae07 Update @types/sharp requirement from 0.21.0 to 0.21.1
Updates the requirements on [@types/sharp](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>
2019-01-24 20:28:05 +00:00
5eca0a31f7 Filter hidden replies / mentions (#3981)
* Fix: 非公開投稿が返信一覧に出てくる

* Fix: 非公開投稿がメンション一覧に出てくる

* 非公開投稿は通知/メンション通知しない

* repliesにフォロワー限定がかからなかったのを修正

* Fix: ホームにフォロワー限定投稿が表示されない

* 認証必須エンドポイントで user == null にはならない

* mentionsにフォロワー限定がかからなかったのを修正
2019-01-25 00:06:20 +09:00
44d53488e0 New translations ja-JP.yml (English) 2019-01-24 21:05:22 +09:00
d731c7da13 Update CONTRIBUTING.md 2019-01-24 19:52:00 +09:00
225544e985 Reapply the theme first (#3971)
* Reapply the theme first

* Cannot
2019-01-24 18:06:20 +09:00
e2f7e82cac 外部サービス認証情報の配信 (#3975)
* Update person.ts

* Update person.ts

* Update person.ts

* Update person.ts

* Create original model

* Make type formal

* Update person.ts

* Follow @mei23's review

refs: https://github.com/syuilo/misskey/pull/3975#pullrequestreview-195770172
2019-01-24 17:33:39 +09:00
0be7bf93d9 New translations ja-JP.yml (Chinese Simplified) 2019-01-24 11:52:03 +09:00
75f9e6bdf5 New translations ja-JP.yml (Chinese Simplified) 2019-01-24 11:26:44 +09:00
8f6ea13696 New translations ja-JP.yml (English) 2019-01-24 09:21:48 +09:00
f434b3a875 New translations ja-JP.yml (English) 2019-01-24 09:12:19 +09:00
70b980d463 New translations ja-JP.yml (Norwegian) 2019-01-23 20:54:03 +09:00
a59cf87374 New translations ja-JP.yml (Dutch) 2019-01-23 20:53:56 +09:00
c9a9d5dbfd New translations ja-JP.yml (Japanese, Kansai) 2019-01-23 20:53:51 +09:00
e0480f4e01 New translations ja-JP.yml (Spanish) 2019-01-23 20:53:45 +09:00
d8cfd8f56d New translations ja-JP.yml (Russian) 2019-01-23 20:53:38 +09:00
593d3e2d55 New translations ja-JP.yml (Portuguese) 2019-01-23 20:53:33 +09:00
a79901b441 New translations ja-JP.yml (Polish) 2019-01-23 20:53:29 +09:00
4c526f2837 New translations ja-JP.yml (Korean) 2019-01-23 20:53:24 +09:00
3c28dd92ec New translations ja-JP.yml (Italian) 2019-01-23 20:53:19 +09:00
d09af4754a New translations ja-JP.yml (German) 2019-01-23 20:53:13 +09:00
44ab6cbc39 New translations ja-JP.yml (French) 2019-01-23 20:53:09 +09:00
6c42db7589 New translations ja-JP.yml (English) 2019-01-23 20:53:04 +09:00
20dfd2faca New translations ja-JP.yml (Chinese Simplified) 2019-01-23 20:52:59 +09:00
13696a85ee New translations ja-JP.yml (Catalan) 2019-01-23 20:52:53 +09:00
4632eecb76 Back to the #3813 (#3949)
* Revert "Revert "Resolve #3813 (#3814)""

This reverts commit f433182c4c.

* Keep CW is back

* New Wave

https://github.com/syuilo/misskey/pull/3949#pullrequestreview-194787210
2019-01-23 20:43:06 +09:00
44a3df0acf Merge pull request #3965 from syuilo/l10n_develop
New Crowdin translations
2019-01-23 19:47:22 +09:00
4ab96251f5 [Client] Resolve #3967 2019-01-23 19:45:14 +09:00
b795379417 Clean up 2019-01-23 19:43:45 +09:00
aa9ba31675 Squash multiple space 2019-01-23 19:42:47 +09:00
ad66c8478a Refactoring 2019-01-23 19:33:29 +09:00
4ec64b4c57 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-23 19:25:52 +09:00
2f0b75a882 Refactoring 2019-01-23 19:25:36 +09:00
912ee60781 Update index.ts
refs: 67dacb7725
2019-01-23 16:53:07 +09:00
67dacb7725 Supress log when test 2019-01-23 14:19:03 +09:00
82f1fc6cda Fix test 2019-01-23 13:50:36 +09:00
4d24741d48 Fix test 2019-01-23 13:35:22 +09:00
931f17c589 Refactor: Separate some test files 2019-01-23 12:15:27 +09:00
ff898b4c20 Update tslint.json 2019-01-23 11:55:47 +09:00
7b507c8480 New translations ja-JP.yml (English) 2019-01-23 11:51:44 +09:00
bb688f78fc New translations ja-JP.yml (English) 2019-01-23 10:47:34 +09:00
a2a31236f6 10.78.5 2019-01-23 05:37:37 +09:00
0b191b4d0e Merge pull request #3959 from syuilo/l10n_develop
New Crowdin translations
2019-01-23 05:33:51 +09:00
2e97f29411 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-23 05:30:12 +09:00
eb1ad54427 Clean up 2019-01-23 05:30:02 +09:00
e4974392e5 🎨 2019-01-23 05:25:46 +09:00
4e0d43b45a Update progress-bar-webpack-plugin requirement from 1.11.0 to 1.12.0 (#3962)
Updates the requirements on [progress-bar-webpack-plugin](https://github.com/clessg/progress-bar-webpack-plugin) to permit the latest version.
- [Release notes](https://github.com/clessg/progress-bar-webpack-plugin/releases)
- [Commits](https://github.com/clessg/progress-bar-webpack-plugin/commits/v1.12.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-23 05:24:23 +09:00
78c185a05a [Client] Improve usability 2019-01-23 05:20:28 +09:00
fa124abbe2 Supports Twemoji / CustomEmoji in poll (#3960)
* Supports Twemoji / CustomEmoji in poll

* extract emojis in polls
2019-01-23 04:49:16 +09:00
f4fa3f031e New translations ja-JP.yml (Korean) 2019-01-22 22:43:09 +09:00
3cc7a99d0f New translations ja-JP.yml (Korean) 2019-01-22 22:34:27 +09:00
8bf9e87117 Fix types 2019-01-22 21:42:05 +09:00
97e8ac1d27 [Client] Fix bug 2019-01-22 21:32:51 +09:00
45fb2ecb3a [Client] Fix UI 2019-01-22 21:25:37 +09:00
d5e80caac8 [Server] Fix #3958 2019-01-22 21:21:47 +09:00
7ceea61170 Create CODEOWNERS (#3882)
* Create CODEOWNERS

* Update CODEOWNERS

* Update CODEOWNERS

* Update CODEOWNERS
2019-01-22 20:56:55 +09:00
a3ce65ee28 Merge pull request #3956 from syuilo/l10n_develop
New Crowdin translations
2019-01-22 20:56:10 +09:00
d6b7a048e4 Merge branches 'develop', 'develop', 'develop' and 'develop' of https://github.com/syuilo/misskey into develop 2019-01-22 18:31:16 +09:00
f7c8e31b36 Update mfm.ts 2019-01-22 18:30:58 +09:00
26c327145f [Test] Add streaming test
#3955
2019-01-22 18:30:49 +09:00
b7afd07d6a New translations ja-JP.yml (Chinese Simplified) 2019-01-22 18:11:53 +09:00
eaff52548f New translations ja-JP.yml (Chinese Simplified) 2019-01-22 17:52:48 +09:00
76828adc54 New translations ja-JP.yml (Chinese Simplified) 2019-01-22 17:42:35 +09:00
198b0b3de3 New translations ja-JP.yml (Chinese Simplified) 2019-01-22 17:34:17 +09:00
3cdee2732a New translations ja-JP.yml (Chinese Simplified) 2019-01-22 17:22:13 +09:00
27a7bb7229 New translations ja-JP.yml (Chinese Simplified) 2019-01-22 17:15:40 +09:00
cf38a6d0a0 Little english improvements (#3931)
* Little english improvements

* Revert incorrect fix
2019-01-22 16:04:37 +09:00
02c88f9b3b Merge pull request #3954 from syuilo/l10n_develop
New Crowdin translations
2019-01-22 15:35:47 +09:00
3ac1077b36 New translations ja-JP.yml (French) 2019-01-22 15:32:15 +09:00
2b4f6abc15 New translations ja-JP.yml (French) 2019-01-22 15:22:17 +09:00
7bd24348d2 New translations ja-JP.yml (French) 2019-01-22 15:11:55 +09:00
c49ae672f2 Update @types/koa-router requirement from 7.0.35 to 7.0.38 (#3951)
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>
2019-01-22 08:08:29 +09:00
2eb2cc7880 Update nodemailer requirement from 5.0.0 to 5.1.1 (#3950)
Updates the requirements on [nodemailer](https://github.com/nodemailer/nodemailer) to permit the latest version.
- [Release notes](https://github.com/nodemailer/nodemailer/releases)
- [Changelog](https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodemailer/nodemailer/commits/v5.1.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-22 08:08:21 +09:00
f2f3d4beec Update typescript requirement from 3.2.2 to 3.2.4 (#3953)
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.2.4)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-22 08:08:02 +09:00
3fd1ea900a Update vue-loader requirement from 15.4.2 to 15.5.1 (#3952)
Updates the requirements on [vue-loader](https://github.com/vuejs/vue-loader) to permit the latest version.
- [Release notes](https://github.com/vuejs/vue-loader/releases)
- [Changelog](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-loader/commits/v15.5.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-22 08:07:37 +09:00
c815d11ed2 10.78.4 2019-01-21 21:55:18 +09:00
350151ca5b Merge pull request #3945 from syuilo/l10n_develop
New Crowdin translations
2019-01-21 21:52:34 +09:00
4339f9af29 [Server] Fix #3947 2019-01-21 21:51:58 +09:00
b44227948d Add unique index
#3946
2019-01-21 21:45:11 +09:00
5dc8c8846d New translations ja-JP.yml (Norwegian) 2019-01-21 21:05:29 +09:00
e1bee8adf3 New translations ja-JP.yml (Dutch) 2019-01-21 21:05:23 +09:00
b9ef750321 New translations ja-JP.yml (Japanese, Kansai) 2019-01-21 21:05:17 +09:00
e05c0e7d37 New translations ja-JP.yml (Spanish) 2019-01-21 21:05:11 +09:00
a3eb0ddc4f New translations ja-JP.yml (Russian) 2019-01-21 21:05:04 +09:00
da6e71f2e0 New translations ja-JP.yml (Portuguese) 2019-01-21 21:04:59 +09:00
09e08e829d New translations ja-JP.yml (Polish) 2019-01-21 21:04:54 +09:00
1b78ae6290 New translations ja-JP.yml (Korean) 2019-01-21 21:04:48 +09:00
97f5ba0bc5 New translations ja-JP.yml (Italian) 2019-01-21 21:04:41 +09:00
8e29ccdc7f New translations ja-JP.yml (German) 2019-01-21 21:04:34 +09:00
4e48214068 New translations ja-JP.yml (French) 2019-01-21 21:04:28 +09:00
1bd128d507 New translations ja-JP.yml (English) 2019-01-21 21:04:24 +09:00
bfc1f8a25d New translations ja-JP.yml (Chinese Simplified) 2019-01-21 21:04:17 +09:00
6369d79aaf New translations ja-JP.yml (Catalan) 2019-01-21 21:04:12 +09:00
2df2cf0983 [Client] Fix #3321 2019-01-21 21:03:55 +09:00
c93fe423ea [API] Fix bug 2019-01-21 21:01:04 +09:00
ecac2990eb [Client] Fix bug 2019-01-21 20:56:10 +09:00
a483af1b08 10.78.3 2019-01-21 17:28:53 +09:00
01584a6bf9 Fix 404 2019-01-21 17:25:36 +09:00
443f967611 Update reversi.vue 2019-01-21 17:20:41 +09:00
bf931f2c82 🎨 2019-01-21 17:19:00 +09:00
5b32b900e4 投票未対応インスタンス向けメッセージをわかりやすくする (#3944)
* Poll message

* fix

* fix

* とりあえず日本語にしちゃう

* TODO

* fix
2019-01-21 16:34:17 +09:00
0bdcb15b3b Re: Fix routing
本当に申し訳ありませんでした。
2019-01-21 15:52:25 +09:00
1b316ab98b Update README.md [AUTOGEN] (#3943) 2019-01-21 15:46:59 +09:00
4cd79dd530 Update README.md 2019-01-21 15:40:58 +09:00
c204e0518f 10.78.2 2019-01-21 15:32:01 +09:00
129d74b463 [Server] ストリームで流れてくる投稿とAPIでタイムラインを取得したときとの不一致を修正 2019-01-21 15:31:19 +09:00
533540031b Fix comment URL 2019-01-21 15:20:44 +09:00
5ea0ccea22 Fix routing 2019-01-21 15:19:43 +09:00
d2c12af085 Fix routing 2019-01-21 15:18:42 +09:00
55368c2c38 10.78.1 2019-01-21 14:47:20 +09:00
aa020eedc3 [Client] Fix bug 2019-01-21 14:45:57 +09:00
e0874069bd [Server] リプライをタイムラインに流す以前の仕様に差し戻し
Resolve #3941
2019-01-21 14:44:49 +09:00
90c8568a3f Remove unused import 2019-01-21 13:45:58 +09:00
d7cd3a05dd 10.78.0 2019-01-21 13:33:46 +09:00
882c60ef10 Update mfm.ts 2019-01-21 13:30:30 +09:00
59c4c9a0b8 Update CHANGELOG.md 2019-01-21 13:28:44 +09:00
4a57482216 リモートで投票を見たりしたりできるように (#3940)
* fix type

* expose Question

* Note refs Question

* rename

* wip

* リモート投票の場合リプライ送信

* voteの実装をservicesに移動

* 投票受信

* debug

* つくる

* Revert "つくる"

This reverts commit 0c9245886680b7d3b93a0278642f4cf6a43b5cb2.

* APIの実装はもどし

* Send Update

* AP type

* Recv Update

* Revert "Recv Update"

This reverts commit ffda39c0936d8e023f64603edabeb8e0eb9fc370.

* Revert "AP type"

This reverts commit 63d8bbe29dd6f326773214346350607cc4381996.

* Revert "Send Update"

This reverts commit 171b046de549f1478e928dee3177eeefab341fcf.

* リモートで投票を見る

* 投票はDM

* Provides choices as text for AP

* 絵文字

* fix error

* revert

* APからには不要な処理を削除

* Revert "APからには不要な処理を削除"

This reverts commit 8b5d8af9b0cc4d4ad0cf21de59827ff21df99560.

* てぬき

* めんどい

* ちっ

* remove unused code
2019-01-21 13:27:19 +09:00
6bbccedb2d [Server] Fix #3528 2019-01-21 12:19:20 +09:00
fee629849e [Client] Fix bug
ドライブのファイルメニューからアバターやバナーに設定することができない問題を修正
2019-01-21 12:04:31 +09:00
e9ebc5151d [Server] Fix bug: リモートユーザーのアイコンが消えることがある問題を修正 2019-01-21 11:23:32 +09:00
8a5c8e8e2e Update CHANGELOG.md 2019-01-21 11:17:36 +09:00
4000da6be8 [Server] Fix bug 2019-01-21 11:15:36 +09:00
977a4373c5 [Server] Fix #2745 2019-01-21 00:32:54 +09:00
e559417cab ソーシャルタイムラインにフォロワー限定投稿が含まれていない問題を修正 2019-01-20 23:55:32 +09:00
f793478709 Update setup.en.md 2019-01-20 20:13:08 +09:00
15c9d15b8d Update setup.en.md 2019-01-20 20:11:44 +09:00
3c194142a8 [Server] Fix #3928 2019-01-20 19:22:13 +09:00
81dbf64eb7 Update reversi routing (#3937) 2019-01-20 19:10:19 +09:00
7e646f109c Create .node-version 2019-01-20 19:09:23 +09:00
d94c060998 Update CHANGELOG.md 2019-01-20 18:21:34 +09:00
3d29b052ea Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-20 18:20:46 +09:00
875d793512 常にメディアを閲覧注意として投稿するオプションが機能してなかった問題を修正 2019-01-20 18:20:25 +09:00
5cdd6521a2 Update rimraf requirement from 2.6.2 to 2.6.3 (#3923)
Updates the requirements on [rimraf](https://github.com/isaacs/rimraf) to permit the latest version.
- [Release notes](https://github.com/isaacs/rimraf/releases)
- [Commits](https://github.com/isaacs/rimraf/commits/v2.6.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-20 18:09:44 +09:00
1df9c1005f [MFM] __ 構文はアルファベットのみに 2019-01-20 18:06:04 +09:00
53481accf1 Add double underscore syntax for bold markdown (#3733)
* Add double underscore syntax for bold markdown
see https://github.com/syuilo/misskey/pull/3732
this allows bold text through either **text** or __text__

* Add tests for underscore bold mfm syntax
2019-01-20 18:00:55 +09:00
8fcf75f77c Update CHANGELOG.md 2019-01-20 17:55:50 +09:00
b1385de758 Update mfm.ts 2019-01-20 17:53:08 +09:00
f8ba73bebf [MFM] Add <i> syntax 2019-01-20 17:52:11 +09:00
ff4cb3555b Remove unused import 2019-01-20 17:49:52 +09:00
361af34956 Change italic syntax to fit with other markdown implementations (#3916)
currently italics require an html <i> syntax, unlike every other formatter. this is very confusing, especially as there doesnt seem to be any documentation.
this change makes both _text_ and *text* work, both things that users would expect from other implementations of markdown such as pleroma, discord and github.

Add test
2019-01-20 17:44:52 +09:00
11689e6d18 Better version format 2019-01-20 13:40:41 +09:00
6ea0028e0e Merge pull request #3924 from syuilo/l10n_develop
New Crowdin translations
2019-01-20 13:40:22 +09:00
b39d12f01a 関係のない返信がタイムラインに流れる問題を修正
Resolve #1910
2019-01-20 13:14:31 +09:00
f97c1276fe New translations ja-JP.yml (English) 2019-01-20 12:41:57 +09:00
73375a2f43 New translations ja-JP.yml (Norwegian) 2019-01-20 12:33:13 +09:00
b87a35b71c New translations ja-JP.yml (Dutch) 2019-01-20 12:33:07 +09:00
9db9067647 New translations ja-JP.yml (Japanese, Kansai) 2019-01-20 12:33:02 +09:00
7053c3125e New translations ja-JP.yml (Spanish) 2019-01-20 12:32:55 +09:00
e89a63e88c New translations ja-JP.yml (Russian) 2019-01-20 12:32:48 +09:00
1b13700ae2 New translations ja-JP.yml (Portuguese) 2019-01-20 12:32:44 +09:00
b7c2fa0c0c New translations ja-JP.yml (Polish) 2019-01-20 12:32:40 +09:00
df847ebd86 New translations ja-JP.yml (Korean) 2019-01-20 12:32:33 +09:00
fa72856272 New translations ja-JP.yml (Italian) 2019-01-20 12:32:29 +09:00
20921e91bf New translations ja-JP.yml (German) 2019-01-20 12:32:24 +09:00
f597e7c4ae New translations ja-JP.yml (French) 2019-01-20 12:32:20 +09:00
380651ba62 New translations ja-JP.yml (English) 2019-01-20 12:32:14 +09:00
45f852b832 New translations ja-JP.yml (Chinese Simplified) 2019-01-20 12:32:09 +09:00
80bf1d4b38 New translations ja-JP.yml (Catalan) 2019-01-20 12:32:03 +09:00
6909add1ec Drop stalk feature
Resolve #3935
Closes #2226
Closes #1946
2019-01-20 12:25:00 +09:00
d53d059480 Update CHANGELOG.md 2019-01-20 03:10:06 +09:00
22830965e3 AP Undo Like (#3933)
* AP Undo Like

* rename
2019-01-20 03:07:12 +09:00
fa07b3023c Refactor 2019-01-19 23:00:15 +09:00
02568df664 New translations ja-JP.yml (Norwegian) 2019-01-19 19:23:24 +09:00
57acfae786 New translations ja-JP.yml (Dutch) 2019-01-19 19:23:19 +09:00
949c113c7f New translations ja-JP.yml (Japanese, Kansai) 2019-01-19 19:23:15 +09:00
6656c87024 New translations ja-JP.yml (Spanish) 2019-01-19 19:23:11 +09:00
16d7f4ff92 New translations ja-JP.yml (Russian) 2019-01-19 19:23:06 +09:00
2145d928df New translations ja-JP.yml (Portuguese) 2019-01-19 19:23:02 +09:00
463aa3f56b New translations ja-JP.yml (Polish) 2019-01-19 19:22:58 +09:00
38b4265bce New translations ja-JP.yml (Korean) 2019-01-19 19:22:53 +09:00
85c4fdfdb1 New translations ja-JP.yml (Italian) 2019-01-19 19:22:49 +09:00
4edb2d9587 New translations ja-JP.yml (German) 2019-01-19 19:22:45 +09:00
58be3393c3 New translations ja-JP.yml (French) 2019-01-19 19:22:40 +09:00
c64d8aa90a New translations ja-JP.yml (English) 2019-01-19 19:22:36 +09:00
0457cd0afc New translations ja-JP.yml (Chinese Simplified) 2019-01-19 19:22:29 +09:00
ee8abb3abb New translations ja-JP.yml (Catalan) 2019-01-19 19:22:24 +09:00
48516c2eb4 Update CHANGELOG.md 2019-01-19 19:18:43 +09:00
8a88c896da Update .eslintrc 2019-01-19 19:16:57 +09:00
048b9c295e スパム報告機能
Resolve #1970
2019-01-19 19:16:48 +09:00
6b3e3eb129 New translations ja-JP.yml (Norwegian) 2019-01-19 09:53:43 +09:00
46ecabc7cb New translations ja-JP.yml (Dutch) 2019-01-19 09:53:38 +09:00
cc7af0b331 New translations ja-JP.yml (Japanese, Kansai) 2019-01-19 09:53:33 +09:00
af654ee92b New translations ja-JP.yml (Spanish) 2019-01-19 09:53:28 +09:00
5c8adb3935 New translations ja-JP.yml (Russian) 2019-01-19 09:53:22 +09:00
794821a847 New translations ja-JP.yml (Portuguese) 2019-01-19 09:53:15 +09:00
4afbdaa3ce New translations ja-JP.yml (Polish) 2019-01-19 09:53:09 +09:00
4d98f4d022 New translations ja-JP.yml (Korean) 2019-01-19 09:53:05 +09:00
bec63f1454 New translations ja-JP.yml (Italian) 2019-01-19 09:53:00 +09:00
4e7b1537d7 New translations ja-JP.yml (German) 2019-01-19 09:52:56 +09:00
8010ad53ba New translations ja-JP.yml (French) 2019-01-19 09:52:49 +09:00
6acbde05c2 New translations ja-JP.yml (English) 2019-01-19 09:52:43 +09:00
beaecd54ee New translations ja-JP.yml (Chinese Simplified) 2019-01-19 09:52:39 +09:00
f0af941cef New translations ja-JP.yml (Catalan) 2019-01-19 09:52:32 +09:00
ac5d798cde Fix typo 2019-01-19 09:52:27 +09:00
d2a7c56149 Improve drive file operation
Resolve #3789
Resolve #3790
2019-01-19 09:50:38 +09:00
fc0d339c9d New translations ja-JP.yml (English) 2019-01-19 09:42:33 +09:00
11303b5bec Update .eslintrc 2019-01-19 08:49:57 +09:00
b5bcc23d5f Update CHANGELOG.md 2019-01-19 08:47:59 +09:00
7c92eb2a14 Update .eslintrc 2019-01-19 08:47:06 +09:00
466cae524e Refactor: Rename misskey-flavored-markdown --> mfm 2019-01-19 08:45:12 +09:00
620722cb55 Fix camelCase in HTML 2019-01-19 08:30:53 +09:00
160f424466 Fix missing username conversions (#3922) 2019-01-19 08:28:46 +09:00
fa051df381 node-gypの警告を直す (#3906)
* Update crypto_key.cc

* Update crypto_key.cc

* Update crypto_key.cc
2019-01-18 21:01:31 +09:00
5bd0695b0e Update README.md [AUTOGEN] (#3918) 2019-01-18 20:59:25 +09:00
831adfd22e Update CHANGELOG.md 2019-01-18 20:45:47 +09:00
9b5031dc4f Update README.md [AUTOGEN] (#3917) 2019-01-18 20:44:58 +09:00
150c1340a7 Update README.md [AUTOGEN] (#3915) 2019-01-18 20:34:58 +09:00
82190d18c8 Merge pull request #3846 from syuilo/l10n_develop
New Crowdin translations
2019-01-18 20:13:27 +09:00
0887580132 Improve readability 2019-01-18 19:48:16 +09:00
48f50bb811 New translations ja-JP.yml (French) 2019-01-18 18:12:26 +09:00
5d4c63edb3 New translations ja-JP.yml (Norwegian) 2019-01-18 16:54:26 +09:00
df6456c80a New translations ja-JP.yml (Dutch) 2019-01-18 16:54:21 +09:00
81d5e8c301 New translations ja-JP.yml (Japanese, Kansai) 2019-01-18 16:54:16 +09:00
c221bf585c New translations ja-JP.yml (Spanish) 2019-01-18 16:54:11 +09:00
cdac704836 New translations ja-JP.yml (Russian) 2019-01-18 16:54:06 +09:00
c0e0efa050 New translations ja-JP.yml (Portuguese) 2019-01-18 16:53:59 +09:00
2711f86a95 New translations ja-JP.yml (Polish) 2019-01-18 16:53:54 +09:00
c21119bb09 New translations ja-JP.yml (Korean) 2019-01-18 16:53:48 +09:00
7b172d0b33 New translations ja-JP.yml (Italian) 2019-01-18 16:53:42 +09:00
b102b1b0e8 New translations ja-JP.yml (German) 2019-01-18 16:53:36 +09:00
df4afb32e7 New translations ja-JP.yml (French) 2019-01-18 16:53:31 +09:00
ed21254497 New translations ja-JP.yml (English) 2019-01-18 16:53:26 +09:00
5505b2e7af New translations ja-JP.yml (Chinese Simplified) 2019-01-18 16:53:21 +09:00
5d93748ff5 New translations ja-JP.yml (Catalan) 2019-01-18 16:53:16 +09:00
abddea0443 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-18 16:47:03 +09:00
9fc1cc5255 [Client] Drop apiViaStream option
Resolve #3911
2019-01-18 16:46:56 +09:00
1aa274e10d Update .gitignore 2019-01-18 16:04:06 +09:00
deeb536613 Update CHANGELOG.md 2019-01-18 15:42:12 +09:00
66b64320f1 Update elasticsearch requirement from 15.2.0 to 15.3.0 (#3891)
Updates the requirements on [elasticsearch](https://github.com/elastic/elasticsearch-js) to permit the latest version.
- [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/commits/v15.3.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-18 14:41:30 +09:00
9df620a520 Update js-yaml requirement from 3.12.0 to 3.12.1 (#3902)
Updates the requirements on [js-yaml](https://github.com/nodeca/js-yaml) to permit the latest version.
- [Release notes](https://github.com/nodeca/js-yaml/releases)
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/commits/3.12.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-18 14:41:23 +09:00
9851612acf Update eslint-plugin-vue requirement from 5.0.0 to 5.1.0 (#3887)
Updates the requirements on [eslint-plugin-vue](https://github.com/vuejs/eslint-plugin-vue) to permit the latest version.
- [Release notes](https://github.com/vuejs/eslint-plugin-vue/releases)
- [Commits](https://github.com/vuejs/eslint-plugin-vue/commits/v5.1.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-18 14:41:13 +09:00
075934eac2 Merge pull request #3893 from syuilo/dependabot/npm_and_yarn/webpack-4.28.4
Update webpack requirement from 4.28.3 to 4.28.4
2019-01-18 14:41:04 +09:00
7fe0fa22c3 Update @fortawesome/vue-fontawesome requirement from 0.1.2 to 0.1.5 (#3903)
Updates the requirements on [@fortawesome/vue-fontawesome](https://github.com/FortAwesome/vue-fontawesome) to permit the latest version.
- [Release notes](https://github.com/FortAwesome/vue-fontawesome/releases)
- [Changelog](https://github.com/FortAwesome/vue-fontawesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/vue-fontawesome/commits/0.1.5)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-18 14:40:55 +09:00
41dc729d95 Update @types/showdown requirement from 1.9.1 to 1.9.2 (#3912)
Updates the requirements on [@types/showdown](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>
2019-01-18 14:40:34 +09:00
e2cb34f109 New translations ja-JP.yml (Norwegian) 2019-01-18 13:23:12 +09:00
ed7b619634 New translations ja-JP.yml (Dutch) 2019-01-18 13:23:08 +09:00
d09050f13f New translations ja-JP.yml (Japanese, Kansai) 2019-01-18 13:23:02 +09:00
dcc76ab4f2 New translations ja-JP.yml (Spanish) 2019-01-18 13:22:57 +09:00
e035d942b3 New translations ja-JP.yml (Russian) 2019-01-18 13:22:51 +09:00
9eada028b8 New translations ja-JP.yml (Portuguese) 2019-01-18 13:22:46 +09:00
1cac95ce8a New translations ja-JP.yml (Polish) 2019-01-18 13:22:40 +09:00
b707a574d1 New translations ja-JP.yml (Korean) 2019-01-18 13:22:35 +09:00
df40121e4c New translations ja-JP.yml (Italian) 2019-01-18 13:22:31 +09:00
0f2c3dfd79 New translations ja-JP.yml (German) 2019-01-18 13:22:24 +09:00
2c187460a0 New translations ja-JP.yml (French) 2019-01-18 13:22:20 +09:00
a32a78b5ef New translations ja-JP.yml (English) 2019-01-18 13:22:15 +09:00
80d7c9bdef New translations ja-JP.yml (Chinese Simplified) 2019-01-18 13:22:11 +09:00
bc6439a339 New translations ja-JP.yml (Catalan) 2019-01-18 13:22:04 +09:00
d93e60d4dd Better 2FA input on sign in form (#3910)
* Update signin.vue

* Update ja-JP.yml

* Update settings.vue

* Update signin.vue

* Update init.ts
2019-01-18 13:20:32 +09:00
4ba43b69b6 animejs 3.xに対応 2019-01-18 13:06:11 +09:00
02b9032587 Update webpack requirement from 4.28.3 to 4.28.4
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.28.4)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-18 03:53:42 +00:00
8b6649b41f Update animejs requirement from 2.2.0 to 3.0.1 (#3913)
Updates the requirements on [animejs](https://github.com/juliangarnier/anime) to permit the latest version.
- [Release notes](https://github.com/juliangarnier/anime/releases)
- [Commits](https://github.com/juliangarnier/anime/commits/v3.0.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-18 12:50:58 +09:00
a5a25813d8 New translations ja-JP.yml (English) 2019-01-18 08:02:20 +09:00
27ceae7406 Better configuration of CircleCI (#3908) 2019-01-17 21:15:37 +09:00
5d75746681 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-17 17:54:32 +09:00
51a6bc4fe1 [Client] Fix chart rendering 2019-01-17 17:54:25 +09:00
94f866b7c8 Update CHANGELOG.md 2019-01-17 17:42:38 +09:00
95be55135e New translations ja-JP.yml (Norwegian) 2019-01-17 17:24:42 +09:00
7c50d9f1e9 New translations ja-JP.yml (Dutch) 2019-01-17 17:24:36 +09:00
5d9bb44f1b New translations ja-JP.yml (Japanese, Kansai) 2019-01-17 17:24:30 +09:00
b832323508 New translations ja-JP.yml (Spanish) 2019-01-17 17:24:25 +09:00
48ce86d633 New translations ja-JP.yml (Russian) 2019-01-17 17:24:20 +09:00
b1e377dab0 New translations ja-JP.yml (Portuguese) 2019-01-17 17:24:14 +09:00
4c17d488d3 New translations ja-JP.yml (Polish) 2019-01-17 17:24:08 +09:00
73c585b9a2 New translations ja-JP.yml (Korean) 2019-01-17 17:24:03 +09:00
a3377ff0ba New translations ja-JP.yml (Italian) 2019-01-17 17:23:57 +09:00
0a17033551 New translations ja-JP.yml (German) 2019-01-17 17:23:52 +09:00
12c13660ca New translations ja-JP.yml (French) 2019-01-17 17:23:47 +09:00
3f1b85452b New translations ja-JP.yml (English) 2019-01-17 17:23:41 +09:00
5776c52205 New translations ja-JP.yml (Chinese Simplified) 2019-01-17 17:23:35 +09:00
e7a36d6176 New translations ja-JP.yml (Catalan) 2019-01-17 17:23:31 +09:00
8d42e94e57 Implement active users chart
Resolve #3904
2019-01-17 17:16:08 +09:00
20386acf4e New translations ja-JP.yml (Norwegian) 2019-01-17 09:56:43 +09:00
c92e25ce16 New translations ja-JP.yml (Dutch) 2019-01-17 09:56:36 +09:00
08599c887e New translations ja-JP.yml (Japanese, Kansai) 2019-01-17 09:56:30 +09:00
90ccbd3834 New translations ja-JP.yml (Spanish) 2019-01-17 09:56:24 +09:00
0931681e8f New translations ja-JP.yml (Russian) 2019-01-17 09:56:19 +09:00
0a0da355b9 New translations ja-JP.yml (Portuguese) 2019-01-17 09:56:14 +09:00
b2ec82fba5 New translations ja-JP.yml (Polish) 2019-01-17 09:56:08 +09:00
d62597c265 New translations ja-JP.yml (Korean) 2019-01-17 09:56:03 +09:00
23d311b6ef New translations ja-JP.yml (Italian) 2019-01-17 09:55:57 +09:00
7efdee9145 New translations ja-JP.yml (German) 2019-01-17 09:55:52 +09:00
45429c9d6b New translations ja-JP.yml (French) 2019-01-17 09:55:47 +09:00
45adea23b4 New translations ja-JP.yml (English) 2019-01-17 09:55:41 +09:00
aaa8331733 New translations ja-JP.yml (Chinese Simplified) 2019-01-17 09:55:32 +09:00
501922ed9c New translations ja-JP.yml (Catalan) 2019-01-17 09:55:23 +09:00
652bb03087 [Client] Add information 2019-01-17 09:46:40 +09:00
f1e769e74d Add footer 2019-01-17 09:42:21 +09:00
b2e4957bb8 Update CHANGELOG.md 2019-01-17 09:35:22 +09:00
cb6a4037f2 [MFM] Better hashtag parsing: Ignore single quotation 2019-01-17 09:33:08 +09:00
9740db8685 [MFM] Better hashtag parsing: Ignore double quotation
Resolve #3886
2019-01-17 09:24:20 +09:00
41784de9be 🎨 2019-01-17 09:19:47 +09:00
208493ba13 Fix: time tooltip overlaps with others (#3901) 2019-01-17 06:40:11 +09:00
9798a9bf15 Update @fortawesome/vue-fontawesome requirement from 0.1.2 to 0.1.5
Updates the requirements on [@fortawesome/vue-fontawesome](https://github.com/FortAwesome/vue-fontawesome) to permit the latest version.
- [Release notes](https://github.com/FortAwesome/vue-fontawesome/releases)
- [Changelog](https://github.com/FortAwesome/vue-fontawesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/vue-fontawesome/commits/0.1.5)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-16 20:22:52 +00:00
1df8487d20 Update README.md [AUTOGEN] (#3900) 2019-01-17 00:25:49 +09:00
dbfbdfa3f3 Update README.md [AUTOGEN] (#3898) 2019-01-17 00:24:44 +09:00
27853e9d51 New translations ja-JP.yml (Korean) 2019-01-17 00:17:40 +09:00
03b4fe18f3 New translations ja-JP.yml (Korean) 2019-01-17 00:04:25 +09:00
1f32531e07 New translations ja-JP.yml (Chinese Simplified) 2019-01-16 23:33:47 +09:00
a1397bfdbc New translations ja-JP.yml (Chinese Simplified) 2019-01-16 23:23:27 +09:00
bcdb70f407 New translations ja-JP.yml (Japanese, Kansai) 2019-01-16 15:03:53 +09:00
ef81a66cf0 New translations ja-JP.yml (Spanish) 2019-01-16 15:03:48 +09:00
186b0ea560 New translations ja-JP.yml (Russian) 2019-01-16 15:03:42 +09:00
ff53b04f4c New translations ja-JP.yml (Portuguese) 2019-01-16 15:03:37 +09:00
1ac9730c7d New translations ja-JP.yml (Norwegian) 2019-01-16 15:03:31 +09:00
d66e2947de New translations ja-JP.yml (Dutch) 2019-01-16 15:03:25 +09:00
92ca9b1444 New translations ja-JP.yml (Polish) 2019-01-16 15:03:19 +09:00
f34ae64ff5 New translations ja-JP.yml (Korean) 2019-01-16 15:03:13 +09:00
9ca8383f39 New translations ja-JP.yml (Italian) 2019-01-16 15:03:08 +09:00
9fdc884e51 New translations ja-JP.yml (German) 2019-01-16 15:03:02 +09:00
eeb4772a3c New translations ja-JP.yml (French) 2019-01-16 15:02:56 +09:00
769e1ed45b New translations ja-JP.yml (English) 2019-01-16 15:02:50 +09:00
78207c8a4d New translations ja-JP.yml (Chinese Simplified) 2019-01-16 15:02:45 +09:00
7837949b1a New translations ja-JP.yml (Catalan) 2019-01-16 15:02:38 +09:00
14b16b4733 10.77.0 2019-01-16 14:58:05 +09:00
256c216dfb インスタンス情報ページに各種タイムラインの有効/無効を表示 2019-01-16 14:57:01 +09:00
13cee2b4f5 Resolve #3896 2019-01-16 14:54:14 +09:00
eb45eeb1ae [Client] Resolve #3895 2019-01-16 14:46:54 +09:00
3154350b64 10.76.0 2019-01-16 11:41:40 +09:00
519c9c4499 インスタンス情報ページにユーザー数と投稿数を追加 2019-01-16 03:36:25 +09:00
c2f6b09969 disableLocalTimeline機能を強化
* ストリームだけではなくAPIも無効に
* モデレーターは無効の場合でも見れるように
* グローバルタイムラインも無効に(連合数が少ないインスタンスではグローバルタイムラインは実質的にローカルタイムラインと同一なので)
2019-01-16 02:30:55 +09:00
c8e2b22942 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-15 18:28:31 +09:00
f433182c4c Revert "Resolve #3813 (#3814)"
This reverts commit 96515c4544.
2019-01-15 18:28:11 +09:00
957392aaae Update minio requirement from 7.0.2 to 7.0.3 (#3888)
Updates the requirements on [minio](https://github.com/minio/minio-js) to permit the latest version.
- [Release notes](https://github.com/minio/minio-js/releases)
- [Commits](https://github.com/minio/minio-js/commits/7.0.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-15 10:41:16 +09:00
bd8d06e133 Update vue-i18n requirement from 8.6.0 to 8.7.0 (#3889)
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.7.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-15 10:40:04 +09:00
dce347a117 Update elasticsearch requirement from 15.2.0 to 15.3.0
Updates the requirements on [elasticsearch](https://github.com/elastic/elasticsearch-js) to permit the latest version.
- [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/commits/v15.3.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-14 20:30:05 +00:00
ef37e20555 New translations ja-JP.yml (French) 2019-01-15 04:20:36 +09:00
c617b60f70 Correct some weird french translations in the docs. (#3884)
* Correct some weird french translations

* Update docker.fr.md

* Update setup.fr.md

* Update setup.fr.md

* Update docker.fr.md

* Update setup.fr.md
2019-01-14 06:08:33 +09:00
fe6243b7a0 New translations ja-JP.yml (English) 2019-01-13 23:48:29 +09:00
f5e31de81d New translations ja-JP.yml (Polish) 2019-01-13 22:31:44 +09:00
5c495ebf7c New translations ja-JP.yml (Polish) 2019-01-13 22:21:44 +09:00
9dd64c67a3 New translations ja-JP.yml (French) 2019-01-13 20:02:06 +09:00
018837db0b Support SVG (#3883)
* Update add-file.ts

* Update package.json

* Revert "Update add-file.ts"

This reverts commit ba0fe83b54a44493447208dfb3cc304a60df6fdd.

* Update add-file.ts

* Update package.json

* Update add-file.ts

* Update add-file.ts

* Create image.svg

* Update api.ts
2019-01-13 18:21:10 +09:00
00d5fdfc13 Merge branch 'develop' of https://github.com/syuilo/misskey into develop 2019-01-12 19:31:03 +09:00
2debb0c2ca Provide instance description in info page 2019-01-12 19:30:56 +09:00
148d6737cc Grammatical Fixes (#3844)
Updated the README to read more naturally for English speakers.
2019-01-12 14:34:00 +09:00
c15cb8d28c Update chalk requirement from 2.4.1 to 2.4.2 (#3855)
Updates the requirements on [chalk](https://github.com/chalk/chalk) to permit the latest version.
- [Release notes](https://github.com/chalk/chalk/releases)
- [Commits](https://github.com/chalk/chalk/commits/v2.4.2)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-12 14:33:23 +09:00
1d5471db70 Update webpack-cli requirement from 3.1.2 to 3.2.1 (#3850)
Updates the requirements on [webpack-cli](https://github.com/webpack/webpack-cli) to permit the latest version.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-12 14:32:42 +09:00
086b83c1fe Merge pull request #3851 from syuilo/dependabot/npm_and_yarn/eslint-5.12.0
Update eslint requirement from 5.11.1 to 5.12.0
2019-01-12 14:32:29 +09:00
c509e0b86c Update ts-loader requirement from 5.3.1 to 5.3.3 (#3854)
Updates the requirements on [ts-loader](https://github.com/TypeStrong/ts-loader) to permit the latest version.
- [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/commits/v5.3.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-12 14:32:20 +09:00
e8a1ad9823 Update chai-http requirement from 4.2.0 to 4.2.1 (#3856)
Updates the requirements on [chai-http](https://github.com/chaijs/chai-http) to permit the latest version.
- [Release notes](https://github.com/chaijs/chai-http/releases)
- [Changelog](https://github.com/chaijs/chai-http/blob/master/History.md)
- [Commits](https://github.com/chaijs/chai-http/commits/4.2.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-12 14:32:11 +09:00
6446b1cfb1 Update cssnano requirement from 4.1.7 to 4.1.8 (#3880)
Updates the requirements on [cssnano](https://github.com/cssnano/cssnano) to permit the latest version.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/commits/v4.1.8)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-12 14:32:03 +09:00
2b9216c441 Merge pull request #3866 from syuilo/dependabot/npm_and_yarn/@types/mongodb-3.1.18
Update @types/mongodb requirement from 3.1.14 to 3.1.18
2019-01-12 14:31:52 +09:00
28656a701f Merge pull request #3857 from syuilo/dependabot/npm_and_yarn/@types/showdown-1.9.1
Update @types/showdown requirement from 1.9.0 to 1.9.1
2019-01-12 14:31:43 +09:00
cd628eaf54 [MFM] Better hashtag parsing: Ignore trailing colon 2019-01-12 14:10:16 +09:00
5b9918538a New translations ja-JP.yml (Norwegian) 2019-01-11 08:13:12 +09:00
b05ba5bd68 New translations ja-JP.yml (Dutch) 2019-01-11 08:13:06 +09:00
0afc7483f6 New translations ja-JP.yml (Japanese, Kansai) 2019-01-11 08:13:01 +09:00
c069d01e4b New translations ja-JP.yml (Spanish) 2019-01-11 08:12:54 +09:00
070e5a3314 New translations ja-JP.yml (Russian) 2019-01-11 08:12:49 +09:00
43b5a1e469 New translations ja-JP.yml (Portuguese) 2019-01-11 08:12:42 +09:00
81bbf887e4 New translations ja-JP.yml (Polish) 2019-01-11 08:12:38 +09:00
e0aa2ab2b6 New translations ja-JP.yml (Korean) 2019-01-11 08:12:34 +09:00
f5000a0364 New translations ja-JP.yml (Italian) 2019-01-11 08:12:29 +09:00
694ea9b5a0 New translations ja-JP.yml (German) 2019-01-11 08:12:23 +09:00
d70bd44db7 New translations ja-JP.yml (French) 2019-01-11 08:12:18 +09:00
c3cd499e8e New translations ja-JP.yml (English) 2019-01-11 08:12:14 +09:00
64c89a6d52 New translations ja-JP.yml (Chinese Simplified) 2019-01-11 08:12:09 +09:00
0a4a7bf64c New translations ja-JP.yml (Catalan) 2019-01-11 08:12:04 +09:00
f879ea760a New translations ja-JP.yml (Polish) 2019-01-11 06:02:30 +09:00
08d6269f90 New translations ja-JP.yml (Polish) 2019-01-11 05:52:30 +09:00
f454473d6c New translations ja-JP.yml (Polish) 2019-01-11 05:41:55 +09:00
2c347d7213 New translations ja-JP.yml (Polish) 2019-01-11 05:37:23 +09:00
e6158838e0 New translations ja-JP.yml (Polish) 2019-01-11 05:27:59 +09:00
974fe80245 New translations ja-JP.yml (English) 2019-01-10 21:33:31 +09:00
9676723c85 New translations ja-JP.yml (Norwegian) 2019-01-10 10:33:12 +09:00
9115629424 New translations ja-JP.yml (Dutch) 2019-01-10 10:33:06 +09:00
8f02716774 New translations ja-JP.yml (Japanese, Kansai) 2019-01-10 10:33:01 +09:00
8feb5bd9a4 New translations ja-JP.yml (Spanish) 2019-01-10 10:32:56 +09:00
826542201e New translations ja-JP.yml (Russian) 2019-01-10 10:32:51 +09:00
7ab1315008 New translations ja-JP.yml (Portuguese) 2019-01-10 10:32:46 +09:00
662407f1ba New translations ja-JP.yml (Polish) 2019-01-10 10:32:41 +09:00
679de41d8d New translations ja-JP.yml (Korean) 2019-01-10 10:32:34 +09:00
89a97142c2 New translations ja-JP.yml (Italian) 2019-01-10 10:32:30 +09:00
0a175fddba New translations ja-JP.yml (German) 2019-01-10 10:32:26 +09:00
64d40b7e49 New translations ja-JP.yml (French) 2019-01-10 10:32:21 +09:00
ac7e0d5973 New translations ja-JP.yml (English) 2019-01-10 10:32:15 +09:00
f095951193 New translations ja-JP.yml (Chinese Simplified) 2019-01-10 10:32:10 +09:00
b93eab9cf7 New translations ja-JP.yml (Catalan) 2019-01-10 10:32:05 +09:00
53298933e4 Update @types/mongodb requirement from 3.1.14 to 3.1.18
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>
2019-01-09 20:16:29 +00:00
e7cfae3ccb Update @types/showdown requirement from 1.9.0 to 1.9.1
Updates the requirements on [@types/showdown](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>
2019-01-08 20:29:07 +00:00
ebb03113ab Update ts-loader requirement from 5.3.1 to 5.3.3
Updates the requirements on [ts-loader](https://github.com/TypeStrong/ts-loader) to permit the latest version.
- [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/commits/v5.3.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-08 20:19:39 +00:00
b3a0fe823e Update eslint requirement from 5.11.1 to 5.12.0
Updates the requirements on [eslint](https://github.com/eslint/eslint) to permit the latest version.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/commits/v5.12.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-01-08 10:15:52 +00:00
bd8897bcc8 New translations ja-JP.yml (Polish) 2019-01-08 15:41:38 +09:00
e3896122df New translations ja-JP.yml (English) 2019-01-07 21:13:22 +09:00
1186 changed files with 59812 additions and 43330 deletions

View File

@ -2,7 +2,7 @@
# __MISSKEY_BEARER_TOKEN= # __MISSKEY_BEARER_TOKEN=
# __MISSKEY_CAMPAIGN_ID= # __MISSKEY_CAMPAIGN_ID=
# __MISSKEY_GITHUB_TOKEN= # __MISSKEY_GITHUB_TOKEN=
# __MISSKEY_HEAD=acid-chicken:patch-autogen # __MISSKEY_HEAD=syuilo:patch-autogen
# __MISSKEY_REPO=syuilo/misskey # __MISSKEY_REPO=syuilo/misskey
# __MISSKEY_BRANCH=develop # __MISSKEY_BRANCH=develop
test "$(curl -LSs -w '\n' -- "https://api.github.com/repos/$REPO/pulls?access_token=$__MISSKEY_GITHUB_TOKEN" | jq -r -f check_pr.jq | grep $__MISSKEY_HEAD)" && exit 1 test "$(curl -LSs -w '\n' -- "https://api.github.com/repos/$REPO/pulls?access_token=$__MISSKEY_GITHUB_TOKEN" | jq -r -f check_pr.jq | grep $__MISSKEY_HEAD)" && exit 1

View File

@ -4,48 +4,35 @@ executors:
default: default:
working_directory: /tmp/workspace working_directory: /tmp/workspace
docker: docker:
- image: misskey/ci:latest - image: misskey/ci:v11-node11
- image: circleci/mongo:latest
- image: circleci/redis:latest - image: circleci/redis:latest
- image: circleci/postgres:latest
docker: docker:
working_directory: /tmp/workspace working_directory: /tmp/workspace
docker: docker:
- image: docker:latest - image: docker:latest
alpine:
working_directory: /tmp/workspace
docker:
- image: alpine:latest
jobs: jobs:
ok:
executor: alpine
steps:
- run:
name: OK
command: |
echo -e '\033[0;32mOK\033[0;39m'
build: build:
executor: default executor: default
steps: steps:
- checkout - checkout
- run: - run:
name: Ensure package-lock.json name: Ensure yarn.lock
command: | command: |
[ ! -e package-lock.json ] && echo '{}' > package-lock.json touch yarn.lock
- restore_cache: - restore_cache:
name: Restore npm package caches name: Restore npm package caches
keys: keys:
- npm-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-lock-{{ checksum "package-lock.json" }}- - yarn-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-lock-{{ checksum "yarn.lock" }}
- npm-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}- - yarn-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-
- npm-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}- - yarn-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-
- npm-v1-arch-{{ arch }}- - yarn-v1-arch-{{ arch }}-
- npm-v1- - yarn-v1-
- run: - run:
name: Install Dependencies name: Install Dependencies
command: | command: |
npm install yarn install
npm prune
- run: - run:
name: Configure name: Configure
command: | command: |
@ -54,53 +41,41 @@ jobs:
- run: - run:
name: Build name: Build
command: | 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) yarn build
ls -1ARl node_modules > ls touch yarn.lock
- save_cache: - save_cache:
name: Cache npm packages name: Cache npm packages
key: npm-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-lock-{{ checksum "package-lock.json" }}-ls-{{ checksum "ls" }} key: yarn-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-lock-{{ checksum "yarn.lock" }}
paths: paths:
- node_modules - node_modules
# - store_artifacts:
# path: built
- persist_to_workspace: - persist_to_workspace:
root: . root: .
paths: paths:
- . - .
test: test:
parameters: parameters:
without_redis: executor:
type: string type: string
default: "" default: "default"
executor: default executor: <<parameters.executor>>
steps: steps:
- attach_workspace: - attach_workspace:
at: /tmp/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: - run:
name: Test name: Test
command: | 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) yarn test
ls -1ARl node_modules > ls touch yarn.lock
- save_cache: - save_cache:
name: Cache npm packages name: Cache npm packages
key: npm-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-lock-{{ checksum "package-lock.json" }}-ls-{{ checksum "ls" }} key: yarn-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-lock-{{ checksum "yarn.lock" }}
paths: paths:
- node_modules - node_modules
docker: docker:
parameters: parameters:
with_deploy: with_deploy:
type: string type: boolean
default: "" default: false
executor: docker executor: docker
steps: steps:
- checkout - checkout
@ -127,42 +102,58 @@ jobs:
workflows: workflows:
version: 2 version: 2
build-and-test: nodejs:
jobs: jobs:
- ok: - hold:
name: manual-build-trigger
type: approval
filters: filters:
branches: branches:
only: ignore: master
- l10n_develop
- imgbot
- build: - build:
name: manual-build
requires:
- manual-build-trigger
filters: filters:
branches: branches:
ignore: ignore: master
- l10n_develop - build:
- imgbot name: auto-build
- test:
requires:
- build
filters:
branches:
ignore:
# - master
- l10n_develop
- imgbot
- test:
without_redis: "true"
requires:
- build
filters: filters:
branches: branches:
only: master only: master
# - docker: - test:
# filters: name: manual-test
# branches: requires:
# ignore: master - manual-build
filters:
branches:
ignore: master
- test:
name: auto-test
requires:
- auto-build
filters:
branches:
only: master
docker:
jobs:
- hold:
name: manual-build-trigger
type: approval
filters:
branches:
ignore: master
- docker: - docker:
with_deploy: "true" name: manual-build
requires:
- manual-build-trigger
filters:
branches:
ignore: master
- docker:
name: auto-build
with_deploy: true
filters: filters:
branches: branches:
only: master only: master

View File

@ -0,0 +1,4 @@
# db settings
POSTGRES_PASSWORD=example-misskey-pass
POSTGRES_USER=example-misskey-user
POSTGRES_DB=misskey

View File

@ -1,8 +1,19 @@
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# Misskey configuration
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# ┌─────┐
#───┘ URL └─────────────────────────────────────────────────────
# Final accessible URL seen by a user. # Final accessible URL seen by a user.
url: https://example.tld/ url: https://example.tld/
# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE
# URL SETTINGS AFTER THAT!
# ┌───────────────────────┐
#───┘ Port and TLS settings └───────────────────────────────────
### Port and TLS settings ######################################
# #
# Misskey supports two deployment options for public. # Misskey supports two deployment options for public.
# #
@ -30,83 +41,83 @@ url: https://example.tld/
# You need to set Certificate in 'https' section. # You need to set Certificate in 'https' section.
# To use option 1, uncomment below line. # To use option 1, uncomment below line.
# port: 3000 # A port that your Misskey server should listen. #port: 3000 # A port that your Misskey server should listen.
# To use option 2, uncomment below lines. # To use option 2, uncomment below lines.
# port: 443 #port: 443
#
# https:
# # path for certification
# key: /etc/letsencrypt/live/example.tld/privkey.pem
# cert: /etc/letsencrypt/live/example.tld/fullchain.pem
################################################################ #https:
# # path for certification
# key: /etc/letsencrypt/live/example.tld/privkey.pem
# cert: /etc/letsencrypt/live/example.tld/fullchain.pem
# ┌──────────────────────────┐
#───┘ PostgreSQL configuration └────────────────────────────────
mongodb: db:
host: localhost host: localhost
port: 27017 port: 5432
# Database name
db: misskey db: misskey
# Auth
user: example-misskey-user user: example-misskey-user
pass: example-misskey-pass pass: example-misskey-pass
drive: # Whether disable Caching queries
storage: 'db' #disableCache: true
# OR # Extra Connection options
#extra:
# ssl: true
# storage: 'minio' # ┌─────────────────────┐
# bucket: #───┘ Redis configuration └─────────────────────────────────────
# prefix:
# config:
# endPoint:
# port:
# useSSL:
# accessKey:
# secretKey:
# S3 example redis:
# storage: 'minio' host: localhost
# bucket: bucket-name port: 6379
# prefix: files #pass: example-pass
# config:
# endPoint: s3-us-west-2.amazonaws.com
# region: us-west-2
# useSSL: true
# accessKey: XXX
# secretKey: YYY
# S3 example (with CDN, custom domain) # ┌─────────────────────────────┐
# storage: 'minio' #───┘ Elasticsearch configuration └─────────────────────────────
# bucket: drive.example.com
# prefix: files
# baseUrl: https://drive.example.com
# config:
# endPoint: s3-us-west-2.amazonaws.com
# region: us-west-2
# useSSL: true
# accessKey: XXX
# secretKey: YYY
# If enabled:
# The first account created is automatically marked as Admin.
autoAdmin: true
#
# Below settings are optional
#
# Redis
#redis:
# host: localhost
# port: 6379
# pass: example-pass
# Elasticsearch
#elasticsearch: #elasticsearch:
# host: localhost # host: localhost
# port: 9200 # port: 9200
# pass: null # pass: null
# ┌───────────────┐
#───┘ ID generation └───────────────────────────────────────────
# You can select the ID generation method.
# You don't usually need to change this setting, but you can
# change it according to your preferences.
# Available methods:
# aid ... Short, Millisecond accuracy
# meid ... Similar to ObjectID, Millisecond accuracy
# ulid ... Millisecond accuracy
# objectid ... This is left for backward compatibility
# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE
# ID SETTINGS AFTER THAT!
id: 'aid'
# ┌─────────────────────┐
#───┘ Other configuration └─────────────────────────────────────
# If enabled:
# The first account created is automatically marked as Admin.
autoAdmin: true
# Whether disable HSTS
#disableHsts: true
# Clustering # Clustering
#clusterLimit: 1 #clusterLimit: 1
# IP address family used for outgoing request (ipv4, ipv6 or dual)
#outgoingAddressFamily: ipv4

View File

@ -1,13 +0,0 @@
var user = {
user: 'example-misskey-user',
pwd: 'example-misskey-pass',
roles: [
{
role: 'readWrite',
db: 'misskey'
}
]
};
db.createUser(user);

6
.dockerignore Executable file → Normal file
View File

@ -5,8 +5,8 @@
.vscode .vscode
Dockerfile Dockerfile
build/ build/
db/
docker-compose.yml docker-compose.yml
node_modules/
mongo/
redis/
elasticsearch/ elasticsearch/
node_modules/
redis/

View File

@ -1,20 +1,23 @@
{ {
"parserOptions": { "parserOptions": {
"parser": "typescript-eslint-parser" "parser": "@typescript-eslint/parser"
}, },
"extends": [ "extends": [
"eslint:recommended", "eslint:recommended",
"plugin:vue/recommended" "plugin:vue/recommended"
], ],
"rules": { "rules": {
"vue/require-v-for-key": false, "vue/require-v-for-key": 0,
"vue/max-attributes-per-line": false, "vue/max-attributes-per-line": 0,
"vue/html-indent": false, "vue/html-indent": 0,
"vue/html-self-closing": false, "vue/html-self-closing": 0,
"vue/no-unused-vars": false, "vue/no-unused-vars": 0,
"vue/attributes-order": false, "vue/attributes-order": 0,
"vue/require-prop-types": false, "vue/require-prop-types": 0,
"vue/require-default-prop": false, "vue/require-default-prop": 0,
"vue/html-closing-bracket-spacing": 0,
"vue/singleline-html-element-content-newline": 0,
"vue/no-v-html": 0,
"no-console": 0, "no-console": 0,
"no-unused-vars": 0, "no-unused-vars": 0,
"no-empty": 0 "no-empty": 0

39
.github/CODEOWNERS vendored Normal file
View File

@ -0,0 +1,39 @@
# PATH OWNERS
/.autogen/ @acid-chicken
/.circleci/ @syuilo @acid-chicken
/.config/ @syuilo @AyaMorisawa @mei23 @acid-chicken @rinsuki
# /.config/mongo_initdb_example.js @khws4v1
/.github/ @syuilo @AyaMorisawa @acid-chicken
/.vscode/ @acid-chicken
/assets/ @syuilo # @tamaina
/cli/ @syuilo
/docs/ @syuilo
/docs/*.en.md @AyaMorisawa # @skid9000
# /docs/*.fr.md @BoFFire
# /docs/docker.*.md @khws4v1
/locales/ @syuilo
/src/ @syuilo @AyaMorisawa @mei23 @acid-chicken @rinsuki
# /src/crypto_key.cc @akihikodaki
# /src/crypto_key.d.ts @akihikodaki
/.dockerignore @syuilo # @khws4v1
/.editorconfig @syuilo @AyaMorisawa
/.eslintrc @syuilo
/.gitattributes @syuilo
/.gitignore @syuilo
/.npmrc @syuilo
/.vsls.json @AyaMorisawa
/CHANGELOG.md @syuilo
/CODE_OF_CONDUCT.md @syuilo
/CONTRIBUTING.md @syuilo
/Dockerfile @syuilo @AyaMorisawa @acid-chicken # @khws4v1
/LICENSE @syuilo
/README.md @syuilo @AyaMorisawa @acid-chicken # @nikhiljha
# /binding.gyp @akihikodaki
/crowdin.yml @syuilo
# /docker-compose.yml @khws4v1
/gulpfile.ts @syuilo @AyaMorisawa
/jsconfig.json @syuilo @AyaMorisawa
/package.json @syuilo @AyaMorisawa
/tsconfig.json @syuilo @AyaMorisawa
/tslint.json @syuilo @AyaMorisawa
/webpack.config.ts @syuilo @AyaMorisawa

3
.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1,3 @@
# These are supported funding model platforms
patreon: syuilo

View File

@ -1,22 +1,30 @@
--- ---
name: Bug Report name: 🐛 Bug Report
about: Create a report to help us improve about: Create a report to help us improve
title: ''
labels: ⚠bug?
assignees: ''
--- ---
# Summary ## 💡 Summary
<!-- Tell us what the bug is --> <!-- Tell us what the bug is -->
# Expected Behavior ## 🙂 Expected Behavior
<!--- Tell us what should happen --> <!--- Tell us what should happen -->
# Actual Behavior ## ☹️ Actual Behavior
<!--- Tell us what happens instead of the expected behavior --> <!--- Tell us what happens instead of the expected behavior -->
# Steps to Reproduce ## 📝 Steps to Reproduce
1. 1.
2. 2.
3. 3.
# Environment ## 📌 Environment
<!-- Tell us where on the platform it happens --> <!-- Tell us where on the platform it happens -->
<!-- e.g. desktop or mobile version, your browser, your OS -->

View File

@ -0,0 +1,12 @@
---
name: ✨ Feature Request
about: Suggest an idea for this project
title: ''
labels: ✨Feature
assignees: ''
---
## Summary
<!-- Tell us what the suggestion is -->

View File

@ -1,11 +0,0 @@
---
name: Feature Request
about: Suggest an idea for this project
---
# Summary
<!-- Tell us what the suggestion is -->
# Environment
<!-- Tell us where on the platform it related -->
<!-- e.g. desktop or mobile version, your browser, your OS -->

View File

@ -1,4 +1,4 @@
# Summary ## Summary
<!-- <!--
- -

26
.gitignore vendored
View File

@ -1,20 +1,34 @@
# Visual Studio Code
/.vscode
# Intelij-IDEA
/.idea
# Node.js
/node_modules
# yarn
yarn.lock
# config
/.config/* /.config/*
!/.config/example.yml !/.config/example.yml
!/.config/mongo_initdb_example.js !/.config/mongo_initdb_example.js
/.vscode
/node_modules # misskey
/build /build
/built /built
built
/data /data
/.cache-loader /.cache-loader
/db
/elasticsearch
npm-debug.log npm-debug.log
*.pem *.pem
run.bat run.bat
api-docs.json api-docs.json
*.log *.log
/redis /redis
/mongo
/elasticsearch
*.code-workspace *.code-workspace
yarn.lock .DS_Store
/files
ormconfig.json

1
.node-version Normal file
View File

@ -0,0 +1 @@
v12.6.0

File diff suppressed because it is too large Load Diff

View File

@ -3,11 +3,17 @@
## Issues ## Issues
Feature suggestions and bug reports are filed in https://github.com/syuilo/misskey/issues . Feature suggestions and bug reports are filed in https://github.com/syuilo/misskey/issues .
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. * Please search existing issues to avoid duplication. If your issue is already filed, please add your reaction or comment to the existing one.
* If you have multiple independent issues, please submit them separately.
## Localization (l10n) ## Localization (l10n)
Please use [Crowdin](https://crowdin.com/project/misskey) for localization. Misskey uses [Crowdin](https://crowdin.com/project/misskey) for localization management.
You can improve our translations with your Crowdin account.
Changes you make in Crowdin will be merged into develop branch.
If you can't find the language you want to contribute with, please open an issue.
![Crowdin](https://d322cqt584bo4o.cloudfront.net/misskey/localized.svg) ![Crowdin](https://d322cqt584bo4o.cloudfront.net/misskey/localized.svg)
@ -15,16 +21,16 @@ Please use [Crowdin](https://crowdin.com/project/misskey) for localization.
Misskey uses [vue-i18n](https://github.com/kazupon/vue-i18n). Misskey uses [vue-i18n](https://github.com/kazupon/vue-i18n).
## Documentation ## Documentation
* Documents for contributors are located in `/docs`. * Documents for contributors are located in [`/docs`](/docs).
* Documents for instance admins are located in `/docs`. * Documents for instance admins are located in [`/docs`](/docs).
* Documents for end users are located in `src/docs`. * Documents for end users are located in [`/src/docs`](/src/docs).
## Test ## Test
* Test codes are located in `/test`. * Test codes are located in [`/test`](/test).
## Continuous integration ## Continuous integration
Misskey uses CircleCI for automated test. Misskey uses CircleCI for automated test.
Configuration files are located in `/.circleci`. Configuration files are located in [`/.circleci`](/.circleci).
## Glossary ## Glossary
### AP ### AP
@ -38,3 +44,184 @@ Stands for _**M**iss**k**ey_.
### SW ### SW
Stands for _**S**ervice**W**orker_. Stands for _**S**ervice**W**orker_.
### Nyaize
Convert な(na) to にゃ(nya)
#### Denyaize
Revert Nyaize
## Code style
### セミコロンを省略しない
ASI Hazardを避けるためでもある
### 中括弧を省略しない
Bad:
``` ts
if (foo)
bar;
else
baz;
```
Good:
``` ts
if (foo) {
bar;
} else {
baz;
}
```
ただし**`if`が一行**の時だけは省略しても良い
Good:
``` ts
if (foo) bar;
```
### `export default`を使わない
インテリセンスと相性が悪かったりするため
参考:
* https://gfx.hatenablog.com/entry/2017/11/24/135343
* https://basarat.gitbooks.io/typescript/docs/tips/defaultIsBad.html
Bad:
``` ts
export default function(foo: string): string {
```
Good:
``` ts
export function something(foo: string): string {
```
## Directory structure
```
src ... Source code
@types ... Type definitions
prelude ... Independence utils for coding JavaScript without side effects
misc ... Independence utils for Misskey without side effects
service ... Common functions with side effects
queue ... Job queues and Jobs
server ... Web Server
client ... Client
mfm ... MFM
test ... Test code
```
## Notes
### placeholder
SQLをクエリビルダで組み立てる際、使用するプレースホルダは重複してはならない
例えば
``` ts
query.andWhere(new Brackets(qb => {
for (const type of ps.fileType) {
qb.orWhere(`:type = ANY(note.attachedFileTypes)`, { type: type });
}
}));
```
と書くと、ループ中で`type`というプレースホルダが複数回使われてしまいおかしくなる
だから次のようにする必要がある
```ts
query.andWhere(new Brackets(qb => {
for (const type of ps.fileType) {
const i = ps.fileType.indexOf(type);
qb.orWhere(`:type${i} = ANY(note.attachedFileTypes)`, { [`type${i}`]: type });
}
}));
```
### Not `null` in TypeORM
```ts
const foo = await Foos.findOne({
bar: Not(null)
});
```
のようなクエリ(`bar`が`null`ではない)は期待通りに動作しない。
次のようにします:
```ts
const foo = await Foos.findOne({
bar: Not(IsNull())
});
```
### `null` in SQL
SQLを発行する際、パラメータが`null`になる可能性のある場合はSQL文を出し分けなければならない
例えば
``` ts
query.where('file.folderId = :folderId', { folderId: ps.folderId });
```
という処理で、`ps.folderId`が`null`だと結果的に`file.folderId = null`のようなクエリが発行されてしまい、これは正しいSQLではないので期待した結果が得られない
だから次のようにする必要がある
``` ts
if (ps.folderId) {
query.where('file.folderId = :folderId', { folderId: ps.folderId });
} else {
query.where('file.folderId IS NULL');
}
```
### `[]` in SQL
SQLを発行する際、`IN`のパラメータが`[]`(空の配列)になる可能性のある場合はSQL文を出し分けなければならない
例えば
``` ts
const users = await Users.find({
id: In(userIds)
});
```
という処理で、`userIds`が`[]`だと結果的に`user.id IN ()`のようなクエリが発行されてしまい、これは正しいSQLではないので期待した結果が得られない
だから次のようにする必要がある
``` ts
const users = userIds.length > 0 ? await Users.find({
id: In(userIds)
}) : [];
```
### 配列のインデックス in SQL
SQLでは配列のインデックスは**1始まり**。
`[a, b, c]`の `a`にアクセスしたいなら`[0]`ではなく`[1]`と書く
### `undefined`にご用心
MongoDBの時とは違い、findOneでレコードを取得する時に対象レコードが存在しない場合 **`undefined`** が返ってくるので注意。
MongoDBは`null`で返してきてたので、その感覚で`if (x === null)`とか書くとバグる。代わりに`if (x == null)`と書いてください
### 簡素な`undefined`チェック
データベースからレコードを取得するときに、プログラムの流れ的に(ほぼ)絶対`undefined`にはならない場合でも、`undefined`チェックしないとTypeScriptに怒られます。
でもいちいち複数行を費やして、発生するはずのない`undefined`をチェックするのも面倒なので、`ensure`というユーティリティ関数を用意しています。
例えば、
``` ts
const user = await Users.findOne(userId);
// この時点で user の型は User | undefined
if (user == null) {
throw 'missing user';
}
// この時点で user の型は User
```
という処理を`ensure`を使うと
``` ts
const user = await Users.findOne(userId).then(ensure);
// この時点で user の型は User
```
という風に書けます。
もちろん`ensure`内部でエラーを握りつぶすようなことはしておらず、万が一`undefined`だった場合はPromiseがRejectされ後続の処理は実行されません。
``` ts
const user = await Users.findOne(userId).then(ensure);
// 万が一 Users.findOne の結果が undefined だったら、ensure でエラーが発生するので
// この行に到達することは無い
// なので、.then(ensure) は
// if (user == null) {
// throw 'missing user';
// }
// の糖衣構文のような扱いです
```
### Migration作成方法
```
npm i -g ts-node
ts-node ./node_modules/typeorm/cli.js migration:generate -n 変更の名前
```
作成されたスクリプトは不必要な変更を含むため除去してください。

View File

@ -1,4 +1,4 @@
FROM node:11-alpine AS base FROM node:12.6-alpine AS base
ENV NODE_ENV=production ENV NODE_ENV=production
@ -8,7 +8,6 @@ WORKDIR /misskey
FROM base AS builder FROM base AS builder
RUN unlink /usr/bin/free
RUN apk add --no-cache \ RUN apk add --no-cache \
autoconf \ autoconf \
automake \ automake \
@ -20,26 +19,24 @@ RUN apk add --no-cache \
make \ make \
nasm \ nasm \
pkgconfig \ pkgconfig \
procps \
python \ python \
zlib-dev zlib-dev
RUN npm i -g node-gyp
COPY ./package.json ./ COPY package.json ./
RUN npm i RUN npm i
COPY . ./ COPY . ./
RUN node-gyp configure \ RUN npm run build
&& node-gyp build \
&& npm run build
FROM base AS runner FROM base AS runner
RUN apk add --no-cache tini RUN apk add --no-cache \
ffmpeg \
tini
RUN npm i -g web-push
ENTRYPOINT ["/sbin/tini", "--"] ENTRYPOINT ["/sbin/tini", "--"]
COPY --from=builder /misskey/node_modules ./node_modules COPY --from=builder /misskey/node_modules ./node_modules
COPY --from=builder /misskey/built ./built COPY --from=builder /misskey/built ./built
COPY . ./ COPY . ./
CMD ["npm", "start"] CMD ["npm", "run", "migrateandstart"]

1
Procfile Normal file
View File

@ -0,0 +1 @@
web: NODE_ENV=production npm start

139
README.md
View File

@ -1,19 +1,19 @@
<img src="https://github.com/syuilo/misskey/blob/develop/assets/ai-orig.png?raw=true" align="right" height="320px"/> <a href="https://xn--931a.moe/"><img src="https://github.com/syuilo/misskey/blob/develop/assets/ai-orig.png?raw=true" align="right" height="320px"/></a>
[![Misskey](/assets/title.png)](https://misskey.xyz/) [![Misskey](/assets/title.png)](https://misskey.io/)
================================================================ ================================================================
[![CircleCI](https://img.shields.io/circleci/project/github/syuilo/misskey.svg?style=for-the-badge)](https://circleci.com/gh/syuilo/misskey) [![CircleCI](https://img.shields.io/circleci/project/github/syuilo/misskey.svg?style=for-the-badge&logo=circleci)](https://circleci.com/gh/syuilo/misskey)
[![Dependencies](https://img.shields.io/david/syuilo/misskey.svg?style=for-the-badge)](https://david-dm.org/syuilo/misskey) [![Dependencies](https://img.shields.io/david/syuilo/misskey.svg?style=for-the-badge&logo=npm)](https://david-dm.org/syuilo/misskey)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=for-the-badge)](http://makeapullrequest.com) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=for-the-badge&logo=github)](http://makeapullrequest.com)
**Sophisticated microblogging platform, evolving forever.** **A forever evolving, sophisticated microblogging platform.**
<p align="justify"> <p align="justify">
<a href="https://misskey.xyz">Misskey</a> is a decentralized microblogging platform born on Earth. <a href="https://misskey.io">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), Since it exists within the Fediverse (a universe where various social media platforms are organized),
it is mutually linked with other social media platforms. 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? <a href="https://joinmisskey.github.io/">Find instance!</a> 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 an instance!</a>
</p> </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> <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>
@ -27,7 +27,7 @@ Why don't you take a short break from the hustle and bustle of the city, and div
<h3 align="left">Posting</h3> <h3 align="left">Posting</h3>
<p align="justify"> <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! Post your ideas, discussion topics, fun moments, or anything else you want to share! Misskey supports text, emoji, pictures, videos, and polls!
</p> </p>
--- ---
@ -36,7 +36,7 @@ Just post your idea, hot topics and anything you want to share. You may decorate
<h3 align="right">Reactions</h3> <h3 align="right">Reactions</h3>
<p align="justify"> <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”. Reactions are the simplest way to respond to others' posts. Simply pick a reaction emote from the list! Reactions on Misskey are much more expressive than other social media services which only allow “liking”.
</p> </p>
--- ---
@ -45,7 +45,7 @@ The simplest way to tell your emotions to the posts. You can choose the best rea
<h3 align="left">Interface</h3> <h3 align="left">Interface</h3>
<p align="justify"> <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. Customize the UI to your own tastes! No UI will work for everyone, so Misskey is completely customizable. Make Misskey *yours* by editing the style, adjusting timeline layouts, and placing widgets.
</p> </p>
--- ---
@ -54,61 +54,120 @@ Highly customizable UI for your taste. We understand no UI fits for everyone. Ma
<h3 align="right">Misskey Drive</h3> <h3 align="right">Misskey Drive</h3>
<p align="justify"> <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. Organize and store your files! Want to post a picture you have already uploaded? Wish you could organize your files into folders? Misskey Drive is a solution!
</p> </p>
--- ---
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/). ...and more! Experience Misskey with your own eyes at [misskey.io](https://misskey.io/) or join one of the [other instances](https://joinmisskey.github.io/) that are available.
Screen shots
----------------------------------------------------------------
### Profile page
<img src="/assets/ss/user.jpg" width="500px"/>
### Explore users
<img src="/assets/ss/explore.jpg" width="500px"/>
:new: What's new
----------------------------------------------------------------
Please see the [Release notes](./CHANGELOG.md).
:package: Create your own instance :package: Create your own instance
---------------------------------------------------------------- ----------------------------------------------------------------
Please see [Setup and installation guide](./docs/setup.en.md). Please see the [Setup and Installation Guide](./docs/setup.en.md).
:wrench: Contribution :wrench: Contribution
---------------------------------------------------------------- ----------------------------------------------------------------
Please see [Contribution guide](./CONTRIBUTING.md). Please see the [Contribution Guide](./CONTRIBUTING.md).
:heart: Backers & Sponsors ### Collaborators
<table>
<tr>
<td><img src="https://avatars3.githubusercontent.com/u/4439005?s=460&v=4" alt="syuilo" width="100"></td>
<td><img src="https://avatars0.githubusercontent.com/u/10798641?s=460&v=4" alt="AyaMorisawa" width="100"></td>
<td><img src="https://avatars1.githubusercontent.com/u/30769358?s=460&v=4" alt="mei23" width="100"></td>
<td><img src="https://avatars2.githubusercontent.com/u/20679825?s=460&v=4" alt="acid-chicken" width="100"></td>
<td><img src="https://avatars2.githubusercontent.com/u/6533808?s=460&v=4" alt="rinsuki" width="100"></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/syuilo">@syuilo</a></td>
<td align="center"><a href="https://github.com/AyaMorisawa">@AyaMorisawa</a></td>
<td align="center"><a href="https://github.com/mei23">@mei23</a></td>
<td align="center"><a href="https://github.com/acid-chicken">@acid-chicken</a></td>
<td align="center"><a href="https://github.com/rinsuki">@rinsuki</a></td>
</tr>
</table>
:heart: Backers
---------------------------------------------------------------- ----------------------------------------------------------------
<!-- PATREON_START --> <!-- PATREON_START -->
<table><tr> <table><tr>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12190916/fb7fa7983c14425f890369535b1506a4/1?token-time=2145916800&token-hash=WeuDzzz24cRXJogyIkU-mxARqkdyms-rcZKbO-GpGjw%3D" alt="weep" width="100"></td> <td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5888816/36da0f7c15954df0ab13f9abdf227f66/1.jpeg?token-time=2145916800&token-hash=at8QpJXJ8C0zINY_NmoMKv-MhXVoUK-YzTgaJPJzJYU%3D" alt="Hiroshi Seki" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12731202/0995c46cdcb54153ab5f073f5869b70a/1?token-time=2145916800&token-hash=prtYqPOiSHBulhM7NU0VzMaWx39-9ntdq25b6kafDNA%3D" alt="negao" width="100"></td> <td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12190916/fb7fa7983c14425f890369535b1506a4/3.png?token-time=2145916800&token-hash=oH_i7gJjNT7Ot6j9JiVwy7ZJIBqACVnzLqlz4YrDAZA%3D" alt="weepjp" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12913507/f7181eacafe8469a93033d85f5969c29/2?token-time=2145916800&token-hash=djaJ9cwy9uwTiF9UFtxYQdS8Nw7BhyfaREzZUbErN-0%3D" alt="Melilot" width="100"></td> <td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/19045173/cb91c0f345c24d4ebfd05f19906d5e26/1.png?token-time=2145916800&token-hash=o_zKBytJs_AxHwSYw_5R8eD0eSJe3RoTR3kR3Q0syN0%3D" alt="kiritan" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12999811/5f349fafcce44dd1824a8b1ebbec4564/3?token-time=2145916800&token-hash=LtV2lRi3L2jOWMLwccr9qWYfPrFlzIo2jYZHKzHEb6k%3D" alt="Xeltica" width="100"></td> <td><img src="https://c8.patreon.com/2/200/776209" alt="Denshi" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/3384329/8b713330cb27404ea6e9fac50ff96efe/1?token-time=2145916800&token-hash=Ch3iF81ZGP0LMo894Y9ajpLisgtE91SnxtZE7fxsgrM%3D" alt="べすれい" width="100"></td> <td><img src="https://c8.patreon.com/2/200/557245" alt="mkatze" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12021162/963128bb8d14476dbd8407943db8f31a/1?token-time=2145916800&token-hash=1FlxS9MEgmNGH_RHUVHbO5hIXB5I1z0lvA33CTvYvjA%3D" alt="gutfuckllc" width="100"></td> <td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/13099460/43cecdbaa63a40d79bf50a96b9910b9d/1.jpe?token-time=2145916800&token-hash=bqwLTk0Wo0hUJJ8J5y7ii05bLzz-_CDA7Bo0Mp4RFU0%3D" alt="ne_moni" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12913507/f7181eacafe8469a93033d85f5969c29/4.jpe?token-time=2145916800&token-hash=zEyJqVM7u9d8Ri-65fJYSJcWF1jBH1nJ5a3taRzrTmw%3D" alt="Melilot" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5670915/ee175f0bfb6347ffa4ea101a8c097bff/1.jpg?token-time=2145916800&token-hash=mPLM9CA-riFHx-myr3bLZJuH2xBRHA9se5VbHhLIOuA%3D" alt="osapon" width="100"></td>
</tr><tr> </tr><tr>
<td><a href="https://www.patreon.com/weepjp">weep</a></td> <td><a href="https://www.patreon.com/rane_hs">Hiroshi Seki</a></td>
<td><a href="https://www.patreon.com/negao">negao</a></td> <td><a href="https://www.patreon.com/weepjp">weepjp</a></td>
<td><a href="https://www.patreon.com/user?u=19045173">kiritan</a></td>
<td><a href="https://www.patreon.com/user?u=776209">Denshi</a></td>
<td><a href="https://www.patreon.com/user?u=557245">mkatze</a></td>
<td><a href="https://www.patreon.com/user?u=13099460">ne_moni</a></td>
<td><a href="https://www.patreon.com/user?u=12913507">Melilot</a></td> <td><a href="https://www.patreon.com/user?u=12913507">Melilot</a></td>
<td><a href="https://www.patreon.com/Xeltica">Xeltica</a></td> <td><a href="https://www.patreon.com/osapon">osapon</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>
</tr></table> </tr></table>
<table><tr> <table><tr>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/11357794/923ce94cd8c44ba788ee931907881839/1?token-time=2145916800&token-hash=0xgcpqvFDqRcV_YIEhcPNVH7gs9sLg_BBnTJXCkN4ao%3D" alt="mydarkstar" width="100"></td> <td><img src="https://c8.patreon.com/2/200/16869916" alt="見当かなみ" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/18899730/6a22797f68254034a854d69ea2445fc8/1.png?token-time=2145916800&token-hash=b_uj57yxo5VzkSOUS7oXE_762dyOTB_oxzbO6lFNG3k%3D" alt="YuzuRyo61" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/11357794/923ce94cd8c44ba788ee931907881839/1.png?token-time=2145916800&token-hash=9nEQje_eMvUjq9a7L3uBqW-MQbS-rRMaMgd7UYVoFNM%3D" alt="mydarkstar" width="100"></td>
<td><img src="https://c8.patreon.com/2/200/12718187" alt="Peter G." width="100"></td> <td><img src="https://c8.patreon.com/2/200/12718187" alt="Peter G." width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/13039004/509d0c412eb14ae08d6a812a3054f7d6/1?token-time=2145916800&token-hash=2PsbFNw0tnubZzgSXD01R6hIgncfiElG7H7HX2Y3dyo%3D" alt="nemu" width="100"></td> <td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/13039004/509d0c412eb14ae08d6a812a3054f7d6/1.jpe?token-time=2145916800&token-hash=UQRWf01TwHDV4Cls1K0YAOAjM29ssif7hLVq0ESQ0hs%3D" alt="nemu" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5881381/6235ca5d3fb04c8e95ef5b4ff2abcc18/3?token-time=2145916800&token-hash=9JtETp0X8gI280Ne1E8bxn6j4Lw5o2k4mJkICx97V_k%3D" alt="YUKIMOCHI" width="100"></td> <td><img src="https://c8.patreon.com/2/200/17866454" alt="sikyosyounin" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/8241184/39e18850e87a449e9c9a71acb3310ebd/2?token-time=2145916800&token-hash=zrInDotuEIFslKphuSiCqr3M-r-rveTXjVKWr-VK6M0%3D" alt="Acid Chicken" width="100"></td> <td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5881381/6235ca5d3fb04c8e95ef5b4ff2abcc18/3.png?token-time=2145916800&token-hash=KjfQL8nf3AIf6WqzLshBYAyX44piAqOAZiYXgZS_H6A%3D" alt="YUKIMOCHI" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/13034746/c711c7f58e204ecfbc2fd646bc8a4eee/1?token-time=2145916800&token-hash=5T8XcaAf9Zyzfg3QubR06s_kJZkArVEM2dwObrBVAU4%3D" alt="Hiratake" width="100"></td> <td><img src="https://c8.patreon.com/2/200/17463605" alt="Sampot" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/10789744/97175095d8f04c0f86225ff47cb98d40/1?token-time=2145916800&token-hash=ubVARikVOg3v7NW6LDhtG-ClE1LTU3I2TJ3js2-5xDs%3D" alt="Naoki Hirayama" width="100"></td> <td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/19356899/496b4681d33b4520bd7688e0fd19c04d/2.jpeg?token-time=2145916800&token-hash=_sTj3dUBOhn9qwiJ7F19Qd-yWWfUqJC_0jG1h0agEqQ%3D" alt="sheeta.s" width="100"></td>
</tr><tr> </tr><tr>
<td><a href="https://www.patreon.com/user?u=16869916">見当かなみ</a></td>
<td><a href="https://www.patreon.com/Yuzulia">YuzuRyo61</a></td>
<td><a href="https://www.patreon.com/mydarkstar">mydarkstar</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=12718187">Peter G.</a></td>
<td><a href="https://www.patreon.com/user?u=13039004">nemu</a></td> <td><a href="https://www.patreon.com/user?u=13039004">nemu</a></td>
<td><a href="https://www.patreon.com/user?u=17866454">sikyosyounin</a></td>
<td><a href="https://www.patreon.com/yukimochi">YUKIMOCHI</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/user?u=17463605">Sampot</a></td>
<td><a href="https://www.patreon.com/user?u=19356899">sheeta.s</a></td>
</tr></table>
<table><tr>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/13737140/1adf7835017d479280d90fe8d30aade2/1.png?token-time=2145916800&token-hash=0pdle8h5pDZrww0BDOjdz6zO-HudeGTh36a3qi1biVU%3D" alt="Satsuki Yanagi" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/17880724/311738c8a48f4a6b9443c2445a75adde/1.jpe?token-time=2145916800&token-hash=CPxGQhKIlEaa6WUcgbyHixyKEhakiw9RFdOhsIJBQ_o%3D" alt="takimura" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/16900731/83884b38afc74d4cbe83c30a13b10edd/1.png?token-time=2145916800&token-hash=R5Tog8RWg0rguRoCIoir3lThokrdPvs8Utfikhc0nhY%3D" alt="Atsuko Tominaga" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/4389829/9f709180ac714651a70f74a82f3ffdb9/3.png?token-time=2145916800&token-hash=FTm3WVom4dJ9NwWMU4OpCL_8Yc13WiwEbKrDPyTZTPs%3D" alt="natalie" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/13034746/c711c7f58e204ecfbc2fd646bc8a4eee/1.jpe?token-time=2145916800&token-hash=EWxXhVbZYH7KB4IDT3joc8TbIg8zPO40x1r5IDn3R7c%3D" alt="Hiratake" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5923936/2a743cbfbff946c2af3f09026047c0da/2.png?token-time=2145916800&token-hash=h6yphW1qnM0n_NOWaf8qtszMRLXEwIxfk5beu4RxdT0%3D" alt="noellabo" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/2384390/5681180e1efb46a8b28e0e8d4c8b9037/1.jpg?token-time=2145916800&token-hash=SJcMy-Q1BcS940-LFUVOMfR7-5SgrzsEQGhYb3yowFk%3D" alt="CG" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/18072312/98e894d960314fa7bc236a72a39488fe/1.jpe?token-time=2145916800&token-hash=qA8j97lIZNc-74AuZ0p4F3ms6sKPeKjtNt2vEuwpsyo%3D" alt="Hekovic" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/10789744/97175095d8f04c0f86225ff47cb98d40/1.jpeg?token-time=2145916800&token-hash=l4AoMR7Nj7K4yAHrkrk2hAoggPkbSPm12m1nmbe9Pb8%3D" alt="Naoki Hirayama" width="100"></td>
</tr><tr>
<td><a href="https://www.patreon.com/user?u=13737140">Satsuki Yanagi</a></td>
<td><a href="https://www.patreon.com/takimura">takimura</a></td>
<td><a href="https://www.patreon.com/user?u=16900731">Atsuko Tominaga</a></td>
<td><a href="https://www.patreon.com/user?u=4389829">natalie</a></td>
<td><a href="https://www.patreon.com/hiratake">Hiratake</a></td> <td><a href="https://www.patreon.com/hiratake">Hiratake</a></td>
<td><a href="https://www.patreon.com/noellabo">noellabo</a></td>
<td><a href="https://www.patreon.com/Corset">CG</a></td>
<td><a href="https://www.patreon.com/hekovic">Hekovic</a></td>
<td><a href="https://www.patreon.com/spinlock">Naoki Hirayama</a></td> <td><a href="https://www.patreon.com/spinlock">Naoki Hirayama</a></td>
</tr></table> </tr></table>
<table><tr> <table><tr>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/4503830/ccf2cc867ea64de0b524bb2e24b9a1cb/1?token-time=2145916800&token-hash=Ksk_2l3gjPDbnzMUOCSW1E-hdPJsNs2tSR4_RAakRK8%3D" alt="dansup" width="100"></td> <td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/4503830/ccf2cc867ea64de0b524bb2e24b9a1cb/1.jpeg?token-time=2145916800&token-hash=L55UhJ0rcuNAH3w_ryeeGN4hC6taoOixyAhraEi0bzw%3D" alt="dansup" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/619786/32cf01444db24e578cd1982c197f6fc6/1?token-time=2145916800&token-hash=CXe9AqlZy9AsYfiWd3OBYVOzvODoN47Litz0Tu4BFpU%3D" alt="Gargron" width="100"></td> <td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/619786/32cf01444db24e578cd1982c197f6fc6/1.jpeg?token-time=2145916800&token-hash=d8jBQLMOHD87KtXs5C9fk1o58DMF73pQ-dYH3uZJPBE%3D" alt="Gargron" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5731881/4b6038e6cda34c04b83a5fcce3806a93/1?token-time=2145916800&token-hash=xhR1n6NAAyEb-IUXLD6_dshkFa3mefU5ZZuk1L8qKTs%3D" alt="Nokotaro Takeda" width="100"></td> <td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5731881/4b6038e6cda34c04b83a5fcce3806a93/1.png?token-time=2145916800&token-hash=hBayGfOmQH3kRMdNnDe4oCZD_9fsJWSt29xXR3KRMVk%3D" alt="Nokotaro Takeda" width="100"></td>
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12531784/93a45137841849329ba692da92ac7c60/1?token-time=2145916800&token-hash=uR-48MQ0A4j0irQSrCAQZJ-sJUSs_Fkihlg3-l59b7c%3D" alt="Takashi Shibuya" width="100"></td> <td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12531784/93a45137841849329ba692da92ac7c60/1.jpeg?token-time=2145916800&token-hash=vGe7wXGqmA8Q7m-kDNb6fyGdwk-Dxk4F-ut8ZZu51RM%3D" alt="Takashi Shibuya" width="100"></td>
</tr><tr> </tr><tr>
<td><a href="https://www.patreon.com/dansup">dansup</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/mastodon">Gargron</a></td>
@ -116,14 +175,14 @@ Please see [Contribution guide](./CONTRIBUTING.md).
<td><a href="https://www.patreon.com/user?u=12531784">Takashi Shibuya</a></td> <td><a href="https://www.patreon.com/user?u=12531784">Takashi Shibuya</a></td>
</tr></table> </tr></table>
**Last updated:** Sun, 06 Jan 2019 21:53:06 UTC **Last updated:** Mon, 01 Jul 2019 21:44:06 UTC
<!-- PATREON_END --> <!-- PATREON_END -->
:four_leaf_clover: Copyright :four_leaf_clover: Copyright
---------------------------------------------------------------- ----------------------------------------------------------------
> Copyright (c) 2014-2019 syuilo > Copyright (c) 2014-2019 syuilo
Misskey is an open-source software licensed under the [GNU AGPLv3](LICENSE). Misskey is open-source software licensed under the [GNU AGPLv3](LICENSE).
[![][agpl-3.0-badge]][AGPL-3.0] [![][agpl-3.0-badge]][AGPL-3.0]

BIN
assets/api-doc.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

4
assets/robots.txt Normal file
View File

@ -0,0 +1,4 @@
user-agent: *
allow: /
# todo: sitemap

BIN
assets/ss/explore.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 KiB

BIN
assets/ss/user.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

View File

@ -1,9 +0,0 @@
{
'targets': [
{
'target_name': 'crypto_key',
'sources': ['src/crypto_key.cc'],
'include_dirs': ['<!(node -e "require(\'nan\')")']
}
]
}

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 admin ${user}...`);
User.update(q, {
$set: {
isAdmin: true
}
}).then(() => {
console.log(`Done ${user}`);
}, e => {
console.error(e);
});

View File

@ -1,57 +0,0 @@
// for Node.js interpret
const chalk = require('chalk');
const sequential = require('promise-sequential');
const { default: User } = require('../../built/models/user');
const { default: DriveFile } = require('../../built/models/drive-file');
async function main() {
const promiseGens = [];
const count = await DriveFile.count({});
let prev;
for (let i = 0; i < count; i++) {
promiseGens.push(() => {
const promise = new Promise(async (res, rej) => {
const file = await DriveFile.findOne(prev ? {
_id: { $gt: prev._id }
} : {}, {
sort: {
_id: 1
}
});
prev = file;
const user = await User.findOne({ _id: file.metadata.userId });
DriveFile.update({
_id: file._id
}, {
$set: {
'metadata._user': {
host: user.host
}
}
}).then(() => {
res([i, file]);
}).catch(rej);
});
promise.then(([i, file]) => {
console.log(chalk`{gray ${i}} {green done: {bold ${file._id}} ${file.filename}}`);
});
return promise;
});
}
return await sequential(promiseGens);
}
main().then(() => {
console.log('ALL DONE');
}).catch(console.error);

View File

@ -1,71 +0,0 @@
// for Node.js interpret
const chalk = require('chalk');
const sequential = require('promise-sequential');
const { default: User } = require('../../built/models/user');
const { default: DriveFile } = require('../../built/models/drive-file');
async function main() {
const promiseGens = [];
const count = await User.count({});
let prev;
for (let i = 0; i < count; i++) {
promiseGens.push(() => {
const promise = new Promise(async (res, rej) => {
const user = await User.findOne(prev ? {
_id: { $gt: prev._id }
} : {}, {
sort: {
_id: 1
}
});
prev = user;
const set = {};
if (user.avatarId != null) {
const file = await DriveFile.findOne({ _id: user.avatarId });
if (file && file.metadata.properties.avgColor) {
set.avatarColor = file.metadata.properties.avgColor;
}
}
if (user.bannerId != null) {
const file = await DriveFile.findOne({ _id: user.bannerId });
if (file && file.metadata.properties.avgColor) {
set.bannerColor = file.metadata.properties.avgColor;
}
}
if (Object.keys(set).length === 0) return res([i, user]);
User.update({
_id: user._id
}, {
$set: set
}).then(() => {
res([i, user]);
}).catch(rej);
});
promise.then(([i, user]) => {
console.log(chalk`{gray ${i}} {green done: {bold ${user._id}} @${user.username}}`);
});
return promise;
});
}
return await sequential(promiseGens);
}
main().then(() => {
console.log('ALL DONE');
}).catch(console.error);

View File

@ -1,9 +0,0 @@
const { default: DriveFile } = require('../../built/models/drive-file');
DriveFile.update({}, {
$rename: {
'metadata.isMetaOnly': 'metadata.withoutChunks'
}
}, {
multi: true
});

View File

@ -1,134 +0,0 @@
const { default: Stats } = require('../../built/models/stats');
const { default: User } = require('../../built/models/user');
const { default: Note } = require('../../built/models/note');
const { default: DriveFile } = require('../../built/models/drive-file');
const now = new Date();
const y = now.getFullYear();
const m = now.getMonth();
const d = now.getDate();
const today = new Date(y, m, d);
async function main() {
const localUsersCount = await User.count({
host: null
});
const remoteUsersCount = await User.count({
host: { $ne: null }
});
const localNotesCount = await Note.count({
'_user.host': null
});
const remoteNotesCount = await Note.count({
'_user.host': { $ne: null }
});
const localDriveFilesCount = await DriveFile.count({
'metadata._user.host': null
});
const remoteDriveFilesCount = await DriveFile.count({
'metadata._user.host': { $ne: null }
});
const localDriveFilesSize = await DriveFile
.aggregate([{
$match: {
'metadata._user.host': null,
'metadata.deletedAt': { $exists: false }
}
}, {
$project: {
length: true
}
}, {
$group: {
_id: null,
usage: { $sum: '$length' }
}
}])
.then(aggregates => {
if (aggregates.length > 0) {
return aggregates[0].usage;
}
return 0;
});
const remoteDriveFilesSize = await DriveFile
.aggregate([{
$match: {
'metadata._user.host': { $ne: null },
'metadata.deletedAt': { $exists: false }
}
}, {
$project: {
length: true
}
}, {
$group: {
_id: null,
usage: { $sum: '$length' }
}
}])
.then(aggregates => {
if (aggregates.length > 0) {
return aggregates[0].usage;
}
return 0;
});
await Stats.insert({
date: today,
users: {
local: {
total: localUsersCount,
diff: 0
},
remote: {
total: remoteUsersCount,
diff: 0
}
},
notes: {
local: {
total: localNotesCount,
diff: 0,
diffs: {
normal: 0,
reply: 0,
renote: 0
}
},
remote: {
total: remoteNotesCount,
diff: 0,
diffs: {
normal: 0,
reply: 0,
renote: 0
}
}
},
drive: {
local: {
totalCount: localDriveFilesCount,
totalSize: localDriveFilesSize,
diffCount: 0,
diffSize: 0
},
remote: {
totalCount: remoteDriveFilesCount,
totalSize: remoteDriveFilesSize,
diffCount: 0,
diffSize: 0
}
}
});
console.log('done');
}
main();

View File

@ -1,144 +0,0 @@
const { default: Stats } = require('../../built/models/stats');
const { default: User } = require('../../built/models/user');
const { default: Note } = require('../../built/models/note');
const { default: DriveFile } = require('../../built/models/drive-file');
const now = new Date();
const y = now.getFullYear();
const m = now.getMonth();
const d = now.getDate();
const h = now.getHours();
const date = new Date(y, m, d, h);
async function main() {
await Stats.update({}, {
$set: {
span: 'day'
}
}, {
multi: true
});
const localUsersCount = await User.count({
host: null
});
const remoteUsersCount = await User.count({
host: { $ne: null }
});
const localNotesCount = await Note.count({
'_user.host': null
});
const remoteNotesCount = await Note.count({
'_user.host': { $ne: null }
});
const localDriveFilesCount = await DriveFile.count({
'metadata._user.host': null
});
const remoteDriveFilesCount = await DriveFile.count({
'metadata._user.host': { $ne: null }
});
const localDriveFilesSize = await DriveFile
.aggregate([{
$match: {
'metadata._user.host': null,
'metadata.deletedAt': { $exists: false }
}
}, {
$project: {
length: true
}
}, {
$group: {
_id: null,
usage: { $sum: '$length' }
}
}])
.then(aggregates => {
if (aggregates.length > 0) {
return aggregates[0].usage;
}
return 0;
});
const remoteDriveFilesSize = await DriveFile
.aggregate([{
$match: {
'metadata._user.host': { $ne: null },
'metadata.deletedAt': { $exists: false }
}
}, {
$project: {
length: true
}
}, {
$group: {
_id: null,
usage: { $sum: '$length' }
}
}])
.then(aggregates => {
if (aggregates.length > 0) {
return aggregates[0].usage;
}
return 0;
});
await Stats.insert({
date: date,
span: 'hour',
users: {
local: {
total: localUsersCount,
diff: 0
},
remote: {
total: remoteUsersCount,
diff: 0
}
},
notes: {
local: {
total: localNotesCount,
diff: 0,
diffs: {
normal: 0,
reply: 0,
renote: 0
}
},
remote: {
total: remoteNotesCount,
diff: 0,
diffs: {
normal: 0,
reply: 0,
renote: 0
}
}
},
drive: {
local: {
totalCount: localDriveFilesCount,
totalSize: localDriveFilesSize,
diffCount: 0,
diffSize: 0
},
remote: {
totalCount: remoteDriveFilesCount,
totalSize: remoteDriveFilesSize,
diffCount: 0,
diffSize: 0
}
}
});
console.log('done');
}
main();

View File

@ -5,8 +5,8 @@ services:
build: . build: .
restart: always restart: always
links: links:
- mongo - db
# - redis - redis
# - es # - es
ports: ports:
- "127.0.0.1:3000:3000" - "127.0.0.1:3000:3000"
@ -14,26 +14,23 @@ services:
- internal_network - internal_network
- external_network - external_network
# redis: redis:
# restart: always
# image: redis:4.0-alpine
# networks:
# - internal_network
### Uncomment to enable Redis persistance
## volumes:
## - ./redis:/data
mongo:
restart: always restart: always
image: mongo:4.1 image: redis:4.0-alpine
networks: networks:
- internal_network - internal_network
environment:
MONGO_INITDB_DATABASE: "misskey"
volumes: volumes:
- ./.config/mongo_initdb.js:/docker-entrypoint-initdb.d/mongo_initdb.js:ro - ./redis:/data
### Uncomment to enable MongoDB persistance
# - ./mongo:/data db:
restart: always
image: postgres:11.2-alpine
networks:
- internal_network
env_file:
- .config/docker.env
volumes:
- ./db:/var/lib/postgresql/data
# es: # es:
# restart: always # restart: always
@ -42,9 +39,8 @@ services:
# - "ES_JAVA_OPTS=-Xms512m -Xmx512m" # - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
# networks: # networks:
# - internal_network # - internal_network
#### Uncomment to enable ES persistence # volumes:
## volumes: # - ./elasticsearch:/usr/share/elasticsearch/data
## - ./elasticsearch:/usr/share/elasticsearch/data
networks: networks:
internal_network: internal_network:

View File

@ -1,22 +0,0 @@
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/).

View File

@ -1,22 +0,0 @@
How to backup your Misskey
==========================
Make sure **mongodb-tools** installed.
---
In your shell:
``` shell
$ mongodump --archive=db-backup -u <YourUserName> -p <YourPassword>
```
For details, please see [mongodump docs](https://docs.mongodb.com/manual/reference/program/mongodump/).
Restore
-------
``` shell
$ mongorestore --archive=db-backup
```
For details, please see [mongorestore docs](https://docs.mongodb.com/manual/reference/program/mongorestore/).

View File

@ -9,15 +9,51 @@ This guide describes how to install and setup Misskey with Docker.
*1.* Download Misskey *1.* Download Misskey
---------------------------------------------------------------- ----------------------------------------------------------------
1. `git clone -b master git://github.com/syuilo/misskey.git` Clone Misskey repository's master branch. 1. 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. `git clone -b master git://github.com/syuilo/misskey.git`
2. Move to misskey directory.
`cd misskey`
3. Checkout to the [latest release](https://github.com/syuilo/misskey/releases/latest) tag.
`git checkout master`
*2.* Configure Misskey *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`. Create configuration files with following:
3. Edit `default.yml` and `mongo_initdb.js`.
```bash
cd .config
cp example.yml default.yml
cp docker_example.env docker.env
```
### `default.yml`
Edit this file the same as non-Docker environment.
However hostname of Postgresql, Redis and Elasticsearch are not `localhost`, they are set in `docker-compose.yml`.
The following is default hostname:
| Service | Hostname |
|---------------|----------|
| Postgresql | `db` |
| Redis | `redis` |
| Elasticsearch | `es` |
### `docker.env`
Configure Postgresql in this file.
The minimum required settings are:
| name | Description |
|---------------------|---------------|
| `POSTGRES_PASSWORD` | Password |
| `POSTGRES_USER` | Username |
| `POSTGRES_DB` | Database name |
*3.* Configure Docker *3.* Configure Docker
---------------------------------------------------------------- ----------------------------------------------------------------
@ -29,7 +65,13 @@ Build misskey with the following:
`docker-compose build` `docker-compose build`
*5.* That is it. *5.* Init DB
----------------------------------------------------------------
``` shell
docker-compose run --rm web npm run init
```
*6.* That is it.
---------------------------------------------------------------- ----------------------------------------------------------------
Well done! Now you have an environment to run Misskey. Well done! Now you have an environment to run Misskey.
@ -37,9 +79,9 @@ Well done! Now you have an environment to run Misskey.
Just `docker-compose up -d`. GLHF! Just `docker-compose up -d`. GLHF!
### How to update your Misskey server to the latest version ### How to update your Misskey server to the latest version
1. `git fetch` 1. `git stash`
2. `git stash` 2. `git checkout master`
3. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)` 3. `git pull`
4. `git stash pop` 4. `git stash pop`
5. `docker-compose build` 5. `docker-compose build`
6. Check [ChangeLog](../CHANGELOG.md) for migration information 6. Check [ChangeLog](../CHANGELOG.md) for migration information

View File

@ -10,15 +10,23 @@ Ce guide explique comment installer et configurer Misskey avec Docker.
*1.* Télécharger Misskey *1.* Télécharger Misskey
---------------------------------------------------------------- ----------------------------------------------------------------
1. `git clone -b master git://github.com/syuilo/misskey.git` Clone le dépôt de Misskey sur la branche master. 1. Clone le dépôt de Misskey sur la branche master.
2. `cd misskey` Permet de se déplacer dans le dossier du dépôt.
3. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)` Checkout sur le tag de la [dernière version](https://github.com/syuilo/misskey/releases/latest). `git clone -b master git://github.com/syuilo/misskey.git`
2. Naviguez dans le dossier du dépôt.
`cd misskey`
3. Checkout sur le tag de la [dernière version](https://github.com/syuilo/misskey/releases/latest).
`git checkout master`
*2.* Configuration de Misskey *2.* Configuration de Misskey
---------------------------------------------------------------- ----------------------------------------------------------------
1. `cp .config/example.yml .config/default.yml` Copie le fichier `.config/example.yml` et le renommer en `default.yml`. 1. `cp .config/example.yml .config/default.yml` Copiez le fichier `.config/example.yml` et renommez-le `default.yml`.
2. `cp .config/mongo_initdb_example.js .config/mongo_initdb.js` Copie le fichier `.config/mongo_initdb_example.js` et le renomme en `mongo_initdb.js`. 2. `cp .config/mongo_initdb_example.js .config/mongo_initdb.js` Copie le fichier `.config/mongo_initdb_example.js` et le renomme en `mongo_initdb.js`.
3. Editer `default.yml` et `mongo_initdb.js`. 3. Editez `default.yml` et `mongo_initdb.js`.
*3.* Configurer Docker *3.* Configurer Docker
---------------------------------------------------------------- ----------------------------------------------------------------
@ -38,9 +46,9 @@ Parfait, Vous avez un environnement prêt pour démarrer Misskey.
Utilisez la commande `docker-compose up -d`. GLHF! Utilisez la commande `docker-compose up -d`. GLHF!
### How to update your Misskey server to the latest version ### How to update your Misskey server to the latest version
1. `git fetch` 1. `git stash`
2. `git stash` 2. `git checkout master`
3. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)` 3. `git pull`
4. `git stash pop` 4. `git stash pop`
5. `docker-compose build` 5. `docker-compose build`
6. Consultez le [ChangeLog](../CHANGELOG.md) pour avoir les éventuelles informations de migration 6. Consultez le [ChangeLog](../CHANGELOG.md) pour avoir les éventuelles informations de migration
@ -52,16 +60,30 @@ Utilisez la commande `docker-compose up -d`. GLHF!
### Configuration d'ElasticSearch (pour la fonction de recherche) ### Configuration d'ElasticSearch (pour la fonction de recherche)
*1.* Préparation de l'environnement *1.* Préparation de l'environnement
---------------------------------------------------------------- ----------------------------------------------------------------
1. `mkdir elasticsearch && chown 1000:1000 elasticsearch` Permet de créer le dossier d'accueil de la base ElasticSearch aves les bons droits 1. Permet de créer le dossier d'accueil de la base ElasticSearch aves les bons droits
2. `sysctl -w vm.max_map_count=262144` Augmente la valeur max du paramètre map_count du système (valeur minimum pour pouvoir lancer ES)
`mkdir elasticsearch && chown 1000:1000 elasticsearch`
2. Augmente la valeur max du paramètre map_count du système (valeur minimum pour pouvoir lancer ES)
`sysctl -w vm.max_map_count=262144`
*2.* Après lancement du docker-compose, initialisation de la base ElasticSearch *2.* Après lancement du docker-compose, initialisation de la base ElasticSearch
---------------------------------------------------------------- ----------------------------------------------------------------
1. `docker-compose -it web /bin/sh` Connexion dans le conteneur web 1. Connexion dans le conteneur web
2. `apk add curl` Ajout du paquet curl
3. `curl -X PUT "es:9200/misskey" -H 'Content-Type: application/json' -d'{ "settings" : { "index" : { } }}'` Création de la base ES `docker-compose -it web /bin/sh`
2. Ajout du paquet curl
`apk add curl`
3. Création de la base ES
`curl -X PUT "es:9200/misskey" -H 'Content-Type: application/json' -d'{ "settings" : { "index" : { } }}'`
4. `exit` 4. `exit`
---------------------------------------------------------------- ----------------------------------------------------------------
Si vous avez des questions ou des problèmes, n'hésitez pas à nous contacter ! Si vous avez des questions ou des problèmes, n'hésitez pas à nous contacter !

View File

@ -9,15 +9,51 @@ Dockerを使ったMisskey構築方法
*1.* Misskeyのダウンロード *1.* Misskeyのダウンロード
---------------------------------------------------------------- ----------------------------------------------------------------
1. `git clone -b master git://github.com/syuilo/misskey.git` masterブランチからMisskeyレポジトリをクローン 1. 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.* 設定ファイルを作成する `git clone -b master git://github.com/syuilo/misskey.git`
2. misskeyディレクトリに移動
`cd misskey`
3. [最新のリリース](https://github.com/syuilo/misskey/releases/latest)を確認
`git checkout master`
*2.* 設定ファイルの作成と編集
---------------------------------------------------------------- ----------------------------------------------------------------
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`を編集する
```bash
cd .config
cp example.yml default.yml
cp docker_example.env docker.env
```
### `default.yml`の編集
非Docker環境と同じ様に編集してください。
ただし、Postgresql、RedisとElasticsearchのホストは`localhost`ではなく、`docker-compose.yml`で設定されたサービス名になっています。
標準設定では次の通りです。
| サービス | ホスト名 |
|---------------|---------|
| Postgresql |`db` |
| Redis |`redis` |
| Elasticsearch |`es` |
### `docker.env`の編集
このファイルはPostgresqlの設定を記述します。
最低限記述する必要がある設定は次の通りです。
| 設定 | 内容 |
|---------------------|--------------|
| `POSTGRES_PASSWORD` | パスワード |
| `POSTGRES_USER` | ユーザー名 |
| `POSTGRES_DB` | データベース名 |
*3.* Dockerの設定 *3.* Dockerの設定
---------------------------------------------------------------- ----------------------------------------------------------------
@ -29,7 +65,13 @@ Dockerを使ったMisskey構築方法
`docker-compose build` `docker-compose build`
*5.* 以上です! *5.* データベースを初期化
----------------------------------------------------------------
``` shell
docker-compose run --rm web npm run init
```
*6.* 以上です!
---------------------------------------------------------------- ----------------------------------------------------------------
お疲れ様でした。これでMisskeyを動かす準備は整いました。 お疲れ様でした。これでMisskeyを動かす準備は整いました。
@ -37,9 +79,9 @@ Dockerを使ったMisskey構築方法
`docker-compose up -d`するだけです。GLHF! `docker-compose up -d`するだけです。GLHF!
### Misskeyを最新バージョンにアップデートする方法: ### Misskeyを最新バージョンにアップデートする方法:
1. `git fetch` 1. `git stash`
2. `git stash` 2. `git checkout master`
3. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)` 3. `git pull`
4. `git stash pop` 4. `git stash pop`
5. `docker-compose build` 5. `docker-compose build`
6. [ChangeLog](../CHANGELOG.md)でマイグレーション情報を確認する 6. [ChangeLog](../CHANGELOG.md)でマイグレーション情報を確認する

View File

@ -29,7 +29,7 @@ server {
listen [::]:443 http2; listen [::]:443 http2;
server_name example.tld; server_name example.tld;
ssl on; ssl on;
ssl_session_cache shared:ssl_session_cache:10m; ssl_session_cache shared:ssl_session_cache:10m;
# To use Let's Encrypt certificate # To use Let's Encrypt certificate
ssl_certificate /etc/letsencrypt/live/example.tld/fullchain.pem; ssl_certificate /etc/letsencrypt/live/example.tld/fullchain.pem;

View File

@ -22,42 +22,50 @@ adduser --disabled-password --disabled-login misskey
Please install and setup these softwares: Please install and setup these softwares:
#### Dependencies :package: #### Dependencies :package:
* **[Node.js](https://nodejs.org/en/)** >= 10.0.0 * **[Node.js](https://nodejs.org/en/)** >= 11.7.0
* **[MongoDB](https://www.mongodb.com/)** >= 3.6 * **[PostgreSQL](https://www.postgresql.org/)** >= 10
* **[Redis](https://redis.io/)**
##### Optional ##### Optional
* [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 * [Elasticsearch](https://www.elastic.co/) - required to enable the search feature
* [FFmpeg](https://www.ffmpeg.org/)
*3.* Setup MongoDB *3.* Install Misskey
---------------------------------------------------------------- ----------------------------------------------------------------
As root: 1. Connect to misskey user.
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.
4. `db.createUser( { user: "misskey", pwd: "<password>", roles: [ { role: "readWrite", db: "misskey" } ] } )` Create the misskey user.
5. `exit` You're done !
*4.* Install Misskey `su - misskey`
----------------------------------------------------------------
1. `su - misskey` Connect to misskey user.
2. `git clone -b master git://github.com/syuilo/misskey.git` Clone the misskey repo from master branch.
3. `cd misskey` Navigate to misskey directory
4. `git checkout $(git tag -l | grep -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.
*5.* Configure Misskey 2. Clone the misskey repo from master branch.
`git clone -b master git://github.com/syuilo/misskey.git`
3. Navigate to misskey directory
`cd misskey`
4. Checkout to the [latest release](https://github.com/syuilo/misskey/releases/latest)
`git checkout master`
5. Install misskey dependencies.
`npm install`
*4.* Configure Misskey
---------------------------------------------------------------- ----------------------------------------------------------------
1. `cp .config/example.yml .config/default.yml` Copy the `.config/example.yml` and rename it to `default.yml`. 1. Copy the `.config/example.yml` and rename it to `default.yml`.
`cp .config/example.yml .config/default.yml`
2. Edit `default.yml` 2. Edit `default.yml`
*6.* Build Misskey *5.* Build Misskey
---------------------------------------------------------------- ----------------------------------------------------------------
Build misskey with the following: Build misskey with the following:
`npm run build` `NODE_ENV=production npm run build`
If you're on Debian, you will need to install the `build-essential`, `python` package. If you're on Debian, you will need to install the `build-essential`, `python` package.
@ -66,50 +74,67 @@ If you're still encountering errors about some modules, use node-gyp:
1. `npm install -g node-gyp` 1. `npm install -g node-gyp`
2. `node-gyp configure` 2. `node-gyp configure`
3. `node-gyp build` 3. `node-gyp build`
4. `npm run build` 4. `NODE_ENV=production npm run build`
*6.* Init DB
----------------------------------------------------------------
``` shell
npm run init
```
*7.* That is it. *7.* That is it.
---------------------------------------------------------------- ----------------------------------------------------------------
Well done! Now, you have an environment that run to Misskey. Well done! Now, you have an environment that run to Misskey.
### Launch normally ### Launch normally
Just `npm start`. GLHF! Just `NODE_ENV=production npm start`. GLHF!
### Launch with systemd ### Launch with systemd
1. Create a systemd service here: `/etc/systemd/system/misskey.service` 1. Create a systemd service here
`/etc/systemd/system/misskey.service`
2. Edit it, and paste this and save: 2. Edit it, and paste this and save:
``` ```
[Unit] [Unit]
Description=Misskey daemon Description=Misskey daemon
[Service] [Service]
Type=simple Type=simple
User=misskey User=misskey
ExecStart=/usr/bin/npm start ExecStart=/usr/bin/npm start
WorkingDirectory=/home/misskey/misskey WorkingDirectory=/home/misskey/misskey
TimeoutSec=60 Environment="NODE_ENV=production"
StandardOutput=syslog TimeoutSec=60
StandardError=syslog StandardOutput=syslog
SyslogIdentifier=misskey StandardError=syslog
Restart=always SyslogIdentifier=misskey
Restart=always
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target
``` ```
3. `systemctl daemon-reload ; systemctl enable misskey` Reload systemd and enable the misskey service. 3. Reload systemd and enable the misskey service.
4. `systemctl start misskey` Start the misskey service.
`systemctl daemon-reload ; systemctl enable misskey`
4. Start the misskey service.
`systemctl start misskey`
You can check if the service is running with `systemctl status misskey`. You can check if the service is running with `systemctl status misskey`.
### How to update your Misskey server to the latest version ### How to update your Misskey server to the latest version
1. `git fetch` 1. `git checkout master`
2. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)` 2. `git pull`
3. `npm install` 3. `npm install`
4. `npm run build` 4. `NODE_ENV=production npm run build`
5. Check [ChangeLog](../CHANGELOG.md) for migration information 5. Check [ChangeLog](../CHANGELOG.md) for migration information
6. Restart your Misskey process to apply changes
7. Enjoy
---------------------------------------------------------------- ----------------------------------------------------------------

View File

@ -10,8 +10,8 @@ Ce guide décrit les étapes à suivre afin d'installer et de configurer une ins
*1.* Création de l'utilisateur Misskey *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é. Executer misskey en tant que super-utilisateur étant une mauvaise idée, nous allons créer un utilisateur dédié.
Sur Debian, à titre d'exemple : Sous Debian, par exemple :
``` ```
adduser --disabled-password --disabled-login misskey adduser --disabled-password --disabled-login misskey
@ -22,93 +22,110 @@ adduser --disabled-password --disabled-login misskey
Installez les paquets suivants : Installez les paquets suivants :
#### Dépendences :package: #### Dépendences :package:
* **[Node.js](https://nodejs.org/en/)** >= 10.0.0 * **[Node.js](https://nodejs.org/en/)** >= 11.7.0
* **[MongoDB](https://www.mongodb.com/)** >= 3.6 * **[PostgreSQL](https://www.postgresql.org/)** >= 10
* **[Redis](https://redis.io/)**
##### Optionnels ##### 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 * [Elasticsearch](https://www.elastic.co/) - requis pour pouvoir activer la fonctionnalité de recherche
* [FFmpeg](https://www.ffmpeg.org/)
*3.* Paramètrage de MongoDB *3.* Installation de Misskey
---------------------------------------------------------------- ----------------------------------------------------------------
En mode root : 1. Basculez vers l'utilisateur misskey.
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 `su - 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.
*5.* Création du fichier de configuration 2. Clonez la branche master du dépôt misskey.
`git clone -b master git://github.com/syuilo/misskey.git`
3. Accédez au dossier misskey.
`cd misskey`
4. Checkout sur le tag de la [version la plus récente](https://github.com/syuilo/misskey/releases/latest)
`git checkout master`
5. Installez les dépendances de misskey.
`npm install`
*4.* Création du fichier de configuration
---------------------------------------------------------------- ----------------------------------------------------------------
1. `cp .config/example.yml .config/default.yml` Copiez le fichier `.config/example.yml` et renommez-le `default.yml`. 1. Copiez le fichier `.config/example.yml` et renommez-le`default.yml`.
`cp .config/example.yml .config/default.yml`
2. Editez le fichier `default.yml` 2. Editez le fichier `default.yml`
*6.* Construction de Misskey *5.* Construction de Misskey
---------------------------------------------------------------- ----------------------------------------------------------------
Construisez Misskey comme ceci : Construisez Misskey comme ceci :
`npm run build` `NODE_ENV=production npm run build`
Si vous êtes sous Debian, vous serez amené à installer les paquets `build-essential`, `python`. Si vous êtes sous Debian, vous serez amené à installer les paquets `build-essential` et `python`.
Si vous rencontrez des erreurs concernant certains modules, utilisez node-gyp: Si vous rencontrez des erreurs concernant certains modules, utilisez node-gyp:
1. `npm install -g node-gyp` 1. `npm install -g node-gyp`
2. `node-gyp configure` 2. `node-gyp configure`
3. `node-gyp build` 3. `node-gyp build`
4. `npm run build` 4. `NODE_ENV=production npm run build`
*7.* C'est tout. *6.* C'est tout.
---------------------------------------------------------------- ----------------------------------------------------------------
Excellent ! Maintenant, vous avez un environnement prêt pour lancer Misskey Excellent ! Maintenant, vous avez un environnement prêt pour lancer Misskey
### Lancement conventionnel ### Lancement conventionnel
Lancez tout simplement `npm start`. Bonne chance et amusez-vous bien ! Lancez tout simplement `NODE_ENV=production npm start`. Bonne chance et amusez-vous bien !
### Démarrage avec systemd ### Démarrage avec systemd
1. Créez une service systemd sur : `/etc/systemd/system/misskey.service` 1. Créez un service systemd sur
`/etc/systemd/system/misskey.service`
2. Editez-le puis copiez et coller ceci dans le fichier : 2. Editez-le puis copiez et coller ceci dans le fichier :
``` ```
[Unit] [Unit]
Description=Misskey daemon Description=Misskey daemon
[Service] [Service]
Type=simple Type=simple
User=misskey User=misskey
ExecStart=/usr/bin/npm start ExecStart=/usr/bin/npm start
WorkingDirectory=/home/misskey/misskey WorkingDirectory=/home/misskey/misskey
TimeoutSec=60 Environment="NODE_ENV=production"
StandardOutput=syslog TimeoutSec=60
StandardError=syslog StandardOutput=syslog
SyslogIdentifier=misskey StandardError=syslog
Restart=always SyslogIdentifier=misskey
Restart=always
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target
``` ```
3. `systemctl daemon-reload ; systemctl enable misskey` Redémarre systemd et active le service misskey. 3. Redémarre systemd et active le service misskey.
4. `systemctl start misskey` Démarre le service misskey.
`systemctl daemon-reload ; systemctl enable misskey`
4. Démarre le service misskey.
`systemctl start misskey`
Vous pouvez vérifier si le service a démarré en utilisant la commande `systemctl status misskey`. 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 ### Méthode de mise à jour vers la plus récente version de Misskey
1. `git fetch` 1. `git checkout master`
2. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)` 2. `git pull`
3. `npm install` 3. `npm install`
4. `npm run build` 4. `NODE_ENV=production npm run build`
5. Consultez [ChangeLog](../CHANGELOG.md) pour les information de migration. 5. Consultez [ChangeLog](../CHANGELOG.md) pour les information de migration.
---------------------------------------------------------------- ----------------------------------------------------------------

View File

@ -22,48 +22,51 @@ adduser --disabled-password --disabled-login misskey
これらのソフトウェアをインストール・設定してください: これらのソフトウェアをインストール・設定してください:
#### 依存関係 :package: #### 依存関係 :package:
* **[Node.js](https://nodejs.org/en/)** (10.0.0以上) * **[Node.js](https://nodejs.org/en/)** (11.7.0以上)
* **[MongoDB](https://www.mongodb.com/)** (3.6以上) * **[PostgreSQL](https://www.postgresql.org/)** (10以上)
* **[Redis](https://redis.io/)**
##### オプション ##### オプション
* [Redis](https://redis.io/)
* Redisはオプションですが、インストールすることを強く推奨します。
* インストールしなくていいのは、あなたのインスタンスが自分専用のときだけとお考えください。
* 具体的には、Redisをインストールしないと、次の事が出来なくなります:
* Misskeyプロセスを複数起動しての負荷分散
* レートリミット
* Twitter連携
* [Elasticsearch](https://www.elastic.co/) * [Elasticsearch](https://www.elastic.co/)
* 検索機能を有効にするためにはインストールが必要です。 * 検索機能を有効にするためにはインストールが必要です。
* [FFmpeg](https://www.ffmpeg.org/)
*3.* MongoDBの設定 *3.* Misskeyのインストール
---------------------------------------------------------------- ----------------------------------------------------------------
ルートで: 1. misskeyユーザーを使用
1. `mongo` mongoシェルを起動
2. `use misskey` misskeyデータベースを使用
3. `db.users.save( {dummy:"dummy"} )` ダミーデータを書き込みDBを初期化
4. `db.createUser( { user: "misskey", pwd: "<password>", roles: [ { role: "readWrite", db: "misskey" } ] } )` misskeyユーザーを作成
5. `exit` mongoシェルを終了
*4.* Misskeyのインストール `su - misskey`
----------------------------------------------------------------
1. `su - misskey` misskeyユーザーを使用
2. `git clone -b master git://github.com/syuilo/misskey.git` masterブランチからMisskeyレポジトリをクローン
3. `cd misskey` misskeyディレクトリに移動
4. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)` [最新のリリース](https://github.com/syuilo/misskey/releases/latest)を確認
5. `npm install` Misskeyの依存パッケージをインストール
*5.* 設定ファイルを作成する 2. masterブランチからMisskeyレポジトリをクローン
`git clone -b master git://github.com/syuilo/misskey.git`
3. misskeyディレクトリに移動
`cd misskey`
4. [最新のリリース](https://github.com/syuilo/misskey/releases/latest)を確認
`git checkout master`
5. Misskeyの依存パッケージをインストール
`npm install`
*4.* 設定ファイルを作成する
---------------------------------------------------------------- ----------------------------------------------------------------
1. `cp .config/example.yml .config/default.yml` `.config/example.yml`をコピーし名前を`default.yml`にする。 1. `.config/example.yml`をコピーし名前を`default.yml`にする。
`cp .config/example.yml .config/default.yml`
2. `default.yml` を編集する。 2. `default.yml` を編集する。
*6.* Misskeyのビルド *5.* Misskeyのビルド
---------------------------------------------------------------- ----------------------------------------------------------------
次のコマンドでMisskeyをビルドしてください: 次のコマンドでMisskeyをビルドしてください:
`npm run build` `NODE_ENV=production npm run build`
Debianをお使いであれば、`build-essential`パッケージをインストールする必要があります。 Debianをお使いであれば、`build-essential`パッケージをインストールする必要があります。
@ -71,51 +74,69 @@ Debianをお使いであれば、`build-essential`パッケージをインスト
1. `npm install -g node-gyp` 1. `npm install -g node-gyp`
2. `node-gyp configure` 2. `node-gyp configure`
3. `node-gyp build` 3. `node-gyp build`
4. `npm run build` 4. `NODE_ENV=production npm run build`
*6.* データベースを初期化
----------------------------------------------------------------
``` shell
npm run init
```
*7.* 以上です! *7.* 以上です!
---------------------------------------------------------------- ----------------------------------------------------------------
お疲れ様でした。これでMisskeyを動かす準備は整いました。 お疲れ様でした。これでMisskeyを動かす準備は整いました。
### 通常起動 ### 通常起動
`npm start`するだけです。GLHF! `NODE_ENV=production npm start`するだけです。GLHF!
### systemdを用いた起動 ### systemdを用いた起動
1. systemdサービスのファイルを作成: `/etc/systemd/system/misskey.service` 1. systemdサービスのファイルを作成
`/etc/systemd/system/misskey.service`
2. エディタで開き、以下のコードを貼り付けて保存: 2. エディタで開き、以下のコードを貼り付けて保存:
``` ```
[Unit] [Unit]
Description=Misskey daemon Description=Misskey daemon
[Service] [Service]
Type=simple Type=simple
User=misskey User=misskey
ExecStart=/usr/bin/npm start ExecStart=/usr/bin/npm start
WorkingDirectory=/home/misskey/misskey WorkingDirectory=/home/misskey/misskey
TimeoutSec=60 Environment="NODE_ENV=production"
StandardOutput=syslog TimeoutSec=60
StandardError=syslog StandardOutput=syslog
SyslogIdentifier=misskey StandardError=syslog
Restart=always SyslogIdentifier=misskey
Restart=always
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target
``` ```
CentOSで1024以下のポートを使用してMisskeyを使用する場合は`ExecStart=/usr/bin/sudo /usr/bin/npm start`に変更する必要があります。
3. `systemctl daemon-reload ; systemctl enable misskey` systemdを再読み込みしmisskeyサービスを有効化 CentOSで1024以下のポートを使用してMisskeyを使用する場合は`ExecStart=/usr/bin/sudo /usr/bin/npm start`に変更する必要があります。
4. `systemctl start misskey` misskeyサービスの起動
3. systemdを再読み込みしmisskeyサービスを有効化
`systemctl daemon-reload ; systemctl enable misskey`
4. misskeyサービスの起動
`systemctl start misskey`
`systemctl status misskey`と入力すると、サービスの状態を調べることができます。 `systemctl status misskey`と入力すると、サービスの状態を調べることができます。
### Misskeyを最新バージョンにアップデートする方法: ### Misskeyを最新バージョンにアップデートする方法:
1. `git fetch` 1. `git checkout master`
2. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)` 2. `git pull`
3. `npm install` 3. `npm install`
4. `npm run build` 4. `NODE_ENV=production npm run build`
5. [ChangeLog](../CHANGELOG.md)でマイグレーション情報を確認する 5. [ChangeLog](../CHANGELOG.md)でマイグレーション情報を確認する
なにか問題が発生した場合は、`npm run clean`または`npm run cleanall`すると直る場合があります。
---------------------------------------------------------------- ----------------------------------------------------------------
なにかお困りのことがありましたらお気軽にご連絡ください。 なにかお困りのことがありましたらお気軽にご連絡ください。

View File

@ -5,7 +5,6 @@
import * as gulp from 'gulp'; import * as gulp from 'gulp';
import * as gutil from 'gulp-util'; import * as gutil from 'gulp-util';
import * as ts from 'gulp-typescript'; import * as ts from 'gulp-typescript';
const yaml = require('gulp-yaml');
const sourcemaps = require('gulp-sourcemaps'); const sourcemaps = require('gulp-sourcemaps');
import tslint from 'gulp-tslint'; import tslint from 'gulp-tslint';
const cssnano = require('gulp-cssnano'); const cssnano = require('gulp-cssnano');
@ -32,14 +31,6 @@ if (isDebug) {
console.warn(chalk.yellow.bold(' built script will not be compressed.')); console.warn(chalk.yellow.bold(' built script will not be compressed.'));
} }
gulp.task('build', [
'build:ts',
'build:copy',
'build:client',
'locales',
'doc'
]);
gulp.task('build:ts', () => { gulp.task('build:ts', () => {
const tsProject = ts.createProject('./tsconfig.json'); const tsProject = ts.createProject('./tsconfig.json');
@ -47,6 +38,7 @@ gulp.task('build:ts', () => {
.src() .src()
.pipe(sourcemaps.init()) .pipe(sourcemaps.init())
.pipe(tsProject()) .pipe(tsProject())
.on('error', () => {})
.pipe(sourcemaps.write('.', { includeContent: false, sourceRoot: '../built' })) .pipe(sourcemaps.write('.', { includeContent: false, sourceRoot: '../built' }))
.pipe(gulp.dest('./built/')); .pipe(gulp.dest('./built/'));
}); });
@ -55,17 +47,14 @@ gulp.task('build:copy:views', () =>
gulp.src('./src/server/web/views/**/*').pipe(gulp.dest('./built/server/web/views')) gulp.src('./src/server/web/views/**/*').pipe(gulp.dest('./built/server/web/views'))
); );
gulp.task('build:copy', ['build:copy:views'], () => gulp.task('build:copy', gulp.parallel('build:copy:views', () =>
gulp.src([ gulp.src([
'./build/Release/crypto_key.node',
'./src/const.json', './src/const.json',
'./src/server/web/views/**/*', './src/server/web/views/**/*',
'./src/**/assets/**/*', './src/**/assets/**/*',
'!./src/client/app/**/assets/**/*' '!./src/client/app/**/assets/**/*'
]).pipe(gulp.dest('./built/')) ]).pipe(gulp.dest('./built/'))
); ));
gulp.task('test', ['mocha']);
gulp.task('lint', () => gulp.task('lint', () =>
gulp.src('./src/**/*.ts') gulp.src('./src/**/*.ts')
@ -92,22 +81,15 @@ gulp.task('mocha', () =>
} as any)) } as any))
); );
gulp.task('test', gulp.task('mocha'));
gulp.task('clean', cb => gulp.task('clean', cb =>
rimraf('./built', cb) rimraf('./built', cb)
); );
gulp.task('cleanall', ['clean'], cb => gulp.task('cleanall', gulp.parallel('clean', cb =>
rimraf('./node_modules', cb) rimraf('./node_modules', cb)
); ));
gulp.task('default', ['build']);
gulp.task('build:client', [
'build:ts',
'build:client:script',
'build:client:styles',
'copy:client'
]);
gulp.task('build:client:script', () => { gulp.task('build:client:script', () => {
const client = require('./built/client/meta.json'); const client = require('./built/client/meta.json');
@ -129,9 +111,7 @@ gulp.task('build:client:styles', () =>
.pipe(gulp.dest('./built/client/assets/')) .pipe(gulp.dest('./built/client/assets/'))
); );
gulp.task('copy:client', [ gulp.task('copy:client', () =>
'build:client:script'
], () =>
gulp.src([ gulp.src([
'./assets/**/*', './assets/**/*',
'./src/client/assets/**/*', './src/client/assets/**/*',
@ -139,20 +119,29 @@ gulp.task('copy:client', [
]) ])
.pipe(isProduction ? (imagemin as any)() : gutil.noop()) .pipe(isProduction ? (imagemin as any)() : gutil.noop())
.pipe(rename(path => { .pipe(rename(path => {
path.dirname = path.dirname.replace('assets', '.'); path.dirname = path.dirname!.replace('assets', '.');
})) }))
.pipe(gulp.dest('./built/client/assets/')) .pipe(gulp.dest('./built/client/assets/'))
); );
gulp.task('locales', () =>
gulp.src('./locales/*.yml')
.pipe(yaml({ schema: 'DEFAULT_SAFE_SCHEMA' }))
.pipe(gulp.dest('./built/client/assets/locales/'))
);
gulp.task('doc', () => gulp.task('doc', () =>
gulp.src('./src/docs/**/*.styl') gulp.src('./src/docs/**/*.styl')
.pipe(stylus()) .pipe(stylus())
.pipe((cssnano as any)()) .pipe((cssnano as any)())
.pipe(gulp.dest('./built/docs/assets/')) .pipe(gulp.dest('./built/docs/assets/'))
); );
gulp.task('build:client', gulp.parallel(
'build:client:script',
'build:client:styles',
'copy:client'
));
gulp.task('build', gulp.parallel(
'build:ts',
'build:copy',
'build:client',
'doc'
));
gulp.task('default', gulp.task('build'));

1
index.js Normal file
View File

@ -0,0 +1 @@
require('./built').default();

File diff suppressed because it is too large Load Diff

1308
locales/cs-CZ.yml Normal file

File diff suppressed because it is too large Load Diff

1881
locales/da-DK.yml Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

3
locales/index.d.ts vendored Normal file
View File

@ -0,0 +1,3 @@
declare const locales: { [lang: string]: any };
export = locales;

View File

@ -5,9 +5,50 @@
const fs = require('fs'); const fs = require('fs');
const yaml = require('js-yaml'); const yaml = require('js-yaml');
const langs = ['de-DE', 'en-US', 'fr-FR', 'ja-JP', 'ja-KS', 'pl-PL', 'es-ES', 'nl-NL', 'zh-CN', 'ko-KR']; const merge = (...args) => args.reduce((a, c) => ({
...a,
...c,
...Object.entries(a)
.filter(([k]) => c && typeof c[k] === 'object')
.reduce((a, [k, v]) => (a[k] = merge(v, c[k]), a), {})
}), {});
const loadLocale = lang => yaml.safeLoad(fs.readFileSync(`${__dirname}/${lang}.yml`, 'utf-8')); const languages = [
const locales = langs.map(lang => ({ [lang]: loadLocale(lang) })); 'cs-CZ',
'da-DK',
'de-DE',
'en-US',
'es-ES',
'fr-FR',
'ja-JP',
'ja-KS',
'ko-KR',
'nl-NL',
'pl-PL',
'zh-CN',
'zh-TW',
];
module.exports = locales.reduce((a, b) => ({ ...a, ...b })); const primaries = {
'en': 'US',
'ja': 'JP',
'zh': 'CN',
};
const locales = languages.reduce((a, c) => (a[c] = yaml.safeLoad(fs.readFileSync(`${__dirname}/${c}.yml`, 'utf-8')) || {}, a), {});
module.exports = Object.entries(locales)
.reduce((a, [k ,v]) => (a[k] = (() => {
const [lang] = k.split('-');
switch (k) {
case 'ja-JP': return v;
case 'ja-KS':
case 'en-US': return merge(locales['ja-JP'], v);
default: return merge(
locales['ja-JP'],
locales['en-US'],
locales[`${lang}-${primaries[lang]}`] || {},
v
);
}
})(), a), {});

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

90
locales/zh-TW.yml Normal file
View File

@ -0,0 +1,90 @@
---
meta:
lang: "中文(繁体)"
common:
intro:
title: "什麽是 Misskey 呢?"
rich-contents: "發佈"
reaction: "回應"
drive: "雲端硬碟"
adblock:
detected: "請禁用廣告封鎖器"
close: "關閉"
enter-password: "請輸入密碼"
2fa: "雙重身份驗證"
dark-mode: "夜間模式"
signup: "註冊"
signout: "登出"
notification:
reversi-invited: "您已被邀請加入壹場遊戲"
reversi-invited-by: "來自{}的邀請"
notified-by: "來自{}的邀請"
time:
future: "未來"
just_now: "剛剛"
drive: "雲端硬碟"
weekday:
sunday: "週日"
monday: "週一"
tuesday: "週二"
wednesday: "週三"
thursday: "週四"
friday: "週五"
saturday: "週六"
reactions:
like: "贊"
love: "喜歡"
congrats: "恭喜"
_settings:
password: "密碼"
font-size: "字體大小"
font-size-x-small: "小"
font-size-small: "較小"
deck-column-width-wide: "寬"
timeline: "時間軸"
common/views/components/connect-failed.troubleshooter.vue:
flush: "清除快取"
common/views/components/theme.vue:
light-themes: "淺色主題"
dark-themes: "深色主題"
install-a-theme: "安裝主題"
save-created-theme: "保存主題"
common/views/components/signin.vue:
signin-with-twitter: "用 Twitter 帳號登入"
signin-with-github: "用 GitHub 帳號登入"
signin-with-discord: "用 Discord 帳號登入"
login-failed: "登錄失敗。 請檢查用戶名和密碼。"
common/views/components/signup.vue:
invitation-code: "邀請碼"
username: "用戶名"
available: "可用"
too-long: "請不要超過20個字元"
password: "密碼"
password-placeholder: "建議至少8個字元"
common/views/components/stream-indicator.vue:
connecting: "正在連線"
reconnecting: "正在重新連線"
connected: "已建立連線"
common/views/components/integration-settings.vue:
disconnect: "中斷連線"
common/views/components/github-setting.vue:
reconnect: "重新連線"
disconnect: "中斷連線"
common/views/components/discord-setting.vue:
reconnect: "重新連線"
disconnect: "中斷連線"
common/views/components/language-settings.vue:
recommended: "推薦"
auto: "自動"
specify-language: "指定語言"
common/views/components/profile-editor.vue:
title: "個人資料"
name: "名稱"
birthday: "生日:"
privacy: "隱私"
admin/views/dashboard.vue:
drive: "雲端硬碟"
admin/views/charts.vue:
drive: "雲端硬碟"
pages:
like: "贊"

View File

@ -0,0 +1,485 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class Init1000000000000 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`CREATE TYPE "log_level_enum" AS ENUM('error', 'warning', 'info', 'success', 'debug')`);
await queryRunner.query(`CREATE TABLE "log" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "domain" character varying(64) array NOT NULL DEFAULT '{}'::varchar[], "level" "log_level_enum" NOT NULL, "worker" character varying(8) NOT NULL, "machine" character varying(128) NOT NULL, "message" character varying(1024) NOT NULL, "data" jsonb NOT NULL DEFAULT '{}', CONSTRAINT "PK_350604cbdf991d5930d9e618fbd" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_8e4eb51a35d81b64dda28eed0a" ON "log" ("createdAt") `);
await queryRunner.query(`CREATE INDEX "IDX_8cb40cfc8f3c28261e6f887b03" ON "log" ("domain") `);
await queryRunner.query(`CREATE INDEX "IDX_584b536b49e53ac81beb39a177" ON "log" ("level") `);
await queryRunner.query(`CREATE TABLE "drive_folder" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "name" character varying(128) NOT NULL, "userId" character varying(32), "parentId" character varying(32), CONSTRAINT "PK_7a0c089191f5ebdc214e0af808a" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_02878d441ceae15ce060b73daf" ON "drive_folder" ("createdAt") `);
await queryRunner.query(`CREATE INDEX "IDX_f4fc06e49c0171c85f1c48060d" ON "drive_folder" ("userId") `);
await queryRunner.query(`CREATE INDEX "IDX_00ceffb0cdc238b3233294f08f" ON "drive_folder" ("parentId") `);
await queryRunner.query(`CREATE TABLE "drive_file" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32), "userHost" character varying(128), "md5" character varying(32) NOT NULL, "name" character varying(256) NOT NULL, "type" character varying(128) NOT NULL, "size" integer NOT NULL, "comment" character varying(512), "properties" jsonb NOT NULL DEFAULT '{}', "storedInternal" boolean NOT NULL, "url" character varying(512) NOT NULL, "thumbnailUrl" character varying(512), "webpublicUrl" character varying(512), "accessKey" character varying(256), "thumbnailAccessKey" character varying(256), "webpublicAccessKey" character varying(256), "uri" character varying(512), "src" character varying(512), "folderId" character varying(32), "isSensitive" boolean NOT NULL DEFAULT false, "isLink" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_43ddaaaf18c9e68029b7cbb032e" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_c8dfad3b72196dd1d6b5db168a" ON "drive_file" ("createdAt") `);
await queryRunner.query(`CREATE INDEX "IDX_860fa6f6c7df5bb887249fba22" ON "drive_file" ("userId") `);
await queryRunner.query(`CREATE INDEX "IDX_92779627994ac79277f070c91e" ON "drive_file" ("userHost") `);
await queryRunner.query(`CREATE INDEX "IDX_37bb9a1b4585f8a3beb24c62d6" ON "drive_file" ("md5") `);
await queryRunner.query(`CREATE INDEX "IDX_a40b8df8c989d7db937ea27cf6" ON "drive_file" ("type") `);
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_d85a184c2540d2deba33daf642" ON "drive_file" ("accessKey") `);
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_e74022ce9a074b3866f70e0d27" ON "drive_file" ("thumbnailAccessKey") `);
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_c55b2b7c284d9fef98026fc88e" ON "drive_file" ("webpublicAccessKey") `);
await queryRunner.query(`CREATE INDEX "IDX_e5848eac4940934e23dbc17581" ON "drive_file" ("uri") `);
await queryRunner.query(`CREATE INDEX "IDX_bb90d1956dafc4068c28aa7560" ON "drive_file" ("folderId") `);
await queryRunner.query(`CREATE TABLE "user" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "updatedAt" TIMESTAMP WITH TIME ZONE, "lastFetchedAt" TIMESTAMP WITH TIME ZONE, "username" character varying(128) NOT NULL, "usernameLower" character varying(128) NOT NULL, "name" character varying(128), "followersCount" integer NOT NULL DEFAULT 0, "followingCount" integer NOT NULL DEFAULT 0, "notesCount" integer NOT NULL DEFAULT 0, "avatarId" character varying(32), "bannerId" character varying(32), "tags" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], "avatarUrl" character varying(512), "bannerUrl" character varying(512), "avatarColor" character varying(32), "bannerColor" character varying(32), "isSuspended" boolean NOT NULL DEFAULT false, "isSilenced" boolean NOT NULL DEFAULT false, "isLocked" boolean NOT NULL DEFAULT false, "isBot" boolean NOT NULL DEFAULT false, "isCat" boolean NOT NULL DEFAULT false, "isAdmin" boolean NOT NULL DEFAULT false, "isModerator" boolean NOT NULL DEFAULT false, "isVerified" boolean NOT NULL DEFAULT false, "emojis" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], "host" character varying(128), "inbox" character varying(512), "sharedInbox" character varying(512), "featured" character varying(512), "uri" character varying(512), "token" character(16), CONSTRAINT "UQ_a854e557b1b14814750c7c7b0c9" UNIQUE ("token"), CONSTRAINT "REL_58f5c71eaab331645112cf8cfa" UNIQUE ("avatarId"), CONSTRAINT "REL_afc64b53f8db3707ceb34eb28e" UNIQUE ("bannerId"), CONSTRAINT "PK_cace4a159ff9f2512dd42373760" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_e11e649824a45d8ed01d597fd9" ON "user" ("createdAt") `);
await queryRunner.query(`CREATE INDEX "IDX_80ca6e6ef65fb9ef34ea8c90f4" ON "user" ("updatedAt") `);
await queryRunner.query(`CREATE INDEX "IDX_a27b942a0d6dcff90e3ee9b5e8" ON "user" ("usernameLower") `);
await queryRunner.query(`CREATE INDEX "IDX_fa99d777623947a5b05f394cae" ON "user" ("tags") `);
await queryRunner.query(`CREATE INDEX "IDX_3252a5df8d5bbd16b281f7799e" ON "user" ("host") `);
await queryRunner.query(`CREATE INDEX "IDX_be623adaa4c566baf5d29ce0c8" ON "user" ("uri") `);
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_a854e557b1b14814750c7c7b0c" ON "user" ("token") `);
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_5deb01ae162d1d70b80d064c27" ON "user" ("usernameLower", "host") `);
await queryRunner.query(`CREATE TABLE "app" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32), "secret" character varying(64) NOT NULL, "name" character varying(128) NOT NULL, "description" character varying(512) NOT NULL, "permission" character varying(64) array NOT NULL, "callbackUrl" character varying(512), CONSTRAINT "PK_9478629fc093d229df09e560aea" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_048a757923ed8b157e9895da53" ON "app" ("createdAt") `);
await queryRunner.query(`CREATE INDEX "IDX_3f5b0899ef90527a3462d7c2cb" ON "app" ("userId") `);
await queryRunner.query(`CREATE INDEX "IDX_f49922d511d666848f250663c4" ON "app" ("secret") `);
await queryRunner.query(`CREATE TABLE "access_token" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "token" character varying(128) NOT NULL, "hash" character varying(128) NOT NULL, "userId" character varying(32) NOT NULL, "appId" character varying(32) NOT NULL, CONSTRAINT "PK_f20f028607b2603deabd8182d12" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_70ba8f6af34bc924fc9e12adb8" ON "access_token" ("token") `);
await queryRunner.query(`CREATE INDEX "IDX_64c327441248bae40f7d92f34f" ON "access_token" ("hash") `);
await queryRunner.query(`CREATE INDEX "IDX_9949557d0e1b2c19e5344c171e" ON "access_token" ("userId") `);
await queryRunner.query(`CREATE TYPE "note_visibility_enum" AS ENUM('public', 'home', 'followers', 'specified')`);
await queryRunner.query(`CREATE TABLE "note" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "replyId" character varying(32), "renoteId" character varying(32), "text" text, "name" character varying(256), "cw" character varying(512), "appId" character varying(32), "userId" character varying(32) NOT NULL, "viaMobile" boolean NOT NULL DEFAULT false, "localOnly" boolean NOT NULL DEFAULT false, "renoteCount" smallint NOT NULL DEFAULT 0, "repliesCount" smallint NOT NULL DEFAULT 0, "reactions" jsonb NOT NULL DEFAULT '{}', "visibility" "note_visibility_enum" NOT NULL, "uri" character varying(512), "score" integer NOT NULL DEFAULT 0, "fileIds" character varying(32) array NOT NULL DEFAULT '{}'::varchar[], "attachedFileTypes" character varying(256) array NOT NULL DEFAULT '{}'::varchar[], "visibleUserIds" character varying(32) array NOT NULL DEFAULT '{}'::varchar[], "mentions" character varying(32) array NOT NULL DEFAULT '{}'::varchar[], "mentionedRemoteUsers" text NOT NULL DEFAULT '[]', "emojis" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], "tags" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], "hasPoll" boolean NOT NULL DEFAULT false, "geo" jsonb DEFAULT null, "userHost" character varying(128), "replyUserId" character varying(32), "replyUserHost" character varying(128), "renoteUserId" character varying(32), "renoteUserHost" character varying(128), CONSTRAINT "PK_96d0c172a4fba276b1bbed43058" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_e7c0567f5261063592f022e9b5" ON "note" ("createdAt") `);
await queryRunner.query(`CREATE INDEX "IDX_17cb3553c700a4985dff5a30ff" ON "note" ("replyId") `);
await queryRunner.query(`CREATE INDEX "IDX_52ccc804d7c69037d558bac4c9" ON "note" ("renoteId") `);
await queryRunner.query(`CREATE INDEX "IDX_5b87d9d19127bd5d92026017a7" ON "note" ("userId") `);
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_153536c67d05e9adb24e99fc2b" ON "note" ("uri") `);
await queryRunner.query(`CREATE INDEX "IDX_51c063b6a133a9cb87145450f5" ON "note" ("fileIds") `);
await queryRunner.query(`CREATE INDEX "IDX_25dfc71b0369b003a4cd434d0b" ON "note" ("attachedFileTypes") `);
await queryRunner.query(`CREATE INDEX "IDX_796a8c03959361f97dc2be1d5c" ON "note" ("visibleUserIds") `);
await queryRunner.query(`CREATE INDEX "IDX_54ebcb6d27222913b908d56fd8" ON "note" ("mentions") `);
await queryRunner.query(`CREATE INDEX "IDX_88937d94d7443d9a99a76fa5c0" ON "note" ("tags") `);
await queryRunner.query(`CREATE INDEX "IDX_7125a826ab192eb27e11d358a5" ON "note" ("userHost") `);
await queryRunner.query(`CREATE TABLE "poll_vote" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, "choice" integer NOT NULL, CONSTRAINT "PK_fd002d371201c472490ba89c6a0" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_0fb627e1c2f753262a74f0562d" ON "poll_vote" ("createdAt") `);
await queryRunner.query(`CREATE INDEX "IDX_66d2bd2ee31d14bcc23069a89f" ON "poll_vote" ("userId") `);
await queryRunner.query(`CREATE INDEX "IDX_aecfbd5ef60374918e63ee95fa" ON "poll_vote" ("noteId") `);
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_50bd7164c5b78f1f4a42c4d21f" ON "poll_vote" ("userId", "noteId", "choice") `);
await queryRunner.query(`CREATE TABLE "note_reaction" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, "reaction" character varying(128) NOT NULL, CONSTRAINT "PK_767ec729b108799b587a3fcc9cf" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_01f4581f114e0ebd2bbb876f0b" ON "note_reaction" ("createdAt") `);
await queryRunner.query(`CREATE INDEX "IDX_13761f64257f40c5636d0ff95e" ON "note_reaction" ("userId") `);
await queryRunner.query(`CREATE INDEX "IDX_45145e4953780f3cd5656f0ea6" ON "note_reaction" ("noteId") `);
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_ad0c221b25672daf2df320a817" ON "note_reaction" ("userId", "noteId") `);
await queryRunner.query(`CREATE TABLE "note_watching" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, "noteUserId" character varying(32) NOT NULL, CONSTRAINT "PK_49286fdb23725945a74aa27d757" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_318cdf42a9cfc11f479bd802bb" ON "note_watching" ("createdAt") `);
await queryRunner.query(`CREATE INDEX "IDX_b0134ec406e8d09a540f818288" ON "note_watching" ("userId") `);
await queryRunner.query(`CREATE INDEX "IDX_03e7028ab8388a3f5e3ce2a861" ON "note_watching" ("noteId") `);
await queryRunner.query(`CREATE INDEX "IDX_44499765eec6b5489d72c4253b" ON "note_watching" ("noteUserId") `);
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_a42c93c69989ce1d09959df4cf" ON "note_watching" ("userId", "noteId") `);
await queryRunner.query(`CREATE TABLE "note_unread" ("id" character varying(32) NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, "noteUserId" character varying(32) NOT NULL, "isSpecified" boolean NOT NULL, CONSTRAINT "PK_1904eda61a784f57e6e51fa9c1f" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_56b0166d34ddae49d8ef7610bb" ON "note_unread" ("userId") `);
await queryRunner.query(`CREATE INDEX "IDX_e637cba4dc4410218c4251260e" ON "note_unread" ("noteId") `);
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_d908433a4953cc13216cd9c274" ON "note_unread" ("userId", "noteId") `);
await queryRunner.query(`CREATE TABLE "notification" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "notifieeId" character varying(32) NOT NULL, "notifierId" character varying(32) NOT NULL, "type" character varying(32) NOT NULL, "isRead" boolean NOT NULL DEFAULT false, "noteId" character varying(32), "reaction" character varying(128), "choice" integer, CONSTRAINT "PK_705b6c7cdf9b2c2ff7ac7872cb7" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_b11a5e627c41d4dc3170f1d370" ON "notification" ("createdAt") `);
await queryRunner.query(`CREATE INDEX "IDX_3c601b70a1066d2c8b517094cb" ON "notification" ("notifieeId") `);
await queryRunner.query(`CREATE TABLE "meta" ("id" character varying(32) NOT NULL, "name" character varying(128), "description" character varying(1024), "maintainerName" character varying(128), "maintainerEmail" character varying(128), "announcements" jsonb NOT NULL DEFAULT '[]', "disableRegistration" boolean NOT NULL DEFAULT false, "disableLocalTimeline" boolean NOT NULL DEFAULT false, "disableGlobalTimeline" boolean NOT NULL DEFAULT false, "enableEmojiReaction" boolean NOT NULL DEFAULT true, "useStarForReactionFallback" boolean NOT NULL DEFAULT false, "langs" character varying(64) array NOT NULL DEFAULT '{}'::varchar[], "hiddenTags" character varying(256) array NOT NULL DEFAULT '{}'::varchar[], "blockedHosts" character varying(256) array NOT NULL DEFAULT '{}'::varchar[], "mascotImageUrl" character varying(512) DEFAULT '/assets/ai.png', "bannerUrl" character varying(512), "errorImageUrl" character varying(512) DEFAULT 'https://xn--931a.moe/aiart/yubitun.png', "iconUrl" character varying(512), "cacheRemoteFiles" boolean NOT NULL DEFAULT true, "proxyAccount" character varying(128), "enableRecaptcha" boolean NOT NULL DEFAULT false, "recaptchaSiteKey" character varying(64), "recaptchaSecretKey" character varying(64), "localDriveCapacityMb" integer NOT NULL DEFAULT 1024, "remoteDriveCapacityMb" integer NOT NULL DEFAULT 32, "maxNoteTextLength" integer NOT NULL DEFAULT 500, "summalyProxy" character varying(128), "enableEmail" boolean NOT NULL DEFAULT false, "email" character varying(128), "smtpSecure" boolean NOT NULL DEFAULT false, "smtpHost" character varying(128), "smtpPort" integer, "smtpUser" character varying(128), "smtpPass" character varying(128), "enableServiceWorker" boolean NOT NULL DEFAULT false, "swPublicKey" character varying(128), "swPrivateKey" character varying(128), "enableTwitterIntegration" boolean NOT NULL DEFAULT false, "twitterConsumerKey" character varying(128), "twitterConsumerSecret" character varying(128), "enableGithubIntegration" boolean NOT NULL DEFAULT false, "githubClientId" character varying(128), "githubClientSecret" character varying(128), "enableDiscordIntegration" boolean NOT NULL DEFAULT false, "discordClientId" character varying(128), "discordClientSecret" character varying(128), CONSTRAINT "PK_c4c17a6c2bd7651338b60fc590b" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE TABLE "following" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "followeeId" character varying(32) NOT NULL, "followerId" character varying(32) NOT NULL, "followerHost" character varying(128), "followerInbox" character varying(512), "followerSharedInbox" character varying(512), "followeeHost" character varying(128), "followeeInbox" character varying(512), "followeeSharedInbox" character varying(512), CONSTRAINT "PK_c76c6e044bdf76ecf8bfb82a645" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_582f8fab771a9040a12961f3e7" ON "following" ("createdAt") `);
await queryRunner.query(`CREATE INDEX "IDX_24e0042143a18157b234df186c" ON "following" ("followeeId") `);
await queryRunner.query(`CREATE INDEX "IDX_6516c5a6f3c015b4eed39978be" ON "following" ("followerId") `);
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_307be5f1d1252e0388662acb96" ON "following" ("followerId", "followeeId") `);
await queryRunner.query(`CREATE TABLE "instance" ("id" character varying(32) NOT NULL, "caughtAt" TIMESTAMP WITH TIME ZONE NOT NULL, "host" character varying(128) NOT NULL, "system" character varying(64), "usersCount" integer NOT NULL DEFAULT 0, "notesCount" integer NOT NULL DEFAULT 0, "followingCount" integer NOT NULL DEFAULT 0, "followersCount" integer NOT NULL DEFAULT 0, "driveUsage" integer NOT NULL DEFAULT 0, "driveFiles" integer NOT NULL DEFAULT 0, "latestRequestSentAt" TIMESTAMP WITH TIME ZONE, "latestStatus" integer, "latestRequestReceivedAt" TIMESTAMP WITH TIME ZONE, "lastCommunicatedAt" TIMESTAMP WITH TIME ZONE NOT NULL, "isNotResponding" boolean NOT NULL DEFAULT false, "isMarkedAsClosed" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_eaf60e4a0c399c9935413e06474" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_2cd3b2a6b4cf0b910b260afe08" ON "instance" ("caughtAt") `);
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_8d5afc98982185799b160e10eb" ON "instance" ("host") `);
await queryRunner.query(`CREATE TABLE "muting" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "muteeId" character varying(32) NOT NULL, "muterId" character varying(32) NOT NULL, CONSTRAINT "PK_2e92d06c8b5c602eeb27ca9ba48" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_f86d57fbca33c7a4e6897490cc" ON "muting" ("createdAt") `);
await queryRunner.query(`CREATE INDEX "IDX_ec96b4fed9dae517e0dbbe0675" ON "muting" ("muteeId") `);
await queryRunner.query(`CREATE INDEX "IDX_93060675b4a79a577f31d260c6" ON "muting" ("muterId") `);
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_1eb9d9824a630321a29fd3b290" ON "muting" ("muterId", "muteeId") `);
await queryRunner.query(`CREATE TABLE "sw_subscription" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "endpoint" character varying(512) NOT NULL, "auth" character varying(256) NOT NULL, "publickey" character varying(128) NOT NULL, CONSTRAINT "PK_e8f763631530051b95eb6279b91" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_97754ca6f2baff9b4abb7f853d" ON "sw_subscription" ("userId") `);
await queryRunner.query(`CREATE TABLE "blocking" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "blockeeId" character varying(32) NOT NULL, "blockerId" character varying(32) NOT NULL, CONSTRAINT "PK_e5d9a541cc1965ee7e048ea09dd" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_b9a354f7941c1e779f3b33aea6" ON "blocking" ("createdAt") `);
await queryRunner.query(`CREATE INDEX "IDX_2cd4a2743a99671308f5417759" ON "blocking" ("blockeeId") `);
await queryRunner.query(`CREATE INDEX "IDX_0627125f1a8a42c9a1929edb55" ON "blocking" ("blockerId") `);
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_98a1bc5cb30dfd159de056549f" ON "blocking" ("blockerId", "blockeeId") `);
await queryRunner.query(`CREATE TABLE "user_list" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "name" character varying(128) NOT NULL, CONSTRAINT "PK_87bab75775fd9b1ff822b656402" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_b7fcefbdd1c18dce86687531f9" ON "user_list" ("userId") `);
await queryRunner.query(`CREATE TABLE "user_list_joining" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "userListId" character varying(32) NOT NULL, CONSTRAINT "PK_11abb3768da1c5f8de101c9df45" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_d844bfc6f3f523a05189076efa" ON "user_list_joining" ("userId") `);
await queryRunner.query(`CREATE INDEX "IDX_605472305f26818cc93d1baaa7" ON "user_list_joining" ("userListId") `);
await queryRunner.query(`CREATE TABLE "hashtag" ("id" character varying(32) NOT NULL, "name" character varying(128) NOT NULL, "mentionedUserIds" character varying(32) array NOT NULL, "mentionedUsersCount" integer NOT NULL DEFAULT 0, "mentionedLocalUserIds" character varying(32) array NOT NULL, "mentionedLocalUsersCount" integer NOT NULL DEFAULT 0, "mentionedRemoteUserIds" character varying(32) array NOT NULL, "mentionedRemoteUsersCount" integer NOT NULL DEFAULT 0, "attachedUserIds" character varying(32) array NOT NULL, "attachedUsersCount" integer NOT NULL DEFAULT 0, "attachedLocalUserIds" character varying(32) array NOT NULL, "attachedLocalUsersCount" integer NOT NULL DEFAULT 0, "attachedRemoteUserIds" character varying(32) array NOT NULL, "attachedRemoteUsersCount" integer NOT NULL DEFAULT 0, CONSTRAINT "PK_cb36eb8af8412bfa978f1165d78" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_347fec870eafea7b26c8a73bac" ON "hashtag" ("name") `);
await queryRunner.query(`CREATE INDEX "IDX_2710a55f826ee236ea1a62698f" ON "hashtag" ("mentionedUsersCount") `);
await queryRunner.query(`CREATE INDEX "IDX_0e206cec573f1edff4a3062923" ON "hashtag" ("mentionedLocalUsersCount") `);
await queryRunner.query(`CREATE INDEX "IDX_4c02d38a976c3ae132228c6fce" ON "hashtag" ("mentionedRemoteUsersCount") `);
await queryRunner.query(`CREATE INDEX "IDX_d57f9030cd3af7f63ffb1c267c" ON "hashtag" ("attachedUsersCount") `);
await queryRunner.query(`CREATE INDEX "IDX_0c44bf4f680964145f2a68a341" ON "hashtag" ("attachedLocalUsersCount") `);
await queryRunner.query(`CREATE INDEX "IDX_0b03cbcd7e6a7ce068efa8ecc2" ON "hashtag" ("attachedRemoteUsersCount") `);
await queryRunner.query(`CREATE TABLE "note_favorite" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, CONSTRAINT "PK_af0da35a60b9fa4463a62082b36" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_47f4b1892f5d6ba8efb3057d81" ON "note_favorite" ("userId") `);
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_0f4fb9ad355f3effff221ef245" ON "note_favorite" ("userId", "noteId") `);
await queryRunner.query(`CREATE TABLE "abuse_user_report" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "reporterId" character varying(32) NOT NULL, "comment" character varying(512) NOT NULL, CONSTRAINT "PK_87873f5f5cc5c321a1306b2d18c" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_db2098070b2b5a523c58181f74" ON "abuse_user_report" ("createdAt") `);
await queryRunner.query(`CREATE INDEX "IDX_d049123c413e68ca52abe73420" ON "abuse_user_report" ("userId") `);
await queryRunner.query(`CREATE INDEX "IDX_04cc96756f89d0b7f9473e8cdf" ON "abuse_user_report" ("reporterId") `);
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_5cd442c3b2e74fdd99dae20243" ON "abuse_user_report" ("userId", "reporterId") `);
await queryRunner.query(`CREATE TABLE "registration_ticket" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "code" character varying(64) NOT NULL, CONSTRAINT "PK_f11696b6fafcf3662d4292734f8" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_0ff69e8dfa9fe31bb4a4660f59" ON "registration_ticket" ("code") `);
await queryRunner.query(`CREATE TABLE "messaging_message" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "recipientId" character varying(32) NOT NULL, "text" character varying(4096), "isRead" boolean NOT NULL DEFAULT false, "fileId" character varying(32), CONSTRAINT "PK_db398fd79dc95d0eb8c30456eaa" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_e21cd3646e52ef9c94aaf17c2e" ON "messaging_message" ("createdAt") `);
await queryRunner.query(`CREATE INDEX "IDX_5377c307783fce2b6d352e1203" ON "messaging_message" ("userId") `);
await queryRunner.query(`CREATE INDEX "IDX_cac14a4e3944454a5ce7daa514" ON "messaging_message" ("recipientId") `);
await queryRunner.query(`CREATE TABLE "signin" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "ip" character varying(128) NOT NULL, "headers" jsonb NOT NULL, "success" boolean NOT NULL, CONSTRAINT "PK_9e96ddc025712616fc492b3b588" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_2c308dbdc50d94dc625670055f" ON "signin" ("userId") `);
await queryRunner.query(`CREATE TABLE "auth_session" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "token" character varying(128) NOT NULL, "userId" character varying(32), "appId" character varying(32) NOT NULL, CONSTRAINT "PK_19354ed146424a728c1112a8cbf" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_62cb09e1129f6ec024ef66e183" ON "auth_session" ("token") `);
await queryRunner.query(`CREATE TABLE "follow_request" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "followeeId" character varying(32) NOT NULL, "followerId" character varying(32) NOT NULL, "requestId" character varying(128), "followerHost" character varying(128), "followerInbox" character varying(512), "followerSharedInbox" character varying(512), "followeeHost" character varying(128), "followeeInbox" character varying(512), "followeeSharedInbox" character varying(512), CONSTRAINT "PK_53a9aa3725f7a3deb150b39dbfc" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_12c01c0d1a79f77d9f6c15fadd" ON "follow_request" ("followeeId") `);
await queryRunner.query(`CREATE INDEX "IDX_a7fd92dd6dc519e6fb435dd108" ON "follow_request" ("followerId") `);
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_d54a512b822fac7ed52800f6b4" ON "follow_request" ("followerId", "followeeId") `);
await queryRunner.query(`CREATE TABLE "emoji" ("id" character varying(32) NOT NULL, "updatedAt" TIMESTAMP WITH TIME ZONE, "name" character varying(128) NOT NULL, "host" character varying(128), "url" character varying(512) NOT NULL, "uri" character varying(512), "type" character varying(64), "aliases" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], CONSTRAINT "PK_df74ce05e24999ee01ea0bc50a3" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_b37dafc86e9af007e3295c2781" ON "emoji" ("name") `);
await queryRunner.query(`CREATE INDEX "IDX_5900e907bb46516ddf2871327c" ON "emoji" ("host") `);
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_4f4d35e1256c84ae3d1f0eab10" ON "emoji" ("name", "host") `);
await queryRunner.query(`CREATE TABLE "reversi_game" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "startedAt" TIMESTAMP WITH TIME ZONE, "user1Id" character varying(32) NOT NULL, "user2Id" character varying(32) NOT NULL, "user1Accepted" boolean NOT NULL DEFAULT false, "user2Accepted" boolean NOT NULL DEFAULT false, "black" integer, "isStarted" boolean NOT NULL DEFAULT false, "isEnded" boolean NOT NULL DEFAULT false, "winnerId" character varying(32), "surrendered" character varying(32), "logs" jsonb NOT NULL DEFAULT '[]', "map" character varying(64) array NOT NULL, "bw" character varying(32) NOT NULL, "isLlotheo" boolean NOT NULL DEFAULT false, "canPutEverywhere" boolean NOT NULL DEFAULT false, "loopedBoard" boolean NOT NULL DEFAULT false, "form1" jsonb DEFAULT null, "form2" jsonb DEFAULT null, "crc32" character varying(32), CONSTRAINT "PK_76b30eeba71b1193ad7c5311c3f" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_b46ec40746efceac604142be1c" ON "reversi_game" ("createdAt") `);
await queryRunner.query(`CREATE TABLE "reversi_matching" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "parentId" character varying(32) NOT NULL, "childId" character varying(32) NOT NULL, CONSTRAINT "PK_880bd0afbab232f21c8b9d146cf" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_b604d92d6c7aec38627f6eaf16" ON "reversi_matching" ("createdAt") `);
await queryRunner.query(`CREATE INDEX "IDX_3b25402709dd9882048c2bbade" ON "reversi_matching" ("parentId") `);
await queryRunner.query(`CREATE INDEX "IDX_e247b23a3c9b45f89ec1299d06" ON "reversi_matching" ("childId") `);
await queryRunner.query(`CREATE TABLE "user_note_pining" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, CONSTRAINT "PK_a6a2dad4ae000abce2ea9d9b103" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_bfbc6f79ba4007b4ce5097f08d" ON "user_note_pining" ("userId") `);
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_410cd649884b501c02d6e72738" ON "user_note_pining" ("userId", "noteId") `);
await queryRunner.query(`CREATE TYPE "poll_notevisibility_enum" AS ENUM('public', 'home', 'followers', 'specified')`);
await queryRunner.query(`CREATE TABLE "poll" ("noteId" character varying(32) NOT NULL, "expiresAt" TIMESTAMP WITH TIME ZONE, "multiple" boolean NOT NULL, "choices" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], "votes" integer array NOT NULL, "noteVisibility" "poll_notevisibility_enum" NOT NULL, "userId" character varying(32) NOT NULL, "userHost" character varying(128), CONSTRAINT "REL_da851e06d0dfe2ef397d8b1bf1" UNIQUE ("noteId"), CONSTRAINT "PK_da851e06d0dfe2ef397d8b1bf1b" PRIMARY KEY ("noteId"))`);
await queryRunner.query(`CREATE INDEX "IDX_0610ebcfcfb4a18441a9bcdab2" ON "poll" ("userId") `);
await queryRunner.query(`CREATE INDEX "IDX_7fa20a12319c7f6dc3aed98c0a" ON "poll" ("userHost") `);
await queryRunner.query(`CREATE TABLE "user_keypair" ("userId" character varying(32) NOT NULL, "publicKey" character varying(4096) NOT NULL, "privateKey" character varying(4096) NOT NULL, CONSTRAINT "REL_f4853eb41ab722fe05f81cedeb" UNIQUE ("userId"), CONSTRAINT "PK_f4853eb41ab722fe05f81cedeb6" PRIMARY KEY ("userId"))`);
await queryRunner.query(`CREATE TABLE "user_publickey" ("userId" character varying(32) NOT NULL, "keyId" character varying(256) NOT NULL, "keyPem" character varying(4096) NOT NULL, CONSTRAINT "REL_10c146e4b39b443ede016f6736" UNIQUE ("userId"), CONSTRAINT "PK_10c146e4b39b443ede016f6736d" PRIMARY KEY ("userId"))`);
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_171e64971c780ebd23fae140bb" ON "user_publickey" ("keyId") `);
await queryRunner.query(`CREATE TABLE "user_profile" ("userId" character varying(32) NOT NULL, "location" character varying(128), "birthday" character(10), "description" character varying(1024), "fields" jsonb NOT NULL DEFAULT '[]', "url" character varying(512), "email" character varying(128), "emailVerifyCode" character varying(128), "emailVerified" boolean NOT NULL DEFAULT false, "twoFactorTempSecret" character varying(128), "twoFactorSecret" character varying(128), "twoFactorEnabled" boolean NOT NULL DEFAULT false, "password" character varying(128), "clientData" jsonb NOT NULL DEFAULT '{}', "autoWatch" boolean NOT NULL DEFAULT false, "autoAcceptFollowed" boolean NOT NULL DEFAULT false, "alwaysMarkNsfw" boolean NOT NULL DEFAULT false, "carefulBot" boolean NOT NULL DEFAULT false, "twitter" boolean NOT NULL DEFAULT false, "twitterAccessToken" character varying(64) DEFAULT null, "twitterAccessTokenSecret" character varying(64) DEFAULT null, "twitterUserId" character varying(64) DEFAULT null, "twitterScreenName" character varying(64) DEFAULT null, "github" boolean NOT NULL DEFAULT false, "githubAccessToken" character varying(64) DEFAULT null, "githubId" integer DEFAULT null, "githubLogin" character varying(64) DEFAULT null, "discord" boolean NOT NULL DEFAULT false, "discordAccessToken" character varying(64) DEFAULT null, "discordRefreshToken" character varying(64) DEFAULT null, "discordExpiresDate" integer DEFAULT null, "discordId" character varying(64) DEFAULT null, "discordUsername" character varying(64) DEFAULT null, "discordDiscriminator" character varying(64) DEFAULT null, "userHost" character varying(128), CONSTRAINT "REL_51cb79b5555effaf7d69ba1cff" UNIQUE ("userId"), CONSTRAINT "PK_51cb79b5555effaf7d69ba1cff9" PRIMARY KEY ("userId"))`);
await queryRunner.query(`CREATE INDEX "IDX_dce530b98e454793dac5ec2f5a" ON "user_profile" ("userHost") `);
await queryRunner.query(`CREATE TYPE "__chart__active_users_span_enum" AS ENUM('hour', 'day')`);
await queryRunner.query(`CREATE TABLE "__chart__active_users" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__active_users_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_count" bigint NOT NULL, "___remote_count" bigint NOT NULL, CONSTRAINT "PK_317237a9f733b970604a11e314f" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE TYPE "__chart__drive_span_enum" AS ENUM('hour', 'day')`);
await queryRunner.query(`CREATE TABLE "__chart__drive" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__drive_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_totalCount" bigint NOT NULL, "___local_totalSize" bigint NOT NULL, "___local_incCount" bigint NOT NULL, "___local_incSize" bigint NOT NULL, "___local_decCount" bigint NOT NULL, "___local_decSize" bigint NOT NULL, "___remote_totalCount" bigint NOT NULL, "___remote_totalSize" bigint NOT NULL, "___remote_incCount" bigint NOT NULL, "___remote_incSize" bigint NOT NULL, "___remote_decCount" bigint NOT NULL, "___remote_decSize" bigint NOT NULL, CONSTRAINT "PK_f96bc548a765cd4b3b354221ce7" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE TYPE "__chart__federation_span_enum" AS ENUM('hour', 'day')`);
await queryRunner.query(`CREATE TABLE "__chart__federation" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__federation_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___instance_total" bigint NOT NULL, "___instance_inc" bigint NOT NULL, "___instance_dec" bigint NOT NULL, CONSTRAINT "PK_b39dcd31a0fe1a7757e348e85fd" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE TYPE "__chart__hashtag_span_enum" AS ENUM('hour', 'day')`);
await queryRunner.query(`CREATE TABLE "__chart__hashtag" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__hashtag_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_count" bigint NOT NULL, "___remote_count" bigint NOT NULL, CONSTRAINT "PK_c32f1ea2b44a5d2f7881e37f8f9" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE TYPE "__chart__instance_span_enum" AS ENUM('hour', 'day')`);
await queryRunner.query(`CREATE TABLE "__chart__instance" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__instance_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___requests_failed" bigint NOT NULL, "___requests_succeeded" bigint NOT NULL, "___requests_received" bigint NOT NULL, "___notes_total" bigint NOT NULL, "___notes_inc" bigint NOT NULL, "___notes_dec" bigint NOT NULL, "___notes_diffs_normal" bigint NOT NULL, "___notes_diffs_reply" bigint NOT NULL, "___notes_diffs_renote" bigint NOT NULL, "___users_total" bigint NOT NULL, "___users_inc" bigint NOT NULL, "___users_dec" bigint NOT NULL, "___following_total" bigint NOT NULL, "___following_inc" bigint NOT NULL, "___following_dec" bigint NOT NULL, "___followers_total" bigint NOT NULL, "___followers_inc" bigint NOT NULL, "___followers_dec" bigint NOT NULL, "___drive_totalFiles" bigint NOT NULL, "___drive_totalUsage" bigint NOT NULL, "___drive_incFiles" bigint NOT NULL, "___drive_incUsage" bigint NOT NULL, "___drive_decFiles" bigint NOT NULL, "___drive_decUsage" bigint NOT NULL, CONSTRAINT "PK_1267c67c7c2d47b4903975f2c00" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE TYPE "__chart__network_span_enum" AS ENUM('hour', 'day')`);
await queryRunner.query(`CREATE TABLE "__chart__network" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__network_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___incomingRequests" bigint NOT NULL, "___outgoingRequests" bigint NOT NULL, "___totalTime" bigint NOT NULL, "___incomingBytes" bigint NOT NULL, "___outgoingBytes" bigint NOT NULL, CONSTRAINT "PK_bc4290c2e27fad14ef0c1ca93f3" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE TYPE "__chart__notes_span_enum" AS ENUM('hour', 'day')`);
await queryRunner.query(`CREATE TABLE "__chart__notes" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__notes_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_total" bigint NOT NULL, "___local_inc" bigint NOT NULL, "___local_dec" bigint NOT NULL, "___local_diffs_normal" bigint NOT NULL, "___local_diffs_reply" bigint NOT NULL, "___local_diffs_renote" bigint NOT NULL, "___remote_total" bigint NOT NULL, "___remote_inc" bigint NOT NULL, "___remote_dec" bigint NOT NULL, "___remote_diffs_normal" bigint NOT NULL, "___remote_diffs_reply" bigint NOT NULL, "___remote_diffs_renote" bigint NOT NULL, CONSTRAINT "PK_0aec823fa85c7f901bdb3863b14" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE TYPE "__chart__per_user_drive_span_enum" AS ENUM('hour', 'day')`);
await queryRunner.query(`CREATE TABLE "__chart__per_user_drive" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__per_user_drive_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___totalCount" bigint NOT NULL, "___totalSize" bigint NOT NULL, "___incCount" bigint NOT NULL, "___incSize" bigint NOT NULL, "___decCount" bigint NOT NULL, "___decSize" bigint NOT NULL, CONSTRAINT "PK_d0ef23d24d666e1a44a0cd3d208" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE TYPE "__chart__per_user_following_span_enum" AS ENUM('hour', 'day')`);
await queryRunner.query(`CREATE TABLE "__chart__per_user_following" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__per_user_following_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_followings_total" bigint NOT NULL, "___local_followings_inc" bigint NOT NULL, "___local_followings_dec" bigint NOT NULL, "___local_followers_total" bigint NOT NULL, "___local_followers_inc" bigint NOT NULL, "___local_followers_dec" bigint NOT NULL, "___remote_followings_total" bigint NOT NULL, "___remote_followings_inc" bigint NOT NULL, "___remote_followings_dec" bigint NOT NULL, "___remote_followers_total" bigint NOT NULL, "___remote_followers_inc" bigint NOT NULL, "___remote_followers_dec" bigint NOT NULL, CONSTRAINT "PK_85bb1b540363a29c2fec83bd907" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE TYPE "__chart__per_user_notes_span_enum" AS ENUM('hour', 'day')`);
await queryRunner.query(`CREATE TABLE "__chart__per_user_notes" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__per_user_notes_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___total" bigint NOT NULL, "___inc" bigint NOT NULL, "___dec" bigint NOT NULL, "___diffs_normal" bigint NOT NULL, "___diffs_reply" bigint NOT NULL, "___diffs_renote" bigint NOT NULL, CONSTRAINT "PK_334acf6e915af2f29edc11b8e50" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE TYPE "__chart__per_user_reaction_span_enum" AS ENUM('hour', 'day')`);
await queryRunner.query(`CREATE TABLE "__chart__per_user_reaction" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__per_user_reaction_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_count" bigint NOT NULL, "___remote_count" bigint NOT NULL, CONSTRAINT "PK_984f54dae441e65b633e8d27a7f" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE TYPE "__chart__test_grouped_span_enum" AS ENUM('hour', 'day')`);
await queryRunner.query(`CREATE TABLE "__chart__test_grouped" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__test_grouped_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___foo_total" bigint NOT NULL, "___foo_inc" bigint NOT NULL, "___foo_dec" bigint NOT NULL, CONSTRAINT "PK_f4a2b175d308695af30d4293272" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE TYPE "__chart__test_unique_span_enum" AS ENUM('hour', 'day')`);
await queryRunner.query(`CREATE TABLE "__chart__test_unique" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__test_unique_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___foo" bigint NOT NULL, CONSTRAINT "PK_409bac9c97cc612d8500012319d" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE TYPE "__chart__test_span_enum" AS ENUM('hour', 'day')`);
await queryRunner.query(`CREATE TABLE "__chart__test" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__test_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___foo_total" bigint NOT NULL, "___foo_inc" bigint NOT NULL, "___foo_dec" bigint NOT NULL, CONSTRAINT "PK_b4bc31dffbd1b785276a3ecfc1e" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE TYPE "__chart__users_span_enum" AS ENUM('hour', 'day')`);
await queryRunner.query(`CREATE TABLE "__chart__users" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__users_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_total" bigint NOT NULL, "___local_inc" bigint NOT NULL, "___local_dec" bigint NOT NULL, "___remote_total" bigint NOT NULL, "___remote_inc" bigint NOT NULL, "___remote_dec" bigint NOT NULL, CONSTRAINT "PK_4dfcf2c78d03524b9eb2c99d328" PRIMARY KEY ("id"))`);
await queryRunner.query(`ALTER TABLE "drive_folder" ADD CONSTRAINT "FK_f4fc06e49c0171c85f1c48060d2" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "drive_folder" ADD CONSTRAINT "FK_00ceffb0cdc238b3233294f08f2" FOREIGN KEY ("parentId") REFERENCES "drive_folder"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "drive_file" ADD CONSTRAINT "FK_860fa6f6c7df5bb887249fba22e" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "drive_file" ADD CONSTRAINT "FK_bb90d1956dafc4068c28aa7560a" FOREIGN KEY ("folderId") REFERENCES "drive_folder"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "user" ADD CONSTRAINT "FK_58f5c71eaab331645112cf8cfa5" FOREIGN KEY ("avatarId") REFERENCES "drive_file"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "user" ADD CONSTRAINT "FK_afc64b53f8db3707ceb34eb28e2" FOREIGN KEY ("bannerId") REFERENCES "drive_file"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "app" ADD CONSTRAINT "FK_3f5b0899ef90527a3462d7c2cb3" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "access_token" ADD CONSTRAINT "FK_9949557d0e1b2c19e5344c171e9" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "access_token" ADD CONSTRAINT "FK_a3ff16c90cc87a82a0b5959e560" FOREIGN KEY ("appId") REFERENCES "app"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "note" ADD CONSTRAINT "FK_17cb3553c700a4985dff5a30ff5" FOREIGN KEY ("replyId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "note" ADD CONSTRAINT "FK_52ccc804d7c69037d558bac4c96" FOREIGN KEY ("renoteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "note" ADD CONSTRAINT "FK_ec5c201576192ba8904c345c5cc" FOREIGN KEY ("appId") REFERENCES "app"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "note" ADD CONSTRAINT "FK_5b87d9d19127bd5d92026017a7b" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "poll_vote" ADD CONSTRAINT "FK_66d2bd2ee31d14bcc23069a89f8" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "poll_vote" ADD CONSTRAINT "FK_aecfbd5ef60374918e63ee95fa7" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "note_reaction" ADD CONSTRAINT "FK_13761f64257f40c5636d0ff95ee" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "note_reaction" ADD CONSTRAINT "FK_45145e4953780f3cd5656f0ea6a" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "note_watching" ADD CONSTRAINT "FK_b0134ec406e8d09a540f8182888" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "note_watching" ADD CONSTRAINT "FK_03e7028ab8388a3f5e3ce2a8619" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "note_unread" ADD CONSTRAINT "FK_56b0166d34ddae49d8ef7610bb9" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "note_unread" ADD CONSTRAINT "FK_e637cba4dc4410218c4251260e4" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "notification" ADD CONSTRAINT "FK_3c601b70a1066d2c8b517094cb9" FOREIGN KEY ("notifieeId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "notification" ADD CONSTRAINT "FK_3b4e96eec8d36a8bbb9d02aa710" FOREIGN KEY ("notifierId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "notification" ADD CONSTRAINT "FK_769cb6b73a1efe22ddf733ac453" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "following" ADD CONSTRAINT "FK_24e0042143a18157b234df186c3" FOREIGN KEY ("followeeId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "following" ADD CONSTRAINT "FK_6516c5a6f3c015b4eed39978be5" FOREIGN KEY ("followerId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "muting" ADD CONSTRAINT "FK_ec96b4fed9dae517e0dbbe0675c" FOREIGN KEY ("muteeId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "muting" ADD CONSTRAINT "FK_93060675b4a79a577f31d260c67" FOREIGN KEY ("muterId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "sw_subscription" ADD CONSTRAINT "FK_97754ca6f2baff9b4abb7f853dd" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "blocking" ADD CONSTRAINT "FK_2cd4a2743a99671308f5417759e" FOREIGN KEY ("blockeeId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "blocking" ADD CONSTRAINT "FK_0627125f1a8a42c9a1929edb552" FOREIGN KEY ("blockerId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "user_list" ADD CONSTRAINT "FK_b7fcefbdd1c18dce86687531f99" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "user_list_joining" ADD CONSTRAINT "FK_d844bfc6f3f523a05189076efaa" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "user_list_joining" ADD CONSTRAINT "FK_605472305f26818cc93d1baaa74" FOREIGN KEY ("userListId") REFERENCES "user_list"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "note_favorite" ADD CONSTRAINT "FK_47f4b1892f5d6ba8efb3057d81a" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "note_favorite" ADD CONSTRAINT "FK_0e00498f180193423c992bc4370" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "abuse_user_report" ADD CONSTRAINT "FK_d049123c413e68ca52abe734203" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "abuse_user_report" ADD CONSTRAINT "FK_04cc96756f89d0b7f9473e8cdf3" FOREIGN KEY ("reporterId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "messaging_message" ADD CONSTRAINT "FK_5377c307783fce2b6d352e1203b" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "messaging_message" ADD CONSTRAINT "FK_cac14a4e3944454a5ce7daa5142" FOREIGN KEY ("recipientId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "messaging_message" ADD CONSTRAINT "FK_535def119223ac05ad3fa9ef64b" FOREIGN KEY ("fileId") REFERENCES "drive_file"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "signin" ADD CONSTRAINT "FK_2c308dbdc50d94dc625670055f7" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "auth_session" ADD CONSTRAINT "FK_c072b729d71697f959bde66ade0" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "auth_session" ADD CONSTRAINT "FK_dbe037d4bddd17b03a1dc778dee" FOREIGN KEY ("appId") REFERENCES "app"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "follow_request" ADD CONSTRAINT "FK_12c01c0d1a79f77d9f6c15fadd2" FOREIGN KEY ("followeeId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "follow_request" ADD CONSTRAINT "FK_a7fd92dd6dc519e6fb435dd108f" FOREIGN KEY ("followerId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "reversi_game" ADD CONSTRAINT "FK_f7467510c60a45ce5aca6292743" FOREIGN KEY ("user1Id") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "reversi_game" ADD CONSTRAINT "FK_6649a4e8c5d5cf32fb03b5da9f6" FOREIGN KEY ("user2Id") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "reversi_matching" ADD CONSTRAINT "FK_3b25402709dd9882048c2bbade0" FOREIGN KEY ("parentId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "reversi_matching" ADD CONSTRAINT "FK_e247b23a3c9b45f89ec1299d066" FOREIGN KEY ("childId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "user_note_pining" ADD CONSTRAINT "FK_bfbc6f79ba4007b4ce5097f08d6" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "user_note_pining" ADD CONSTRAINT "FK_68881008f7c3588ad7ecae471cf" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "poll" ADD CONSTRAINT "FK_da851e06d0dfe2ef397d8b1bf1b" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "user_keypair" ADD CONSTRAINT "FK_f4853eb41ab722fe05f81cedeb6" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "user_publickey" ADD CONSTRAINT "FK_10c146e4b39b443ede016f6736d" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "user_profile" ADD CONSTRAINT "FK_51cb79b5555effaf7d69ba1cff9" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "user_profile" DROP CONSTRAINT "FK_51cb79b5555effaf7d69ba1cff9"`);
await queryRunner.query(`ALTER TABLE "user_publickey" DROP CONSTRAINT "FK_10c146e4b39b443ede016f6736d"`);
await queryRunner.query(`ALTER TABLE "user_keypair" DROP CONSTRAINT "FK_f4853eb41ab722fe05f81cedeb6"`);
await queryRunner.query(`ALTER TABLE "poll" DROP CONSTRAINT "FK_da851e06d0dfe2ef397d8b1bf1b"`);
await queryRunner.query(`ALTER TABLE "user_note_pining" DROP CONSTRAINT "FK_68881008f7c3588ad7ecae471cf"`);
await queryRunner.query(`ALTER TABLE "user_note_pining" DROP CONSTRAINT "FK_bfbc6f79ba4007b4ce5097f08d6"`);
await queryRunner.query(`ALTER TABLE "reversi_matching" DROP CONSTRAINT "FK_e247b23a3c9b45f89ec1299d066"`);
await queryRunner.query(`ALTER TABLE "reversi_matching" DROP CONSTRAINT "FK_3b25402709dd9882048c2bbade0"`);
await queryRunner.query(`ALTER TABLE "reversi_game" DROP CONSTRAINT "FK_6649a4e8c5d5cf32fb03b5da9f6"`);
await queryRunner.query(`ALTER TABLE "reversi_game" DROP CONSTRAINT "FK_f7467510c60a45ce5aca6292743"`);
await queryRunner.query(`ALTER TABLE "follow_request" DROP CONSTRAINT "FK_a7fd92dd6dc519e6fb435dd108f"`);
await queryRunner.query(`ALTER TABLE "follow_request" DROP CONSTRAINT "FK_12c01c0d1a79f77d9f6c15fadd2"`);
await queryRunner.query(`ALTER TABLE "auth_session" DROP CONSTRAINT "FK_dbe037d4bddd17b03a1dc778dee"`);
await queryRunner.query(`ALTER TABLE "auth_session" DROP CONSTRAINT "FK_c072b729d71697f959bde66ade0"`);
await queryRunner.query(`ALTER TABLE "signin" DROP CONSTRAINT "FK_2c308dbdc50d94dc625670055f7"`);
await queryRunner.query(`ALTER TABLE "messaging_message" DROP CONSTRAINT "FK_535def119223ac05ad3fa9ef64b"`);
await queryRunner.query(`ALTER TABLE "messaging_message" DROP CONSTRAINT "FK_cac14a4e3944454a5ce7daa5142"`);
await queryRunner.query(`ALTER TABLE "messaging_message" DROP CONSTRAINT "FK_5377c307783fce2b6d352e1203b"`);
await queryRunner.query(`ALTER TABLE "abuse_user_report" DROP CONSTRAINT "FK_04cc96756f89d0b7f9473e8cdf3"`);
await queryRunner.query(`ALTER TABLE "abuse_user_report" DROP CONSTRAINT "FK_d049123c413e68ca52abe734203"`);
await queryRunner.query(`ALTER TABLE "note_favorite" DROP CONSTRAINT "FK_0e00498f180193423c992bc4370"`);
await queryRunner.query(`ALTER TABLE "note_favorite" DROP CONSTRAINT "FK_47f4b1892f5d6ba8efb3057d81a"`);
await queryRunner.query(`ALTER TABLE "user_list_joining" DROP CONSTRAINT "FK_605472305f26818cc93d1baaa74"`);
await queryRunner.query(`ALTER TABLE "user_list_joining" DROP CONSTRAINT "FK_d844bfc6f3f523a05189076efaa"`);
await queryRunner.query(`ALTER TABLE "user_list" DROP CONSTRAINT "FK_b7fcefbdd1c18dce86687531f99"`);
await queryRunner.query(`ALTER TABLE "blocking" DROP CONSTRAINT "FK_0627125f1a8a42c9a1929edb552"`);
await queryRunner.query(`ALTER TABLE "blocking" DROP CONSTRAINT "FK_2cd4a2743a99671308f5417759e"`);
await queryRunner.query(`ALTER TABLE "sw_subscription" DROP CONSTRAINT "FK_97754ca6f2baff9b4abb7f853dd"`);
await queryRunner.query(`ALTER TABLE "muting" DROP CONSTRAINT "FK_93060675b4a79a577f31d260c67"`);
await queryRunner.query(`ALTER TABLE "muting" DROP CONSTRAINT "FK_ec96b4fed9dae517e0dbbe0675c"`);
await queryRunner.query(`ALTER TABLE "following" DROP CONSTRAINT "FK_6516c5a6f3c015b4eed39978be5"`);
await queryRunner.query(`ALTER TABLE "following" DROP CONSTRAINT "FK_24e0042143a18157b234df186c3"`);
await queryRunner.query(`ALTER TABLE "notification" DROP CONSTRAINT "FK_769cb6b73a1efe22ddf733ac453"`);
await queryRunner.query(`ALTER TABLE "notification" DROP CONSTRAINT "FK_3b4e96eec8d36a8bbb9d02aa710"`);
await queryRunner.query(`ALTER TABLE "notification" DROP CONSTRAINT "FK_3c601b70a1066d2c8b517094cb9"`);
await queryRunner.query(`ALTER TABLE "note_unread" DROP CONSTRAINT "FK_e637cba4dc4410218c4251260e4"`);
await queryRunner.query(`ALTER TABLE "note_unread" DROP CONSTRAINT "FK_56b0166d34ddae49d8ef7610bb9"`);
await queryRunner.query(`ALTER TABLE "note_watching" DROP CONSTRAINT "FK_03e7028ab8388a3f5e3ce2a8619"`);
await queryRunner.query(`ALTER TABLE "note_watching" DROP CONSTRAINT "FK_b0134ec406e8d09a540f8182888"`);
await queryRunner.query(`ALTER TABLE "note_reaction" DROP CONSTRAINT "FK_45145e4953780f3cd5656f0ea6a"`);
await queryRunner.query(`ALTER TABLE "note_reaction" DROP CONSTRAINT "FK_13761f64257f40c5636d0ff95ee"`);
await queryRunner.query(`ALTER TABLE "poll_vote" DROP CONSTRAINT "FK_aecfbd5ef60374918e63ee95fa7"`);
await queryRunner.query(`ALTER TABLE "poll_vote" DROP CONSTRAINT "FK_66d2bd2ee31d14bcc23069a89f8"`);
await queryRunner.query(`ALTER TABLE "note" DROP CONSTRAINT "FK_5b87d9d19127bd5d92026017a7b"`);
await queryRunner.query(`ALTER TABLE "note" DROP CONSTRAINT "FK_ec5c201576192ba8904c345c5cc"`);
await queryRunner.query(`ALTER TABLE "note" DROP CONSTRAINT "FK_52ccc804d7c69037d558bac4c96"`);
await queryRunner.query(`ALTER TABLE "note" DROP CONSTRAINT "FK_17cb3553c700a4985dff5a30ff5"`);
await queryRunner.query(`ALTER TABLE "access_token" DROP CONSTRAINT "FK_a3ff16c90cc87a82a0b5959e560"`);
await queryRunner.query(`ALTER TABLE "access_token" DROP CONSTRAINT "FK_9949557d0e1b2c19e5344c171e9"`);
await queryRunner.query(`ALTER TABLE "app" DROP CONSTRAINT "FK_3f5b0899ef90527a3462d7c2cb3"`);
await queryRunner.query(`ALTER TABLE "user" DROP CONSTRAINT "FK_afc64b53f8db3707ceb34eb28e2"`);
await queryRunner.query(`ALTER TABLE "user" DROP CONSTRAINT "FK_58f5c71eaab331645112cf8cfa5"`);
await queryRunner.query(`ALTER TABLE "drive_file" DROP CONSTRAINT "FK_bb90d1956dafc4068c28aa7560a"`);
await queryRunner.query(`ALTER TABLE "drive_file" DROP CONSTRAINT "FK_860fa6f6c7df5bb887249fba22e"`);
await queryRunner.query(`ALTER TABLE "drive_folder" DROP CONSTRAINT "FK_00ceffb0cdc238b3233294f08f2"`);
await queryRunner.query(`ALTER TABLE "drive_folder" DROP CONSTRAINT "FK_f4fc06e49c0171c85f1c48060d2"`);
await queryRunner.query(`DROP TABLE "__chart__users"`);
await queryRunner.query(`DROP TYPE "__chart__users_span_enum"`);
await queryRunner.query(`DROP TABLE "__chart__test"`);
await queryRunner.query(`DROP TYPE "__chart__test_span_enum"`);
await queryRunner.query(`DROP TABLE "__chart__test_unique"`);
await queryRunner.query(`DROP TYPE "__chart__test_unique_span_enum"`);
await queryRunner.query(`DROP TABLE "__chart__test_grouped"`);
await queryRunner.query(`DROP TYPE "__chart__test_grouped_span_enum"`);
await queryRunner.query(`DROP TABLE "__chart__per_user_reaction"`);
await queryRunner.query(`DROP TYPE "__chart__per_user_reaction_span_enum"`);
await queryRunner.query(`DROP TABLE "__chart__per_user_notes"`);
await queryRunner.query(`DROP TYPE "__chart__per_user_notes_span_enum"`);
await queryRunner.query(`DROP TABLE "__chart__per_user_following"`);
await queryRunner.query(`DROP TYPE "__chart__per_user_following_span_enum"`);
await queryRunner.query(`DROP TABLE "__chart__per_user_drive"`);
await queryRunner.query(`DROP TYPE "__chart__per_user_drive_span_enum"`);
await queryRunner.query(`DROP TABLE "__chart__notes"`);
await queryRunner.query(`DROP TYPE "__chart__notes_span_enum"`);
await queryRunner.query(`DROP TABLE "__chart__network"`);
await queryRunner.query(`DROP TYPE "__chart__network_span_enum"`);
await queryRunner.query(`DROP TABLE "__chart__instance"`);
await queryRunner.query(`DROP TYPE "__chart__instance_span_enum"`);
await queryRunner.query(`DROP TABLE "__chart__hashtag"`);
await queryRunner.query(`DROP TYPE "__chart__hashtag_span_enum"`);
await queryRunner.query(`DROP TABLE "__chart__federation"`);
await queryRunner.query(`DROP TYPE "__chart__federation_span_enum"`);
await queryRunner.query(`DROP TABLE "__chart__drive"`);
await queryRunner.query(`DROP TYPE "__chart__drive_span_enum"`);
await queryRunner.query(`DROP TABLE "__chart__active_users"`);
await queryRunner.query(`DROP TYPE "__chart__active_users_span_enum"`);
await queryRunner.query(`DROP INDEX "IDX_dce530b98e454793dac5ec2f5a"`);
await queryRunner.query(`DROP TABLE "user_profile"`);
await queryRunner.query(`DROP INDEX "IDX_171e64971c780ebd23fae140bb"`);
await queryRunner.query(`DROP TABLE "user_publickey"`);
await queryRunner.query(`DROP TABLE "user_keypair"`);
await queryRunner.query(`DROP INDEX "IDX_7fa20a12319c7f6dc3aed98c0a"`);
await queryRunner.query(`DROP INDEX "IDX_0610ebcfcfb4a18441a9bcdab2"`);
await queryRunner.query(`DROP TABLE "poll"`);
await queryRunner.query(`DROP TYPE "poll_notevisibility_enum"`);
await queryRunner.query(`DROP INDEX "IDX_410cd649884b501c02d6e72738"`);
await queryRunner.query(`DROP INDEX "IDX_bfbc6f79ba4007b4ce5097f08d"`);
await queryRunner.query(`DROP TABLE "user_note_pining"`);
await queryRunner.query(`DROP INDEX "IDX_e247b23a3c9b45f89ec1299d06"`);
await queryRunner.query(`DROP INDEX "IDX_3b25402709dd9882048c2bbade"`);
await queryRunner.query(`DROP INDEX "IDX_b604d92d6c7aec38627f6eaf16"`);
await queryRunner.query(`DROP TABLE "reversi_matching"`);
await queryRunner.query(`DROP INDEX "IDX_b46ec40746efceac604142be1c"`);
await queryRunner.query(`DROP TABLE "reversi_game"`);
await queryRunner.query(`DROP INDEX "IDX_4f4d35e1256c84ae3d1f0eab10"`);
await queryRunner.query(`DROP INDEX "IDX_5900e907bb46516ddf2871327c"`);
await queryRunner.query(`DROP INDEX "IDX_b37dafc86e9af007e3295c2781"`);
await queryRunner.query(`DROP TABLE "emoji"`);
await queryRunner.query(`DROP INDEX "IDX_d54a512b822fac7ed52800f6b4"`);
await queryRunner.query(`DROP INDEX "IDX_a7fd92dd6dc519e6fb435dd108"`);
await queryRunner.query(`DROP INDEX "IDX_12c01c0d1a79f77d9f6c15fadd"`);
await queryRunner.query(`DROP TABLE "follow_request"`);
await queryRunner.query(`DROP INDEX "IDX_62cb09e1129f6ec024ef66e183"`);
await queryRunner.query(`DROP TABLE "auth_session"`);
await queryRunner.query(`DROP INDEX "IDX_2c308dbdc50d94dc625670055f"`);
await queryRunner.query(`DROP TABLE "signin"`);
await queryRunner.query(`DROP INDEX "IDX_cac14a4e3944454a5ce7daa514"`);
await queryRunner.query(`DROP INDEX "IDX_5377c307783fce2b6d352e1203"`);
await queryRunner.query(`DROP INDEX "IDX_e21cd3646e52ef9c94aaf17c2e"`);
await queryRunner.query(`DROP TABLE "messaging_message"`);
await queryRunner.query(`DROP INDEX "IDX_0ff69e8dfa9fe31bb4a4660f59"`);
await queryRunner.query(`DROP TABLE "registration_ticket"`);
await queryRunner.query(`DROP INDEX "IDX_5cd442c3b2e74fdd99dae20243"`);
await queryRunner.query(`DROP INDEX "IDX_04cc96756f89d0b7f9473e8cdf"`);
await queryRunner.query(`DROP INDEX "IDX_d049123c413e68ca52abe73420"`);
await queryRunner.query(`DROP INDEX "IDX_db2098070b2b5a523c58181f74"`);
await queryRunner.query(`DROP TABLE "abuse_user_report"`);
await queryRunner.query(`DROP INDEX "IDX_0f4fb9ad355f3effff221ef245"`);
await queryRunner.query(`DROP INDEX "IDX_47f4b1892f5d6ba8efb3057d81"`);
await queryRunner.query(`DROP TABLE "note_favorite"`);
await queryRunner.query(`DROP INDEX "IDX_0b03cbcd7e6a7ce068efa8ecc2"`);
await queryRunner.query(`DROP INDEX "IDX_0c44bf4f680964145f2a68a341"`);
await queryRunner.query(`DROP INDEX "IDX_d57f9030cd3af7f63ffb1c267c"`);
await queryRunner.query(`DROP INDEX "IDX_4c02d38a976c3ae132228c6fce"`);
await queryRunner.query(`DROP INDEX "IDX_0e206cec573f1edff4a3062923"`);
await queryRunner.query(`DROP INDEX "IDX_2710a55f826ee236ea1a62698f"`);
await queryRunner.query(`DROP INDEX "IDX_347fec870eafea7b26c8a73bac"`);
await queryRunner.query(`DROP TABLE "hashtag"`);
await queryRunner.query(`DROP INDEX "IDX_605472305f26818cc93d1baaa7"`);
await queryRunner.query(`DROP INDEX "IDX_d844bfc6f3f523a05189076efa"`);
await queryRunner.query(`DROP TABLE "user_list_joining"`);
await queryRunner.query(`DROP INDEX "IDX_b7fcefbdd1c18dce86687531f9"`);
await queryRunner.query(`DROP TABLE "user_list"`);
await queryRunner.query(`DROP INDEX "IDX_98a1bc5cb30dfd159de056549f"`);
await queryRunner.query(`DROP INDEX "IDX_0627125f1a8a42c9a1929edb55"`);
await queryRunner.query(`DROP INDEX "IDX_2cd4a2743a99671308f5417759"`);
await queryRunner.query(`DROP INDEX "IDX_b9a354f7941c1e779f3b33aea6"`);
await queryRunner.query(`DROP TABLE "blocking"`);
await queryRunner.query(`DROP INDEX "IDX_97754ca6f2baff9b4abb7f853d"`);
await queryRunner.query(`DROP TABLE "sw_subscription"`);
await queryRunner.query(`DROP INDEX "IDX_1eb9d9824a630321a29fd3b290"`);
await queryRunner.query(`DROP INDEX "IDX_93060675b4a79a577f31d260c6"`);
await queryRunner.query(`DROP INDEX "IDX_ec96b4fed9dae517e0dbbe0675"`);
await queryRunner.query(`DROP INDEX "IDX_f86d57fbca33c7a4e6897490cc"`);
await queryRunner.query(`DROP TABLE "muting"`);
await queryRunner.query(`DROP INDEX "IDX_8d5afc98982185799b160e10eb"`);
await queryRunner.query(`DROP INDEX "IDX_2cd3b2a6b4cf0b910b260afe08"`);
await queryRunner.query(`DROP TABLE "instance"`);
await queryRunner.query(`DROP INDEX "IDX_307be5f1d1252e0388662acb96"`);
await queryRunner.query(`DROP INDEX "IDX_6516c5a6f3c015b4eed39978be"`);
await queryRunner.query(`DROP INDEX "IDX_24e0042143a18157b234df186c"`);
await queryRunner.query(`DROP INDEX "IDX_582f8fab771a9040a12961f3e7"`);
await queryRunner.query(`DROP TABLE "following"`);
await queryRunner.query(`DROP TABLE "meta"`);
await queryRunner.query(`DROP INDEX "IDX_3c601b70a1066d2c8b517094cb"`);
await queryRunner.query(`DROP INDEX "IDX_b11a5e627c41d4dc3170f1d370"`);
await queryRunner.query(`DROP TABLE "notification"`);
await queryRunner.query(`DROP INDEX "IDX_d908433a4953cc13216cd9c274"`);
await queryRunner.query(`DROP INDEX "IDX_e637cba4dc4410218c4251260e"`);
await queryRunner.query(`DROP INDEX "IDX_56b0166d34ddae49d8ef7610bb"`);
await queryRunner.query(`DROP TABLE "note_unread"`);
await queryRunner.query(`DROP INDEX "IDX_a42c93c69989ce1d09959df4cf"`);
await queryRunner.query(`DROP INDEX "IDX_44499765eec6b5489d72c4253b"`);
await queryRunner.query(`DROP INDEX "IDX_03e7028ab8388a3f5e3ce2a861"`);
await queryRunner.query(`DROP INDEX "IDX_b0134ec406e8d09a540f818288"`);
await queryRunner.query(`DROP INDEX "IDX_318cdf42a9cfc11f479bd802bb"`);
await queryRunner.query(`DROP TABLE "note_watching"`);
await queryRunner.query(`DROP INDEX "IDX_ad0c221b25672daf2df320a817"`);
await queryRunner.query(`DROP INDEX "IDX_45145e4953780f3cd5656f0ea6"`);
await queryRunner.query(`DROP INDEX "IDX_13761f64257f40c5636d0ff95e"`);
await queryRunner.query(`DROP INDEX "IDX_01f4581f114e0ebd2bbb876f0b"`);
await queryRunner.query(`DROP TABLE "note_reaction"`);
await queryRunner.query(`DROP INDEX "IDX_50bd7164c5b78f1f4a42c4d21f"`);
await queryRunner.query(`DROP INDEX "IDX_aecfbd5ef60374918e63ee95fa"`);
await queryRunner.query(`DROP INDEX "IDX_66d2bd2ee31d14bcc23069a89f"`);
await queryRunner.query(`DROP INDEX "IDX_0fb627e1c2f753262a74f0562d"`);
await queryRunner.query(`DROP TABLE "poll_vote"`);
await queryRunner.query(`DROP INDEX "IDX_7125a826ab192eb27e11d358a5"`);
await queryRunner.query(`DROP INDEX "IDX_88937d94d7443d9a99a76fa5c0"`);
await queryRunner.query(`DROP INDEX "IDX_54ebcb6d27222913b908d56fd8"`);
await queryRunner.query(`DROP INDEX "IDX_796a8c03959361f97dc2be1d5c"`);
await queryRunner.query(`DROP INDEX "IDX_25dfc71b0369b003a4cd434d0b"`);
await queryRunner.query(`DROP INDEX "IDX_51c063b6a133a9cb87145450f5"`);
await queryRunner.query(`DROP INDEX "IDX_153536c67d05e9adb24e99fc2b"`);
await queryRunner.query(`DROP INDEX "IDX_5b87d9d19127bd5d92026017a7"`);
await queryRunner.query(`DROP INDEX "IDX_52ccc804d7c69037d558bac4c9"`);
await queryRunner.query(`DROP INDEX "IDX_17cb3553c700a4985dff5a30ff"`);
await queryRunner.query(`DROP INDEX "IDX_e7c0567f5261063592f022e9b5"`);
await queryRunner.query(`DROP TABLE "note"`);
await queryRunner.query(`DROP TYPE "note_visibility_enum"`);
await queryRunner.query(`DROP INDEX "IDX_9949557d0e1b2c19e5344c171e"`);
await queryRunner.query(`DROP INDEX "IDX_64c327441248bae40f7d92f34f"`);
await queryRunner.query(`DROP INDEX "IDX_70ba8f6af34bc924fc9e12adb8"`);
await queryRunner.query(`DROP TABLE "access_token"`);
await queryRunner.query(`DROP INDEX "IDX_f49922d511d666848f250663c4"`);
await queryRunner.query(`DROP INDEX "IDX_3f5b0899ef90527a3462d7c2cb"`);
await queryRunner.query(`DROP INDEX "IDX_048a757923ed8b157e9895da53"`);
await queryRunner.query(`DROP TABLE "app"`);
await queryRunner.query(`DROP INDEX "IDX_5deb01ae162d1d70b80d064c27"`);
await queryRunner.query(`DROP INDEX "IDX_a854e557b1b14814750c7c7b0c"`);
await queryRunner.query(`DROP INDEX "IDX_be623adaa4c566baf5d29ce0c8"`);
await queryRunner.query(`DROP INDEX "IDX_3252a5df8d5bbd16b281f7799e"`);
await queryRunner.query(`DROP INDEX "IDX_fa99d777623947a5b05f394cae"`);
await queryRunner.query(`DROP INDEX "IDX_a27b942a0d6dcff90e3ee9b5e8"`);
await queryRunner.query(`DROP INDEX "IDX_80ca6e6ef65fb9ef34ea8c90f4"`);
await queryRunner.query(`DROP INDEX "IDX_e11e649824a45d8ed01d597fd9"`);
await queryRunner.query(`DROP TABLE "user"`);
await queryRunner.query(`DROP INDEX "IDX_bb90d1956dafc4068c28aa7560"`);
await queryRunner.query(`DROP INDEX "IDX_e5848eac4940934e23dbc17581"`);
await queryRunner.query(`DROP INDEX "IDX_c55b2b7c284d9fef98026fc88e"`);
await queryRunner.query(`DROP INDEX "IDX_e74022ce9a074b3866f70e0d27"`);
await queryRunner.query(`DROP INDEX "IDX_d85a184c2540d2deba33daf642"`);
await queryRunner.query(`DROP INDEX "IDX_a40b8df8c989d7db937ea27cf6"`);
await queryRunner.query(`DROP INDEX "IDX_37bb9a1b4585f8a3beb24c62d6"`);
await queryRunner.query(`DROP INDEX "IDX_92779627994ac79277f070c91e"`);
await queryRunner.query(`DROP INDEX "IDX_860fa6f6c7df5bb887249fba22"`);
await queryRunner.query(`DROP INDEX "IDX_c8dfad3b72196dd1d6b5db168a"`);
await queryRunner.query(`DROP TABLE "drive_file"`);
await queryRunner.query(`DROP INDEX "IDX_00ceffb0cdc238b3233294f08f"`);
await queryRunner.query(`DROP INDEX "IDX_f4fc06e49c0171c85f1c48060d"`);
await queryRunner.query(`DROP INDEX "IDX_02878d441ceae15ce060b73daf"`);
await queryRunner.query(`DROP TABLE "drive_folder"`);
await queryRunner.query(`DROP INDEX "IDX_584b536b49e53ac81beb39a177"`);
await queryRunner.query(`DROP INDEX "IDX_8cb40cfc8f3c28261e6f887b03"`);
await queryRunner.query(`DROP INDEX "IDX_8e4eb51a35d81b64dda28eed0a"`);
await queryRunner.query(`DROP TABLE "log"`);
await queryRunner.query(`DROP TYPE "log_level_enum"`);
}
}

View File

@ -0,0 +1,31 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class Pages1556348509290 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`CREATE TYPE "page_visibility_enum" AS ENUM('public', 'followers', 'specified')`);
await queryRunner.query(`CREATE TABLE "page" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL, "title" character varying(256) NOT NULL, "name" character varying(256) NOT NULL, "summary" character varying(256), "alignCenter" boolean NOT NULL, "font" character varying(32) NOT NULL, "userId" character varying(32) NOT NULL, "eyeCatchingImageId" character varying(32), "content" jsonb NOT NULL DEFAULT '[]', "variables" jsonb NOT NULL DEFAULT '[]', "visibility" "page_visibility_enum" NOT NULL, "visibleUserIds" character varying(32) array NOT NULL DEFAULT '{}'::varchar[], CONSTRAINT "PK_742f4117e065c5b6ad21b37ba1f" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_fbb4297c927a9b85e9cefa2eb1" ON "page" ("createdAt") `);
await queryRunner.query(`CREATE INDEX "IDX_af639b066dfbca78b01a920f8a" ON "page" ("updatedAt") `);
await queryRunner.query(`CREATE INDEX "IDX_b82c19c08afb292de4600d99e4" ON "page" ("name") `);
await queryRunner.query(`CREATE INDEX "IDX_ae1d917992dd0c9d9bbdad06c4" ON "page" ("userId") `);
await queryRunner.query(`CREATE INDEX "IDX_90148bbc2bf0854428786bfc15" ON "page" ("visibleUserIds") `);
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_2133ef8317e4bdb839c0dcbf13" ON "page" ("userId", "name") `);
await queryRunner.query(`ALTER TABLE "page" ADD CONSTRAINT "FK_ae1d917992dd0c9d9bbdad06c4a" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "page" ADD CONSTRAINT "FK_3126dd7c502c9e4d7597ef7ef10" FOREIGN KEY ("eyeCatchingImageId") REFERENCES "drive_file"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "page" DROP CONSTRAINT "FK_3126dd7c502c9e4d7597ef7ef10"`);
await queryRunner.query(`ALTER TABLE "page" DROP CONSTRAINT "FK_ae1d917992dd0c9d9bbdad06c4a"`);
await queryRunner.query(`DROP INDEX "IDX_2133ef8317e4bdb839c0dcbf13"`);
await queryRunner.query(`DROP INDEX "IDX_90148bbc2bf0854428786bfc15"`);
await queryRunner.query(`DROP INDEX "IDX_ae1d917992dd0c9d9bbdad06c4"`);
await queryRunner.query(`DROP INDEX "IDX_b82c19c08afb292de4600d99e4"`);
await queryRunner.query(`DROP INDEX "IDX_af639b066dfbca78b01a920f8a"`);
await queryRunner.query(`DROP INDEX "IDX_fbb4297c927a9b85e9cefa2eb1"`);
await queryRunner.query(`DROP TABLE "page"`);
await queryRunner.query(`DROP TYPE "page_visibility_enum"`);
}
}

View File

@ -0,0 +1,16 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class UserProfile1556746559567 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "githubId" TYPE VARCHAR(64) USING "githubId"::VARCHAR(64)`);
await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "discordExpiresDate" TYPE VARCHAR(64) USING "discordExpiresDate"::VARCHAR(64)`);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`UPDATE "user_profile" SET github = FALSE, discord = FALSE`);
await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "githubId" TYPE INTEGER USING NULL`);
await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "discordExpiresDate" TYPE INTEGER USING NULL`);
}
}

View File

@ -0,0 +1,13 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class PinnedUsers1557476068003 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "meta" ADD "pinnedUsers" character varying(256) array NOT NULL DEFAULT '{}'::varchar[]`);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "pinnedUsers"`);
}
}

View File

@ -0,0 +1,16 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class AddSomeUrls1557761316509 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "meta" ADD "ToSUrl" character varying(512)`);
await queryRunner.query(`ALTER TABLE "meta" ADD "repositoryUrl" character varying(512) NOT NULL DEFAULT 'https://github.com/syuilo/misskey'`);
await queryRunner.query(`ALTER TABLE "meta" ADD "feedbackUrl" character varying(512) DEFAULT 'https://github.com/syuilo/misskey/issues/new'`);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "feedbackUrl"`);
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "repositoryUrl"`);
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "ToSUrl"`);
}
}

View File

@ -0,0 +1,31 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class ObjectStorageSetting1557932705754 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "meta" ADD "useObjectStorage" boolean NOT NULL DEFAULT false`);
await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageBucket" character varying(512)`);
await queryRunner.query(`ALTER TABLE "meta" ADD "objectStoragePrefix" character varying(512)`);
await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageBaseUrl" character varying(512)`);
await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageEndpoint" character varying(512)`);
await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageRegion" character varying(512)`);
await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageAccessKey" character varying(512)`);
await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageSecretKey" character varying(512)`);
await queryRunner.query(`ALTER TABLE "meta" ADD "objectStoragePort" integer`);
await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageUseSSL" boolean NOT NULL DEFAULT true`);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageUseSSL"`);
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStoragePort"`);
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageSecretKey"`);
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageAccessKey"`);
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageRegion"`);
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageEndpoint"`);
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageBaseUrl"`);
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStoragePrefix"`);
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageBucket"`);
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "useObjectStorage"`);
}
}

View File

@ -0,0 +1,23 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class PageLike1558072954435 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`CREATE TABLE "page_like" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "pageId" character varying(32) NOT NULL, CONSTRAINT "PK_813f034843af992d3ae0f43c64c" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_0e61efab7f88dbb79c9166dbb4" ON "page_like" ("userId") `);
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_4ce6fb9c70529b4c8ac46c9bfa" ON "page_like" ("userId", "pageId") `);
await queryRunner.query(`ALTER TABLE "page" ADD "likedCount" integer NOT NULL DEFAULT 0`);
await queryRunner.query(`ALTER TABLE "page_like" ADD CONSTRAINT "FK_0e61efab7f88dbb79c9166dbb48" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "page_like" ADD CONSTRAINT "FK_cf8782626dced3176038176a847" FOREIGN KEY ("pageId") REFERENCES "page"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "page_like" DROP CONSTRAINT "FK_cf8782626dced3176038176a847"`);
await queryRunner.query(`ALTER TABLE "page_like" DROP CONSTRAINT "FK_0e61efab7f88dbb79c9166dbb48"`);
await queryRunner.query(`ALTER TABLE "page" DROP COLUMN "likedCount"`);
await queryRunner.query(`DROP INDEX "IDX_4ce6fb9c70529b4c8ac46c9bfa"`);
await queryRunner.query(`DROP INDEX "IDX_0e61efab7f88dbb79c9166dbb4"`);
await queryRunner.query(`DROP TABLE "page_like"`);
}
}

View File

@ -0,0 +1,41 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class UserGroup1558103093633 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`CREATE TABLE "user_group" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "name" character varying(256) NOT NULL, "userId" character varying(32) NOT NULL, "isPrivate" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_3c29fba6fe013ec8724378ce7c9" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_20e30aa35180e317e133d75316" ON "user_group" ("createdAt") `);
await queryRunner.query(`CREATE INDEX "IDX_3d6b372788ab01be58853003c9" ON "user_group" ("userId") `);
await queryRunner.query(`CREATE TABLE "user_group_joining" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "userGroupId" character varying(32) NOT NULL, CONSTRAINT "PK_15f2425885253c5507e1599cfe7" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_f3a1b4bd0c7cabba958a0c0b23" ON "user_group_joining" ("userId") `);
await queryRunner.query(`CREATE INDEX "IDX_67dc758bc0566985d1b3d39986" ON "user_group_joining" ("userGroupId") `);
await queryRunner.query(`ALTER TABLE "messaging_message" ADD "groupId" character varying(32)`);
await queryRunner.query(`ALTER TABLE "messaging_message" ADD "reads" character varying(32) array NOT NULL DEFAULT '{}'::varchar[]`);
await queryRunner.query(`ALTER TABLE "messaging_message" ALTER COLUMN "recipientId" DROP NOT NULL`);
await queryRunner.query(`COMMENT ON COLUMN "messaging_message"."recipientId" IS 'The recipient user ID.'`);
await queryRunner.query(`CREATE INDEX "IDX_2c4be03b446884f9e9c502135b" ON "messaging_message" ("groupId") `);
await queryRunner.query(`ALTER TABLE "messaging_message" ADD CONSTRAINT "FK_2c4be03b446884f9e9c502135be" FOREIGN KEY ("groupId") REFERENCES "user_group"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "user_group" ADD CONSTRAINT "FK_3d6b372788ab01be58853003c93" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "user_group_joining" ADD CONSTRAINT "FK_f3a1b4bd0c7cabba958a0c0b231" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "user_group_joining" ADD CONSTRAINT "FK_67dc758bc0566985d1b3d399865" FOREIGN KEY ("userGroupId") REFERENCES "user_group"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "user_group_joining" DROP CONSTRAINT "FK_67dc758bc0566985d1b3d399865"`);
await queryRunner.query(`ALTER TABLE "user_group_joining" DROP CONSTRAINT "FK_f3a1b4bd0c7cabba958a0c0b231"`);
await queryRunner.query(`ALTER TABLE "user_group" DROP CONSTRAINT "FK_3d6b372788ab01be58853003c93"`);
await queryRunner.query(`ALTER TABLE "messaging_message" DROP CONSTRAINT "FK_2c4be03b446884f9e9c502135be"`);
await queryRunner.query(`DROP INDEX "IDX_2c4be03b446884f9e9c502135b"`);
await queryRunner.query(`COMMENT ON COLUMN "messaging_message"."recipientId" IS ''`);
await queryRunner.query(`ALTER TABLE "messaging_message" ALTER COLUMN "recipientId" SET NOT NULL`);
await queryRunner.query(`ALTER TABLE "messaging_message" DROP COLUMN "reads"`);
await queryRunner.query(`ALTER TABLE "messaging_message" DROP COLUMN "groupId"`);
await queryRunner.query(`DROP INDEX "IDX_67dc758bc0566985d1b3d39986"`);
await queryRunner.query(`DROP INDEX "IDX_f3a1b4bd0c7cabba958a0c0b23"`);
await queryRunner.query(`DROP TABLE "user_group_joining"`);
await queryRunner.query(`DROP INDEX "IDX_3d6b372788ab01be58853003c9"`);
await queryRunner.query(`DROP INDEX "IDX_20e30aa35180e317e133d75316"`);
await queryRunner.query(`DROP TABLE "user_group"`);
}
}

View File

@ -0,0 +1,25 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class UserGroupInvite1558257926829 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`CREATE TABLE "user_group_invite" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "userGroupId" character varying(32) NOT NULL, CONSTRAINT "PK_3893884af0d3a5f4d01e7921a97" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_1039988afa3bf991185b277fe0" ON "user_group_invite" ("userId") `);
await queryRunner.query(`CREATE INDEX "IDX_e10924607d058004304611a436" ON "user_group_invite" ("userGroupId") `);
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_78787741f9010886796f2320a4" ON "user_group_invite" ("userId", "userGroupId") `);
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_d9ecaed8c6dc43f3592c229282" ON "user_group_joining" ("userId", "userGroupId") `);
await queryRunner.query(`ALTER TABLE "user_group_invite" ADD CONSTRAINT "FK_1039988afa3bf991185b277fe03" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "user_group_invite" ADD CONSTRAINT "FK_e10924607d058004304611a436a" FOREIGN KEY ("userGroupId") REFERENCES "user_group"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "user_group_invite" DROP CONSTRAINT "FK_e10924607d058004304611a436a"`);
await queryRunner.query(`ALTER TABLE "user_group_invite" DROP CONSTRAINT "FK_1039988afa3bf991185b277fe03"`);
await queryRunner.query(`DROP INDEX "IDX_d9ecaed8c6dc43f3592c229282"`);
await queryRunner.query(`DROP INDEX "IDX_78787741f9010886796f2320a4"`);
await queryRunner.query(`DROP INDEX "IDX_e10924607d058004304611a436"`);
await queryRunner.query(`DROP INDEX "IDX_1039988afa3bf991185b277fe0"`);
await queryRunner.query(`DROP TABLE "user_group_invite"`);
}
}

View File

@ -0,0 +1,13 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class UserListJoining1558266512381 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_90f7da835e4c10aca6853621e1" ON "user_list_joining" ("userId", "userListId") `);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`DROP INDEX "IDX_90f7da835e4c10aca6853621e1"`);
}
}

View File

@ -0,0 +1,29 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class webauthn1561706992953 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`CREATE TABLE "attestation_challenge" ("id" character varying(32) NOT NULL, "userId" character varying(32) NOT NULL, "challenge" character varying(64) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "registrationChallenge" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_d0ba6786e093f1bcb497572a6b5" PRIMARY KEY ("id", "userId"))`);
await queryRunner.query(`CREATE INDEX "IDX_f1a461a618fa1755692d0e0d59" ON "attestation_challenge" ("userId") `);
await queryRunner.query(`CREATE INDEX "IDX_47efb914aed1f72dd39a306c7b" ON "attestation_challenge" ("challenge") `);
await queryRunner.query(`CREATE TABLE "user_security_key" ("id" character varying NOT NULL, "userId" character varying(32) NOT NULL, "publicKey" character varying NOT NULL, "lastUsed" TIMESTAMP WITH TIME ZONE NOT NULL, "name" character varying(30) NOT NULL, CONSTRAINT "PK_3e508571121ab39c5f85d10c166" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_ff9ca3b5f3ee3d0681367a9b44" ON "user_security_key" ("userId") `);
await queryRunner.query(`CREATE INDEX "IDX_0d7718e562dcedd0aa5cf2c9f7" ON "user_security_key" ("publicKey") `);
await queryRunner.query(`ALTER TABLE "user_profile" ADD "securityKeysAvailable" boolean NOT NULL DEFAULT false`);
await queryRunner.query(`ALTER TABLE "attestation_challenge" ADD CONSTRAINT "FK_f1a461a618fa1755692d0e0d592" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "user_security_key" ADD CONSTRAINT "FK_ff9ca3b5f3ee3d0681367a9b447" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`ALTER TABLE "user_security_key" DROP CONSTRAINT "FK_ff9ca3b5f3ee3d0681367a9b447"`);
await queryRunner.query(`ALTER TABLE "attestation_challenge" DROP CONSTRAINT "FK_f1a461a618fa1755692d0e0d592"`);
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "securityKeysAvailable"`);
await queryRunner.query(`DROP INDEX "IDX_0d7718e562dcedd0aa5cf2c9f7"`);
await queryRunner.query(`DROP INDEX "IDX_ff9ca3b5f3ee3d0681367a9b44"`);
await queryRunner.query(`DROP TABLE "user_security_key"`);
await queryRunner.query(`DROP INDEX "IDX_47efb914aed1f72dd39a306c7b"`);
await queryRunner.query(`DROP INDEX "IDX_f1a461a618fa1755692d0e0d59"`);
await queryRunner.query(`DROP TABLE "attestation_challenge"`);
}
}

View File

@ -0,0 +1,201 @@
import {MigrationInterface, QueryRunner} from "typeorm";
export class ChartIndexes1561873850023 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`CREATE INDEX "IDX_0ad37b7ef50f4ddc84363d7ccc" ON "__chart__active_users" ("date") `);
await queryRunner.query(`CREATE INDEX "IDX_15e91a03aeeac9dbccdf43fc06" ON "__chart__active_users" ("span") `);
await queryRunner.query(`CREATE INDEX "IDX_00ed5f86db1f7efafb1978bf21" ON "__chart__active_users" ("group") `);
await queryRunner.query(`CREATE INDEX "IDX_20f57cc8f142c131340ee16742" ON "__chart__active_users" ("span", "date") `);
await queryRunner.query(`CREATE INDEX "IDX_9a3ed15a30ab7e3a37702e6e08" ON "__chart__active_users" ("date", "group") `);
await queryRunner.query(`CREATE INDEX "IDX_c26e2c1cbb6e911e0554b27416" ON "__chart__active_users" ("span", "date", "group") `);
await queryRunner.query(`CREATE INDEX "IDX_13565815f618a1ff53886c5b28" ON "__chart__drive" ("date") `);
await queryRunner.query(`CREATE INDEX "IDX_3fa0d0f17ca72e3dc80999a032" ON "__chart__drive" ("span") `);
await queryRunner.query(`CREATE INDEX "IDX_7a170f67425e62a8fabb76c872" ON "__chart__drive" ("group") `);
await queryRunner.query(`CREATE INDEX "IDX_6e1df243476e20cbf86572ecc0" ON "__chart__drive" ("span", "date") `);
await queryRunner.query(`CREATE INDEX "IDX_3313d7288855ec105b5bbf6c21" ON "__chart__drive" ("date", "group") `);
await queryRunner.query(`CREATE INDEX "IDX_06690fc959f1c9fdaf21928222" ON "__chart__drive" ("span", "date", "group") `);
await queryRunner.query(`CREATE INDEX "IDX_36cb699c49580d4e6c2e6159f9" ON "__chart__federation" ("date") `);
await queryRunner.query(`CREATE INDEX "IDX_e447064455928cf627590ef527" ON "__chart__federation" ("span") `);
await queryRunner.query(`CREATE INDEX "IDX_76e87c7bfc5d925fcbba405d84" ON "__chart__federation" ("group") `);
await queryRunner.query(`CREATE INDEX "IDX_2d416e6af791a82e338c79d480" ON "__chart__federation" ("span", "date") `);
await queryRunner.query(`CREATE INDEX "IDX_dd907becf76104e4b656659e6b" ON "__chart__federation" ("date", "group") `);
await queryRunner.query(`CREATE INDEX "IDX_e9cd07672b37d8966cf3709283" ON "__chart__federation" ("span", "date", "group") `);
await queryRunner.query(`CREATE INDEX "IDX_07747a1038c05f532a718fe1de" ON "__chart__hashtag" ("date") `);
await queryRunner.query(`CREATE INDEX "IDX_fcc181fb8283009c61cc4083ef" ON "__chart__hashtag" ("span") `);
await queryRunner.query(`CREATE INDEX "IDX_99a7d2faaef84a6f728d714ad6" ON "__chart__hashtag" ("group") `);
await queryRunner.query(`CREATE INDEX "IDX_49975586f50ed7b800fdd88fbd" ON "__chart__hashtag" ("span", "date") `);
await queryRunner.query(`CREATE INDEX "IDX_25a97c02003338124b2b75fdbc" ON "__chart__hashtag" ("date", "group") `);
await queryRunner.query(`CREATE INDEX "IDX_6d6f156ceefc6bc5f273a0e370" ON "__chart__hashtag" ("span", "date", "group") `);
await queryRunner.query(`CREATE INDEX "IDX_6b8f34a1a64b06014b6fb66824" ON "__chart__instance" ("date") `);
await queryRunner.query(`CREATE INDEX "IDX_c12f0af4a66cdd30c2287ce8aa" ON "__chart__instance" ("span") `);
await queryRunner.query(`CREATE INDEX "IDX_da8a46ba84ca1d8bb5a29bfb63" ON "__chart__instance" ("group") `);
await queryRunner.query(`CREATE INDEX "IDX_d0a4f79af5a97b08f37b547197" ON "__chart__instance" ("span", "date") `);
await queryRunner.query(`CREATE INDEX "IDX_39ee857ab2f23493037c6b6631" ON "__chart__instance" ("date", "group") `);
await queryRunner.query(`CREATE INDEX "IDX_f5448d9633cff74208d850aabe" ON "__chart__instance" ("span", "date", "group") `);
await queryRunner.query(`CREATE INDEX "IDX_a1efd3e0048a5f2793a47360dc" ON "__chart__network" ("date") `);
await queryRunner.query(`CREATE INDEX "IDX_f8dd01baeded2ffa833e0a610a" ON "__chart__network" ("span") `);
await queryRunner.query(`CREATE INDEX "IDX_7b5da130992ec9df96712d4290" ON "__chart__network" ("group") `);
await queryRunner.query(`CREATE INDEX "IDX_08fac0eb3b11f04c200c0b40dd" ON "__chart__network" ("span", "date") `);
await queryRunner.query(`CREATE INDEX "IDX_0a905b992fecd2b5c3fb98759e" ON "__chart__network" ("date", "group") `);
await queryRunner.query(`CREATE INDEX "IDX_9ff6944f01acb756fdc92d7563" ON "__chart__network" ("span", "date", "group") `);
await queryRunner.query(`CREATE INDEX "IDX_42eb716a37d381cdf566192b2b" ON "__chart__notes" ("date") `);
await queryRunner.query(`CREATE INDEX "IDX_e69096589f11e3baa98ddd64d0" ON "__chart__notes" ("span") `);
await queryRunner.query(`CREATE INDEX "IDX_7036f2957151588b813185c794" ON "__chart__notes" ("group") `);
await queryRunner.query(`CREATE INDEX "IDX_0c9a159c5082cbeef3ca6706b5" ON "__chart__notes" ("span", "date") `);
await queryRunner.query(`CREATE INDEX "IDX_f09d543e3acb16c5976bdb31fa" ON "__chart__notes" ("date", "group") `);
await queryRunner.query(`CREATE INDEX "IDX_924fc196c80ca24bae01dd37e4" ON "__chart__notes" ("span", "date", "group") `);
await queryRunner.query(`CREATE INDEX "IDX_5f86db6492274e07c1a3cdf286" ON "__chart__per_user_drive" ("date") `);
await queryRunner.query(`CREATE INDEX "IDX_328f259961e60c4fa0bfcf55ca" ON "__chart__per_user_drive" ("span") `);
await queryRunner.query(`CREATE INDEX "IDX_e496ca8096d28f6b9b509264dc" ON "__chart__per_user_drive" ("group") `);
await queryRunner.query(`CREATE INDEX "IDX_42ea9381f0fda8dfe0fa1c8b53" ON "__chart__per_user_drive" ("span", "date") `);
await queryRunner.query(`CREATE INDEX "IDX_30bf67687f483ace115c5ca642" ON "__chart__per_user_drive" ("date", "group") `);
await queryRunner.query(`CREATE INDEX "IDX_f2aeafde2ae6fbad38e857631b" ON "__chart__per_user_drive" ("span", "date", "group") `);
await queryRunner.query(`CREATE INDEX "IDX_7af07790712aa3438ff6773f3b" ON "__chart__per_user_following" ("date") `);
await queryRunner.query(`CREATE INDEX "IDX_f92dd6d03f8d994f29987f6214" ON "__chart__per_user_following" ("span") `);
await queryRunner.query(`CREATE INDEX "IDX_4b3593098b6edc9c5afe36b18b" ON "__chart__per_user_following" ("group") `);
await queryRunner.query(`CREATE INDEX "IDX_57b5458d0d3d6d1e7f13d4e57f" ON "__chart__per_user_following" ("span", "date") `);
await queryRunner.query(`CREATE INDEX "IDX_b77d4dd9562c3a899d9a286fcd" ON "__chart__per_user_following" ("date", "group") `);
await queryRunner.query(`CREATE INDEX "IDX_4db3b84c7be0d3464714f3e0b1" ON "__chart__per_user_following" ("span", "date", "group") `);
await queryRunner.query(`CREATE INDEX "IDX_84234bd1abb873f07329681c83" ON "__chart__per_user_notes" ("date") `);
await queryRunner.query(`CREATE INDEX "IDX_8d2cbbc8114d90d19b44d626b6" ON "__chart__per_user_notes" ("span") `);
await queryRunner.query(`CREATE INDEX "IDX_55bf20f366979f2436de99206b" ON "__chart__per_user_notes" ("group") `);
await queryRunner.query(`CREATE INDEX "IDX_046feeb12e9ef5f783f409866a" ON "__chart__per_user_notes" ("span", "date") `);
await queryRunner.query(`CREATE INDEX "IDX_5048e9daccbbbc6d567bb142d3" ON "__chart__per_user_notes" ("date", "group") `);
await queryRunner.query(`CREATE INDEX "IDX_f68a5ab958f9f5fa17a32ac23b" ON "__chart__per_user_notes" ("span", "date", "group") `);
await queryRunner.query(`CREATE INDEX "IDX_f7bf4c62059764c2c2bb40fdab" ON "__chart__per_user_reaction" ("date") `);
await queryRunner.query(`CREATE INDEX "IDX_65633a106bce43fc7c5c30a5c7" ON "__chart__per_user_reaction" ("span") `);
await queryRunner.query(`CREATE INDEX "IDX_8cf3156fd7a6b15c43459c6e3b" ON "__chart__per_user_reaction" ("group") `);
await queryRunner.query(`CREATE INDEX "IDX_edeb73c09c3143a81bcb34d569" ON "__chart__per_user_reaction" ("span", "date") `);
await queryRunner.query(`CREATE INDEX "IDX_229a41ad465f9205f1f5703291" ON "__chart__per_user_reaction" ("date", "group") `);
await queryRunner.query(`CREATE INDEX "IDX_e316f01a6d24eb31db27f88262" ON "__chart__per_user_reaction" ("span", "date", "group") `);
await queryRunner.query(`CREATE INDEX "IDX_0c641990ecf47d2545df4edb75" ON "__chart__test_grouped" ("date") `);
await queryRunner.query(`CREATE INDEX "IDX_2be7ec6cebddc14dc11e206686" ON "__chart__test_grouped" ("span") `);
await queryRunner.query(`CREATE INDEX "IDX_234dff3c0b56a6150b95431ab9" ON "__chart__test_grouped" ("group") `);
await queryRunner.query(`CREATE INDEX "IDX_a5133470f4825902e170328ca5" ON "__chart__test_grouped" ("span", "date") `);
await queryRunner.query(`CREATE INDEX "IDX_b14489029e4b3aaf4bba5fb524" ON "__chart__test_grouped" ("date", "group") `);
await queryRunner.query(`CREATE INDEX "IDX_84e661abb7bd1e51b690d4b017" ON "__chart__test_grouped" ("span", "date", "group") `);
await queryRunner.query(`CREATE INDEX "IDX_437bab3c6061d90f6bb65fd2cc" ON "__chart__test_unique" ("date") `);
await queryRunner.query(`CREATE INDEX "IDX_5c73bf61da4f6e6f15bae88ed1" ON "__chart__test_unique" ("span") `);
await queryRunner.query(`CREATE INDEX "IDX_bbfa573a8181018851ed0b6357" ON "__chart__test_unique" ("group") `);
await queryRunner.query(`CREATE INDEX "IDX_d70c86baedc68326be11f9c0ce" ON "__chart__test_unique" ("span", "date") `);
await queryRunner.query(`CREATE INDEX "IDX_a0cd75442dd10d0643a17c4a49" ON "__chart__test_unique" ("date", "group") `);
await queryRunner.query(`CREATE INDEX "IDX_66e1e1ecd2f29e57778af35b59" ON "__chart__test_unique" ("span", "date", "group") `);
await queryRunner.query(`CREATE INDEX "IDX_b070a906db04b44c67c6c2144d" ON "__chart__test" ("date") `);
await queryRunner.query(`CREATE INDEX "IDX_92255988735563f0fe4aba1f05" ON "__chart__test" ("span") `);
await queryRunner.query(`CREATE INDEX "IDX_d41cce6aee1a50bfc062038f9b" ON "__chart__test" ("group") `);
await queryRunner.query(`CREATE INDEX "IDX_c5870993e25c3d5771f91f5003" ON "__chart__test" ("span", "date") `);
await queryRunner.query(`CREATE INDEX "IDX_a319e5dbf47e8a17497623beae" ON "__chart__test" ("date", "group") `);
await queryRunner.query(`CREATE INDEX "IDX_f170de677ea75ad4533de2723e" ON "__chart__test" ("span", "date", "group") `);
await queryRunner.query(`CREATE INDEX "IDX_845254b3eaf708ae8a6cac3026" ON "__chart__users" ("date") `);
await queryRunner.query(`CREATE INDEX "IDX_7c184198ecf66a8d3ecb253ab3" ON "__chart__users" ("span") `);
await queryRunner.query(`CREATE INDEX "IDX_ed9b95919c672a13008e9487ee" ON "__chart__users" ("group") `);
await queryRunner.query(`CREATE INDEX "IDX_f091abb24193d50c653c6b77fc" ON "__chart__users" ("span", "date") `);
await queryRunner.query(`CREATE INDEX "IDX_337e9599f278bd7537fe30876f" ON "__chart__users" ("date", "group") `);
await queryRunner.query(`CREATE INDEX "IDX_a770a57c70e668cc61590c9161" ON "__chart__users" ("span", "date", "group") `);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`DROP INDEX "IDX_a770a57c70e668cc61590c9161"`);
await queryRunner.query(`DROP INDEX "IDX_337e9599f278bd7537fe30876f"`);
await queryRunner.query(`DROP INDEX "IDX_f091abb24193d50c653c6b77fc"`);
await queryRunner.query(`DROP INDEX "IDX_ed9b95919c672a13008e9487ee"`);
await queryRunner.query(`DROP INDEX "IDX_7c184198ecf66a8d3ecb253ab3"`);
await queryRunner.query(`DROP INDEX "IDX_845254b3eaf708ae8a6cac3026"`);
await queryRunner.query(`DROP INDEX "IDX_f170de677ea75ad4533de2723e"`);
await queryRunner.query(`DROP INDEX "IDX_a319e5dbf47e8a17497623beae"`);
await queryRunner.query(`DROP INDEX "IDX_c5870993e25c3d5771f91f5003"`);
await queryRunner.query(`DROP INDEX "IDX_d41cce6aee1a50bfc062038f9b"`);
await queryRunner.query(`DROP INDEX "IDX_92255988735563f0fe4aba1f05"`);
await queryRunner.query(`DROP INDEX "IDX_b070a906db04b44c67c6c2144d"`);
await queryRunner.query(`DROP INDEX "IDX_66e1e1ecd2f29e57778af35b59"`);
await queryRunner.query(`DROP INDEX "IDX_a0cd75442dd10d0643a17c4a49"`);
await queryRunner.query(`DROP INDEX "IDX_d70c86baedc68326be11f9c0ce"`);
await queryRunner.query(`DROP INDEX "IDX_bbfa573a8181018851ed0b6357"`);
await queryRunner.query(`DROP INDEX "IDX_5c73bf61da4f6e6f15bae88ed1"`);
await queryRunner.query(`DROP INDEX "IDX_437bab3c6061d90f6bb65fd2cc"`);
await queryRunner.query(`DROP INDEX "IDX_84e661abb7bd1e51b690d4b017"`);
await queryRunner.query(`DROP INDEX "IDX_b14489029e4b3aaf4bba5fb524"`);
await queryRunner.query(`DROP INDEX "IDX_a5133470f4825902e170328ca5"`);
await queryRunner.query(`DROP INDEX "IDX_234dff3c0b56a6150b95431ab9"`);
await queryRunner.query(`DROP INDEX "IDX_2be7ec6cebddc14dc11e206686"`);
await queryRunner.query(`DROP INDEX "IDX_0c641990ecf47d2545df4edb75"`);
await queryRunner.query(`DROP INDEX "IDX_e316f01a6d24eb31db27f88262"`);
await queryRunner.query(`DROP INDEX "IDX_229a41ad465f9205f1f5703291"`);
await queryRunner.query(`DROP INDEX "IDX_edeb73c09c3143a81bcb34d569"`);
await queryRunner.query(`DROP INDEX "IDX_8cf3156fd7a6b15c43459c6e3b"`);
await queryRunner.query(`DROP INDEX "IDX_65633a106bce43fc7c5c30a5c7"`);
await queryRunner.query(`DROP INDEX "IDX_f7bf4c62059764c2c2bb40fdab"`);
await queryRunner.query(`DROP INDEX "IDX_f68a5ab958f9f5fa17a32ac23b"`);
await queryRunner.query(`DROP INDEX "IDX_5048e9daccbbbc6d567bb142d3"`);
await queryRunner.query(`DROP INDEX "IDX_046feeb12e9ef5f783f409866a"`);
await queryRunner.query(`DROP INDEX "IDX_55bf20f366979f2436de99206b"`);
await queryRunner.query(`DROP INDEX "IDX_8d2cbbc8114d90d19b44d626b6"`);
await queryRunner.query(`DROP INDEX "IDX_84234bd1abb873f07329681c83"`);
await queryRunner.query(`DROP INDEX "IDX_4db3b84c7be0d3464714f3e0b1"`);
await queryRunner.query(`DROP INDEX "IDX_b77d4dd9562c3a899d9a286fcd"`);
await queryRunner.query(`DROP INDEX "IDX_57b5458d0d3d6d1e7f13d4e57f"`);
await queryRunner.query(`DROP INDEX "IDX_4b3593098b6edc9c5afe36b18b"`);
await queryRunner.query(`DROP INDEX "IDX_f92dd6d03f8d994f29987f6214"`);
await queryRunner.query(`DROP INDEX "IDX_7af07790712aa3438ff6773f3b"`);
await queryRunner.query(`DROP INDEX "IDX_f2aeafde2ae6fbad38e857631b"`);
await queryRunner.query(`DROP INDEX "IDX_30bf67687f483ace115c5ca642"`);
await queryRunner.query(`DROP INDEX "IDX_42ea9381f0fda8dfe0fa1c8b53"`);
await queryRunner.query(`DROP INDEX "IDX_e496ca8096d28f6b9b509264dc"`);
await queryRunner.query(`DROP INDEX "IDX_328f259961e60c4fa0bfcf55ca"`);
await queryRunner.query(`DROP INDEX "IDX_5f86db6492274e07c1a3cdf286"`);
await queryRunner.query(`DROP INDEX "IDX_924fc196c80ca24bae01dd37e4"`);
await queryRunner.query(`DROP INDEX "IDX_f09d543e3acb16c5976bdb31fa"`);
await queryRunner.query(`DROP INDEX "IDX_0c9a159c5082cbeef3ca6706b5"`);
await queryRunner.query(`DROP INDEX "IDX_7036f2957151588b813185c794"`);
await queryRunner.query(`DROP INDEX "IDX_e69096589f11e3baa98ddd64d0"`);
await queryRunner.query(`DROP INDEX "IDX_42eb716a37d381cdf566192b2b"`);
await queryRunner.query(`DROP INDEX "IDX_9ff6944f01acb756fdc92d7563"`);
await queryRunner.query(`DROP INDEX "IDX_0a905b992fecd2b5c3fb98759e"`);
await queryRunner.query(`DROP INDEX "IDX_08fac0eb3b11f04c200c0b40dd"`);
await queryRunner.query(`DROP INDEX "IDX_7b5da130992ec9df96712d4290"`);
await queryRunner.query(`DROP INDEX "IDX_f8dd01baeded2ffa833e0a610a"`);
await queryRunner.query(`DROP INDEX "IDX_a1efd3e0048a5f2793a47360dc"`);
await queryRunner.query(`DROP INDEX "IDX_f5448d9633cff74208d850aabe"`);
await queryRunner.query(`DROP INDEX "IDX_39ee857ab2f23493037c6b6631"`);
await queryRunner.query(`DROP INDEX "IDX_d0a4f79af5a97b08f37b547197"`);
await queryRunner.query(`DROP INDEX "IDX_da8a46ba84ca1d8bb5a29bfb63"`);
await queryRunner.query(`DROP INDEX "IDX_c12f0af4a66cdd30c2287ce8aa"`);
await queryRunner.query(`DROP INDEX "IDX_6b8f34a1a64b06014b6fb66824"`);
await queryRunner.query(`DROP INDEX "IDX_6d6f156ceefc6bc5f273a0e370"`);
await queryRunner.query(`DROP INDEX "IDX_25a97c02003338124b2b75fdbc"`);
await queryRunner.query(`DROP INDEX "IDX_49975586f50ed7b800fdd88fbd"`);
await queryRunner.query(`DROP INDEX "IDX_99a7d2faaef84a6f728d714ad6"`);
await queryRunner.query(`DROP INDEX "IDX_fcc181fb8283009c61cc4083ef"`);
await queryRunner.query(`DROP INDEX "IDX_07747a1038c05f532a718fe1de"`);
await queryRunner.query(`DROP INDEX "IDX_e9cd07672b37d8966cf3709283"`);
await queryRunner.query(`DROP INDEX "IDX_dd907becf76104e4b656659e6b"`);
await queryRunner.query(`DROP INDEX "IDX_2d416e6af791a82e338c79d480"`);
await queryRunner.query(`DROP INDEX "IDX_76e87c7bfc5d925fcbba405d84"`);
await queryRunner.query(`DROP INDEX "IDX_e447064455928cf627590ef527"`);
await queryRunner.query(`DROP INDEX "IDX_36cb699c49580d4e6c2e6159f9"`);
await queryRunner.query(`DROP INDEX "IDX_06690fc959f1c9fdaf21928222"`);
await queryRunner.query(`DROP INDEX "IDX_3313d7288855ec105b5bbf6c21"`);
await queryRunner.query(`DROP INDEX "IDX_6e1df243476e20cbf86572ecc0"`);
await queryRunner.query(`DROP INDEX "IDX_7a170f67425e62a8fabb76c872"`);
await queryRunner.query(`DROP INDEX "IDX_3fa0d0f17ca72e3dc80999a032"`);
await queryRunner.query(`DROP INDEX "IDX_13565815f618a1ff53886c5b28"`);
await queryRunner.query(`DROP INDEX "IDX_c26e2c1cbb6e911e0554b27416"`);
await queryRunner.query(`DROP INDEX "IDX_9a3ed15a30ab7e3a37702e6e08"`);
await queryRunner.query(`DROP INDEX "IDX_20f57cc8f142c131340ee16742"`);
await queryRunner.query(`DROP INDEX "IDX_00ed5f86db1f7efafb1978bf21"`);
await queryRunner.query(`DROP INDEX "IDX_15e91a03aeeac9dbccdf43fc06"`);
await queryRunner.query(`DROP INDEX "IDX_0ad37b7ef50f4ddc84363d7ccc"`);
await queryRunner.query(`DROP INDEX "IDX_90148bbc2bf0854428786bfc15"`);
await queryRunner.query(`DROP INDEX "IDX_88937d94d7443d9a99a76fa5c0"`);
await queryRunner.query(`DROP INDEX "IDX_54ebcb6d27222913b908d56fd8"`);
await queryRunner.query(`DROP INDEX "IDX_796a8c03959361f97dc2be1d5c"`);
await queryRunner.query(`DROP INDEX "IDX_25dfc71b0369b003a4cd434d0b"`);
await queryRunner.query(`DROP INDEX "IDX_51c063b6a133a9cb87145450f5"`);
await queryRunner.query(`DROP INDEX "IDX_fa99d777623947a5b05f394cae"`);
await queryRunner.query(`DROP INDEX "IDX_315c779174fe8247ab324f036e"`);
await queryRunner.query(`DROP INDEX "IDX_c5d46cbfda48b1c33ed852e21b"`);
await queryRunner.query(`DROP INDEX "IDX_8cb40cfc8f3c28261e6f887b03"`);
}
}

17
ormconfig.js Normal file
View File

@ -0,0 +1,17 @@
const config = require('./built/config').default;
const entities = require('./built/db/postgre').entities;
module.exports = {
type: 'postgres',
host: config.db.host,
port: config.db.port,
username: config.db.user,
password: config.db.pass,
database: config.db.db,
extra: config.db.extra,
entities: entities,
migrations: ['migration/*.ts'],
cli: {
migrationsDir: 'migration'
}
};

View File

@ -1,14 +1,20 @@
{ {
"name": "misskey", "name": "misskey",
"author": "syuilo <i@syuilo.com>", "author": "syuilo <i@syuilo.com>",
"version": "10.75.0", "version": "11.24.2",
"clientVersion": "2.0.13368", "codename": "daybreak",
"codename": "nighthike", "repository": {
"main": "./built/index.js", "type": "git",
"url": "https://github.com/syuilo/misskey.git"
},
"main": "./index.js",
"private": true, "private": true,
"scripts": { "scripts": {
"start": "node ./built", "start": "node ./index.js",
"debug": "DEBUG=misskey:* node ./built", "init": "npm run migrate",
"ormconfig": "node ./built/ormconfig.js",
"migrate": "ts-node ./node_modules/typeorm/cli.js migration:run",
"migrateandstart": "npm run migrate && npm run start",
"build": "webpack && gulp build", "build": "webpack && gulp build",
"webpack": "webpack", "webpack": "webpack",
"watch": "webpack --watch", "watch": "webpack --watch",
@ -19,130 +25,136 @@
"test": "gulp test", "test": "gulp test",
"format": "gulp format" "format": "gulp format"
}, },
"resolutions": {
"gulp-cssnano/cssnano/postcss-svgo/svgo/js-yaml": "^3.13.1",
"video-thumbnail-generator/lodash": "^4.17.11"
},
"dependencies": { "dependencies": {
"@fortawesome/fontawesome-svg-core": "1.2.12", "@elastic/elasticsearch": "7.1.0",
"@fortawesome/free-brands-svg-icons": "5.6.3", "@fortawesome/fontawesome-svg-core": "1.2.19",
"@fortawesome/free-regular-svg-icons": "5.5.0", "@fortawesome/free-brands-svg-icons": "5.9.0",
"@fortawesome/free-solid-svg-icons": "5.6.3", "@fortawesome/free-regular-svg-icons": "5.9.0",
"@fortawesome/vue-fontawesome": "0.1.2", "@fortawesome/free-solid-svg-icons": "5.9.0",
"@koa/cors": "2.2.3", "@fortawesome/vue-fontawesome": "0.1.6",
"@prezzemolo/rap": "0.1.2", "@koa/cors": "3.0.0",
"@prezzemolo/zip": "0.0.3", "@typescript-eslint/parser": "1.11.0",
"@types/bcryptjs": "2.4.2", "@types/bcryptjs": "2.4.2",
"@types/chai-http": "3.0.5", "@types/bull": "3.5.15",
"@types/cbor": "2.0.0",
"@types/dateformat": "3.0.0", "@types/dateformat": "3.0.0",
"@types/debug": "0.0.31",
"@types/deep-equal": "1.0.1", "@types/deep-equal": "1.0.1",
"@types/double-ended-queue": "2.1.0", "@types/double-ended-queue": "2.1.1",
"@types/elasticsearch": "5.0.30", "@types/gulp": "4.0.6",
"@types/file-type": "10.6.0",
"@types/gulp": "3.8.36",
"@types/gulp-mocha": "0.0.32", "@types/gulp-mocha": "0.0.32",
"@types/gulp-rename": "0.0.33", "@types/gulp-rename": "0.0.33",
"@types/gulp-replace": "0.0.31", "@types/gulp-replace": "0.0.31",
"@types/gulp-uglify": "3.0.6", "@types/gulp-uglify": "3.0.6",
"@types/gulp-util": "3.0.34", "@types/gulp-util": "3.0.34",
"@types/is-root": "1.0.0", "@types/is-root": "2.1.2",
"@types/is-url": "1.2.28", "@types/is-url": "1.2.28",
"@types/js-yaml": "3.11.4", "@types/js-yaml": "3.12.1",
"@types/katex": "0.5.0", "@types/jsdom": "12.2.4",
"@types/koa": "2.0.48", "@types/katex": "0.10.1",
"@types/koa": "2.0.49",
"@types/koa-bodyparser": "5.0.2", "@types/koa-bodyparser": "5.0.2",
"@types/koa-compress": "2.0.8", "@types/koa-compress": "2.0.9",
"@types/koa-cors": "0.0.0",
"@types/koa-favicon": "2.0.19", "@types/koa-favicon": "2.0.19",
"@types/koa-logger": "3.1.1", "@types/koa-logger": "3.1.1",
"@types/koa-mount": "3.0.1", "@types/koa-mount": "4.0.0",
"@types/koa-multer": "1.0.0", "@types/koa-multer": "1.0.0",
"@types/koa-router": "7.0.35", "@types/koa-router": "7.0.42",
"@types/koa-send": "4.1.1", "@types/koa-send": "4.1.2",
"@types/koa-views": "2.0.3", "@types/koa-views": "2.0.3",
"@types/koa__cors": "2.2.3", "@types/koa__cors": "2.2.3",
"@types/minio": "7.0.1", "@types/lolex": "3.1.1",
"@types/mkdirp": "0.5.2", "@types/minio": "7.0.2",
"@types/mocha": "5.2.5", "@types/mocha": "5.2.7",
"@types/mongodb": "3.1.14", "@types/node": "12.0.10",
"@types/ms": "0.7.30", "@types/nodemailer": "6.2.0",
"@types/node": "10.12.18", "@types/nprogress": "0.2.0",
"@types/nodemailer": "4.6.5",
"@types/oauth": "0.9.1", "@types/oauth": "0.9.1",
"@types/parse5": "5.0.0",
"@types/parsimmon": "1.10.0", "@types/parsimmon": "1.10.0",
"@types/portscanner": "2.1.0", "@types/portscanner": "2.1.0",
"@types/pug": "2.0.4", "@types/pug": "2.0.4",
"@types/qrcode": "1.3.0", "@types/qrcode": "1.3.3",
"@types/random-seed": "0.3.3",
"@types/ratelimiter": "2.1.28", "@types/ratelimiter": "2.1.28",
"@types/redis": "2.8.10", "@types/redis": "2.8.13",
"@types/rename": "1.0.1",
"@types/request": "2.48.1", "@types/request": "2.48.1",
"@types/request-promise-native": "1.0.15", "@types/request-promise-native": "1.0.16",
"@types/request-stats": "3.0.0",
"@types/rimraf": "2.0.2", "@types/rimraf": "2.0.2",
"@types/seedrandom": "2.4.27", "@types/seedrandom": "2.4.28",
"@types/sharp": "0.21.0", "@types/sharp": "0.22.2",
"@types/showdown": "1.9.0", "@types/showdown": "1.9.3",
"@types/speakeasy": "2.0.3", "@types/speakeasy": "2.0.4",
"@types/systeminformation": "3.23.1", "@types/systeminformation": "3.23.1",
"@types/tinycolor2": "1.4.1", "@types/tinycolor2": "1.4.2",
"@types/tmp": "0.0.33", "@types/tmp": "0.1.0",
"@types/uuid": "3.4.4", "@types/uuid": "3.4.5",
"@types/webpack": "4.4.21", "@types/web-push": "3.3.0",
"@types/webpack": "4.4.34",
"@types/webpack-stream": "3.2.10", "@types/webpack-stream": "3.2.10",
"@types/websocket": "0.0.40", "@types/websocket": "0.0.40",
"@types/ws": "6.0.1", "@types/ws": "6.0.1",
"animejs": "2.2.0", "animejs": "3.0.1",
"apexcharts": "2.5.1", "apexcharts": "3.8.1",
"autobind-decorator": "2.4.0", "autobind-decorator": "2.4.0",
"autosize": "4.0.2", "autosize": "4.0.2",
"autwh": "0.1.0", "autwh": "0.1.0",
"bcryptjs": "2.4.3", "bcryptjs": "2.4.3",
"bee-queue": "1.2.2", "bootstrap": "4.3.1",
"bootstrap-vue": "2.0.0-rc.11", "bootstrap-vue": "2.0.0-rc.13",
"cafy": "12.0.0", "bull": "3.10.0",
"cafy": "15.1.1",
"cbor": "4.1.5",
"chai": "4.2.0", "chai": "4.2.0",
"chai-http": "4.2.0", "chalk": "2.4.2",
"chalk": "2.4.1", "cli-highlight": "2.1.1",
"commander": "2.19.0", "commander": "2.20.0",
"content-disposition": "0.5.3",
"crc-32": "1.2.0", "crc-32": "1.2.0",
"css-loader": "1.0.1", "css-loader": "3.0.0",
"cssnano": "4.1.7", "cssnano": "4.1.10",
"dateformat": "3.0.3", "dateformat": "3.0.3",
"debug": "4.1.0",
"deep-equal": "1.0.1", "deep-equal": "1.0.1",
"deepcopy": "0.6.3", "diskusage": "1.1.2",
"diskusage": "1.0.0",
"double-ended-queue": "2.1.0-0", "double-ended-queue": "2.1.0-0",
"elasticsearch": "15.2.0",
"emojilib": "2.4.0", "emojilib": "2.4.0",
"escape-regexp": "0.0.1", "eslint": "6.0.1",
"eslint": "5.11.1", "eslint-plugin-vue": "5.2.3",
"eslint-plugin-vue": "5.0.0", "eventemitter3": "4.0.0",
"eventemitter3": "3.1.0", "feed": "3.0.0",
"feed": "2.0.2", "file-type": "12.0.0",
"file-loader": "2.0.0",
"file-type": "10.7.0",
"fuckadblock": "3.2.1", "fuckadblock": "3.2.1",
"gulp": "3.9.1", "gulp": "4.0.2",
"gulp-cssnano": "2.1.3", "gulp-cssnano": "2.1.3",
"gulp-imagemin": "4.1.0", "gulp-imagemin": "6.0.0",
"gulp-mocha": "6.0.0", "gulp-mocha": "6.0.0",
"gulp-rename": "1.4.0", "gulp-rename": "1.4.0",
"gulp-replace": "1.0.0", "gulp-replace": "1.0.0",
"gulp-sourcemaps": "2.6.4", "gulp-sourcemaps": "2.6.5",
"gulp-stylus": "2.7.0", "gulp-stylus": "2.7.0",
"gulp-tslint": "8.1.3", "gulp-tslint": "8.1.4",
"gulp-typescript": "5.0.0", "gulp-typescript": "5.0.1",
"gulp-uglify": "3.0.1", "gulp-uglify": "3.0.2",
"gulp-util": "3.0.8", "gulp-util": "3.0.8",
"gulp-yaml": "2.0.2",
"hard-source-webpack-plugin": "0.13.1", "hard-source-webpack-plugin": "0.13.1",
"html-minifier": "3.5.21", "html-minifier": "4.0.0",
"http-signature": "1.2.0", "http-signature": "1.2.0",
"insert-text-at-cursor": "0.1.1", "insert-text-at-cursor": "0.2.0",
"is-root": "2.0.0", "is-root": "2.1.0",
"is-url": "1.2.4", "is-svg": "4.2.0",
"js-yaml": "3.12.0", "js-yaml": "3.13.1",
"jsdom": "13.1.0", "jsdom": "15.1.1",
"json5": "2.1.0", "json5": "2.1.0",
"json5-loader": "1.0.1", "json5-loader": "3.0.0",
"katex": "0.10.0", "jsrsasign": "8.0.12",
"koa": "2.6.2", "katex": "0.10.2",
"koa": "2.7.0",
"koa-bodyparser": "4.2.1", "koa-bodyparser": "4.2.1",
"koa-compress": "3.0.0", "koa-compress": "3.0.0",
"koa-favicon": "2.0.1", "koa-favicon": "2.0.1",
@ -153,96 +165,104 @@
"koa-router": "7.4.0", "koa-router": "7.4.0",
"koa-send": "5.0.0", "koa-send": "5.0.0",
"koa-slow": "2.1.0", "koa-slow": "2.1.0",
"koa-views": "6.1.4", "koa-views": "6.2.0",
"langmap": "0.0.16", "langmap": "0.0.16",
"loader-utils": "1.2.3", "loader-utils": "1.2.3",
"lolex": "4.1.0",
"lookup-dns-cache": "2.1.0", "lookup-dns-cache": "2.1.0",
"minio": "7.0.2", "minio": "7.0.10",
"mkdirp": "0.5.1", "mocha": "6.1.4",
"mocha": "5.2.0",
"moji": "0.5.1", "moji": "0.5.1",
"moment": "2.23.0", "moment": "2.24.0",
"mongodb": "3.1.10", "ms": "2.1.2",
"monk": "6.0.6", "nested-property": "1.0.1",
"ms": "2.1.1", "node-fetch": "2.6.0",
"nan": "2.12.1", "nodemailer": "6.2.1",
"nested-property": "0.0.7",
"nodemailer": "5.0.0",
"nprogress": "0.2.0", "nprogress": "0.2.0",
"object-assign-deep": "0.4.0", "object-assign-deep": "0.4.0",
"on-build-webpack": "0.1.0",
"os-utils": "0.0.14", "os-utils": "0.0.14",
"parse5": "5.1.0", "parse5": "5.1.0",
"parsimmon": "1.12.0", "parsimmon": "1.12.0",
"pg": "7.11.0",
"portscanner": "2.2.0", "portscanner": "2.2.0",
"postcss-loader": "3.0.0", "postcss-loader": "3.0.0",
"progress-bar-webpack-plugin": "1.11.0", "prismjs": "1.16.0",
"progress-bar-webpack-plugin": "1.12.1",
"promise-any": "0.2.0", "promise-any": "0.2.0",
"promise-limit": "2.7.0", "promise-limit": "2.7.0",
"promise-sequential": "1.1.1", "promise-sequential": "1.1.1",
"pug": "2.0.3", "pug": "2.0.4",
"punycode": "2.1.1", "punycode": "2.1.1",
"qrcode": "1.3.2", "pureimage": "0.1.6",
"randomcolor": "0.5.3", "qrcode": "1.3.3",
"ratelimiter": "3.2.0", "random-seed": "0.3.0",
"randomcolor": "0.5.4",
"ratelimiter": "3.3.0",
"recaptcha-promise": "0.1.3", "recaptcha-promise": "0.1.3",
"reconnecting-websocket": "4.1.10", "reconnecting-websocket": "4.1.10",
"redis": "2.8.0", "redis": "2.8.0",
"reflect-metadata": "0.1.13",
"rename": "1.0.4",
"request": "2.88.0", "request": "2.88.0",
"request-promise-native": "1.0.5", "request-promise-native": "1.0.7",
"request-stats": "3.0.0", "request-stats": "3.0.0",
"rimraf": "2.6.2", "require-all": "3.0.0",
"rimraf": "2.6.3",
"rndstr": "1.0.0", "rndstr": "1.0.0",
"s-age": "1.1.2", "s-age": "1.1.2",
"seedrandom": "2.4.4", "seedrandom": "3.0.1",
"sharp": "0.21.1", "sharp": "0.22.1",
"showdown": "1.9.0", "showdown": "1.9.0",
"showdown-highlightjs-extension": "0.1.2", "showdown-highlightjs-extension": "0.1.2",
"speakeasy": "2.0.0", "speakeasy": "2.0.0",
"stringz": "1.0.0", "stringz": "2.0.0",
"style-loader": "0.23.1", "style-loader": "0.23.1",
"stylus": "0.54.5", "stylus": "0.54.5",
"stylus-loader": "3.0.2", "stylus-loader": "3.0.2",
"summaly": "2.2.0", "summaly": "2.3.0",
"systeminformation": "3.52.2", "systeminformation": "4.13.1",
"syuilo-password-strength": "0.0.1", "syuilo-password-strength": "0.0.1",
"terser-webpack-plugin": "1.2.1", "terser-webpack-plugin": "1.3.0",
"textarea-caret": "3.1.0", "textarea-caret": "3.1.0",
"tinycolor2": "1.4.1", "tinycolor2": "1.4.1",
"tmp": "0.0.33", "tmp": "0.1.0",
"ts-loader": "5.3.1", "ts-loader": "5.3.3",
"ts-node": "7.0.1", "ts-node": "7.0.1",
"tslint": "5.12.0", "tslint": "5.18.0",
"tslint-sonarts": "1.8.0", "tslint-sonarts": "1.9.0",
"typescript": "3.2.2", "typeorm": "0.2.18",
"typescript-eslint-parser": "21.0.2", "typescript": "3.5.2",
"uglify-es": "3.3.9", "uglify-es": "3.3.9",
"url-loader": "1.1.2", "ulid": "2.3.0",
"url-loader": "2.0.1",
"uuid": "3.3.2", "uuid": "3.3.2",
"v-animate-css": "0.0.3", "v-animate-css": "0.0.3",
"vue": "2.5.17", "v-debounce": "0.1.2",
"video-thumbnail-generator": "1.1.3",
"vue": "2.6.10",
"vue-color": "2.7.0", "vue-color": "2.7.0",
"vue-content-loading": "1.5.3", "vue-content-loading": "1.6.0",
"vue-cropperjs": "3.0.0", "vue-cropperjs": "4.0.0",
"vue-i18n": "8.6.0", "vue-i18n": "8.11.2",
"vue-js-modal": "1.3.28", "vue-js-modal": "1.3.31",
"vue-loader": "15.4.2", "vue-json-pretty": "1.6.0",
"vue-loader": "15.7.0",
"vue-marquee-text-component": "1.1.1", "vue-marquee-text-component": "1.1.1",
"vue-router": "3.0.2", "vue-prism-component": "1.1.1",
"vue-router": "3.0.6",
"vue-sequential-entrance": "1.1.3", "vue-sequential-entrance": "1.1.3",
"vue-style-loader": "4.1.2", "vue-style-loader": "4.1.2",
"vue-svg-inline-loader": "1.2.7", "vue-svg-inline-loader": "1.2.16",
"vue-template-compiler": "2.5.17", "vue-template-compiler": "2.6.10",
"vuedraggable": "2.17.0", "vuedraggable": "2.23.0",
"vuewordcloud": "18.7.11", "vuewordcloud": "18.7.11",
"vuex": "3.0.1", "vuex": "3.1.1",
"vuex-persistedstate": "2.5.4", "vuex-persistedstate": "2.5.4",
"web-push": "3.3.3", "web-push": "3.3.5",
"webfinger.js": "2.7.0", "webpack": "4.35.2",
"webpack": "4.28.3", "webpack-cli": "3.3.5",
"webpack-cli": "3.1.2",
"websocket": "1.0.28", "websocket": "1.0.28",
"ws": "6.1.2", "ws": "7.0.1",
"xev": "2.0.1" "xev": "2.0.1"
} }
} }

3
src/@types/const.json.d.ts vendored Normal file
View File

@ -0,0 +1,3 @@
declare module '*/const.json' {
const copyright: string;
}

75
src/@types/http-signature.d.ts vendored Normal file
View File

@ -0,0 +1,75 @@
declare module 'http-signature' {
import { IncomingMessage, ClientRequest } from 'http';
interface ISignature {
keyId: string;
algorithm: string;
headers: string[];
signature: string;
}
interface IOptions {
headers?: string[];
algorithm?: string;
strict?: boolean;
authorizationHeaderName?: string;
}
interface IParseRequestOptions extends IOptions {
clockSkew?: number;
}
interface IParsedSignature {
scheme: string;
params: ISignature;
signingString: string;
}
type RequestSignerConstructorOptions =
IRequestSignerConstructorOptionsFromProperties |
IRequestSignerConstructorOptionsFromFunction;
interface IRequestSignerConstructorOptionsFromProperties {
keyId: string;
key: string | Buffer;
algorithm?: string;
}
interface IRequestSignerConstructorOptionsFromFunction {
sign?: (data: string, cb: (err: any, sig: ISignature) => void) => void;
}
class RequestSigner {
constructor(options: RequestSignerConstructorOptions);
public writeHeader(header: string, value: string): string;
public writeDateHeader(): string;
public writeTarget(method: string, path: string): void;
public sign(cb: (err: any, authz: string) => void): void;
}
interface ISignRequestOptions extends IOptions {
keyId: string;
key: string;
httpVersion?: string;
}
export function parse(request: IncomingMessage, options?: IParseRequestOptions): IParsedSignature;
export function parseRequest(request: IncomingMessage, options?: IParseRequestOptions): IParsedSignature;
export function sign(request: ClientRequest, options: ISignRequestOptions): boolean;
export function signRequest(request: ClientRequest, options: ISignRequestOptions): boolean;
export function createSigner(): RequestSigner;
export function isSigner(obj: any): obj is RequestSigner;
export function sshKeyToPEM(key: string): string;
export function sshKeyFingerprint(key: string): string;
export function pemToRsaSSHKey(pem: string, comment: string): string;
export function verify(parsedSignature: IParsedSignature, pubkey: string | Buffer): boolean;
export function verifySignature(parsedSignature: IParsedSignature, pubkey: string | Buffer): boolean;
export function verifyHMAC(parsedSignature: IParsedSignature, secret: string): boolean;
}

7
src/@types/is-root.d.ts vendored Normal file
View File

@ -0,0 +1,7 @@
declare module 'is-root' {
function isRoot(): boolean;
namespace isRoot {} // Hack
export = isRoot;
}

803
src/@types/jsrsasign.d.ts vendored Normal file
View File

@ -0,0 +1,803 @@
// Attention: Partial Type Definition
declare module 'jsrsasign' {
//// HELPER TYPES
/**
* Attention: The value might be changed by the function.
*/
type Mutable<T> = T;
/**
* Deprecated: The function might be deleted in future release.
*/
type Deprecated<T> = T;
//// COMMON TYPES
/**
* byte number
*/
type ByteNumber = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255;
/**
* hexadecimal string /[0-9A-F]/
*/
type HexString = string;
/**
* binary string /[01]/
*/
type BinString = string;
/**
* base64 string /[A-Za-z0-9+/]=+/
*/
type Base64String = string;
/**
* base64 URL encoded string /[A-Za-z0-9_-]/
*/
type Base64URLString = string;
/**
* time value (ex. "151231235959Z")
*/
type TimeValue = string;
/**
* OID string (ex. '1.2.3.4.567')
*/
type OID = string;
/**
* OID name
*/
type OIDName = string;
/**
* PEM formatted string
*/
type PEM = string;
//// ASN1 TYPES
class ASN1Object {
public isModified: boolean;
public hTLV: ASN1TLV;
public hT: ASN1T;
public hL: ASN1L;
public hV: ASN1V;
public getLengthHexFromValue(): HexString;
public getEncodedHex(): ASN1TLV;
public getValueHex(): ASN1V;
public getFreshValueHex(): ASN1V;
}
class DERAbstractStructured extends ASN1Object {
constructor(params?: Partial<Record<'array', ASN1Object[]>>);
public setByASN1ObjectArray(asn1ObjectArray: ASN1Object[]): void;
public appendASN1Object(asn1Object: ASN1Object): void;
}
class DERSequence extends DERAbstractStructured {
constructor(params?: Partial<Record<'array', ASN1Object[]>>);
public getFreshValueHex(): ASN1V;
}
//// ASN1HEX TYPES
/**
* ASN.1 DER encoded data (hexadecimal string)
*/
type ASN1S = HexString;
/**
* index of something
*/
type Idx<T extends { [idx: string]: unknown } | { [idx: number]: unknown }> = ASN1S extends { [idx: string]: unknown } ? string : ASN1S extends { [idx: number]: unknown } ? number : never;
/**
* byte length of something
*/
type ByteLength<T extends { length: unknown }> = T['length'];
/**
* ASN.1 L(length) (hexadecimal string)
*/
type ASN1L = HexString;
/**
* ASN.1 T(tag) (hexadecimal string)
*/
type ASN1T = HexString;
/**
* ASN.1 V(value) (hexadecimal string)
*/
type ASN1V = HexString;
/**
* ASN.1 TLV (hexadecimal string)
*/
type ASN1TLV = HexString;
/**
* ASN.1 object string
*/
type ASN1ObjectString = string;
/**
* nth
*/
type Nth = number;
/**
* ASN.1 DER encoded OID value (hexadecimal string)
*/
type ASN1OIDV = HexString;
class ASN1HEX {
public static getLblen(s: ASN1S, idx: Idx<ASN1S>): ByteLength<ASN1L>;
public static getL(s: ASN1S, idx: Idx<ASN1S>): ASN1L;
public static getVblen(s: ASN1S, idx: Idx<ASN1S>): ByteLength<ASN1V>;
public static getVidx(s: ASN1S, idx: Idx<ASN1S>): Idx<ASN1V>;
public static getV(s: ASN1S, idx: Idx<ASN1S>): ASN1V;
public static getTLV(s: ASN1S, idx: Idx<ASN1S>): ASN1TLV;
public static getNextSiblingIdx(s: ASN1S, idx: Idx<ASN1S>): Idx<ASN1ObjectString>;
public static getChildIdx(h: ASN1S, pos: Idx<ASN1S>): Idx<ASN1ObjectString>[];
public static getNthChildIdx(h: ASN1S, idx: Idx<ASN1S>, nth: Nth): Idx<ASN1ObjectString>;
public static getIdxbyList(h: ASN1S, currentIndex: Idx<ASN1ObjectString>, nthList: Mutable<Nth[]>, checkingTag?: string): Idx<Mutable<Nth[]>>;
public static getTLVbyList(h: ASN1S, currentIndex: Idx<ASN1ObjectString>, nthList: Mutable<Nth[]>, checkingTag?: string): ASN1TLV;
public static getVbyList(h: ASN1S, currentIndex: Idx<ASN1ObjectString>, nthList: Mutable<Nth[]>, checkingTag?: string, removeUnusedbits?: boolean): ASN1V;
public static hextooidstr(hex: ASN1OIDV): OID;
public static dump(hexOrObj: ASN1S | ASN1Object, flags?: Record<string, unknown>, idx?: Idx<ASN1S>, indent?: string): string;
public static isASN1HEX(hex: string): hex is HexString;
public static oidname(oidDotOrHex: OID | ASN1OIDV): OIDName;
}
//// BIG INTEGER TYPES (PARTIAL)
class BigInteger {
constructor(a: null);
constructor(a: number, b: SecureRandom);
constructor(a: number, b: number, c: SecureRandom);
constructor(a: unknown);
constructor(a: string, b: number);
public am(i: number, x: number, w: number, j: number, c: number, n: number): number;
public DB: number;
public DM: number;
public DV: number;
public FV: number;
public F1: number;
public F2: number;
protected copyTo(r: Mutable<BigInteger>): void;
protected fromInt(x: number): void;
protected fromString(s: string, b: number): void;
protected clamp(): void;
public toString(b: number): string;
public negate(): BigInteger;
public abs(): BigInteger;
public compareTo(a: BigInteger): number;
public bitLength(): number;
protected dlShiftTo(n: number, r: Mutable<BigInteger>): void;
protected drShiftTo(n: number, r: Mutable<BigInteger>): void;
protected lShiftTo(n: number, r: Mutable<BigInteger>): void;
protected rShiftTo(n: number, r: Mutable<BigInteger>): void;
protected subTo(a: BigInteger, r: Mutable<BigInteger>): void;
protected multiplyTo(a: BigInteger, r: Mutable<BigInteger>): void;
protected squareTo(r: Mutable<BigInteger>): void;
protected divRemTo(m: BigInteger, q: Mutable<BigInteger>, r: Mutable<BigInteger>): void;
public mod(a: BigInteger): BigInteger;
protected invDigit(): number;
protected isEven(): boolean;
protected exp(e: number, z: Classic | Montgomery): BigInteger;
public modPowInt(e: number, m: BigInteger): BigInteger;
public static ZERO: BigInteger;
public static ONE: BigInteger;
}
class Classic {
constructor(m: BigInteger);
public convert(x: BigInteger): BigInteger;
public revert(x: BigInteger): BigInteger;
public reduce(x: Mutable<BigInteger>): void;
public mulTo(x: BigInteger, r: Mutable<BigInteger>): void;
public sqrTo(x: BigInteger, y: BigInteger, r: Mutable<BigInteger>): void;
}
class Montgomery {
constructor(m: BigInteger);
public convert(x: BigInteger): BigInteger;
public revert(x: BigInteger): BigInteger;
public reduce(x: Mutable<BigInteger>): void;
public mulTo(x: BigInteger, r: Mutable<BigInteger>): void;
public sqrTo(x: BigInteger, y: BigInteger, r: Mutable<BigInteger>): void;
}
//// KEYUTIL TYPES
type DecryptAES = (dataHex: HexString, keyHex: HexString, ivHex: HexString) => HexString;
type Decrypt3DES = (dataHex: HexString, keyHex: HexString, ivHex: HexString) => HexString;
type DecryptDES = (dataHex: HexString, keyHex: HexString, ivHex: HexString) => HexString;
type EncryptAES = (dataHex: HexString, keyHex: HexString, ivHex: HexString) => HexString;
type Encrypt3DES = (dataHex: HexString, keyHex: HexString, ivHex: HexString) => HexString;
type EncryptDES = (dataHex: HexString, keyHex: HexString, ivHex: HexString) => HexString;
type AlgList = {
'AES-256-CBC': { 'proc': DecryptAES; 'eproc': EncryptAES; keylen: 32; ivlen: 16; };
'AES-192-CBC': { 'proc': DecryptAES; 'eproc': EncryptAES; keylen: 24; ivlen: 16; };
'AES-128-CBC': { 'proc': DecryptAES; 'eproc': EncryptAES; keylen: 16; ivlen: 16; };
'DES-EDE3-CBC': { 'proc': Decrypt3DES; 'eproc': Encrypt3DES; keylen: 24; ivlen: 8; };
'DES-CBC': { 'proc': DecryptDES; 'eproc': EncryptDES; keylen: 8; ivlen: 8; };
};
type AlgName = keyof AlgList;
type PEMHeadAlgName = 'RSA' | 'EC' | 'DSA';
type GetKeyRSAParam = RSAKey | {
n: BigInteger;
e: number;
} | Record<'n' | 'e', HexString> | Record<'n' | 'e', HexString> & Record<'d' | 'p' | 'q' | 'dp' | 'dq' | 'co', HexString | null> | {
n: BigInteger;
e: number;
d: BigInteger;
} | {
kty: 'RSA';
} & Record<'n' | 'e', Base64URLString> | {
kty: 'RSA';
} & Record<'n' | 'e' | 'd' | 'p' | 'q' | 'dp' | 'dq' | 'qi', Base64URLString> | {
kty: 'RSA';
} & Record<'n' | 'e' | 'd', Base64URLString>;
type GetKeyECDSAParam = KJUR.crypto.ECDSA | {
curve: KJUR.crypto.CurveName;
xy: HexString;
} | {
curve: KJUR.crypto.CurveName;
d: HexString;
} | {
kty: 'EC';
crv: KJUR.crypto.CurveName;
x: Base64URLString;
y: Base64URLString;
} | {
kty: 'EC';
crv: KJUR.crypto.CurveName;
x: Base64URLString;
y: Base64URLString;
d: Base64URLString;
};
type GetKeyDSAParam = KJUR.crypto.DSA | Record<'p' | 'q' | 'g', BigInteger> & Record<'y', BigInteger | null> | Record<'p' | 'q' | 'g' | 'x', BigInteger> & Record<'y', BigInteger | null>;
type GetKeyParam = GetKeyRSAParam | GetKeyECDSAParam | GetKeyDSAParam | string;
class KEYUTIL {
public version: '1.0.0';
public parsePKCS5PEM(sPKCS5PEM: PEM): Partial<Record<'type' | 's', string>> & (Record<'cipher' | 'ivsalt', string> | Record<'cipher' | 'ivsalt', undefined>);
public getKeyAndUnusedIvByPasscodeAndIvsalt(algName: AlgName, passcode: string, ivsaltHex: HexString): Record<'keyhex' | 'ivhex', HexString>;
public decryptKeyB64(privateKeyB64: Base64String, sharedKeyAlgName: AlgName, sharedKeyHex: HexString, ivsaltHex: HexString): Base64String;
public getDecryptedKeyHex(sEncryptedPEM: PEM, passcode: string): HexString;
public getEncryptedPKCS5PEMFromPrvKeyHex(pemHeadAlg: PEMHeadAlgName, hPrvKey: string, passcode: string, sharedKeyAlgName?: AlgName | null, ivsaltHex?: HexString | null): PEM;
public parseHexOfEncryptedPKCS8(sHEX: HexString): {
ciphertext: ASN1V;
encryptionSchemeAlg: 'TripleDES';
encryptionSchemeIV: ASN1V;
pbkdf2Salt: ASN1V;
pbkdf2Iter: number;
};
public getPBKDF2KeyHexFromParam(info: ReturnType<this['parseHexOfEncryptedPKCS8']>, passcode: string): HexString;
private _getPlainPKCS8HexFromEncryptedPKCS8PEM(pkcs8PEM: PEM, passcode: string): HexString;
public getKeyFromEncryptedPKCS8PEM(prvKeyHex: HexString): ReturnType<this['getKeyFromPlainPrivatePKCS8Hex']>;
public parsePlainPrivatePKCS8Hex(pkcs8PrvHex: HexString): {
algparam: ASN1V | null;
algoid: ASN1V;
keyidx: Idx<ASN1V>;
};
public getKeyFromPlainPrivatePKCS8PEM(prvKeyHex: HexString): ReturnType<this['getKeyFromPlainPrivatePKCS8Hex']>;
public getKeyFromPlainPrivatePKCS8Hex(prvKeyHex: HexString): RSAKey | KJUR.crypto.DSA | KJUR.crypto.ECDSA;
private _getKeyFromPublicPKCS8Hex(h: HexString): RSAKey | KJUR.crypto.DSA | KJUR.crypto.ECDSA;
public parsePublicRawRSAKeyHex(pubRawRSAHex: HexString): Record<'n' | 'e', ASN1V>;
public parsePublicPKCS8Hex(pkcs8PubHex: HexString): {
algparam: ASN1V | Record<'p' | 'q' | 'g', ASN1V> | null;
algoid: ASN1V;
key: ASN1V;
};
public static getKey(param: GetKeyRSAParam): RSAKey;
public static getKey(param: GetKeyECDSAParam): KJUR.crypto.ECDSA;
public static getKey(param: GetKeyDSAParam): KJUR.crypto.DSA;
public static getKey(param: string, passcode?: string, hextype?: string): RSAKey | KJUR.crypto.ECDSA | KJUR.crypto.DSA;
public static generateKeypair(alg: 'RSA', keylen: number): Record<'prvKeyObj' | 'pubKeyObj', RSAKey>;
public static generateKeypair(alg: 'EC', curve: KJUR.crypto.CurveName): Record<'prvKeyObj' | 'pubKeyObj', KJUR.crypto.ECDSA>;
public static getPEM(keyObjOrHex: RSAKey | KJUR.crypto.ECDSA | KJUR.crypto.DSA, formatType?: 'PKCS1PRV' | 'PKCS5PRV' | 'PKCS8PRV', passwd?: string, encAlg?: 'DES-CBC' | 'DES-EDE3-CBC' | 'AES-128-CBC' | 'AES-192-CBC' | 'AES-256-CBC', hexType?: string, ivsaltHex?: HexString): object; // To Do
public static getKeyFromCSRPEM(csrPEM: PEM): RSAKey | KJUR.crypto.ECDSA | KJUR.crypto.DSA;
public static getKeyFromCSRHex(csrHex: HexString): RSAKey | KJUR.crypto.ECDSA | KJUR.crypto.DSA;
public static parseCSRHex(csrHex: HexString): Record<'p8pubkeyhex', ASN1TLV>;
public static getJWKFromKey(keyObj: RSAKey): {
kty: 'RSA';
} & Record<'n' | 'e' | 'd' | 'p' | 'q' | 'dp' | 'dq' | 'qi', Base64URLString> | {
kty: 'RSA';
} & Record<'n' | 'e', Base64URLString>;
public static getJWKFromKey(keyObj: KJUR.crypto.ECDSA): {
kty: 'EC';
crv: KJUR.crypto.CurveName;
x: Base64URLString;
y: Base64URLString;
d: Base64URLString;
} | {
kty: 'EC';
crv: KJUR.crypto.CurveName;
x: Base64URLString;
y: Base64URLString;
};
}
//// KJUR NAMESPACE (PARTIAL)
namespace KJUR {
namespace crypto {
type CurveName = 'secp128r1' | 'secp160k1' | 'secp160r1' | 'secp192k1' | 'secp192r1' | 'secp224r1' | 'secp256k1' | 'secp256r1' | 'secp384r1' | 'secp521r1';
class DSA {
public p: BigInteger | null;
public q: BigInteger | null;
public g: BigInteger | null;
public y: BigInteger | null;
public x: BigInteger | null;
public type: 'DSA';
public isPrivate: boolean;
public isPublic: boolean;
public setPrivate(p: BigInteger, q: BigInteger, g: BigInteger, y: BigInteger | null, x: BigInteger): void;
public setPrivateHex(hP: HexString, hQ: HexString, hG: HexString, hY: HexString | null, hX: HexString): void;
public setPublic(p: BigInteger, q: BigInteger, g: BigInteger, y: BigInteger): void;
public setPublicHex(hP: HexString, hQ: HexString, hG: HexString, hY: HexString): void;
public signWithMessageHash(sHashHex: HexString): HexString;
public verifyWithMessageHash(sHashHex: HexString, hSigVal: HexString): boolean;
public parseASN1Signature(hSigVal: HexString): [BigInteger, BigInteger];
public readPKCS5PrvKeyHex(h: HexString): void;
public readPKCS8PrvKeyHex(h: HexString): void;
public readPKCS8PubKeyHex(h: HexString): void;
public readCertPubKeyHex(h: HexString, nthPKI: number): void;
}
class ECDSA {
constructor(params?: {
curve?: CurveName;
prv?: HexString;
pub?: HexString;
});
public p: BigInteger | null;
public q: BigInteger | null;
public g: BigInteger | null;
public y: BigInteger | null;
public x: BigInteger | null;
public type: 'EC';
public isPrivate: boolean;
public isPublic: boolean;
public getBigRandom(limit: BigInteger): BigInteger;
public setNamedCurve(curveName: CurveName): void;
public setPrivateKeyHex(prvKeyHex: HexString): void;
public setPublicKeyHex(pubKeyHex: HexString): void;
public getPublicKeyXYHex(): Record<'x' | 'y', HexString>;
public getShortNISTPCurveName(): 'P-256' | 'P-384' | null;
public generateKeyPairHex(): Record<'ecprvhex' | 'ecpubhex', HexString>;
public signWithMessageHash(hashHex: HexString): HexString;
public signHex(hashHex: HexString, privHex: HexString): HexString;
public verifyWithMessageHash(sHashHex: HexString, hSigVal: HexString): boolean;
public parseASN1Signature(hSigVal: HexString): [BigInteger, BigInteger];
public readPKCS5PrvKeyHex(h: HexString): void;
public readPKCS8PrvKeyHex(h: HexString): void;
public readPKCS8PubKeyHex(h: HexString): void;
public readCertPubKeyHex(h: HexString, nthPKI: number): void;
public static parseSigHex(sigHex: HexString): Record<'r' | 's', BigInteger>;
public static parseSigHexInHexRS(sigHex: HexString): Record<'r' | 's', ASN1V>;
public static asn1SigToConcatSig(asn1Sig: HexString): HexString;
public static concatSigToASN1Sig(concatSig: HexString): ASN1TLV;
public static hexRSSigToASN1Sig(hR: HexString, hS: HexString): ASN1TLV;
public static biRSSigToASN1Sig(biR: BigInteger, biS: BigInteger): ASN1TLV;
public static getName(s: CurveName | HexString): 'secp256r1' | 'secp256k1' | 'secp384r1' | null;
}
class Signature {
constructor(params?: ({
alg: string;
prov?: string;
} | {}) & ({
psssaltlen: number;
} | {}) & ({
prvkeypem: PEM;
prvkeypas?: never;
} | {}));
private _setAlgNames(): void;
private _zeroPaddingOfSignature(hex: HexString, bitLength: number): HexString;
public setAlgAndProvider(alg: string, prov: string): void;
public init(key: GetKeyParam, pass?: string): void;
public updateString(str: string): void;
public updateHex(hex: HexString): void;
public sign(): HexString;
public signString(str: string): HexString;
public signHex(hex: HexString): HexString;
public verify(hSigVal: string): boolean | 0;
}
}
}
//// RSAKEY TYPES
class RSAKey {
public n: BigInteger | null;
public e: number;
public d: BigInteger | null;
public p: BigInteger | null;
public q: BigInteger | null;
public dmp1: BigInteger | null;
public dmq1: BigInteger | null;
public coeff: BigInteger | null;
public type: 'RSA';
public isPrivate?: boolean;
public isPublic?: boolean;
//// RSA PUBLIC
protected doPublic(x: BigInteger): BigInteger;
public setPublic(N: BigInteger, E: number): void;
public setPublic(N: HexString, E: HexString): void;
public encrypt(text: string): HexString | null;
public encryptOAEP(text: string, hash?: string, hashLen?: number): HexString | null;
public encryptOAEP(text: string, hash?: (s: string) => string, hashLen?: number): HexString | null;
//// RSA PRIVATE
protected doPrivate(x: BigInteger): BigInteger;
public setPrivate(N: BigInteger, E: number, D: BigInteger): void;
public setPrivate(N: HexString, E: HexString, D: HexString): void;
public setPrivateEx(N: HexString, E: HexString, D?: HexString | null, P?: HexString | null, Q?: HexString | null, DP?: HexString | null, DQ?: HexString | null, C?: HexString | null): void;
public generate(B: number, E: HexString): void;
public decrypt(ctext: HexString): string;
public decryptOAEP(ctext: HexString, hash?: string, hashLen?: number): string | null;
public encryptOAEP(ctext: HexString, hash?: (s: string) => string, hashLen?: number): string | null;
//// RSA PEM
public getPosArrayOfChildrenFromHex(hPrivateKey: PEM): Idx<ASN1ObjectString>[];
public getHexValueArrayOfChildrenFromHex(hPrivateKey: PEM): Idx<ASN1ObjectString>[];
public readPrivateKeyFromPEMString(keyPEM: PEM): void;
public readPKCS5PrvKeyHex(h: HexString): void;
public readPKCS8PrvKeyHex(h: HexString): void;
public readPKCS5PubKeyHex(h: HexString): void;
public readPKCS8PubKeyHex(h: HexString): void;
public readCertPubKeyHex(h: HexString, nthPKI: Nth): void;
//// RSA SIGN
public sign(s: string, hashAlg: string): HexString;
public signWithMessageHash(sHashHex: HexString, hashAlg: string): HexString;
public signPSS(s: string, hashAlg: string, sLen: number): HexString;
public signWithMessageHashPSS(hHash: HexString, hashAlg: string, sLen: number): HexString;
public verify(sMsg: string, hSig: HexString): boolean | 0;
public verifyWithMessageHash(sHashHex: HexString, hSig: HexString): boolean | 0;
public verifyPSS(sMsg: string, hSig: HexString, hashAlg: string, sLen: number): boolean;
public verifyWithMessageHashPSS(hHash: HexString, hSig: HexString, hashAlg: string, sLen: number): boolean;
public static SALT_LEN_HLEN: -1;
public static SALT_LEN_MAX: -2;
public static SALT_LEN_RECOVER: -2;
}
/// RNG TYPES
class SecureRandom {
public nextBytes(ba: Mutable<ByteNumber[]>): void;
}
//// X509 TYPES
type ExtInfo = {
critical: boolean;
oid: OID;
vidx: Idx<ASN1V>;
};
type ExtAIAInfo = Record<'ocsp' | 'caissuer', string>;
type ExtCertificatePolicy = {
id: OIDName;
} & Partial<{
cps: string;
} | {
unotice: string;
}>;
class X509 {
public hex: HexString | null;
public version: number;
public foffset: number;
public aExtInfo: null;
public getVersion(): number;
public getSerialNumberHex(): ASN1V;
public getSignatureAlgorithmField(): OIDName;
public getIssuerHex(): ASN1TLV;
public getIssuerString(): HexString;
public getSubjectHex(): ASN1TLV;
public getSubjectString(): HexString;
public getNotBefore(): TimeValue;
public getNotAfter(): TimeValue;
public getPublicKeyHex(): ASN1TLV;
public getPublicKeyIdx(): Idx<Mutable<Nth[]>>;
public getPublicKeyContentIdx(): Idx<Mutable<Nth[]>>;
public getPublicKey(): RSAKey | KJUR.crypto.ECDSA | KJUR.crypto.DSA;
public getSignatureAlgorithmName(): OIDName;
public getSignatureValueHex(): ASN1V;
public verifySignature(pubKey: GetKeyParam): boolean | 0;
public parseExt(): void;
public getExtInfo(oidOrName: OID | string): ExtInfo | undefined;
public getExtBasicConstraints(): ExtInfo | {} | {
cA: true;
pathLen?: number;
};
public getExtKeyUsageBin(): BinString;
public getExtKeyUsageString(): string;
public getExtSubjectKeyIdentifier(): ASN1V | undefined;
public getExtAuthorityKeyIdentifier(): {
kid: ASN1V;
} | undefined;
public getExtExtKeyUsageName(): OIDName[] | undefined;
public getExtSubjectAltName(): Deprecated<string[]>;
public getExtSubjectAltName2(): ['MAIL' | 'DNS' | 'DN' | 'URI' | 'IP', string][] | undefined;
public getExtCRLDistributionPointsURI(): string[] | undefined;
public getExtAIAInfo(): ExtAIAInfo | undefined;
public getExtCertificatePolicies(): ExtCertificatePolicy[] | undefined;
public readCertPEM(sCertPEM: PEM): void;
public readCertHex(sCertHex: HexString): void;
public getInfo(): string;
public static hex2dn(hex: HexString, idx?: Idx<HexString>): string;
public static hex2rdn(hex: HexString, idx?: Idx<HexString>): string;
public static hex2attrTypeValue(hex: HexString, idx?: Idx<HexString>): string;
public static getPublicKeyFromCertPEM(sCertPEM: PEM): RSAKey | KJUR.crypto.ECDSA | KJUR.crypto.DSA;
public static getPublicKeyInfoPropOfCertPEM(sCertPEM: PEM): {
algparam: ASN1V | null;
leyhex: ASN1V;
algoid: ASN1V;
};
}
}

15
src/@types/koa-json-body.d.ts vendored Normal file
View File

@ -0,0 +1,15 @@
declare module 'koa-json-body' {
import { Middleware } from 'koa';
interface IKoaJsonBodyOptions {
strict: boolean;
limit: string;
fallback: boolean;
}
function koaJsonBody(opt?: IKoaJsonBodyOptions): Middleware;
namespace koaJsonBody {} // Hack
export = koaJsonBody;
}

14
src/@types/koa-slow.d.ts vendored Normal file
View File

@ -0,0 +1,14 @@
declare module 'koa-slow' {
import { Middleware } from 'koa';
interface ISlowOptions {
url?: RegExp;
delay?: number;
}
function slow(options?: ISlowOptions): Middleware;
namespace slow {} // Hack
export = slow;
}

10
src/@types/langmap.d.ts vendored Normal file
View File

@ -0,0 +1,10 @@
declare module 'langmap' {
type Lang = {
nativeName: string;
englishName: string;
};
const langmap: { [lang: string]: Lang };
export = langmap;
}

17
src/@types/lookup-dns-cache.d.ts vendored Normal file
View File

@ -0,0 +1,17 @@
declare module 'lookup-dns-cache' {
type IPv4 = 4;
type IPv6 = 6;
type Family = IPv4 | IPv6 | undefined;
interface IRunOptions {
family?: Family;
all?: boolean;
}
type RunCallback = (error: Error | null, address?: string | string[], family?: Family) => void;
export function lookup(hostname: string, options: IRunOptions | Family, callback: RunCallback): {} | undefined;
export function lookup(hostname: string, callback: RunCallback): {} | undefined;
}

3
src/@types/meta.json.d.ts vendored Normal file
View File

@ -0,0 +1,3 @@
declare module '*/meta.json' {
const version: string;
}

12
src/@types/ms.d.ts vendored Normal file
View File

@ -0,0 +1,12 @@
declare module 'ms' {
interface IMSOptions {
long: boolean;
}
function ms(value: string): number;
function ms(value: number, options?: IMSOptions): string;
namespace ms {} // Hack
export = ms;
}

21
src/@types/nested-property.d.ts vendored Normal file
View File

@ -0,0 +1,21 @@
type Obj = { [key: string]: any };
declare module 'nested-property' {
interface IHasNestedPropertyOptions {
own?: boolean;
}
interface IIsInNestedPropertyOptions {
validPath?: boolean;
}
export function set<T>(object: T, property: string, value: any): T;
export function get(object: Obj, property: string): any;
export function has(object: Obj, property: string, options?: IHasNestedPropertyOptions): boolean;
export function hasOwn(object: Obj, property: string, options?: IHasNestedPropertyOptions): boolean;
export function isIn(object: Obj, property: string, objectInPath: Obj, options?: IIsInNestedPropertyOptions): boolean;
}

30
src/@types/os-utils.d.ts vendored Normal file
View File

@ -0,0 +1,30 @@
declare module 'os-utils' {
type FreeCommandCallback = (usedmem: number) => void;
type HarddriveCallback = (total: number, free: number, used: number) => void;
type GetProcessesCallback = (result: string) => void;
type CPUCallback = (perc: number) => void;
export function platform(): NodeJS.Platform;
export function cpuCount(): number;
export function sysUptime(): number;
export function processUptime(): number;
export function freemem(): number;
export function totalmem(): number;
export function freememPercentage(): number;
export function freeCommand(callback: FreeCommandCallback): void;
export function harddrive(callback: HarddriveCallback): void;
export function getProcesses(callback: GetProcessesCallback): void;
export function getProcesses(nProcess: number, callback: GetProcessesCallback): void;
export function allLoadavg(): string;
export function loadavg(_time?: number): number;
export function cpuFree(callback: CPUCallback): void;
export function cpuUsage(callback: CPUCallback): void;
}

10
src/@types/package.json.d.ts vendored Normal file
View File

@ -0,0 +1,10 @@
declare module '*/package.json' {
interface IRepository {
type: string;
url: string;
}
export const name: string;
export const version: string;
export const repository: IRepository;
}

7
src/@types/promise-any.d.ts vendored Normal file
View File

@ -0,0 +1,7 @@
declare module 'promise-any' {
function promiseAny<T>(iterable: Iterable<T | PromiseLike<T>>): Promise<T>;
namespace promiseAny {} // Hack
export = promiseAny;
}

16
src/@types/recaptcha-promise.d.ts vendored Normal file
View File

@ -0,0 +1,16 @@
declare module 'recaptcha-promise' {
interface IVerifyOptions {
secret_key?: string;
}
interface IVerify {
(response: string, remoteAddress?: string): Promise<boolean>;
init(options: IVerifyOptions): IVerify;
}
namespace recaptchaPromise {} // Hack
const verify: IVerify;
export = verify;
}

22
src/argv.ts Normal file
View File

@ -0,0 +1,22 @@
import * as program from 'commander';
import * as pkg from '../package.json';
program
.version(pkg.version)
.option('--no-daemons', 'Disable daemon processes (for debbuging)')
.option('--disable-clustering', 'Disable clustering')
.option('--only-server', 'Run server only (without job queue processing)')
.option('--only-queue', 'Pocessing job queue only (without server)')
.option('--quiet', 'Suppress all logs')
.option('--verbose', 'Enable all logs')
.option('--with-log-time', 'Include timestamp for each logs')
.option('--slow', 'Delay all requests (for debbuging)')
.option('--color', 'This option is a dummy for some external program\'s (e.g. forever) issue.')
.parse(process.argv);
if (process.env.MK_ONLY_QUEUE) program.onlyQueue = true;
if (process.env.NODE_ENV === 'test') program.disableClustering = true;
if (process.env.NODE_ENV === 'test') program.quiet = true;
if (process.env.NODE_ENV === 'test') program.noDaemons = true;
export { program };

77
src/boot/index.ts Normal file
View File

@ -0,0 +1,77 @@
import * as cluster from 'cluster';
import chalk from 'chalk';
import Xev from 'xev';
import Logger from '../services/logger';
import { program } from '../argv';
// for typeorm
import 'reflect-metadata';
import { masterMain } from './master';
import { workerMain } from './worker';
const logger = new Logger('core', 'cyan');
const clusterLogger = logger.createSubLogger('cluster', 'orange', false);
const ev = new Xev();
/**
* Init process
*/
export default async function() {
process.title = `Misskey (${cluster.isMaster ? 'master' : 'worker'})`;
if (cluster.isMaster || program.disableClustering) {
await masterMain();
if (cluster.isMaster) {
ev.mount();
}
}
if (cluster.isWorker || program.disableClustering) {
await workerMain();
}
// ユニットテスト時にMisskeyが子プロセスで起動された時のため
// それ以外のときは process.send は使えないので弾く
if (process.send) {
process.send('ok');
}
}
//#region Events
// Listen new workers
cluster.on('fork', worker => {
clusterLogger.debug(`Process forked: [${worker.id}]`);
});
// Listen online workers
cluster.on('online', worker => {
clusterLogger.debug(`Process is now online: [${worker.id}]`);
});
// Listen for dying workers
cluster.on('exit', worker => {
// Replace the dead worker,
// we're not sentimental
clusterLogger.error(chalk.red(`[${worker.id}] died :(`));
cluster.fork();
});
// Display detail of unhandled promise rejection
if (!program.quiet) {
process.on('unhandledRejection', console.dir);
}
// Display detail of uncaught exception
process.on('uncaughtException', err => {
logger.error(err);
});
// Dying away...
process.on('exit', code => {
logger.info(`The process is going to exit with code ${code}`);
});
//#endregion

177
src/boot/master.ts Normal file
View File

@ -0,0 +1,177 @@
import * as os from 'os';
import * as cluster from 'cluster';
import chalk from 'chalk';
import * as portscanner from 'portscanner';
import * as isRoot from 'is-root';
import Logger from '../services/logger';
import loadConfig from '../config/load';
import { Config } from '../config/types';
import { lessThan } from '../prelude/array';
import * as pkg from '../../package.json';
import { program } from '../argv';
import { showMachineInfo } from '../misc/show-machine-info';
import { initDb } from '../db/postgre';
const logger = new Logger('core', 'cyan');
const bootLogger = logger.createSubLogger('boot', 'magenta', false);
function greet() {
if (!program.quiet) {
//#region Misskey logo
const v = `v${pkg.version}`;
console.log(' _____ _ _ ');
console.log(' | |_|___ ___| |_ ___ _ _ ');
console.log(' | | | | |_ -|_ -| \'_| -_| | |');
console.log(' |_|_|_|_|___|___|_,_|___|_ |');
console.log(' ' + chalk.gray(v) + (' |___|\n'.substr(v.length)));
//#endregion
console.log(' Misskey is maintained by @syuilo, @AyaMorisawa, @mei23, @acid-chicken, and @rinsuki.');
console.log(chalk.keyword('orange')(' If you like Misskey, please donate to support development. https://www.patreon.com/syuilo'));
console.log('');
console.log(chalk`< ${os.hostname()} {gray (PID: ${process.pid.toString()})} >`);
}
bootLogger.info('Welcome to Misskey!');
bootLogger.info(`Misskey v${pkg.version}`, null, true);
}
/**
* Init master process
*/
export async function masterMain() {
greet();
let config!: Config;
try {
// initialize app
config = await init();
if (config.port == null || Number.isNaN(config.port)) {
bootLogger.error('The port is not configured. Please configure port.', null, true);
process.exit(1);
}
if (process.platform === 'linux' && isWellKnownPort(config.port) && !isRoot()) {
bootLogger.error('You need root privileges to listen on well-known port on Linux', null, true);
process.exit(1);
}
if (!await isPortAvailable(config.port)) {
bootLogger.error(`Port ${config.port} is already in use`, null, true);
process.exit(1);
}
} catch (e) {
bootLogger.error('Fatal error occurred during initialization', null, true);
process.exit(1);
}
bootLogger.succ('Misskey initialized');
if (!program.disableClustering) {
await spawnWorkers(config.clusterLimit);
}
if (!program.noDaemons) {
require('../daemons/server-stats').default();
require('../daemons/notes-stats').default();
require('../daemons/queue-stats').default();
require('../daemons/janitor').default();
}
bootLogger.succ(`Now listening on port ${config.port} on ${config.url}`, null, true);
}
const runningNodejsVersion = process.version.slice(1).split('.').map(x => parseInt(x, 10));
const requiredNodejsVersion = [11, 7, 0];
const satisfyNodejsVersion = !lessThan(runningNodejsVersion, requiredNodejsVersion);
function isWellKnownPort(port: number): boolean {
return port < 1024;
}
async function isPortAvailable(port: number): Promise<boolean> {
return await portscanner.checkPortStatus(port, '127.0.0.1') === 'closed';
}
function showEnvironment(): void {
const env = process.env.NODE_ENV;
const logger = bootLogger.createSubLogger('env');
logger.info(typeof env == 'undefined' ? 'NODE_ENV is not set' : `NODE_ENV: ${env}`);
if (env !== 'production') {
logger.warn('The environment is not in production mode.');
logger.warn('DO NOT USE FOR PRODUCTION PURPOSE!', null, true);
}
logger.info(`You ${isRoot() ? '' : 'do not '}have root privileges`);
}
/**
* Init app
*/
async function init(): Promise<Config> {
showEnvironment();
const nodejsLogger = bootLogger.createSubLogger('nodejs');
nodejsLogger.info(`Version ${runningNodejsVersion.join('.')}`);
if (!satisfyNodejsVersion) {
nodejsLogger.error(`Node.js version is less than ${requiredNodejsVersion.join('.')}. Please upgrade it.`, null, true);
process.exit(1);
}
await showMachineInfo(bootLogger);
const configLogger = bootLogger.createSubLogger('config');
let config;
try {
config = loadConfig();
} catch (exception) {
if (typeof exception === 'string') {
configLogger.error(exception);
process.exit(1);
}
if (exception.code === 'ENOENT') {
configLogger.error('Configuration file not found', null, true);
process.exit(1);
}
throw exception;
}
configLogger.succ('Loaded');
// Try to connect to DB
try {
bootLogger.info('Connecting database...');
await initDb();
} catch (e) {
bootLogger.error('Cannot connect to database', null, true);
bootLogger.error(e);
process.exit(1);
}
return config;
}
async function spawnWorkers(limit: number = Infinity) {
const workers = Math.min(limit, os.cpus().length);
bootLogger.info(`Starting ${workers} worker${workers === 1 ? '' : 's'}...`);
await Promise.all([...Array(workers)].map(spawnWorker));
bootLogger.succ('All workers started');
}
function spawnWorker(): Promise<void> {
return new Promise(res => {
const worker = cluster.fork();
worker.on('message', message => {
if (message !== 'ready') return;
res();
});
});
}

20
src/boot/worker.ts Normal file
View File

@ -0,0 +1,20 @@
import * as cluster from 'cluster';
import { initDb } from '../db/postgre';
/**
* Init worker process
*/
export async function workerMain() {
await initDb();
// start server
await require('../server').default();
// start job queue
require('../queue').default();
if (cluster.isWorker) {
// Send a 'ready' message to parent process
process.send!('ready');
}
}

View File

@ -1,122 +0,0 @@
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();

View File

@ -1,66 +0,0 @@
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();

View File

@ -1,56 +0,0 @@
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();

View File

@ -1,351 +0,0 @@
/**
* チャートエンジン
*/
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}`);
const keys = {
span: -1,
date: -1
} as { [key: string]: 1 | -1; };
if (grouped) keys.group = -1;
this.collection.createIndex(keys, { unique: true });
}
@autobind
private convertQuery(x: Obj, path: string): Obj {
const query: Obj = {};
const dive = (x: Obj, path: string) => {
for (const [k, v] of Object.entries(x)) {
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) => {
for (const [k, v] of Object.entries(x)) {
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;
}
}

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