Compare commits
3245 Commits
10.49.6
...
11.0.0-bet
Author | SHA1 | Date | |
---|---|---|---|
3c0626752a | |||
511ef77fb7 | |||
4df3ede500 | |||
e83c080af8 | |||
054220db70 | |||
97bff010a8 | |||
487a3079cd | |||
2d5158c680 | |||
837be06b72 | |||
7e0d8dd4d7 | |||
146fb23d7d | |||
61455ffe29 | |||
c267baafdc | |||
42248a306a | |||
694ec7ebe1 | |||
e3b3f8fac1 | |||
b390363b25 | |||
f6f8cdbcf2 | |||
f46f53b8a3 | |||
a2fcae4383 | |||
483f043768 | |||
f8e0f4f21f | |||
9c3613e96d | |||
d9cacdc86d | |||
aa3d2deeaa | |||
e64912545a | |||
b247be80cc | |||
343f2f1f33 | |||
2d590df900 | |||
ba56b2b9fd | |||
bf472b0c5e | |||
f7961f34c5 | |||
e369031a28 | |||
186d7bbfd9 | |||
60a11f8da5 | |||
1181fcdceb | |||
8cb9852058 | |||
53d46d1cbe | |||
275e1c8de9 | |||
d46eca4c87 | |||
2927fb1597 | |||
8c72e011d2 | |||
69662e24c3 | |||
96099ffe98 | |||
ae16b45c11 | |||
cfee87d3ef | |||
5fcf5bc635 | |||
14bcb813cc | |||
6af19794b6 | |||
8316186695 | |||
85d3023cd5 | |||
78414dee29 | |||
084135141f | |||
467a21f028 | |||
6e284c44d6 | |||
daf9a449e8 | |||
960268fd33 | |||
8c331da315 | |||
b0d626d862 | |||
a51fbd7316 | |||
063f372f3c | |||
987168b863 | |||
4ee40c3345 | |||
654daff7ce | |||
64e10e9619 | |||
b89cffe98d | |||
bd76ba702f | |||
5d52e9ce6b | |||
3c29027ca3 | |||
2ff3069d23 | |||
4198246351 | |||
2b6389b4dc | |||
d7df75ae6c | |||
11c30eccb3 | |||
ab8c6515b8 | |||
d4ad36fa41 | |||
4d688be3df | |||
d2b75f3501 | |||
46b78cb4ff | |||
5d6e0d0f37 | |||
e19d0a37bb | |||
dea3e2132e | |||
91c1ceefbd | |||
5c50989970 | |||
2a7e3b9c51 | |||
ab302df0ae | |||
21e5809993 | |||
c58afc67e8 | |||
8e344f2deb | |||
c28f4ffb3f | |||
2a40240310 | |||
0e9fba9287 | |||
2e3dd2a30a | |||
dda5f6559d | |||
4152e59638 | |||
9d5a92bce6 | |||
30172b92e6 | |||
8468a9d4c7 | |||
626cfb61ac | |||
9603f3fa4f | |||
619a1b9e53 | |||
62e76ad588 | |||
236d72685d | |||
72a5f7b1e2 | |||
d1c16a90b4 | |||
33a9783ae5 | |||
4d64fd665e | |||
96443384fe | |||
69939f1edb | |||
e3c0058942 | |||
3dc2361654 | |||
ec2f709018 | |||
ea06665c51 | |||
74a4bd704c | |||
c62f3e0e45 | |||
a56a969433 | |||
1016f94bbb | |||
e98cce9aee | |||
d4bdb5d327 | |||
db4378415e | |||
9b594880c8 | |||
d44fc3db2f | |||
5133b0a0c0 | |||
815469304f | |||
c651921c79 | |||
d18c835221 | |||
e38335077e | |||
34c150cf73 | |||
24cb3ba091 | |||
c07eaef2d1 | |||
5df708ac9f | |||
38ffbe95e9 | |||
8bec4042fc | |||
ee7ef89dfb | |||
54a5246061 | |||
fa6eae2937 | |||
795be20ee1 | |||
87d3a06dcd | |||
8b5c917195 | |||
c7da0e59ff | |||
eb14acbe0c | |||
56860a6bef | |||
735687be21 | |||
fab0cc51b3 | |||
3a26acbdb2 | |||
8d0c31bcda | |||
0b99293d4c | |||
802153ff9b | |||
ec73e2d237 | |||
c32b020535 | |||
c4441804e2 | |||
6c9d80d4e8 | |||
a231f8d26c | |||
08da258b63 | |||
5994926440 | |||
30f2da4215 | |||
1a2229f886 | |||
1e166490d9 | |||
1c57e6f80a | |||
a6537a8748 | |||
842b75977b | |||
9b3dccf60c | |||
2d533e0cd8 | |||
9e1925c808 | |||
142d59be85 | |||
d9a5e06b5b | |||
b6889e9ac6 | |||
dc82203e9b | |||
6a30d32e7d | |||
d9780606b3 | |||
fffa32df48 | |||
cad49892d3 | |||
f0a29721c9 | |||
13caf37991 | |||
b71a602107 | |||
e6ce0dd43a | |||
094a5214f1 | |||
0932fcd114 | |||
f26643cea3 | |||
63b1689155 | |||
59dc929431 | |||
deaadc33db | |||
0ba92a4f29 | |||
7dc5009ec7 | |||
0ee827afd3 | |||
551d1b7f86 | |||
7ed1b695f5 | |||
7ad31b9b33 | |||
edd8992f7f | |||
96fe42cfcb | |||
c3872b4a38 | |||
762945113d | |||
037e9230fc | |||
3f59ebf986 | |||
e51e1d2b09 | |||
26cc49eb69 | |||
7987bb491c | |||
16b7ac5a87 | |||
5932cb8609 | |||
dfe694d39f | |||
278624f2c8 | |||
899f42c070 | |||
8ce1d4d6a3 | |||
52225d703b | |||
81739af7cb | |||
25473222cc | |||
0b7be70935 | |||
818b71abd6 | |||
25575e8510 | |||
6c85adcf23 | |||
5dc92d7a40 | |||
4e2b966b80 | |||
d34f8c3cb9 | |||
9049ecb1cf | |||
7bebea087c | |||
1c79e30436 | |||
1d7933349b | |||
d002f67140 | |||
da3447765b | |||
cbf5663179 | |||
b217fba235 | |||
7f7e6d5aba | |||
87c5a9d9a6 | |||
8ca1fe3f0a | |||
763ae8f1a6 | |||
c65256d02b | |||
bd2ac515d1 | |||
681f372889 | |||
c2eec272e6 | |||
bd720491a9 | |||
a408226509 | |||
c015e99e6e | |||
de47a17be7 | |||
d38fc490ad | |||
662167e792 | |||
36c91f03d9 | |||
33ccee26b5 | |||
ed5cb991e3 | |||
bea84ec2bf | |||
08c176e549 | |||
810ed50976 | |||
2684541693 | |||
a5b12bac54 | |||
fea1b06e43 | |||
182ca5d434 | |||
facde9a75d | |||
41385640b9 | |||
7bad9db32e | |||
af66f0a497 | |||
95e1b80f41 | |||
556e2eba95 | |||
efe530cb17 | |||
34e7c99283 | |||
4157ea8bc3 | |||
550517bbf3 | |||
eb910cd8a1 | |||
75131c4e8a | |||
ee29ab95be | |||
e97951fc51 | |||
dfabdef60f | |||
5a87763193 | |||
6bb90f56fa | |||
c883ae1350 | |||
09e25e6a02 | |||
bf5d43054b | |||
63b3c65691 | |||
f193da7f67 | |||
40f38c2c0a | |||
db439ef804 | |||
56eb896a03 | |||
68d43e43b6 | |||
c60517e49a | |||
3f59d261f2 | |||
4068d220e5 | |||
18968e7208 | |||
38656103c0 | |||
0f65b1bcc5 | |||
a628821834 | |||
6ceff60c1e | |||
d762a6ce58 | |||
75a8037a46 | |||
1179920790 | |||
b323a160e3 | |||
b157e9535e | |||
7668475bd6 | |||
8bda2a1fb7 | |||
b092086b5b | |||
69a0d9034f | |||
f5be8fd313 | |||
7f835d7f76 | |||
ddbb7c5993 | |||
00a3fe39e8 | |||
7537fb88d4 | |||
a81bc71a1e | |||
0a0aa0e2db | |||
c56b94ae96 | |||
e90712706d | |||
eb0623331f | |||
d15bd59109 | |||
60e0b19372 | |||
922eb937ff | |||
87573284f1 | |||
a91c585f55 | |||
953ea21d5e | |||
ecb00968bc | |||
50ad8adb2d | |||
16878caf09 | |||
5bc30c5493 | |||
85d89cf4c4 | |||
db693f598b | |||
0494c770a1 | |||
c473b62aed | |||
f19ac5320e | |||
612e3aafbc | |||
0e97fec451 | |||
e8c8626ee4 | |||
d89e0f07f8 | |||
e7f81a42ce | |||
ac614148b8 | |||
5eb02b4901 | |||
65631525f6 | |||
969435cfe9 | |||
c932f7a25b | |||
42d164dc57 | |||
a7e60f80bd | |||
3dd5f313b7 | |||
883962c393 | |||
8a30ff1c76 | |||
e47c354916 | |||
496f42805d | |||
c3d34bda37 | |||
bb6ede2b8f | |||
822400a1ba | |||
e3e08843f1 | |||
ce0d4f77fa | |||
94fdb4e974 | |||
4d425fc8a4 | |||
c6cdfa2f5a | |||
0fff2e4f16 | |||
80a2172715 | |||
5a0a297634 | |||
948a133b7b | |||
2ee826c958 | |||
539409faf8 | |||
606e46e4d7 | |||
a179cfd69a | |||
d8379253d4 | |||
c3344fbd68 | |||
4cebd6e84a | |||
90fbf9dbb0 | |||
d365b9f634 | |||
a2f06acaa4 | |||
8c90cbcbfb | |||
a4a47772dc | |||
5dde1f4602 | |||
9dc0909eeb | |||
0ed2592e41 | |||
76cff98220 | |||
60604b6f51 | |||
f410b7aecb | |||
1a61f2cee9 | |||
78a8293520 | |||
03cfb4fc8d | |||
144345a359 | |||
fd2c01515e | |||
219570e08b | |||
69df556ff5 | |||
5f4a52574f | |||
5a1f6c5839 | |||
91d0342fe8 | |||
8cc236daf8 | |||
d283ec69f7 | |||
d1aea7596c | |||
c934987b14 | |||
00c9f4a2e5 | |||
6605c1d07f | |||
7325d66c52 | |||
a485061e22 | |||
1f63f50343 | |||
cd3170dabd | |||
841cedc5f8 | |||
7f4882734d | |||
e7d647d412 | |||
913d14a58a | |||
909272ec3d | |||
7af40ffbbe | |||
9df79a3ec9 | |||
4f2eee06aa | |||
1b9cf76008 | |||
d035a43ed6 | |||
95ee9a6e09 | |||
02a63cdcb3 | |||
f02125dd47 | |||
c11e813146 | |||
a365849048 | |||
a493c9f769 | |||
a13f522b2a | |||
1ed70b2e2c | |||
86d5a599b7 | |||
c226fc8d63 | |||
bbf4e1c413 | |||
a24a20a83d | |||
725600da8f | |||
f74a32ed9b | |||
e08e72dd10 | |||
ce02e1e528 | |||
0b27d8a717 | |||
2782e7d26f | |||
2c83a05e80 | |||
467f68502a | |||
d95b0dee6b | |||
a1f3323fa5 | |||
494796a7f0 | |||
94f2c20d35 | |||
c1deb9438d | |||
ea86527c66 | |||
d1a18fe266 | |||
737064da82 | |||
606cc85ff5 | |||
dcfc8f1b30 | |||
ebe4b84f14 | |||
699d4897db | |||
fcdfd8d323 | |||
db8625c31a | |||
b65f265c55 | |||
c55237d09c | |||
ed698b7b82 | |||
d4ff19f013 | |||
972fb8eb40 | |||
4de75448b6 | |||
e8ef8f0004 | |||
a319b30382 | |||
8278616eeb | |||
771f011506 | |||
826865869a | |||
3c77ae7b62 | |||
60c30ece10 | |||
76a0d0fee9 | |||
d50624f0a0 | |||
4f9b015d1c | |||
4f10bd038d | |||
977af0a24d | |||
f3ceb32a7c | |||
15da2de256 | |||
41ae0ccd6f | |||
344532662e | |||
99b365030e | |||
5cc940c08a | |||
1d02d9e0fe | |||
139523b763 | |||
e7c83db9c7 | |||
da47782b77 | |||
4685de88a7 | |||
0c28ac4907 | |||
ae2d707c68 | |||
00a28193a0 | |||
ea1818284b | |||
d83efecc94 | |||
9a9fb37a78 | |||
b6dc6c6984 | |||
517084b1fc | |||
27763e6898 | |||
57dde1da38 | |||
0bb961767c | |||
88515ce677 | |||
00562e840c | |||
b7927ba386 | |||
9c363ff045 | |||
1dbce5e3e2 | |||
361a9ca1be | |||
cde6514839 | |||
507e2f727e | |||
8028499d2b | |||
c2c79c4a87 | |||
d56f7f3390 | |||
ef70d17194 | |||
9789b9a083 | |||
e6311fdb13 | |||
2231c54dee | |||
20de9a5e35 | |||
ec3a6d7097 | |||
9d99bf5af8 | |||
52911cc9fd | |||
6f71ba376d | |||
9f439aabba | |||
33ad60b1f3 | |||
010d3f8281 | |||
e27c4bf1b9 | |||
11cfc58ffc | |||
91f38a8ddd | |||
b56fed8ed5 | |||
4a93dadc1c | |||
3a5f55c471 | |||
2919e37586 | |||
077bdbfdef | |||
61ac024127 | |||
8db8d3f39e | |||
e7032363d7 | |||
8a9dc26419 | |||
022f5a18c8 | |||
eae4b2f2e9 | |||
d285452dec | |||
aced183a66 | |||
77b150c53b | |||
9b2ddfea5f | |||
bf2bdaa6ff | |||
42525bb12a | |||
bc243c1ea3 | |||
a2517d1a1d | |||
c0a60260c2 | |||
3654f247c4 | |||
c4ddfef2ed | |||
28086111e1 | |||
60c9a6528f | |||
47d4dcfdf5 | |||
eb8d1211ba | |||
495aad6a2d | |||
77676d18c8 | |||
68d90caab7 | |||
31fc43ed16 | |||
31802c9749 | |||
192aa89f95 | |||
b0a0faff7e | |||
b67f3438e9 | |||
02e4929a97 | |||
fcc6a65e08 | |||
f4ae939124 | |||
664acb2d0e | |||
e6e7cecdb6 | |||
563d604812 | |||
012d744f4c | |||
d4c7ca76ac | |||
1a6aae944f | |||
71e0241c94 | |||
d838ef5b76 | |||
d90a5c9154 | |||
9b79a411e0 | |||
b8e0ec9edc | |||
57009057ae | |||
5db7b2e193 | |||
d994c84901 | |||
febfb97bb4 | |||
a6c5e62923 | |||
ac0390fec3 | |||
97b99867f2 | |||
a55d5516a6 | |||
b679163d01 | |||
76edcdbe45 | |||
d8d51519c4 | |||
3446969121 | |||
0e0c35a701 | |||
c9a6c9e20a | |||
3d2b982a94 | |||
6157d8331b | |||
3d0fc09fae | |||
b975751710 | |||
4530d40537 | |||
94e3ac9b72 | |||
e13fe97ebb | |||
4ad7632113 | |||
0709cac97f | |||
7dd4180fba | |||
558213490a | |||
78a69e3da8 | |||
140c78e5a7 | |||
a8e18e0e22 | |||
2a8bb23625 | |||
936a4d1bc4 | |||
69c34e8d00 | |||
1a2a190828 | |||
251cf1d76f | |||
52774bbe64 | |||
68a6758302 | |||
13e43a4f74 | |||
b7d62d09ec | |||
321ec18173 | |||
a44ac3306e | |||
951288ecf0 | |||
cc8a7dd588 | |||
813c52f51e | |||
be3298639d | |||
e8d2959717 | |||
e7680e08eb | |||
bd792d7661 | |||
4920983f23 | |||
2756f553c6 | |||
fc52e95ad0 | |||
5d1d6bc028 | |||
b106acac91 | |||
a5071db864 | |||
bae874eb45 | |||
60da17940d | |||
385eeed732 | |||
2e908758d8 | |||
a164f8ad95 | |||
372138dfea | |||
922a657c7e | |||
3409a51cca | |||
7174a55846 | |||
6656a59402 | |||
7612ead551 | |||
fa78fe665d | |||
c89aa7eb95 | |||
43f4c5b7cd | |||
2b6c566386 | |||
91ef328b6b | |||
5a9d9dc41d | |||
a48e503caa | |||
fe00cb9ad5 | |||
ed0fdaddbd | |||
893795a31d | |||
f1047f1ce5 | |||
9beddc941a | |||
3a6a01d2d6 | |||
e0e4bdbdbc | |||
b3daf79b6a | |||
81aa21915b | |||
5aadd80243 | |||
23350b1cbc | |||
daff0977cb | |||
c1e7d56ff8 | |||
61aef56f83 | |||
249f591403 | |||
36599c82d1 | |||
7615b1ea0a | |||
d8de9f8eba | |||
8c0e65ce6f | |||
9aa24c0552 | |||
47bf06f432 | |||
99d291c71b | |||
d51cafca74 | |||
7921f8cd43 | |||
1b8467d5e5 | |||
e13b2689b5 | |||
9c167acbd9 | |||
1bc531edbd | |||
b4d0db9202 | |||
bd2b681367 | |||
f0edf81cc4 | |||
e81ac05ba6 | |||
6279ce8f22 | |||
0fd20cf588 | |||
f2d55e7f60 | |||
963b0db3d3 | |||
aeca115a37 | |||
6f97142b59 | |||
b31d1ce61d | |||
b07cd37a16 | |||
69b74a46b9 | |||
882d829558 | |||
532821d503 | |||
522ce67498 | |||
0e046faf4a | |||
d9092dc81f | |||
92a4e90026 | |||
07dccad5b1 | |||
146b0d2889 | |||
388565fb10 | |||
da4ba51a74 | |||
1edcd136a4 | |||
9883c751da | |||
f78b28b995 | |||
54d40420ad | |||
ba1492f977 | |||
efd0368e56 | |||
a766a57af9 | |||
3bdd8a2d90 | |||
7ef1205f8b | |||
e8db63e788 | |||
0bcef2453c | |||
b9f549135c | |||
87b0017386 | |||
cc8ff556d4 | |||
021f74da54 | |||
f9389802d7 | |||
18dd172c97 | |||
1d5a54ff6f | |||
03e2c7eec6 | |||
0902727d1c | |||
496895634d | |||
9414e9e258 | |||
357528d139 | |||
c4efbdf4c7 | |||
fb4a921cd9 | |||
683b242215 | |||
a5660d6c82 | |||
f632ec50c1 | |||
a55d15214b | |||
f1709a2cc2 | |||
effa542958 | |||
e8bf742c87 | |||
2e6652edce | |||
230c204b48 | |||
3755c600b1 | |||
24513fc0a3 | |||
0a79a6564a | |||
562bb5842b | |||
ec3ca3032e | |||
890770c275 | |||
9ed58a1b4e | |||
08984be2fe | |||
e3ade148ca | |||
34c0eff89f | |||
40aba47a47 | |||
6736f51134 | |||
9d826d6e52 | |||
902d9bc7a5 | |||
b6c86e2845 | |||
34dffdfc8f | |||
a56f3f1d89 | |||
88dc4c83cb | |||
5a28dc0198 | |||
40d2650d49 | |||
545e83efb1 | |||
d4b00a5482 | |||
c2b1bbeec5 | |||
8c8f165a6e | |||
04553de230 | |||
2776934728 | |||
0064dbb010 | |||
d52e671adf | |||
6017dc2dff | |||
937f7cbd60 | |||
f8b3f66904 | |||
9d5701f35a | |||
dff65810c6 | |||
6752cf1d64 | |||
8336910a59 | |||
957a1149e0 | |||
e8719ff6e6 | |||
28b63298e5 | |||
dd4dee8095 | |||
c47818fed4 | |||
e53c383908 | |||
55c9c0436b | |||
66b79e5e24 | |||
514b830910 | |||
e4f799bf1d | |||
b383427d3d | |||
e969518139 | |||
113fe294bd | |||
a4d92f781f | |||
414cac49c3 | |||
95b157ac3e | |||
8e3d884081 | |||
9def6fcadd | |||
7837bd44fc | |||
a6c3663155 | |||
0b5afadbb8 | |||
43864f0da4 | |||
6a0d9d70ed | |||
63c6dce68e | |||
53422ffcb2 | |||
38ca514f53 | |||
caea0f0376 | |||
25a8b26977 | |||
bcaefe8d62 | |||
46f1e8c599 | |||
16230f320e | |||
ace6419aef | |||
77fb9eb2be | |||
aa7fc7c893 | |||
8fc170109f | |||
ad12d00d7e | |||
fa5ea45726 | |||
4b6c113251 | |||
3548290ff2 | |||
b165b90c40 | |||
4ffe9c908b | |||
a135f75e71 | |||
cbc61ba03d | |||
5aa58da918 | |||
b083430011 | |||
a8946b0404 | |||
0303bccc61 | |||
f3ce8564ea | |||
52c3f9e98c | |||
6c8b4184fe | |||
a0979f8435 | |||
faba21d003 | |||
d82c5dff71 | |||
59fbc5b054 | |||
2c1a7f4392 | |||
769e6182d8 | |||
88176a17a3 | |||
fc660e869f | |||
dc04869650 | |||
93c3f34813 | |||
1282eed192 | |||
962b3ca78e | |||
62d17c9266 | |||
f5b928a537 | |||
c8811894b5 | |||
e579b49228 | |||
9561908ad3 | |||
fac7ebf4f6 | |||
a0769d65e3 | |||
d17aa4b24e | |||
310371658b | |||
7ca073aafd | |||
7216d0fb1f | |||
22a9e950c7 | |||
6683d50bae | |||
8f26176273 | |||
9ea7d446e8 | |||
757312ba52 | |||
1675c473d4 | |||
3a3a5d4bfb | |||
4a41499c95 | |||
a1d1cb58e0 | |||
acb82fe7b6 | |||
b25df24cea | |||
39284eb9b2 | |||
31b0e552a2 | |||
c4a2a31cf3 | |||
4497ddb3f3 | |||
5e0eda9526 | |||
72b85fc09f | |||
6c27412c9c | |||
46bddfc9c2 | |||
56275bcfcb | |||
f35688bab8 | |||
93541f83c8 | |||
ea0d114833 | |||
7f6a3ec828 | |||
732804b6fa | |||
aba85b977d | |||
e6612f610c | |||
5a28632af7 | |||
4099db0d42 | |||
9d50a06d9c | |||
dd7bf9b2a3 | |||
c463284c2f | |||
c1d728a616 | |||
e43c9c0e21 | |||
15cac10d7b | |||
49958ca03f | |||
280dbe9853 | |||
bf964ee969 | |||
61dcd51888 | |||
5448c22031 | |||
27768081e2 | |||
c3140f57b9 | |||
7275bc6d3b | |||
485f2f460e | |||
336912e442 | |||
dd9c94e47e | |||
055863144d | |||
0bf602bae6 | |||
6fc28d1df7 | |||
2ef795aba8 | |||
1d2c50fc26 | |||
cef8aa5e7a | |||
edf3e75344 | |||
62835c6011 | |||
60fb22cb3c | |||
20dea3a793 | |||
aba37ae701 | |||
2c6e6275aa | |||
20ef362854 | |||
4692aa8d9b | |||
f7b6dc08f7 | |||
7dfe7005e0 | |||
b91de4ac12 | |||
d5205d7328 | |||
f44ce535fa | |||
7177fd27c8 | |||
cf304f88d4 | |||
dff1d84031 | |||
96bc17aa10 | |||
41ba06a5e6 | |||
d7ac0418d7 | |||
f4319a9c01 | |||
f4c4d53bbb | |||
0ed43e1bdf | |||
d25bd876cb | |||
b9782397c2 | |||
ea0abc9f71 | |||
27d16c6a12 | |||
ede70d354e | |||
66fa583f6e | |||
77bcb58f12 | |||
61036e3a70 | |||
bcd886c4f5 | |||
4d868aaf1f | |||
80ea747db6 | |||
960f29ce81 | |||
20ee57931f | |||
71ba72e796 | |||
9835945ee1 | |||
4f2d52697d | |||
46c258d77a | |||
3b5b3cf521 | |||
5e0bdd8a78 | |||
b299988bb5 | |||
e26bec6ab4 | |||
e9955e01d6 | |||
1974d8f58b | |||
08c0be11b2 | |||
87c7058494 | |||
b92addffa9 | |||
e8b49df842 | |||
18fd39b335 | |||
8a11322802 | |||
31929dad61 | |||
4a41d2fddc | |||
4c65b0cd6f | |||
3e89dc603d | |||
2a1def3cce | |||
938fe05fef | |||
5db5bbd1cd | |||
ba7e05837c | |||
9dd06a7621 | |||
2f4434b0d8 | |||
350328770b | |||
17e1b49bff | |||
266c31981d | |||
803fb0898a | |||
01983da514 | |||
6f473aa64a | |||
574747b9d4 | |||
dff1122bd5 | |||
43cb12930a | |||
8129d4dc23 | |||
9b780dff04 | |||
11a0ef485b | |||
83b2aa72b1 | |||
c71b24987d | |||
78d22dbd22 | |||
8961dab137 | |||
bcc549fd8e | |||
5a6c3fc11c | |||
7d730f676d | |||
6bda571660 | |||
d3c7129e1f | |||
3709ba95cd | |||
4162981081 | |||
7b7359fbdc | |||
70c01c52a8 | |||
443006c868 | |||
7c1db1fea5 | |||
7c2b704bef | |||
368c3f1e29 | |||
dd39d6ea37 | |||
ef618b2431 | |||
861302f0fd | |||
f014b7ae0e | |||
00b2d89f1a | |||
5410efe9ca | |||
1d814ba0e1 | |||
c107333f56 | |||
9595a56346 | |||
06707705bf | |||
68ee9a008e | |||
3a035c481e | |||
23a0aead9f | |||
6cd41f9860 | |||
baf861ac79 | |||
0ae1190c08 | |||
d3b3426ebe | |||
4982ea8f14 | |||
3be89e9702 | |||
4275af2324 | |||
84d42be090 | |||
c4c7783691 | |||
d6dba7fd71 | |||
30b1b1a5ed | |||
90b6688057 | |||
b536ee4dcd | |||
11101a6aca | |||
b4a3e5aa4f | |||
874c0eae6a | |||
9950b6fbc6 | |||
42d6ed62f6 | |||
c7e8c27ce6 | |||
67792fcb5e | |||
353fc18f19 | |||
cf9e8ed39e | |||
beb1b570d4 | |||
ba1b5a8ede | |||
99d8d0a484 | |||
5891135ac1 | |||
c4f7491322 | |||
206b57b962 | |||
1b0e03704e | |||
8b71006fbe | |||
8f2f4b6d2d | |||
6e0c055faf | |||
893a3b527d | |||
fe13c17fcb | |||
5049870b6e | |||
ce576dea8f | |||
ceda3dd72a | |||
014b58cb40 | |||
b4859be098 | |||
df54da9510 | |||
b97f788d71 | |||
edd1baa9f4 | |||
4a23ebe534 | |||
64c1075b06 | |||
217e4ee39c | |||
7e2a7cdff8 | |||
e1fb4f23f0 | |||
452fb8e496 | |||
6758b0f133 | |||
35e509850f | |||
0868c3517f | |||
1cd839215b | |||
42be09ad33 | |||
bcb7ee8d2a | |||
3a5867b324 | |||
efe2a6be14 | |||
11f30b0444 | |||
75558add17 | |||
ca91709801 | |||
45b905df6a | |||
32a0cd4b13 | |||
0b2571858f | |||
08eb3851da | |||
0bd0fb9fbf | |||
9beab05a30 | |||
3b3ef20e0a | |||
3441acf56c | |||
189f9f6592 | |||
6071fc7077 | |||
2f215ea34c | |||
c44c777976 | |||
7d2f0a1f31 | |||
15eca04bc4 | |||
238c6a428b | |||
110eeb89f1 | |||
278e43e9ba | |||
d55277e57e | |||
f53a93ea13 | |||
a3e37294e5 | |||
05baa89508 | |||
80aa45372a | |||
a91f95451a | |||
122ef23e0f | |||
cd9d67389a | |||
52d6ec2138 | |||
a5725c1d04 | |||
db8ad3c035 | |||
a0957f2e50 | |||
301b8f5e13 | |||
7f6bb75f95 | |||
9be47df10e | |||
bec014da4a | |||
cefecd7903 | |||
52cb043185 | |||
3a440dd116 | |||
8ae1039c77 | |||
190eb0601f | |||
84931003ea | |||
2b0cb6d728 | |||
4ea7e711ce | |||
2a50997a75 | |||
d692d531d1 | |||
e325410649 | |||
eea2b97ae5 | |||
6b53e9ed29 | |||
9ae3e7bdab | |||
3905129eae | |||
6b4e417cc7 | |||
3040700005 | |||
170b1bb4cc | |||
da1a238be3 | |||
9c106022ae | |||
bab1dc1d97 | |||
3b30ad5404 | |||
27268fd6b7 | |||
00f9c824d1 | |||
40e177fa96 | |||
2f72c38516 | |||
2dc4696b0a | |||
723d5baed5 | |||
341838b502 | |||
72efa278b3 | |||
5fe9f2baee | |||
c7ebf6f990 | |||
9bf9519b8f | |||
6c57690359 | |||
3a03010ee2 | |||
ba4dcc40da | |||
1b0601b421 | |||
e2bf0067b2 | |||
6d004fde7c | |||
f35547f3b8 | |||
c34a278533 | |||
6d3408ae73 | |||
a6e7bbc306 | |||
d140548784 | |||
76569bfb08 | |||
bbcdf1bb8a | |||
6439a6c63f | |||
76fe1c21c3 | |||
4f99b98ed8 | |||
7cb38f5525 | |||
734277d9f6 | |||
960d4e2e7b | |||
33eb91c0f0 | |||
6f1e47f0b3 | |||
0a8488a78c | |||
57ab640221 | |||
3c4682782c | |||
dc820ffba6 | |||
e4c745bccd | |||
a05c94437c | |||
fdcc994291 | |||
f54363076c | |||
ec016e5a95 | |||
bbdb2496a4 | |||
b515cc90e9 | |||
bb92158dff | |||
c652add16a | |||
b8a7468c4a | |||
e220ef3e75 | |||
4bb4903ee5 | |||
9487840ae3 | |||
7e3a8d56e6 | |||
e909eac296 | |||
8dc7f28744 | |||
a4b1e8ca26 | |||
79b0cc6785 | |||
00b134ce1e | |||
b3fc4dc00f | |||
d06fbbe3ea | |||
28bfb45426 | |||
1c60a49c96 | |||
3ae8ff083b | |||
c12ccb2a15 | |||
e3b1d00e4c | |||
98795aad9a | |||
ca26edbfce | |||
3058e8f354 | |||
4c9b66b0f0 | |||
6eb9ba31bf | |||
5bbf4187e6 | |||
f2425f71c2 | |||
b0e00da2f7 | |||
215472cd17 | |||
072fd4455e | |||
2ed9e26a4f | |||
8a3e26cdb8 | |||
7301671962 | |||
0d0f25818e | |||
7850d68dc2 | |||
f0f5b32300 | |||
1ca0976e85 | |||
7fbfd17896 | |||
3d04f7db62 | |||
e301630c9d | |||
afbccaae41 | |||
893c01c207 | |||
41c80097ce | |||
250933fff3 | |||
bc9454f67c | |||
377a7fdf3e | |||
645f661911 | |||
db7c83c8ff | |||
97385db5b5 | |||
c69d57a064 | |||
a488d6e2d6 | |||
85e8b1fbf4 | |||
78763116c3 | |||
103fe8b91d | |||
311e67047d | |||
62d41023e1 | |||
5fac7c1718 | |||
ade01139ca | |||
5ea8e9c787 | |||
e5cfdbf372 | |||
d2cc5c3b63 | |||
7cdd90db09 | |||
aad1b8c12e | |||
2519abdd39 | |||
e8d0568a11 | |||
031287aebd | |||
b24de13a37 | |||
c113fdc20e | |||
1af1638e2b | |||
8c62aafa97 | |||
4de62220e3 | |||
e5d9381503 | |||
5621113d1f | |||
d906d90010 | |||
b836528b51 | |||
4b191c7f68 | |||
f9f70d5df4 | |||
50b809784f | |||
54ce19bd56 | |||
71210595d2 | |||
085325e65f | |||
e4c0c8869e | |||
405f98d6d1 | |||
870ab3d3b6 | |||
9ac2913afc | |||
171651484a | |||
bfadb4026d | |||
3940a9a447 | |||
714446fb46 | |||
e806f33f9f | |||
65ee1711e5 | |||
ef92578555 | |||
0352fd0acd | |||
fffce73d3e | |||
717f66b4a6 | |||
7dcea49be7 | |||
7c91915e50 | |||
895e80d794 | |||
be5714a9f1 | |||
1ba8374292 | |||
94154a1aa2 | |||
5ae576bad1 | |||
f9e6c84d00 | |||
3ab5d2e0e1 | |||
b8f60527f6 | |||
a83c3557fc | |||
a45abf858f | |||
a82eeb7e92 | |||
3781f07c49 | |||
990bc976de | |||
ff2fc2267d | |||
ec50240a03 | |||
bf00b59339 | |||
456b01590b | |||
5eeec0becb | |||
e5fcb2aea0 | |||
d717b1d404 | |||
2334b41375 | |||
6f6974a6ae | |||
0854f2e180 | |||
a0f8c7e94e | |||
1f5e3040ed | |||
6128e62751 | |||
7c6088b2b4 | |||
9450e567c6 | |||
c9c2e36540 | |||
fbfd3a60ed | |||
9b386fd50e | |||
db5a404081 | |||
3bffe605f7 | |||
4e92eb55cd | |||
6667ddbc26 | |||
16e4bb7f79 | |||
821182cad5 | |||
b3730e3373 | |||
741efa1a9a | |||
de1a7b4364 | |||
85cd647946 | |||
da7d1938c9 | |||
5a795c4ab2 | |||
95d4937e16 | |||
6bbc6a80b2 | |||
79d2374d8e | |||
e4601962d0 | |||
4398651841 | |||
42cd7c8a75 | |||
501379c82c | |||
92b45d1a9d | |||
3330c3f548 | |||
3552b1c900 | |||
428d27a27b | |||
4f6e387d49 | |||
01c0253c89 | |||
76fcf122f9 | |||
926ad23033 | |||
b956d63c46 | |||
1970927b5e | |||
3995ae0957 | |||
c2a840fa19 | |||
c7a6321a08 | |||
0c42c54b7a | |||
8b775c85f6 | |||
5c14ff661f | |||
160c1a3022 | |||
7017d3ae07 | |||
5eca0a31f7 | |||
44d53488e0 | |||
d731c7da13 | |||
225544e985 | |||
e2f7e82cac | |||
0be7bf93d9 | |||
75f9e6bdf5 | |||
8f6ea13696 | |||
f434b3a875 | |||
70b980d463 | |||
a59cf87374 | |||
c9a9d5dbfd | |||
e0480f4e01 | |||
d8cfd8f56d | |||
593d3e2d55 | |||
a79901b441 | |||
4c526f2837 | |||
3c28dd92ec | |||
d09af4754a | |||
44ab6cbc39 | |||
6c42db7589 | |||
20dfd2faca | |||
13696a85ee | |||
4632eecb76 | |||
44a3df0acf | |||
4ab96251f5 | |||
b795379417 | |||
aa9ba31675 | |||
ad66c8478a | |||
4ec64b4c57 | |||
2f0b75a882 | |||
912ee60781 | |||
67dacb7725 | |||
82f1fc6cda | |||
4d24741d48 | |||
931f17c589 | |||
ff898b4c20 | |||
7b507c8480 | |||
bb688f78fc | |||
a2a31236f6 | |||
0b191b4d0e | |||
2e97f29411 | |||
eb1ad54427 | |||
e4974392e5 | |||
4e0d43b45a | |||
78c185a05a | |||
fa124abbe2 | |||
f4fa3f031e | |||
3cc7a99d0f | |||
8bf9e87117 | |||
97e8ac1d27 | |||
45fb2ecb3a | |||
d5e80caac8 | |||
7ceea61170 | |||
a3ce65ee28 | |||
d6b7a048e4 | |||
f7c8e31b36 | |||
26c327145f | |||
b7afd07d6a | |||
eaff52548f | |||
76828adc54 | |||
198b0b3de3 | |||
3cdee2732a | |||
27a7bb7229 | |||
cf38a6d0a0 | |||
02c88f9b3b | |||
3ac1077b36 | |||
2b4f6abc15 | |||
7bd24348d2 | |||
c49ae672f2 | |||
2eb2cc7880 | |||
f2f3d4beec | |||
3fd1ea900a | |||
c815d11ed2 | |||
350151ca5b | |||
4339f9af29 | |||
b44227948d | |||
5dc8c8846d | |||
e1bee8adf3 | |||
b9ef750321 | |||
e05c0e7d37 | |||
a3eb0ddc4f | |||
da6e71f2e0 | |||
09e08e829d | |||
1b78ae6290 | |||
97f5ba0bc5 | |||
8e29ccdc7f | |||
4e48214068 | |||
1bd128d507 | |||
bfc1f8a25d | |||
6369d79aaf | |||
2df2cf0983 | |||
c93fe423ea | |||
ecac2990eb | |||
a483af1b08 | |||
01584a6bf9 | |||
443f967611 | |||
bf931f2c82 | |||
5b32b900e4 | |||
0bdcb15b3b | |||
1b316ab98b | |||
4cd79dd530 | |||
c204e0518f | |||
129d74b463 | |||
533540031b | |||
5ea0ccea22 | |||
d2c12af085 | |||
55368c2c38 | |||
aa020eedc3 | |||
e0874069bd | |||
90c8568a3f | |||
d7cd3a05dd | |||
882c60ef10 | |||
59c4c9a0b8 | |||
4a57482216 | |||
6bbccedb2d | |||
fee629849e | |||
e9ebc5151d | |||
8a5c8e8e2e | |||
4000da6be8 | |||
977a4373c5 | |||
e559417cab | |||
f793478709 | |||
15c9d15b8d | |||
3c194142a8 | |||
81dbf64eb7 | |||
7e646f109c | |||
d94c060998 | |||
3d29b052ea | |||
875d793512 | |||
5cdd6521a2 | |||
1df9c1005f | |||
53481accf1 | |||
8fcf75f77c | |||
b1385de758 | |||
f8ba73bebf | |||
ff4cb3555b | |||
361af34956 | |||
11689e6d18 | |||
6ea0028e0e | |||
b39d12f01a | |||
f97c1276fe | |||
73375a2f43 | |||
b87a35b71c | |||
9db9067647 | |||
7053c3125e | |||
e89a63e88c | |||
1b13700ae2 | |||
b7c2fa0c0c | |||
df847ebd86 | |||
fa72856272 | |||
20921e91bf | |||
f597e7c4ae | |||
380651ba62 | |||
45f852b832 | |||
80bf1d4b38 | |||
6909add1ec | |||
d53d059480 | |||
22830965e3 | |||
fa07b3023c | |||
02568df664 | |||
57acfae786 | |||
949c113c7f | |||
6656c87024 | |||
16d7f4ff92 | |||
2145d928df | |||
463aa3f56b | |||
38b4265bce | |||
85c4fdfdb1 | |||
4edb2d9587 | |||
58be3393c3 | |||
c64d8aa90a | |||
0457cd0afc | |||
ee8abb3abb | |||
48516c2eb4 | |||
8a88c896da | |||
048b9c295e | |||
6b3e3eb129 | |||
46ecabc7cb | |||
cc7af0b331 | |||
af654ee92b | |||
5c8adb3935 | |||
794821a847 | |||
4afbdaa3ce | |||
4d98f4d022 | |||
bec63f1454 | |||
4e7b1537d7 | |||
8010ad53ba | |||
6acbde05c2 | |||
beaecd54ee | |||
f0af941cef | |||
ac5d798cde | |||
d2a7c56149 | |||
fc0d339c9d | |||
11303b5bec | |||
b5bcc23d5f | |||
7c92eb2a14 | |||
466cae524e | |||
620722cb55 | |||
160f424466 | |||
fa051df381 | |||
5bd0695b0e | |||
831adfd22e | |||
9b5031dc4f | |||
150c1340a7 | |||
82190d18c8 | |||
0887580132 | |||
48f50bb811 | |||
5d4c63edb3 | |||
df6456c80a | |||
81d5e8c301 | |||
c221bf585c | |||
cdac704836 | |||
c0e0efa050 | |||
2711f86a95 | |||
c21119bb09 | |||
7b172d0b33 | |||
b102b1b0e8 | |||
df4afb32e7 | |||
ed21254497 | |||
5505b2e7af | |||
5d93748ff5 | |||
abddea0443 | |||
9fc1cc5255 | |||
1aa274e10d | |||
deeb536613 | |||
66b64320f1 | |||
9df620a520 | |||
9851612acf | |||
075934eac2 | |||
7fe0fa22c3 | |||
41dc729d95 | |||
e2cb34f109 | |||
ed7b619634 | |||
d09050f13f | |||
dcc76ab4f2 | |||
e035d942b3 | |||
9eada028b8 | |||
1cac95ce8a | |||
b707a574d1 | |||
df40121e4c | |||
0f2c3dfd79 | |||
2c187460a0 | |||
a32a78b5ef | |||
80d7c9bdef | |||
bc6439a339 | |||
d93e60d4dd | |||
4ba43b69b6 | |||
02b9032587 | |||
8b6649b41f | |||
a5a25813d8 | |||
27ceae7406 | |||
5d75746681 | |||
51a6bc4fe1 | |||
94f866b7c8 | |||
95be55135e | |||
7c50d9f1e9 | |||
5d9bb44f1b | |||
b832323508 | |||
48ce86d633 | |||
b1e377dab0 | |||
4c17d488d3 | |||
73c585b9a2 | |||
a3377ff0ba | |||
0a17033551 | |||
12c13660ca | |||
3f1b85452b | |||
5776c52205 | |||
e7a36d6176 | |||
8d42e94e57 | |||
20386acf4e | |||
c92e25ce16 | |||
08599c887e | |||
90ccbd3834 | |||
0931681e8f | |||
0a0da355b9 | |||
b2ec82fba5 | |||
d62597c265 | |||
23d311b6ef | |||
7efdee9145 | |||
45429c9d6b | |||
45adea23b4 | |||
aaa8331733 | |||
501922ed9c | |||
652bb03087 | |||
f1e769e74d | |||
b2e4957bb8 | |||
cb6a4037f2 | |||
9740db8685 | |||
41784de9be | |||
208493ba13 | |||
9798a9bf15 | |||
1df8487d20 | |||
dbfbdfa3f3 | |||
27853e9d51 | |||
03b4fe18f3 | |||
1f32531e07 | |||
a1397bfdbc | |||
bcdb70f407 | |||
ef81a66cf0 | |||
186b0ea560 | |||
ff53b04f4c | |||
1ac9730c7d | |||
d66e2947de | |||
92ca9b1444 | |||
f34ae64ff5 | |||
9ca8383f39 | |||
9fdc884e51 | |||
eeb4772a3c | |||
769e1ed45b | |||
78207c8a4d | |||
7837949b1a | |||
14b16b4733 | |||
256c216dfb | |||
13cee2b4f5 | |||
eb45eeb1ae | |||
3154350b64 | |||
519c9c4499 | |||
c2f6b09969 | |||
c8e2b22942 | |||
f433182c4c | |||
957392aaae | |||
bd8d06e133 | |||
dce347a117 | |||
ef37e20555 | |||
c617b60f70 | |||
fe6243b7a0 | |||
f5e31de81d | |||
5c495ebf7c | |||
9dd64c67a3 | |||
018837db0b | |||
00d5fdfc13 | |||
2debb0c2ca | |||
148d6737cc | |||
c15cb8d28c | |||
1d5471db70 | |||
086b83c1fe | |||
c509e0b86c | |||
e8a1ad9823 | |||
6446b1cfb1 | |||
2b9216c441 | |||
28656a701f | |||
cd628eaf54 | |||
3d62bd8007 | |||
7ad9560f53 | |||
c135d02895 | |||
0757f67bde | |||
c5dc25cb9e | |||
0fcf422dec | |||
21e801a325 | |||
183faf3b2a | |||
9fc66a2d1e | |||
12cf598e6b | |||
dd6cd6332c | |||
5b9918538a | |||
b05ba5bd68 | |||
0afc7483f6 | |||
c069d01e4b | |||
070e5a3314 | |||
43b5a1e469 | |||
81bbf887e4 | |||
e0aa2ab2b6 | |||
f5000a0364 | |||
694ea9b5a0 | |||
d70bd44db7 | |||
c3cd499e8e | |||
20ee2118ee | |||
64c89a6d52 | |||
0a4a7bf64c | |||
1546160f6a | |||
dd77a6194e | |||
203fba0216 | |||
826a2466b7 | |||
273bc6507a | |||
2b13969b26 | |||
f879ea760a | |||
08d6269f90 | |||
f454473d6c | |||
2c347d7213 | |||
e6158838e0 | |||
974fe80245 | |||
2f10ff1a2e | |||
1f52aea193 | |||
9676723c85 | |||
9115629424 | |||
8f02716774 | |||
8feb5bd9a4 | |||
826542201e | |||
7ab1315008 | |||
662407f1ba | |||
679de41d8d | |||
89a97142c2 | |||
0a175fddba | |||
64d40b7e49 | |||
ac7e0d5973 | |||
f095951193 | |||
b93eab9cf7 | |||
0a0e76679e | |||
845f3436cc | |||
f6a8c8cf76 | |||
53298933e4 | |||
af61a7a17f | |||
667ad8fe96 | |||
e1cc2394fa | |||
e7cfae3ccb | |||
ebb03113ab | |||
04e1e48f17 | |||
b3a0fe823e | |||
c417e2f4a1 | |||
02a27a8b12 | |||
bd8897bcc8 | |||
d775e19059 | |||
35e7dca2bb | |||
e3896122df | |||
6c4ea5e087 | |||
54a1e500e2 | |||
450ed2c471 | |||
bf97fcb2fd | |||
4edeae07a0 | |||
8e19e4d33b | |||
2a774c9414 | |||
6f50ed327d | |||
a51d384f19 | |||
e2b2e4633a | |||
46ec773128 | |||
1827a65874 | |||
1b4dd64cbe | |||
95b7d84025 | |||
137b081b8a | |||
76af9bbda7 | |||
17ab07ae9c | |||
4c4d06e49b | |||
5d9ef68f14 | |||
4689cf5591 | |||
58e7edf08a | |||
9c6c281ac3 | |||
2326d6208b | |||
cd4be4116b | |||
6697ca243c | |||
15ce89a88d | |||
4b13278a41 | |||
e01167fcab | |||
719ff26e79 | |||
2657328ac1 | |||
4b7cef239e | |||
49d9e51f72 | |||
40a5f79d76 | |||
9cfd0b7351 | |||
2223ecf890 | |||
06bad9c501 | |||
a479e65f3e | |||
a2e99e46b9 | |||
07a27cfb9a | |||
77f3a0d3a9 | |||
f9065943c5 | |||
d0aff4409d | |||
84ea1fbd4d | |||
d1d92be09a | |||
52b23af97e | |||
b76cd18dea | |||
cd3b30bf5c | |||
b87ebc6f9d | |||
4d7d119524 | |||
b4b6e9548d | |||
ebf9cd18c8 | |||
b1ccbb2deb | |||
562cd6ad0b | |||
a832672b59 | |||
309058f209 | |||
2a344dfbd8 | |||
866d4cd59a | |||
165350cca6 | |||
8c21b8a9a6 | |||
41e3a9a004 | |||
4dc6ec5387 | |||
96515c4544 | |||
b3637b5e8a | |||
43bcdf397e | |||
22c5db7121 | |||
1c6a8f8691 | |||
31b5175bb0 | |||
9add59aca9 | |||
16c65173c1 | |||
4f6ae4633f | |||
8aa1577713 | |||
5bd41704ae | |||
4d0b335748 | |||
5692ae59a1 | |||
84f1ce866b | |||
e68c6175ce | |||
0de11c3636 | |||
1f70657d4a | |||
73646aac9b | |||
e72c590c6b | |||
06e026b346 | |||
5621d5725c | |||
14d0a07b29 | |||
105fefd114 | |||
f81c10fe62 | |||
86a2aa42a4 | |||
42f5c3fe22 | |||
975740464c | |||
c57bffb142 | |||
d92a2cdb55 | |||
5b91463233 | |||
39eed3378f | |||
cf98d40a44 | |||
7d6436c90e | |||
0acf3a8f6d | |||
8b7324c8d3 | |||
a0b0d5dff7 | |||
bef0e36665 | |||
766e721ff3 | |||
93ad4b359e | |||
b3032ad84d | |||
4f76acd249 | |||
fcc4b2c704 | |||
12286f4915 | |||
193abfdbac | |||
0e13481eb4 | |||
b713cac4f1 | |||
2137c894ef | |||
f0d2ce4f19 | |||
e3a89d302f | |||
d01d2ef65e | |||
23c550acba | |||
b9db88f616 | |||
dee4a18d48 | |||
fa5073b042 | |||
9dda698dc8 | |||
99d0930fba | |||
a599524b5f | |||
5f34758e87 | |||
cdb8e41176 | |||
d8f3e9d4a3 | |||
da900439a3 | |||
ad0273ab99 | |||
8bbff90aca | |||
fcb3ba9947 | |||
23b3e33df6 | |||
9edac2cd74 | |||
fbe0d70661 | |||
8782a64b18 | |||
d3b81c3e00 | |||
fd816afcd0 | |||
ac423f1ef4 | |||
f11ebafe47 | |||
7947036af9 | |||
b722431720 | |||
295563caad | |||
26735815f1 | |||
c06a52c237 | |||
5678adf3b5 | |||
ac772dd389 | |||
2c4de8475f | |||
46facaf176 | |||
eea1b7fc63 | |||
f0e9386cd0 | |||
e4a4238b57 | |||
55e126998a | |||
608a30d37b | |||
7d22d6255d | |||
4e55436339 | |||
3adadc8a52 | |||
b525af822c | |||
bee8a5b065 | |||
f4d80122b3 | |||
2e8ea34413 | |||
7341d97a00 | |||
964b34bd3b | |||
38e8d4bbea | |||
cb106e6fe4 | |||
61411605b8 | |||
0ac7682188 | |||
d7af18efbd | |||
64bb6daa43 | |||
0a1951f24c | |||
8bb388f62a | |||
ee36956451 | |||
f1a0e95489 | |||
de5d9470af | |||
a9838495ce | |||
d34c080822 | |||
59f55a8291 | |||
79ace6238a | |||
89e88802b9 | |||
c7f969a002 | |||
18b186068d | |||
037c67cbfb | |||
c3ccee9097 | |||
2449183f44 | |||
1c98226621 | |||
b405669672 | |||
53fbe675a7 | |||
6bcc174456 | |||
a3493c4f07 | |||
545ced7826 | |||
a9a476a0d5 | |||
8dfd35303c | |||
498ca306e4 | |||
5a46e08165 | |||
c0c57044cc | |||
42d00b96c6 | |||
072360947b | |||
d60ba8e37d | |||
c10cf60059 | |||
880689e28a | |||
ade7050996 | |||
71b5fae4d9 | |||
d398e87ea1 | |||
6256d021e6 | |||
405f242ff9 | |||
8823a6c1a1 | |||
65a82f32be | |||
fd593458a6 | |||
3985fe6b09 | |||
db71a5da62 | |||
d76e3e4853 | |||
eead9fad03 | |||
b498072f9d | |||
f56a961db2 | |||
5d224f4eac | |||
5b5edae11c | |||
bd51154c46 | |||
749a1ff8b6 | |||
b06d46f46f | |||
7146a534df | |||
ef51e591ee | |||
9d2f4d3ffb | |||
f7e0b196eb | |||
feb7e58912 | |||
fbf04392c9 | |||
e650818952 | |||
76fcb1af87 | |||
cce3e52642 | |||
8c762e7b8e | |||
f0dafa04a5 | |||
81f39b3b36 | |||
b162471d3e | |||
2736e8d6fa | |||
182f6f8faa | |||
ff34655221 | |||
f6ce6109f9 | |||
899ac15d88 | |||
7132f2062c | |||
96b354c7f2 | |||
715664a523 | |||
e8ddfb4bfe | |||
2a1229978e | |||
b8af3515cd | |||
f99e3f3d42 | |||
d6057bd830 | |||
975e57ec48 | |||
bd35965c99 | |||
1029bff5ff | |||
6c1893f869 | |||
0a89ba60bd | |||
c6e418a242 | |||
d9a6666ba8 | |||
ab849fbbef | |||
9d6b6053a6 | |||
ddfd64944d | |||
51153ed287 | |||
0e7bbd1b32 | |||
5049791d7f | |||
1ebcf8d915 | |||
e01873811a | |||
d078b871e1 | |||
c6375ae864 | |||
483467e32f | |||
c84d43bc5f | |||
fdd42fc2d7 | |||
8573e258f8 | |||
6943c7d2d8 | |||
4a42bf7b19 | |||
b982f97c05 | |||
d9207788d3 | |||
0ad48cc896 | |||
5e191a1f5b | |||
8069e44d0a | |||
0a83f0fd67 | |||
83c54fb6b9 | |||
5f6b0f689f | |||
1b0b96526b | |||
edb0469787 | |||
3256a0914e | |||
3c15182f24 | |||
f7bc5e3c0b | |||
19f327701d | |||
6b30e371a2 | |||
98fd6de5a1 | |||
6635f25abe | |||
5f93106eab | |||
84f2994d47 | |||
96f5c6d616 | |||
b67923abb9 | |||
310f7b3359 | |||
c743c45989 | |||
0322c51913 | |||
b85e27c7e5 | |||
aa351d1f7f | |||
6b48b79758 | |||
104ea7e277 | |||
97de1ed3a8 | |||
d69e9741da | |||
0f5c737c1a | |||
cb9960b0ac | |||
1404539895 | |||
2f901da58c | |||
3637c1bfbc | |||
28c3edc844 | |||
9271a8c066 | |||
7b16bfc736 | |||
54450033e4 | |||
fbf676d518 | |||
47df0bbec1 | |||
708f8b3cc3 | |||
9de163ab09 | |||
e21be29131 | |||
1aabb725d0 | |||
3e17c34187 | |||
d57de01d37 | |||
71918fdbf0 | |||
cb8663873d | |||
0f204eebe1 | |||
dec572a6b7 | |||
28848ba969 | |||
4cfcd37a2b | |||
2b0d5516d1 | |||
3e3c3c10ab | |||
3cc282db14 | |||
4c1c865ba9 | |||
9423c99427 | |||
d1512c90f1 | |||
85c9993106 | |||
1d580009e4 | |||
22ad21597a | |||
76d8f66eff | |||
febdf0cbee | |||
ba05606074 | |||
030fe8bec7 | |||
4587c5a512 | |||
96646e584b | |||
fb2879df9c | |||
26ea338e8e | |||
1fad5ed6f3 | |||
20db10516c | |||
00631f58ec | |||
35273e53bc | |||
bfc458e935 | |||
bb819d42f1 | |||
5d76439224 | |||
3d0b704af8 | |||
05539ffc7b | |||
c86deab69c | |||
21f8dbf2de | |||
6731f904f2 | |||
f6e74f529e | |||
c860a2f7f3 | |||
7b141722ae | |||
fc516ffb7f | |||
11604593a6 | |||
6f3468ccd2 | |||
e3be90503c | |||
22d38e0d24 | |||
8b654fb40a | |||
91cd9831bc | |||
805d72d42f | |||
0d4a1719a6 | |||
32ab57e11b | |||
5174e16f7b | |||
9b746f3eb5 | |||
becd038660 | |||
2a6cfec0e6 | |||
dfc6ef4be6 | |||
c8b45f4f42 | |||
09c57e6d03 | |||
5edb1da097 | |||
b3ad3a6535 | |||
3709bb23bc | |||
28be5c0b81 | |||
60ef74047a | |||
f81596c8d5 | |||
075b7e3060 | |||
cc7d6198ec | |||
5766c2ce1b | |||
03fed08c03 | |||
4662641feb | |||
00e2ce9489 | |||
c2ec81f93a | |||
47561a6f8b | |||
c81eb49f9e | |||
205c0d44d5 | |||
dc1bdbaaa5 | |||
d619a92a37 | |||
59ad529162 | |||
c4c44e04fd | |||
fae58a9ab0 | |||
fa03c172f2 | |||
89ac15b4de | |||
10d3b81251 | |||
71dceca225 | |||
40de631d95 | |||
6985c39874 | |||
0938ea3964 | |||
4b4c19b242 | |||
d8620187ec | |||
520849d070 | |||
b6a028a8ed | |||
7db799a0ac | |||
1ab776c867 | |||
f4c9f63548 | |||
08da9d70cd | |||
96173e5c0b | |||
b37cc70742 | |||
96ee4299c7 | |||
6072b02f12 | |||
6ccbca0741 | |||
360394fd5c | |||
dcb45aa953 | |||
a8fcc1aad9 | |||
4d69cd86f1 | |||
6e14e58b89 | |||
af5839bb59 | |||
a53e0d9f73 | |||
49921f2dcf | |||
70d2d61b9a | |||
9abaf80f6b | |||
25948fc3c9 | |||
6b947c2139 | |||
98acf919f1 | |||
c9c2853150 | |||
2bc708f8e6 | |||
874b8fc3c2 | |||
7d6aac3431 | |||
e2fc7decad | |||
21bed71f5e | |||
747a5694f8 | |||
479a0a2deb | |||
14aef6ec89 | |||
f0d2b3f449 | |||
3b974428fc | |||
580191fb17 | |||
be0cb88b6c | |||
95c4e4497e | |||
2ec445f83e | |||
51b915428e | |||
1395cf89ce | |||
2a8f984db7 | |||
decf2d396f | |||
f7964da899 | |||
c8607ff7b6 | |||
e9f8897fe2 | |||
e0b107a3a0 | |||
abf2c89931 | |||
1d3e6a7197 | |||
288bf195e9 | |||
7e3cc11cc4 | |||
4e07e94af0 | |||
9cb49c9204 | |||
580dd729e5 | |||
49ab77c86e | |||
f98914b9f1 | |||
f3f3599b28 | |||
f67b1beee4 | |||
8395d0f1ba | |||
af203bee93 | |||
760fb79dad | |||
ee9d4119c2 | |||
90027efcbf | |||
1848de1dc4 | |||
1c93fcb1c4 | |||
e3389e7899 | |||
454632d785 | |||
c9bca7dc85 | |||
710ba526fa | |||
aa47b6732d | |||
20f83420ca | |||
d09a68ef11 | |||
b545be5799 | |||
4fc377584f | |||
a5f09c90dd | |||
ba407c3eb0 | |||
d059d7f972 | |||
c03e2dfbc0 | |||
45c5e7b967 | |||
c81a94ff75 | |||
acc6f54557 | |||
8025b121af | |||
78ec06bda3 | |||
6ef83d9c59 | |||
fca4ceef21 | |||
00f979f0e6 | |||
556677be7a | |||
624fd093f2 | |||
2ee438dece | |||
534de24406 | |||
014edce1b9 | |||
ac1f3de4c6 | |||
dced228cb0 | |||
a92244cc12 | |||
0717688933 | |||
87d54b7d40 | |||
ed51f5c7de | |||
66e2db0d52 | |||
03be4826df | |||
c9d5aef04f | |||
106cb3fe3e | |||
48320f8536 | |||
1a0845dc0a | |||
185d09f3ed | |||
8e25fb6cb7 | |||
e88ce1746d | |||
b8aad35009 | |||
47bd485a39 | |||
ad869d7469 | |||
d15cce5337 | |||
37daff6d61 | |||
5417e40f59 | |||
0fed33bfdb | |||
5dddc75d09 | |||
081578c604 | |||
6c47bf5b76 | |||
936bb1bcd0 | |||
d5241d9a3e | |||
05b4430c92 | |||
292e911de2 | |||
1c4ba2c037 | |||
452db13d0c | |||
c3f64b395b | |||
3fa6bf93a4 | |||
a13d76bec5 | |||
05cee078d0 | |||
706d3f3f95 | |||
c5cf034b5d | |||
3a04aa93f9 | |||
838cdbedbd | |||
9e85291cd3 | |||
7f77517fc8 | |||
b2f288dcac | |||
52b59e9d7b | |||
80c74b1fa7 | |||
91811ea500 | |||
57150fd910 | |||
cddbbdf5d0 | |||
423dc2349b | |||
5229bbd55d | |||
28311b9a2b | |||
663d17a485 | |||
08d005dfd9 | |||
02edbc131b | |||
0556a2a2da | |||
65d943e42a | |||
3bcb344ecb | |||
82d721d60b | |||
48dc56e834 | |||
2c33bd6e31 | |||
b6524616bc | |||
7e2b70f912 | |||
4f071a66b6 | |||
39f2303429 | |||
cacf072027 | |||
6ab1fdfe1a | |||
6e5c93f926 | |||
1670737075 | |||
fee235c4e4 | |||
7a39d489f2 | |||
7c634218d1 | |||
2704c5be73 | |||
489b51ba9f | |||
21807c29f1 | |||
3bc62fe3eb | |||
ba0e3c4a5f | |||
9ec1fb5e37 | |||
d708409462 | |||
07d05d4f86 | |||
bbdb2ebb40 | |||
f7908ba098 | |||
f2fda3075e | |||
1338a68979 | |||
e7da505fb3 | |||
5a9228372f | |||
c4a6ba9097 | |||
d5871b408b | |||
7b3338e373 | |||
d18ee12d2f | |||
ca9cc97940 | |||
a70070ac7d | |||
069d99b320 | |||
37d350dcad | |||
8653e09b59 | |||
7cd2d59576 | |||
a0839de38f | |||
b7c5c71c6f | |||
adab0adbdd | |||
2faa58928f | |||
ffb80efe21 | |||
6f959218ef | |||
be1125dcb9 | |||
9ab34c2301 | |||
0166d81d9e | |||
0b26efbd2f | |||
2cbaedf946 | |||
b66924fbe8 | |||
8c91148954 | |||
be0eff3dda | |||
85903ac9c6 | |||
dbdd778dc7 | |||
fc50dfd8d5 | |||
f444e132ee | |||
68f562c323 | |||
820ea69613 | |||
6f4b3853a1 | |||
a706ad0e80 | |||
820116affc | |||
52650342be | |||
85ddabdc65 | |||
0730cc4fa4 | |||
17b6ab0ef0 | |||
4e208b85bb | |||
00f8b29f6d | |||
9cf0fcadb1 | |||
c595efeead | |||
b56c6793a1 | |||
ebceffba1e | |||
3ae42d9b85 | |||
796237b3c6 | |||
cb7a97ee4c | |||
0cf758b6d1 | |||
d28fca320e | |||
8bd17703c3 | |||
a78eebc43f | |||
79fb5246df | |||
458b8c78dc | |||
64e0cbd6fc | |||
7fe937026b | |||
656cec65b9 | |||
8045bbff1c | |||
c1a7a21746 | |||
f3ee63fcbe | |||
7645c212a3 | |||
8b38e2ea58 | |||
c9eb6a8919 | |||
9a41fd4734 | |||
70d96ee076 | |||
3b6fb3959b | |||
484d705320 | |||
786031be66 | |||
bc0027ce43 | |||
3e7c6d9bdc | |||
5463e3e55e | |||
84a880086e | |||
89419b7136 | |||
9106ec74f7 | |||
ebf9a0921d | |||
c237f49016 | |||
709290d2da | |||
eb3180f3b6 | |||
681997509c | |||
79ff5888fd | |||
9ee9cf8d81 | |||
ee3c0f6f18 | |||
9dd463bff4 | |||
df297d0031 | |||
d18d1cb958 | |||
5bc0570888 | |||
8b43d75eaf | |||
89b37bd73d | |||
69f246ce7f | |||
6a97f0b7f6 | |||
d885b872f3 | |||
125849673a | |||
30c53e9ee0 | |||
981fb9e8f3 | |||
9fac22d880 | |||
b8f034064a | |||
6068227434 | |||
69cda49c88 | |||
039d821d20 | |||
44d93bc408 | |||
cfa76ac6f9 | |||
0ec2d16522 | |||
6bcac1fe14 | |||
bc9427d000 | |||
07c043361e | |||
e676a9a501 | |||
09e654c6d2 | |||
549cb1ba87 | |||
c633827e5e | |||
08142ead67 | |||
638d81b66e | |||
4c83c2f64d | |||
bf56f90fdc | |||
d8412aad7a | |||
c136741710 | |||
4fe8454da0 | |||
3f2161dadd | |||
3db516aa1a | |||
367bbbe605 | |||
5b70ff561c | |||
4486527e5d | |||
147e23d332 | |||
ee20e6950e | |||
1d217154ef | |||
27d304a1ab | |||
1d1a373ca8 | |||
bca3c6f8bf | |||
d83d661535 | |||
e16906afc3 | |||
a6dc0f3684 | |||
6120474548 | |||
121dd86299 | |||
5251d9f668 | |||
7ae3f569de | |||
142ebead59 | |||
e196086c64 | |||
8c6ed98505 | |||
98a2953c9c | |||
61d224695b | |||
6967def6c8 | |||
393c6aa79a | |||
fc05540404 | |||
1c589c7c18 | |||
284df27435 | |||
68c0600a5c | |||
b8163bd0e1 | |||
8c25b9dfad | |||
bf34f67583 | |||
0c63f410d6 | |||
069077ace4 | |||
5be947ea4d | |||
b41ffa75b7 | |||
cd80e02ebf | |||
dffcefb81f | |||
48df08d4dc | |||
4de9a08e55 | |||
3f46b5259b | |||
2faa8ea97c | |||
514690cf18 | |||
f4f78c1898 | |||
2d24befb15 | |||
184d88838c | |||
4490503d59 | |||
99750435ae | |||
fae920e578 | |||
0243b6d13b | |||
12bc725d68 | |||
b1a7b781ec | |||
7e1cad3e12 | |||
fd3f4c37a0 | |||
3acd2e0f0c | |||
b1b5a795c8 | |||
197e2c8377 | |||
fb8b0c291d | |||
706d47ec32 | |||
4eab2b3654 | |||
0a78f560e0 | |||
f6f79fb388 | |||
34235d4d44 | |||
21842ec190 | |||
026e1cc7e7 | |||
c65f4eebaf | |||
17baf8770a | |||
01f60edb17 | |||
15b11e59f4 | |||
a2db4db963 | |||
e87b9cc019 | |||
54cb94db1d | |||
1de8e1eeb1 | |||
1d8fb65959 | |||
28482627f7 | |||
4ee7df887d | |||
b040571fa8 | |||
fbd5e4bab8 | |||
498bdd1cd0 | |||
102cca8971 | |||
e710ad4c5f | |||
f64f6fd603 | |||
5995020c64 | |||
2dc86ec1ac | |||
d50bcbdb23 | |||
19afd0ba61 | |||
7a787fa95c | |||
4e85eb90cb | |||
d4474b953e | |||
0aaf3d7bd7 | |||
02bb2423af | |||
e9b25f17af | |||
96671c5c7e | |||
4fc786f062 | |||
51c0cca4ff | |||
bd344628f6 | |||
48deb35d4b | |||
f9792f0d5c | |||
0157033104 | |||
596f92cfcc | |||
b2dedf7f98 | |||
34393ef89f | |||
7e11cd3b99 | |||
dd1622296d | |||
77cb59a6ac | |||
a2b60e38a3 | |||
f0570bf111 | |||
b980164318 | |||
3e7ff586a5 | |||
923bbcbf6b | |||
8cc85931d6 | |||
b25522a091 | |||
97ae7e9ef4 | |||
d25bd65722 | |||
f4f98c25f7 | |||
336607568f | |||
e2843a5ce4 | |||
702875a78e | |||
0fa8c6afd2 | |||
96571866a3 | |||
f72b00bec7 | |||
1e7b5a0a98 | |||
9f09afc824 | |||
93b599dc8e | |||
1c722494de | |||
a464c8d1d0 | |||
51362e9a52 | |||
3c086fe8c7 | |||
f3b1248bd8 | |||
4e529ee7d0 | |||
a2b975a493 | |||
13055d1496 | |||
78b5af4e4f | |||
008432e156 | |||
d3d50b2f79 | |||
eefeb4c268 | |||
86d4f1981c | |||
7a8e97972c | |||
3555213155 | |||
5d3d8dffd6 | |||
dea8688c9d | |||
a235869cfa | |||
a8434b3bc5 | |||
f110b2b320 | |||
0543cffe00 | |||
0383cbe43f | |||
9dd1203583 | |||
4eeeaffdee | |||
6f73f3d7a1 | |||
aa9cd211dd | |||
3cdf4f01f8 | |||
d0f84643d8 | |||
89707ad436 | |||
163d81c1b0 | |||
81a7213583 | |||
8f92a07d68 | |||
31b30e3dd2 | |||
0a1ac12d97 | |||
e800104ac4 | |||
05cb94eb77 | |||
51499e04e0 | |||
0c993ef851 | |||
b27fced30d | |||
2b7da9d98c | |||
cd66f86f08 | |||
a2e7cab573 | |||
f81f7d51c5 | |||
7fb640e38f | |||
c7561be15f | |||
741c81bca9 | |||
1e38528716 | |||
58b3be438a | |||
4522568749 | |||
719f9c8c02 | |||
fe891da886 | |||
95b6684cfd | |||
66836836ab | |||
0db48c778f | |||
13a2f9373c | |||
ae4d504392 | |||
85d240625d | |||
db646b0ad9 | |||
2570d50957 | |||
7faecaadcf | |||
dcbcb18081 | |||
f1a61a268e | |||
d7636355a1 | |||
ed2993b3f2 | |||
1368c9d182 | |||
c5e3c07c16 | |||
f8395166af | |||
dc8f4c8d6a | |||
ed4860dfd9 | |||
5b0bf98b3c | |||
adffac1000 | |||
3a1672b061 | |||
e7658be6cd | |||
63533ad9c8 | |||
34b431fa1d | |||
958802dbe0 | |||
8681259597 | |||
f3d76c06db | |||
3f32a9bfff | |||
c497149765 | |||
9159613f2f | |||
70e95a5cdb | |||
b0f82749aa | |||
20c0690352 | |||
006ecec443 | |||
effcf0a609 | |||
3852d0b2c3 | |||
ec67590dbe | |||
65d0dbb7d8 | |||
f8af57dffb | |||
2b058be3aa | |||
67efd30553 | |||
8d1fdc5aa4 | |||
d033103163 | |||
53dff28a21 | |||
53c37036ee | |||
133c879a3a | |||
a105faeaae | |||
13404310a7 | |||
2373b114bf | |||
5bfc6b6547 | |||
8026a609bb | |||
10db61a0d2 | |||
40520f3997 | |||
c1d59716d1 | |||
d8698743a1 | |||
ade5055bc3 | |||
6e343d50f1 | |||
ce3f735654 | |||
9b5e623130 | |||
f0b0c5b540 | |||
dd2207d430 | |||
ffd6ac2434 | |||
27f93cc112 | |||
7ee88a69ec | |||
227798300f | |||
2ab8a5bc0a | |||
c222b9ae94 | |||
53a0f3c794 | |||
9ff349c548 | |||
37a360efd9 | |||
3a850823a9 | |||
4da53b7382 | |||
cb6f94735f | |||
c073a20969 | |||
6dc8a385ee | |||
f299c050b8 | |||
eed540a51c | |||
5db72c4d71 | |||
fc0bbfa759 | |||
6d63c81dd5 | |||
bea42924cb | |||
b48ef68c12 | |||
65109d140b | |||
0935bd4bd4 | |||
45bee7cc2f | |||
1c86a4bc26 | |||
b385cf2a9f | |||
40d3dc454d | |||
8e92848495 | |||
2d94a22a30 | |||
7a5a091c25 | |||
2baf810c71 | |||
d1ecef13ef | |||
495fa553ad | |||
854e649ea6 | |||
c047324b42 | |||
daac865c72 | |||
63d059b8d1 | |||
e3075a0dc7 | |||
6b6e597b95 | |||
eb0eadad5e | |||
f600fee16d | |||
7b88c54aa6 | |||
623dd57cc3 | |||
f6edd33adb | |||
ac20d73222 | |||
c59374d79d | |||
0d478046de | |||
f3479d1b98 | |||
2fdecb8a38 | |||
a95c3ee557 | |||
67c439c70a | |||
b96037cffa | |||
ebd8d34552 | |||
a653d9a83e | |||
07d6894c42 | |||
03588b3fd6 | |||
2e83440e70 | |||
2633873fcc | |||
5f33713f53 | |||
fe84c5010c | |||
7f39df0713 | |||
928d359dd2 | |||
184eb00133 | |||
e264a49b08 | |||
8caf853c80 | |||
b451c04787 | |||
1653977392 | |||
a0d9def98a | |||
92701e5cec | |||
0b6b6a4f2f | |||
3a2dc95850 | |||
163cf49f16 | |||
37fc3103f6 | |||
b7bd1ff69f | |||
dc36134f10 | |||
fea8821091 | |||
33faf40aca | |||
4410f8d7f7 | |||
3e6029e69d | |||
96c7707e6c | |||
d8e545db3c | |||
a9a6ba0aed | |||
a898c6ceab | |||
0205c5c2d7 | |||
f8074ab74b | |||
f15c491d5f | |||
c38a32dee9 | |||
4f5abed70d | |||
c9ac9923df | |||
bb14895fd8 | |||
6f92d601ec | |||
345143b0c1 | |||
dc80d5d376 | |||
d3544f9637 | |||
864b6ad1bd | |||
c58027e521 | |||
10fb399588 | |||
10f466c895 | |||
32068b4bcc | |||
381f2b7fdf | |||
1c3c733c6b | |||
8bc5febe66 | |||
20335e23f9 | |||
9dbc9115c9 | |||
fe707f88a4 | |||
9b23ebd4a3 | |||
bea450cc2c | |||
e80709f7aa | |||
cb71f92f42 | |||
2ca5348560 | |||
c8e98fdf8e | |||
0bfa041026 | |||
33bf474a1e | |||
53c559c001 | |||
1c99ef454b | |||
cf4cecd4df | |||
6a8835b923 | |||
f2b1cf92e1 | |||
6b79618e74 | |||
3db414add4 | |||
9ef641b403 | |||
6fa7819a44 | |||
59a1b9adbe | |||
3fbc7094f6 | |||
56c6227bc2 | |||
ee82f99f5a | |||
72d9a46156 | |||
683a85ecc0 | |||
89047fd66d | |||
789de130a2 | |||
46c026ce70 | |||
82290f6e4e | |||
8729525f95 | |||
df0115ffe8 | |||
0275b4fc9e | |||
9982fd71ba | |||
081060b7db | |||
0de64f1fc7 | |||
f0508c0a90 | |||
b51ae1dfaa | |||
6e7233d41b | |||
8ca27a4480 | |||
418041a56e | |||
17d20f5a18 | |||
77d2d84e05 | |||
3bde4285eb | |||
15efbfb244 | |||
55a57db958 | |||
91f624c900 | |||
d753489e49 | |||
36dd7c82db | |||
b00db74216 | |||
cf9f85eb2a | |||
bfa8414289 | |||
58dc9c9544 | |||
ba95ce18a8 | |||
ac10c40f31 | |||
de8b40c80f | |||
60fe69728d | |||
557607e842 | |||
40ac9de728 | |||
a725cd1946 | |||
b648706756 | |||
20f2e9fc6d | |||
858ced0a53 | |||
c9ca8f777f | |||
0d0be31527 | |||
96305a088c | |||
22e30b44b9 | |||
48d0e2fa5f | |||
0489291815 | |||
7a412500e1 | |||
dffaa72a88 | |||
152d61f906 | |||
b44ded5fc9 | |||
99d77cc843 | |||
bc385eec2d | |||
2c6b9403b3 | |||
89cdc59fe5 | |||
3e04e1ccea | |||
25f491a65f | |||
7fdde157e0 | |||
27f30a449a | |||
dc66a0cd66 | |||
f302ecd1e2 | |||
1afc2a227a | |||
ab594d1dfe | |||
647d32f506 | |||
1bc109b42c | |||
6e02e2a6b3 | |||
3372baad6c | |||
e9b3e3877a | |||
c84c5fbae7 | |||
2e7ab91f48 | |||
92c41c003a | |||
53688cdcdc | |||
70f864ea8b | |||
5dd94e551a | |||
afc1ed9897 | |||
df7562f98d | |||
1c7e799164 | |||
107a3f99f4 | |||
7e3cf4b4ad | |||
afdb23ff57 | |||
0ce64f8c33 | |||
2cd6ccb85c | |||
3dcf5374c2 | |||
1c7d5f3f64 | |||
bb0cb0a866 | |||
362dc29057 | |||
8af0218e4c | |||
09af9968b5 | |||
7d0b819c5a | |||
4bbb7eded3 | |||
72ea9e5522 | |||
743e5d947d | |||
f257853906 | |||
32983d3829 | |||
bdef33e88d | |||
a4a4194586 | |||
e36c538dc0 | |||
982a218bf2 | |||
f7aeca4c7c | |||
4b81bc864f | |||
a52cc62c04 | |||
81f69bff9e | |||
d9b2aa1880 | |||
3bddd986a0 | |||
d00712d817 | |||
d756fdbebf | |||
b2f2c74605 | |||
1407cd71b5 | |||
3dd3a7238d | |||
afc834ae4b | |||
357f190ce3 | |||
ab92762320 | |||
04942c8477 | |||
9c60f51e0d | |||
956ae2ac46 | |||
f2ed813337 | |||
7d9a7d1a3c | |||
2f67b6fb47 | |||
7444dde93e | |||
e62fad7bc6 | |||
2c6bad2501 | |||
6952bb2eca | |||
610972dbde | |||
926049055a | |||
db5f6b60df | |||
7be7b9d9fd | |||
366855c4cc | |||
e950beeeab | |||
5515b39f6c | |||
f5d0599e4d | |||
8fd7914f0f | |||
24ef98eb01 | |||
b3dd6cf001 | |||
6d4b474cb1 | |||
0a8876a3ae | |||
9a83a48331 | |||
7ed50b90bd | |||
b6fd5d7282 | |||
33243e7176 | |||
e8439679a5 | |||
06124dbbd5 | |||
857940f402 | |||
bcb04924ff | |||
2b6aeb9ebc | |||
648e4538fb | |||
cd4b3777da | |||
4acf506b7e | |||
543ca348bc | |||
03375412f1 | |||
0c7a9b6827 | |||
c54bc3c176 | |||
90973bedf4 | |||
757f70162e | |||
3047410b35 | |||
9d0d4c5eae | |||
cab5b4d601 | |||
517b6e25d9 | |||
94d394c29e | |||
a52099d175 | |||
f1cb7b862d | |||
0863e5d379 | |||
55dcd25df1 | |||
f3155ea180 | |||
2c5162671c | |||
fc8aeb5a66 | |||
995cf503eb | |||
0e49c11a4c | |||
0367c37b0a | |||
e0b9fe5e5d | |||
a4726e683b | |||
3b10e93efe | |||
02b07c1b5b | |||
5e54751bd4 | |||
34f1dc238d | |||
3c0f4bdf35 | |||
a68d370ad0 | |||
debb27ed30 | |||
97fbb857fb | |||
93f13ffc8e | |||
4d9dc93d46 | |||
22cd4c5d16 | |||
6883994b22 | |||
852a312753 | |||
afea0baaa8 | |||
2c477660a0 | |||
16a1cd3c9d | |||
db23dd2e01 | |||
eaa1ded5ba | |||
393e14196a | |||
8b005307ea | |||
c915ac0e72 | |||
1752bb896e | |||
9c8fa026f3 | |||
e93db6324a | |||
a10708bffa | |||
e65a7a142f | |||
72e0b2d470 | |||
43fb0f36a7 | |||
cf3533221b | |||
de522ebe14 | |||
2ace891dde | |||
e212d9f991 | |||
739f3f84d0 | |||
5e206c86be | |||
1ab37011ea | |||
b6e02f63cd | |||
60e10d4efa | |||
95ba7e43b1 | |||
9e5a2e5b17 | |||
dbbc416095 | |||
a479ad357c | |||
b1c12abb7c | |||
17d1a1d7bd | |||
ba50156a83 | |||
eb83ab41c0 | |||
4e6a917dab | |||
8c4f0d4589 | |||
3f7738204e | |||
e251a9b9fe | |||
01d43b9683 | |||
4d4a0c89a8 | |||
0a5524e9c8 | |||
c8fb5746b3 | |||
bbcc132978 | |||
d3e4f84285 | |||
62c470cf75 | |||
8ab31d3765 | |||
55fe1cf0a8 | |||
00cff51ff7 | |||
d6bc4a7aa1 | |||
4e57d12aea | |||
4a2d99c43f | |||
217c27df86 | |||
e6dcd438b4 | |||
de2b0224d6 | |||
3f8a72eb88 | |||
0387176e8c | |||
aa34e332f4 | |||
d13999d689 | |||
22c4e92728 | |||
df8128c0b1 | |||
ec534a3704 | |||
366d4cd3e2 | |||
4841926df1 | |||
f2f7bdc5a9 | |||
fd811eb325 | |||
915d352505 | |||
1d1024c57a | |||
73df6e0347 | |||
e6d62c5a7b | |||
470e48c0a5 | |||
9235f72a2e | |||
9fe6da79b2 | |||
1858437eb1 | |||
c3ba0dcd32 | |||
70f4b13089 | |||
cc57a4b671 | |||
6902700458 | |||
b772041547 | |||
79174c1a19 | |||
898850027a | |||
0d272b1fb0 | |||
7993a9eb90 | |||
42d419970d | |||
ad49268d8b | |||
76c345396a | |||
5690ef1ebc | |||
5616404b4d | |||
f92137f6c2 | |||
ca3373ba4e | |||
4e6115b414 | |||
ddf47051c9 | |||
d45478510c | |||
2641f89349 | |||
9d46d03c37 | |||
25b6de88a9 | |||
a24046e46a | |||
7e803ff9a9 | |||
246cead2b1 | |||
214f7f06bb | |||
6878f73a9f | |||
336b45b6f7 | |||
2a0b62d26d | |||
653ec0cbb0 | |||
120ab3f0a3 | |||
8bcbbbc1a3 | |||
13a75abc91 | |||
eace740c63 | |||
cb3a54de00 | |||
5fbc77795d | |||
ce4feae731 | |||
08f00d4990 | |||
6951f7e74a | |||
2b4d63b1bb | |||
8cbb961493 | |||
64c795938d | |||
67df681a48 | |||
9285bcf8bb | |||
b9b23a4b54 | |||
2f6371b085 | |||
2a5c3475a7 | |||
8a2698a5db | |||
f6919a171a | |||
82ebf67456 | |||
a60c8b2ee8 | |||
0a2b8ccfb6 | |||
698094b787 | |||
b57e111ea8 | |||
aa6bf2b54e | |||
454910d295 | |||
d44e620769 | |||
ac14adfd3e | |||
928d30ee1e | |||
3dd9b0f347 | |||
c57dd083c5 | |||
2a1d6c5406 | |||
112e9f69bd | |||
d50e537888 | |||
86d14d30fa | |||
710d3689d3 | |||
3fee011369 | |||
7cd4b8ba4f | |||
31132de18b | |||
c6cb271f6f | |||
b7c4afd20c | |||
70395d200a | |||
562a5f66fc | |||
b2f8003602 | |||
b7b36973f7 | |||
f7d5f597f3 | |||
79c7712241 | |||
8f5f3985f4 | |||
ef30f36f55 | |||
4198497237 | |||
9b1612574e | |||
ca8a218144 | |||
db9c2913cf | |||
286674c2bb | |||
7c259185bc | |||
79ffbf95db | |||
6e347e4221 | |||
28ccb14166 | |||
389315e000 | |||
af00464f5b | |||
f522b3df91 | |||
168db6891f | |||
4a77548672 | |||
e9ec4a3b84 | |||
375b2bb284 | |||
b922277896 | |||
8f6f810dbd | |||
8f0c433e05 | |||
e332e3c248 | |||
2f90c38604 | |||
fa33d12bd7 | |||
86ab496fd6 | |||
ca0cb6fd42 | |||
be52779bbc | |||
23b64794a4 | |||
d5fed29df3 | |||
644bc985e7 | |||
5c1dc31131 | |||
31fae1caa6 | |||
9bc85ac511 | |||
69d6dc22b9 | |||
c4f81fc1a7 | |||
9a866766e0 | |||
eb7153acee | |||
f3d98da329 | |||
aac1c50a77 | |||
0619a27916 | |||
49ba56493f | |||
bf0dae8cc3 | |||
fbf77afde1 | |||
5159caa9ff | |||
5aef35f0b7 | |||
4db2843e7b | |||
a390e57dff | |||
8d70587814 | |||
6f3775de9d | |||
5a0a3050ae | |||
cbbf141846 | |||
43c2b00cf8 | |||
046ccd49ca | |||
e7df6f5c0e | |||
c67110835c | |||
4c97b847e7 | |||
cfa4f0fe0b | |||
9672343360 | |||
80fdfe54c4 | |||
7fcbe87591 | |||
e401ba9e25 | |||
35db61f1b4 | |||
6c72545fc8 | |||
70385ca670 | |||
a8e72d39f7 | |||
0bf54b3ff6 | |||
db657c2a62 | |||
01964f3926 | |||
bfd6bb0fda | |||
3fc70996e2 | |||
cb0874f15a | |||
9239e37b45 | |||
57d80932a4 | |||
8569970fbe | |||
713e9ad5f4 | |||
59e229d962 | |||
3c5f09cda2 | |||
e42aa2530d | |||
1fd298ac9c | |||
1a73f52541 | |||
27e458f884 | |||
ba3e2a9371 | |||
831e8f8583 | |||
0ff390ed80 | |||
e3b8495431 | |||
da10ba3fea | |||
cc7de853b4 | |||
23d8235197 | |||
37e3d60ade | |||
83a3426dd5 | |||
a2549192ca | |||
9d3a1cab6e | |||
06f8d8f0a3 | |||
fa66b79e2d | |||
81312f5a93 | |||
ad84901f39 | |||
d2385a0e52 | |||
39285fc2d0 | |||
6e491c1466 | |||
84152aa663 | |||
600fc65c2f | |||
40e2733424 | |||
bceb02d760 | |||
aaaaf2681a | |||
3c3ef9bba0 | |||
338f3a981f | |||
a86ae9fa50 | |||
a3c4e8a1bc | |||
6a7c18e8db | |||
672b7a4c3d | |||
bf3fee4481 | |||
a3c8d1d732 | |||
bb03d8c49a | |||
fbd5abe3b6 | |||
5ac390abe9 | |||
766cae2299 | |||
d9828fdc6a | |||
4114ce4a04 | |||
6090630260 | |||
259cfeae17 | |||
ebe15c4711 | |||
75a740a110 | |||
0c085c4f74 | |||
1d819e79db | |||
515b79dcf0 | |||
269e12abb4 | |||
cf5be6ff5a | |||
f140adbc9d | |||
6c31406bb0 | |||
b6e8626908 | |||
64a3a4915a | |||
fd71f24d46 | |||
65b5c6753f | |||
7408bbce37 | |||
0f58978c9f | |||
01ca3fd6b2 | |||
26c366156b | |||
9d8f7b081d | |||
9d8ebb795d | |||
8be98e4cb8 | |||
3c229c9950 | |||
f2263faf7d | |||
39c7cf3e66 | |||
5ee24e5c09 | |||
a34fdc2068 | |||
2c2cd893b8 | |||
a43b0548ed | |||
93e95f56f4 | |||
cb0673b1ec | |||
cd018db945 | |||
50fe67b99b | |||
1dba82aae5 | |||
17c6d64750 | |||
b4c04efa23 | |||
152dd74abf | |||
0985f7f609 | |||
aecf9329bd | |||
b2384605e7 | |||
57ab5ab604 | |||
e493a20301 | |||
0bd5ed937c | |||
6a9b3bc64e | |||
4c1ef3e6a5 | |||
2ea250f954 | |||
5d810980f8 | |||
d51b4e27cc | |||
c01c555309 | |||
ce2e66d9b0 | |||
9550acd61e | |||
d95b5daa6d | |||
56d571c0f0 | |||
dc9a19b9c7 | |||
88a2c7715a | |||
2fa8cb1b73 | |||
5f8a66fdb9 | |||
57320a94f9 | |||
89f045d624 | |||
1a77dea7ed | |||
532a7b90f3 | |||
4e8c200349 | |||
d063d59a91 |
3
.autogen/check_pr.jq
Normal file
@ -0,0 +1,3 @@
|
||||
.[]
|
||||
.head
|
||||
.label
|
2
.autogen/next_url.jq
Normal file
@ -0,0 +1,2 @@
|
||||
.links
|
||||
.next
|
39
.autogen/patreon.jq
Normal file
@ -0,0 +1,39 @@
|
||||
(
|
||||
.data |
|
||||
map(
|
||||
select(
|
||||
.relationships
|
||||
.currently_entitled_tiers
|
||||
.data[]
|
||||
)
|
||||
) |
|
||||
map(
|
||||
.relationships
|
||||
.user
|
||||
.data
|
||||
.id
|
||||
)
|
||||
) as $data |
|
||||
.included |
|
||||
map(
|
||||
select(
|
||||
.id as $id |
|
||||
$data |
|
||||
contains(
|
||||
[
|
||||
$id
|
||||
]
|
||||
)
|
||||
)
|
||||
) |
|
||||
map(
|
||||
.attributes |
|
||||
[
|
||||
.full_name,
|
||||
.thumb_url,
|
||||
.url
|
||||
] |
|
||||
@tsv
|
||||
) |
|
||||
.[] |
|
||||
@text
|
@ -2,10 +2,10 @@
|
||||
# __MISSKEY_BEARER_TOKEN=
|
||||
# __MISSKEY_CAMPAIGN_ID=
|
||||
# __MISSKEY_GITHUB_TOKEN=
|
||||
# __MISSKEY_HEAD=acid-chicken:patch-autogen
|
||||
# __MISSKEY_HEAD=syuilo:patch-autogen
|
||||
# __MISSKEY_REPO=syuilo/misskey
|
||||
# __MISSKEY_BRANCH=develop
|
||||
test "$(curl -LSs -w '\n' -- "https://api.github.com/repos/$REPO/pulls?access_token=$__MISSKEY_GITHUB_TOKEN" | jq -r '.[].head.label' | 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
|
||||
cd "$(dirname $0)/.." && \
|
||||
touch null.cache && \
|
||||
rm *.cache && \
|
||||
@ -30,12 +30,12 @@ while :
|
||||
touch patreon.cache && \
|
||||
rm patreon.cache && \
|
||||
cat patreon.raw.cache | \
|
||||
jq -r '(.data|map(select(.relationships.currently_entitled_tiers.data[]))|map(.relationships.user.data.id))as$data|.included|map(select(.id as$id|$data|contains([$id])))|map(.attributes|[.full_name,.thumb_url,.url]|@tsv)|.[]|@text' >> patreon.cache && \
|
||||
jq -r -f patreon.jq >> patreon.cache && \
|
||||
echo '<table><tr>' >> patreon.md.cache && \
|
||||
cat patreon.cache | \
|
||||
awk -F'\t' '{print $2,$1}' | \
|
||||
sed -e 's/ /\\" alt=\\"/' | \
|
||||
xargs -I% echo '<td><img src="%"></td>' >> patreon.md.cache && \
|
||||
xargs -I% echo '<td><img src="%" width="100"></td>' >> patreon.md.cache && \
|
||||
echo '</tr><tr>' >> patreon.md.cache && \
|
||||
cat patreon.cache | \
|
||||
awk -F'\t' '{print $3,$1}' | \
|
||||
@ -43,7 +43,7 @@ while :
|
||||
xargs -I% echo '<td><a href="%</a></td>' >> patreon.md.cache && \
|
||||
echo '</tr></table>' >> patreon.md.cache || \
|
||||
exit 1
|
||||
new_url="$(cat patreon.raw.cache | jq -r '.links.next')"
|
||||
new_url="$(cat patreon.raw.cache | jq -r -f next_url.jq)"
|
||||
test "$new_url" = 'null' && \
|
||||
break || \
|
||||
URL="$url"
|
@ -2,6 +2,11 @@ version: 2.1
|
||||
|
||||
executors:
|
||||
default:
|
||||
working_directory: /tmp/workspace
|
||||
docker:
|
||||
- image: misskey/ci:latest
|
||||
- image: circleci/mongo:latest
|
||||
with-redis:
|
||||
working_directory: /tmp/workspace
|
||||
docker:
|
||||
- image: misskey/ci:latest
|
||||
@ -11,41 +16,28 @@ executors:
|
||||
working_directory: /tmp/workspace
|
||||
docker:
|
||||
- image: docker:latest
|
||||
alpine:
|
||||
working_directory: /tmp/workspace
|
||||
docker:
|
||||
- image: alpine:latest
|
||||
|
||||
jobs:
|
||||
ok:
|
||||
executor: alpine
|
||||
steps:
|
||||
- run:
|
||||
name: OK
|
||||
command: |
|
||||
echo -e '\033[0;32mOK\033[0;39m'
|
||||
|
||||
build:
|
||||
executor: default
|
||||
steps:
|
||||
- checkout
|
||||
- run:
|
||||
name: Ensure package-lock.json
|
||||
name: Ensure yarn.lock
|
||||
command: |
|
||||
[ ! -e package-lock.json ] && echo '{}' > package-lock.json
|
||||
touch yarn.lock
|
||||
- restore_cache:
|
||||
name: Restore npm package caches
|
||||
keys:
|
||||
- npm-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-lock-{{ checksum "package-lock.json" }}-
|
||||
- npm-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-
|
||||
- npm-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-
|
||||
- npm-v1-arch-{{ arch }}-
|
||||
- npm-v1-
|
||||
- yarn-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-lock-{{ checksum "yarn.lock" }}
|
||||
- yarn-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-
|
||||
- yarn-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-
|
||||
- yarn-v1-arch-{{ arch }}-
|
||||
- yarn-v1-
|
||||
- run:
|
||||
name: Install Dependencies
|
||||
command: |
|
||||
npm install
|
||||
npm prune
|
||||
yarn install
|
||||
- run:
|
||||
name: Configure
|
||||
command: |
|
||||
@ -54,25 +46,26 @@ jobs:
|
||||
- run:
|
||||
name: Build
|
||||
command: |
|
||||
npm run build || (echo -e '\033[0;34mRebuild modules\033[0;39m' && ls -1A node_modules | grep '^[^@]' | xargs npm rebuild && ls -1A node_modules | grep '^@' | xargs -I%1 sh -c 'ls -1A node_modules/'%1' | xargs -P0 -I%2 npm rebuild node_modules/'%1'/%2' && npm run build)
|
||||
ls -1ARl node_modules > ls
|
||||
yarn build
|
||||
touch yarn.lock
|
||||
- save_cache:
|
||||
name: Cache npm packages
|
||||
key: npm-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-lock-{{ checksum "package-lock.json" }}-ls-{{ checksum "ls" }}
|
||||
key: yarn-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-lock-{{ checksum "yarn.lock" }}
|
||||
paths:
|
||||
- node_modules
|
||||
# - store_artifacts:
|
||||
# path: built
|
||||
- persist_to_workspace:
|
||||
root: .
|
||||
paths:
|
||||
- .
|
||||
test:
|
||||
parameters:
|
||||
without_redis:
|
||||
executor:
|
||||
type: string
|
||||
default: ""
|
||||
executor: default
|
||||
default: "default"
|
||||
without_redis:
|
||||
type: boolean
|
||||
default: false
|
||||
executor: <<parameters.executor>>
|
||||
steps:
|
||||
- attach_workspace:
|
||||
at: /tmp/workspace
|
||||
@ -88,19 +81,18 @@ jobs:
|
||||
- run:
|
||||
name: Test
|
||||
command: |
|
||||
npm run test || (npm rebuild && npm run test) || ((node-gyp configure && node-gyp build && npm run build || (echo -e '\033[0;34mRebuild modules\033[0;39m' && ls -1A node_modules | grep '^[^@]' | xargs npm rebuild && ls -1A node_modules | grep '^@' | xargs -I%1 sh -c 'ls -1A node_modules/'%1' | xargs -P0 -I%2 npm rebuild node_modules/'%1'/%2' && npm run build)) && npm run test)
|
||||
ls -1ARl node_modules > ls
|
||||
yarn test
|
||||
touch yarn.lock
|
||||
- save_cache:
|
||||
name: Cache npm packages
|
||||
key: npm-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-lock-{{ checksum "package-lock.json" }}-ls-{{ checksum "ls" }}
|
||||
key: yarn-v1-arch-{{ arch }}-env-{{ .Environment.variableName }}-package-{{ checksum "package.json" }}-lock-{{ checksum "yarn.lock" }}
|
||||
paths:
|
||||
- node_modules
|
||||
|
||||
docker:
|
||||
parameters:
|
||||
with_deploy:
|
||||
type: string
|
||||
default: ""
|
||||
type: boolean
|
||||
default: false
|
||||
executor: docker
|
||||
steps:
|
||||
- checkout
|
||||
@ -127,42 +119,76 @@ jobs:
|
||||
|
||||
workflows:
|
||||
version: 2
|
||||
build-and-test:
|
||||
nodejs:
|
||||
jobs:
|
||||
- ok:
|
||||
- hold:
|
||||
name: manual-build-trigger
|
||||
type: approval
|
||||
filters:
|
||||
branches:
|
||||
only:
|
||||
- l10n_develop
|
||||
- imgbot
|
||||
ignore: master
|
||||
- build:
|
||||
name: manual-build
|
||||
requires:
|
||||
- manual-build-trigger
|
||||
filters:
|
||||
branches:
|
||||
ignore:
|
||||
- l10n_develop
|
||||
- imgbot
|
||||
- test:
|
||||
requires:
|
||||
- build
|
||||
filters:
|
||||
branches:
|
||||
ignore:
|
||||
# - master
|
||||
- l10n_develop
|
||||
- imgbot
|
||||
- test:
|
||||
without_redis: "true"
|
||||
requires:
|
||||
- build
|
||||
ignore: master
|
||||
- build:
|
||||
name: auto-build
|
||||
filters:
|
||||
branches:
|
||||
only: master
|
||||
# - docker:
|
||||
# filters:
|
||||
# branches:
|
||||
# ignore: master
|
||||
- test:
|
||||
name: manual-test-with-redis
|
||||
executor: with-redis
|
||||
requires:
|
||||
- manual-build
|
||||
filters:
|
||||
branches:
|
||||
ignore: master
|
||||
- test:
|
||||
name: auto-test-without-redis
|
||||
executor: with-redis
|
||||
requires:
|
||||
- auto-build
|
||||
filters:
|
||||
branches:
|
||||
only: master
|
||||
- test:
|
||||
name: manual-test-with-redis
|
||||
without_redis: true
|
||||
requires:
|
||||
- manual-build
|
||||
filters:
|
||||
branches:
|
||||
ignore: master
|
||||
- test:
|
||||
name: auto-test-without-redis
|
||||
without_redis: true
|
||||
requires:
|
||||
- auto-build
|
||||
filters:
|
||||
branches:
|
||||
only: master
|
||||
docker:
|
||||
jobs:
|
||||
- hold:
|
||||
name: manual-build-trigger
|
||||
type: approval
|
||||
filters:
|
||||
branches:
|
||||
ignore: master
|
||||
- docker:
|
||||
with_deploy: "true"
|
||||
name: manual-build
|
||||
requires:
|
||||
- manual-build-trigger
|
||||
filters:
|
||||
branches:
|
||||
ignore: master
|
||||
- docker:
|
||||
name: auto-build
|
||||
with_deploy: true
|
||||
filters:
|
||||
branches:
|
||||
only: master
|
||||
|
@ -6,6 +6,8 @@ mongodb:
|
||||
db: misskey
|
||||
user: syuilo
|
||||
pass: ''
|
||||
drive:
|
||||
storage: 'db'
|
||||
redis:
|
||||
host: localhost
|
||||
port: 6379
|
||||
|
@ -6,6 +6,8 @@ mongodb:
|
||||
db: test-misskey
|
||||
user: admin
|
||||
pass: ''
|
||||
drive:
|
||||
storage: 'db'
|
||||
# __REDIS__
|
||||
redis:
|
||||
host: localhost
|
||||
|
5
.config/docker_example.env
Normal file
@ -0,0 +1,5 @@
|
||||
# db settings
|
||||
POSTGRES_PASSWORD="example-misskey-pass"
|
||||
POSTGRES_USER="example-misskey-user"
|
||||
POSTGRES_DB="misskey"
|
||||
|
@ -1,8 +1,16 @@
|
||||
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
# Misskey configuration
|
||||
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
# ┌─────┐
|
||||
#───┘ URL └─────────────────────────────────────────────────────
|
||||
|
||||
# Final accessible URL seen by a user.
|
||||
url: https://example.tld/
|
||||
|
||||
# ┌───────────────────────┐
|
||||
#───┘ Port and TLS settings └───────────────────────────────────
|
||||
|
||||
### Port and TLS settings ######################################
|
||||
#
|
||||
# Misskey supports two deployment options for public.
|
||||
#
|
||||
@ -34,24 +42,47 @@ url: https://example.tld/
|
||||
|
||||
# To use option 2, uncomment below lines.
|
||||
#port: 443
|
||||
#
|
||||
|
||||
#https:
|
||||
# # path for certification
|
||||
# key: /etc/letsencrypt/live/example.tld/privkey.pem
|
||||
# cert: /etc/letsencrypt/live/example.tld/fullchain.pem
|
||||
|
||||
################################################################
|
||||
# ┌──────────────────────────┐
|
||||
#───┘ PostgreSQL configuration └────────────────────────────────
|
||||
|
||||
|
||||
mongodb:
|
||||
db:
|
||||
host: localhost
|
||||
port: 27017
|
||||
port: 5432
|
||||
|
||||
# Database name
|
||||
db: misskey
|
||||
|
||||
# Auth
|
||||
user: example-misskey-user
|
||||
pass: example-misskey-pass
|
||||
|
||||
# ┌─────────────────────┐
|
||||
#───┘ Redis configuration └─────────────────────────────────────
|
||||
|
||||
redis:
|
||||
host: localhost
|
||||
port: 6379
|
||||
#pass: example-pass
|
||||
|
||||
# ┌─────────────────────────────┐
|
||||
#───┘ Elasticsearch configuration └─────────────────────────────
|
||||
|
||||
#elasticsearch:
|
||||
# host: localhost
|
||||
# port: 9200
|
||||
# pass: null
|
||||
|
||||
# ┌────────────────────────────────────┐
|
||||
#───┘ File storage (Drive) configuration └──────────────────────
|
||||
|
||||
drive:
|
||||
storage: 'db'
|
||||
storage: 'fs'
|
||||
|
||||
# OR
|
||||
|
||||
@ -88,42 +119,30 @@ drive:
|
||||
# accessKey: XXX
|
||||
# secretKey: YYY
|
||||
|
||||
# ┌───────────────┐
|
||||
#───┘ 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
|
||||
|
||||
id: 'aid'
|
||||
|
||||
# ┌─────────────────────┐
|
||||
#───┘ Other configuration └─────────────────────────────────────
|
||||
|
||||
# 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:
|
||||
# host: localhost
|
||||
# port: 9200
|
||||
# pass: null
|
||||
|
||||
# ServiceWorker
|
||||
#sw:
|
||||
# # Public key of VAPID
|
||||
# public_key: example-sw-public-key
|
||||
#
|
||||
# # Private key of VAPID
|
||||
# private_key: example-sw-private-key
|
||||
# Whether disable HSTS
|
||||
#disableHsts: true
|
||||
|
||||
# Clustering
|
||||
#clusterLimit: 1
|
||||
|
||||
# Summaly proxy
|
||||
#summalyProxy: "http://example.com"
|
||||
|
||||
# User recommendation
|
||||
#user_recommendation:
|
||||
# external: true
|
||||
# engine: http://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}}
|
||||
# timeout: 300000
|
||||
|
@ -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
@ -5,8 +5,8 @@
|
||||
.vscode
|
||||
Dockerfile
|
||||
build/
|
||||
db/
|
||||
docker-compose.yml
|
||||
node_modules/
|
||||
mongo/
|
||||
redis/
|
||||
elasticsearch/
|
||||
node_modules/
|
||||
redis/
|
||||
|
@ -15,6 +15,9 @@
|
||||
"vue/attributes-order": false,
|
||||
"vue/require-prop-types": false,
|
||||
"vue/require-default-prop": false,
|
||||
"vue/html-closing-bracket-spacing": false,
|
||||
"vue/singleline-html-element-content-newline": false,
|
||||
"vue/no-v-html": false,
|
||||
"no-console": 0,
|
||||
"no-unused-vars": 0,
|
||||
"no-empty": 0
|
||||
|
39
.github/CODEOWNERS
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
# PATH OWNERS
|
||||
/.autogen/ @acid-chicken
|
||||
/.circleci/ @syuilo @acid-chicken
|
||||
/.config/ @syuilo @AyaMorisawa @mei23 @acid-chicken
|
||||
# /.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
|
||||
# /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
|
@ -1,22 +1,30 @@
|
||||
---
|
||||
name: Bug Report
|
||||
name: 🐛 Bug Report
|
||||
about: Create a report to help us improve
|
||||
title: ''
|
||||
labels: ⚠️bug?
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
# Summary
|
||||
## 💡 Summary
|
||||
|
||||
<!-- Tell us what the bug is -->
|
||||
|
||||
# Expected Behavior
|
||||
## 🙂 Expected Behavior
|
||||
|
||||
<!--- Tell us what should happen -->
|
||||
|
||||
# Actual Behavior
|
||||
## ☹️ Actual Behavior
|
||||
|
||||
<!--- Tell us what happens instead of the expected behavior -->
|
||||
|
||||
# Steps to Reproduce
|
||||
## 📝 Steps to Reproduce
|
||||
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
|
||||
# Environment
|
||||
## 📌 Environment
|
||||
|
||||
<!-- Tell us where on the platform it happens -->
|
||||
<!-- e.g. desktop or mobile version, your browser, your OS -->
|
12
.github/ISSUE_TEMPLATE/02_feature-request.md
vendored
Normal 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 -->
|
11
.github/ISSUE_TEMPLATE/feature_request.md
vendored
@ -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 -->
|
13
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
## Summary
|
||||
|
||||
<!--
|
||||
-
|
||||
- * Please describe your changes here *
|
||||
-
|
||||
- If you are going to resolve some issue, please add this context.
|
||||
- Resolve #ISSUE_NUMBER
|
||||
-
|
||||
- If you are going to fix some bug issue, please add this context.
|
||||
- Fix #ISSUE_NUMBER
|
||||
-
|
||||
-->
|
7
.gitignore
vendored
@ -8,12 +8,15 @@
|
||||
built
|
||||
/data
|
||||
/.cache-loader
|
||||
/db
|
||||
/elasticsearch
|
||||
npm-debug.log
|
||||
*.pem
|
||||
run.bat
|
||||
api-docs.json
|
||||
*.log
|
||||
/redis
|
||||
/mongo
|
||||
/elasticsearch
|
||||
*.code-workspace
|
||||
yarn.lock
|
||||
.DS_Store
|
||||
/files
|
||||
|
1
.node-version
Normal file
@ -0,0 +1 @@
|
||||
v11.7.0
|
658
CHANGELOG.md
@ -1,9 +1,663 @@
|
||||
ChangeLog
|
||||
=========
|
||||
|
||||
破壊的変更のみ記載。
|
||||
If you encounter any problems with updating, please try the following:
|
||||
1. `npm run clean` or `npm run cleanall`
|
||||
2. Retry update (Don't forget `npm i`)
|
||||
|
||||
This document describes breaking changes only.
|
||||
11.0.0 (daybreak)
|
||||
-----------------
|
||||
* **データベースがMongoDBからPostgreSQLに変更されました**
|
||||
* **Redisが必須に**
|
||||
* アカウントを完全に削除できるように
|
||||
* 投稿フォームで添付ファイルの閲覧注意を確認/設定できるように
|
||||
* ミュート/ブロック時にそのユーザーの投稿のウォッチをすべて解除するように
|
||||
* フォロー申請数が実際より1すくなくなる問題を修正
|
||||
* リストからアカウント削除したユーザーを削除できない問題を修正
|
||||
* リストTLでフォローしていないユーザーの非公開投稿が流れる問題を修正
|
||||
* リストTLでダイレクト投稿が流れない問題を修正
|
||||
* ミュートしているユーザーの投稿がタイムラインに流れてくることがある問題を修正
|
||||
|
||||
### APIの破壊的変更
|
||||
* v10時点で deprecated だったパラメータなどを削除
|
||||
* ユーザーリストの title が name に
|
||||
* リバーシの対局の`settings`プロパティがなくなり、その中にあったプロパティがすべて上の階層に
|
||||
* 例えば`game.settings.map`は`game.map`になる
|
||||
|
||||
### 既知の問題
|
||||
* アプリが作成できない
|
||||
* 依存ライブラリの問題と思わるため、対応が難しい
|
||||
|
||||
### Migration
|
||||
coming soon...
|
||||
|
||||
10.100.0
|
||||
----------
|
||||
* ユーザーリストでフォローボタンを表示するように
|
||||
* ドライブのファイルのサムネイルを修正
|
||||
* 投稿ウィジットでローカルのみの公開範囲で投稿できない問題を修正
|
||||
* TLを遡った時に抜けがある時がある問題を修正
|
||||
* ユーザータイムラインが投稿日時順ではなくなっているのを修正
|
||||
* 10.99.0 でチャートのレンダリングがおかしい問題を修正
|
||||
|
||||
10.99.0
|
||||
----------
|
||||
* manifest.json にインスタンス名を反映させるように
|
||||
* Metaに投稿やユーザーのIDを設定するように
|
||||
* 設定でポートが指定されていない場合、環境変数を参照するように
|
||||
* フォローインポートで途中にエラーになるユーザーがいると途中で終了してしまう問題を修正
|
||||
* フォローインポートで自分が含まれていた場合自分をフォローしてしまう問題を修正
|
||||
* ServiceWorkerの設定がUIで有効にならない問題を修正
|
||||
* ユーザー一覧でのユーザーの自己紹介が複数行になることがある問題を修正
|
||||
* フォローインポートでAPI limitに達していても正常にリクエストされたように表示されてしまう問題を修正
|
||||
* DBに保存されたrepository urlを変更する方法がない問題を修正
|
||||
* デスクトップDeckだとviaが投稿内に2箇所表示される問題を修正
|
||||
* デザインの調整
|
||||
* 依存関係の更新
|
||||
* ローカリゼーション
|
||||
|
||||
10.98.3
|
||||
----------
|
||||
* リアクションのカスタム絵文字の情報がNoteに添付されない問題を修正
|
||||
* フォルダーの移動をするとき親フォルダーに自分自身を指定できてしまう問題を修正
|
||||
* デザインの調整
|
||||
|
||||
10.98.2
|
||||
----------
|
||||
* 他のインスタンスから添付画像が見れない問題を修正
|
||||
|
||||
10.98.1
|
||||
----------
|
||||
* ドライブのファイルのサムネイルが表示されない問題を修正
|
||||
* APでカスタム絵文字を送る時に常にimage/pngで送っている問題を修正
|
||||
* いくらいじってもページリロードするとmisskeyのテーマがdark(future)になっちゃう問題を修正
|
||||
|
||||
10.98.0
|
||||
----------
|
||||
* ドライブのファイルダウンロード時に元のファイル名を尊重するように
|
||||
* ドライブで画像以外のファイルを分かりやすく表示するように
|
||||
* TwemojiのCDNを変更
|
||||
* モバイルで通知の設定がない問題を修正
|
||||
* デザインの調整
|
||||
|
||||
10.97.2
|
||||
----------
|
||||
* ビルド時に警告が出ないように修正
|
||||
|
||||
10.97.1
|
||||
----------
|
||||
* デザインの調整
|
||||
|
||||
10.97.0
|
||||
----------
|
||||
* リアクションに絵文字やカスタム絵文字を使えるように
|
||||
* 不明なリアクションのフォールバックに star を使えるように
|
||||
* デザインの調整
|
||||
|
||||
10.96.0
|
||||
----------
|
||||
* 連合ユーザーの投稿に対してActivityPubオブジェクトを要求されたら元のインスタンスにリダイレクトするように
|
||||
* updatePersonを試行した時点でもlastFetchedAtを更新するように
|
||||
* 管理画面でリモートインスタンスの登録日時を表示
|
||||
* ユーザーサジェストが機能しなくなっていた問題を修正
|
||||
* 最近使ったハッシュタグ表示が機能していない問題を修正
|
||||
* バグ修正
|
||||
* デザインの調整
|
||||
|
||||
10.95.0
|
||||
----------
|
||||
* ジョブを一覧できるように
|
||||
* MFMでURLを明示する構文の追加
|
||||
* Articleタイプのアクティビティを受け入れるように
|
||||
* 凍結されたユーザーをサジェストしないように
|
||||
* ファビコンが保存されないのを修正
|
||||
* キューのジョブクリアの動作を修正
|
||||
* デザインの調整
|
||||
|
||||
10.94.0
|
||||
----------
|
||||
* Faviconを設定できるように
|
||||
* アカウントを凍結したときすべてのフォローを解除するように
|
||||
* シェアページが機能していない問題を修正
|
||||
* インスタンスブロックをしていてもRenote等すると取得されてしまう問題を修正
|
||||
* デザインの調整
|
||||
|
||||
10.93.1
|
||||
----------
|
||||
* データのエクスポートとインポートの動作を修正
|
||||
* デザインの調整
|
||||
|
||||
10.93.0
|
||||
----------
|
||||
* フォローリストをインポートできるように
|
||||
* embedプレイヤーを閉じれるように
|
||||
* リストをインポートしたときにプロキシアカウントがフォローするように修正
|
||||
* Web Share Targetの動作を修正
|
||||
* おすすめアンケートのチョイスを修正
|
||||
* デザインの調整
|
||||
|
||||
10.92.4
|
||||
----------
|
||||
* リストのエクスポートをできるように
|
||||
* ジョブキューウィジェットを追加
|
||||
* URLプレビューのサムネイルが表示されないことがある問題を修正
|
||||
|
||||
10.92.3
|
||||
----------
|
||||
* 管理画面の各種ジョブ数がおかしい問題を修正
|
||||
* ジョブキューの動作を調整
|
||||
|
||||
10.92.2
|
||||
----------
|
||||
* 管理画面で各種ジョブ数を一覧できるように
|
||||
* ジョブキューの動作を修正
|
||||
* notes/children が遅い問題を修正
|
||||
|
||||
10.92.1
|
||||
----------
|
||||
* アンケートの結果をリモートと同期するように
|
||||
* ジョブキューを有効に
|
||||
* 投稿の返信一覧に引用Renoteも含めるように
|
||||
* robots.txt追加
|
||||
* デザインの調整
|
||||
|
||||
10.92.0
|
||||
----------
|
||||
* Mastodonのアンケートに対応
|
||||
* 複数回答できるアンケートを作成できるように
|
||||
* アンケートに期限を設定できるように
|
||||
* 絵文字ピッカーを改良
|
||||
* ハッシュタグの判定を改善
|
||||
* デッキのタグTLで別のタグをクリックしてもTLが変わらない問題を修正
|
||||
* ユーザーサジェストで表示名が変わらない問題を修正
|
||||
* UIのバグ修正
|
||||
* デザインの調整
|
||||
* など
|
||||
|
||||
10.91.2
|
||||
----------
|
||||
* 10.91.1 で追加した依存関係にXSS脆弱性があったので他のパッケージに差し替え
|
||||
* 初期アクセスでテーマが正しく設定されない問題を修正
|
||||
|
||||
10.91.1
|
||||
----------
|
||||
* ログビューを強化
|
||||
* テーマの切り替えをなめらかに
|
||||
* SVGの判定を修正
|
||||
|
||||
10.91.0
|
||||
----------
|
||||
* ログを管理画面で見れるように
|
||||
* 文字サイズを設定できるように
|
||||
* 返信が表示されない問題を修正
|
||||
* ユーザーページでユーザーを切り替えても前の人の情報が残る問題を修正
|
||||
* デザインの調整
|
||||
|
||||
10.90.4
|
||||
----------
|
||||
* url-previewでembedプレイヤー展開をオプトインにするように
|
||||
* デザインの調整
|
||||
* ユーザビリティの強化
|
||||
|
||||
10.90.3
|
||||
----------
|
||||
* モバイルのデッキで投稿フォームウィジェットが設置できなかった問題を修正
|
||||
* ドキュメントの強化
|
||||
* デザインの調整
|
||||
* ユーザビリティの強化
|
||||
|
||||
10.90.2
|
||||
----------
|
||||
* アカウントが削除できない問題を修正
|
||||
* ドキュメントの強化
|
||||
* デザインの調整
|
||||
|
||||
10.90.1
|
||||
----------
|
||||
* アカウントを作成したときに自動でホームに遷移しない問題を修正
|
||||
* ユーザビリティの強化
|
||||
|
||||
10.90.0
|
||||
----------
|
||||
* モバイル版でもデッキを使えるように
|
||||
* 公開範囲がホームの投稿はハイライトに載せないように
|
||||
* ドキュメントの強化
|
||||
* ユーザーをリストに追加できない問題を修正
|
||||
* UIの修正
|
||||
|
||||
10.89.1
|
||||
----------
|
||||
* リアクション数を表示するように
|
||||
* モバイル版でドライブのフォルダを削除できるように
|
||||
* ドキュメントの強化
|
||||
* プロフィールが更新できない場合がある問題を修正
|
||||
* UIの修正
|
||||
|
||||
10.89.0
|
||||
----------
|
||||
* APIのエラーの形式を統一
|
||||
* APIドキュメント刷新
|
||||
* /api/v1/instance/peers 復活
|
||||
* 「返信が遷移後も残り続ける問題を修正」([9beddc9](https://github.com/syuilo/misskey/commit/9beddc941a716f1322ae0b7d71d159edd642a399)) によって遷移前に返信が表示されなくなった問題を修正
|
||||
* デッキモードにてユーザーのプロフィールを連続で見たとき、アクティビティや画像が前のユーザーのもののまま表示される問題を修正
|
||||
|
||||
10.88.0
|
||||
----------
|
||||
* アカウントの削除を試験的に実装
|
||||
* デッキでメディア投稿のみ表示するオプションが機能していない問題を修正
|
||||
* デッキでユーザーを表示したときにタイムラインが残存する問題を修正
|
||||
* モバイルのユーザーページで、ユーザーAのタイムラインから他のユーザーBを選択してユーザーBのタイムラインに移動したとき、ユーザーAのタイムラインが残る問題を修正
|
||||
* ハイライトでミュートしているユーザーの投稿が含まれる問題を修正
|
||||
* 「みつける」でミュートしているユーザーが含まれる問題を修正
|
||||
* デザインの調整
|
||||
|
||||
10.87.5
|
||||
----------
|
||||
* モバイル版でも連携サービスを表示するように
|
||||
* webfingerのacceptが反映されない問題を修正
|
||||
* 返信が遷移後も残り続ける問題を修正
|
||||
* デザインの調整
|
||||
|
||||
10.87.4
|
||||
----------
|
||||
* フォローリクエストを許可するときにエラーになる問題を修正
|
||||
* デザインの調整
|
||||
|
||||
10.87.3
|
||||
----------
|
||||
* 開発モードでビルドしてもスクリプトが404になる問題を修正
|
||||
* 拡張子判別だとアイコンやバナー設定で対応していないと表示される問題を修正
|
||||
* フォローリクエスト数がおかしい場合の応急処置APIを追加
|
||||
* デザインの調整
|
||||
|
||||
10.87.2
|
||||
----------
|
||||
* みつけるの人気のタグを第2ソートで連合含めたユーザー数にしたりユーザーのタグ以外は除外するように
|
||||
* デザインの調整
|
||||
|
||||
10.87.1
|
||||
----------
|
||||
* ハッシュタグ検索で大文字小文字が区別されてしまう問題を修正
|
||||
|
||||
10.87.0
|
||||
----------
|
||||
* ハッシュタグでユーザー検索できるように
|
||||
* Exploreページに新規ユーザー一覧を追加
|
||||
* デッキ使用中にホーム扱いで開かれた時にタイムラインボタン等がない問題を修正
|
||||
* デッキ使用中に / 以外でリロードした際にホームモードになる問題を修正
|
||||
|
||||
10.86.2
|
||||
----------
|
||||
* 別タブでルートより下を開いたときにはデッキにしないように
|
||||
* 横のナビゲーションバーの改善
|
||||
* MIDIファイルがオーディオ扱いになる問題を修正
|
||||
* ミュートワードで正規表現を使えるように
|
||||
* デッキで無効になったタイムラインに警告を表示するように
|
||||
* デザインの調整
|
||||
* その他細かな修正
|
||||
|
||||
10.86.1
|
||||
----------
|
||||
* ナビゲーションバーの「ホーム」を「タイムライン」に改称
|
||||
* モバイル版でユーザーページが二重に描画される問題を修正
|
||||
* ユーザー一覧の「もっと読み込む」の動作がおかしい問題を修正
|
||||
* デザインの調整
|
||||
|
||||
10.86.0
|
||||
----------
|
||||
* Exploreページを実装
|
||||
* UIを改良
|
||||
* その他細かな修正
|
||||
|
||||
10.85.2
|
||||
----------
|
||||
* デッキから フォロー/フォロワー ページに行けるように
|
||||
* ナビゲーションが発生したときに最上部までスクロールように
|
||||
* 検索結果でページ遷移が発生する問題を修正
|
||||
* デザインの調整
|
||||
|
||||
10.85.1
|
||||
----------
|
||||
* ローカルのみ投稿をログイン画面のタイムラインに表示しないように
|
||||
* ナビゲーションバーを横にしてるとデッキに行けない問題を修正
|
||||
|
||||
10.85.0
|
||||
----------
|
||||
* デスクトップ版のUIを改良
|
||||
* 投稿ハイライトページを実装
|
||||
* 無効化されているタイムラインのフォールバック
|
||||
* 既にフォローされている場合はフォローリクエストを生成しないように
|
||||
* その他細かな修正
|
||||
|
||||
10.84.2
|
||||
----------
|
||||
* GIF画像にGIFバッジを表示
|
||||
* よく話すユーザーからサスペンドされたユーザーを隠すなど
|
||||
* nodeinfoが重い問題を修正
|
||||
* ハッシュタグクラウド取得が重い問題を軽減
|
||||
|
||||
10.84.1
|
||||
----------
|
||||
* deckにフォローされていますマークを追加
|
||||
* URLプレビューのサムネイルの調整
|
||||
* 管理画面でサイレンスされているユーザーを一覧できるように
|
||||
* ドキュメントにアクセスできない問題を修正
|
||||
* ジョブキューを無効化
|
||||
* 軽微なバグ修正
|
||||
|
||||
10.84.0
|
||||
----------
|
||||
* インスタンス管理の強化
|
||||
* パフォーマンスの問題の修正
|
||||
* バグ修正
|
||||
|
||||
10.83.0
|
||||
----------
|
||||
* 特定のインスタンスをブロックをできるように
|
||||
* 特定のインスタンスからのフォローを全解除できるように
|
||||
* インスタンスごとのチャートを追加
|
||||
|
||||
10.82.4
|
||||
----------
|
||||
* 10.82.3でオブジェクトストレージの設定をしていると起動しなくなるバグを修正
|
||||
|
||||
10.82.3
|
||||
----------
|
||||
* フォロー/ミュート/ブロックデータをエクスポート可能に
|
||||
* バグ修正
|
||||
* デザインの調整
|
||||
* ジョブキューの動作を修正
|
||||
|
||||
10.82.2
|
||||
----------
|
||||
* ジョブキューの動作を修正
|
||||
|
||||
10.82.1
|
||||
----------
|
||||
* クラスタリング環境でのジョブキューの動作を修正
|
||||
* その他の軽微な改善
|
||||
|
||||
10.82.0
|
||||
----------
|
||||
* 自分の投稿情報をエクスポートできるように
|
||||
* アニメーションする画像を再生しないで表示するオプションを実装
|
||||
* 個別に投稿のウォッチ/ウォッチ解除をできるように
|
||||
|
||||
10.81.0
|
||||
----------
|
||||
* 動画のサムネイルを作成するように
|
||||
* リモートの外部サービス認証情報を表示するように
|
||||
* public の Renote/Reply/Quote先 が public以外 だったら、public => homeに
|
||||
* ユーザーページから管理者/モデレーターがアカウントのサイレンス/凍結をできるように
|
||||
* 凍結されたユーザーをタイムライン等に表示しないように
|
||||
* おすすめのアンケートでミュートユーザーのものは表示しないように
|
||||
* おすすめのアンケートで凍結済みユーザーのものは表示しないように
|
||||
* 画像でないファイルのサムネイルとしてオリジナルファイルを返してしまうのを修正
|
||||
* URLプレビューのサムネイルが表示されない場合がある問題を修正
|
||||
* ダークモードで読みにくいボタンがあるのを修正
|
||||
|
||||
10.80.0
|
||||
----------
|
||||
* サイレンス機能の追加
|
||||
* リプライ/メンションされていれば非フォロワーへのフォロワー限定でも参照可能に
|
||||
* MFMの解析を強化
|
||||
* Misskey以外のインスタンスからMisskeyの投稿を見たときに改行が多い問題を修正
|
||||
* Misskey以外のインスタンスからMisskeyの投稿を見たときにメンションのURLが展開されるのを修正
|
||||
|
||||
10.79.1
|
||||
----------
|
||||
* jump構文の追加
|
||||
* MFMで左回転、往復回転を行えるように
|
||||
* MFMに関する制限を若干緩和
|
||||
* シンタックスハイライトに関するバグ修正
|
||||
|
||||
10.79.0
|
||||
----------
|
||||
* 返信するときにCWを維持するかどうか設定できるように
|
||||
* 外部サービス認証情報の配信
|
||||
* 管理画面のモデレーションのUIを強化
|
||||
* 管理画面からリモートユーザーの情報を更新できるように
|
||||
* 回転構文の追加
|
||||
* 左右反転構文の追加
|
||||
* 複数行の数式構文を追加
|
||||
* シンタックスハイライトの強化
|
||||
* 引用投稿を削除したとき単なるRenoteとしてタイムラインに残る問題を修正
|
||||
* イタリック構文の判定の改善
|
||||
* タイトル構文の判定の改善
|
||||
* テーマが反映されないことがある問題を修正
|
||||
* ホームにフォロワー限定投稿が表示されない問題を修正
|
||||
* 返信一覧を取得すると非公開投稿も取得されてしまう問題を修正
|
||||
* メンション一覧を取得すると非公開投稿も取得されてしまう問題を修正
|
||||
* 通知に非公開投稿が表示される問題を修正
|
||||
* ダイレクトで投稿すると100%の確率で表示が二重になる問題を修正
|
||||
* ウィジットの投稿フォームで投稿するとデフォルトの公開範囲が適用されない問題を修正
|
||||
|
||||
10.78.5
|
||||
----------
|
||||
* アンケートの選択肢にカスタム絵文字を使えるように
|
||||
* 投稿の返信を取得したときにミュートが適用されていない問題を修正
|
||||
* ユーザビリティの強化
|
||||
|
||||
10.78.4
|
||||
----------
|
||||
* フォロワー限定投稿がユーザータイムラインに含まれていない問題を修正
|
||||
* データベースのインデックス設定を修正
|
||||
* UIの修正
|
||||
* など
|
||||
|
||||
10.78.3
|
||||
----------
|
||||
* 投票未対応インスタンス向けメッセージをわかりやすく
|
||||
* リバーシが404になる問題を修正
|
||||
* デザインの修正
|
||||
|
||||
10.78.2
|
||||
----------
|
||||
* リバーシが404になる問題を修正
|
||||
* ストリームで流れてくる投稿とAPIでタイムラインを取得したときとの不一致を修正
|
||||
|
||||
10.78.1
|
||||
----------
|
||||
* 「関係のない返信がタイムラインに流れる問題を修正」を取り消し
|
||||
* デザインの修正
|
||||
|
||||
10.78.0
|
||||
----------
|
||||
* 他のインスタンスからアンケートに投票できるように
|
||||
* スパムアカウントを報告できるように
|
||||
* アクティブユーザー数のチャートを追加
|
||||
* 管理画面でドライブのファイルをURLやIDから操作できるように
|
||||
* リアクション解除を他のサーバーと送受信するように
|
||||
* ログイン時に二段階認証が分かりにくいのを改善
|
||||
* 投稿のツールチップを出すのは時間の上だけに変更
|
||||
* `*`や`_`でもイタリック構文を使えるように(アルファベットのみ)
|
||||
* `__`でも太字構文を使えるように(アルファベットのみ)
|
||||
* ハッシュタグ判定の強化
|
||||
* ストーク機能の廃止
|
||||
* ソーシャルタイムラインにフォロワー限定投稿が含まれていない問題を修正
|
||||
* リストタイムラインでフォロワー限定投稿が含まれていない問題を修正
|
||||
* リストタイムラインに自分宛てでないダイレクト投稿が非公開扱いで表示される問題を修正
|
||||
* 自分宛てのダイレクト投稿がホーム/ソーシャルタイムラインにストリームで流れない問題を修正
|
||||
* ストリームで投稿が流れてきたとき、返信先が「この投稿は非公開です」となる問題を修正
|
||||
* 関係のない返信がタイムラインに流れる問題を修正
|
||||
* 常にメディアを閲覧注意として投稿するオプションが機能していなかった問題を修正
|
||||
* リモートユーザーのアイコンが消えることがある問題を修正
|
||||
* ドライブのファイルメニューからアバターやバナーに設定することができない問題を修正
|
||||
* クライアントのAPIリクエストをストリーム経由で行うオプションを廃止
|
||||
* 一部箇所でカスタム絵文字が適用されていないのを修正
|
||||
|
||||
10.77.0
|
||||
----------
|
||||
* ローカルタイムライン無効オプションをグローバルタイムライン無効オプションと分離
|
||||
* モデレータはLTL無効時でもUIからLTLを消さない
|
||||
* インスタンス情報ページに各種タイムラインの有効/無効を表示
|
||||
|
||||
10.76.0
|
||||
----------
|
||||
* disableLocalTimeline機能を強化
|
||||
* インスタンス情報ページの強化
|
||||
* ハッシュタグ判定の強化
|
||||
* SVGサムネイルを表示するように
|
||||
* CWの引き継ぎ機能を無効化
|
||||
|
||||
10.75.0
|
||||
----------
|
||||
* ダイレクトを非公開のように使えるように
|
||||
* モデレーターを凍結できないように
|
||||
* モデレーター登録を解除できるように
|
||||
* NSFWなメディアをユーザーページなどで表示しないように
|
||||
* 管理画面でユーザーを状態でフィルタできるように
|
||||
* 管理者がサインイン履歴を参照できるツール
|
||||
* Renote数を再度表示するように
|
||||
* インスタンス情報ページの追加
|
||||
* テーマの調整
|
||||
* UIの改善
|
||||
|
||||
10.74.0
|
||||
----------
|
||||
* Pleromaとのフェデレーションを修正
|
||||
* インスタンスのキャラクター画像を設定できるように
|
||||
* Catモードの朝鮮語対応
|
||||
* CWが付いた投稿に返信する際、そのCWを引き継ぐように
|
||||
* 投稿のソースをクリップボードにコピーできるように
|
||||
* i/notifications API で取得する通知の種別を配列で指定できるように
|
||||
* パフォーマンスの改善
|
||||
* バグ修正
|
||||
|
||||
10.73.0
|
||||
-------
|
||||
* テーマの強化
|
||||
* line thiknessの設定はデバイスに保存するように
|
||||
|
||||
10.72.0
|
||||
-------
|
||||
* いくつかのテーマの追加
|
||||
* デザインの調整
|
||||
* バグ修正
|
||||
* など
|
||||
|
||||
10.71.0
|
||||
-------
|
||||
* いくつかのテーマの追加
|
||||
|
||||
10.70.1
|
||||
-------
|
||||
* notes/mentions にミュートを適用するように
|
||||
* Add id to return of users/relation
|
||||
* デザインの調整
|
||||
|
||||
10.70.0
|
||||
-------
|
||||
* フォローしているユーザーからのフォローを自動承認するオプション
|
||||
* 「非公開」の公開範囲を廃止
|
||||
* Renote数の表示を廃止
|
||||
* 投稿のフィルタリングを強化
|
||||
* デザインの調整
|
||||
|
||||
10.69.0
|
||||
-------
|
||||
* 通知の管理を強化
|
||||
* ユーザビリティの強化
|
||||
* デザインの調整
|
||||
|
||||
10.68.0
|
||||
-------
|
||||
* 特定ユーザーにメンション付きで新規投稿ができるボタンを追加
|
||||
* 自分の投稿にリアクションできないように
|
||||
* 数式に文法エラーがあるとき、数式のソースをそのまま表示するように
|
||||
* CWボタンにアンケートの有無を表記するように
|
||||
* デスクトップ版で設定を新しいタブで開くように
|
||||
* モバイル版で検索ができない問題を修正
|
||||
* i18nの修正
|
||||
|
||||
10.67.0
|
||||
-------
|
||||
* トークのメッセージを削除できるように
|
||||
* リアクションを取り消せるように
|
||||
* Misskey以外のソフトウェアからの「Like」アクティビティをプリンではなく「いいね」として扱うように
|
||||
* i18nの修正
|
||||
* バグ修正
|
||||
* など
|
||||
|
||||
10.66.2
|
||||
-------
|
||||
* i18nの修正
|
||||
* ドライブのファイル一覧取得APIでファイルサイズによるソートが機能していなかった問題を修正
|
||||
* リモートユーザーの更新時に、各ピン留め投稿の取得失敗は無視するように
|
||||
* リモートMisskeyユーザーの情報が登録/更新出来なくなっていたのを修正
|
||||
* メンションのリンク先URLに余計な@がプリフィクスされていたのを修正
|
||||
* ダイレクトでリプライする際、リプライ先のユーザーは自動的に公開先として追加するように
|
||||
* ダイレクトでメンションでもユーザーを指定できるように
|
||||
|
||||
10.66.1
|
||||
-------
|
||||
* ActivityPubのsharedInboxに関して修正
|
||||
* MFMでのカッコの判定を改善
|
||||
* バグ修正
|
||||
|
||||
10.66.0
|
||||
-------
|
||||
* ユーザーごとのRSSフィードを提供するように
|
||||
* リストのユーザーがすべて表示できない問題を修正
|
||||
* デザインの調整
|
||||
* パフォーマンスの改善
|
||||
|
||||
10.65.0
|
||||
-------
|
||||
* 検索で投稿やユーザーのURLを入力した際にそれをフェッチして表示するように
|
||||
* リストのリネームと削除をできるように
|
||||
* リストからユーザーを削除できるように
|
||||
* リモートの絵文字を更新するように
|
||||
* ActivityPubのための絵文字エンドポイントを実装
|
||||
* 管理者がドライブのファイルのNSFWを設定できるように
|
||||
* ServiceWorkerの設定を管理者ページで行えるように
|
||||
* メンションの判定を改善
|
||||
* リモートの投稿を引用した際にオリジナルのURLを挿入するように
|
||||
* クライアントのパフォーマンス改善
|
||||
* CWの内容がタブタイトルに表示されるのを修正
|
||||
* アカウントを作成したときにログイン状態にならない問題を修正
|
||||
* 時計の針にテーマカラーが適用されていなかったのを修正
|
||||
* 一部の日時の表示が日本語で表示されていたのを修正
|
||||
* プロフィールの写真欄に画像以外のファイルが含まれる問題を修正
|
||||
* メンションが含まれる投稿に返信する際、フォームに予めそれらのメンションがセットされた状態にならない問題を修正
|
||||
* デッキのTLにUIの動きを減らすオプションが適用されていなかったのを修正
|
||||
* ログイン画面のタイムラインに隠した投稿が表示される問題を修正
|
||||
* サジェストが複数開いてしまう問題を修正
|
||||
* APから来たタグに登録時の長さ制限が適用されていなかったのを修正
|
||||
|
||||
10.64.2
|
||||
-------
|
||||
* UIの動きを減らすオプションが一部のアニメーションに適用されなかったのを修正
|
||||
|
||||
10.64.1
|
||||
-------
|
||||
* レートリミットの調整
|
||||
* アニメーションの調整
|
||||
|
||||
10.64.0
|
||||
-------
|
||||
* いくつかのアニメーションを追加
|
||||
* OGP向けにインスタンスのバナー画像を提供するように
|
||||
* 管理者ページでドライブのファイルを表示できるように
|
||||
* ユーザビリティの強化
|
||||
* バグ修正
|
||||
|
||||
10.63.1
|
||||
-------
|
||||
* メンションの表示を改善
|
||||
* バグ修正
|
||||
|
||||
10.63.0
|
||||
-------
|
||||
* ActivityPubのユーザーフィールドをユーザーページに表示
|
||||
* 404ページの実装
|
||||
* パフォーマンスの向上
|
||||
* バグ修正
|
||||
|
||||
10.62.2
|
||||
-------
|
||||
* バグ修正
|
||||
* ユーザビリティの向上
|
||||
|
||||
10.0.0
|
||||
------
|
||||
|
142
CONTRIBUTING.md
@ -25,3 +25,145 @@ Misskey uses [vue-i18n](https://github.com/kazupon/vue-i18n).
|
||||
## Continuous integration
|
||||
Misskey uses CircleCI for automated test.
|
||||
Configuration files are located in `/.circleci`.
|
||||
|
||||
## Glossary
|
||||
### AP
|
||||
Stands for _**A**ctivity**P**ub_.
|
||||
|
||||
### MFM
|
||||
Stands for _**M**isskey **F**lavored **M**arkdown_.
|
||||
|
||||
### Mk
|
||||
Stands for _**M**iss**k**ey_.
|
||||
|
||||
### SW
|
||||
Stands for _**S**ervice**W**orker_.
|
||||
|
||||
### Nyaize
|
||||
Convert な(na) to にゃ(nya)
|
||||
|
||||
#### Denyaize
|
||||
Revert Nyaize
|
||||
|
||||
## Code style
|
||||
### Use semicolon
|
||||
To avoid ASI Hazard
|
||||
|
||||
### Don't use `export default`
|
||||
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 });
|
||||
}
|
||||
}));
|
||||
```
|
||||
|
||||
### `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';
|
||||
// }
|
||||
// の糖衣構文のような扱いです
|
||||
```
|
||||
|
29
Dockerfile
@ -1,8 +1,7 @@
|
||||
FROM alpine:3.8 AS base
|
||||
FROM node:11-alpine AS base
|
||||
|
||||
ENV NODE_ENV=production
|
||||
|
||||
RUN apk add --no-cache nodejs nodejs-npm zlib
|
||||
RUN npm i -g npm@latest
|
||||
|
||||
WORKDIR /misskey
|
||||
@ -10,31 +9,31 @@ WORKDIR /misskey
|
||||
FROM base AS builder
|
||||
|
||||
RUN apk add --no-cache \
|
||||
gcc \
|
||||
g++ \
|
||||
libc-dev \
|
||||
python \
|
||||
autoconf \
|
||||
automake \
|
||||
file \
|
||||
g++ \
|
||||
gcc \
|
||||
libc-dev \
|
||||
libtool \
|
||||
make \
|
||||
nasm \
|
||||
pkgconfig \
|
||||
libtool \
|
||||
python \
|
||||
zlib-dev
|
||||
RUN npm i -g node-gyp
|
||||
|
||||
COPY ./package.json ./
|
||||
RUN npm i
|
||||
RUN npm i -g yarn
|
||||
|
||||
COPY package.json ./
|
||||
RUN yarn install
|
||||
COPY . ./
|
||||
RUN node-gyp configure \
|
||||
&& node-gyp build \
|
||||
&& npm run build
|
||||
RUN yarn build
|
||||
|
||||
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", "--"]
|
||||
|
||||
COPY --from=builder /misskey/node_modules ./node_modules
|
||||
|
133
README.md
@ -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>
|
||||
|
||||
[](https://misskey.xyz/)
|
||||
================================================================
|
||||
|
||||
[](https://circleci.com/gh/syuilo/misskey)
|
||||
[![][dependencies-badge]][dependencies-link]
|
||||
[](http://makeapullrequest.com)
|
||||
[](https://circleci.com/gh/syuilo/misskey)
|
||||
[](https://david-dm.org/syuilo/misskey)
|
||||
[](http://makeapullrequest.com)
|
||||
|
||||
**Sophisticated microblogging platform, evolving forever.**
|
||||
**A forever evolving, sophisticated microblogging platform.**
|
||||
|
||||
<p align="justify">
|
||||
<a href="https://misskey.xyz">Misskey</a> is a decentralized microblogging platform born on Earth.
|
||||
Since it exists within the Fediverse (a universe where various social media platforms are organized),
|
||||
it is mutually linked with other social media platforms.
|
||||
Why don't you take a short break from the hustle and bustle of the city, and dive into a new Internet? <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>
|
||||
|
||||
<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>
|
||||
<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>
|
||||
|
||||
---
|
||||
@ -36,7 +36,7 @@ Just post your idea, hot topics and anything you want to share. You may decorate
|
||||
|
||||
<h3 align="right">Reactions</h3>
|
||||
<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>
|
||||
|
||||
---
|
||||
@ -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>
|
||||
<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>
|
||||
|
||||
---
|
||||
@ -54,55 +54,108 @@ Highly customizable UI for your taste. We understand no UI fits for everyone. Ma
|
||||
|
||||
<h3 align="right">Misskey Drive</h3>
|
||||
<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>
|
||||
|
||||
---
|
||||
|
||||
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.xyz](https://misskey.xyz) 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
|
||||
----------------------------------------------------------------
|
||||
Please see [Setup and installation guide](./docs/setup.en.md).
|
||||
Please see the [Setup and Installation Guide](./docs/setup.en.md).
|
||||
|
||||
: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>
|
||||
</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>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
:heart: Backers
|
||||
----------------------------------------------------------------
|
||||
<!-- PATREON_START -->
|
||||
<table><tr>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/12731202/0995c46cdcb54153ab5f073f5869b70a/1?token-time=2145916800&token-hash=Yd60FK_SWfQO56SeiJpy1tDHOnCV4xdEywQe8gn5_Wo%3D" alt="negao"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/12913507/f7181eacafe8469a93033d85f5969c29/2?token-time=2145916800&token-hash=mgPdX9TqZxEg4TTPuc477dxhIgYk9246qafjWZEqZ7g%3D" alt="Melilot"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/3384329/8b713330cb27404ea6e9fac50ff96efe/1?token-time=2145916800&token-hash=0eu4-m1gTWA9PhptVZt6rdKcusqcD7RB87rJT23VVFI%3D" alt="べすれい"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/12021162/963128bb8d14476dbd8407943db8f31a/1?token-time=2145916800&token-hash=GgJ_NmUB6_nnRNLVGUWjV-WX91On7BOu59LKncYV9fE%3D" alt="gutfuckllc"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/11357794/923ce94cd8c44ba788ee931907881839/1?token-time=2145916800&token-hash=I8lJVM8LeW6TSo5W6uIIRZ42cw83zp1wK_FsbzY0mcQ%3D" alt="mydarkstar"></td>
|
||||
<td><img src="https://c8.patreon.com/2/100/12718187" alt="Peter G."></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/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/12190916/fb7fa7983c14425f890369535b1506a4/3.png?token-time=2145916800&token-hash=oH_i7gJjNT7Ot6j9JiVwy7ZJIBqACVnzLqlz4YrDAZA%3D" alt="weep" width="100"></td>
|
||||
<td><img src="https://c8.patreon.com/2/200/12059069" alt="naga_rus" 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>
|
||||
<td><img src="https://c8.patreon.com/2/200/16869916" alt="見当かなみ" width="100"></td>
|
||||
</tr><tr>
|
||||
<td><a href="https://www.patreon.com/negao">negao</a></td>
|
||||
<td><a href="https://www.patreon.com/rane_hs">Hiroshi Seki</a></td>
|
||||
<td><a href="https://www.patreon.com/weepjp">weep</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=12059069">naga_rus</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=3384329">べすれい</a></td>
|
||||
<td><a href="https://www.patreon.com/osapon">osapon</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=16869916">見当かなみ</a></td>
|
||||
</tr></table>
|
||||
<table><tr>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12021162/963128bb8d14476dbd8407943db8f31a/1.png?token-time=2145916800&token-hash=FMV7cPKBD1TU2WTbl1jg6AcdKSvTb2BSFcDhgc-EO8w%3D" alt="gutfuckllc" 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/18833336" alt="itiradi" 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://c8.patreon.com/2/200/17866454" alt="sikyosyounin" 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://c8.patreon.com/2/200/17463605" alt="Sampot" width="100"></td>
|
||||
<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>
|
||||
</tr><tr>
|
||||
<td><a href="https://www.patreon.com/gutfuckllc">gutfuckllc</a></td>
|
||||
<td><a href="https://www.patreon.com/mydarkstar">mydarkstar</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=12718187">Peter G.</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=18833336">itiradi</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/user?u=17463605">Sampot</a></td>
|
||||
<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>
|
||||
</tr></table>
|
||||
<table><tr>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/13039004/509d0c412eb14ae08d6a812a3054f7d6/1?token-time=2145916800&token-hash=zwSu01tOtn5xTUucDZHuPsCxF2HBEMVs9ROJKTlEV_o%3D" alt="nemu"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/5881381/6235ca5d3fb04c8e95ef5b4ff2abcc18/3?token-time=2145916800&token-hash=qsdn0-e6yLaLI6hUX9JAkyTR6a5UdnSp7T1foniBvGQ%3D" alt="YUKIMOCHI"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/8241184/39e18850e87a449e9c9a71acb3310ebd/2?token-time=2145916800&token-hash=iUXOQzRyJDv3PJxwS7Mjwg1459dzh2trOq6NFtXu_OM%3D" alt="Acid Chicken"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/13034746/c711c7f58e204ecfbc2fd646bc8a4eee/1?token-time=2145916800&token-hash=UERBN4OyP7Nh5XwwdDg0N0IE5cD6_qUQMO81Z5Wizso%3D" alt="Hiratake"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/10789744/97175095d8f04c0f86225ff47cb98d40/1?token-time=2145916800&token-hash=P4BIzCX2I1CkEP66ottfhsC8Wr6BUSamjA-vq3pLqFI%3D" alt="Naoki Hirayama"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/4503830/ccf2cc867ea64de0b524bb2e24b9a1cb/1?token-time=2145916800&token-hash=S1zP0QyLU52Dqq6dtc9qNYyWfW86XrYHiR4NMbeOrnA%3D" alt="dansup"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/619786/32cf01444db24e578cd1982c197f6fc6/1?token-time=2145916800&token-hash=tB1e_r8RlZ5sFL0KV_e8dugapxatNBRK1Z3h67TO1g8%3D" alt="Gargron"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/5731881/4b6038e6cda34c04b83a5fcce3806a93/1?token-time=2145916800&token-hash=VZUtwrjQa8Jml4twCjHYQQZ64wHEY4oIlGl7Kc-VYUQ%3D" alt="Nokotaro Takeda"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInciOjEwMH0%3D/patreon-media/p/user/12531784/93a45137841849329ba692da92ac7c60/1?token-time=2145916800&token-hash=tMosUojzUYJCH_3t--tvYA-SMCyrS__hzSndyaRSnbo%3D" alt="Takashi Shibuya"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/17195955/be45e5e14c3e48b2bee0456c84e19df4/4.jpe?token-time=2145916800&token-hash=UslrPVM-8TXOe8AapuNiaFYjcIJgPNcU-fKpGbfGJNI%3D" alt="Damillora" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/16900731/935a10339daa4ede8e555903a0707060/1.png?token-time=2145916800&token-hash=c1XAS1qGBPxVdCvnICxtAUmx41mVkMG87h7cIRF9YYE%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/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/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.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.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.jpeg?token-time=2145916800&token-hash=vGe7wXGqmA8Q7m-kDNb6fyGdwk-Dxk4F-ut8ZZu51RM%3D" alt="Takashi Shibuya" width="100"></td>
|
||||
</tr><tr>
|
||||
<td><a href="https://www.patreon.com/user?u=13039004">nemu</a></td>
|
||||
<td><a href="https://www.patreon.com/yukimochi">YUKIMOCHI</a></td>
|
||||
<td><a href="https://www.patreon.com/acid_chicken">Acid Chicken</a></td>
|
||||
<td><a href="https://www.patreon.com/damillora">Damillora</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/spinlock">Naoki Hirayama</a></td>
|
||||
<td><a href="https://www.patreon.com/hekovic">Hekovic</a></td>
|
||||
<td><a href="https://www.patreon.com/dansup">dansup</a></td>
|
||||
<td><a href="https://www.patreon.com/mastodon">Gargron</a></td>
|
||||
<td><a href="https://www.patreon.com/takenoko">Nokotaro Takeda</a></td>
|
||||
@ -112,21 +165,19 @@ Please see [Contribution guide](./CONTRIBUTING.md).
|
||||
</tr><tr>
|
||||
</tr></table>
|
||||
|
||||
**Last updated:** Wed, 31 Oct 2018 23:21:06 UTC
|
||||
**Last updated:** Sun, 14 Apr 2019 08:13:12 UTC
|
||||
<!-- PATREON_END -->
|
||||
|
||||
:four_leaf_clover: Copyright
|
||||
----------------------------------------------------------------
|
||||
> Copyright (c) 2014-2018 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]: https://www.gnu.org/licenses/agpl-3.0.en.html
|
||||
[agpl-3.0-badge]: https://img.shields.io/badge/license-AGPL--3.0-444444.svg?style=flat-square
|
||||
[dependencies-link]: https://david-dm.org/syuilo/misskey
|
||||
[dependencies-badge]: https://img.shields.io/david/syuilo/misskey.svg?style=flat-square
|
||||
[agpl-3.0-badge]: https://img.shields.io/badge/license-AGPL--3.0-444444.svg?style=for-the-badge
|
||||
|
||||
[backer-url]: #backers
|
||||
[backer-badge]: https://opencollective.com/misskey/backers/badge.svg
|
||||
|
Before Width: | Height: | Size: 110 KiB After Width: | Height: | Size: 94 KiB |
Before Width: | Height: | Size: 344 KiB After Width: | Height: | Size: 317 KiB |
Before Width: | Height: | Size: 125 KiB After Width: | Height: | Size: 95 KiB |
Before Width: | Height: | Size: 256 KiB After Width: | Height: | Size: 200 KiB |
BIN
assets/ai.png
Before Width: | Height: | Size: 243 KiB After Width: | Height: | Size: 235 KiB |
BIN
assets/api-doc.png
Normal file
After Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 264 KiB After Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
@ -1,108 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="512"
|
||||
height="512"
|
||||
viewBox="0 0 135.46667 135.46667"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
inkscape:version="0.92.1 r15371"
|
||||
sodipodi:docname="favicon.svg"
|
||||
inkscape:export-filename="C:\Users\syuilo\projects\misskey\assets\favicon\16.png"
|
||||
inkscape:export-xdpi="3"
|
||||
inkscape:export-ydpi="3">
|
||||
version="1.1"
|
||||
viewBox="0 0 135.46667 135.46667"
|
||||
height="512"
|
||||
width="512">
|
||||
<defs
|
||||
id="defs2">
|
||||
<inkscape:path-effect
|
||||
effect="simplify"
|
||||
id="path-effect5115"
|
||||
is_visible="true"
|
||||
steps="1"
|
||||
threshold="0.000408163"
|
||||
smooth_angles="360"
|
||||
helper_size="0"
|
||||
simplify_individual_paths="false"
|
||||
simplify_just_coalesce="false"
|
||||
simplifyindividualpaths="false"
|
||||
simplifyJustCoalesce="false" />
|
||||
<inkscape:path-effect
|
||||
effect="simplify"
|
||||
id="path-effect5111"
|
||||
is_visible="true"
|
||||
steps="1"
|
||||
threshold="0.000408163"
|
||||
smooth_angles="360"
|
||||
helper_size="0"
|
||||
simplify_individual_paths="false"
|
||||
simplify_just_coalesce="false"
|
||||
simplifyindividualpaths="false"
|
||||
simplifyJustCoalesce="false" />
|
||||
<inkscape:path-effect
|
||||
effect="simplify"
|
||||
id="path-effect5104"
|
||||
is_visible="true"
|
||||
steps="1"
|
||||
threshold="0.000408163"
|
||||
smooth_angles="360"
|
||||
helper_size="0"
|
||||
simplify_individual_paths="false"
|
||||
simplify_just_coalesce="false"
|
||||
simplifyindividualpaths="false"
|
||||
simplifyJustCoalesce="false" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1.4142136"
|
||||
inkscape:cx="15.466544"
|
||||
inkscape:cy="235.92965"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="g4502"
|
||||
showgrid="true"
|
||||
units="px"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:bbox-nodes="true"
|
||||
inkscape:snap-bbox-edge-midpoints="false"
|
||||
inkscape:snap-smooth-nodes="true"
|
||||
inkscape:snap-center="true"
|
||||
inkscape:snap-page="true"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1027"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="1072"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:snap-object-midpoints="true"
|
||||
inkscape:snap-midpoints="true"
|
||||
inkscape:object-paths="true"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
objecttolerance="1"
|
||||
guidetolerance="1"
|
||||
inkscape:snap-nodes="false"
|
||||
inkscape:snap-others="false">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid4504"
|
||||
spacingx="4.2333334"
|
||||
spacingy="4.2333334"
|
||||
empcolor="#ff3fff"
|
||||
empopacity="0.25098039"
|
||||
empspacing="4" />
|
||||
</sodipodi:namedview>
|
||||
id="defs2" />
|
||||
<metadata
|
||||
id="metadata5">
|
||||
<rdf:RDF>
|
||||
@ -116,32 +25,27 @@
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="レイヤー 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-30.809093,-111.78601)">
|
||||
style="fill:#2fa3bc;fill-opacity:1"
|
||||
transform="translate(-30.809093,-111.78601)"
|
||||
id="layer1">
|
||||
<g
|
||||
id="g4502"
|
||||
transform="matrix(1.096096,0,0,1.096096,-2.960633,-44.023579)">
|
||||
style="fill:#2fa3bc;fill-opacity:1"
|
||||
transform="matrix(1.096096,0,0,1.096096,-2.960633,-44.023579)"
|
||||
id="g4502">
|
||||
<g
|
||||
style="fill:#2fa1bb;fill-opacity:1"
|
||||
id="g5125">
|
||||
id="g5125"
|
||||
transform="translate(-1.3333333e-6,-1.3439941e-6)"
|
||||
style="fill:#2fa3bc;fill-opacity:1">
|
||||
<g
|
||||
transform="matrix(0.91391326,0,0,0.91391326,7.9719907,17.595761)"
|
||||
aria-label="Mi"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:141.03404236px;line-height:476.69509888px;font-family:'OTADESIGN Rounded';-inkscape-font-specification:'OTADESIGN Rounded';letter-spacing:0px;word-spacing:0px;fill:#2fa3bc;fill-opacity:1;stroke:none;stroke-width:0.28950602px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
id="text4489"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:141.03404236px;line-height:476.69509888px;font-family:'OTADESIGN Rounded';-inkscape-font-specification:'OTADESIGN Rounded';letter-spacing:0px;word-spacing:0px;fill:#2fa1bb;fill-opacity:1;stroke:none;stroke-width:0.28950602px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
aria-label="Mi">
|
||||
transform="matrix(0.91391326,0,0,0.91391326,7.9719907,17.595761)">
|
||||
<path
|
||||
sodipodi:nodetypes="zccssscssccscczzzccsccsscscsccz"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5210"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'OTADESIGN Rounded';-inkscape-font-specification:'OTADESIGN Rounded';fill:#2fa1bb;fill-opacity:1;stroke-width:0.28950602px"
|
||||
d="m 75.196381,231.17126 c -5.855419,0.0202 -10.885068,-3.50766 -13.2572,-7.61584 -1.266603,-1.79454 -3.772419,-2.43291 -3.807919,0 v 11.2332 c 0,4.51309 -1.645397,8.41504 -4.936191,11.70583 -3.196772,3.19677 -7.098714,4.79516 -11.705826,4.79516 -4.513089,0 -8.415031,-1.59839 -11.705825,-4.79516 -3.196772,-3.29079 -4.795158,-7.19274 -4.795158,-11.70583 v -61.7729 c 0,-3.47884 0.987238,-6.6286 2.961715,-9.44928 2.068499,-2.91471 4.701135,-4.9362 7.897906,-6.06447 1.786431,-0.65816 3.666885,-0.98724 5.641362,-0.98724 5.077225,0 9.308247,1.97448 12.693064,5.92343 1.786431,1.97448 2.820681,3.00873 3.102749,3.10275 0,0 13.408119,16.21319 13.78421,16.49526 0.376091,0.28206 1.480789,2.43848 4.127113,2.43848 2.646324,0 3.89218,-2.15642 4.26827,-2.43848 0.376091,-0.28207 13.784088,-16.49526 13.784088,-16.49526 0.09402,0.094 1.081261,-0.94022 2.961715,-3.10275 3.478837,-3.94895 7.756866,-5.92343 12.834096,-5.92343 1.88045,0 3.76091,0.32908 5.64136,0.98724 3.19677,1.12827 5.7824,3.14976 7.75688,6.06447 2.06849,2.82068 3.10274,5.97044 3.10274,9.44928 v 61.7729 c 0,4.51309 -1.6454,8.41504 -4.93619,11.70583 -3.19677,3.19677 -7.09871,4.79516 -11.70582,4.79516 -4.51309,0 -8.41504,-1.59839 -11.705828,-4.79516 -3.196772,-3.29079 -4.795158,-7.19274 -4.795158,-11.70583 v -11.2332 c -0.277898,-3.06563 -2.987588,-1.13379 -3.948953,0 -2.538613,4.70114 -7.401781,7.59567 -13.2572,7.61584 z" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5212"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'OTADESIGN Rounded';-inkscape-font-specification:'OTADESIGN Rounded';fill:#2fa1bb;fill-opacity:1;stroke-width:0.28950602px"
|
||||
d="m 145.83461,185.00361 q -5.92343,0 -10.15445,-4.08999 -4.08999,-4.23102 -4.08999,-10.15445 0,-5.92343 4.08999,-10.01342 4.23102,-4.23102 10.15445,-4.23102 5.92343,0 10.15445,4.23102 4.23102,4.08999 4.23102,10.01342 0,5.92343 -4.23102,10.15445 -4.23102,4.08999 -10.15445,4.08999 z m 0.14103,2.82068 q 5.92343,0 10.01342,4.23102 4.23102,4.23102 4.23102,10.15445 v 34.83541 q 0,5.92343 -4.23102,10.15445 -4.08999,4.08999 -10.01342,4.08999 -5.92343,0 -10.15445,-4.08999 -4.23102,-4.23102 -4.23102,-10.15445 v -34.83541 q 0,-5.92343 4.23102,-10.15445 4.23102,-4.23102 10.15445,-4.23102 z" />
|
||||
transform="matrix(0.26412464,0,0,0.26412464,24.988264,136.28626)"
|
||||
d="m 62.474609,76.585938 c -7.47555,0 -14.595784,1.246427 -21.359375,3.738281 C 29.011968,84.595952 19.044417,92.249798 11.212891,103.28516 3.7373405,113.96451 0,125.88934 0,139.06055 v 233.8789 c 0,17.08697 6.0510264,31.85913 18.154297,44.31836 12.459246,12.10327 27.233346,18.15625 44.320312,18.15625 17.442947,0 32.215089,-6.05298 44.318361,-18.15625 12.45925,-12.45923 18.68945,-27.23139 18.68945,-44.31836 V 330.4082 c 0.13441,-9.21122 9.6225,-6.79429 14.41797,0 8.98111,15.55395 28.02226,28.91242 50.19141,28.83594 22.16915,-0.0764 40.58194,-11.03699 50.19336,-28.83594 3.63981,-4.29263 13.89902,-11.60675 14.95117,0 v 42.53125 c 0,17.08697 6.05102,31.85913 18.15429,44.31836 12.45923,12.10327 27.23335,18.15625 44.32032,18.15625 17.44294,0 32.21509,-6.05298 44.31836,-18.15625 12.45923,-12.45923 18.68945,-27.23139 18.68945,-44.31836 v -233.8789 c 0,-13.17121 -3.9146,-25.09604 -11.74609,-35.77539 -7.47557,-11.035362 -17.26588,-18.689208 -29.36914,-22.960941 -7.11956,-2.491854 -14.23982,-3.738281 -21.35938,-3.738281 -19.22286,0 -35.41865,7.476649 -48.58984,22.427734 l -63.40235,74.199218 c -1.42391,1.06791 -6.14093,9.23242 -16.16015,9.23242 -10.01923,0 -14.20109,-8.16451 -15.625,-9.23242 L 110.53125,99.013672 C 97.716024,84.062587 81.697447,76.585938 62.474609,76.585938 Z m 395.060551,0 c -14.9511,-10e-7 -27.76596,5.340179 -38.44532,16.019531 -10.32338,10.323381 -15.48437,22.961011 -15.48437,37.912111 0,14.9511 5.16099,27.76596 15.48437,38.44531 10.67936,10.32338 23.49422,15.48633 38.44532,15.48633 14.95109,0 27.76596,-5.16295 38.44531,-15.48633 C 506.65982,158.28354 512,145.46868 512,130.51758 512,115.56648 506.65982,102.92885 495.98047,92.605469 485.30112,81.926117 472.48625,76.585938 457.53516,76.585938 Z m 0.5332,118.541012 c -14.9511,0 -27.76596,5.34018 -38.44531,16.01953 -10.67936,10.67936 -16.01758,23.49422 -16.01758,38.44532 v 131.89062 c 0,14.9511 5.33822,27.76596 16.01758,38.44531 10.67935,10.32339 23.49421,15.48633 38.44531,15.48633 14.9511,0 27.58873,-5.16294 37.91211,-15.48633 C 506.65982,409.24838 512,396.43352 512,381.48242 V 249.5918 c 0,-14.9511 -5.34018,-27.76596 -16.01953,-38.44532 -10.32338,-10.67935 -22.96101,-16.01953 -37.91211,-16.01953 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'OTADESIGN Rounded';-inkscape-font-specification:'OTADESIGN Rounded';fill:#2fa3bc;fill-opacity:1;stroke-width:1.09609616px" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
|
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 446 B After Width: | Height: | Size: 430 B |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 774 B After Width: | Height: | Size: 671 B |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1015 B |
129
assets/mi.svg
@ -1,108 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="512"
|
||||
height="512"
|
||||
viewBox="0 0 135.46667 135.46667"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
inkscape:version="0.92.1 r15371"
|
||||
sodipodi:docname="mi.svg"
|
||||
inkscape:export-filename="C:\Users\syuilo\projects\misskey\assets\favicon\32.png"
|
||||
inkscape:export-xdpi="6"
|
||||
inkscape:export-ydpi="6">
|
||||
version="1.1"
|
||||
viewBox="0 0 135.46667 135.46667"
|
||||
height="512"
|
||||
width="512">
|
||||
<defs
|
||||
id="defs2">
|
||||
<inkscape:path-effect
|
||||
effect="simplify"
|
||||
id="path-effect5115"
|
||||
is_visible="true"
|
||||
steps="1"
|
||||
threshold="0.000408163"
|
||||
smooth_angles="360"
|
||||
helper_size="0"
|
||||
simplify_individual_paths="false"
|
||||
simplify_just_coalesce="false"
|
||||
simplifyindividualpaths="false"
|
||||
simplifyJustCoalesce="false" />
|
||||
<inkscape:path-effect
|
||||
effect="simplify"
|
||||
id="path-effect5111"
|
||||
is_visible="true"
|
||||
steps="1"
|
||||
threshold="0.000408163"
|
||||
smooth_angles="360"
|
||||
helper_size="0"
|
||||
simplify_individual_paths="false"
|
||||
simplify_just_coalesce="false"
|
||||
simplifyindividualpaths="false"
|
||||
simplifyJustCoalesce="false" />
|
||||
<inkscape:path-effect
|
||||
effect="simplify"
|
||||
id="path-effect5104"
|
||||
is_visible="true"
|
||||
steps="1"
|
||||
threshold="0.000408163"
|
||||
smooth_angles="360"
|
||||
helper_size="0"
|
||||
simplify_individual_paths="false"
|
||||
simplify_just_coalesce="false"
|
||||
simplifyindividualpaths="false"
|
||||
simplifyJustCoalesce="false" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1.4142136"
|
||||
inkscape:cx="232.39583"
|
||||
inkscape:cy="251.50613"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="g4502"
|
||||
showgrid="true"
|
||||
units="px"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:bbox-nodes="true"
|
||||
inkscape:snap-bbox-edge-midpoints="false"
|
||||
inkscape:snap-smooth-nodes="true"
|
||||
inkscape:snap-center="true"
|
||||
inkscape:snap-page="true"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1027"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="1072"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:snap-object-midpoints="true"
|
||||
inkscape:snap-midpoints="true"
|
||||
inkscape:object-paths="true"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
objecttolerance="1"
|
||||
guidetolerance="1"
|
||||
inkscape:snap-nodes="false"
|
||||
inkscape:snap-others="false">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid4504"
|
||||
spacingx="4.2333334"
|
||||
spacingy="4.2333334"
|
||||
empcolor="#ff3fff"
|
||||
empopacity="0.25098039"
|
||||
empspacing="4" />
|
||||
</sodipodi:namedview>
|
||||
id="defs2" />
|
||||
<metadata
|
||||
id="metadata5">
|
||||
<rdf:RDF>
|
||||
@ -111,32 +20,30 @@
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="レイヤー 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-30.809093,-111.78601)">
|
||||
transform="translate(-30.809093,-111.78601)"
|
||||
id="layer1">
|
||||
<g
|
||||
id="g4502"
|
||||
transform="matrix(1.096096,0,0,1.096096,-2.960633,-44.023579)">
|
||||
transform="matrix(1.096096,0,0,1.096096,-2.960633,-44.023579)"
|
||||
id="g4502">
|
||||
<g
|
||||
style="fill:#000000;fill-opacity:1"
|
||||
id="g5125"
|
||||
transform="translate(-1.3333333e-6,-1.3439941e-6)"
|
||||
id="g5125">
|
||||
style="fill:#000000;fill-opacity:1">
|
||||
<g
|
||||
transform="matrix(0.91391326,0,0,0.91391326,7.9719907,17.595761)"
|
||||
id="text4489"
|
||||
aria-label="Mi"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:141.03404236px;line-height:476.69509888px;font-family:'OTADESIGN Rounded';-inkscape-font-specification:'OTADESIGN Rounded';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.28950602px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
aria-label="Mi">
|
||||
id="text4489"
|
||||
transform="matrix(0.91391326,0,0,0.91391326,7.9719907,17.595761)">
|
||||
<path
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'OTADESIGN Rounded';-inkscape-font-specification:'OTADESIGN Rounded';fill:#000000;fill-opacity:1;stroke-width:1.09609616px"
|
||||
d="M 62.474609 76.585938 C 54.999059 76.585938 47.878825 77.832365 41.115234 80.324219 C 29.011968 84.595952 19.044417 92.249798 11.212891 103.28516 C 3.7373405 113.96451 0 125.88934 0 139.06055 L 0 372.93945 C 0 390.02642 6.0510264 404.79858 18.154297 417.25781 C 30.613543 429.36108 45.387643 435.41406 62.474609 435.41406 C 79.917556 435.41406 94.689698 429.36108 106.79297 417.25781 C 119.25222 404.79858 125.48242 390.02642 125.48242 372.93945 L 125.48242 330.4082 C 125.61683 321.19698 135.10492 323.61391 139.90039 330.4082 C 148.8815 345.96215 167.92265 359.32062 190.0918 359.24414 C 212.26095 359.16778 230.67374 348.20715 240.28516 330.4082 C 243.92497 326.11557 254.18418 318.80145 255.23633 330.4082 L 255.23633 372.93945 C 255.23633 390.02642 261.28735 404.79858 273.39062 417.25781 C 285.84985 429.36108 300.62397 435.41406 317.71094 435.41406 C 335.15388 435.41406 349.92603 429.36108 362.0293 417.25781 C 374.48853 404.79858 380.71875 390.02642 380.71875 372.93945 L 380.71875 139.06055 C 380.71875 125.88934 376.80415 113.96451 368.97266 103.28516 C 361.49709 92.249798 351.70678 84.595952 339.60352 80.324219 C 332.48396 77.832365 325.3637 76.585938 318.24414 76.585938 C 299.02128 76.585938 282.82549 84.062587 269.6543 99.013672 C 262.53473 107.20121 258.79542 111.11761 258.43945 110.76172 C 258.43945 110.76172 207.67587 172.14495 206.25195 173.21289 C 204.82804 174.2808 200.11102 182.44531 190.0918 182.44531 C 180.07257 182.44531 175.89071 174.2808 174.4668 173.21289 C 173.04288 172.14495 122.2793 110.76172 122.2793 110.76172 C 121.21136 110.40575 117.29484 106.48923 110.53125 99.013672 C 97.716024 84.062587 81.697447 76.585938 62.474609 76.585938 z M 457.53516 76.585938 C 442.58406 76.585937 429.7692 81.926117 419.08984 92.605469 C 408.76646 102.92885 403.60547 115.56648 403.60547 130.51758 C 403.60547 145.46868 408.76646 158.28354 419.08984 168.96289 C 429.7692 179.28627 442.58406 184.44922 457.53516 184.44922 C 472.48625 184.44922 485.30112 179.28627 495.98047 168.96289 C 506.65982 158.28354 512 145.46868 512 130.51758 C 512 115.56648 506.65982 102.92885 495.98047 92.605469 C 485.30112 81.926117 472.48625 76.585938 457.53516 76.585938 z M 458.06836 195.12695 C 443.11726 195.12695 430.3024 200.46713 419.62305 211.14648 C 408.94369 221.82584 403.60547 234.6407 403.60547 249.5918 L 403.60547 381.48242 C 403.60547 396.43352 408.94369 409.24838 419.62305 419.92773 C 430.3024 430.25112 443.11726 435.41406 458.06836 435.41406 C 473.01946 435.41406 485.65709 430.25112 495.98047 419.92773 C 506.65982 409.24838 512 396.43352 512 381.48242 L 512 249.5918 C 512 234.6407 506.65982 221.82584 495.98047 211.14648 C 485.65709 200.46713 473.01946 195.12695 458.06836 195.12695 z "
|
||||
id="path5210"
|
||||
transform="matrix(0.26412464,0,0,0.26412464,24.988264,136.28626)"
|
||||
id="path5210" />
|
||||
d="m 62.474609,76.585938 c -7.47555,0 -14.595784,1.246427 -21.359375,3.738281 C 29.011968,84.595952 19.044417,92.249798 11.212891,103.28516 3.7373405,113.96451 0,125.88934 0,139.06055 v 233.8789 c 0,17.08697 6.0510264,31.85913 18.154297,44.31836 12.459246,12.10327 27.233346,18.15625 44.320312,18.15625 17.442947,0 32.215089,-6.05298 44.318361,-18.15625 12.45925,-12.45923 18.68945,-27.23139 18.68945,-44.31836 V 330.4082 c 0.13441,-9.21122 9.6225,-6.79429 14.41797,0 8.98111,15.55395 28.02226,28.91242 50.19141,28.83594 22.16915,-0.0764 40.58194,-11.03699 50.19336,-28.83594 3.63981,-4.29263 13.89902,-11.60675 14.95117,0 v 42.53125 c 0,17.08697 6.05102,31.85913 18.15429,44.31836 12.45923,12.10327 27.23335,18.15625 44.32032,18.15625 17.44294,0 32.21509,-6.05298 44.31836,-18.15625 12.45923,-12.45923 18.68945,-27.23139 18.68945,-44.31836 v -233.8789 c 0,-13.17121 -3.9146,-25.09604 -11.74609,-35.77539 -7.47557,-11.035362 -17.26588,-18.689208 -29.36914,-22.960941 -7.11956,-2.491854 -14.23982,-3.738281 -21.35938,-3.738281 -19.22286,0 -35.41865,7.476649 -48.58984,22.427734 l -63.40235,74.199218 c -1.42391,1.06791 -6.14093,9.23242 -16.16015,9.23242 -10.01923,0 -14.20109,-8.16451 -15.625,-9.23242 L 110.53125,99.013672 C 97.716024,84.062587 81.697447,76.585938 62.474609,76.585938 Z m 395.060551,0 c -14.9511,-10e-7 -27.76596,5.340179 -38.44532,16.019531 -10.32338,10.323381 -15.48437,22.961011 -15.48437,37.912111 0,14.9511 5.16099,27.76596 15.48437,38.44531 10.67936,10.32338 23.49422,15.48633 38.44532,15.48633 14.95109,0 27.76596,-5.16295 38.44531,-15.48633 C 506.65982,158.28354 512,145.46868 512,130.51758 512,115.56648 506.65982,102.92885 495.98047,92.605469 485.30112,81.926117 472.48625,76.585938 457.53516,76.585938 Z m 0.5332,118.541012 c -14.9511,0 -27.76596,5.34018 -38.44531,16.01953 -10.67936,10.67936 -16.01758,23.49422 -16.01758,38.44532 v 131.89062 c 0,14.9511 5.33822,27.76596 16.01758,38.44531 10.67935,10.32339 23.49421,15.48633 38.44531,15.48633 14.9511,0 27.58873,-5.16294 37.91211,-15.48633 C 506.65982,409.24838 512,396.43352 512,381.48242 V 249.5918 c 0,-14.9511 -5.34018,-27.76596 -16.01953,-38.44532 -10.32338,-10.67935 -22.96101,-16.01953 -37.91211,-16.01953 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'OTADESIGN Rounded';-inkscape-font-specification:'OTADESIGN Rounded';fill:#000000;fill-opacity:1;stroke-width:1.09609616px" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
|
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 4.1 KiB |
4
assets/robots.txt
Normal file
@ -0,0 +1,4 @@
|
||||
user-agent: *
|
||||
allow: /
|
||||
|
||||
# todo: sitemap
|
BIN
assets/ss/explore.jpg
Normal file
After Width: | Height: | Size: 238 KiB |
BIN
assets/ss/user.jpg
Normal file
After Width: | Height: | Size: 148 KiB |
BIN
assets/title.png
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
@ -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);
|
||||
});
|
@ -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);
|
@ -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);
|
@ -1,9 +0,0 @@
|
||||
const { default: DriveFile } = require('../../built/models/drive-file');
|
||||
|
||||
DriveFile.update({}, {
|
||||
$rename: {
|
||||
'metadata.isMetaOnly': 'metadata.withoutChunks'
|
||||
}
|
||||
}, {
|
||||
multi: true
|
||||
});
|
@ -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();
|
@ -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();
|
@ -1,29 +0,0 @@
|
||||
const mongo = require('mongodb');
|
||||
const bcrypt = require('bcryptjs');
|
||||
const User = require('../built/models/user').default;
|
||||
|
||||
const args = process.argv.slice(2);
|
||||
|
||||
const user = args[0];
|
||||
|
||||
const q = user.startsWith('@') ? {
|
||||
username: user.split('@')[1],
|
||||
host: user.split('@')[2] || null
|
||||
} : { _id: new mongo.ObjectID(user) };
|
||||
|
||||
console.log(`Resetting password for ${user}...`);
|
||||
|
||||
const passwd = 'yo';
|
||||
|
||||
// Generate hash of password
|
||||
const hash = bcrypt.hashSync(passwd);
|
||||
|
||||
User.update(q, {
|
||||
$set: {
|
||||
password: hash
|
||||
}
|
||||
}).then(() => {
|
||||
console.log(`Password of ${user} is now '${passwd}'`);
|
||||
}, e => {
|
||||
console.error(e);
|
||||
});
|
@ -1,23 +0,0 @@
|
||||
const mongo = require('mongodb');
|
||||
const User = require('../built/models/user').default;
|
||||
|
||||
const args = process.argv.slice(2);
|
||||
|
||||
const user = args[0];
|
||||
|
||||
const q = user.startsWith('@') ? {
|
||||
username: user.split('@')[1],
|
||||
host: user.split('@')[2] || null
|
||||
} : { _id: new mongo.ObjectID(user) };
|
||||
|
||||
console.log(`Suspending ${user}...`);
|
||||
|
||||
User.update(q, {
|
||||
$set: {
|
||||
isSuspended: true
|
||||
}
|
||||
}).then(() => {
|
||||
console.log(`Suspended ${user}`);
|
||||
}, e => {
|
||||
console.error(e);
|
||||
});
|
@ -5,8 +5,8 @@ services:
|
||||
build: .
|
||||
restart: always
|
||||
links:
|
||||
- mongo
|
||||
# - redis
|
||||
- db
|
||||
- redis
|
||||
# - es
|
||||
ports:
|
||||
- "127.0.0.1:3000:3000"
|
||||
@ -14,26 +14,23 @@ services:
|
||||
- internal_network
|
||||
- external_network
|
||||
|
||||
# redis:
|
||||
# restart: always
|
||||
# image: redis:4.0-alpine
|
||||
# networks:
|
||||
# - internal_network
|
||||
### Uncomment to enable Redis persistance
|
||||
## volumes:
|
||||
## - ./redis:/data
|
||||
|
||||
mongo:
|
||||
redis:
|
||||
restart: always
|
||||
image: mongo:4.1
|
||||
image: redis:4.0-alpine
|
||||
networks:
|
||||
- internal_network
|
||||
environment:
|
||||
MONGO_INITDB_DATABASE: "misskey"
|
||||
volumes:
|
||||
- ./.config/mongo_initdb.js:/docker-entrypoint-initdb.d/mongo_initdb.js:ro
|
||||
### Uncomment to enable MongoDB persistance
|
||||
# - ./mongo:/data
|
||||
- ./redis:/data
|
||||
|
||||
db:
|
||||
restart: always
|
||||
image: postgres:11.2-alpine
|
||||
networks:
|
||||
- internal_network
|
||||
env_file:
|
||||
- .config/docker.env
|
||||
volumes:
|
||||
- ./db:/var/lib/postgresql/data
|
||||
|
||||
# es:
|
||||
# restart: always
|
||||
@ -42,9 +39,8 @@ services:
|
||||
# - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
|
||||
# networks:
|
||||
# - internal_network
|
||||
#### Uncomment to enable ES persistence
|
||||
## volumes:
|
||||
## - ./elasticsearch:/usr/share/elasticsearch/data
|
||||
# volumes:
|
||||
# - ./elasticsearch:/usr/share/elasticsearch/data
|
||||
|
||||
networks:
|
||||
internal_network:
|
||||
|
@ -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, plese 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/).
|
@ -11,13 +11,41 @@ This guide describes how to install and setup Misskey with Docker.
|
||||
----------------------------------------------------------------
|
||||
1. `git clone -b master git://github.com/syuilo/misskey.git` Clone Misskey repository's master branch.
|
||||
2. `cd misskey` Move to misskey directory.
|
||||
3. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)` Checkout to the [latest release](https://github.com/syuilo/misskey/releases/latest) tag.
|
||||
3. `git checkout $(git tag -l | grep -Ev -- '-(rc|alpha)\.[0-9]+$' | sort -V | tail -n 1)` Checkout to the [latest release](https://github.com/syuilo/misskey/releases/latest) tag.
|
||||
|
||||
*2.* Make configuration files
|
||||
*2.* Configure Misskey
|
||||
----------------------------------------------------------------
|
||||
1. `cp .config/example.yml .config/default.yml` Copy the `.config/example.yml` and rename it to `default.yml`.
|
||||
2. `cp .config/mongo_initdb_example.js .config/mongo_initdb.js` Copy the `.config/mongo_initdb_example.js` and rename it to `mongo_initdb.js`.
|
||||
2. Edit `default.yml` and `mongo_initdb.js`.
|
||||
|
||||
Create configuration files with following:
|
||||
|
||||
```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
|
||||
----------------------------------------------------------------
|
||||
@ -31,23 +59,23 @@ Build misskey with the following:
|
||||
|
||||
*5.* That is it.
|
||||
----------------------------------------------------------------
|
||||
Well done! Now, you have an environment that run to Misskey.
|
||||
Well done! Now you have an environment to run Misskey.
|
||||
|
||||
### Launch normally
|
||||
Just `docker-compose up -d`. GLHF!
|
||||
|
||||
### Way to Update to latest version of your Misskey
|
||||
### How to update your Misskey server to the latest version
|
||||
1. `git fetch`
|
||||
2. `git stash`
|
||||
3. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)`
|
||||
3. `git checkout $(git tag -l | grep -Ev -- '-(rc|alpha)\.[0-9]+$' | sort -V | tail -n 1)`
|
||||
4. `git stash pop`
|
||||
5. `docker-compose build`
|
||||
6. Check [ChangeLog](../CHANGELOG.md) for migration information
|
||||
7. `docker-compose stop && docker-compose up -d`
|
||||
|
||||
### Way to execute cli command:
|
||||
### How to execute [cli commands](manage.en.md):
|
||||
`docker-compose run --rm web node cli/mark-admin @example`
|
||||
|
||||
----------------------------------------------------------------
|
||||
|
||||
If you have any questions or troubles, feel free to contact us!
|
||||
If you have any questions or trouble, feel free to contact us!
|
||||
|
67
docs/docker.fr.md
Normal file
@ -0,0 +1,67 @@
|
||||
Guide Docker
|
||||
================================================================
|
||||
|
||||
Ce guide explique comment installer et configurer Misskey avec Docker.
|
||||
|
||||
[Version japonaise également disponible - Japanese version also available - 日本語版もあります](./docker.ja.md)
|
||||
[Version anglaise également disponible - English version also available - 英語版もあります](./docker.en.md)
|
||||
|
||||
----------------------------------------------------------------
|
||||
|
||||
*1.* Télécharger Misskey
|
||||
----------------------------------------------------------------
|
||||
1. `git clone -b master git://github.com/syuilo/misskey.git` Clone le dépôt de Misskey sur la branche master.
|
||||
2. `cd misskey` Naviguez dans le dossier du dépôt.
|
||||
3. `git checkout $(git tag -l | grep -Ev -- '-(rc|alpha)\.[0-9]+$' | sort -V | tail -n 1)` Checkout sur le tag de la [dernière version](https://github.com/syuilo/misskey/releases/latest).
|
||||
|
||||
*2.* Configuration de Misskey
|
||||
----------------------------------------------------------------
|
||||
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`.
|
||||
3. Editez `default.yml` et `mongo_initdb.js`.
|
||||
|
||||
*3.* Configurer Docker
|
||||
----------------------------------------------------------------
|
||||
Editez `docker-compose.yml`.
|
||||
|
||||
*4.* Contruire Misskey
|
||||
----------------------------------------------------------------
|
||||
Contruire l'image Docker avec:
|
||||
|
||||
`docker-compose build`
|
||||
|
||||
*5.* C'est tout !
|
||||
----------------------------------------------------------------
|
||||
Parfait, Vous avez un environnement prêt pour démarrer Misskey.
|
||||
|
||||
### Lancer normalement
|
||||
Utilisez la commande `docker-compose up -d`. GLHF!
|
||||
|
||||
### How to update your Misskey server to the latest version
|
||||
1. `git fetch`
|
||||
2. `git stash`
|
||||
3. `git checkout $(git tag -l | grep -Ev -- '-(rc|alpha)\.[0-9]+$' | sort -V | tail -n 1)`
|
||||
4. `git stash pop`
|
||||
5. `docker-compose build`
|
||||
6. Consultez le [ChangeLog](../CHANGELOG.md) pour avoir les éventuelles informations de migration
|
||||
7. `docker-compose stop && docker-compose up -d`
|
||||
|
||||
### Comment exécuter des [commandes](manage.fr.md)
|
||||
`docker-compose run --rm web node cli/mark-admin @example`
|
||||
|
||||
### Configuration d'ElasticSearch (pour la fonction de recherche)
|
||||
*1.* Préparation de l'environnement
|
||||
----------------------------------------------------------------
|
||||
1. `mkdir elasticsearch && chown 1000:1000 elasticsearch` Permet de créer le dossier d'accueil de la base ElasticSearch aves les bons droits
|
||||
2. `sysctl -w vm.max_map_count=262144` Augmente la valeur max du paramètre map_count du système (valeur minimum pour pouvoir lancer ES)
|
||||
|
||||
*2.* Après lancement du docker-compose, initialisation de la base ElasticSearch
|
||||
----------------------------------------------------------------
|
||||
1. `docker-compose -it web /bin/sh` Connexion dans le conteneur web
|
||||
2. `apk add curl` Ajout du paquet curl
|
||||
3. `curl -X PUT "es:9200/misskey" -H 'Content-Type: application/json' -d'{ "settings" : { "index" : { } }}'` Création de la base ES
|
||||
4. `exit`
|
||||
|
||||
----------------------------------------------------------------
|
||||
|
||||
Si vous avez des questions ou des problèmes, n'hésitez pas à nous contacter !
|
@ -11,13 +11,41 @@ Dockerを使ったMisskey構築方法
|
||||
----------------------------------------------------------------
|
||||
1. `git clone -b master git://github.com/syuilo/misskey.git` masterブランチからMisskeyレポジトリをクローン
|
||||
2. `cd misskey` misskeyディレクトリに移動
|
||||
3. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)` [最新のリリース](https://github.com/syuilo/misskey/releases/latest)を確認
|
||||
3. `git checkout $(git tag -l | grep -Ev -- '-(rc|alpha)\.[0-9]+$' | sort -V | tail -n 1)` [最新のリリース](https://github.com/syuilo/misskey/releases/latest)を確認
|
||||
|
||||
*2.* 設定ファイルを作成する
|
||||
*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の設定
|
||||
----------------------------------------------------------------
|
||||
@ -39,7 +67,7 @@ Dockerを使ったMisskey構築方法
|
||||
### Misskeyを最新バージョンにアップデートする方法:
|
||||
1. `git fetch`
|
||||
2. `git stash`
|
||||
3. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)`
|
||||
3. `git checkout $(git tag -l | grep -Ev -- '-(rc|alpha)\.[0-9]+$' | sort -V | tail -n 1)`
|
||||
4. `git stash pop`
|
||||
5. `docker-compose build`
|
||||
6. [ChangeLog](../CHANGELOG.md)でマイグレーション情報を確認する
|
||||
|
70
docs/examples/misskey.nginx
Normal file
@ -0,0 +1,70 @@
|
||||
# Sample nginx configuration for Misskey
|
||||
#
|
||||
# 1. Replace example.tld to your domain
|
||||
# 2. Copy to /etc/nginx/sites-available/ and then symlink from /etc/nginx/sites-ebabled/
|
||||
# or copy to /etc/nginx/conf.d/
|
||||
|
||||
# For WebSocket
|
||||
map $http_upgrade $connection_upgrade {
|
||||
default upgrade;
|
||||
'' close;
|
||||
}
|
||||
|
||||
proxy_cache_path /tmp/nginx_cache levels=1:2 keys_zone=cache1:16m max_size=1g inactive=720m use_temp_path=off;
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
server_name example.tld;
|
||||
|
||||
# For SSL domain validation
|
||||
root /var/www/html;
|
||||
location /.well-known/acme-challenge/ { allow all; }
|
||||
location /.well-known/pki-validation/ { allow all; }
|
||||
location / { return 301 https://$server_name$request_uri; }
|
||||
}
|
||||
|
||||
server {
|
||||
listen 443 http2;
|
||||
listen [::]:443 http2;
|
||||
server_name example.tld;
|
||||
ssl on;
|
||||
ssl_session_cache shared:ssl_session_cache:10m;
|
||||
|
||||
# To use Let's Encrypt certificate
|
||||
ssl_certificate /etc/letsencrypt/live/example.tld/fullchain.pem;
|
||||
ssl_certificate_key /etc/letsencrypt/live/example.tld/privkey.pem;
|
||||
|
||||
# To use Debian/Ubuntu's self-signed certificate (For testing or before issuing a certificate)
|
||||
#ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
|
||||
#ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;
|
||||
|
||||
# SSL protocol settings
|
||||
ssl_protocols TLSv1 TLSv1.2;
|
||||
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES128-SHA;
|
||||
ssl_prefer_server_ciphers on;
|
||||
|
||||
# Change to your upload limit
|
||||
client_max_body_size 80m;
|
||||
|
||||
# Proxy to Node
|
||||
location / {
|
||||
proxy_pass http://127.0.0.1:3000;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto https;
|
||||
proxy_http_version 1.1;
|
||||
proxy_redirect off;
|
||||
|
||||
# For WebSocket
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection $connection_upgrade;
|
||||
|
||||
# Cache settings
|
||||
proxy_cache cache1;
|
||||
proxy_cache_lock on;
|
||||
proxy_cache_use_stale updating;
|
||||
add_header X-Cache $upstream_cache_status;
|
||||
}
|
||||
}
|
@ -8,28 +8,11 @@ coming soon
|
||||
node cli/mark-admin (User-ID or Username)
|
||||
```
|
||||
|
||||
## Mark as 'verified' user
|
||||
``` shell
|
||||
node cli/mark-verified (User-ID or Username)
|
||||
```
|
||||
|
||||
## Suspend users
|
||||
``` shell
|
||||
node cli/suspend (User-ID or Username)
|
||||
```
|
||||
e.g.
|
||||
``` shell
|
||||
# Use id
|
||||
node cli/suspend 57d01a501fdf2d07be417afe
|
||||
# By id
|
||||
node cli/mark-admin 57d01a501fdf2d07be417afe
|
||||
|
||||
# Use username
|
||||
# By username
|
||||
node cli/suspend @syuilo
|
||||
|
||||
# Use username (remote)
|
||||
node cli/suspend @syuilo@misskey.xyz
|
||||
```
|
||||
|
||||
## Reset password
|
||||
``` shell
|
||||
node cli/reset-password (User-ID or Username)
|
||||
```
|
||||
|
18
docs/manage.fr.md
Normal file
@ -0,0 +1,18 @@
|
||||
# Guide d'administration
|
||||
|
||||
## Vérifier le status de la file d'attente des taches
|
||||
coming soon
|
||||
|
||||
## Marquer un utilisateur en tant que 'admin'
|
||||
``` shell
|
||||
node cli/mark-admin (ID utilisateur ou nom d'utilisateur)
|
||||
```
|
||||
|
||||
Exemple :
|
||||
``` shell
|
||||
# Par id
|
||||
node cli/mark-admin 57d01a501fdf2d07be417afe
|
||||
|
||||
# Par nom d'utilisateur
|
||||
node cli/suspend @syuilo
|
||||
```
|
@ -8,28 +8,11 @@ coming soon
|
||||
node cli/mark-admin (ユーザーID または ユーザー名)
|
||||
```
|
||||
|
||||
## 'verified'ユーザーを設定する
|
||||
``` shell
|
||||
node cli/mark-verified (ユーザーID または ユーザー名)
|
||||
```
|
||||
|
||||
## ユーザーを凍結する
|
||||
``` shell
|
||||
node cli/suspend (ユーザーID または ユーザー名)
|
||||
```
|
||||
例:
|
||||
``` shell
|
||||
# ユーザーID
|
||||
node cli/suspend 57d01a501fdf2d07be417afe
|
||||
node cli/mark-admin 57d01a501fdf2d07be417afe
|
||||
|
||||
# ユーザー名
|
||||
node cli/suspend @syuilo
|
||||
|
||||
# ユーザー名 (リモート)
|
||||
node cli/suspend @syuilo@misskey.xyz
|
||||
```
|
||||
|
||||
## ユーザーのパスワードをリセットする
|
||||
``` shell
|
||||
node cli/reset-password (ユーザーID または ユーザー名)
|
||||
node cli/mark-admin @syuilo
|
||||
```
|
||||
|
@ -10,7 +10,7 @@ This guide describes how to install and setup Misskey.
|
||||
|
||||
*1.* Create Misskey user
|
||||
----------------------------------------------------------------
|
||||
Running misskey on root is not a good idea so we create a user for that.
|
||||
Running misskey as root is not a good idea so we create a user for that.
|
||||
In debian for exemple :
|
||||
|
||||
```
|
||||
@ -22,52 +22,33 @@ adduser --disabled-password --disabled-login misskey
|
||||
Please install and setup these softwares:
|
||||
|
||||
#### Dependencies :package:
|
||||
* **[Node.js](https://nodejs.org/en/)** >= 10.0.0
|
||||
* **[MongoDB](https://www.mongodb.com/)** >= 3.6
|
||||
* **[Node.js](https://nodejs.org/en/)** >= 11.7.0
|
||||
* **[PostgreSQL](https://www.postgresql.org/)** >= 10
|
||||
* **[Redis](https://redis.io/)**
|
||||
|
||||
##### 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
|
||||
* [FFmpeg](https://www.ffmpeg.org/)
|
||||
|
||||
*3.* Setup MongoDB
|
||||
----------------------------------------------------------------
|
||||
In root :
|
||||
1. `mongo` Go to the mongo shell
|
||||
2. `use misskey` Use the misskey database
|
||||
3. `db.users.save( {dummy:"dummy"} )` Write dummy data to initialize the db.
|
||||
4. `db.createUser( { user: "misskey", pwd: "<password>", roles: [ { role: "readWrite", db: "misskey" } ] } )` Create the misskey user.
|
||||
5. `exit` You're done !
|
||||
|
||||
*4.* Install Misskey
|
||||
*3.* Install Misskey
|
||||
----------------------------------------------------------------
|
||||
1. `su - misskey` Connect to misskey user.
|
||||
2. `git clone -b master git://github.com/syuilo/misskey.git` Clone the misskey repo from master branch.
|
||||
3. `cd misskey` Navigate to misskey directory
|
||||
4. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)` Checkout to the [latest release](https://github.com/syuilo/misskey/releases/latest)
|
||||
4. `git checkout $(git tag -l | grep -Ev -- '-(rc|alpha)\.[0-9]+$' | sort -V | tail -n 1)` Checkout to the [latest release](https://github.com/syuilo/misskey/releases/latest)
|
||||
5. `npm install` Install misskey dependencies.
|
||||
|
||||
*(optional)* Generating VAPID keys
|
||||
----------------------------------------------------------------
|
||||
If you want to enable ServiceWorker, you need to generate VAPID keys:
|
||||
Unless you have set your global node_modules location elsewhere, you need to run this in root.
|
||||
|
||||
``` shell
|
||||
npm install web-push -g
|
||||
web-push generate-vapid-keys
|
||||
```
|
||||
|
||||
*5.* Make configuration file
|
||||
*4.* Configure Misskey
|
||||
----------------------------------------------------------------
|
||||
1. `cp .config/example.yml .config/default.yml` Copy the `.config/example.yml` and rename it to `default.yml`.
|
||||
2. Edit `default.yml`
|
||||
|
||||
*6.* Build Misskey
|
||||
*5.* Build Misskey
|
||||
----------------------------------------------------------------
|
||||
|
||||
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.
|
||||
|
||||
@ -76,14 +57,20 @@ If you're still encountering errors about some modules, use node-gyp:
|
||||
1. `npm install -g node-gyp`
|
||||
2. `node-gyp configure`
|
||||
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.
|
||||
----------------------------------------------------------------
|
||||
Well done! Now, you have an environment that run to Misskey.
|
||||
|
||||
### Launch normally
|
||||
Just `npm start`. GLHF!
|
||||
Just `NODE_ENV=production npm start`. GLHF!
|
||||
|
||||
### Launch with systemd
|
||||
|
||||
@ -99,6 +86,7 @@ Type=simple
|
||||
User=misskey
|
||||
ExecStart=/usr/bin/npm start
|
||||
WorkingDirectory=/home/misskey/misskey
|
||||
Environment="NODE_ENV=production"
|
||||
TimeoutSec=60
|
||||
StandardOutput=syslog
|
||||
StandardError=syslog
|
||||
@ -114,12 +102,14 @@ WantedBy=multi-user.target
|
||||
|
||||
You can check if the service is running with `systemctl status misskey`.
|
||||
|
||||
### Way to Update to latest version of your Misskey
|
||||
### How to update your Misskey server to the latest version
|
||||
1. `git fetch`
|
||||
2. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)`
|
||||
2. `git checkout $(git tag -l | grep -Ev -- '-(rc|alpha)\.[0-9]+$' | sort -V | tail -n 1)`
|
||||
3. `npm install`
|
||||
4. `npm run build`
|
||||
4. `NODE_ENV=production npm run build`
|
||||
5. Check [ChangeLog](../CHANGELOG.md) for migration information
|
||||
6. Restart your Misskey process to apply changes
|
||||
7. Enjoy
|
||||
|
||||
----------------------------------------------------------------
|
||||
|
||||
|
@ -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
|
||||
----------------------------------------------------------------
|
||||
Lancer misskey en tant qu'utilisateur est une mauvaise idée, nous avons besoin de créer un utilisateur dédié.
|
||||
Sur Debian, à titre d'exemple :
|
||||
Executer misskey en tant que super-utilisateur étant une mauvaise idée, nous allons créer un utilisateur dédié.
|
||||
Sous Debian, par exemple :
|
||||
|
||||
```
|
||||
adduser --disabled-password --disabled-login misskey
|
||||
@ -22,72 +22,53 @@ adduser --disabled-password --disabled-login misskey
|
||||
Installez les paquets suivants :
|
||||
|
||||
#### Dépendences :package:
|
||||
* **[Node.js](https://nodejs.org/en/)** >= 10.0.0
|
||||
* **[MongoDB](https://www.mongodb.com/)** >= 3.6
|
||||
* **[Node.js](https://nodejs.org/en/)** >= 11.7.0
|
||||
* **[PostgreSQL](https://www.postgresql.org/)** >= 10
|
||||
* **[Redis](https://redis.io/)**
|
||||
|
||||
##### 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
|
||||
* [FFmpeg](https://www.ffmpeg.org/)
|
||||
|
||||
*3.* Paramètrage de MongoDB
|
||||
----------------------------------------------------------------
|
||||
En mode root :
|
||||
1. `mongo` Accédez au shell de mango
|
||||
2. `use misskey` Utilisez la base de données misskey
|
||||
3. `db.users.save( {dummy:"dummy"} )` Write dummy data to initialize the db.
|
||||
4. `db.createUser( { user: "misskey", pwd: "<password>", roles: [ { role: "readWrite", db: "misskey" } ] } )` Créez l'utilisateur misskey.
|
||||
5. `exit` Vous avez terminé !
|
||||
|
||||
*4.* Installation de Misskey
|
||||
*3.* Installation de Misskey
|
||||
----------------------------------------------------------------
|
||||
1. `su - misskey` Basculez vers l'utilisateur misskey.
|
||||
2. `git clone -b master git://github.com/syuilo/misskey.git` Clonez la branche master du dépôt misskey.
|
||||
3. `cd misskey` Accédez au dossier misskey.
|
||||
4. `git checkout $(git tag -l | grep -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)
|
||||
4. `git checkout $(git tag -l | grep -Ev -- '-(rc|alpha)\.[0-9]+$' | sort -V | tail -n 1)` Checkout sur le tag de la [version la plus récente](https://github.com/syuilo/misskey/releases/latest)
|
||||
5. `npm install` Installez les dépendances de misskey.
|
||||
|
||||
*(optionnel)* Génération des clés VAPID
|
||||
----------------------------------------------------------------
|
||||
Si vous désirez activer ServiceWorker, vous devez générer les clés VAPID :
|
||||
Unless you have set your global node_modules location elsewhere, vous devez lancer ceci en mode root.
|
||||
|
||||
``` shell
|
||||
npm install web-push -g
|
||||
web-push generate-vapid-keys
|
||||
```
|
||||
|
||||
*5.* Création du fichier de configuration
|
||||
*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`.
|
||||
2. Editez le fichier `default.yml`
|
||||
|
||||
*6.* Construction de Misskey
|
||||
*5.* Construction de Misskey
|
||||
----------------------------------------------------------------
|
||||
|
||||
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:
|
||||
|
||||
1. `npm install -g node-gyp`
|
||||
2. `node-gyp configure`
|
||||
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
|
||||
|
||||
### 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
|
||||
|
||||
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 :
|
||||
|
||||
```
|
||||
@ -99,6 +80,7 @@ Type=simple
|
||||
User=misskey
|
||||
ExecStart=/usr/bin/npm start
|
||||
WorkingDirectory=/home/misskey/misskey
|
||||
Environment="NODE_ENV=production"
|
||||
TimeoutSec=60
|
||||
StandardOutput=syslog
|
||||
StandardError=syslog
|
||||
@ -116,9 +98,9 @@ Vous pouvez vérifier si le service a démarré en utilisant la commande `system
|
||||
|
||||
### Méthode de mise à jour vers la plus récente version de Misskey
|
||||
1. `git fetch`
|
||||
2. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)`
|
||||
2. `git checkout $(git tag -l | grep -Ev -- '-(rc|alpha)\.[0-9]+$' | sort -V | tail -n 1)`
|
||||
3. `npm install`
|
||||
4. `npm run build`
|
||||
4. `NODE_ENV=production npm run build`
|
||||
5. Consultez [ChangeLog](../CHANGELOG.md) pour les information de migration.
|
||||
|
||||
----------------------------------------------------------------
|
||||
|
@ -22,57 +22,34 @@ adduser --disabled-password --disabled-login misskey
|
||||
これらのソフトウェアをインストール・設定してください:
|
||||
|
||||
#### 依存関係 :package:
|
||||
* **[Node.js](https://nodejs.org/en/)** (10.0.0以上)
|
||||
* **[MongoDB](https://www.mongodb.com/)** (3.6以上)
|
||||
* **[Node.js](https://nodejs.org/en/)** (11.7.0以上)
|
||||
* **[PostgreSQL](https://www.postgresql.org/)** (10以上)
|
||||
* **[Redis](https://redis.io/)**
|
||||
|
||||
##### オプション
|
||||
* [Redis](https://redis.io/)
|
||||
* Redisはオプションですが、インストールすることを強く推奨します。
|
||||
* インストールしなくていいのは、あなたのインスタンスが自分専用のときだけとお考えください。
|
||||
* 具体的には、Redisをインストールしないと、次の事が出来なくなります:
|
||||
* Misskeyプロセスを複数起動しての負荷分散
|
||||
* レートリミット
|
||||
* Twitter連携
|
||||
* [Elasticsearch](https://www.elastic.co/)
|
||||
* 検索機能を有効にするためにはインストールが必要です。
|
||||
* [FFmpeg](https://www.ffmpeg.org/)
|
||||
|
||||
*3.* MongoDBの設定
|
||||
----------------------------------------------------------------
|
||||
ルートで:
|
||||
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のインストール
|
||||
*3.* Misskeyのインストール
|
||||
----------------------------------------------------------------
|
||||
1. `su - misskey` misskeyユーザーを使用
|
||||
2. `git clone -b master git://github.com/syuilo/misskey.git` masterブランチからMisskeyレポジトリをクローン
|
||||
3. `cd misskey` misskeyディレクトリに移動
|
||||
4. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)` [最新のリリース](https://github.com/syuilo/misskey/releases/latest)を確認
|
||||
4. `git checkout $(git tag -l | grep -Ev -- '-(rc|alpha)\.[0-9]+$' | sort -V | tail -n 1)` [最新のリリース](https://github.com/syuilo/misskey/releases/latest)を確認
|
||||
5. `npm install` Misskeyの依存パッケージをインストール
|
||||
|
||||
*(オプション)* VAPIDキーペアの生成
|
||||
----------------------------------------------------------------
|
||||
ServiceWorkerを有効にする場合、VAPIDキーペアを生成する必要があります:
|
||||
|
||||
``` shell
|
||||
npm install web-push -g
|
||||
web-push generate-vapid-keys
|
||||
```
|
||||
|
||||
*5.* 設定ファイルを作成する
|
||||
*4.* 設定ファイルを作成する
|
||||
----------------------------------------------------------------
|
||||
1. `cp .config/example.yml .config/default.yml` `.config/example.yml`をコピーし名前を`default.yml`にする。
|
||||
2. `default.yml` を編集する。
|
||||
|
||||
*6.* Misskeyのビルド
|
||||
*5.* Misskeyのビルド
|
||||
----------------------------------------------------------------
|
||||
|
||||
次のコマンドでMisskeyをビルドしてください:
|
||||
|
||||
`npm run build`
|
||||
`NODE_ENV=production npm run build`
|
||||
|
||||
Debianをお使いであれば、`build-essential`パッケージをインストールする必要があります。
|
||||
|
||||
@ -80,14 +57,20 @@ Debianをお使いであれば、`build-essential`パッケージをインスト
|
||||
1. `npm install -g node-gyp`
|
||||
2. `node-gyp configure`
|
||||
3. `node-gyp build`
|
||||
4. `npm run build`
|
||||
4. `NODE_ENV=production npm run build`
|
||||
|
||||
*6.* データベースを初期化
|
||||
----------------------------------------------------------------
|
||||
``` shell
|
||||
npm run init
|
||||
```
|
||||
|
||||
*7.* 以上です!
|
||||
----------------------------------------------------------------
|
||||
お疲れ様でした。これでMisskeyを動かす準備は整いました。
|
||||
|
||||
### 通常起動
|
||||
`npm start`するだけです。GLHF!
|
||||
`NODE_ENV=production npm start`するだけです。GLHF!
|
||||
|
||||
### systemdを用いた起動
|
||||
1. systemdサービスのファイルを作成: `/etc/systemd/system/misskey.service`
|
||||
@ -102,6 +85,7 @@ Type=simple
|
||||
User=misskey
|
||||
ExecStart=/usr/bin/npm start
|
||||
WorkingDirectory=/home/misskey/misskey
|
||||
Environment="NODE_ENV=production"
|
||||
TimeoutSec=60
|
||||
StandardOutput=syslog
|
||||
StandardError=syslog
|
||||
@ -120,11 +104,13 @@ CentOSで1024以下のポートを使用してMisskeyを使用する場合は`Ex
|
||||
|
||||
### Misskeyを最新バージョンにアップデートする方法:
|
||||
1. `git fetch`
|
||||
2. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)`
|
||||
2. `git checkout $(git tag -l | grep -Ev -- '-(rc|alpha)\.[0-9]+$' | sort -V | tail -n 1)`
|
||||
3. `npm install`
|
||||
4. `npm run build`
|
||||
4. `NODE_ENV=production npm run build`
|
||||
5. [ChangeLog](../CHANGELOG.md)でマイグレーション情報を確認する
|
||||
|
||||
なにか問題が発生した場合は、`npm run clean`または`npm run cleanall`すると直る場合があります。
|
||||
|
||||
----------------------------------------------------------------
|
||||
|
||||
なにかお困りのことがありましたらお気軽にご連絡ください。
|
||||
|
108
gulpfile.ts
@ -5,20 +5,17 @@
|
||||
import * as gulp from 'gulp';
|
||||
import * as gutil from 'gulp-util';
|
||||
import * as ts from 'gulp-typescript';
|
||||
const yaml = require('gulp-yaml');
|
||||
const sourcemaps = require('gulp-sourcemaps');
|
||||
import tslint from 'gulp-tslint';
|
||||
const cssnano = require('gulp-cssnano');
|
||||
const stylus = require('gulp-stylus');
|
||||
import * as uglifyComposer from 'gulp-uglify/composer';
|
||||
import pug = require('gulp-pug');
|
||||
import * as rimraf from 'rimraf';
|
||||
import chalk from 'chalk';
|
||||
const imagemin = require('gulp-imagemin');
|
||||
import * as rename from 'gulp-rename';
|
||||
import * as mocha from 'gulp-mocha';
|
||||
import * as replace from 'gulp-replace';
|
||||
import * as htmlmin from 'gulp-htmlmin';
|
||||
const uglifyes = require('uglify-es');
|
||||
|
||||
const locales = require('./locales');
|
||||
@ -34,16 +31,6 @@ if (isDebug) {
|
||||
console.warn(chalk.yellow.bold(' built script will not be compressed.'));
|
||||
}
|
||||
|
||||
const constants = require('./src/const.json');
|
||||
|
||||
gulp.task('build', [
|
||||
'build:ts',
|
||||
'build:copy',
|
||||
'build:client',
|
||||
'locales',
|
||||
'doc'
|
||||
]);
|
||||
|
||||
gulp.task('build:ts', () => {
|
||||
const tsProject = ts.createProject('./tsconfig.json');
|
||||
|
||||
@ -51,6 +38,7 @@ gulp.task('build:ts', () => {
|
||||
.src()
|
||||
.pipe(sourcemaps.init())
|
||||
.pipe(tsProject())
|
||||
.on('error', () => {})
|
||||
.pipe(sourcemaps.write('.', { includeContent: false, sourceRoot: '../built' }))
|
||||
.pipe(gulp.dest('./built/'));
|
||||
});
|
||||
@ -59,7 +47,7 @@ gulp.task('build:copy: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([
|
||||
'./build/Release/crypto_key.node',
|
||||
'./src/const.json',
|
||||
@ -67,9 +55,7 @@ gulp.task('build:copy', ['build:copy:views'], () =>
|
||||
'./src/**/assets/**/*',
|
||||
'!./src/client/app/**/assets/**/*'
|
||||
]).pipe(gulp.dest('./built/'))
|
||||
);
|
||||
|
||||
gulp.task('test', ['mocha']);
|
||||
));
|
||||
|
||||
gulp.task('lint', () =>
|
||||
gulp.src('./src/**/*.ts')
|
||||
@ -96,22 +82,15 @@ gulp.task('mocha', () =>
|
||||
} as any))
|
||||
);
|
||||
|
||||
gulp.task('test', gulp.task('mocha'));
|
||||
|
||||
gulp.task('clean', cb =>
|
||||
rimraf('./built', cb)
|
||||
);
|
||||
|
||||
gulp.task('cleanall', ['clean'], cb =>
|
||||
gulp.task('cleanall', gulp.parallel('clean', cb =>
|
||||
rimraf('./node_modules', cb)
|
||||
);
|
||||
|
||||
gulp.task('default', ['build']);
|
||||
|
||||
gulp.task('build:client', [
|
||||
'build:ts',
|
||||
'build:client:script',
|
||||
'build:client:pug',
|
||||
'copy:client'
|
||||
]);
|
||||
));
|
||||
|
||||
gulp.task('build:client:script', () => {
|
||||
const client = require('./built/client/meta.json');
|
||||
@ -133,9 +112,7 @@ gulp.task('build:client:styles', () =>
|
||||
.pipe(gulp.dest('./built/client/assets/'))
|
||||
);
|
||||
|
||||
gulp.task('copy:client', [
|
||||
'build:client:script'
|
||||
], () =>
|
||||
gulp.task('copy:client', () =>
|
||||
gulp.src([
|
||||
'./assets/**/*',
|
||||
'./src/client/assets/**/*',
|
||||
@ -143,66 +120,29 @@ gulp.task('copy:client', [
|
||||
])
|
||||
.pipe(isProduction ? (imagemin as any)() : gutil.noop())
|
||||
.pipe(rename(path => {
|
||||
path.dirname = path.dirname.replace('assets', '.');
|
||||
path.dirname = path.dirname!.replace('assets', '.');
|
||||
}))
|
||||
.pipe(gulp.dest('./built/client/assets/'))
|
||||
);
|
||||
|
||||
gulp.task('build:client:pug', [
|
||||
'copy:client',
|
||||
'build:client:script',
|
||||
'build:client:styles'
|
||||
], () =>
|
||||
gulp.src('./src/client/app/base.pug')
|
||||
.pipe(pug({
|
||||
locals: {
|
||||
themeColor: constants.themeColor
|
||||
}
|
||||
}))
|
||||
.pipe(htmlmin({
|
||||
// 真理値属性の簡略化 e.g.
|
||||
// <input value="foo" readonly="readonly"> to
|
||||
// <input value="foo" readonly>
|
||||
collapseBooleanAttributes: true,
|
||||
|
||||
// テキストの一部かもしれない空白も削除する e.g.
|
||||
// <div> <p> foo </p> </div> to
|
||||
// <div><p>foo</p></div>
|
||||
collapseWhitespace: true,
|
||||
|
||||
// タグ間の改行を保持する
|
||||
preserveLineBreaks: true,
|
||||
|
||||
// (できる場合は)属性のクォーテーション削除する e.g.
|
||||
// <p class="foo-bar" id="moo" title="blah blah">foo</p> to
|
||||
// <p class=foo-bar id=moo title="blah blah">foo</p>
|
||||
removeAttributeQuotes: true,
|
||||
|
||||
// 省略可能なタグを省略する e.g.
|
||||
// <html><p>yo</p></html> ro
|
||||
// <p>yo</p>
|
||||
removeOptionalTags: true,
|
||||
|
||||
// 属性の値がデフォルトと同じなら省略する e.g.
|
||||
// <input type="text"> to
|
||||
// <input>
|
||||
removeRedundantAttributes: true,
|
||||
|
||||
// CSSも圧縮する
|
||||
minifyCSS: true
|
||||
}))
|
||||
.pipe(gulp.dest('./built/client/app/'))
|
||||
);
|
||||
|
||||
gulp.task('locales', () =>
|
||||
gulp.src('./locales/*.yml')
|
||||
.pipe(yaml({ schema: 'DEFAULT_SAFE_SCHEMA' }))
|
||||
.pipe(gulp.dest('./built/client/assets/locales/'))
|
||||
);
|
||||
|
||||
gulp.task('doc', () =>
|
||||
gulp.src('./src/docs/**/*.styl')
|
||||
.pipe(stylus())
|
||||
.pipe((cssnano as any)())
|
||||
.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'));
|
||||
|
1462
locales/ca-ES.yml
1185
locales/cs-CZ.yml
Normal file
1089
locales/de-DE.yml
1167
locales/es-ES.yml
1052
locales/fr-FR.yml
3
locales/index.d.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
declare const locales: { [lang: string]: any };
|
||||
|
||||
export = locales;
|
@ -5,9 +5,49 @@
|
||||
const fs = require('fs');
|
||||
const yaml = require('js-yaml');
|
||||
|
||||
const langs = ['de-DE', 'en-US', 'fr-FR', 'ja-JP', 'ja-KS', 'pl-PL', 'es-ES', 'nl-NL'];
|
||||
const 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 locales = langs.map(lang => ({ [lang]: loadLocale(lang) }));
|
||||
const languages = [
|
||||
'cs-CZ',
|
||||
'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), {});
|
||||
|
1463
locales/it-IT.yml
2450
locales/ko-KR.yml
1107
locales/nl-NL.yml
1152
locales/no-NO.yml
1128
locales/pl-PL.yml
1318
locales/pt-PT.yml
1543
locales/ru-RU.yml
2608
locales/zh-CN.yml
88
locales/zh-TW.yml
Normal file
@ -0,0 +1,88 @@
|
||||
---
|
||||
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: "雲端硬碟"
|
244
package.json
@ -1,14 +1,19 @@
|
||||
{
|
||||
"name": "misskey",
|
||||
"author": "syuilo <i@syuilo.com>",
|
||||
"version": "10.49.6",
|
||||
"clientVersion": "2.0.11783",
|
||||
"codename": "nighthike",
|
||||
"main": "./built/index.js",
|
||||
"version": "11.0.0-beta.15",
|
||||
"codename": "daybreak",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/syuilo/misskey.git"
|
||||
},
|
||||
"main": "./index.js",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"start": "node ./built",
|
||||
"debug": "DEBUG=misskey:* node ./built",
|
||||
"start": "node ./index.js",
|
||||
"init": "node ./built/init.js",
|
||||
"migrate": "node ./built/migrate.js",
|
||||
"debug": "DEBUG=misskey:* node ./index.js",
|
||||
"build": "webpack && gulp build",
|
||||
"webpack": "webpack",
|
||||
"watch": "webpack --watch",
|
||||
@ -20,24 +25,23 @@
|
||||
"format": "gulp format"
|
||||
},
|
||||
"dependencies": {
|
||||
"@fortawesome/fontawesome-svg-core": "1.2.8",
|
||||
"@fortawesome/free-brands-svg-icons": "5.5.0",
|
||||
"@fortawesome/free-regular-svg-icons": "5.5.0",
|
||||
"@fortawesome/free-solid-svg-icons": "5.5.0",
|
||||
"@fortawesome/vue-fontawesome": "0.1.2",
|
||||
"@koa/cors": "2.2.2",
|
||||
"@fortawesome/fontawesome-svg-core": "1.2.15",
|
||||
"@fortawesome/free-brands-svg-icons": "5.7.2",
|
||||
"@fortawesome/free-regular-svg-icons": "5.7.2",
|
||||
"@fortawesome/free-solid-svg-icons": "5.7.2",
|
||||
"@fortawesome/vue-fontawesome": "0.1.5",
|
||||
"@koa/cors": "2.2.3",
|
||||
"@prezzemolo/rap": "0.1.2",
|
||||
"@prezzemolo/zip": "0.0.3",
|
||||
"@types/bcryptjs": "2.4.2",
|
||||
"@types/bull": "3.5.8",
|
||||
"@types/chai-http": "3.0.5",
|
||||
"@types/dateformat": "1.0.1",
|
||||
"@types/debug": "0.0.31",
|
||||
"@types/dateformat": "3.0.0",
|
||||
"@types/deep-equal": "1.0.1",
|
||||
"@types/double-ended-queue": "2.1.0",
|
||||
"@types/elasticsearch": "5.0.28",
|
||||
"@types/file-type": "5.2.1",
|
||||
"@types/gulp": "3.8.36",
|
||||
"@types/gulp-htmlmin": "1.3.32",
|
||||
"@types/elasticsearch": "5.0.30",
|
||||
"@types/file-type": "10.6.0",
|
||||
"@types/gulp": "4.0.5",
|
||||
"@types/gulp-mocha": "0.0.32",
|
||||
"@types/gulp-rename": "0.0.33",
|
||||
"@types/gulp-replace": "0.0.31",
|
||||
@ -45,102 +49,109 @@
|
||||
"@types/gulp-util": "3.0.34",
|
||||
"@types/is-root": "1.0.0",
|
||||
"@types/is-url": "1.2.28",
|
||||
"@types/js-yaml": "3.11.2",
|
||||
"@types/koa": "2.0.46",
|
||||
"@types/koa-bodyparser": "5.0.1",
|
||||
"@types/js-yaml": "3.12.0",
|
||||
"@types/jsdom": "12.2.3",
|
||||
"@types/katex": "0.10.1",
|
||||
"@types/koa": "2.0.48",
|
||||
"@types/koa-bodyparser": "5.0.2",
|
||||
"@types/koa-compress": "2.0.8",
|
||||
"@types/koa-cors": "0.0.0",
|
||||
"@types/koa-favicon": "2.0.19",
|
||||
"@types/koa-logger": "3.1.1",
|
||||
"@types/koa-mount": "3.0.1",
|
||||
"@types/koa-multer": "1.0.0",
|
||||
"@types/koa-router": "7.0.33",
|
||||
"@types/koa-router": "7.0.40",
|
||||
"@types/koa-send": "4.1.1",
|
||||
"@types/koa-views": "2.0.3",
|
||||
"@types/koa__cors": "2.2.3",
|
||||
"@types/lolex": "3.1.1",
|
||||
"@types/minio": "7.0.1",
|
||||
"@types/mkdirp": "0.5.2",
|
||||
"@types/mocha": "5.2.5",
|
||||
"@types/mongodb": "3.1.14",
|
||||
"@types/ms": "0.7.30",
|
||||
"@types/node": "10.12.2",
|
||||
"@types/mocha": "5.2.6",
|
||||
"@types/mongodb": "3.1.22",
|
||||
"@types/monk": "6.0.0",
|
||||
"@types/node": "11.10.4",
|
||||
"@types/nodemailer": "4.6.6",
|
||||
"@types/nprogress": "0.0.29",
|
||||
"@types/oauth": "0.9.1",
|
||||
"@types/parse5": "5.0.0",
|
||||
"@types/parsimmon": "1.10.0",
|
||||
"@types/portscanner": "2.1.0",
|
||||
"@types/pug": "2.0.4",
|
||||
"@types/qrcode": "1.3.0",
|
||||
"@types/ratelimiter": "2.1.28",
|
||||
"@types/redis": "2.8.7",
|
||||
"@types/redis": "2.8.10",
|
||||
"@types/rename": "1.0.1",
|
||||
"@types/request": "2.48.1",
|
||||
"@types/request-promise-native": "1.0.15",
|
||||
"@types/request-stats": "3.0.0",
|
||||
"@types/rimraf": "2.0.2",
|
||||
"@types/seedrandom": "2.4.27",
|
||||
"@types/sharp": "0.21.0",
|
||||
"@types/showdown": "1.7.5",
|
||||
"@types/speakeasy": "2.0.3",
|
||||
"@types/systeminformation": "3.23.0",
|
||||
"@types/sharp": "0.21.2",
|
||||
"@types/showdown": "1.9.2",
|
||||
"@types/speakeasy": "2.0.4",
|
||||
"@types/systeminformation": "3.23.1",
|
||||
"@types/tinycolor2": "1.4.1",
|
||||
"@types/tmp": "0.0.33",
|
||||
"@types/uuid": "3.4.4",
|
||||
"@types/webpack": "4.4.18",
|
||||
"@types/web-push": "3.3.0",
|
||||
"@types/webpack": "4.4.24",
|
||||
"@types/webpack-stream": "3.2.10",
|
||||
"@types/websocket": "0.0.40",
|
||||
"@types/ws": "6.0.1",
|
||||
"animejs": "2.2.0",
|
||||
"apexcharts": "2.2.0",
|
||||
"autobind-decorator": "2.2.1",
|
||||
"animejs": "3.0.1",
|
||||
"apexcharts": "3.6.6",
|
||||
"autobind-decorator": "2.4.0",
|
||||
"autosize": "4.0.2",
|
||||
"autwh": "0.1.0",
|
||||
"bcryptjs": "2.4.3",
|
||||
"bee-queue": "1.2.2",
|
||||
"bootstrap-vue": "2.0.0-rc.11",
|
||||
"cafy": "12.0.0",
|
||||
"bootstrap-vue": "2.0.0-rc.13",
|
||||
"bull": "3.7.0",
|
||||
"cafy": "15.1.1",
|
||||
"chai": "4.2.0",
|
||||
"chai-http": "4.2.0",
|
||||
"chalk": "2.4.1",
|
||||
"commander": "2.19.0",
|
||||
"chai-http": "4.2.1",
|
||||
"chalk": "2.4.2",
|
||||
"cli-highlight": "2.1.0",
|
||||
"commander": "2.20.0",
|
||||
"content-disposition": "0.5.3",
|
||||
"crc-32": "1.2.0",
|
||||
"css-loader": "1.0.1",
|
||||
"cssnano": "4.1.7",
|
||||
"css-loader": "2.1.1",
|
||||
"cssnano": "4.1.10",
|
||||
"dateformat": "3.0.3",
|
||||
"debug": "4.1.0",
|
||||
"deep-equal": "1.0.1",
|
||||
"deepcopy": "0.6.3",
|
||||
"diskusage": "0.2.5",
|
||||
"diskusage": "1.0.0",
|
||||
"double-ended-queue": "2.1.0-0",
|
||||
"elasticsearch": "15.2.0",
|
||||
"emojilib": "2.3.0",
|
||||
"escape-regexp": "0.0.1",
|
||||
"eslint": "5.8.0",
|
||||
"eslint-plugin-vue": "4.7.1",
|
||||
"elasticsearch": "15.4.1",
|
||||
"emojilib": "2.4.0",
|
||||
"eslint": "5.15.1",
|
||||
"eslint-plugin-vue": "5.2.2",
|
||||
"eventemitter3": "3.1.0",
|
||||
"file-loader": "2.0.0",
|
||||
"file-type": "10.4.0",
|
||||
"feed": "2.0.4",
|
||||
"file-type": "10.10.0",
|
||||
"fuckadblock": "3.2.1",
|
||||
"gulp": "3.9.1",
|
||||
"gulp": "4.0.0",
|
||||
"gulp-cssnano": "2.1.3",
|
||||
"gulp-htmlmin": "5.0.1",
|
||||
"gulp-imagemin": "4.1.0",
|
||||
"gulp-imagemin": "5.0.3",
|
||||
"gulp-mocha": "6.0.0",
|
||||
"gulp-pug": "4.0.1",
|
||||
"gulp-rename": "1.4.0",
|
||||
"gulp-replace": "1.0.0",
|
||||
"gulp-sourcemaps": "2.6.4",
|
||||
"gulp-sourcemaps": "2.6.5",
|
||||
"gulp-stylus": "2.7.0",
|
||||
"gulp-tslint": "8.1.3",
|
||||
"gulp-typescript": "4.0.2",
|
||||
"gulp-uglify": "3.0.1",
|
||||
"gulp-tslint": "8.1.4",
|
||||
"gulp-typescript": "5.0.0",
|
||||
"gulp-uglify": "3.0.2",
|
||||
"gulp-util": "3.0.8",
|
||||
"gulp-yaml": "2.0.2",
|
||||
"hard-source-webpack-plugin": "0.12.0",
|
||||
"hard-source-webpack-plugin": "0.13.1",
|
||||
"html-minifier": "3.5.21",
|
||||
"http-signature": "1.2.0",
|
||||
"insert-text-at-cursor": "0.1.1",
|
||||
"insert-text-at-cursor": "0.1.2",
|
||||
"is-root": "2.0.0",
|
||||
"is-url": "1.2.4",
|
||||
"js-yaml": "3.12.0",
|
||||
"jsdom": "13.0.0",
|
||||
"is-svg": "4.0.0",
|
||||
"js-yaml": "3.13.0",
|
||||
"jsdom": "14.0.0",
|
||||
"json5": "2.1.0",
|
||||
"json5-loader": "1.0.1",
|
||||
"koa": "2.6.1",
|
||||
"katex": "0.10.1",
|
||||
"koa": "2.7.0",
|
||||
"koa-bodyparser": "4.2.1",
|
||||
"koa-compress": "3.0.0",
|
||||
"koa-favicon": "2.0.1",
|
||||
@ -151,44 +162,55 @@
|
||||
"koa-router": "7.4.0",
|
||||
"koa-send": "5.0.0",
|
||||
"koa-slow": "2.1.0",
|
||||
"koa-views": "6.1.4",
|
||||
"loader-utils": "1.1.0",
|
||||
"minio": "7.0.1",
|
||||
"mkdirp": "0.5.1",
|
||||
"mocha": "5.2.0",
|
||||
"koa-views": "6.2.0",
|
||||
"langmap": "0.0.16",
|
||||
"loader-utils": "1.2.3",
|
||||
"lolex": "3.1.0",
|
||||
"lookup-dns-cache": "2.1.0",
|
||||
"minio": "7.0.5",
|
||||
"mocha": "6.0.2",
|
||||
"moji": "0.5.1",
|
||||
"moment": "2.22.2",
|
||||
"mongodb": "3.1.8",
|
||||
"moment": "2.24.0",
|
||||
"mongodb": "3.2.3",
|
||||
"monk": "6.0.6",
|
||||
"ms": "2.1.1",
|
||||
"nan": "2.11.1",
|
||||
"nan": "2.12.1",
|
||||
"nested-property": "0.0.7",
|
||||
"node-fetch": "2.3.0",
|
||||
"nodemailer": "5.1.1",
|
||||
"nprogress": "0.2.0",
|
||||
"object-assign-deep": "0.4.0",
|
||||
"on-build-webpack": "0.1.0",
|
||||
"os-utils": "0.0.14",
|
||||
"parse5": "5.1.0",
|
||||
"parsimmon": "1.12.0",
|
||||
"pg": "7.9.0",
|
||||
"portscanner": "2.2.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-limit": "2.7.0",
|
||||
"promise-sequential": "1.1.1",
|
||||
"pug": "2.0.3",
|
||||
"punycode": "2.1.1",
|
||||
"qrcode": "1.3.2",
|
||||
"ratelimiter": "3.2.0",
|
||||
"qrcode": "1.3.3",
|
||||
"randomcolor": "0.5.4",
|
||||
"ratelimiter": "3.3.0",
|
||||
"recaptcha-promise": "0.1.3",
|
||||
"reconnecting-websocket": "4.1.10",
|
||||
"redis": "2.8.0",
|
||||
"reflect-metadata": "0.1.13",
|
||||
"rename": "1.0.4",
|
||||
"request": "2.88.0",
|
||||
"request-promise-native": "1.0.5",
|
||||
"request-promise-native": "1.0.7",
|
||||
"request-stats": "3.0.0",
|
||||
"rimraf": "2.6.2",
|
||||
"require-all": "3.0.0",
|
||||
"rimraf": "2.6.3",
|
||||
"rndstr": "1.0.0",
|
||||
"s-age": "1.1.2",
|
||||
"seedrandom": "2.4.4",
|
||||
"sharp": "0.21.0",
|
||||
"showdown": "1.8.7",
|
||||
"sharp": "0.22.0",
|
||||
"showdown": "1.9.0",
|
||||
"showdown-highlightjs-extension": "0.1.2",
|
||||
"speakeasy": "2.0.0",
|
||||
"stringz": "1.0.0",
|
||||
@ -196,42 +218,50 @@
|
||||
"stylus": "0.54.5",
|
||||
"stylus-loader": "3.0.2",
|
||||
"summaly": "2.2.0",
|
||||
"systeminformation": "3.47.0",
|
||||
"systeminformation": "4.0.16",
|
||||
"syuilo-password-strength": "0.0.1",
|
||||
"terser-webpack-plugin": "1.1.0",
|
||||
"terser-webpack-plugin": "1.2.3",
|
||||
"textarea-caret": "3.1.0",
|
||||
"tinycolor2": "1.4.1",
|
||||
"tmp": "0.0.33",
|
||||
"ts-loader": "5.3.0",
|
||||
"ts-loader": "5.3.3",
|
||||
"ts-node": "7.0.1",
|
||||
"tslint": "5.10.0",
|
||||
"typescript": "3.1.6",
|
||||
"typescript-eslint-parser": "20.1.1",
|
||||
"tslint": "5.13.1",
|
||||
"tslint-sonarts": "1.9.0",
|
||||
"typeorm": "0.2.16-rc.1",
|
||||
"typescript": "3.3.3333",
|
||||
"typescript-eslint-parser": "22.0.0",
|
||||
"uglify-es": "3.3.9",
|
||||
"ulid": "2.3.0",
|
||||
"url-loader": "1.1.2",
|
||||
"uuid": "3.3.2",
|
||||
"v-animate-css": "0.0.2",
|
||||
"vue": "2.5.17",
|
||||
"v-animate-css": "0.0.3",
|
||||
"v-debounce": "0.1.2",
|
||||
"video-thumbnail-generator": "1.1.3",
|
||||
"vue": "2.6.10",
|
||||
"vue-color": "2.7.0",
|
||||
"vue-content-loading": "1.5.3",
|
||||
"vue-cropperjs": "2.2.2",
|
||||
"vue-i18n": "8.3.1",
|
||||
"vue-js-modal": "1.3.26",
|
||||
"vue-loader": "15.4.2",
|
||||
"vue-router": "3.0.1",
|
||||
"vue-content-loading": "1.6.0",
|
||||
"vue-cropperjs": "3.0.0",
|
||||
"vue-i18n": "8.10.0",
|
||||
"vue-js-modal": "1.3.28",
|
||||
"vue-json-pretty": "1.6.0",
|
||||
"vue-loader": "15.7.0",
|
||||
"vue-marquee-text-component": "1.1.1",
|
||||
"vue-prism-component": "1.1.1",
|
||||
"vue-router": "3.0.3",
|
||||
"vue-sequential-entrance": "1.1.3",
|
||||
"vue-style-loader": "4.1.2",
|
||||
"vue-svg-inline-loader": "1.2.1",
|
||||
"vue-template-compiler": "2.5.17",
|
||||
"vuedraggable": "2.16.0",
|
||||
"vue-svg-inline-loader": "1.2.15",
|
||||
"vue-template-compiler": "2.6.10",
|
||||
"vuedraggable": "2.20.0",
|
||||
"vuewordcloud": "18.7.11",
|
||||
"vuex": "3.0.1",
|
||||
"vuex": "3.1.0",
|
||||
"vuex-persistedstate": "2.5.4",
|
||||
"web-push": "3.3.3",
|
||||
"webfinger.js": "2.6.6",
|
||||
"webpack": "4.25.1",
|
||||
"webpack-cli": "3.1.2",
|
||||
"webpack": "4.28.4",
|
||||
"webpack-cli": "3.2.3",
|
||||
"websocket": "1.0.28",
|
||||
"ws": "6.1.0",
|
||||
"ws": "6.2.1",
|
||||
"xev": "2.0.1"
|
||||
}
|
||||
}
|
||||
|
3
src/@types/const.json.d.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
declare module '*/const.json' {
|
||||
const copyright: string;
|
||||
}
|
75
src/@types/http-signature.d.ts
vendored
Normal 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
@ -0,0 +1,7 @@
|
||||
declare module 'is-root' {
|
||||
function isRoot(): boolean;
|
||||
|
||||
namespace isRoot {} // Hack
|
||||
|
||||
export = isRoot;
|
||||
}
|
15
src/@types/koa-json-body.d.ts
vendored
Normal 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
@ -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
@ -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
@ -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
@ -0,0 +1,3 @@
|
||||
declare module '*/meta.json' {
|
||||
const version: string;
|
||||
}
|
12
src/@types/ms.d.ts
vendored
Normal 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
@ -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
@ -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
@ -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
@ -0,0 +1,7 @@
|
||||
declare module 'promise-any' {
|
||||
function promiseAny<T>(iterable: Iterable<T | PromiseLike<T>>): Promise<T>;
|
||||
|
||||
namespace promiseAny {} // Hack
|
||||
|
||||
export = promiseAny;
|
||||
}
|