Compare commits
697 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
86bce146e8 | ||
|
|
734a28e0f3 | ||
|
|
5c4e3cec08 | ||
|
|
c03d12238a | ||
|
|
da14d7eb8c | ||
|
|
3a44cb65b7 | ||
|
|
029dfe5ed0 | ||
|
|
c0c1972d56 | ||
|
|
53f0a6b360 | ||
|
|
d0adfb6469 | ||
|
|
1460eae280 | ||
|
|
01a15b2b7e | ||
|
|
5526525b6b | ||
|
|
c9e821ffc5 | ||
|
|
b290a28123 | ||
|
|
16899d3b1f | ||
|
|
7d81ade563 | ||
|
|
bc5ad3c761 | ||
|
|
7c764b7365 | ||
|
|
dfb30e91de | ||
|
|
ea03140cbd | ||
|
|
98215b4767 | ||
|
|
e879fb0eef | ||
|
|
ca3921f3a0 | ||
|
|
15ab1732a2 | ||
|
|
338ab4d046 | ||
|
|
089740a840 | ||
|
|
7ea0ecd125 | ||
|
|
9fc9de3af5 | ||
|
|
844ea390c8 | ||
|
|
fdf326c9f0 | ||
|
|
9399b7ddf0 | ||
|
|
03476705b1 | ||
|
|
3cead032c2 | ||
|
|
c8ac60768d | ||
|
|
cef26a5b20 | ||
|
|
fe61a7eefd | ||
|
|
582a34c937 | ||
|
|
5181eb3ea5 | ||
|
|
c3477a30a7 | ||
|
|
8e2e6cee35 | ||
|
|
25a727b8d8 | ||
|
|
ea0b166da7 | ||
|
|
f248477f82 | ||
|
|
0e0918d07c | ||
|
|
3c5594e034 | ||
|
|
15db686f33 | ||
|
|
ffa53ca205 | ||
|
|
4c0e8cd372 | ||
|
|
6d94f35c33 | ||
|
|
e67e891040 | ||
|
|
c607b1bc89 | ||
|
|
41738ec025 | ||
|
|
f9ae456a64 | ||
|
|
2983b36d4c | ||
|
|
640aa98cf4 | ||
|
|
e6133820a2 | ||
|
|
d1db602b3a | ||
|
|
ea72e9c7a0 | ||
|
|
8e94d5240f | ||
|
|
1e5908a31e | ||
|
|
40c98fc84f | ||
|
|
9c6b3819a5 | ||
|
|
6013a3e71d | ||
|
|
0deed1b511 | ||
|
|
2c36506342 | ||
|
|
309afdb813 | ||
|
|
1ed1080bf3 | ||
|
|
a09f890619 | ||
|
|
499b04c254 | ||
|
|
8a50207189 | ||
|
|
f54708227e | ||
|
|
c27f39714a | ||
|
|
e1cd046c1a | ||
|
|
ae76c76558 | ||
|
|
1001c98a3c | ||
|
|
23a141c5ad | ||
|
|
8731e46900 | ||
|
|
da960e776d | ||
|
|
d419024da9 | ||
|
|
45efdbdd43 | ||
|
|
7b320f8fbb | ||
|
|
e6e2e6989a | ||
|
|
2bf0074953 | ||
|
|
ff709ed8b1 | ||
|
|
cbb32968f1 | ||
|
|
095da68aac | ||
|
|
c5d37ab2fb | ||
|
|
9997cc9891 | ||
|
|
d5009962cd | ||
|
|
6367344181 | ||
|
|
61c338a233 | ||
|
|
9f3c1deae6 | ||
|
|
4a8ad53bd9 | ||
|
|
67efb8bde2 | ||
|
|
96c867b34b | ||
|
|
4eb0ca63a9 | ||
|
|
73fb2c859e | ||
|
|
431b8aaefa | ||
|
|
b637ab33cc | ||
|
|
afb4b79d81 | ||
|
|
5defd0bb74 | ||
|
|
e6f694307d | ||
|
|
beefcfcb8c | ||
|
|
44d0e7dcba | ||
|
|
71685b5eab | ||
|
|
7b3719bc3c | ||
|
|
c070e86c1f | ||
|
|
78cabed0bf | ||
|
|
bf88620581 | ||
|
|
777087504a | ||
|
|
aa482bae28 | ||
|
|
6fd64d19f0 | ||
|
|
2d311ddbf4 | ||
|
|
e24ef2bb5c | ||
|
|
4dd6ee681d | ||
|
|
ef057e4693 | ||
|
|
f53b238c24 | ||
|
|
7957eeba10 | ||
|
|
95931918dc | ||
|
|
5326faa0b8 | ||
|
|
7f2fa09d4c | ||
|
|
b6435502fc | ||
|
|
1701ea43a4 | ||
|
|
69f5833c9f | ||
|
|
61bba6c31f | ||
|
|
c067800a4f | ||
|
|
af105b1920 | ||
|
|
a414352661 | ||
|
|
57f91086e6 | ||
|
|
9e2324fb69 | ||
|
|
b3c9229aee | ||
|
|
2139fb74bb | ||
|
|
8b4ab4bcdd | ||
|
|
40eceaf9bc | ||
|
|
ab5ec04507 | ||
|
|
b1ff0b9e65 | ||
|
|
be52787473 | ||
|
|
b3431bb750 | ||
|
|
4864716abb | ||
|
|
8a6283fedf | ||
|
|
634cf528b4 | ||
|
|
0da6ca8aea | ||
|
|
08fb20a0df | ||
|
|
a8e4a2158a | ||
|
|
2f3e389a68 | ||
|
|
fb3ef89b50 | ||
|
|
523b315985 | ||
|
|
36f08cf73c | ||
|
|
5c00af7123 | ||
|
|
38fa9f78f1 | ||
|
|
8a9b750b31 | ||
|
|
26ebd20956 | ||
|
|
e877ad2e63 | ||
|
|
dd7f9e2d5f | ||
|
|
141aafd18e | ||
|
|
8aed52ece9 | ||
|
|
ce5a7ba48a | ||
|
|
95647fb7a1 | ||
|
|
d0c0eeac0a | ||
|
|
f25612198e | ||
|
|
ca6d9063fd | ||
|
|
eec0c274d2 | ||
|
|
b5a5b472c4 | ||
|
|
9747836a4d | ||
|
|
2afe9e6928 | ||
|
|
f010afe63f | ||
|
|
60b280f166 | ||
|
|
a2b465e352 | ||
|
|
1e139ef183 | ||
|
|
9b38a97110 | ||
|
|
9c27075175 | ||
|
|
52a119244b | ||
|
|
ddd12edc06 | ||
|
|
8f20fcfa6b | ||
|
|
c1d30664de | ||
|
|
1803a0df9e | ||
|
|
a5bd8bd034 | ||
|
|
751f715e77 | ||
|
|
a5bd8b36b8 | ||
|
|
e780fe4067 | ||
|
|
0480a880f3 | ||
|
|
acbc3e9f9b | ||
|
|
a8daa53a5b | ||
|
|
053beae035 | ||
|
|
ccc33db9dd | ||
|
|
66a473863a | ||
|
|
25907301a3 | ||
|
|
d8bf57edc5 | ||
|
|
269f9a5ccc | ||
|
|
a34b5abc82 | ||
|
|
062cf47290 | ||
|
|
fa132d3945 | ||
|
|
9fd379c97c | ||
|
|
593e101521 | ||
|
|
6fd6ea9b8e | ||
|
|
f8aa2c3487 | ||
|
|
44479f24dd | ||
|
|
5ff49f4000 | ||
|
|
cc7a585126 | ||
|
|
d3331f293b | ||
|
|
c6ee221ae4 | ||
|
|
8351ec9738 | ||
|
|
27de972bfb | ||
|
|
e5e259e1f8 | ||
|
|
a74bbb424c | ||
|
|
15accf33f5 | ||
|
|
3fb54029d7 | ||
|
|
76008e8abd | ||
|
|
3f291aae5b | ||
|
|
76f140c62c | ||
|
|
a12d7a2b66 | ||
|
|
ba8745cb42 | ||
|
|
967ebb5f9f | ||
|
|
6a5d0dda2f | ||
|
|
6423f7ce03 | ||
|
|
4ead2f338d | ||
|
|
55ec7dcebc | ||
|
|
8587df1dd9 | ||
|
|
d5b1db064f | ||
|
|
4efb2b6750 | ||
|
|
cbfa4dd1ab | ||
|
|
b26c460f13 | ||
|
|
dd9150cef1 | ||
|
|
ab1b377a1d | ||
|
|
3fa8460ed7 | ||
|
|
7f6d9a625d | ||
|
|
0b266d2e83 | ||
|
|
7907d41ea8 | ||
|
|
32c6482dcf | ||
|
|
ea0c41a9f8 | ||
|
|
a1cb566761 | ||
|
|
01a96d92f4 | ||
|
|
0b1745bceb | ||
|
|
7d203f40cd | ||
|
|
b8b74402c1 | ||
|
|
08ee93a57b | ||
|
|
bced608c48 | ||
|
|
c576e07c85 | ||
|
|
cc87135b28 | ||
|
|
a63eb2621b | ||
|
|
42e317dab8 | ||
|
|
ec870039bf | ||
|
|
b65466bc4f | ||
|
|
515b57ba12 | ||
|
|
4d4da0d7ca | ||
|
|
778e7dcab0 | ||
|
|
fd5e94dfad | ||
|
|
f187a359e6 | ||
|
|
579e70e967 | ||
|
|
3407f66e82 | ||
|
|
8707cca7bc | ||
|
|
99923b7b8f | ||
|
|
e40c6905dd | ||
|
|
84a0ef9695 | ||
|
|
546e2ab30b | ||
|
|
6380f1a24a | ||
|
|
e40d3852ff | ||
|
|
e248a7f029 | ||
|
|
91892ec18b | ||
|
|
ff2a9f4b20 | ||
|
|
a3040e22d3 | ||
|
|
2480831e2f | ||
|
|
c72a49d229 | ||
|
|
83b7f94609 | ||
|
|
8b50ed8006 | ||
|
|
d696196d72 | ||
|
|
abc5b2d5f4 | ||
|
|
f4134167a0 | ||
|
|
bc67b1c87e | ||
|
|
4326d7a182 | ||
|
|
8e3a68dbdc | ||
|
|
05148b6e93 | ||
|
|
89447b7bfc | ||
|
|
af122172f1 | ||
|
|
a9ed2e20cb | ||
|
|
be02ac3bc6 | ||
|
|
e3e2e3a56c | ||
|
|
49be954d31 | ||
|
|
ad306dd999 | ||
|
|
2efcf7023f | ||
|
|
f8298b2482 | ||
|
|
c4d3d66f31 | ||
|
|
1ade7a711c | ||
|
|
32b9ee7f6f | ||
|
|
e4c155a881 | ||
|
|
4e6541b404 | ||
|
|
df22c90016 | ||
|
|
ffba088192 | ||
|
|
d639eb1049 | ||
|
|
0a0293d8fb | ||
|
|
4ad825e4fe | ||
|
|
611bb3a857 | ||
|
|
e5b3ec83b3 | ||
|
|
3dc45886f7 | ||
|
|
927d305ed9 | ||
|
|
c4bc38f0d7 | ||
|
|
271fedd1e9 | ||
|
|
23422fdb86 | ||
|
|
7ff2871ad5 | ||
|
|
cbc31a6c41 | ||
|
|
6a1118218b | ||
|
|
eddf33a689 | ||
|
|
08852c6174 | ||
|
|
2bf96d4887 | ||
|
|
9d96baa613 | ||
|
|
a7db42d184 | ||
|
|
3d67234372 | ||
|
|
b1f14ba979 | ||
|
|
a1462946cd | ||
|
|
ae27667f48 | ||
|
|
c6da4d93f1 | ||
|
|
024fea0687 | ||
|
|
cfbcffac5a | ||
|
|
640c486bde | ||
|
|
66e93c8a8c | ||
|
|
8a7ec27dc7 | ||
|
|
9afbe8e3fc | ||
|
|
9b42fbe42f | ||
|
|
ae145ff32e | ||
|
|
a8e99109b1 | ||
|
|
bb4d8ee3e8 | ||
|
|
038f5767f2 | ||
|
|
e2cec7b69c | ||
|
|
6690df1203 | ||
|
|
c21cdf5b02 | ||
|
|
37f320c4a4 | ||
|
|
feb8115d24 | ||
|
|
5c87b8045a | ||
|
|
d8c877fe6e | ||
|
|
67a7ed1e34 | ||
|
|
eabe4f5c29 | ||
|
|
f91f5cb65e | ||
|
|
5951e8fb27 | ||
|
|
be79ccccf6 | ||
|
|
aba121aab0 | ||
|
|
c146ddf29b | ||
|
|
5469270e41 | ||
|
|
457b64037d | ||
|
|
a0f572c26e | ||
|
|
f51669664c | ||
|
|
75f2ba6b19 | ||
|
|
e8d5e8c8ab | ||
|
|
6aa5266029 | ||
|
|
03dd25624f | ||
|
|
0d1c53285b | ||
|
|
aad880b3b5 | ||
|
|
5c2049935a | ||
|
|
d876e4482b | ||
|
|
75097471b6 | ||
|
|
8224d7fc60 | ||
|
|
f2654616eb | ||
|
|
fc0e460222 | ||
|
|
827692b9b0 | ||
|
|
bfad7612c6 | ||
|
|
f1f54c95ab | ||
|
|
5ecf560675 | ||
|
|
b9dd419d04 | ||
|
|
324e596e28 | ||
|
|
1bc9ba46c7 | ||
|
|
c6ccfa0616 | ||
|
|
9e2793dfed | ||
|
|
6a7daaf6c4 | ||
|
|
b6741d9b10 | ||
|
|
78aaf6b47e | ||
|
|
36b08fece7 | ||
|
|
f2a6d2cc5a | ||
|
|
22b7b8efea | ||
|
|
e392d6c16b | ||
|
|
2eec9b10ef | ||
|
|
64f0beb1eb | ||
|
|
f6b6673a41 | ||
|
|
d8042b193b | ||
|
|
5f745ff733 | ||
|
|
bac142ad26 | ||
|
|
caa30a742b | ||
|
|
d7bc47c357 | ||
|
|
5f678eb838 | ||
|
|
64eb1f08a9 | ||
|
|
85e6057598 | ||
|
|
b080e5797b | ||
|
|
f629b2f631 | ||
|
|
c4ee47aa15 | ||
|
|
0c7c31e3bb | ||
|
|
0442258865 | ||
|
|
95f529f9a4 | ||
|
|
be71da5657 | ||
|
|
f16bb85f9b | ||
|
|
5b239adfb8 | ||
|
|
2f54034afe | ||
|
|
fa552ad5af | ||
|
|
35bc384c51 | ||
|
|
d490bd8638 | ||
|
|
8d4f81ff67 | ||
|
|
648204b6f9 | ||
|
|
3f49f020cf | ||
|
|
678eccf33d | ||
|
|
1f0b4853be | ||
|
|
db31f0a087 | ||
|
|
d4247e0179 | ||
|
|
af765c7522 | ||
|
|
dc1a0c554f | ||
|
|
08cdf21aee | ||
|
|
cd7bc3bfd3 | ||
|
|
18ac71e8c0 | ||
|
|
dea557619c | ||
|
|
961f279a82 | ||
|
|
e0be012737 | ||
|
|
d176e83e94 | ||
|
|
541eb45e1a | ||
|
|
53e5c7eebe | ||
|
|
640beeedda | ||
|
|
5285d56a45 | ||
|
|
c2d2287541 | ||
|
|
4d8bdfa07e | ||
|
|
51de4a3347 | ||
|
|
3d45aa7455 | ||
|
|
8f86cfa2d3 | ||
|
|
cad2d72bfe | ||
|
|
0c8223da03 | ||
|
|
7ceaabb166 | ||
|
|
67e14ff363 | ||
|
|
b20f6ff8c1 | ||
|
|
0050e1557d | ||
|
|
654a025a9f | ||
|
|
5368c87dc1 | ||
|
|
1c2de1e483 | ||
|
|
a64e1cb936 | ||
|
|
3903954bf2 | ||
|
|
7c27153ec5 | ||
|
|
4c3a723aa8 | ||
|
|
c4a590f6af | ||
|
|
00c26088b1 | ||
|
|
e77709bc71 | ||
|
|
a2622a556c | ||
|
|
6a9e5deb7b | ||
|
|
20a7e3adf9 | ||
|
|
c6def48fe0 | ||
|
|
f2e62ff439 | ||
|
|
874e32699a | ||
|
|
4a34bee2dc | ||
|
|
b137c82a7a | ||
|
|
23060a6833 | ||
|
|
0db97b8f5b | ||
|
|
3404521d5d | ||
|
|
40609d7da3 | ||
|
|
1f3ab4425a | ||
|
|
6369d76a74 | ||
|
|
6374526f3c | ||
|
|
78105bb4db | ||
|
|
87db89b67a | ||
|
|
87f7324065 | ||
|
|
02d6a10f67 | ||
|
|
029602fc73 | ||
|
|
5aa9592c71 | ||
|
|
bb70622b55 | ||
|
|
b16fa4171a | ||
|
|
7850f7e505 | ||
|
|
22bb0f9d30 | ||
|
|
f29e0bfe6d | ||
|
|
6a40ad8a20 | ||
|
|
f9db7f017d | ||
|
|
aae62ff94e | ||
|
|
71b149de76 | ||
|
|
e8c51a0b54 | ||
|
|
646ace6e59 | ||
|
|
baed5bec46 | ||
|
|
3c91f90dc9 | ||
|
|
ba5e7d4013 | ||
|
|
9797c2fb4b | ||
|
|
972a391296 | ||
|
|
4e41accc56 | ||
|
|
9d034c77a5 | ||
|
|
c1290fd24d | ||
|
|
0a9f02abcc | ||
|
|
0021fb37f3 | ||
|
|
527c988574 | ||
|
|
1c926941d3 | ||
|
|
80c1ec0502 | ||
|
|
eaff0abfb0 | ||
|
|
2ca871a028 | ||
|
|
e225d3e370 | ||
|
|
9a933e2ce5 | ||
|
|
efbea0e942 | ||
|
|
28939d3146 | ||
|
|
307c4f3dd1 | ||
|
|
536167a6c8 | ||
|
|
fe64b04339 | ||
|
|
31878d8a44 | ||
|
|
6f3b70dbb0 | ||
|
|
597705716b | ||
|
|
6db5329d9c | ||
|
|
ea82b90d35 | ||
|
|
706ffbec3c | ||
|
|
f3df86872b | ||
|
|
4c3ea13413 | ||
|
|
c31b65d093 | ||
|
|
bc714ba3a0 | ||
|
|
b7204bf868 | ||
|
|
c4d246cd72 | ||
|
|
b582cf0a5f | ||
|
|
f025afc297 | ||
|
|
57126efe86 | ||
|
|
2ecf65f057 | ||
|
|
d907421ad4 | ||
|
|
ef519231d6 | ||
|
|
83272f5cc5 | ||
|
|
5b1fea46cb | ||
|
|
a9c575b4d0 | ||
|
|
a24b568b73 | ||
|
|
afcf9de8d4 | ||
|
|
9ffedf5e7d | ||
|
|
956deca844 | ||
|
|
ea063ab8b0 | ||
|
|
378126e746 | ||
|
|
41c6294be2 | ||
|
|
ba1e166ac8 | ||
|
|
ea860807c4 | ||
|
|
01d4846526 | ||
|
|
9b70e2e25f | ||
|
|
4d8f5d4df1 | ||
|
|
fa535996ae | ||
|
|
17e215036d | ||
|
|
8ad0ff24f8 | ||
|
|
693285ac0e | ||
|
|
53a16158c7 | ||
|
|
beba4d2ae3 | ||
|
|
36450764f3 | ||
|
|
3996d23b19 | ||
|
|
bf887e82fe | ||
|
|
f5d7f3ca9f | ||
|
|
16bb75be66 | ||
|
|
537194608e | ||
|
|
789c7b60cc | ||
|
|
81d437ac1e | ||
|
|
61c5253dbf | ||
|
|
608c1b0208 | ||
|
|
d11bcdad5f | ||
|
|
686a3c693a | ||
|
|
bee4ca2b28 | ||
|
|
231adbcd31 | ||
|
|
89d514a532 | ||
|
|
6b1d138918 | ||
|
|
5978aff632 | ||
|
|
92096c40ac | ||
|
|
6c4bf58ba5 | ||
|
|
5f8170f4cd | ||
|
|
e08f97a549 | ||
|
|
971314d75a | ||
|
|
c3fa6ff805 | ||
|
|
d1fbbf90c0 | ||
|
|
c5032ba1bc | ||
|
|
237f4df08e | ||
|
|
5b95986705 | ||
|
|
ec1a2f6abf | ||
|
|
811086ac8e | ||
|
|
f20efc57f3 | ||
|
|
c0e5a1ba3b | ||
|
|
5828ab1077 | ||
|
|
acb85b7b72 | ||
|
|
e9884768f6 | ||
|
|
f10bc8eef1 | ||
|
|
708fd640f7 | ||
|
|
14eec6d982 | ||
|
|
69bedf0d37 | ||
|
|
83145e80e5 | ||
|
|
5206410f21 | ||
|
|
0cd895b417 | ||
|
|
6c88201e23 | ||
|
|
7bcd9ff3d6 | ||
|
|
641a5c244c | ||
|
|
323c5d0732 | ||
|
|
6257019926 | ||
|
|
c9c58ab0ec | ||
|
|
cf92e7f64b | ||
|
|
8371006d90 | ||
|
|
3b109f7612 | ||
|
|
ebc2ad54d6 | ||
|
|
4a1b04e57b | ||
|
|
205676a97d | ||
|
|
0456cadff6 | ||
|
|
aa6d584ae3 | ||
|
|
ef07a6035e | ||
|
|
86b66120d0 | ||
|
|
3bdb330f5b | ||
|
|
4f8d3b0e2b | ||
|
|
87fd136e21 | ||
|
|
cab5bf8849 | ||
|
|
d74dfc9ee7 | ||
|
|
c305b72b91 | ||
|
|
dc1563d916 | ||
|
|
906d42688e | ||
|
|
b3bff92cc2 | ||
|
|
ae7820e8f2 | ||
|
|
3023ea5335 | ||
|
|
22060ac5a4 | ||
|
|
3f3a31e475 | ||
|
|
231306ea7c | ||
|
|
002339fb86 | ||
|
|
8b38a326cb | ||
|
|
5edb5f6487 | ||
|
|
61251d20c1 | ||
|
|
ccf7db7cc2 | ||
|
|
e1c1937855 | ||
|
|
9471c30f89 | ||
|
|
40545bd48e | ||
|
|
6b02bf8e8c | ||
|
|
0d05e607f0 | ||
|
|
717aa94ba9 | ||
|
|
9caba57c14 | ||
|
|
70f48343ee | ||
|
|
f17f103d12 | ||
|
|
27e311f7e8 | ||
|
|
5258bf9c84 | ||
|
|
10f0631487 | ||
|
|
97fc92b1bb | ||
|
|
06718c580e | ||
|
|
15528ef8d7 | ||
|
|
b71f96e4e5 | ||
|
|
278de1398b | ||
|
|
c5459a2f19 | ||
|
|
c1d4a0dd28 | ||
|
|
691fe611d6 | ||
|
|
6a1af891b7 | ||
|
|
35b3013386 | ||
|
|
d1a9695a35 | ||
|
|
c6beaa1631 | ||
|
|
33f0eaada0 | ||
|
|
c5fa84cd28 | ||
|
|
bacb284415 | ||
|
|
650269d356 | ||
|
|
b0319ec0f1 | ||
|
|
6e0f83a298 | ||
|
|
747408871d | ||
|
|
0129da4dd6 | ||
|
|
3f3772463b | ||
|
|
4de042bf58 | ||
|
|
8c523be6f5 | ||
|
|
078493912c | ||
|
|
cbf105f2a0 | ||
|
|
bba6664b1c | ||
|
|
b06d045188 | ||
|
|
79d164309f | ||
|
|
f2afcc0bc8 | ||
|
|
43f82cd95d | ||
|
|
2b70cb436e | ||
|
|
9a861f46d0 | ||
|
|
bb28903c8e | ||
|
|
e8eadc5d20 | ||
|
|
e741a4f294 | ||
|
|
1678a25fd6 | ||
|
|
ff70b0a2c8 | ||
|
|
3803c64226 | ||
|
|
35a541c824 | ||
|
|
ab8420f5a9 | ||
|
|
fa46757830 | ||
|
|
ed35a90cfb | ||
|
|
d8bce0f202 | ||
|
|
e6f600bb47 | ||
|
|
519af6a5d0 | ||
|
|
c6c4aff8ae | ||
|
|
6d4abac016 | ||
|
|
d34cb80b68 | ||
|
|
57641f7228 | ||
|
|
9ae86f2585 | ||
|
|
1e7e9d6101 | ||
|
|
8bbc16ed4b | ||
|
|
4745b3efeb | ||
|
|
09f79b94dd | ||
|
|
42357dee0b | ||
|
|
2e73cd6c4d | ||
|
|
161978ab05 | ||
|
|
994bc9279f | ||
|
|
fb08910db3 | ||
|
|
e607f49ae6 | ||
|
|
52cf1f6a4b | ||
|
|
61f9966fe0 | ||
|
|
5f7cdb8d42 | ||
|
|
901c0e7e41 | ||
|
|
98cad8779c | ||
|
|
fc597ba86e | ||
|
|
f5bd8abfda | ||
|
|
8be72e6c27 | ||
|
|
2740013625 | ||
|
|
119e03b64f | ||
|
|
c6dbeee245 | ||
|
|
feb3a13a71 | ||
|
|
c80d1c15d2 | ||
|
|
3155d79a7e | ||
|
|
1599f3a666 | ||
|
|
f911f0cfca | ||
|
|
1fb14d5a40 | ||
|
|
616c20fc1e | ||
|
|
6cf14e6a2a | ||
|
|
9f812b7069 | ||
|
|
efabf35613 | ||
|
|
3f640139d2 |
23
.editorconfig
Normal file
@@ -0,0 +1,23 @@
|
||||
# Copyright 2017 Aviral Dasgupta
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset=utf-8
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
trim_trailing_whitespace = true
|
||||
2
.eslintignore
Normal file
@@ -0,0 +1,2 @@
|
||||
src/vector/modernizr.js
|
||||
src/component-index.js
|
||||
3
.eslintrc.js
Normal file
@@ -0,0 +1,3 @@
|
||||
module.exports = {
|
||||
extends: ["./node_modules/matrix-react-sdk/.eslintrc.js"],
|
||||
}
|
||||
44
.github/ISSUE_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
<!-- This is a bug report template. By following the instructions below and
|
||||
filling out the sections with your information, you will help the us to get all
|
||||
the necessary data to fix your issue.
|
||||
|
||||
You can also preview your report before submitting it. You may remove sections
|
||||
that aren't relevant to your particular case.
|
||||
|
||||
Text between <!-- and --> marks will be invisible in the report.
|
||||
-->
|
||||
|
||||
### Description
|
||||
|
||||
Describe here the problem that you are experiencing, or the feature you are requesting.
|
||||
|
||||
### Steps to reproduce
|
||||
|
||||
- For bugs, list the steps
|
||||
- that reproduce the bug
|
||||
- using hyphens as bullet points
|
||||
|
||||
Describe how what happens differs from what you expected.
|
||||
|
||||
Log: sent/not sent? <!-- You can send us the app's logs via the 'Report bug'
|
||||
link on the 'Settings' page. Very important for hard-to-reproduce bugs. Please
|
||||
file a bug here too! -->
|
||||
|
||||
<!-- Include screenshots if possible: you can drag and drop images below. -->
|
||||
|
||||
### Version information
|
||||
|
||||
<!-- IMPORTANT: please answer the following questions, to help us narrow down the problem -->
|
||||
|
||||
- **Platform**: web (in-browser) or desktop?
|
||||
|
||||
For the web app:
|
||||
|
||||
- **Browser**: Chrome, Safari, Firefox? which version?
|
||||
- **OS**: Windows, macOS, Ubuntu, Arch Linux, etc?
|
||||
- **URL**: riot.im/develop / riot.im/app / somewhere else? If a private server, what version of riot-web?
|
||||
|
||||
For the desktop app:
|
||||
|
||||
- **OS**: Windows, macOS, Ubuntu, Arch Linux, etc?
|
||||
- **Version**: 0.x.y <!-- check the user settings panel if unsure -->
|
||||
3
.gitignore
vendored
@@ -5,6 +5,7 @@
|
||||
/key.pem
|
||||
/lib
|
||||
/node_modules
|
||||
/electron/node_modules
|
||||
/packages/
|
||||
/webapp
|
||||
/.npmrc
|
||||
@@ -12,3 +13,5 @@
|
||||
npm-debug.log
|
||||
electron/dist
|
||||
electron/pub
|
||||
/config.json
|
||||
/src/component-index.js
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
"test/css/flexbox",
|
||||
"test/es5/specification",
|
||||
"test/css/objectfit",
|
||||
"test/storage/localstorage"
|
||||
"test/storage/localstorage",
|
||||
"test/workers/webworkers",
|
||||
"test/indexeddb"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,4 +3,5 @@ node_js:
|
||||
- 6 # node v6, to match jenkins
|
||||
install:
|
||||
- npm install
|
||||
- (cd node_modules/matrix-react-sdk && npm run build)
|
||||
- (cd node_modules/matrix-js-sdk && npm install)
|
||||
- (cd node_modules/matrix-react-sdk && npm install)
|
||||
|
||||
@@ -10,3 +10,6 @@ include:
|
||||
|
||||
* Florent VIOLLEAU (https://github.com/floviolleau) <floviolleau at gmail dot com>
|
||||
Improve README.md for a better understanding of installation instructions
|
||||
|
||||
* Michael Telatynski (https://github.com/t3chguy)
|
||||
Improved consistency of inverted elements in dark theme across browsers
|
||||
|
||||
417
CHANGELOG.md
@@ -1,3 +1,418 @@
|
||||
Changes in [0.9.10](https://github.com/vector-im/riot-web/releases/tag/v0.9.10) (2017-05-22)
|
||||
============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.10-rc.1...v0.9.10)
|
||||
|
||||
* No changes
|
||||
|
||||
|
||||
Changes in [0.9.10-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.9.10-rc.1) (2017-05-19)
|
||||
======================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.9...v0.9.10-rc.1)
|
||||
|
||||
* CSS for left_aligned Dropdowns, and adjustments for Country dd in Login
|
||||
[\#3959](https://github.com/vector-im/riot-web/pull/3959)
|
||||
* Add square flag pngs /w genflags.sh script
|
||||
[\#3953](https://github.com/vector-im/riot-web/pull/3953)
|
||||
* Add config for riot-bot on desktop app build
|
||||
[\#3954](https://github.com/vector-im/riot-web/pull/3954)
|
||||
* Desktop: 'copy link address'
|
||||
[\#3952](https://github.com/vector-im/riot-web/pull/3952)
|
||||
* Reduce rageshake log size to 1MB
|
||||
[\#3943](https://github.com/vector-im/riot-web/pull/3943)
|
||||
* CSS for putting country dd on same line as phone input
|
||||
[\#3942](https://github.com/vector-im/riot-web/pull/3942)
|
||||
* fix #3894
|
||||
[\#3919](https://github.com/vector-im/riot-web/pull/3919)
|
||||
* change vector->riot on the surface
|
||||
[\#3894](https://github.com/vector-im/riot-web/pull/3894)
|
||||
* move manifest.json outward so it is scoped properly
|
||||
[\#3888](https://github.com/vector-im/riot-web/pull/3888)
|
||||
* add to manifest
|
||||
[\#3799](https://github.com/vector-im/riot-web/pull/3799)
|
||||
* Automatically update component-index
|
||||
[\#3886](https://github.com/vector-im/riot-web/pull/3886)
|
||||
* move electron -> electron_app because npm smart
|
||||
[\#3877](https://github.com/vector-im/riot-web/pull/3877)
|
||||
* Fix bug report endpoint in config.sample.json.
|
||||
[\#3863](https://github.com/vector-im/riot-web/pull/3863)
|
||||
* Update 2 missed icons to the new icon
|
||||
[\#3851](https://github.com/vector-im/riot-web/pull/3851)
|
||||
* Make left panel better for new users (mk II)
|
||||
[\#3804](https://github.com/vector-im/riot-web/pull/3804)
|
||||
* match primary package.json
|
||||
[\#3839](https://github.com/vector-im/riot-web/pull/3839)
|
||||
* Re-add productName
|
||||
[\#3829](https://github.com/vector-im/riot-web/pull/3829)
|
||||
* Remove leading v in /version file, for SemVer and to match Electron ver
|
||||
[\#3683](https://github.com/vector-im/riot-web/pull/3683)
|
||||
* Fix scope of callback
|
||||
[\#3790](https://github.com/vector-im/riot-web/pull/3790)
|
||||
* Remember and Recall window layout/position state
|
||||
[\#3622](https://github.com/vector-im/riot-web/pull/3622)
|
||||
* Remove babelcheck
|
||||
[\#3808](https://github.com/vector-im/riot-web/pull/3808)
|
||||
* Include MXID and device id in rageshakes
|
||||
[\#3809](https://github.com/vector-im/riot-web/pull/3809)
|
||||
* import Modal
|
||||
[\#3791](https://github.com/vector-im/riot-web/pull/3791)
|
||||
* Pin filesize ver to fix break upstream
|
||||
[\#3775](https://github.com/vector-im/riot-web/pull/3775)
|
||||
* Improve Room Directory Look & Feel
|
||||
[\#3751](https://github.com/vector-im/riot-web/pull/3751)
|
||||
* Fix emote RRs alignment
|
||||
[\#3742](https://github.com/vector-im/riot-web/pull/3742)
|
||||
* Remove unused `placeholder` prop on RoomDropTarget
|
||||
[\#3741](https://github.com/vector-im/riot-web/pull/3741)
|
||||
* Modify CSS for matrix-org/matrix-react-sdk#833
|
||||
[\#3732](https://github.com/vector-im/riot-web/pull/3732)
|
||||
* Warn when exiting due to single-instance
|
||||
[\#3727](https://github.com/vector-im/riot-web/pull/3727)
|
||||
* Electron forgets it was maximized when you click on a notification
|
||||
[\#3709](https://github.com/vector-im/riot-web/pull/3709)
|
||||
* CSS to make h1 and h2 the same size as h1.
|
||||
[\#3719](https://github.com/vector-im/riot-web/pull/3719)
|
||||
* Prevent long room names/topics from pushing UI of the screen
|
||||
[\#3721](https://github.com/vector-im/riot-web/pull/3721)
|
||||
* Disable dropdown highlight on focus
|
||||
[\#3717](https://github.com/vector-im/riot-web/pull/3717)
|
||||
* Escape HTML Tags from Linux Notifications (electron)
|
||||
[\#3564](https://github.com/vector-im/riot-web/pull/3564)
|
||||
* styling for spoilerized access token view in Settings
|
||||
[\#3651](https://github.com/vector-im/riot-web/pull/3651)
|
||||
* Fix Webpack conf
|
||||
[\#3690](https://github.com/vector-im/riot-web/pull/3690)
|
||||
* Add config.json to .gitignore
|
||||
[\#3599](https://github.com/vector-im/riot-web/pull/3599)
|
||||
* add command line arg (--hidden) for electron app
|
||||
[\#3641](https://github.com/vector-im/riot-web/pull/3641)
|
||||
* fix ImageView Download functionality
|
||||
[\#3640](https://github.com/vector-im/riot-web/pull/3640)
|
||||
* Add cross-env into the mix
|
||||
[\#3693](https://github.com/vector-im/riot-web/pull/3693)
|
||||
* Remember acceptance for unsupported browsers.
|
||||
[\#3694](https://github.com/vector-im/riot-web/pull/3694)
|
||||
* Cosmetics to go with matrix-org/matrix-react-sdk#811
|
||||
[\#3692](https://github.com/vector-im/riot-web/pull/3692)
|
||||
* Cancel quicksearch on ESC
|
||||
[\#3680](https://github.com/vector-im/riot-web/pull/3680)
|
||||
* Optimise RoomList and implement quick-search functionality on it.
|
||||
[\#3654](https://github.com/vector-im/riot-web/pull/3654)
|
||||
* Progress updates for rageshake uploads
|
||||
[\#3648](https://github.com/vector-im/riot-web/pull/3648)
|
||||
* Factor out rageshake upload to a separate file
|
||||
[\#3645](https://github.com/vector-im/riot-web/pull/3645)
|
||||
* rageshake: fix race when collecting logs
|
||||
[\#3644](https://github.com/vector-im/riot-web/pull/3644)
|
||||
* Fix a flaky test
|
||||
[\#3649](https://github.com/vector-im/riot-web/pull/3649)
|
||||
|
||||
Changes in [0.9.9](https://github.com/vector-im/riot-web/releases/tag/v0.9.9) (2017-04-25)
|
||||
==========================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.9-rc.2...v0.9.9)
|
||||
|
||||
* No changes
|
||||
|
||||
|
||||
Changes in [0.9.9-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.9.9-rc.2) (2017-04-24)
|
||||
====================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.9-rc.1...v0.9.9-rc.2)
|
||||
|
||||
* Fix bug where links to Riot would fail to open.
|
||||
|
||||
|
||||
Changes in [0.9.9-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.9.9-rc.1) (2017-04-21)
|
||||
====================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.8...v0.9.9-rc.1)
|
||||
|
||||
* Update js-sdk and matrix-react-sdk to fix registration without a captcha (https://github.com/vector-im/riot-web/issues/3621)
|
||||
|
||||
|
||||
Changes in [0.9.8](https://github.com/vector-im/riot-web/releases/tag/v0.9.8) (2017-04-12)
|
||||
==========================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.8-rc.3...v0.9.8)
|
||||
|
||||
* No changes
|
||||
|
||||
Changes in [0.9.8-rc.3](https://github.com/vector-im/riot-web/releases/tag/v0.9.8-rc.3) (2017-04-11)
|
||||
====================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.8-rc.2...v0.9.8-rc.3)
|
||||
|
||||
* Make the clear cache button work on desktop
|
||||
[\#3598](https://github.com/vector-im/riot-web/pull/3598)
|
||||
|
||||
Changes in [0.9.8-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.9.8-rc.2) (2017-04-10)
|
||||
====================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.8-rc.1...v0.9.8-rc.2)
|
||||
|
||||
* Redacted events bg: black lozenge -> torn paper
|
||||
[\#3596](https://github.com/vector-im/riot-web/pull/3596)
|
||||
* Add 'app' parameter to rageshake report
|
||||
[\#3594](https://github.com/vector-im/riot-web/pull/3594)
|
||||
|
||||
Changes in [0.9.8-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.9.8-rc.1) (2017-04-07)
|
||||
====================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.7...v0.9.8-rc.1)
|
||||
|
||||
* Add support for indexeddb sync in webworker
|
||||
[\#3578](https://github.com/vector-im/riot-web/pull/3578)
|
||||
* Add CSS to make Emote sender cursor : pointer
|
||||
[\#3574](https://github.com/vector-im/riot-web/pull/3574)
|
||||
* Remove rageshake server
|
||||
[\#3565](https://github.com/vector-im/riot-web/pull/3565)
|
||||
* Adjust CSS for matrix-org/matrix-react-sdk#789
|
||||
[\#3566](https://github.com/vector-im/riot-web/pull/3566)
|
||||
* Fix tests to reflect recent changes
|
||||
[\#3537](https://github.com/vector-im/riot-web/pull/3537)
|
||||
* Do not assume getTs will return comparable integer
|
||||
[\#3536](https://github.com/vector-im/riot-web/pull/3536)
|
||||
* Rename ReactPerf to Perf
|
||||
[\#3535](https://github.com/vector-im/riot-web/pull/3535)
|
||||
* Don't show phone number as target for email notifs
|
||||
[\#3530](https://github.com/vector-im/riot-web/pull/3530)
|
||||
* Fix people section again
|
||||
[\#3458](https://github.com/vector-im/riot-web/pull/3458)
|
||||
* dark theme invert inconsistent across browsers
|
||||
[\#3479](https://github.com/vector-im/riot-web/pull/3479)
|
||||
* CSS for adding phone number in UserSettings
|
||||
[\#3451](https://github.com/vector-im/riot-web/pull/3451)
|
||||
* Support for phone number registration/signin, mk2
|
||||
[\#3426](https://github.com/vector-im/riot-web/pull/3426)
|
||||
* Confirm redactions with a dialog
|
||||
[\#3470](https://github.com/vector-im/riot-web/pull/3470)
|
||||
* Better CSS for redactions
|
||||
[\#3453](https://github.com/vector-im/riot-web/pull/3453)
|
||||
* Fix the people section
|
||||
[\#3448](https://github.com/vector-im/riot-web/pull/3448)
|
||||
* Merge the two RoomTile context menus into one
|
||||
[\#3395](https://github.com/vector-im/riot-web/pull/3395)
|
||||
* Refactor screen set after login
|
||||
[\#3385](https://github.com/vector-im/riot-web/pull/3385)
|
||||
* CSS for redacted EventTiles
|
||||
[\#3379](https://github.com/vector-im/riot-web/pull/3379)
|
||||
* Height:100% for welcome pages on Safari
|
||||
[\#3340](https://github.com/vector-im/riot-web/pull/3340)
|
||||
* `view_room` dispatch from `onClick` RoomTile
|
||||
[\#3376](https://github.com/vector-im/riot-web/pull/3376)
|
||||
* Hide statusAreaBox_line entirely when inCall
|
||||
[\#3350](https://github.com/vector-im/riot-web/pull/3350)
|
||||
* Set padding-bottom: 0px for .mx_Dialog spinner
|
||||
[\#3351](https://github.com/vector-im/riot-web/pull/3351)
|
||||
* Support InteractiveAuth based registration
|
||||
[\#3333](https://github.com/vector-im/riot-web/pull/3333)
|
||||
* Expose notification option for username/MXID
|
||||
[\#3334](https://github.com/vector-im/riot-web/pull/3334)
|
||||
* Float the toggle in the top right of MELS
|
||||
[\#3190](https://github.com/vector-im/riot-web/pull/3190)
|
||||
* More aggressive rageshake log culling
|
||||
[\#3311](https://github.com/vector-im/riot-web/pull/3311)
|
||||
* Don't overflow directory network options
|
||||
[\#3282](https://github.com/vector-im/riot-web/pull/3282)
|
||||
* CSS for ban / kick reason prompt
|
||||
[\#3250](https://github.com/vector-im/riot-web/pull/3250)
|
||||
* Allow forgetting rooms you're banned from
|
||||
[\#3246](https://github.com/vector-im/riot-web/pull/3246)
|
||||
* Fix icon paths in manifest
|
||||
[\#3245](https://github.com/vector-im/riot-web/pull/3245)
|
||||
* Fix broken tests caused by adding IndexedDB support
|
||||
[\#3242](https://github.com/vector-im/riot-web/pull/3242)
|
||||
* CSS for un-ban button in RoomSettings
|
||||
[\#3227](https://github.com/vector-im/riot-web/pull/3227)
|
||||
* Remove z-index property on avatar initials
|
||||
[\#3239](https://github.com/vector-im/riot-web/pull/3239)
|
||||
* Reposition certain icons in the status bar
|
||||
[\#3233](https://github.com/vector-im/riot-web/pull/3233)
|
||||
* CSS for kick/ban confirmation dialog
|
||||
[\#3224](https://github.com/vector-im/riot-web/pull/3224)
|
||||
* Style for split-out interactive auth
|
||||
[\#3217](https://github.com/vector-im/riot-web/pull/3217)
|
||||
* Use the teamToken threaded through from react sdk
|
||||
[\#3196](https://github.com/vector-im/riot-web/pull/3196)
|
||||
* rageshake: Add file server with basic auth
|
||||
[\#3169](https://github.com/vector-im/riot-web/pull/3169)
|
||||
* Fix bug with home icon not appearing when logged in as team member
|
||||
[\#3162](https://github.com/vector-im/riot-web/pull/3162)
|
||||
* Add ISSUE_TEMPLATE
|
||||
[\#2836](https://github.com/vector-im/riot-web/pull/2836)
|
||||
* Store bug reports in separate directories
|
||||
[\#3150](https://github.com/vector-im/riot-web/pull/3150)
|
||||
* Quick and dirty support for custom welcome pages.
|
||||
[\#2575](https://github.com/vector-im/riot-web/pull/2575)
|
||||
* RTS Welcome Pages
|
||||
[\#3103](https://github.com/vector-im/riot-web/pull/3103)
|
||||
* rageshake: Abide by Go standards
|
||||
[\#3149](https://github.com/vector-im/riot-web/pull/3149)
|
||||
* Bug report server script
|
||||
[\#3072](https://github.com/vector-im/riot-web/pull/3072)
|
||||
* Bump olm version
|
||||
[\#3125](https://github.com/vector-im/riot-web/pull/3125)
|
||||
|
||||
Changes in [0.9.7](https://github.com/vector-im/riot-web/releases/tag/v0.9.7) (2017-02-04)
|
||||
==========================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.7-rc.3...v0.9.7)
|
||||
|
||||
* Update to matrix-js-sdk 0.7.5 (no changes from 0.7.5-rc.3)
|
||||
* Update to matrix-react-sdk 0.8.6 (no changes from 0.8.6-rc.3)
|
||||
|
||||
Changes in [0.9.7-rc.3](https://github.com/vector-im/riot-web/releases/tag/v0.9.7-rc.3) (2017-02-03)
|
||||
====================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.7-rc.2...v0.9.7-rc.3)
|
||||
* Update to latest Olm to fix key import/export and use of megolm sessions
|
||||
created on more recent versions
|
||||
* Update to latest matrix-react-sdk and matrix-js-sdk to fix e2e device
|
||||
handling
|
||||
|
||||
Changes in [0.9.7-rc.2](https://github.com/vector-im/riot-web/releases/tag/v0.9.7-rc.2) (2017-02-03)
|
||||
====================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.7-rc.1...v0.9.7-rc.2)
|
||||
|
||||
* Update matrix-js-sdk to get new device change
|
||||
notifications interface for more reliable e2e crypto
|
||||
|
||||
Changes in [0.9.7-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.9.7-rc.1) (2017-02-03)
|
||||
====================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.6...v0.9.7-rc.1)
|
||||
|
||||
* Better user interface for screen readers and keyboard navigation
|
||||
[\#2946](https://github.com/vector-im/riot-web/pull/2946)
|
||||
* Allow mxc: URLs for icons in the NetworkDropdown
|
||||
[\#3118](https://github.com/vector-im/riot-web/pull/3118)
|
||||
* make TopRightMenu more intuitive
|
||||
[\#3117](https://github.com/vector-im/riot-web/pull/3117)
|
||||
* Handle icons with width > height
|
||||
[\#3110](https://github.com/vector-im/riot-web/pull/3110)
|
||||
* Fix jenkins build
|
||||
[\#3105](https://github.com/vector-im/riot-web/pull/3105)
|
||||
* Add CSS for a support box in login
|
||||
[\#3081](https://github.com/vector-im/riot-web/pull/3081)
|
||||
* Allow a custom login logo to be displayed on login
|
||||
[\#3082](https://github.com/vector-im/riot-web/pull/3082)
|
||||
* Fix the width of input fields within login/reg box
|
||||
[\#3080](https://github.com/vector-im/riot-web/pull/3080)
|
||||
* Set BaseAvatar_image bg colour = #fff
|
||||
[\#3057](https://github.com/vector-im/riot-web/pull/3057)
|
||||
* only recalculate favicon if it changes
|
||||
[\#3067](https://github.com/vector-im/riot-web/pull/3067)
|
||||
* CSS tweak for email address lookup
|
||||
[\#3064](https://github.com/vector-im/riot-web/pull/3064)
|
||||
* Glue the dialog to rageshake: honour sendLogs flag.
|
||||
[\#3061](https://github.com/vector-im/riot-web/pull/3061)
|
||||
* Don't use hash-named directory for dev server
|
||||
[\#3049](https://github.com/vector-im/riot-web/pull/3049)
|
||||
* Implement bug reporting logic
|
||||
[\#3000](https://github.com/vector-im/riot-web/pull/3000)
|
||||
* Add css for bug report dialog
|
||||
[\#3045](https://github.com/vector-im/riot-web/pull/3045)
|
||||
* Increase the max-height of the expanded status bar
|
||||
[\#3043](https://github.com/vector-im/riot-web/pull/3043)
|
||||
* Hopefully, fix intermittent test failure
|
||||
[\#3040](https://github.com/vector-im/riot-web/pull/3040)
|
||||
* CSS for 'searching known users'
|
||||
[\#2971](https://github.com/vector-im/riot-web/pull/2971)
|
||||
* Animate status bar max-height and margin-top
|
||||
[\#2981](https://github.com/vector-im/riot-web/pull/2981)
|
||||
* Add eslint config
|
||||
[\#3032](https://github.com/vector-im/riot-web/pull/3032)
|
||||
* Re-position typing avatars relative to "is typing"
|
||||
[\#3030](https://github.com/vector-im/riot-web/pull/3030)
|
||||
* CSS for avatars that appear when users are typing
|
||||
[\#2998](https://github.com/vector-im/riot-web/pull/2998)
|
||||
* Add StartupWMClass
|
||||
[\#3001](https://github.com/vector-im/riot-web/pull/3001)
|
||||
* Fix link to image for event options menu
|
||||
[\#3002](https://github.com/vector-im/riot-web/pull/3002)
|
||||
* Make riot desktop single instance
|
||||
[\#2999](https://github.com/vector-im/riot-web/pull/2999)
|
||||
* Add electron tray icon
|
||||
[\#2997](https://github.com/vector-im/riot-web/pull/2997)
|
||||
* Fixes to electron desktop notifs
|
||||
[\#2994](https://github.com/vector-im/riot-web/pull/2994)
|
||||
* Auto-hide the electron menu bar
|
||||
[\#2975](https://github.com/vector-im/riot-web/pull/2975)
|
||||
* A couple of tweaks to the karma config
|
||||
[\#2987](https://github.com/vector-im/riot-web/pull/2987)
|
||||
* Deploy script
|
||||
[\#2974](https://github.com/vector-im/riot-web/pull/2974)
|
||||
* Use the postcss-webpack-loader
|
||||
[\#2990](https://github.com/vector-im/riot-web/pull/2990)
|
||||
* Switch CSS to using postcss, and implement a dark theme.
|
||||
[\#2973](https://github.com/vector-im/riot-web/pull/2973)
|
||||
* Update redeploy script to keep old bundles
|
||||
[\#2969](https://github.com/vector-im/riot-web/pull/2969)
|
||||
* Include current version in update check explicitly
|
||||
[\#2967](https://github.com/vector-im/riot-web/pull/2967)
|
||||
* Add another layer of directory to webpack chunks
|
||||
[\#2966](https://github.com/vector-im/riot-web/pull/2966)
|
||||
* Fix links to fonts and images from CSS
|
||||
[\#2965](https://github.com/vector-im/riot-web/pull/2965)
|
||||
* Put parent build hash in webpack output filenames
|
||||
[\#2961](https://github.com/vector-im/riot-web/pull/2961)
|
||||
* update README to point to new names/locations
|
||||
[\#2846](https://github.com/vector-im/riot-web/pull/2846)
|
||||
|
||||
Changes in [0.9.6](https://github.com/vector-im/riot-web/releases/tag/v0.9.6) (2017-01-16)
|
||||
==========================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.6-rc.1...v0.9.6)
|
||||
|
||||
* Update to matrix-js-sdk 0.9.6 for video calling fix
|
||||
|
||||
Changes in [0.9.6-rc.1](https://github.com/vector-im/riot-web/releases/tag/v0.9.6-rc.1) (2017-01-13)
|
||||
====================================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.5...v0.9.6-rc.1)
|
||||
|
||||
* Build the js-sdk in the CI script
|
||||
[\#2920](https://github.com/vector-im/riot-web/pull/2920)
|
||||
* Hopefully fix Windows shortcuts
|
||||
[\#2917](https://github.com/vector-im/riot-web/pull/2917)
|
||||
* Update README now the js-sdk has a transpile step
|
||||
[\#2921](https://github.com/vector-im/riot-web/pull/2921)
|
||||
* Use the role for 'toggle dev tools'
|
||||
[\#2915](https://github.com/vector-im/riot-web/pull/2915)
|
||||
* Enable screen sharing easter-egg in desktop app
|
||||
[\#2909](https://github.com/vector-im/riot-web/pull/2909)
|
||||
* make electron send email validation URLs with a nextlink of riot.im
|
||||
[\#2808](https://github.com/vector-im/riot-web/pull/2808)
|
||||
* add Debian Stretch install steps to readme
|
||||
[\#2809](https://github.com/vector-im/riot-web/pull/2809)
|
||||
* Update desktop build instructions fixes #2792
|
||||
[\#2793](https://github.com/vector-im/riot-web/pull/2793)
|
||||
* CSS for the delete threepid button
|
||||
[\#2784](https://github.com/vector-im/riot-web/pull/2784)
|
||||
|
||||
Changes in [0.9.5](https://github.com/vector-im/riot-web/releases/tag/v0.9.5) (2016-12-24)
|
||||
==========================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.4...v0.9.5)
|
||||
|
||||
* make electron send email validation URLs with a nextlink of riot.im rather than file:///
|
||||
* add gnu-tar to debian electron build deps
|
||||
* fix win32 shortcut in start menu
|
||||
|
||||
Changes in [0.9.4](https://github.com/vector-im/riot-web/releases/tag/v0.9.4) (2016-12-22)
|
||||
==========================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.3...v0.9.4)
|
||||
|
||||
* Update to libolm 2.1.0. This should help resolve a problem with browser
|
||||
sessions being logged out ([\#2726](https://github.com/vector-im/riot-web/issues/2726)).
|
||||
|
||||
Changes in [0.9.3](https://github.com/vector-im/riot-web/releases/tag/v0.9.3) (2016-12-22)
|
||||
==========================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.2...v0.9.3)
|
||||
|
||||
* (from matrix-react-sdk) Fix regression where the date separator would be displayed
|
||||
at the wrong time of day.
|
||||
* README.md: fix GFMD for nativefier
|
||||
[\#2755](https://github.com/vector-im/riot-web/pull/2755)
|
||||
|
||||
Changes in [0.9.2](https://github.com/vector-im/riot-web/releases/tag/v0.9.2) (2016-12-16)
|
||||
==========================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.1...v0.9.2)
|
||||
|
||||
* Remove the client side filtering from the room dir
|
||||
[\#2750](https://github.com/vector-im/riot-web/pull/2750)
|
||||
* Configure olm memory size
|
||||
[\#2745](https://github.com/vector-im/riot-web/pull/2745)
|
||||
* Support room dir 3rd party network filtering
|
||||
[\#2747](https://github.com/vector-im/riot-web/pull/2747)
|
||||
|
||||
Changes in [0.9.1](https://github.com/vector-im/riot-web/releases/tag/v0.9.1) (2016-12-09)
|
||||
==========================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.9.1-rc.2...v0.9.1)
|
||||
@@ -98,7 +513,7 @@ Changes in [0.9.0](https://github.com/vector-im/vector-web/releases/tag/v0.9.0)
|
||||
* Implement Platforms
|
||||
[\#2531](https://github.com/vector-im/vector-web/pull/2531)
|
||||
|
||||
hanges in [0.8.4](https://github.com/vector-im/vector-web/releases/tag/v0.8.4) (2016-11-04)
|
||||
Changes in [0.8.4](https://github.com/vector-im/vector-web/releases/tag/v0.8.4) (2016-11-04)
|
||||
============================================================================================
|
||||
[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.8.4-rc.2...v0.8.4)
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Contributing code to Vector
|
||||
===========================
|
||||
Contributing code to Riot
|
||||
=========================
|
||||
|
||||
Vector follows the same pattern as https://github.com/matrix-org/synapse/blob/master/CONTRIBUTING.rst
|
||||
Riot follows the same pattern as https://github.com/matrix-org/synapse/blob/master/CONTRIBUTING.rst.
|
||||
|
||||
153
README.md
@@ -14,17 +14,28 @@ https://riot.im/develop for those who like living dangerously.
|
||||
To host your own copy of Riot, the quickest bet is to use a pre-built
|
||||
released version of Riot:
|
||||
|
||||
1. Download the latest version from https://github.com/vector-im/vector-web/releases
|
||||
1. Download the latest version from https://github.com/vector-im/riot-web/releases
|
||||
1. Untar the tarball on your web server
|
||||
1. Move (or symlink) the vector-x.x.x directory to an appropriate name
|
||||
1. If desired, copy `config.sample.json` to `config.json` and edit it
|
||||
as desired. See below for details.
|
||||
1. Enter the URL into your browser and log into Riot!
|
||||
|
||||
Releases are signed by PGP, and can be checked against the public key
|
||||
at https://riot.im/packages/keys/riot-master.asc
|
||||
|
||||
Note that Chrome does not allow microphone or webcam access for sites served
|
||||
over http (except localhost), so for working VoIP you will need to serve Riot
|
||||
over https.
|
||||
|
||||
### Installation Steps for Debian Stretch
|
||||
1. Add the repository to your sources.list using either of the following two options:
|
||||
- Directly to sources.list: `echo "deb https://riot.im/packages/debian/ stretch main" | sudo tee -a /etc/apt/sources.list`
|
||||
- As a separate entry in sources.list.d: `echo "deb https://riot.im/packages/debian/ stretch main" | sudo tee /etc/apt/sources.list.d/riot.list`
|
||||
2. Add the gpg signing key for the riot repository: `curl -s https://riot.im/packages/debian/repo-key.asc | sudo apt-key add -`
|
||||
3. Update your package lists: `sudo apt-get update`
|
||||
4. Install Riot: `sudo apt-get install riot-web`
|
||||
|
||||
Important Security Note
|
||||
=======================
|
||||
|
||||
@@ -36,7 +47,7 @@ access to Riot (or other apps) due to sharing the same domain.
|
||||
|
||||
We have put some coarse mitigations into place to try to protect against this
|
||||
situation, but it's still not good practice to do it in the first place. See
|
||||
https://github.com/vector-im/vector-web/issues/1977 for more details.
|
||||
https://github.com/vector-im/riot-web/issues/1977 for more details.
|
||||
|
||||
Building From Source
|
||||
====================
|
||||
@@ -45,13 +56,29 @@ Riot is a modular webapp built with modern ES6 and requires a npm build system
|
||||
to build.
|
||||
|
||||
1. Install or update `node.js` so that your `npm` is at least at version `2.0.0`
|
||||
1. Clone the repo: `git clone https://github.com/vector-im/vector-web.git`
|
||||
1. Switch to the vector-web directory: `cd vector-web`
|
||||
1. Clone the repo: `git clone https://github.com/vector-im/riot-web.git`
|
||||
1. Switch to the riot-web directory: `cd riot-web`
|
||||
1. Install the prerequisites: `npm install`
|
||||
1. If you are using the `develop` branch of vector-web, you will probably need
|
||||
to rebuild one of the dependencies, due to
|
||||
https://github.com/npm/npm/issues/3055: `(cd node_modules/matrix-react-sdk
|
||||
&& npm install)`
|
||||
to rebuild some of the dependencies, due to
|
||||
https://github.com/npm/npm/issues/3055:
|
||||
|
||||
```
|
||||
(cd node_modules/matrix-js-sdk && npm install)
|
||||
(cd node_modules/matrix-react-sdk && npm install)
|
||||
```
|
||||
Whenever you git pull on riot-web you will also probably need to force an update
|
||||
to these dependencies - the easiest way is probably:
|
||||
```
|
||||
rm -rf node_modules/matrjx-{js,react}-sdk && npm i
|
||||
(cd node_modules/matrix-js-sdk && npm install)
|
||||
(cd node_modules/matrix-react-sdk && npm install)
|
||||
```
|
||||
However, we recommend setting up a proper development environment (see "Setting
|
||||
up a development environment" below) if you want to run your own copy of the
|
||||
`develop` branch, as it makes it much easier to keep these dependencies
|
||||
up-to-date. Or just use https://riot.im/develop - the continuous integration
|
||||
release of the develop branch.
|
||||
1. Configure the app by copying `config.sample.json` to `config.json` and
|
||||
modifying it (see below for details)
|
||||
1. `npm run dist` to build a tarball to deploy. Untaring this file will give
|
||||
@@ -81,35 +108,12 @@ You can configure the app by copying `config.sample.json` to
|
||||
and https://vector.im. In future identity servers will be decentralised.
|
||||
1. `integrations_ui_url`: URL to the web interface for the integrations server.
|
||||
1. `integrations_rest_url`: URL to the REST interface for the integrations server.
|
||||
1. `roomDirectory`: config for the public room directory. This section encodes behaviour
|
||||
on the room directory screen for filtering the list by server / network type and joining
|
||||
third party networks. This config section will disappear once APIs are available to
|
||||
get this information for home servers. This section is optional.
|
||||
1. `roomDirectory`: config for the public room directory. This section is optional.
|
||||
1. `roomDirectory.servers`: List of other Home Servers' directories to include in the drop
|
||||
down list. Optional.
|
||||
1. `roomDirectory.serverConfig`: Config for each server in `roomDirectory.servers`. Optional.
|
||||
1. `roomDirectory.serverConfig.<server_name>.networks`: List of networks (named
|
||||
in `roomDirectory.networks`) to include for this server. Optional.
|
||||
1. `roomDirectory.networks`: config for each network type. Optional.
|
||||
1. `roomDirectory.<network_type>.name`: Human-readable name for the network. Required.
|
||||
1. `roomDirectory.<network_type>.protocol`: Protocol as given by the server in
|
||||
`/_matrix/client/unstable/thirdparty/protocols` response. Required to be able to join
|
||||
this type of third party network.
|
||||
1. `roomDirectory.<network_type>.domain`: Domain as given by the server in
|
||||
`/_matrix/client/unstable/thirdparty/protocols` response, if present. Required to be
|
||||
able to join this type of third party network, if present in `thirdparty/protocols`.
|
||||
1. `roomDirectory.<network_type>.portalRoomPattern`: Regular expression matching aliases
|
||||
for portal rooms to locations on this network. Required.
|
||||
1. `roomDirectory.<network_type>.icon`: URL to an icon to be displayed for this network. Required.
|
||||
1. `roomDirectory.<network_type>.example`: Textual example of a location on this network,
|
||||
eg. '#channel' for an IRC network. Optional.
|
||||
1. `roomDirectory.<network_type>.nativePattern`: Regular expression that matches a
|
||||
valid location on this network. This is used as a hint to the user to indicate
|
||||
when a valid location has been entered so it's not necessary for this to be
|
||||
exactly correct. Optional.
|
||||
1. `update_base_url` (electron app only): HTTPS URL to a web server to download
|
||||
updates from. This should be the path to the directory containing `install`
|
||||
and `update`.
|
||||
updates from. This should be the path to the directory containing `macos`
|
||||
and `win32` (for update packages, not installer packages).
|
||||
1. `cross_origin_renderer_url`: URL to a static HTML page hosting code to help display
|
||||
encrypted file attachments. This MUST be hosted on a completely separate domain to
|
||||
anything else since it is used to isolate the privileges of file attachments to this
|
||||
@@ -120,15 +124,19 @@ Running as a Desktop app
|
||||
========================
|
||||
|
||||
Riot can also be run as a desktop app, wrapped in electron. You can download a
|
||||
pre-built version from https://riot.im/download/desktop/ or, if you prefer,
|
||||
pre-built version from https://riot.im/desktop.html or, if you prefer,
|
||||
built it yourself.
|
||||
|
||||
To run as a desktop app:
|
||||
```
|
||||
npm install
|
||||
npm install electron
|
||||
node_modules/.bin/electron .
|
||||
```
|
||||
|
||||
1. Follow the instructions in 'Building From Source' above, but run
|
||||
`npm run build` instead of `npm run dist` (since we don't need the tarball).
|
||||
2. Install electron and run it:
|
||||
|
||||
```
|
||||
npm install electron
|
||||
npm run electron
|
||||
```
|
||||
|
||||
To build packages, use electron-builder. This is configured to output:
|
||||
* dmg + zip for macOS
|
||||
@@ -144,17 +152,16 @@ The only platform that can build packages for all three platforms is macOS:
|
||||
```
|
||||
brew install wine --without-x11
|
||||
brew install mono
|
||||
brew install gnu-tar
|
||||
npm install
|
||||
npm run build:electron
|
||||
```
|
||||
|
||||
For other packages, use electron-builder manually. For example, to build a package
|
||||
for 64 bit Linux:
|
||||
```
|
||||
npm install
|
||||
npm run build
|
||||
node_modules/.bin/build -l --x64
|
||||
```
|
||||
|
||||
1. Follow the instructions in 'Building From Source' above
|
||||
2. `node_modules/.bin/build -l --x64`
|
||||
|
||||
All electron packages go into `electron/dist/`
|
||||
|
||||
@@ -163,10 +170,11 @@ Many thanks to @aviraldg for the initial work on the electron integration.
|
||||
Other options for running as a desktop app:
|
||||
* https://github.com/krisak/vector-electron-desktop
|
||||
* @asdf:matrix.org points out that you can use nativefier and it just works(tm)
|
||||
```
|
||||
sudo npm install nativefier -g
|
||||
nativefier https://riot.im/app/
|
||||
```
|
||||
|
||||
```
|
||||
sudo npm install nativefier -g
|
||||
nativefier https://riot.im/app/
|
||||
```
|
||||
|
||||
Development
|
||||
===========
|
||||
@@ -187,13 +195,13 @@ the `component-index.js` for the app (used in future for skinning)
|
||||
development on Riot forcing `matrix-react-sdk` to move fast at the expense of
|
||||
maintaining a clear abstraction between the two.** Hacking on Riot inevitably
|
||||
means hacking equally on `matrix-react-sdk`, and there are bits of
|
||||
`matrix-react-sdk` behaviour incorrectly residing in the `vector-web` project
|
||||
`matrix-react-sdk` behaviour incorrectly residing in the `riot-web` project
|
||||
(e.g. matrix-react-sdk specific CSS), and a bunch of Riot specific behaviour
|
||||
in the `matrix-react-sdk` (grep for `vector` / `riot`). This separation problem will be
|
||||
solved asap once development on Riot (and thus matrix-react-sdk) has
|
||||
stabilised. Until then, the two projects should basically be considered as a
|
||||
single unit. In particular, `matrix-react-sdk` issues are currently filed
|
||||
against `vector-web` in github.
|
||||
against `riot-web` in github.
|
||||
|
||||
Please note that Riot is intended to run correctly without access to the public
|
||||
internet. So please don't depend on resources (JS libs, CSS, images, fonts)
|
||||
@@ -228,8 +236,8 @@ Then similarly with `matrix-react-sdk`:
|
||||
|
||||
Finally, build and start Riot itself:
|
||||
|
||||
1. `git clone git@github.com:vector-im/vector-web.git`
|
||||
1. `cd vector-web`
|
||||
1. `git clone git@github.com:vector-im/riot-web.git`
|
||||
1. `cd riot-web`
|
||||
1. `git checkout develop`
|
||||
1. `npm install`
|
||||
1. `rm -r node_modules/matrix-js-sdk; ln -s ../../matrix-js-sdk node_modules/`
|
||||
@@ -253,10 +261,10 @@ Finally, build and start Riot itself:
|
||||
disables caching, so do NOT use it in production.
|
||||
1. Open http://127.0.0.1:8080/ in your browser to see your newly built Riot.
|
||||
|
||||
When you make changes to `matrix-react-sdk`, you will need to run `npm run
|
||||
build` in the relevant directory. You can do this automatically by instead
|
||||
running `npm start` in the directory, to start a development builder which
|
||||
will watch for changes to the files and rebuild automatically.
|
||||
When you make changes to `matrix-react-sdk` or `matrix-js-sdk`, you will need
|
||||
to run `npm run build` in the relevant directory. You can do this automatically
|
||||
by instead running `npm start` in the directory, to start a development builder
|
||||
which will watch for changes to the files and rebuild automatically.
|
||||
|
||||
If you add or remove any components from the Riot skin, you will need to rebuild
|
||||
the skin's index by running, `npm run reskindex`.
|
||||
@@ -271,21 +279,28 @@ Triaging issues
|
||||
Issues will be triaged by the core team using the following primary set of tags:
|
||||
|
||||
priority:
|
||||
P1: top priority; typically blocks releases.
|
||||
P2: one below that
|
||||
P3: non-urgent
|
||||
P4/P5: bluesky some day, who knows.
|
||||
|
||||
* P1: top priority; typically blocks releases
|
||||
* P2: still need to fix, but lower than P1
|
||||
* P3: non-urgent
|
||||
* P4: intereseting idea - bluesky some day
|
||||
* P5: recorded for posterity/to avoid duplicates. No intention to resolves right now.
|
||||
|
||||
bug or feature:
|
||||
bug severity:
|
||||
* cosmetic - feature works functionally but UI/UX is broken.
|
||||
* critical - whole app doesn't work
|
||||
* major - entire feature doesn't work
|
||||
* minor - partially broken feature (but still usable)
|
||||
|
||||
* release blocker
|
||||
* bug
|
||||
* feature
|
||||
|
||||
* ui/ux (think of this as cosmetic)
|
||||
bug severity:
|
||||
|
||||
* cosmetic - feature works functionally but UI/UX is broken
|
||||
* critical - whole app doesn't work
|
||||
* major - entire feature doesn't work
|
||||
* minor - partially broken feature (but still usable)
|
||||
|
||||
* network (specific to network conditions)
|
||||
* platform (platform specific)
|
||||
additional categories:
|
||||
|
||||
* release blocker
|
||||
* ui/ux (think of this as cosmetic)
|
||||
* network (specific to network conditions)
|
||||
* platform (platform specific)
|
||||
|
||||
@@ -4,68 +4,11 @@
|
||||
"brand": "Riot",
|
||||
"integrations_ui_url": "https://scalar.vector.im/",
|
||||
"integrations_rest_url": "https://scalar.vector.im/api",
|
||||
"bug_report_endpoint_url": "https://riot.im/bugreports/submit",
|
||||
"enableLabs": true,
|
||||
"roomDirectory": {
|
||||
"servers": [
|
||||
"matrix.org"
|
||||
],
|
||||
"serverConfig": {
|
||||
"matrix.org": {
|
||||
"networks": [
|
||||
"_matrix",
|
||||
"gitter",
|
||||
"irc:freenode",
|
||||
"irc:mozilla",
|
||||
"irc:snoonet",
|
||||
"irc:oftc"
|
||||
]
|
||||
}
|
||||
},
|
||||
"networks": {
|
||||
"gitter": {
|
||||
"protocol": "gitter",
|
||||
"portalRoomPattern": "#gitter_.*:matrix.org",
|
||||
"name": "Gitter",
|
||||
"icon": "//gitter.im/favicon.ico",
|
||||
"example": "org/community",
|
||||
"nativePattern": "[^\\s]+/[^\\s]+$"
|
||||
},
|
||||
"irc:freenode": {
|
||||
"protocol": "irc",
|
||||
"domain": "chat.freenode.net",
|
||||
"portalRoomPattern": "#freenode_.*:matrix.org",
|
||||
"name": "Freenode",
|
||||
"icon": "//matrix.org/_matrix/media/v1/download/matrix.org/DHLHpDDgWNNejFmrewvwEAHX",
|
||||
"example": "#channel",
|
||||
"nativePattern": "^#[^\\s]+$"
|
||||
},
|
||||
"irc:mozilla": {
|
||||
"protocol": "irc",
|
||||
"domain": "irc.mozilla.org",
|
||||
"portalRoomPattern": "#mozilla_.*:matrix.org",
|
||||
"name": "Mozilla",
|
||||
"icon": "//matrix.org/_matrix/media/v1/download/matrix.org/DHLHpDDgWNNejFmrewvwEAHX",
|
||||
"example": "#channel",
|
||||
"nativePattern": "^#[^\\s]+$"
|
||||
},
|
||||
"irc:snoonet": {
|
||||
"protocol": "irc",
|
||||
"domain": "ipv6-irc.snoonet.org",
|
||||
"portalRoomPattern": "#_snoonet_.*:matrix.org",
|
||||
"name": "Snoonet",
|
||||
"icon": "//matrix.org/_matrix/media/v1/download/matrix.org/DHLHpDDgWNNejFmrewvwEAHX",
|
||||
"example": "#channel",
|
||||
"nativePattern": "^#[^\\s]+$"
|
||||
},
|
||||
"irc:oftc": {
|
||||
"protocol": "irc",
|
||||
"domain": "irc.oftc.net",
|
||||
"portalRoomPattern": "#_oftc_.*:matrix.org",
|
||||
"name": "OFTC",
|
||||
"icon": "//matrix.org/_matrix/media/v1/download/matrix.org/DHLHpDDgWNNejFmrewvwEAHX",
|
||||
"example": "#channel",
|
||||
"nativePattern": "^#[^\\s]+$"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
25
docs/theming.md
Normal file
@@ -0,0 +1,25 @@
|
||||
Theming Riot
|
||||
============
|
||||
|
||||
Themes are a very basic way of providing simple alternative look & feels to the
|
||||
riot-web app via CSS & custom imagery.
|
||||
|
||||
They are *NOT* co be confused with 'skins', which describe apps which sit on top
|
||||
of matrix-react-sdk - e.g. in theory Riot itself is a react-sdk skin.
|
||||
As of Jan 2017, skins are not fully supported; riot is the only available skin.
|
||||
|
||||
To define a theme for Riot:
|
||||
|
||||
1. Pick a name, e.g. `teal`. at time of writing we have `light` and `dark`.
|
||||
2. Fork `src/skins/vector/css/themes/dark.scss` to be teal.scss
|
||||
3. Fork `src/skins/vector/css/themes/_base.scss` to be _teal.scss
|
||||
4. Override variables in _teal.scss as desired. You may wish to delete ones
|
||||
which don't differ from _base.scss, to make it clear which are being
|
||||
overridden. If every single colour is being changed (as per _dark.scss)
|
||||
then you might as well keep them all.
|
||||
5. Add the theme to the list of entrypoints in webpack.config.js
|
||||
6. Add the theme to the list of themes in matrix-react-sdk's UserSettings.js
|
||||
7. Sit back and admire your handywork.
|
||||
|
||||
In future, the assets for a theme will probably be gathered together into a
|
||||
single directory tree.
|
||||
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 14 KiB |
@@ -1,72 +0,0 @@
|
||||
{
|
||||
"update_base_url": "https://riot.im/download/desktop/",
|
||||
"default_hs_url": "https://matrix.org",
|
||||
"default_is_url": "https://vector.im",
|
||||
"brand": "Riot",
|
||||
"integrations_ui_url": "https://scalar.vector.im/",
|
||||
"integrations_rest_url": "https://scalar.vector.im/api",
|
||||
"enableLabs": true,
|
||||
"roomDirectory": {
|
||||
"servers": [
|
||||
"matrix.org"
|
||||
],
|
||||
"serverConfig": {
|
||||
"matrix.org": {
|
||||
"networks": [
|
||||
"_matrix",
|
||||
"gitter",
|
||||
"irc:freenode",
|
||||
"irc:mozilla",
|
||||
"irc:snoonet",
|
||||
"irc:oftc"
|
||||
]
|
||||
}
|
||||
},
|
||||
"networks": {
|
||||
"gitter": {
|
||||
"protocol": "gitter",
|
||||
"portalRoomPattern": "#gitter_.*:matrix.org",
|
||||
"name": "Gitter",
|
||||
"icon": "https://gitter.im/favicon.ico",
|
||||
"example": "org/community",
|
||||
"nativePattern": "[^\\s]+/[^\\s]+$"
|
||||
},
|
||||
"irc:freenode": {
|
||||
"protocol": "irc",
|
||||
"domain": "chat.freenode.net",
|
||||
"portalRoomPattern": "#freenode_.*:matrix.org",
|
||||
"name": "Freenode",
|
||||
"icon": "https://matrix.org/_matrix/media/v1/download/matrix.org/DHLHpDDgWNNejFmrewvwEAHX",
|
||||
"example": "#channel",
|
||||
"nativePattern": "^#[^\\s]+$"
|
||||
},
|
||||
"irc:mozilla": {
|
||||
"protocol": "irc",
|
||||
"domain": "chat.freenode.net",
|
||||
"portalRoomPattern": "#mozilla_.*:matrix.org",
|
||||
"name": "Mozilla",
|
||||
"icon": "https://matrix.org/_matrix/media/v1/download/matrix.org/DHLHpDDgWNNejFmrewvwEAHX",
|
||||
"example": "#channel",
|
||||
"nativePattern": "^#[^\\s]+$"
|
||||
},
|
||||
"irc:snoonet": {
|
||||
"protocol": "irc",
|
||||
"domain": "ipv6-irc.snoonet.org",
|
||||
"portalRoomPattern": "#_snoonet_.*:matrix.org",
|
||||
"name": "Snoonet",
|
||||
"icon": "https://matrix.org/_matrix/media/v1/download/matrix.org/DHLHpDDgWNNejFmrewvwEAHX",
|
||||
"example": "#channel",
|
||||
"nativePattern": "^#[^\\s]+$"
|
||||
},
|
||||
"irc:oftc": {
|
||||
"protocol": "irc",
|
||||
"domain": "irc.oftc.net",
|
||||
"portalRoomPattern": "#_oftc_.*:matrix.org",
|
||||
"name": "OFTC",
|
||||
"icon": "https://matrix.org/_matrix/media/v1/download/matrix.org/DHLHpDDgWNNejFmrewvwEAHX",
|
||||
"example": "#channel",
|
||||
"nativePattern": "^#[^\\s]+$"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
const path = require('path');
|
||||
const spawn = require('child_process').spawn;
|
||||
const app = require('electron').app;
|
||||
|
||||
function run_update_exe(args, done) {
|
||||
const updateExe = path.resolve(path.dirname(process.execPath), '..', 'Update.exe');
|
||||
spawn(updateExe, args, {
|
||||
detached: true
|
||||
}).on('close', done);
|
||||
};
|
||||
|
||||
function check_squirrel_hooks() {
|
||||
if (process.platform != 'win32') return false;
|
||||
|
||||
const cmd = process.argv[1];
|
||||
const target = path.basename(process.execPath);
|
||||
if (cmd === '--squirrel-install' || cmd === '--squirrel-updated') {
|
||||
run_update_exe(['--createShortcut=' + target + ''], app.quit);
|
||||
return true;
|
||||
} else if (cmd === '--squirrel-uninstall') {
|
||||
run_update_exe(['--removeShortcut=' + target + ''], app.quit);
|
||||
return true;
|
||||
} else if (cmd === '--squirrel-obsolete') {
|
||||
app.quit();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
module.exports = check_squirrel_hooks;
|
||||
|
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 102 KiB |
|
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 673 B After Width: | Height: | Size: 673 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
BIN
electron_app/img/riot.ico
Normal file
|
After Width: | Height: | Size: 102 KiB |
BIN
electron_app/img/riot.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
11
electron_app/package.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "riot-web",
|
||||
"productName": "Riot",
|
||||
"main": "src/electron-main.js",
|
||||
"version": "0.9.10",
|
||||
"description": "A feature-rich client for Matrix.org",
|
||||
"author": "Vector Creations Ltd.",
|
||||
"dependencies": {
|
||||
"electron-window-state": "^4.1.0"
|
||||
}
|
||||
}
|
||||
16
electron_app/riot.im/config.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"update_base_url": "https://riot.im/download/desktop/update/",
|
||||
"default_hs_url": "https://matrix.org",
|
||||
"default_is_url": "https://vector.im",
|
||||
"brand": "Riot",
|
||||
"integrations_ui_url": "https://scalar.vector.im/",
|
||||
"integrations_rest_url": "https://scalar.vector.im/api",
|
||||
"bug_report_endpoint_url": "https://riot.im/bugreports/submit",
|
||||
"welcomeUserId": "@riot-bot:matrix.org",
|
||||
"enableLabs": true,
|
||||
"roomDirectory": {
|
||||
"servers": [
|
||||
"matrix.org"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -26,8 +26,12 @@ if (check_squirrel_hooks()) return;
|
||||
const electron = require('electron');
|
||||
const url = require('url');
|
||||
|
||||
const tray = require('./tray');
|
||||
|
||||
const VectorMenu = require('./vectormenu');
|
||||
|
||||
const windowStateKeeper = require('electron-window-state');
|
||||
|
||||
let vectorConfig = {};
|
||||
try {
|
||||
vectorConfig = require('../../webapp/config.json');
|
||||
@@ -82,6 +86,12 @@ function onLinkContextMenu(ev, params) {
|
||||
safeOpenURL(params.linkURL);
|
||||
},
|
||||
}));
|
||||
popup_menu.append(new electron.MenuItem({
|
||||
label: 'Copy Link Address',
|
||||
click() {
|
||||
electron.clipboard.writeText(params.linkURL);
|
||||
},
|
||||
}));
|
||||
popup_menu.popup();
|
||||
ev.preventDefault();
|
||||
}
|
||||
@@ -112,7 +122,16 @@ function startAutoUpdate(update_base_url) {
|
||||
// 204 No Content. On windows it takes a base path and looks for
|
||||
// files under that path.
|
||||
if (process.platform == 'darwin') {
|
||||
electron.autoUpdater.setFeedURL(update_base_url + 'macos/');
|
||||
// include the current version in the URL we hit. Electron doesn't add
|
||||
// it anywhere (apart from the User-Agent) so it's up to us. We could
|
||||
// (and previously did) just use the User-Agent, but this doesn't
|
||||
// rely on NSURLConnection setting the User-Agent to what we expect,
|
||||
// and also acts as a convenient cache-buster to ensure that when the
|
||||
// app updates it always gets a fresh value to avoid update-looping.
|
||||
electron.autoUpdater.setFeedURL(
|
||||
update_base_url +
|
||||
'macos/?localVersion=' + encodeURIComponent(electron.app.getVersion())
|
||||
);
|
||||
} else if (process.platform == 'win32') {
|
||||
electron.autoUpdater.setFeedURL(update_base_url + 'win32/' + process.arch + '/');
|
||||
} else {
|
||||
@@ -148,6 +167,22 @@ process.on('uncaughtException', function (error) {
|
||||
|
||||
electron.ipcMain.on('install_update', installUpdate);
|
||||
|
||||
electron.app.commandLine.appendSwitch('--enable-usermedia-screen-capturing');
|
||||
|
||||
const shouldQuit = electron.app.makeSingleInstance((commandLine, workingDirectory) => {
|
||||
// Someone tried to run a second instance, we should focus our window.
|
||||
if (mainWindow) {
|
||||
if (!mainWindow.isVisible()) mainWindow.show();
|
||||
if (mainWindow.isMinimized()) mainWindow.restore();
|
||||
mainWindow.focus();
|
||||
}
|
||||
});
|
||||
|
||||
if (shouldQuit) {
|
||||
console.log("Other instance detected: exiting");
|
||||
electron.app.quit()
|
||||
}
|
||||
|
||||
electron.app.on('ready', () => {
|
||||
if (vectorConfig.update_base_url) {
|
||||
console.log("Starting auto update with base URL: " + vectorConfig.update_base_url);
|
||||
@@ -160,22 +195,42 @@ electron.app.on('ready', () => {
|
||||
process.platform == 'win32' ? 'ico' : 'png'
|
||||
);
|
||||
|
||||
// Load the previous window state with fallback to defaults
|
||||
let mainWindowState = windowStateKeeper({
|
||||
defaultWidth: 1024,
|
||||
defaultHeight: 768,
|
||||
});
|
||||
|
||||
mainWindow = new electron.BrowserWindow({
|
||||
icon: icon_path,
|
||||
width: 1024, height: 768,
|
||||
show: false,
|
||||
autoHideMenuBar: true,
|
||||
|
||||
x: mainWindowState.x,
|
||||
y: mainWindowState.y,
|
||||
width: mainWindowState.width,
|
||||
height: mainWindowState.height,
|
||||
});
|
||||
mainWindow.loadURL(`file://${__dirname}/../../webapp/index.html`);
|
||||
electron.Menu.setApplicationMenu(VectorMenu);
|
||||
|
||||
mainWindow.once('ready-to-show', () => {
|
||||
mainWindow.show();
|
||||
// Create trayIcon icon
|
||||
tray.create(mainWindow, {
|
||||
icon_path: icon_path,
|
||||
brand: vectorConfig.brand || 'Riot'
|
||||
});
|
||||
|
||||
if (!process.argv.includes('--hidden')) {
|
||||
mainWindow.once('ready-to-show', () => {
|
||||
mainWindow.show();
|
||||
});
|
||||
}
|
||||
|
||||
mainWindow.on('closed', () => {
|
||||
mainWindow = null;
|
||||
});
|
||||
mainWindow.on('close', (e) => {
|
||||
if (process.platform == 'darwin' && !appQuitting) {
|
||||
if (!appQuitting && (tray.hasTray() || process.platform == 'darwin')) {
|
||||
// On Mac, closing the window just hides it
|
||||
// (this is generally how single-window Mac apps
|
||||
// behave, eg. Mail.app)
|
||||
@@ -193,6 +248,8 @@ electron.app.on('ready', () => {
|
||||
onLinkContextMenu(ev, params);
|
||||
}
|
||||
});
|
||||
|
||||
mainWindowState.manage(mainWindow);
|
||||
});
|
||||
|
||||
electron.app.on('window-all-closed', () => {
|
||||
51
electron_app/src/squirrelhooks.js
Normal file
@@ -0,0 +1,51 @@
|
||||
/*
|
||||
Copyright 2017 OpenMarket Ltd
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
const path = require('path');
|
||||
const spawn = require('child_process').spawn;
|
||||
const app = require('electron').app;
|
||||
|
||||
function run_update_exe(args, done) {
|
||||
// Invokes Squirrel's Update.exe which will do things for us like create shortcuts
|
||||
// Note that there's an Update.exe in the app-x.x.x directory and one in the parent
|
||||
// directory: we need to run the one in the parent directory, because it discovers
|
||||
// information about the app by inspecting the directory it's run from.
|
||||
const updateExe = path.resolve(path.dirname(process.execPath), '..', 'Update.exe');
|
||||
console.log('Spawning `%s` with args `%s`', updateExe, args);
|
||||
spawn(updateExe, args, {
|
||||
detached: true
|
||||
}).on('close', done);
|
||||
};
|
||||
|
||||
function check_squirrel_hooks() {
|
||||
if (process.platform != 'win32') return false;
|
||||
|
||||
const cmd = process.argv[1];
|
||||
const target = path.basename(process.execPath);
|
||||
if (cmd === '--squirrel-install' || cmd === '--squirrel-updated') {
|
||||
run_update_exe(['--createShortcut=' + target + ''], app.quit);
|
||||
return true;
|
||||
} else if (cmd === '--squirrel-uninstall') {
|
||||
run_update_exe(['--removeShortcut=' + target + ''], app.quit);
|
||||
return true;
|
||||
} else if (cmd === '--squirrel-obsolete') {
|
||||
app.quit();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
module.exports = check_squirrel_hooks;
|
||||
67
electron_app/src/tray.js
Normal file
@@ -0,0 +1,67 @@
|
||||
/*
|
||||
Copyright 2017 Karl Glatz <karl@glatz.biz>
|
||||
Copyright 2017 OpenMarket Ltd
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
const path = require('path');
|
||||
const electron = require('electron');
|
||||
|
||||
const app = electron.app;
|
||||
const Tray = electron.Tray;
|
||||
const MenuItem = electron.MenuItem;
|
||||
|
||||
let trayIcon = null;
|
||||
|
||||
exports.hasTray = function hasTray() {
|
||||
return (trayIcon !== null);
|
||||
}
|
||||
|
||||
exports.create = function (win, config) {
|
||||
// no trays on darwin
|
||||
if (process.platform === 'darwin' || trayIcon) {
|
||||
return;
|
||||
}
|
||||
|
||||
const toggleWin = function () {
|
||||
if (win.isVisible() && !win.isMinimized()) {
|
||||
win.hide();
|
||||
} else {
|
||||
if (win.isMinimized()) win.restore();
|
||||
if (!win.isVisible()) win.show();
|
||||
win.focus();
|
||||
}
|
||||
};
|
||||
|
||||
const contextMenu = electron.Menu.buildFromTemplate([
|
||||
{
|
||||
label: 'Show/Hide ' + config.brand,
|
||||
click: toggleWin
|
||||
},
|
||||
{
|
||||
type: 'separator'
|
||||
},
|
||||
{
|
||||
label: 'Quit',
|
||||
click: function () {
|
||||
app.quit();
|
||||
}
|
||||
}
|
||||
]);
|
||||
|
||||
trayIcon = new Tray(config.icon_path);
|
||||
trayIcon.setToolTip(config.brand);
|
||||
trayIcon.setContextMenu(contextMenu);
|
||||
trayIcon.on('click', toggleWin);
|
||||
};
|
||||
@@ -72,11 +72,7 @@ const template = [
|
||||
role: 'togglefullscreen'
|
||||
},
|
||||
{
|
||||
label: 'Toggle Developer Tools',
|
||||
accelerator: process.platform == 'darwin' ? 'Alt+Command+I' : 'Ctrl+Shift+I',
|
||||
click: function(item, focusedWindow) {
|
||||
if (focusedWindow) focusedWindow.toggleDevTools();
|
||||
}
|
||||
role: 'toggledevtools'
|
||||
}
|
||||
]
|
||||
},
|
||||
115
karma.conf.js
@@ -2,13 +2,14 @@
|
||||
|
||||
var path = require('path');
|
||||
var webpack = require('webpack');
|
||||
var webpack_config = require('./webpack.config');
|
||||
|
||||
/*
|
||||
* We use webpack to build our tests. It's a pain to have to wait for webpack
|
||||
* to build everything; however it's the easiest way to load our dependencies
|
||||
* from node_modules.
|
||||
*
|
||||
* If you run karma in multi-run mode (with `npm run test:multi`), it will watch
|
||||
* If you run karma in multi-run mode (with `npm run test-multi`), it will watch
|
||||
* the tests for changes, and webpack will rebuild using a cache. This is much quicker
|
||||
* than a clean rebuild.
|
||||
*/
|
||||
@@ -19,8 +20,41 @@ var testFile = process.env.KARMA_TEST_FILE || 'test/all-tests.js';
|
||||
process.env.PHANTOMJS_BIN = 'node_modules/.bin/phantomjs';
|
||||
process.env.Q_DEBUG = 1;
|
||||
|
||||
/* the webpack config is based on the real one, to (a) try to simulate the
|
||||
* deployed environment as closely as possible, and (b) to avoid a shedload of
|
||||
* cut-and-paste.
|
||||
*/
|
||||
|
||||
// find out if we're shipping olm, and where it is, if so.
|
||||
const olm_entry = webpack_config.entry['olm'];
|
||||
|
||||
// remove the default entries - karma provides its own (via the 'files' and
|
||||
// 'preprocessors' config below)
|
||||
delete webpack_config['entry'];
|
||||
|
||||
// add ./test as a search path for js
|
||||
webpack_config.module.loaders.unshift({
|
||||
test: /\.js$/, loader: "babel",
|
||||
include: [path.resolve('./src'), path.resolve('./test')],
|
||||
});
|
||||
|
||||
// disable parsing for sinon, because it
|
||||
// tries to do voodoo with 'require' which upsets
|
||||
// webpack (https://github.com/webpack/webpack/issues/304)
|
||||
webpack_config.module.noParse.push(/sinon\/pkg\/sinon\.js$/);
|
||||
|
||||
// ?
|
||||
webpack_config.resolve.alias['sinon'] = 'sinon/pkg/sinon.js';
|
||||
|
||||
webpack_config.resolve.root = [
|
||||
path.resolve('./src'),
|
||||
path.resolve('./test'),
|
||||
];
|
||||
|
||||
webpack_config.devtool = 'inline-source-map';
|
||||
|
||||
module.exports = function (config) {
|
||||
config.set({
|
||||
const myconfig = {
|
||||
// frameworks to use
|
||||
// available frameworks: https://npmjs.org/browse/keyword/karma-adapter
|
||||
frameworks: ['mocha'],
|
||||
@@ -29,19 +63,29 @@ module.exports = function (config) {
|
||||
files: [
|
||||
'node_modules/babel-polyfill/browser.js',
|
||||
testFile,
|
||||
{pattern: 'vector/img/*', watched: false, included: false, served: true, nocache: false},
|
||||
|
||||
// make the images available via our httpd. They will be avaliable
|
||||
// below http://localhost:[PORT]/base/. See also `proxies` which
|
||||
// defines alternative URLs for them.
|
||||
//
|
||||
// This isn't required by any of the tests, but it stops karma
|
||||
// logging warnings when it serves a 404 for them.
|
||||
{
|
||||
pattern: 'src/skins/vector/img/*',
|
||||
watched: false, included: false, served: true, nocache: false,
|
||||
},
|
||||
],
|
||||
|
||||
// redirect img links to the karma server
|
||||
proxies: {
|
||||
"/img/": "/base/vector/img/",
|
||||
// redirect img links to the karma server. See above.
|
||||
"/img/": "/base/src/skins/vector/img/",
|
||||
},
|
||||
|
||||
// preprocess matching files before serving them to the browser
|
||||
// available preprocessors:
|
||||
// https://npmjs.org/browse/keyword/karma-preprocessor
|
||||
preprocessors: {
|
||||
'test/**/*.js': ['webpack', 'sourcemap']
|
||||
'{src,test}/**/*.js': ['webpack'],
|
||||
},
|
||||
|
||||
// test results reporter to use
|
||||
@@ -84,53 +128,20 @@ module.exports = function (config) {
|
||||
outputDir: 'karma-reports',
|
||||
},
|
||||
|
||||
webpack: {
|
||||
module: {
|
||||
loaders: [
|
||||
{ test: /\.json$/, loader: "json" },
|
||||
{
|
||||
test: /\.js$/, loader: "babel",
|
||||
include: [path.resolve('./src'),
|
||||
path.resolve('./test'),
|
||||
]
|
||||
},
|
||||
],
|
||||
noParse: [
|
||||
// don't parse the languages within highlight.js. They
|
||||
// cause stack overflows
|
||||
// (https://github.com/webpack/webpack/issues/1721), and
|
||||
// there is no need for webpack to parse them - they can
|
||||
// just be included as-is.
|
||||
/highlight\.js\/lib\/languages/,
|
||||
webpack: webpack_config,
|
||||
|
||||
// also disable parsing for sinon, because it
|
||||
// tries to do voodoo with 'require' which upsets
|
||||
// webpack (https://github.com/webpack/webpack/issues/304)
|
||||
/sinon\/pkg\/sinon\.js$/,
|
||||
],
|
||||
webpackMiddleware: {
|
||||
stats: {
|
||||
// don't fill the console up with a mahoosive list of modules
|
||||
chunks: false,
|
||||
},
|
||||
resolve: {
|
||||
alias: {
|
||||
// alias any requires to the react module to the one in our path, otherwise
|
||||
// we tend to get the react source included twice when using npm link.
|
||||
react: path.resolve('./node_modules/react'),
|
||||
|
||||
// same goes for js-sdk
|
||||
"matrix-js-sdk": path.resolve('./node_modules/matrix-js-sdk'),
|
||||
|
||||
sinon: 'sinon/pkg/sinon.js',
|
||||
},
|
||||
root: [
|
||||
path.resolve('./src'),
|
||||
path.resolve('./test'),
|
||||
],
|
||||
},
|
||||
plugins: [
|
||||
// olm may not be installed, so avoid webpack warnings by
|
||||
// ignoring it.
|
||||
new webpack.IgnorePlugin(/^olm$/),
|
||||
],
|
||||
devtool: 'inline-source-map',
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
// include the olm loader if we have it.
|
||||
if (olm_entry) {
|
||||
myconfig.files.unshift(olm_entry);
|
||||
}
|
||||
|
||||
config.set(myconfig);
|
||||
};
|
||||
|
||||
97
package.json
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"name": "riot-web",
|
||||
"productName": "Riot",
|
||||
"main": "electron/src/electron-main.js",
|
||||
"version": "0.9.1",
|
||||
"main": "electron_app/src/electron-main.js",
|
||||
"version": "0.9.10",
|
||||
"description": "A feature-rich client for Matrix.org",
|
||||
"author": "Vector Creations Ltd.",
|
||||
"repository": {
|
||||
@@ -27,30 +27,29 @@
|
||||
"matrix-react-parent": "matrix-react-sdk",
|
||||
"scripts": {
|
||||
"reskindex": "reskindex -h src/header",
|
||||
"build:res": "cpx \"{src/skins/vector/fonts,src/skins/vector/img}/**\" webapp/ && cpx \"{res/media,res/vector-icons}/**\" webapp/",
|
||||
"build:config": "cpx config.json webapp/",
|
||||
"build:emojione": "cpx \"node_modules/emojione/assets/svg/*\" webapp/emojione/svg/",
|
||||
"reskindex:watch": "reskindex -h src/header -w",
|
||||
"build:res": "node scripts/copy-res.js",
|
||||
"build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js",
|
||||
"build:css": "mkdirp build && catw \"src/skins/vector/css/**/*.css\" -o build/components.css --no-watch",
|
||||
"build:compile": "babel --source-maps -d lib src",
|
||||
"build:bundle": "NODE_ENV=production webpack -p --progress",
|
||||
"build:compile": "npm run reskindex && babel --source-maps -d lib src",
|
||||
"build:bundle": "cross-env NODE_ENV=production webpack -p --progress",
|
||||
"build:bundle:dev": "webpack --optimize-occurence-order --progress",
|
||||
"build:electron": "npm run clean && npm run build && build -wml --ia32 --x64",
|
||||
"build": "node scripts/babelcheck.js && npm run build:res && npm run build:config && npm run build:emojione && npm run build:css && npm run build:bundle",
|
||||
"build:dev": "node scripts/babelcheck.js && npm run build:res && npm run build:config && npm run build:emojione && npm run build:css && npm run build:bundle:dev",
|
||||
"build": "npm run reskindex && npm run build:res && npm run build:bundle",
|
||||
"build:dev": "npm run reskindex && npm run build:res && npm run build:bundle:dev",
|
||||
"dist": "scripts/package.sh",
|
||||
"start:res": "parallelshell \"cpx -w \\\"{src/skins/vector/fonts,src/skins/vector/img}/**\\\" webapp/\" \"cpx -w \\\"{res/media,res/vector-icons}/**\\\" webapp/\"",
|
||||
"start:config": "cpx -w config.json webapp/",
|
||||
"start:emojione": "cpx \"node_modules/emojione/assets/svg/*\" webapp/emojione/svg/ -w",
|
||||
"start:js": "webpack-dev-server -w --progress",
|
||||
"start:js:prod": "NODE_ENV=production webpack-dev-server -w --progress",
|
||||
"start:skins:css": "mkdirp build && catw \"src/skins/vector/css/**/*.css\" -o build/components.css",
|
||||
"start": "node scripts/babelcheck.js && parallelshell \"npm run start:emojione\" \"npm run start:res\" \"npm run start:config\" \"npm run start:js\" \"npm run start:skins:css\"",
|
||||
"start:prod": "parallelshell \"npm run start:emojione\" \"npm run start:js:prod\" \"npm run start:skins:css\"",
|
||||
"clean": "rimraf build lib webapp electron/dist",
|
||||
"install:electron": "install-app-deps",
|
||||
"electron": "npm run install:electron && electron .",
|
||||
"start:res": "node scripts/copy-res.js -w",
|
||||
"start:js": "webpack-dev-server --output-filename=bundles/_dev_/[name].js --output-chunk-file=bundles/_dev_/[name].js -w --progress",
|
||||
"start:js:prod": "cross-env NODE_ENV=production webpack-dev-server -w --progress",
|
||||
"start": "parallelshell \"npm run reskindex:watch\" \"npm run start:res\" \"npm run start:js\"",
|
||||
"start:prod": "parallelshell \"npm run reskindex:watch\" \"npm run start:res\" \"npm run start:js:prod\"",
|
||||
"lint": "eslint src/",
|
||||
"lintall": "eslint src/ test/",
|
||||
"clean": "rimraf lib webapp electron/dist",
|
||||
"prepublish": "npm run build:compile",
|
||||
"test": "karma start --single-run=true --autoWatch=false --browsers PhantomJS --colors=false",
|
||||
"test:multi": "karma start"
|
||||
"test-multi": "karma start"
|
||||
},
|
||||
"dependencies": {
|
||||
"babel-polyfill": "^6.5.0",
|
||||
@@ -60,15 +59,16 @@
|
||||
"draft-js": "^0.8.1",
|
||||
"extract-text-webpack-plugin": "^0.9.1",
|
||||
"favico.js": "^0.3.10",
|
||||
"filesize": "^3.1.2",
|
||||
"filesize": "3.5.6",
|
||||
"flux": "~2.0.3",
|
||||
"gemini-scrollbar": "matrix-org/gemini-scrollbar#b302279",
|
||||
"gfm.css": "^1.1.1",
|
||||
"highlight.js": "^9.0.0",
|
||||
"linkifyjs": "^2.1.3",
|
||||
"matrix-js-sdk": "0.7.1",
|
||||
"matrix-react-sdk": "0.8.1",
|
||||
"matrix-js-sdk": "0.7.8",
|
||||
"matrix-react-sdk": "0.8.9",
|
||||
"modernizr": "^3.1.0",
|
||||
"pako": "^1.0.5",
|
||||
"q": "^1.4.1",
|
||||
"react": "^15.4.0",
|
||||
"react-dnd": "^2.1.4",
|
||||
@@ -80,6 +80,7 @@
|
||||
"url": "^0.11.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"autoprefixer": "^6.6.0",
|
||||
"babel-cli": "^6.5.2",
|
||||
"babel-core": "^6.14.0",
|
||||
"babel-eslint": "^6.1.0",
|
||||
@@ -94,11 +95,17 @@
|
||||
"babel-preset-es2017": "^6.16.0",
|
||||
"babel-preset-react": "^6.16.0",
|
||||
"babel-preset-stage-2": "^6.17.0",
|
||||
"catw": "^1.0.1",
|
||||
"chokidar": "^1.6.1",
|
||||
"cpx": "^1.3.2",
|
||||
"cross-env": "^4.0.0",
|
||||
"css-raw-loader": "^0.1.1",
|
||||
"electron-builder": "^10.4.1",
|
||||
"emojione": "^2.2.3",
|
||||
"electron-builder": "^11.2.4",
|
||||
"electron-builder-squirrel-windows": "^11.2.1",
|
||||
"emojione": "^2.2.7",
|
||||
"eslint": "^3.14.0",
|
||||
"eslint-config-google": "^0.7.1",
|
||||
"eslint-plugin-flowtype": "^2.30.0",
|
||||
"eslint-plugin-react": "^6.9.0",
|
||||
"expect": "^1.16.0",
|
||||
"fs-extra": "^0.30.0",
|
||||
"html-webpack-plugin": "^2.24.0",
|
||||
@@ -109,12 +116,20 @@
|
||||
"karma-junit-reporter": "^0.4.1",
|
||||
"karma-mocha": "^0.2.2",
|
||||
"karma-phantomjs-launcher": "^1.0.0",
|
||||
"karma-sourcemap-loader": "^0.3.7",
|
||||
"karma-webpack": "^1.7.0",
|
||||
"minimist": "^1.2.0",
|
||||
"mkdirp": "^0.5.1",
|
||||
"mocha": "^2.4.5",
|
||||
"parallelshell": "^1.2.0",
|
||||
"phantomjs-prebuilt": "^2.1.7",
|
||||
"postcss-extend": "^1.0.5",
|
||||
"postcss-import": "^9.0.0",
|
||||
"postcss-loader": "^1.2.2",
|
||||
"postcss-mixins": "^5.4.1",
|
||||
"postcss-nested": "^1.0.0",
|
||||
"postcss-scss": "^0.4.0",
|
||||
"postcss-simple-vars": "^3.0.0",
|
||||
"postcss-strip-inline-comments": "^0.1.5",
|
||||
"react-addons-perf": "^15.4.0",
|
||||
"react-addons-test-utils": "^15.4.0",
|
||||
"rimraf": "^2.4.3",
|
||||
@@ -123,32 +138,38 @@
|
||||
"webpack-dev-server": "^1.16.2"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"olm": "https://matrix.org/packages/npm/olm/olm-2.0.0.tgz"
|
||||
"olm": "https://matrix.org/packages/npm/olm/olm-2.2.1.tgz"
|
||||
},
|
||||
"build": {
|
||||
"appId": "im.riot.app",
|
||||
"category": "Network",
|
||||
"electronVersion": "1.4.11",
|
||||
"electronVersion": "1.6.8",
|
||||
"//asar=false": "https://github.com/electron-userland/electron-builder/issues/675",
|
||||
"asar": false,
|
||||
"dereference": true,
|
||||
"//files": "We bundle everything, so we only need to include webapp/",
|
||||
"files": [
|
||||
"electron/src/**",
|
||||
"electron/img/**",
|
||||
"webapp/**",
|
||||
"package.json"
|
||||
"node_modules/**",
|
||||
"src/**",
|
||||
"img/**"
|
||||
],
|
||||
"extraResources": [
|
||||
"webapp/**/*"
|
||||
],
|
||||
"linux": {
|
||||
"target": "deb",
|
||||
"maintainer": "support@riot.im"
|
||||
"maintainer": "support@riot.im",
|
||||
"desktop": {
|
||||
"StartupWMClass": "riot-web"
|
||||
}
|
||||
},
|
||||
"win": {
|
||||
"target": "squirrel"
|
||||
},
|
||||
"directories": {
|
||||
"buildResources": "electron_app/build",
|
||||
"output": "electron_app/dist",
|
||||
"app": "electron_app"
|
||||
}
|
||||
},
|
||||
"directories": {
|
||||
"buildResources": "electron/build",
|
||||
"output": "electron/dist"
|
||||
}
|
||||
}
|
||||
|
||||
13
postcss.config.js
Normal file
@@ -0,0 +1,13 @@
|
||||
module.exports = {
|
||||
plugins: [
|
||||
require("postcss-import")(),
|
||||
require("autoprefixer")(),
|
||||
require("postcss-simple-vars")(),
|
||||
require("postcss-extend")(),
|
||||
require("postcss-nested")(),
|
||||
require("postcss-mixins")(),
|
||||
require("postcss-strip-inline-comments")(),
|
||||
],
|
||||
"parser": "postcss-scss",
|
||||
"local-plugins": true,
|
||||
};
|
||||
17
release.sh
@@ -1,12 +1,25 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
#
|
||||
# Script to perform a release of vector-web.
|
||||
#
|
||||
# Requires github-changelog-generator; to install, do
|
||||
# Requires github-changelog-generator; to install, do
|
||||
# pip install git+https://github.com/matrix-org/github-changelog-generator.git
|
||||
|
||||
set -e
|
||||
|
||||
cd `dirname $0`
|
||||
|
||||
|
||||
# bump Electron's package.json first
|
||||
release="${1#v}"
|
||||
tag="v${release}"
|
||||
echo "electron npm version"
|
||||
|
||||
cd electron_app
|
||||
npm version --no-git-tag-version "$release"
|
||||
git commit package.json -m "$tag"
|
||||
|
||||
|
||||
cd ..
|
||||
|
||||
exec ./node_modules/matrix-js-sdk/release.sh -z "$@"
|
||||
|
||||
BIN
res/flags/AD.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
res/flags/AE.png
Normal file
|
After Width: | Height: | Size: 841 B |
BIN
res/flags/AF.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
res/flags/AG.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
res/flags/AI.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
res/flags/AL.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
res/flags/AM.png
Normal file
|
After Width: | Height: | Size: 744 B |
BIN
res/flags/AO.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
res/flags/AQ.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
res/flags/AR.png
Normal file
|
After Width: | Height: | Size: 955 B |
BIN
res/flags/AS.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
res/flags/AT.png
Normal file
|
After Width: | Height: | Size: 701 B |
BIN
res/flags/AU.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
res/flags/AW.png
Normal file
|
After Width: | Height: | Size: 938 B |
BIN
res/flags/AX.png
Normal file
|
After Width: | Height: | Size: 900 B |
BIN
res/flags/AZ.png
Normal file
|
After Width: | Height: | Size: 978 B |
BIN
res/flags/BA.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
res/flags/BB.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
res/flags/BD.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
res/flags/BE.png
Normal file
|
After Width: | Height: | Size: 689 B |
BIN
res/flags/BF.png
Normal file
|
After Width: | Height: | Size: 954 B |
BIN
res/flags/BG.png
Normal file
|
After Width: | Height: | Size: 737 B |
BIN
res/flags/BH.png
Normal file
|
After Width: | Height: | Size: 842 B |
BIN
res/flags/BI.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
res/flags/BJ.png
Normal file
|
After Width: | Height: | Size: 777 B |
BIN
res/flags/BL.png
Normal file
|
After Width: | Height: | Size: 692 B |
BIN
res/flags/BM.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
res/flags/BN.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
res/flags/BO.png
Normal file
|
After Width: | Height: | Size: 733 B |
BIN
res/flags/BQ.png
Normal file
|
After Width: | Height: | Size: 726 B |
BIN
res/flags/BR.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
res/flags/BS.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
res/flags/BT.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
res/flags/BV.png
Normal file
|
After Width: | Height: | Size: 866 B |
BIN
res/flags/BW.png
Normal file
|
After Width: | Height: | Size: 697 B |
BIN
res/flags/BY.png
Normal file
|
After Width: | Height: | Size: 950 B |
BIN
res/flags/BZ.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
res/flags/CA.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
res/flags/CC.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
res/flags/CD.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
res/flags/CF.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
res/flags/CG.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
res/flags/CH.png
Normal file
|
After Width: | Height: | Size: 800 B |
BIN
res/flags/CI.png
Normal file
|
After Width: | Height: | Size: 692 B |
BIN
res/flags/CK.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
res/flags/CL.png
Normal file
|
After Width: | Height: | Size: 964 B |
BIN
res/flags/CM.png
Normal file
|
After Width: | Height: | Size: 908 B |
BIN
res/flags/CN.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
res/flags/CO.png
Normal file
|
After Width: | Height: | Size: 726 B |
BIN
res/flags/CR.png
Normal file
|
After Width: | Height: | Size: 734 B |
BIN
res/flags/CU.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
res/flags/CV.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
res/flags/CW.png
Normal file
|
After Width: | Height: | Size: 970 B |
BIN
res/flags/CX.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
res/flags/CY.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
res/flags/CZ.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
res/flags/DE.png
Normal file
|
After Width: | Height: | Size: 734 B |
BIN
res/flags/DJ.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
res/flags/DK.png
Normal file
|
After Width: | Height: | Size: 797 B |