mirror of
https://github.com/vector-im/riotX-android
synced 2025-10-06 08:12:46 +02:00
Compare commits
2879 Commits
v1.3.13
...
michaelk/a
Author | SHA1 | Date | |
---|---|---|---|
|
14e7c71b26 | ||
|
9c558f1f15 | ||
|
f42e6c0a3c | ||
|
78af67ee7e | ||
|
1d59f69a57 | ||
|
76a285e655 | ||
|
dcc20bbfeb | ||
|
5076b2cdbd | ||
|
9fd56f0b5c | ||
|
b5a0c944d1 | ||
|
2ff6604555 | ||
|
12d7cee687 | ||
|
70c1310794 | ||
|
4889295361 | ||
|
97702317dd | ||
|
29dc114d1a | ||
|
1e3ad30422 | ||
|
63119ca2a3 | ||
|
f771a22161 | ||
|
9f520d4e8a | ||
|
3b022eee83 | ||
|
e5bb7ae5cd | ||
|
8dd87321da | ||
|
d79a9c5b8b | ||
|
c09a93c171 | ||
|
0325754d12 | ||
|
2da109cb74 | ||
|
f57e20c73c | ||
|
e36c57ff29 | ||
|
a971b19f5c | ||
|
672023e94b | ||
|
1720dc1fac | ||
|
3201308125 | ||
|
11ebab094b | ||
|
0f415a56dd | ||
|
0fc2352c07 | ||
|
a27569770b | ||
|
d0bff5000c | ||
|
cd6807d9b2 | ||
|
e82e79d7e2 | ||
|
e8556ec830 | ||
|
1db0e71796 | ||
|
444d2c6491 | ||
|
3460df7ac8 | ||
|
f9220e4185 | ||
|
61b1e84e61 | ||
|
cbc29d0699 | ||
|
271eb31162 | ||
|
50a4d2ba0a | ||
|
a1e980d103 | ||
|
7fa1af3819 | ||
|
a2aafb9b6b | ||
|
4f1596d105 | ||
|
2a8134af89 | ||
|
779cbc8c08 | ||
|
f48be229c8 | ||
|
ec2525a8fa | ||
|
6e68a5187e | ||
|
f6fa794a18 | ||
|
65724fbdd4 | ||
|
f283a95c03 | ||
|
b788a82d0d | ||
|
25ca50c7bd | ||
|
3bcfd7c103 | ||
|
c2993a2a04 | ||
|
2ce92f0d41 | ||
|
cd52df5d2e | ||
|
97bee949e1 | ||
|
246480eaed | ||
|
f4b7161db2 | ||
|
f04b67ba29 | ||
|
a27ecac598 | ||
|
d18ea43211 | ||
|
10aa753231 | ||
|
b319ef40ba | ||
|
250baf225c | ||
|
3d190bb2ac | ||
|
09e8c104bb | ||
|
9e2cae5643 | ||
|
01be02abb5 | ||
|
4b33751127 | ||
|
5ac0555c21 | ||
|
942bc13ccc | ||
|
039c9c60fe | ||
|
1f9b9571fd | ||
|
5cfe218634 | ||
|
51b42929bd | ||
|
780f1ffc8c | ||
|
f5973fa840 | ||
|
521fd1fcd7 | ||
|
9c951687b0 | ||
|
6548c3cf6f | ||
|
e4cd31d5ab | ||
|
f6a03cdc63 | ||
|
d694ea16a8 | ||
|
8ff7acaec5 | ||
|
6ee0b62272 | ||
|
636f7fdc30 | ||
|
f863bdea37 | ||
|
40f3165d7f | ||
|
766059ffd1 | ||
|
f2bd93afe6 | ||
|
66fd100333 | ||
|
9e8e6c8b18 | ||
|
d4c0575f28 | ||
|
ba99d5c028 | ||
|
6b5822e3d5 | ||
|
ebcab189f2 | ||
|
da656ac470 | ||
|
b2f9d6778a | ||
|
343322ef21 | ||
|
17189f2d58 | ||
|
c542619525 | ||
|
abdfd9deee | ||
|
1b387c8242 | ||
|
d2eca739f4 | ||
|
fb736281f0 | ||
|
cd06ba656a | ||
|
d2f6f0fa92 | ||
|
4af883f5d2 | ||
|
272bdf95cb | ||
|
0092a7057e | ||
|
016551f79f | ||
|
0449606f0b | ||
|
51f7c68d3f | ||
|
96b2254ac1 | ||
|
a52182490d | ||
|
b36955f6e2 | ||
|
e3198e5b25 | ||
|
b88a86a0cf | ||
|
c0da9f6bf0 | ||
|
ab924745de | ||
|
43c2b42a82 | ||
|
683cc599ca | ||
|
2839d1467f | ||
|
96350b0ed0 | ||
|
3ed6a90fde | ||
|
e368046b84 | ||
|
2951077979 | ||
|
eb844753a5 | ||
|
cc705d5458 | ||
|
cf8031bbc6 | ||
|
914db8c6be | ||
|
8eaa2f8dfb | ||
|
dbc558afbc | ||
|
7f09a37503 | ||
|
56b3e8aaa4 | ||
|
949d476623 | ||
|
c21ec983e8 | ||
|
8874f236e4 | ||
|
863ed2f15d | ||
|
4def1e6068 | ||
|
729a2e6372 | ||
|
543e274437 | ||
|
a5eca12824 | ||
|
534d55a24e | ||
|
aebdee1070 | ||
|
8e569af60c | ||
|
ed11ca99af | ||
|
de899bbb18 | ||
|
55740a1f6b | ||
|
7f3e72b9cb | ||
|
f6c34f8e12 | ||
|
0693e3c3aa | ||
|
b2e18a8591 | ||
|
6aa0be22c9 | ||
|
f9ee06cd2a | ||
|
78b1feae77 | ||
|
7947d128fe | ||
|
f4f9c85bf7 | ||
|
ed0ef4ad81 | ||
|
441751a6ec | ||
|
3a9bacd7a8 | ||
|
d240e3c453 | ||
|
903c402cf5 | ||
|
7c7822a28a | ||
|
fa3476d6cd | ||
|
518a7585ab | ||
|
8eab24c53d | ||
|
f70b2a605c | ||
|
90b063f0de | ||
|
73754993a5 | ||
|
a46630fd05 | ||
|
7d4e647b3b | ||
|
e0556cd5e6 | ||
|
ebf821011b | ||
|
99cab794c4 | ||
|
00bbb94b3b | ||
|
e736bc73f4 | ||
|
0556a3d088 | ||
|
4a010a7a2a | ||
|
2d7b71f70d | ||
|
1a76b4d680 | ||
|
5b01290057 | ||
|
98dc4a57fc | ||
|
945d0ce035 | ||
|
459ae7276d | ||
|
8a2cd97df0 | ||
|
b96adadf1b | ||
|
abe07c73a4 | ||
|
48680c3e2d | ||
|
765bfd0570 | ||
|
cb577756f9 | ||
|
dc4f11a613 | ||
|
fb3e037ed5 | ||
|
f8a2b6cdf4 | ||
|
a17e5010f0 | ||
|
e1bb4da978 | ||
|
903e226e59 | ||
|
1a38b8c3c9 | ||
|
948566c625 | ||
|
09abab6ce3 | ||
|
cc8f086cc3 | ||
|
749976a9cd | ||
|
cf31381b60 | ||
|
2fdf71db64 | ||
|
68fe0516eb | ||
|
d24ba65b5b | ||
|
a50bf4582c | ||
|
0fbad92e8b | ||
|
cdcf57659f | ||
|
a39516534a | ||
|
3b454b9ad0 | ||
|
6b9f2965da | ||
|
6ed1516d90 | ||
|
ff28cb4349 | ||
|
b6f345aec2 | ||
|
614c2a347c | ||
|
aca653170f | ||
|
e58677a104 | ||
|
6a6f59a3be | ||
|
ace8ae6a37 | ||
|
dc5902e8f5 | ||
|
97f2206f2a | ||
|
a171a29bf1 | ||
|
c58b8acdcc | ||
|
eda1d9142c | ||
|
8b893c4106 | ||
|
b1cff1a5e8 | ||
|
7b7c509796 | ||
|
0bc557640a | ||
|
431651ba2f | ||
|
aa55b1f6b3 | ||
|
47b2ae5dfd | ||
|
8da5016767 | ||
|
5b8909b5d2 | ||
|
a712ffee68 | ||
|
9c132a3244 | ||
|
f49e7d9619 | ||
|
6d741c3844 | ||
|
1b95cd537b | ||
|
f6c0050e90 | ||
|
1468edd2f9 | ||
|
8a83064f5a | ||
|
d1db9a70f3 | ||
|
7441dad1c0 | ||
|
c8aaeea7f2 | ||
|
ebb2c7a250 | ||
|
6cb4eb7d49 | ||
|
84960a77a5 | ||
|
7f7b75cae9 | ||
|
2296b89faf | ||
|
eb44a3ccb6 | ||
|
04045d2b30 | ||
|
fe0332957b | ||
|
11ef4a7fec | ||
|
55c981f18b | ||
|
be22be53df | ||
|
538e6e453f | ||
|
1b33c03d91 | ||
|
a34b424b7b | ||
|
557808ef24 | ||
|
ee693b5ad4 | ||
|
13cc0a2e8d | ||
|
5001be9f21 | ||
|
c9e0868917 | ||
|
b76ec78c5d | ||
|
da843443ef | ||
|
197df34097 | ||
|
015438289e | ||
|
023a00d160 | ||
|
137d5e4093 | ||
|
7773b75834 | ||
|
3435357b1c | ||
|
10b47c33d1 | ||
|
13cf510e8a | ||
|
2858401a12 | ||
|
9b7e94ebab | ||
|
86b87e12d7 | ||
|
10be592094 | ||
|
91c896f566 | ||
|
2ac7c94cbb | ||
|
e109319b1e | ||
|
c7065fc123 | ||
|
36ad59dc0f | ||
|
3f735e4346 | ||
|
daaca4e46a | ||
|
619ac2a9d8 | ||
|
33e735cbdd | ||
|
4ee7332973 | ||
|
77da82c310 | ||
|
1ba838a58d | ||
|
45f6633e49 | ||
|
f23d7f60b2 | ||
|
4e56136993 | ||
|
215cac2aec | ||
|
1f6068976d | ||
|
059b2a5424 | ||
|
f45de34db4 | ||
|
06147967a4 | ||
|
11dbd0e80c | ||
|
f4747aa069 | ||
|
863b4b810f | ||
|
81a325b769 | ||
|
c98fe59965 | ||
|
8bbb5e9c93 | ||
|
8b66034af5 | ||
|
2761b35b6f | ||
|
5075775c56 | ||
|
ea4515f90e | ||
|
2d3a8b4d57 | ||
|
e30c68fb82 | ||
|
c8aefd5828 | ||
|
eb3f704745 | ||
|
0bf84341af | ||
|
c832c1b848 | ||
|
a0ca8b6a13 | ||
|
9d2c704aef | ||
|
3c57916ec3 | ||
|
071340c868 | ||
|
594b442a21 | ||
|
4adb469b38 | ||
|
27be78002d | ||
|
4131465ff6 | ||
|
6f2cdd2a9d | ||
|
4bc75b2574 | ||
|
38bbbd62a4 | ||
|
a0eb4c144e | ||
|
4c07405220 | ||
|
bfbcef60e9 | ||
|
23d2a290ab | ||
|
46700723a8 | ||
|
c3fe782eb5 | ||
|
e50192910d | ||
|
d78ed3215b | ||
|
78a9bdeb4c | ||
|
6e61085b1f | ||
|
e2d56e2d87 | ||
|
26f89fa5f8 | ||
|
3da3589d5c | ||
|
aabfc81816 | ||
|
e93e51d03c | ||
|
a1fb85dcdb | ||
|
2a201b3c46 | ||
|
4e48c076e8 | ||
|
fd3bbabec5 | ||
|
7514edb399 | ||
|
73270476d2 | ||
|
150c64350e | ||
|
b6eafbe344 | ||
|
89f20e1cfb | ||
|
ed94d3ff1f | ||
|
7eaef934db | ||
|
d07f26904a | ||
|
6682170f6e | ||
|
cc1fc29e7c | ||
|
851708c1b4 | ||
|
f56ea8be37 | ||
|
a479e180ac | ||
|
11236501c4 | ||
|
2b7144cad9 | ||
|
c11194dcc5 | ||
|
90e6c07202 | ||
|
d0a4075238 | ||
|
d4d74d3e11 | ||
|
b5654d54b9 | ||
|
5c6b370c63 | ||
|
4e88b7fd11 | ||
|
c0aafab857 | ||
|
e91541333c | ||
|
e8bfbdd71a | ||
|
0107836e1b | ||
|
814ba43867 | ||
|
1403557213 | ||
|
74e475d92c | ||
|
0f6b47e511 | ||
|
02cc9d6d4e | ||
|
16c8296735 | ||
|
3735ac307f | ||
|
1402416338 | ||
|
f8d0a22edf | ||
|
363524b556 | ||
|
47dad42f08 | ||
|
9190b8b67f | ||
|
c51967453f | ||
|
ed8097ed92 | ||
|
a054080cee | ||
|
897c711afb | ||
|
4799326058 | ||
|
e6bc6305aa | ||
|
af2825eb39 | ||
|
e9161dd4af | ||
|
7644bd46ad | ||
|
e6fc723bee | ||
|
97c1929e12 | ||
|
36fd5706c2 | ||
|
229547fa49 | ||
|
4b7401062a | ||
|
1bc6bec973 | ||
|
d8eac14294 | ||
|
b1f4aa91e2 | ||
|
0720196ee6 | ||
|
f4fba2dd2d | ||
|
c9bbf6c53a | ||
|
d4ff273bc4 | ||
|
627a1291b0 | ||
|
ccce552097 | ||
|
0cb770334c | ||
|
03dba3bbba | ||
|
a3575fbc6b | ||
|
3895ac85d8 | ||
|
1684ba1d14 | ||
|
24d044b147 | ||
|
567f298bd0 | ||
|
7711eb584c | ||
|
73d22d0622 | ||
|
b4dbb389b1 | ||
|
83570dc24b | ||
|
dc092f889b | ||
|
4d49ccaf8c | ||
|
8ae130c0d0 | ||
|
1526c73dae | ||
|
047a45d77f | ||
|
9c696b8778 | ||
|
454a65602b | ||
|
0e4762e3de | ||
|
ff6f03b0d4 | ||
|
e1452c7d03 | ||
|
363afd0089 | ||
|
836a12d047 | ||
|
77dd697f53 | ||
|
4779dd1b0b | ||
|
f7e8c01121 | ||
|
417a0d683c | ||
|
c68045360e | ||
|
7a721a4d1d | ||
|
3eb97923cc | ||
|
9414a29b80 | ||
|
05e0a4c715 | ||
|
a9df474067 | ||
|
5f635de0ac | ||
|
4d65c42967 | ||
|
4d3ccd236a | ||
|
51c0ff7b7a | ||
|
1c5cf6b29e | ||
|
902d2f7338 | ||
|
53c7cec55d | ||
|
19328db2de | ||
|
9eb9b0b880 | ||
|
44446ce395 | ||
|
323954be33 | ||
|
b4e8b07381 | ||
|
f9a9c72c7b | ||
|
f8a3f7ffac | ||
|
03d6aa8cd3 | ||
|
bd3e98078c | ||
|
5f9d3e107d | ||
|
a2bcbfb7c7 | ||
|
05a7d40950 | ||
|
6304d5dc93 | ||
|
f70d61321c | ||
|
db50225538 | ||
|
21102a2f9f | ||
|
0ce2012b83 | ||
|
2ba3bd3375 | ||
|
1d92b4293b | ||
|
89f182ac35 | ||
|
c022a38dd4 | ||
|
8b2e2a16e2 | ||
|
e9f50038a4 | ||
|
1e520121ce | ||
|
f34df3997d | ||
|
51c294a6fc | ||
|
985dbfe97d | ||
|
7f90dda96f | ||
|
c3cf22158b | ||
|
28f483870f | ||
|
15e1c7bc37 | ||
|
c54a124d34 | ||
|
051cf101d1 | ||
|
7ae42d81c1 | ||
|
2b3e3cf7e6 | ||
|
e6e9681856 | ||
|
9fb71130a4 | ||
|
9e85abe8e6 | ||
|
b2b1e1ca0a | ||
|
9e39df111d | ||
|
5f30a66929 | ||
|
1a6de70d92 | ||
|
0167e3a222 | ||
|
fca0b042e8 | ||
|
de109c9772 | ||
|
833798bd25 | ||
|
c09cb3358a | ||
|
d538e2d9a9 | ||
|
661d95cf29 | ||
|
8b125923e9 | ||
|
2123112763 | ||
|
f2bbcddd5f | ||
|
23cdd4fac3 | ||
|
ff7c19537e | ||
|
aec196564d | ||
|
15cf0657e8 | ||
|
c2bdfe0f19 | ||
|
0e1c587eff | ||
|
4a2b573ef4 | ||
|
190a425aa6 | ||
|
504a242775 | ||
|
6b47db92dc | ||
|
eab3e5aefa | ||
|
7e67f3c88b | ||
|
79f5a7c666 | ||
|
45104f8cec | ||
|
72bd398ae0 | ||
|
dbf10a222f | ||
|
1a53d2c8da | ||
|
d4add052d9 | ||
|
90616de89d | ||
|
44c6d88c44 | ||
|
6708ed8b34 | ||
|
faa07513ec | ||
|
94099f4908 | ||
|
f9677d6c8c | ||
|
c56d21bf77 | ||
|
197b542030 | ||
|
c276d6ae74 | ||
|
c17599604b | ||
|
aae281a7ea | ||
|
84700d63d0 | ||
|
9c1cdf6488 | ||
|
1b9fd3bdd4 | ||
|
9d41508530 | ||
|
7cbe77eacb | ||
|
2a42eb8c87 | ||
|
4d19d0370d | ||
|
7e8c7f32fb | ||
|
85a00106c8 | ||
|
26e80ba70b | ||
|
785ccc8bc4 | ||
|
e8f421fe34 | ||
|
e27dcbc9b9 | ||
|
a648a06ad1 | ||
|
45bd1061d2 | ||
|
24915591f2 | ||
|
0b76beb241 | ||
|
c849cc5c5d | ||
|
930ce0629b | ||
|
d9f2033a38 | ||
|
415985094a | ||
|
02401f7f3d | ||
|
e7a2e654e5 | ||
|
bf24b86f71 | ||
|
ee63c75cec | ||
|
5429521c70 | ||
|
1ef2b1d05a | ||
|
fd76db9616 | ||
|
0f14652932 | ||
|
598892de53 | ||
|
37dc77cc3e | ||
|
02e3f0a359 | ||
|
247f59899a | ||
|
59d87df0ca | ||
|
5ee2579efc | ||
|
72d4c7612a | ||
|
e0d59efd86 | ||
|
c76dc7b62f | ||
|
fac317d122 | ||
|
ca418afcbb | ||
|
355db98146 | ||
|
dc36301070 | ||
|
bebe819c54 | ||
|
d484ba07cd | ||
|
6e06aed627 | ||
|
76b2cfdf40 | ||
|
a269aa5046 | ||
|
858623b5a4 | ||
|
157a14fdc2 | ||
|
bad0c0a2e1 | ||
|
7dd56244a9 | ||
|
99ad49498d | ||
|
67159f7dc9 | ||
|
aaf3f080d0 | ||
|
5e03526717 | ||
|
2e81f2ab2a | ||
|
3d9974ed82 | ||
|
be3b75e136 | ||
|
da32eb8a99 | ||
|
2b9dd88554 | ||
|
b19b100150 | ||
|
8f751af7e4 | ||
|
232c400c08 | ||
|
3d64f13c7e | ||
|
dbb43fe046 | ||
|
aef4cce3e7 | ||
|
b5f8d2c91f | ||
|
4ce4ef4631 | ||
|
eecaf9602d | ||
|
6567628b95 | ||
|
35a526a482 | ||
|
e3ac5ad8c1 | ||
|
2ac3306382 | ||
|
587752dffe | ||
|
5f3f31b62c | ||
|
7662abc5f7 | ||
|
2bb6e77be0 | ||
|
db45ebd012 | ||
|
f00fc1e5ab | ||
|
c26c9ff1cc | ||
|
e2481fa8e6 | ||
|
0664afdf9a | ||
|
1be09249f7 | ||
|
8c9d2410b1 | ||
|
9e48b02b73 | ||
|
031c1b409b | ||
|
d0155c9890 | ||
|
4f27ab263f | ||
|
a0899477e9 | ||
|
9050c488e4 | ||
|
3b8ffcf8a9 | ||
|
ff34ed9eb2 | ||
|
48d40d8ba2 | ||
|
273b4816db | ||
|
4c059e7819 | ||
|
921b562fd0 | ||
|
e1a08b82a3 | ||
|
5fcc3a9955 | ||
|
3aac59a5ae | ||
|
57bf044df0 | ||
|
45eb3bcbc5 | ||
|
664c3453be | ||
|
b894a58849 | ||
|
97de6de8f2 | ||
|
4d37aa232f | ||
|
34dcd70a64 | ||
|
27b727ed41 | ||
|
5120e7a8c6 | ||
|
922d68cfda | ||
|
3e3ddf706b | ||
|
49862d89a6 | ||
|
7067c50e79 | ||
|
be77363c34 | ||
|
5ec63858ed | ||
|
de59f9fb66 | ||
|
f5cecb3e00 | ||
|
224eb7a968 | ||
|
b3eed2f2cf | ||
|
13fb4e52af | ||
|
801fb90f7b | ||
|
c45c421e48 | ||
|
468a81e1c3 | ||
|
4c1c9a5af7 | ||
|
4e215facaf | ||
|
32b54e1e9c | ||
|
aa5054cddf | ||
|
c83882d903 | ||
|
d302875fb7 | ||
|
12ae35f5ac | ||
|
bc4566da4d | ||
|
53675b599d | ||
|
e8791fb3cf | ||
|
c3ab895a54 | ||
|
585ac4bf1f | ||
|
11983443fb | ||
|
7e5c3df7a7 | ||
|
2cbbfca73f | ||
|
b439322776 | ||
|
eb72587238 | ||
|
1d0a87be14 | ||
|
ced621d469 | ||
|
4629353314 | ||
|
b9934d7239 | ||
|
3c06d56b87 | ||
|
cc6cb41eac | ||
|
0f5343a614 | ||
|
acef51e415 | ||
|
a4b81524be | ||
|
a6a494170e | ||
|
265dd4a0c3 | ||
|
c18a9230e5 | ||
|
5abc196536 | ||
|
4da11bbdc0 | ||
|
d0a255819a | ||
|
f34225506a | ||
|
d448c62cad | ||
|
d05d697831 | ||
|
21541642ba | ||
|
f8a909b014 | ||
|
20cdf2bef1 | ||
|
fbbadc8138 | ||
|
9a2cc1a4c5 | ||
|
167fcb5366 | ||
|
558a72e58f | ||
|
0fe3cc3acc | ||
|
856a110aee | ||
|
acc9874bdf | ||
|
c44c637fba | ||
|
29c7ea11bd | ||
|
0d59a31788 | ||
|
9e3dc4c10f | ||
|
f4ef4c2e61 | ||
|
2b41096518 | ||
|
90c53b9dd5 | ||
|
78b2ccb2b5 | ||
|
e92a05abe7 | ||
|
cfce144b61 | ||
|
424f70bc58 | ||
|
93876737e7 | ||
|
9d3d574d28 | ||
|
f4f5beff15 | ||
|
8ad4f20d99 | ||
|
963b2dfa57 | ||
|
b9b5cab772 | ||
|
587948c1b9 | ||
|
6adf4878f7 | ||
|
0d2d1339e0 | ||
|
cc5e8f35a7 | ||
|
9c333c96c4 | ||
|
2055e7a27d | ||
|
0f7d6a1946 | ||
|
7999bd7523 | ||
|
539d198f8f | ||
|
ea96718af5 | ||
|
33d197a429 | ||
|
f58f3ad6d9 | ||
|
abbf798ccf | ||
|
dedbce8458 | ||
|
181c20d601 | ||
|
223cec53ff | ||
|
365c03e763 | ||
|
1b2e3502cb | ||
|
0bc223cfde | ||
|
2938fa92c0 | ||
|
2a4182ea84 | ||
|
6269a3357b | ||
|
01bb49d963 | ||
|
a7cd03d578 | ||
|
3ae4303ecd | ||
|
b4885629af | ||
|
ff1fb63bf6 | ||
|
ebee66cfaf | ||
|
4c40615871 | ||
|
2b3951fe04 | ||
|
5499854ec0 | ||
|
6952552e5e | ||
|
152c921017 | ||
|
fa56a5efa9 | ||
|
32cf3feab8 | ||
|
3cf7765aaf | ||
|
d589758b7b | ||
|
9bf54a3750 | ||
|
3ba2419e9b | ||
|
b996e0eac0 | ||
|
9eccb9eaa0 | ||
|
a2e2cdc2f3 | ||
|
58cc3931b9 | ||
|
08476a91e4 | ||
|
9b271e4ffd | ||
|
bb19987314 | ||
|
4fe8650387 | ||
|
931c0e9826 | ||
|
8aaaf80262 | ||
|
e01c5049f6 | ||
|
a9b87de7a3 | ||
|
ee9c8d8626 | ||
|
cc8fd0c9a7 | ||
|
883c1816bc | ||
|
f38bf2548f | ||
|
531b62f634 | ||
|
7e930472e8 | ||
|
f5d2ba39f4 | ||
|
313595e496 | ||
|
bdbdfe52cd | ||
|
776cf24516 | ||
|
cfb3aa8a22 | ||
|
230c37597c | ||
|
88197991e1 | ||
|
7285bc6889 | ||
|
79afdf724f | ||
|
129c6aa7fb | ||
|
57ad361750 | ||
|
2602c7afb5 | ||
|
9004d23f38 | ||
|
44f064c484 | ||
|
345ce171ff | ||
|
37b17932ca | ||
|
d526724eb1 | ||
|
c042e5f3cf | ||
|
df1cc6a144 | ||
|
0e91511db1 | ||
|
9317d42c49 | ||
|
5e79c9367b | ||
|
237bb87955 | ||
|
6537f7f69a | ||
|
b2896dd248 | ||
|
604f38bfa3 | ||
|
b9d10c9d6e | ||
|
56fd8983c9 | ||
|
7352faa2d9 | ||
|
f3deb3e160 | ||
|
ce28da3ae4 | ||
|
47415a8ef1 | ||
|
c8a56d63e9 | ||
|
806af4798a | ||
|
82cde166db | ||
|
10974366fb | ||
|
3410e75790 | ||
|
9ec684f438 | ||
|
60ecfd4fc2 | ||
|
8bcc2f5b0c | ||
|
04b136e3e4 | ||
|
87438085c6 | ||
|
81aa42a8e8 | ||
|
3c73ccce7b | ||
|
1ef1bd81bc | ||
|
a97d3eae7e | ||
|
a362d5427d | ||
|
745382cdfa | ||
|
70e5698082 | ||
|
866a5a7e3a | ||
|
3c7495bd60 | ||
|
1a0bd3f31e | ||
|
3182c60d13 | ||
|
164ac0ee80 | ||
|
edfe81cc2b | ||
|
3525d82733 | ||
|
516e548fcd | ||
|
481274088c | ||
|
c2d2afbe72 | ||
|
84b34f75de | ||
|
4ef0bc9052 | ||
|
7a575ed062 | ||
|
af90adadf3 | ||
|
e7a1c20132 | ||
|
5aa35899bc | ||
|
373385b29f | ||
|
11cc284bcc | ||
|
7d80cfed0b | ||
|
2227df479c | ||
|
e3df9c4cef | ||
|
adf2c642da | ||
|
8d4830975d | ||
|
7c27ce5e88 | ||
|
f7f115e4dc | ||
|
669d00c02a | ||
|
55b1a60f96 | ||
|
5f74442f57 | ||
|
f18a107df8 | ||
|
3b9cade1a7 | ||
|
96a2bc9ce4 | ||
|
4755ebfa97 | ||
|
3fa4aea506 | ||
|
55b946a019 | ||
|
82a6ea9d85 | ||
|
d232c49d65 | ||
|
6d0b823b66 | ||
|
7ead3f93f4 | ||
|
c478503c13 | ||
|
6568091f29 | ||
|
20b2af4432 | ||
|
8a1d008b3c | ||
|
d5a89fc4aa | ||
|
e549ce15af | ||
|
c6fe084507 | ||
|
5bbc9dc102 | ||
|
a8969b6dfa | ||
|
65732f3720 | ||
|
17d4e6c745 | ||
|
720d830f5f | ||
|
41de155fb5 | ||
|
040180478d | ||
|
951171cb94 | ||
|
c06c9ea1d6 | ||
|
3d3f5444b1 | ||
|
fdf3cc36ce | ||
|
bfd31de05e | ||
|
72bc613f34 | ||
|
f8e7ba7355 | ||
|
6787980185 | ||
|
b1c4ca7816 | ||
|
095f06bd89 | ||
|
8550db9f23 | ||
|
707800532f | ||
|
012cdf4b4d | ||
|
86829008c3 | ||
|
249db1820f | ||
|
f791ddb7bb | ||
|
03fee2a131 | ||
|
97bb5a9abb | ||
|
57bee40211 | ||
|
7502158ba9 | ||
|
ed62a2f1c9 | ||
|
f07c9bf105 | ||
|
e169c81a2c | ||
|
6f55a25a30 | ||
|
bc9a785a59 | ||
|
073475854e | ||
|
1e3b859f48 | ||
|
67804da205 | ||
|
24bdad3ae1 | ||
|
c455912969 | ||
|
a2f64e7f3c | ||
|
1e6e8b546d | ||
|
7449d15d2f | ||
|
70c8a8bf34 | ||
|
c6593f0cee | ||
|
09a017aaa8 | ||
|
21e46c5840 | ||
|
3c6dbd0843 | ||
|
52699357dd | ||
|
a431d885f0 | ||
|
c2e3c63100 | ||
|
13d0b23663 | ||
|
6fd207764d | ||
|
b035911d8f | ||
|
06468a4365 | ||
|
c9946b6dd3 | ||
|
47dddd706c | ||
|
5a819bbafa | ||
|
794131d274 | ||
|
ff26829d65 | ||
|
7a7d36d010 | ||
|
4a8aeadbcf | ||
|
835497682f | ||
|
579e6164d6 | ||
|
176895a37d | ||
|
c687252fb6 | ||
|
7e5c293ebc | ||
|
334368083e | ||
|
ed2cb5f0fe | ||
|
0479049476 | ||
|
277619d833 | ||
|
c63fc3d6c2 | ||
|
a959a15636 | ||
|
f6b38d2b49 | ||
|
75fe14561e | ||
|
ffb007e96d | ||
|
777913493f | ||
|
06af5a8017 | ||
|
8a783a7a0b | ||
|
7910b4cd35 | ||
|
2e716cb8a0 | ||
|
fab78c9a6e | ||
|
cb290550a9 | ||
|
db828152a6 | ||
|
20d9f68679 | ||
|
1ecbe41529 | ||
|
d24f01c001 | ||
|
4b6c8b8980 | ||
|
96904d0fd7 | ||
|
805666b2f5 | ||
|
df717dd82d | ||
|
ea9c9ae490 | ||
|
4761f7701b | ||
|
d1aba46b52 | ||
|
840a224c9f | ||
|
ce2c309d72 | ||
|
e574fda099 | ||
|
06db7e2374 | ||
|
fd4d99d6fc | ||
|
7f943d37fd | ||
|
526d11e912 | ||
|
56bffb2657 | ||
|
67297bbdef | ||
|
70ab5354c3 | ||
|
32f18d5af3 | ||
|
a1d27940cd | ||
|
d54b465b30 | ||
|
3547c5acba | ||
|
2e5d45ec6e | ||
|
f00b1f29bf | ||
|
26176328c4 | ||
|
189683a8a1 | ||
|
a0e6dd5f6c | ||
|
1d74e34362 | ||
|
6878a973ed | ||
|
e5c04d9cc8 | ||
|
61cb7a6ffb | ||
|
2ca3387ab3 | ||
|
abf62aff47 | ||
|
192d1c4f2d | ||
|
cde10ca032 | ||
|
ba76aac965 | ||
|
d514751ffd | ||
|
5df2ae9ae2 | ||
|
d77061b229 | ||
|
7593f7a2c6 | ||
|
bc3cef53fe | ||
|
00bced9500 | ||
|
a13ba13fb5 | ||
|
d3459d1d3d | ||
|
fbb6f117d0 | ||
|
d11fc060ee | ||
|
9c8f29e853 | ||
|
4bcf31e0c2 | ||
|
91259bef40 | ||
|
36564d3657 | ||
|
33e5a206bd | ||
|
4154f036db | ||
|
d1a77d2eca | ||
|
d1bca78083 | ||
|
bcf3f1e302 | ||
|
575d62a354 | ||
|
682f4c35d2 | ||
|
eee1ec1423 | ||
|
99b43fd771 | ||
|
60db2e424e | ||
|
e1b8a2e8ec | ||
|
a994f859e1 | ||
|
856f25f684 | ||
|
f722b2eb85 | ||
|
5d496d5f3d | ||
|
82ead4f3f5 | ||
|
4a7646a7ba | ||
|
c257488ca8 | ||
|
3d20d46eb3 | ||
|
fe206fe130 | ||
|
fc5c0579bb | ||
|
694016fc16 | ||
|
390ae4344d | ||
|
804513c808 | ||
|
75cbb727a4 | ||
|
b2a1aa17bd | ||
|
434ee67982 | ||
|
3fa415007c | ||
|
4225f62120 | ||
|
c15e908a15 | ||
|
17d363cf9a | ||
|
d74d569f4b | ||
|
a46901ad6c | ||
|
a2d18d460a | ||
|
d776f0c09c | ||
|
6f6bb3dbfe | ||
|
9c6cd9f630 | ||
|
ae6040e01e | ||
|
9ef235f3d7 | ||
|
a7639f4424 | ||
|
b72c87da44 | ||
|
9ecf12a7ba | ||
|
abd25c2292 | ||
|
6779fa1175 | ||
|
f495150b4e | ||
|
9864e51927 | ||
|
094e62c95b | ||
|
04405c7970 | ||
|
8d1822da96 | ||
|
125b8d2058 | ||
|
01aff36597 | ||
|
40e92842ea | ||
|
57fcfeb1c1 | ||
|
93c397d492 | ||
|
6fc6bf1c7d | ||
|
01879e252d | ||
|
dec075faf3 | ||
|
a1d155df71 | ||
|
9256b5671b | ||
|
f8ca2fecd5 | ||
|
15e3f258f3 | ||
|
c3f1b748a3 | ||
|
db0cfd4704 | ||
|
56760ecddc | ||
|
9d49ef5f3a | ||
|
98b7d194eb | ||
|
a47b589e72 | ||
|
7fa43f0d1b | ||
|
9806f1bf8f | ||
|
38f3b88395 | ||
|
e0b93c2d2c | ||
|
094ebe6764 | ||
|
a68471afe3 | ||
|
c7aab7a3f6 | ||
|
30c325b16c | ||
|
55fbed1a81 | ||
|
ea4addf446 | ||
|
7db2ff2cfd | ||
|
4d76c0d822 | ||
|
c80df6943b | ||
|
5b04686827 | ||
|
07eabf110d | ||
|
8a862d006e | ||
|
b4df6e1ae8 | ||
|
1c63789cd0 | ||
|
161cd3f9ec | ||
|
049ae4a22a | ||
|
8d0435db77 | ||
|
9575cb5de7 | ||
|
9c114f371e | ||
|
e3c3db2964 | ||
|
9f6d3ec380 | ||
|
3130e67edb | ||
|
a40ad9543d | ||
|
ae5f09922a | ||
|
c2fa67ea22 | ||
|
0013d08ac7 | ||
|
1a76914828 | ||
|
f4bdaf6151 | ||
|
dd3178c36e | ||
|
df794ee41f | ||
|
c9f07061ef | ||
|
4cf820cb12 | ||
|
de14e10a45 | ||
|
5de7873755 | ||
|
184b35ab38 | ||
|
6c7b4d4256 | ||
|
d7c486c55e | ||
|
82e1afdb72 | ||
|
3981e72301 | ||
|
4939a98689 | ||
|
d35c1e833d | ||
|
c06d3ff809 | ||
|
c84ce5a2e0 | ||
|
c2fe669670 | ||
|
d89cc71eb4 | ||
|
edee6abafa | ||
|
bdedffbb4f | ||
|
7e79d7ed0e | ||
|
ab9e4405ce | ||
|
4b9b177104 | ||
|
b5778bd6c5 | ||
|
716928d9d2 | ||
|
46be481eda | ||
|
a033243475 | ||
|
537c2f56a1 | ||
|
3df4f1e099 | ||
|
50740b1449 | ||
|
10e4fd1707 | ||
|
7ded9007db | ||
|
0685b57720 | ||
|
6c4381fda5 | ||
|
567fd9a13d | ||
|
232524ddc3 | ||
|
1c80914832 | ||
|
074cde4519 | ||
|
4a1bf11168 | ||
|
d894d8598c | ||
|
fef36d9334 | ||
|
d215f03798 | ||
|
c2ec7cfa0f | ||
|
2176129b11 | ||
|
8bb0a5cb4c | ||
|
0942c6d648 | ||
|
a826a50c10 | ||
|
291d7d7627 | ||
|
f327eaa3f1 | ||
|
20749e04cb | ||
|
30c6518630 | ||
|
3d27d9d2d2 | ||
|
c79aa267c3 | ||
|
b72c357dd1 | ||
|
d5345160fa | ||
|
ad9d36e58c | ||
|
53c24d20b0 | ||
|
0aaa650ac3 | ||
|
c7dae341c0 | ||
|
eb38c9d835 | ||
|
b1d1090d1d | ||
|
70481e3ba3 | ||
|
134d7b2bf8 | ||
|
025dcc8d88 | ||
|
9657a50a6a | ||
|
bd4e251c8a | ||
|
bd50954b57 | ||
|
e3d8b3d488 | ||
|
a5585ca3b3 | ||
|
0b67e1cb3f | ||
|
667189c8bc | ||
|
5d67529ce2 | ||
|
0521ff91c3 | ||
|
3d7aa99b28 | ||
|
4922d5f5ff | ||
|
84bd205014 | ||
|
5dfa362345 | ||
|
06e0047c22 | ||
|
86765c9020 | ||
|
f24d8c2ada | ||
|
610c67c208 | ||
|
acfeb7ff65 | ||
|
9a532fc47f | ||
|
635be17d46 | ||
|
a12f918dd5 | ||
|
f68d3f2b03 | ||
|
04aaed7210 | ||
|
c89554c3f6 | ||
|
7c6167ace9 | ||
|
c3ac054634 | ||
|
97f30ef7c1 | ||
|
fa104adefc | ||
|
02ea1c0e7c | ||
|
6ba02629ec | ||
|
0564942b0c | ||
|
3ef2f824e8 | ||
|
25cfc7e05f | ||
|
d0a24afa5a | ||
|
9a112bb010 | ||
|
400a47c39b | ||
|
8b08d3db25 | ||
|
2d5638baaf | ||
|
7226864cc9 | ||
|
6a59007eb5 | ||
|
eb7eb1aac8 | ||
|
6db1c377c4 | ||
|
fe3c9cc09f | ||
|
df6ae4b848 | ||
|
f31b130b49 | ||
|
34cfdfb6fe | ||
|
c57d22a72c | ||
|
26617988f2 | ||
|
becdd1ce29 | ||
|
23f7f72e38 | ||
|
ed7c65d8d8 | ||
|
a758ad71e6 | ||
|
9e5ff1785a | ||
|
628a160c3a | ||
|
080844dc9d | ||
|
cd29b1aa4b | ||
|
66f76fbea3 | ||
|
dfc440b904 | ||
|
a5441fdf22 | ||
|
a5af4783cc | ||
|
8f0d6a1adc | ||
|
551b827753 | ||
|
621df9d1b1 | ||
|
f029759f9a | ||
|
1b348401bd | ||
|
c339e10c07 | ||
|
d83d5f9828 | ||
|
70fbcec093 | ||
|
fd3e5128c7 | ||
|
a891f59397 | ||
|
21111922e6 | ||
|
fd30d38603 | ||
|
029ccfa37f | ||
|
5ec8a2b36d | ||
|
314f32ed45 | ||
|
fbc3b15df4 | ||
|
ce4ad8819a | ||
|
45ee9f85e5 | ||
|
03f293f216 | ||
|
0122d8f933 | ||
|
89db6a065d | ||
|
d3fc3791bc | ||
|
9e8067dd19 | ||
|
e9fe4630f1 | ||
|
92c1bc944d | ||
|
2f706d6fae | ||
|
f76f73f8ad | ||
|
6c4e404ba1 | ||
|
ecb49b3b27 | ||
|
60bc3b09b7 | ||
|
8c36bdb0e9 | ||
|
bbc6e8bbce | ||
|
f12afe0ef0 | ||
|
1bf718f856 | ||
|
3f17cf595f | ||
|
7d78c8819c | ||
|
57ffc56869 | ||
|
884ae1cedd | ||
|
1206c31e3a | ||
|
8efd389a3c | ||
|
cbdc28dd9b | ||
|
047e767f34 | ||
|
e4ce4ab1ab | ||
|
84b3f63279 | ||
|
c24944b1f2 | ||
|
9b7e329000 | ||
|
104f948a08 | ||
|
02ba09900f | ||
|
e0914781fc | ||
|
662e9592a0 | ||
|
63cd79dc4f | ||
|
67a24b38cb | ||
|
20c1886fed | ||
|
fb374b7374 | ||
|
2bdafde965 | ||
|
89db867ab3 | ||
|
6515e457b5 | ||
|
046d906f97 | ||
|
9adb87bdb4 | ||
|
442d722980 | ||
|
f4b5353424 | ||
|
3aa1032a7a | ||
|
82515cf095 | ||
|
9b6811c915 | ||
|
7cad30e6bb | ||
|
8f362d83cd | ||
|
edc77b0c17 | ||
|
e4c9acde77 | ||
|
d36409d475 | ||
|
b11f7f20e1 | ||
|
42fca9bd6f | ||
|
8bcc594320 | ||
|
fb764028c9 | ||
|
0707877b3c | ||
|
3bbb7167f1 | ||
|
4586426958 | ||
|
55c6383074 | ||
|
1c6b31001f | ||
|
a98f502c01 | ||
|
96b51744b6 | ||
|
31f300c724 | ||
|
17d58f24d2 | ||
|
54828f76cf | ||
|
0892525c84 | ||
|
14260e2ae2 | ||
|
2048b859c5 | ||
|
510206aa8a | ||
|
82b5fc9557 | ||
|
a53d5bdba2 | ||
|
eb46067c08 | ||
|
f628b241c1 | ||
|
48cf2adcf5 | ||
|
e487c44b70 | ||
|
67c9584215 | ||
|
2c0d281a7b | ||
|
a7e44c81f2 | ||
|
bf619204e1 | ||
|
d8f8d4a40c | ||
|
4d0cde6fb9 | ||
|
37bbaa983f | ||
|
e1c61e3e30 | ||
|
e6d81b3a77 | ||
|
8b7606bd20 | ||
|
9e828822a7 | ||
|
cf6a717023 | ||
|
2e5bd0dda6 | ||
|
a657bc6976 | ||
|
b867e5f072 | ||
|
9c404b5cab | ||
|
8c6902aa23 | ||
|
e5299d716c | ||
|
0af6ae6075 | ||
|
83ff898ce5 | ||
|
7a1d3aa3f2 | ||
|
9fa285e6ca | ||
|
bc3b8d0a16 | ||
|
ab3f3fba68 | ||
|
fb05731bb9 | ||
|
768262094c | ||
|
557fd7eacf | ||
|
9c18088128 | ||
|
e758f440c7 | ||
|
6fef2f6d4e | ||
|
3b0a565822 | ||
|
bdc9bc0d4d | ||
|
1569c2f3c7 | ||
|
9a02543afd | ||
|
9af2f1cdc6 | ||
|
b25d11244b | ||
|
f32da28285 | ||
|
3156410965 | ||
|
2b7b7521a9 | ||
|
33246be2a5 | ||
|
a3dcee55e4 | ||
|
8732c6fe42 | ||
|
d19dd91d67 | ||
|
bce5bc8389 | ||
|
3c931d6f6d | ||
|
db84c679b4 | ||
|
99a07af9de | ||
|
31d3fe38aa | ||
|
7616e2d14c | ||
|
5d952feef9 | ||
|
ada83d0ba6 | ||
|
714e1d79b7 | ||
|
6546f98858 | ||
|
49d33f3a4b | ||
|
87de51b184 | ||
|
b7bf39b99a | ||
|
078ed1b2d1 | ||
|
f238739438 | ||
|
2d9beb67b4 | ||
|
122e785f14 | ||
|
2f665dd08f | ||
|
11e888162c | ||
|
9eb0473d74 | ||
|
ade16a0aa1 | ||
|
9b3c5d2153 | ||
|
c97de48474 | ||
|
24c51ea41a | ||
|
87d930819a | ||
|
9df5f17132 | ||
|
33f9bc52cb | ||
|
10ea166b2a | ||
|
8e39247c4d | ||
|
1ad3e7cc9d | ||
|
bcdf004082 | ||
|
57bbec4ffd | ||
|
96168929ff | ||
|
2c611790db | ||
|
2dedad1cf2 | ||
|
662f72fde8 | ||
|
4cb432e497 | ||
|
e09b123a91 | ||
|
601f10a6fb | ||
|
aae75ce52f | ||
|
5168d715ce | ||
|
d4bf38f428 | ||
|
2a9e582db5 | ||
|
2d5b25cfad | ||
|
9fe04ac5b8 | ||
|
cb32124fd4 | ||
|
1690a0b2cf | ||
|
daafddbe71 | ||
|
3bd4a4ccd3 | ||
|
54e23a2c55 | ||
|
76844b1572 | ||
|
49fbfe6811 | ||
|
105f3dd93d | ||
|
3364868365 | ||
|
39bd437f75 | ||
|
4254f46065 | ||
|
6e6b04c57e | ||
|
7a1322baf7 | ||
|
16a31e1716 | ||
|
a77637b751 | ||
|
e4282e5f29 | ||
|
719e254bb4 | ||
|
33b170077e | ||
|
623e9257a5 | ||
|
dd0d2e8101 | ||
|
0ce787f20b | ||
|
fd065dbbb9 | ||
|
5ea917f74b | ||
|
82e0f4a1a9 | ||
|
e8024688f4 | ||
|
ed7d1927f5 | ||
|
6e805beeed | ||
|
ee8e369294 | ||
|
cc7545b31f | ||
|
0b6af0f2b2 | ||
|
a251545e90 | ||
|
abfd9b8fdc | ||
|
84a27d23fd | ||
|
8f1cd11bbb | ||
|
a71cc5a942 | ||
|
4ca2a4e8b1 | ||
|
840742ce71 | ||
|
4396390409 | ||
|
7024ccb244 | ||
|
10f480b88d | ||
|
99e5a8f2fa | ||
|
243a714586 | ||
|
ab2001cd7f | ||
|
4bbb60cc65 | ||
|
214e0efcd9 | ||
|
74040c5563 | ||
|
0c628905de | ||
|
7837d1d6d6 | ||
|
1c94a7ddc7 | ||
|
7e909de31c | ||
|
d4caad1665 | ||
|
9a4d37b5cc | ||
|
ad8809196f | ||
|
b1c2bccdd0 | ||
|
b8fad693f3 | ||
|
d6cd3f5719 | ||
|
1216dde9c5 | ||
|
cb00a668fe | ||
|
1b1a9bf3dd | ||
|
ec786af42a | ||
|
e65070793d | ||
|
27f7fadb3d | ||
|
e776ff4d9d | ||
|
4c882e8f92 | ||
|
2673f6715a | ||
|
12ea262ebc | ||
|
781a477056 | ||
|
9cc35644a3 | ||
|
71aac37ec7 | ||
|
39d1fc939a | ||
|
221e9b85df | ||
|
34e4674ddd | ||
|
f0f98ce019 | ||
|
f6ad06b82b | ||
|
1f5f8bb9ca | ||
|
ae98185c9d | ||
|
e59f2bba0a | ||
|
bb57b6f9c8 | ||
|
b3e6ff68af | ||
|
e32e006b85 | ||
|
96f041a773 | ||
|
46854b4b84 | ||
|
836bf4e11e | ||
|
1ef26e6c12 | ||
|
80bc3af5fa | ||
|
d5cb315ff4 | ||
|
27905064e0 | ||
|
c61af45216 | ||
|
6c4dd54a2c | ||
|
562780a169 | ||
|
eda723c230 | ||
|
8d5d064626 | ||
|
795072312d | ||
|
0170171caa | ||
|
fbd5456360 | ||
|
ce9c5564c0 | ||
|
329ce7736c | ||
|
1f6275762e | ||
|
a4f04b704f | ||
|
8c6b15a1ed | ||
|
8597d11442 | ||
|
a4d9b4d5a8 | ||
|
91418493a6 | ||
|
ff08ed322f | ||
|
f507c6c4a9 | ||
|
985007a1c1 | ||
|
b21a6fec4a | ||
|
957413c9df | ||
|
0855a9a855 | ||
|
561dcbcfa1 | ||
|
56c6301151 | ||
|
58ffb011c7 | ||
|
35204d2348 | ||
|
cb27608c75 | ||
|
ba15fa6e2c | ||
|
fd17517675 | ||
|
85b59654ae | ||
|
e171fd2eff | ||
|
0ce59989a5 | ||
|
b8a0aa724e | ||
|
6230dfc641 | ||
|
4e4702cad8 | ||
|
4860ed9131 | ||
|
ca56865dd1 | ||
|
aea78b70f1 | ||
|
7e308d10d8 | ||
|
157feb1e4c | ||
|
a583db43c4 | ||
|
4260d2f155 | ||
|
882b143569 | ||
|
4c09fb747b | ||
|
cdb1a96664 | ||
|
73ac3f3fda | ||
|
7d7b1f305e | ||
|
b17ce12c3d | ||
|
c6c46375d6 | ||
|
374ac45505 | ||
|
38236e7815 | ||
|
f64268efdb | ||
|
e6995cbdd4 | ||
|
0169396d7d | ||
|
042c57f9b8 | ||
|
6899b5b637 | ||
|
3384a0caa0 | ||
|
b525259bec | ||
|
9ddcaffebf | ||
|
79a8652308 | ||
|
9832f1e8e8 | ||
|
8fc1f3c1aa | ||
|
a1f5493b0a | ||
|
65242dfb47 | ||
|
5895c69a91 | ||
|
00423f8ea1 | ||
|
70c9418a5e | ||
|
4d86f5f2fd | ||
|
fbf29f6f1e | ||
|
779b5db363 | ||
|
40b1862cc3 | ||
|
9f0cef7040 | ||
|
8d0410d961 | ||
|
3d57d72a7e | ||
|
7516a1280e | ||
|
92c6d59984 | ||
|
981393fefb | ||
|
d93199259a | ||
|
b226ab5e4b | ||
|
092761c118 | ||
|
2917d4e4d6 | ||
|
12a0b3c164 | ||
|
4ebaa349c3 | ||
|
ca8b69e377 | ||
|
515524584f | ||
|
1e4064170f | ||
|
bbef1a541b | ||
|
5245ce58e7 | ||
|
7316d0a01e | ||
|
ac92815bd1 | ||
|
27d9f092ee | ||
|
4b8e1a72e1 | ||
|
603068564b | ||
|
2dc2494b22 | ||
|
8866ad32d7 | ||
|
ec1195526a | ||
|
9504bd99a7 | ||
|
6afc5824c4 | ||
|
0046a3d697 | ||
|
8a66726dad | ||
|
7ba60a0fb2 | ||
|
99f1180e01 | ||
|
01fe4c4d70 | ||
|
8d9b5eb0d5 | ||
|
c5286022f0 | ||
|
11342381ef | ||
|
5512439d36 | ||
|
bf8389a7ec | ||
|
cc2653e602 | ||
|
8b254212af | ||
|
a8390ad451 | ||
|
d4a423b382 | ||
|
93c6216269 | ||
|
de7a572329 | ||
|
d561ad6acd | ||
|
80fd816d66 | ||
|
cf7417d544 | ||
|
355931a592 | ||
|
8c65285ec5 | ||
|
43c125ed32 | ||
|
0dd51340b7 | ||
|
d99b7b73ab | ||
|
5c263d78dd | ||
|
a91f59ba04 | ||
|
f150a8212b | ||
|
c8a290c680 | ||
|
229a64d408 | ||
|
aed43849c8 | ||
|
fd48fc9103 | ||
|
93131da61a | ||
|
edb92f85c5 | ||
|
639774662a | ||
|
5bbd6769b9 | ||
|
ac4d748c8c | ||
|
9e7079dff6 | ||
|
93de61e61f | ||
|
0087f72309 | ||
|
03a6a348c0 | ||
|
830fca731c | ||
|
96c2c6f4a4 | ||
|
e3209fd04a | ||
|
b12c890191 | ||
|
5cfcd65b38 | ||
|
f7c79a6de2 | ||
|
beeee7c84b | ||
|
fb2ed9a7ac | ||
|
f63cd57567 | ||
|
c89f28ffb2 | ||
|
8788fb974d | ||
|
5bfb8fe294 | ||
|
64e074840b | ||
|
137d804cfa | ||
|
c2a67a03a4 | ||
|
5c4ca79888 | ||
|
0bb47200c7 | ||
|
f18808b4d7 | ||
|
9e9dc1defd | ||
|
713248805c | ||
|
5a9cf0c978 | ||
|
507ddc2d4a | ||
|
9a80ff7673 | ||
|
a2f3b43683 | ||
|
10b07c35a0 | ||
|
7997435003 | ||
|
3707b4e2ca | ||
|
276c526cef | ||
|
91ab4726ad | ||
|
b39a3ab42e | ||
|
5deabfae9d | ||
|
f6c6e92483 | ||
|
a9b8871177 | ||
|
da9fdf1b18 | ||
|
bd8d71c420 | ||
|
e3b67fe30b | ||
|
6eae151e78 | ||
|
6105d7bea9 | ||
|
a9b3882bf6 | ||
|
924a4f8c94 | ||
|
6e7aa01437 | ||
|
d00a23752e | ||
|
cc77afbf66 | ||
|
f10c67d3fa | ||
|
ad1c4bf790 | ||
|
bb0955f809 | ||
|
70bb1004c1 | ||
|
b746321bad | ||
|
6fd14c9ebc | ||
|
ed80fe517d | ||
|
44452c9fcd | ||
|
79c97ac512 | ||
|
f7f363ce25 | ||
|
4651c45b2f | ||
|
c1afb3d5d1 | ||
|
b4ceaefeab | ||
|
bff663d4fa | ||
|
5dced8b6bd | ||
|
9911233038 | ||
|
21fa0267f6 | ||
|
2054c577f3 | ||
|
1ce65d7f87 | ||
|
17fa463bc8 | ||
|
a9702c63d2 | ||
|
fa66f10075 | ||
|
9cd4b5d3b8 | ||
|
e35d6a676a | ||
|
407394b7fa | ||
|
98b9f1b1ca | ||
|
672e798e7c | ||
|
2f048d8f88 | ||
|
ad2ee0e9bc | ||
|
c4d9ba24d3 | ||
|
8e67e5dd18 | ||
|
79b511b44d | ||
|
d0413aef55 | ||
|
6d45886e1c | ||
|
4cc80162ca | ||
|
593c9447d8 | ||
|
79a53c68b0 | ||
|
bfd8f6c3ff | ||
|
8628619578 | ||
|
f5593860cf | ||
|
7ba86f032a | ||
|
33e5a9c2ef | ||
|
77c48f2c48 | ||
|
211e1c2ce9 | ||
|
80d19fa497 | ||
|
9953d0d0ed | ||
|
16e3723043 | ||
|
909c3a667a | ||
|
6998e846f9 | ||
|
d27acfa64f | ||
|
fcca75ee23 | ||
|
deb86d2e87 | ||
|
79a231f1dc | ||
|
ff0b0f293b | ||
|
bc8a88c351 | ||
|
344bc0e3fe | ||
|
4975406e66 | ||
|
182dc2a098 | ||
|
06f2ca1379 | ||
|
f187bffc11 | ||
|
b699701b5c | ||
|
a9493db584 | ||
|
9726c8ae07 | ||
|
bad45799b9 | ||
|
89e97748bc | ||
|
116f7d0575 | ||
|
a858e89ca1 | ||
|
8bfcb1d9d8 | ||
|
5068544824 | ||
|
6ded62a9fa | ||
|
506690a897 | ||
|
5bbb3f28b1 | ||
|
33c30e27fa | ||
|
9f44975b4a | ||
|
95c00a1cce | ||
|
cf252b060c | ||
|
a89e8d0434 | ||
|
4b3749673e | ||
|
5bd8247835 | ||
|
0f721d971c | ||
|
2b740a1ab6 | ||
|
f050fc1e4a | ||
|
eeb9785651 | ||
|
d51e1a4dfb | ||
|
89daabb24f | ||
|
1b52124bb8 | ||
|
cbad7de1c8 | ||
|
af39632d3e | ||
|
65239e4034 | ||
|
f3734bbb53 | ||
|
0dd9809166 | ||
|
f9be66d017 | ||
|
2f7856e521 | ||
|
9ff6e9e1b7 | ||
|
ebcb9faf53 | ||
|
f4f48b919e | ||
|
aed16d0d9e | ||
|
04225de7ef | ||
|
756e975c34 | ||
|
aa753cc4cf | ||
|
865e0fa084 | ||
|
d22ac74646 | ||
|
fff3a5eefa | ||
|
613c17bca1 | ||
|
ccd71d6072 | ||
|
119d9547ff | ||
|
5e573da534 | ||
|
52020aacdb | ||
|
5d578f6966 | ||
|
33a2cfacd3 | ||
|
c179885d8b | ||
|
6326c41805 | ||
|
ff63ae0e73 | ||
|
9c7cae4b96 | ||
|
c11cede1d0 | ||
|
c0f3e9707e | ||
|
70a65d9fd4 | ||
|
cbca800f16 | ||
|
47f45f42cc | ||
|
cea16719e8 | ||
|
ba269b244a | ||
|
b80ab1e519 | ||
|
539d2e7322 | ||
|
491233b6f7 | ||
|
b595fa061e | ||
|
b133de8961 | ||
|
d43b699e1a | ||
|
e8b79e6e3b | ||
|
3731fdce0e | ||
|
162973c8df | ||
|
d5bb908f03 | ||
|
e429455183 | ||
|
6ef8b71d91 | ||
|
cdea53b096 | ||
|
a62365d2b0 | ||
|
05690c66e0 | ||
|
81706b2f7f | ||
|
3bae8c9d7a | ||
|
ed3c04ab67 | ||
|
98f339fed9 | ||
|
7083d7dd72 | ||
|
c6e712ee7b | ||
|
21401430b2 | ||
|
1a5b0d2e82 | ||
|
4dc15f99a8 | ||
|
376057b798 | ||
|
b9558bdf91 | ||
|
cc779b8ce5 | ||
|
dc6fba26d8 | ||
|
0022468018 | ||
|
da8d102cca | ||
|
28d0daf875 | ||
|
53061be871 | ||
|
c78c20c06e | ||
|
df72019e1d | ||
|
24acbcccc6 | ||
|
c6a0ccf368 | ||
|
e6398d6b75 | ||
|
4e494e53cd | ||
|
12f503932e | ||
|
56d1dd2905 | ||
|
4e12ab1a06 | ||
|
ed4634acf0 | ||
|
c1e0b4d1f5 | ||
|
96a6793d7b | ||
|
73e51e3efc | ||
|
9019edb045 | ||
|
44b1f2f955 | ||
|
681fd3d97c | ||
|
e3243f7fc1 | ||
|
e9c10d719d | ||
|
e3ca25c4f5 | ||
|
0da00efa8a | ||
|
22369717b5 | ||
|
821913788d | ||
|
540a410941 | ||
|
0b0ca4f92f | ||
|
0c1c65112a | ||
|
468220cde7 | ||
|
4713fd96bf | ||
|
d29fc9f2d3 | ||
|
95b3afd148 | ||
|
83088bbe5a | ||
|
66b30c33c8 | ||
|
cb9df953fb | ||
|
bfc6cd04a6 | ||
|
7df5372d4d | ||
|
8115b4b6e6 | ||
|
cee5ea03ae | ||
|
3ad7701ad7 | ||
|
6fec56eeaa | ||
|
c11a0192c0 | ||
|
e15968bc03 | ||
|
bda92a9ab4 | ||
|
3b0856bf8e | ||
|
b8a3bda1ab | ||
|
48fffc3dcf | ||
|
9c9695546c | ||
|
3702ccd2ba | ||
|
bdfe5639ee | ||
|
8f42167fce | ||
|
0d6642c32c | ||
|
10bf3e56fc | ||
|
bee7025fbb | ||
|
f57ece5ca8 | ||
|
e44ff1e303 | ||
|
6e68f9a224 | ||
|
551e1e7d18 | ||
|
3c821fa904 | ||
|
ec2021d6f2 | ||
|
555754b6e6 | ||
|
6784caab9c | ||
|
d1d26a98af | ||
|
ac9f138fc0 | ||
|
5f1cd97865 | ||
|
6e013e1737 | ||
|
41bd516ca9 | ||
|
37a267aa7c | ||
|
0a87486f65 | ||
|
df3fc38054 | ||
|
11dacbab81 | ||
|
b459668238 | ||
|
d86d652686 | ||
|
96ed30ccc4 | ||
|
37a990368c | ||
|
6736bebc9c | ||
|
10d196596c | ||
|
49596dcea3 | ||
|
df35da5571 | ||
|
24a92d5a1e | ||
|
07a59e63a6 | ||
|
fb2401d0b1 | ||
|
2beff8d4cd | ||
|
d214ef34df | ||
|
82ac302843 | ||
|
38317e6033 | ||
|
d8e28d7be9 | ||
|
38fdfb27e4 | ||
|
1d1dc8b1fd | ||
|
2d38786d02 | ||
|
b346a73243 | ||
|
4fe3b409d2 | ||
|
bc45c0ce50 | ||
|
4641153df0 | ||
|
0a04ff9aa6 | ||
|
ce3fd43389 | ||
|
343b8bf08d | ||
|
29088acdb3 | ||
|
3f9e7a74d6 | ||
|
3c226002a0 | ||
|
d99a2f8d14 | ||
|
3236d87323 | ||
|
e36e67c54c | ||
|
837caabcec | ||
|
f1f8f51805 | ||
|
580ecc9c44 | ||
|
6c4f389342 | ||
|
5b851f1cb7 | ||
|
ffd2a762af | ||
|
8e0f5802f9 | ||
|
95df3e7e2b | ||
|
d05af1cb04 | ||
|
88ecfa3678 | ||
|
830c38f50b | ||
|
e9e5d680a1 | ||
|
f98b595d85 | ||
|
b18a873cf7 | ||
|
2eb417ab05 | ||
|
2f7f86b8bb | ||
|
27bc43c24c | ||
|
43d6a29ff3 | ||
|
f1b11df781 | ||
|
83d937b842 | ||
|
49b7726ac8 | ||
|
fd2d9287e7 | ||
|
674aea97a8 | ||
|
fed549f647 | ||
|
4519dec7eb | ||
|
62d9c81420 | ||
|
3547926c25 | ||
|
13f78831f0 | ||
|
36d841b884 | ||
|
c89a107ca6 | ||
|
ff1c307ca0 | ||
|
91a4195537 | ||
|
d6a08a9249 | ||
|
d19e6d290f | ||
|
e6415a47ea | ||
|
d173a8d15f | ||
|
c224a4b813 | ||
|
edd95464ea | ||
|
ea13f1c879 | ||
|
f1376eac82 | ||
|
83cc88060a | ||
|
d8d6358d15 | ||
|
0a52651e40 | ||
|
a5f4413f6c | ||
|
5af56f6b5d | ||
|
6fd47594d4 | ||
|
85414fa92e | ||
|
a9a1532e01 | ||
|
f44f37629a | ||
|
7c2800f47f | ||
|
617a03abf6 | ||
|
c02defe142 | ||
|
300040cee9 | ||
|
e730a74f10 | ||
|
f767770739 | ||
|
6c5a900935 | ||
|
72d742f8c7 | ||
|
d91b34c4c8 | ||
|
3146ede690 | ||
|
4b7bd2ba06 | ||
|
d19a316da1 | ||
|
50e07c4358 | ||
|
ad0dcc726a | ||
|
d96c276fad | ||
|
967eb8ae76 | ||
|
47f1491069 | ||
|
12fb26fb38 | ||
|
72163b4f8b | ||
|
4d8f09c96c | ||
|
265e9d4879 | ||
|
e46eeaa5d3 | ||
|
2b050ed320 | ||
|
736d3ab842 | ||
|
7ae006af50 | ||
|
79d58fb178 | ||
|
74e72ed7a0 | ||
|
8e492cf98d | ||
|
cb37bc56a6 | ||
|
fd89acc112 | ||
|
56338c22dd | ||
|
f08b10b2c5 | ||
|
c690bada0d | ||
|
9f44ec1d70 | ||
|
11986ec9ef | ||
|
31fa43b5bd | ||
|
0244fea222 | ||
|
00ada6748a | ||
|
ba5c7a530c | ||
|
eb90268cf5 | ||
|
06b5563ff6 | ||
|
002332496a | ||
|
a4b50d2a78 | ||
|
911ee97122 | ||
|
e71063222b | ||
|
761b8031f6 | ||
|
cc4228ed26 | ||
|
e196b01038 | ||
|
f78446c1e7 | ||
|
c28a20dce3 | ||
|
9678ab899e | ||
|
d1e49624c7 | ||
|
5b83ba9320 | ||
|
a6bf921d64 | ||
|
a75e2d5fa8 | ||
|
f2fd9a0469 | ||
|
f6a24e964e | ||
|
e72593304f | ||
|
a19642cd8e | ||
|
3cbf239a7b | ||
|
5b1d610dd3 | ||
|
279262c103 | ||
|
de082420ce | ||
|
99f2052ad8 | ||
|
8d7e9baf85 | ||
|
33648963c4 | ||
|
96f38637b5 | ||
|
c62b9949f2 | ||
|
5ff420f4f0 | ||
|
0390994e14 | ||
|
8dc8c209d3 | ||
|
a63e79bad5 | ||
|
c160f5dff1 | ||
|
d06a0af947 | ||
|
67be89bad2 | ||
|
2d80c6bc4e | ||
|
49a0555704 | ||
|
30f7464797 | ||
|
64a0c53405 | ||
|
12f495c9b8 | ||
|
b75fd18959 | ||
|
22a03abdc4 | ||
|
457a6a2dd0 | ||
|
7e182ed662 | ||
|
9d83bafa7b | ||
|
4438d513a2 | ||
|
a416e76e54 | ||
|
4e355665ed | ||
|
e0f99e3b17 | ||
|
ed78e54bce | ||
|
8983bfa36c | ||
|
c64004fad6 | ||
|
6687e2cad4 | ||
|
d186de7472 | ||
|
3a961e0803 | ||
|
023b32367b | ||
|
8212b7e219 | ||
|
9b12f295d1 | ||
|
1369d1fa2f | ||
|
fade3d1d0d | ||
|
2478ec41f2 | ||
|
a40ee20c20 | ||
|
0c43bffb2e | ||
|
00e8cd4fb9 | ||
|
4bc0dc204a | ||
|
ab0c00df74 | ||
|
6283598da0 | ||
|
3f3cac0489 | ||
|
ef3baee35b | ||
|
150d557d39 | ||
|
792042ea09 | ||
|
fbc8866394 | ||
|
9cccdc1c9d | ||
|
7b08a55294 | ||
|
d133aeb88c | ||
|
077c0eea98 | ||
|
eed4bf175f | ||
|
8a4ecf616a | ||
|
4ce1ab2665 | ||
|
02de636955 | ||
|
04234318e5 | ||
|
a44f49fa34 | ||
|
4b7dcf634f | ||
|
0dce0ad0bb | ||
|
2e2da16a6b | ||
|
dbfd7e6703 | ||
|
dba9a47c63 | ||
|
e5874e438a | ||
|
aa12a73a05 | ||
|
105118f831 | ||
|
fd306e1b3d | ||
|
ebc670064d | ||
|
5b3d999aaa | ||
|
c54cde01e1 | ||
|
09cbd146e8 | ||
|
a57ad92d51 | ||
|
28ea600e0d | ||
|
a7678241f2 | ||
|
26beb97f1e | ||
|
227c93b014 | ||
|
48b339075b | ||
|
63a937c096 | ||
|
9b3af7cfc9 | ||
|
bac60677d5 | ||
|
5ed1f34df3 | ||
|
61bc443bdf | ||
|
cd6ba5265b | ||
|
c590bbdb9b | ||
|
8e0f7ca373 | ||
|
3e212655eb | ||
|
6ebba4e3dd | ||
|
60840403ff | ||
|
664bccf8a5 | ||
|
c66849834a | ||
|
83e94df7fa | ||
|
d08bbc8b02 | ||
|
a92bc36782 | ||
|
18e8b8cd11 | ||
|
c077279c03 | ||
|
48c3e2ce89 | ||
|
8fd6f5c5ad | ||
|
0e93c40921 | ||
|
c64354ba62 | ||
|
16db1356ea | ||
|
75b2b5146d | ||
|
dc37e9236b | ||
|
6acaaf9347 | ||
|
4120170dae | ||
|
9e0086742c | ||
|
78fda0ca9d | ||
|
17a0c17dde | ||
|
9c72c61fc6 | ||
|
35c77c10c4 | ||
|
85af3767b7 | ||
|
96efeaefed | ||
|
ba86834c6b | ||
|
c2daab4211 | ||
|
0db38567ed | ||
|
3212bc2266 | ||
|
d77e18f810 | ||
|
741f9fabbb | ||
|
2ffc89d863 | ||
|
c479073583 | ||
|
10f7673be7 | ||
|
6406e97d4b | ||
|
440c5f7516 | ||
|
6922c72174 | ||
|
c64c204878 | ||
|
e2d8c73761 | ||
|
1bf2523437 | ||
|
65fd5489a3 | ||
|
36f0283d96 | ||
|
a131d28b3e | ||
|
37d35c9a7f | ||
|
ecf356f6eb | ||
|
407e065b90 | ||
|
10841ab0a1 | ||
|
54fb28c912 | ||
|
a78d88fc0a | ||
|
7a44f16372 | ||
|
1a8c31f926 | ||
|
4893429d73 | ||
|
664c05757e | ||
|
2bf36c74e3 | ||
|
9dccc398b4 | ||
|
cd16d3f19b | ||
|
581dbda2c1 | ||
|
cd1171eb9d | ||
|
cfda76b2d4 | ||
|
50810065a2 | ||
|
1d2da0cf95 | ||
|
a6636b8188 | ||
|
9a303ec923 | ||
|
0391684334 | ||
|
8e90864e1f | ||
|
57f3b132cb | ||
|
3d5f8ed7e7 | ||
|
79b4c76a09 | ||
|
ed992ddc72 | ||
|
877c9bec97 | ||
|
5fe270fc9c | ||
|
8db5b76676 | ||
|
cfa52d83b4 | ||
|
fcc095a239 | ||
|
825c2ca989 | ||
|
c8ddb2e85e | ||
|
c18a614e72 | ||
|
56e52fd917 | ||
|
6213cc73c0 | ||
|
983fb598bd | ||
|
38f1bbdab2 | ||
|
820bc644b6 | ||
|
3a040aaee2 | ||
|
31d976ac71 | ||
|
fd2aaa8c2b | ||
|
3caf81d07e | ||
|
cd1693548a | ||
|
d3d8ea1f2d | ||
|
78f09e25ae | ||
|
15fe9edfbd | ||
|
986d9f92e9 | ||
|
d509b3324c | ||
|
7dad08654b | ||
|
f187216f3c | ||
|
af83073965 | ||
|
c296b076cc | ||
|
7d463cc9bc | ||
|
2efa67e587 | ||
|
91e444ca73 | ||
|
f2d927079d | ||
|
64cc337b9d | ||
|
f07c23fdda | ||
|
ec9b6aa993 | ||
|
b3288c5acc | ||
|
a584cb876b | ||
|
9119cf059f | ||
|
26eaa843b3 | ||
|
14e56b8f7d | ||
|
8ee23c1e6a | ||
|
4e3c730940 | ||
|
ecd41d3826 | ||
|
d91f3d2de6 | ||
|
cb3501ea17 | ||
|
3253a252fb | ||
|
5ff5f762d4 | ||
|
32a982c287 | ||
|
a6ae709fe9 | ||
|
14c4233cdc | ||
|
2228a1b59f | ||
|
cdd36ce034 | ||
|
45360e8d18 | ||
|
57fc623995 | ||
|
da7edde0a2 | ||
|
6564146e91 | ||
|
90c502b16a | ||
|
b2bc92eebb | ||
|
84373a3f44 | ||
|
d9cee9f2f1 | ||
|
47c9404518 | ||
|
ed21744402 | ||
|
c3b4e4f2f9 | ||
|
45c0761b74 | ||
|
fee155ba1e | ||
|
2fbb434099 | ||
|
a8c251f6f5 | ||
|
99f82d9691 | ||
|
303a858423 | ||
|
83ed80e6d8 | ||
|
b14e557c36 | ||
|
2ce3894562 | ||
|
fd99d6d7d8 | ||
|
eff6942f82 | ||
|
e0ac8ee8b8 | ||
|
0dce0342b3 | ||
|
2dc52da30c | ||
|
c425701c20 | ||
|
50279e3183 | ||
|
b1067e9a58 | ||
|
35674ad401 | ||
|
b79a5fd4f4 | ||
|
f66bd4ffe9 | ||
|
d6f0e065aa | ||
|
0c2116a95d | ||
|
c487add2cd | ||
|
2eeeefdf49 | ||
|
1d6d8102b3 | ||
|
4026ddb34f | ||
|
22b64a3e9a | ||
|
0f8c3bcc17 | ||
|
f56991f077 | ||
|
0b66419927 | ||
|
235f2c78f8 | ||
|
e9ae76da9c | ||
|
dff0b5dce5 | ||
|
c07b09c727 | ||
|
26c0fee56d | ||
|
55ed7373f5 | ||
|
1f53945031 | ||
|
e9b9406bf1 | ||
|
c14eb050b1 | ||
|
ed9adf8367 | ||
|
881b063d45 | ||
|
4de421d663 | ||
|
a9fe21e583 | ||
|
78dfac52a7 | ||
|
bac6d271ca | ||
|
e3242f0deb | ||
|
a5df52ce28 | ||
|
f449b99548 | ||
|
db3f60b4b1 | ||
|
3ecc73b42a | ||
|
7242f1c2f1 | ||
|
79b11623b5 | ||
|
b2a2fe2710 | ||
|
4aff1ab017 | ||
|
b83872d5f0 | ||
|
ff6810f1f4 | ||
|
0f0ad7ddd3 | ||
|
9b843f39af | ||
|
40e70bb461 | ||
|
79bea3b9eb | ||
|
71a7f45ff1 | ||
|
f964721d8e | ||
|
090d620cbf | ||
|
bce49e04cd | ||
|
d31818c1b3 | ||
|
6ceb2c4824 | ||
|
f4af074148 | ||
|
2c50cd16b1 | ||
|
5319f03592 | ||
|
2f96b6ef55 | ||
|
4a799786f5 | ||
|
8f288990de | ||
|
0d29859fab | ||
|
f1288e53b1 | ||
|
2e36ca5650 | ||
|
c6ee513ba1 | ||
|
554ece724e | ||
|
f53b711e0d | ||
|
358a7d0ec4 | ||
|
1518a08c29 | ||
|
eacdf7f55d | ||
|
590f4bee25 | ||
|
2ad7a020cf | ||
|
19a46afe7b | ||
|
cbdeb54fdb | ||
|
6c79be1c68 | ||
|
891367752b | ||
|
5989d6b82a | ||
|
62a554b5e2 | ||
|
6107fb644d | ||
|
db1152cb72 | ||
|
92d082c26a | ||
|
d127e0c39d | ||
|
bc373917b5 | ||
|
73b80b1c7d | ||
|
b91b9cb973 | ||
|
f44ccd739e | ||
|
c4ac03949c | ||
|
0a7c421faa | ||
|
6c1cbccff3 | ||
|
515c8ce7c2 | ||
|
84e23e1911 | ||
|
793cdf8f87 | ||
|
3c295e10e2 | ||
|
38a6c3ea61 | ||
|
fe5109fead | ||
|
c657586de3 | ||
|
e6c5ce63a0 | ||
|
2544559fb3 | ||
|
00928308c8 | ||
|
bf1ef3ce56 | ||
|
f6d7959cdc | ||
|
b1882a1d3b | ||
|
539b29e4ed | ||
|
523f4eeabf | ||
|
2177934073 | ||
|
76599af088 | ||
|
d9ba4c9c7c | ||
|
0fda2a125a | ||
|
e8b34c70c0 | ||
|
a7925eef73 | ||
|
ac82e8afd2 | ||
|
b4e5a3a6df | ||
|
d501447544 | ||
|
58b2050baf | ||
|
f4f0b36b05 | ||
|
fa07271074 | ||
|
210ef74f62 | ||
|
ece93caae3 | ||
|
41628ea511 | ||
|
f14bf0dd50 | ||
|
f83c2b32bc | ||
|
823ece9582 | ||
|
c19b52cded | ||
|
871b05b641 | ||
|
14da9806e2 | ||
|
c5a213ff68 | ||
|
43bccb1d42 | ||
|
eca20b2441 | ||
|
c0c66acad0 | ||
|
7c96ab27e0 | ||
|
a634987d1b | ||
|
d6f62bc2a5 | ||
|
206f69e3dd | ||
|
a2e25205e6 | ||
|
8b5542216e | ||
|
b3414d6534 | ||
|
b4f77d314e | ||
|
500ffa0d1d | ||
|
0e081a1c90 | ||
|
56a1cd7b41 | ||
|
65f54c854f | ||
|
bca65281b6 | ||
|
1ee29555c6 | ||
|
589cfeb0cc | ||
|
7aba03c60a | ||
|
9f4deabe08 | ||
|
d9386cd61f | ||
|
63b3def667 | ||
|
f914717dbe | ||
|
ed52aed432 | ||
|
34a703910b | ||
|
b728e062e3 | ||
|
e0ec294c1b | ||
|
460f39176c | ||
|
b619f70904 | ||
|
0713877baf | ||
|
5bb06158c7 | ||
|
43c8624b33 | ||
|
b1b27bdd0e | ||
|
d61a083039 | ||
|
6862889d8c | ||
|
04ffb951c3 | ||
|
2f67c13cda | ||
|
80d9b64e5a | ||
|
cf86fe34d5 | ||
|
d65899ef88 | ||
|
8f0e1039aa | ||
|
608d8a5d54 | ||
|
3bc7b0acee | ||
|
203c7e0cd7 | ||
|
57be0ba913 | ||
|
d24a51ce67 | ||
|
6c560679a5 | ||
|
3a8c788657 | ||
|
f8e65f5872 | ||
|
17de88e5f6 | ||
|
9516e379ea | ||
|
fe88e81d4a | ||
|
12bfece89e | ||
|
b6eb27f8a1 | ||
|
8bf39c3127 | ||
|
c81654d769 | ||
|
3994373387 | ||
|
553e55b4d1 | ||
|
95020a81c5 | ||
|
749194b27c | ||
|
b0b92c062e | ||
|
1efb6e162c | ||
|
7f97e78ba3 | ||
|
9dd48045f6 | ||
|
bae0c2593a | ||
|
92ef78a9d5 | ||
|
3866cfeabc | ||
|
023409d8cf | ||
|
f6d856d828 | ||
|
cab06c4b52 | ||
|
5d07c71dcf | ||
|
a871ce26c2 | ||
|
1580269857 | ||
|
713f6f7a59 | ||
|
8c4dff4db9 | ||
|
9df22ab4bb | ||
|
ea9e5183dc | ||
|
f7aedff418 | ||
|
f0dfb1dc02 | ||
|
4d7e46b751 | ||
|
a085b4db21 | ||
|
c9f19be25d | ||
|
28130489c7 | ||
|
9bfeb6f814 | ||
|
e8f412b8a1 | ||
|
af43890fab | ||
|
c3d7a253e4 | ||
|
58197b8853 | ||
|
000806550a | ||
|
81b8260eb2 | ||
|
d82743eeab | ||
|
a01f002b04 | ||
|
af34399135 | ||
|
e0630ceac0 | ||
|
eebb7003ca | ||
|
b8fa6f9ec8 | ||
|
879d5eb5f6 | ||
|
c40fc52ef5 | ||
|
01ff85d0ea | ||
|
35ee72aac0 | ||
|
d7b919a8a1 | ||
|
953f34f5e3 | ||
|
e9f9c7e739 | ||
|
6710f9320b | ||
|
c7dc08ef5d | ||
|
87adaee549 | ||
|
4f1de34d4c | ||
|
eb4475b4d9 | ||
|
38f193fbd5 | ||
|
9ebcb3ed52 | ||
|
83c961e255 | ||
|
fd61f07373 | ||
|
491044b0c5 | ||
|
2d9454c5b6 | ||
|
73fba6a7b4 | ||
|
3c4fbce440 | ||
|
6d4a88df9d | ||
|
4dea7131b1 | ||
|
4ad46ed4a6 | ||
|
b7587d7e2d | ||
|
b71ac4d8fa | ||
|
9e57263fb6 | ||
|
c0aa0cef62 | ||
|
880b97cc5c | ||
|
c4046990f0 | ||
|
69a9643894 | ||
|
e3c70d1bb1 | ||
|
1e3733fe8e | ||
|
54108b8f8d | ||
|
db3353feb5 | ||
|
13b4a58eaf | ||
|
67f43550ac | ||
|
f307c48dd4 | ||
|
ebd4dc0c5e | ||
|
dfb807506b | ||
|
0a08a50e11 | ||
|
a8c29f55f5 | ||
|
55a6257cee | ||
|
11f176e079 | ||
|
3e125bcccf | ||
|
7a6f3cbcf7 | ||
|
e487621075 | ||
|
e416f1024a | ||
|
e73992f5df | ||
|
312c4b1914 | ||
|
ec6677643d | ||
|
3c7f2c5bdf | ||
|
ac0c2624f0 | ||
|
8d0299e411 | ||
|
211f184066 | ||
|
8cc96e27bc | ||
|
8f98f3e6d0 | ||
|
36a26fcfd0 | ||
|
00f2947636 | ||
|
381dd5343a | ||
|
a05ce81b5b | ||
|
e1dd0b4248 | ||
|
1e99e12857 | ||
|
8d37dc5118 | ||
|
5ee4984ec8 | ||
|
a9e7c45074 | ||
|
488486a74f | ||
|
70a95fc373 | ||
|
030d9ef351 | ||
|
37c4d94109 | ||
|
eb763bb5bb | ||
|
a3dd3a830c | ||
|
69c05e63d4 | ||
|
49761382c6 | ||
|
4cff3938e7 | ||
|
2dfded7326 | ||
|
a38a03c980 | ||
|
1c42df7752 | ||
|
ffad479dad | ||
|
707397cb9d | ||
|
8af92a4091 | ||
|
e1ef093938 | ||
|
194a584e4c | ||
|
5e96e87bdc | ||
|
68cd303a59 | ||
|
ea8465f5f3 | ||
|
7993ff39a5 | ||
|
f0d5260be8 | ||
|
2a7719cdf6 | ||
|
10599aa728 | ||
|
e8d71feef1 | ||
|
bdd30e3b8f | ||
|
54a5c3e52a | ||
|
114c60cfed | ||
|
ede1fe39fc | ||
|
636474b748 | ||
|
42dcf52eb0 | ||
|
f5b16b834c | ||
|
961f821ab9 | ||
|
13881a589a | ||
|
a083047888 | ||
|
cc89a8fc77 | ||
|
19a3eef137 | ||
|
039e1dd6ad | ||
|
67b2e8378a | ||
|
cce8234c6f | ||
|
5ce2d4bcd3 | ||
|
7ff8483592 | ||
|
5e23947419 | ||
|
23eb8ead4f | ||
|
5581e0b5ba | ||
|
81a1dfd66d | ||
|
256929b78f | ||
|
e2e3f72564 | ||
|
eafb76b9b6 | ||
|
c59bb5740a | ||
|
95b116b8a1 | ||
|
f6067977fe | ||
|
b343739a71 | ||
|
5b786e5749 | ||
|
52348e399e | ||
|
879c4ffef6 | ||
|
ab29a15572 | ||
|
01ade64f3b | ||
|
493374c423 | ||
|
3656896af9 | ||
|
1528238a2f | ||
|
7d0b833aa5 | ||
|
be319f596d | ||
|
f4cacb2d16 | ||
|
43acc7a6f8 | ||
|
c0b855e7c7 | ||
|
982b480613 | ||
|
fbe60f5a52 | ||
|
b137009e6e | ||
|
e521fd9059 | ||
|
bb2e3b1078 | ||
|
7c5e7a902d | ||
|
689c817606 | ||
|
19f328bf9d | ||
|
21bafe3735 | ||
|
0ac2ce10a8 | ||
|
b193ccd951 | ||
|
ee1c598e54 | ||
|
2cbc529b67 | ||
|
1108ef9fbe | ||
|
9d16e7fd33 | ||
|
65030c2828 | ||
|
db14451d92 | ||
|
3b7098c484 | ||
|
bd24b0db95 | ||
|
6882f7fc00 | ||
|
f025554612 | ||
|
9232206947 | ||
|
3a3cce85f8 | ||
|
7259324b3b | ||
|
37aadf4dbf | ||
|
1d7ce1c794 | ||
|
ff87f07f65 | ||
|
cdce8df002 | ||
|
13c34865f2 | ||
|
053fe1e187 | ||
|
53b82dfa3f | ||
|
31e487b073 | ||
|
7e4e8339e6 | ||
|
4cdf55e7dd | ||
|
006b212189 | ||
|
668fa0d859 | ||
|
9a42e1e8c3 | ||
|
1e8f438122 | ||
|
b8aaa177c2 | ||
|
b62693cbb0 | ||
|
7eb83301b3 | ||
|
f2165201eb | ||
|
d92e0e48f6 | ||
|
a208b48c15 | ||
|
f9c5b2021d | ||
|
1c948c19af | ||
|
18207da94e | ||
|
d06df45e85 | ||
|
5ac155285b | ||
|
c3ac60f563 | ||
|
b371e24d9f | ||
|
baee076e41 | ||
|
b9cc795996 | ||
|
457534b1df | ||
|
807ceb74ad | ||
|
1b24b9d764 | ||
|
a16a6a6eeb | ||
|
83af0d7bb9 | ||
|
1f876b9088 | ||
|
47c9e75a77 | ||
|
f3cc7e9f0b | ||
|
c3a7f6e7c8 | ||
|
5d0c55b617 | ||
|
ab6ed2376f | ||
|
6f8533c7d6 | ||
|
5095514ecd | ||
|
37af93fba4 | ||
|
32e72f54b3 | ||
|
f7df0b891e | ||
|
18359fedb3 | ||
|
53fecef2d4 | ||
|
b89054685f | ||
|
c049351130 | ||
|
9d48ecea2f | ||
|
f8afe04a3b | ||
|
acbfda83c9 | ||
|
97ff707e06 | ||
|
10c6153542 | ||
|
b8f72879d3 | ||
|
099c0ddc36 | ||
|
3f81ec4d86 | ||
|
b12cf686ef | ||
|
95496a0cd7 | ||
|
bc003a547b | ||
|
cae2011d0e | ||
|
6f5f773360 | ||
|
c194568b08 | ||
|
ae33911eef | ||
|
42e6c54e8f | ||
|
b92cb753f9 | ||
|
53531bb2f3 | ||
|
ea6347b1c7 | ||
|
a7e8da4438 | ||
|
c29dc89756 | ||
|
ae8ca5356f | ||
|
878371cd9a | ||
|
0ba6f55ad4 | ||
|
8c67cc0076 | ||
|
3d4caeaa75 | ||
|
00bbede802 | ||
|
b6ff6aa4cc | ||
|
1ae112daae | ||
|
7cea0352f9 | ||
|
c1d89c5304 | ||
|
576931c21a | ||
|
d330f8a9e9 | ||
|
ed5e7d0cb6 | ||
|
7eb7d51759 | ||
|
8038d40195 | ||
|
1bde257a96 | ||
|
a35fec245d | ||
|
7839f18f58 | ||
|
f4c891abe6 | ||
|
01ef46517e | ||
|
1951130c43 | ||
|
ce7a93bcae | ||
|
672d4e591c | ||
|
848a7f4062 | ||
|
fef40cac96 | ||
|
4560d748d3 | ||
|
9fa38c5cc5 | ||
|
2aabbf0aa6 | ||
|
9ec662ccdc | ||
|
af542a8243 | ||
|
1e2fb88783 | ||
|
8adeab0ddd | ||
|
753e3e7519 | ||
|
3bd21d04d8 | ||
|
9ea30445ef | ||
|
f7c9b36cef | ||
|
37ec3fdf84 | ||
|
7581a0b549 | ||
|
3bdb05f7b4 | ||
|
7be01ab7ae | ||
|
5cbb1d99c7 | ||
|
5c5f2766b6 | ||
|
2dbe2b5f30 | ||
|
ff4bbf0a8a | ||
|
1b41a72e72 | ||
|
6503412928 | ||
|
1224144487 | ||
|
0fb26da355 | ||
|
e541636802 | ||
|
50e51cbe29 | ||
|
ae81f61958 | ||
|
e2616ba095 | ||
|
ac5caccdf9 | ||
|
2c8015c88f | ||
|
34efd91683 | ||
|
41bf1ccc07 | ||
|
ad63d3de1c | ||
|
abf8932747 | ||
|
52c8a138d3 | ||
|
6a24e0286e | ||
|
261030f51e | ||
|
bde1df0322 | ||
|
e540b26112 | ||
|
f1f1d59576 | ||
|
91bda140e9 | ||
|
ddfdf180c2 | ||
|
84c537315c | ||
|
ef2c32e2c9 | ||
|
948f75b215 | ||
|
da8ec4debf | ||
|
42002b80ed | ||
|
925c1671a6 | ||
|
3ef960c4c3 | ||
|
929cc29f77 | ||
|
1b2ce33f7a | ||
|
70d1c15b89 | ||
|
e7dfdce057 | ||
|
b67199eb07 | ||
|
e482ef4262 | ||
|
aadbf69f3a | ||
|
c14420378b | ||
|
5e282533b6 | ||
|
1127a26928 | ||
|
bb85e9c0c2 | ||
|
c8e4fad5c8 | ||
|
540687cc4b | ||
|
4d6d9181ab | ||
|
7e3a074f8b | ||
|
ae2dbb808f | ||
|
f7a2088009 | ||
|
b4d5d13205 | ||
|
4ef9d089e7 | ||
|
683fcc7f3e | ||
|
5edc0506ce | ||
|
c2183800d3 | ||
|
f9e03aa99e | ||
|
694b8de034 | ||
|
4d6eec8972 | ||
|
6e1911e686 | ||
|
fc4d18f84e | ||
|
15fa42ba9b | ||
|
de809d6013 | ||
|
46c7c7421e | ||
|
ccd4396336 | ||
|
a0afab45fb | ||
|
0d9bc188d7 | ||
|
0e30f4e817 | ||
|
9ef4e1e83f | ||
|
d3e9e19779 | ||
|
581f71e89d | ||
|
f06397023a | ||
|
dcabaa0dab | ||
|
d7546db26f | ||
|
5a7d12a9a5 | ||
|
7048080ee0 | ||
|
ed48eb38c9 | ||
|
6495bd9e5e | ||
|
cc7e3ea78c | ||
|
5723465106 | ||
|
a60f6e996a | ||
|
a187e0ec33 | ||
|
9a5934dd33 | ||
|
dca5bea744 | ||
|
f769d84443 | ||
|
638d56c707 | ||
|
5904a5955f | ||
|
bc6e89b503 | ||
|
3acdccb339 | ||
|
20357ce5c4 | ||
|
824e713c51 | ||
|
bf48617fc6 | ||
|
cd95fc41e4 | ||
|
6a33c41091 | ||
|
2aa24f0a0d | ||
|
5ceed4096e | ||
|
03a4194047 | ||
|
d56281dca7 | ||
|
5c015a7444 | ||
|
57ef0b59ab | ||
|
b1d4031a76 | ||
|
c40a686cff | ||
|
d1bb96cec0 | ||
|
0241d66f8e | ||
|
e7b8b90b0a | ||
|
53ca86dc6c | ||
|
2a83e93265 | ||
|
c4967a2871 | ||
|
afc69c77bd | ||
|
e2bf3e7097 | ||
|
5e5ce614ef | ||
|
722f367690 | ||
|
586b3d8caa | ||
|
3de0f7bf37 | ||
|
3d9350091e | ||
|
4160688f83 | ||
|
8c539426e6 | ||
|
ecc9b59ad1 | ||
|
cb0fefa74d | ||
|
a2a2315f9c | ||
|
cb6376670b | ||
|
ab87937e5b |
911
.editorconfig
911
.editorconfig
@@ -1,14 +1,901 @@
|
||||
# For ktlint configuration. Ref: https://ktlint.github.io/
|
||||
[*]
|
||||
charset = utf-8
|
||||
end_of_line = lf
|
||||
indent_size = 4
|
||||
indent_style = space
|
||||
insert_final_newline = true
|
||||
max_line_length = 160
|
||||
tab_width = 4
|
||||
ij_continuation_indent_size = 8
|
||||
ij_formatter_off_tag = @formatter:off
|
||||
ij_formatter_on_tag = @formatter:on
|
||||
ij_formatter_tags_enabled = false
|
||||
ij_smart_tabs = false
|
||||
ij_visual_guides = none
|
||||
ij_wrap_on_typing = false
|
||||
|
||||
[*.{kt,kts}]
|
||||
# possible values: number (e.g. 2), "unset" (makes ktlint ignore indentation completely)
|
||||
indent_size=unset
|
||||
# true (recommended) / false
|
||||
insert_final_newline=true
|
||||
# possible values: number (e.g. 120) (package name, imports & comments are ignored), "off"
|
||||
# it's automatically set to 100 on `ktlint --android ...` (per Android Kotlin Style Guide)
|
||||
max_line_length=off
|
||||
[*.java]
|
||||
ij_java_align_consecutive_assignments = false
|
||||
ij_java_align_consecutive_variable_declarations = false
|
||||
ij_java_align_group_field_declarations = false
|
||||
ij_java_align_multiline_annotation_parameters = false
|
||||
ij_java_align_multiline_array_initializer_expression = false
|
||||
ij_java_align_multiline_assignment = false
|
||||
ij_java_align_multiline_binary_operation = false
|
||||
ij_java_align_multiline_chained_methods = false
|
||||
ij_java_align_multiline_extends_list = false
|
||||
ij_java_align_multiline_for = true
|
||||
ij_java_align_multiline_method_parentheses = false
|
||||
ij_java_align_multiline_parameters = true
|
||||
ij_java_align_multiline_parameters_in_calls = false
|
||||
ij_java_align_multiline_parenthesized_expression = false
|
||||
ij_java_align_multiline_records = true
|
||||
ij_java_align_multiline_resources = true
|
||||
ij_java_align_multiline_ternary_operation = false
|
||||
ij_java_align_multiline_text_blocks = false
|
||||
ij_java_align_multiline_throws_list = false
|
||||
ij_java_align_subsequent_simple_methods = false
|
||||
ij_java_align_throws_keyword = false
|
||||
ij_java_annotation_parameter_wrap = off
|
||||
ij_java_array_initializer_new_line_after_left_brace = false
|
||||
ij_java_array_initializer_right_brace_on_new_line = false
|
||||
ij_java_array_initializer_wrap = off
|
||||
ij_java_assert_statement_colon_on_next_line = false
|
||||
ij_java_assert_statement_wrap = off
|
||||
ij_java_assignment_wrap = off
|
||||
ij_java_binary_operation_sign_on_next_line = false
|
||||
ij_java_binary_operation_wrap = off
|
||||
ij_java_blank_lines_after_anonymous_class_header = 0
|
||||
ij_java_blank_lines_after_class_header = 0
|
||||
ij_java_blank_lines_after_imports = 1
|
||||
ij_java_blank_lines_after_package = 1
|
||||
ij_java_blank_lines_around_class = 1
|
||||
ij_java_blank_lines_around_field = 0
|
||||
ij_java_blank_lines_around_field_in_interface = 0
|
||||
ij_java_blank_lines_around_initializer = 1
|
||||
ij_java_blank_lines_around_method = 1
|
||||
ij_java_blank_lines_around_method_in_interface = 1
|
||||
ij_java_blank_lines_before_class_end = 0
|
||||
ij_java_blank_lines_before_imports = 1
|
||||
ij_java_blank_lines_before_method_body = 0
|
||||
ij_java_blank_lines_before_package = 0
|
||||
ij_java_block_brace_style = end_of_line
|
||||
ij_java_block_comment_at_first_column = true
|
||||
ij_java_builder_methods = none
|
||||
ij_java_call_parameters_new_line_after_left_paren = false
|
||||
ij_java_call_parameters_right_paren_on_new_line = false
|
||||
ij_java_call_parameters_wrap = off
|
||||
ij_java_case_statement_on_separate_line = true
|
||||
ij_java_catch_on_new_line = false
|
||||
ij_java_class_annotation_wrap = split_into_lines
|
||||
ij_java_class_brace_style = end_of_line
|
||||
ij_java_class_count_to_use_import_on_demand = 99
|
||||
ij_java_class_names_in_javadoc = 1
|
||||
ij_java_do_not_indent_top_level_class_members = false
|
||||
ij_java_do_not_wrap_after_single_annotation = false
|
||||
ij_java_do_while_brace_force = never
|
||||
ij_java_doc_add_blank_line_after_description = true
|
||||
ij_java_doc_add_blank_line_after_param_comments = false
|
||||
ij_java_doc_add_blank_line_after_return = false
|
||||
ij_java_doc_add_p_tag_on_empty_lines = true
|
||||
ij_java_doc_align_exception_comments = true
|
||||
ij_java_doc_align_param_comments = true
|
||||
ij_java_doc_do_not_wrap_if_one_line = false
|
||||
ij_java_doc_enable_formatting = true
|
||||
ij_java_doc_enable_leading_asterisks = true
|
||||
ij_java_doc_indent_on_continuation = false
|
||||
ij_java_doc_keep_empty_lines = true
|
||||
ij_java_doc_keep_empty_parameter_tag = true
|
||||
ij_java_doc_keep_empty_return_tag = true
|
||||
ij_java_doc_keep_empty_throws_tag = true
|
||||
ij_java_doc_keep_invalid_tags = true
|
||||
ij_java_doc_param_description_on_new_line = false
|
||||
ij_java_doc_preserve_line_breaks = false
|
||||
ij_java_doc_use_throws_not_exception_tag = true
|
||||
ij_java_else_on_new_line = false
|
||||
ij_java_enum_constants_wrap = off
|
||||
ij_java_extends_keyword_wrap = off
|
||||
ij_java_extends_list_wrap = off
|
||||
ij_java_field_annotation_wrap = split_into_lines
|
||||
ij_java_finally_on_new_line = false
|
||||
ij_java_for_brace_force = never
|
||||
ij_java_for_statement_new_line_after_left_paren = false
|
||||
ij_java_for_statement_right_paren_on_new_line = false
|
||||
ij_java_for_statement_wrap = off
|
||||
ij_java_generate_final_locals = false
|
||||
ij_java_generate_final_parameters = false
|
||||
ij_java_if_brace_force = never
|
||||
ij_java_imports_layout = $android.**,$androidx.**,$com.**,$junit.**,$net.**,$org.**,$java.**,$javax.**,$*,|,android.**,|,androidx.**,|,com.**,|,junit.**,|,net.**,|,org.**,|,java.**,|,javax.**,|,*,|
|
||||
ij_java_indent_case_from_switch = true
|
||||
ij_java_insert_inner_class_imports = false
|
||||
ij_java_insert_override_annotation = true
|
||||
ij_java_keep_blank_lines_before_right_brace = 2
|
||||
ij_java_keep_blank_lines_between_package_declaration_and_header = 2
|
||||
ij_java_keep_blank_lines_in_code = 2
|
||||
ij_java_keep_blank_lines_in_declarations = 2
|
||||
ij_java_keep_builder_methods_indents = false
|
||||
ij_java_keep_control_statement_in_one_line = true
|
||||
ij_java_keep_first_column_comment = true
|
||||
ij_java_keep_indents_on_empty_lines = false
|
||||
ij_java_keep_line_breaks = true
|
||||
ij_java_keep_multiple_expressions_in_one_line = false
|
||||
ij_java_keep_simple_blocks_in_one_line = false
|
||||
ij_java_keep_simple_classes_in_one_line = false
|
||||
ij_java_keep_simple_lambdas_in_one_line = false
|
||||
ij_java_keep_simple_methods_in_one_line = false
|
||||
ij_java_label_indent_absolute = false
|
||||
ij_java_label_indent_size = 0
|
||||
ij_java_lambda_brace_style = end_of_line
|
||||
ij_java_layout_static_imports_separately = true
|
||||
ij_java_line_comment_add_space = false
|
||||
ij_java_line_comment_at_first_column = true
|
||||
ij_java_method_annotation_wrap = split_into_lines
|
||||
ij_java_method_brace_style = end_of_line
|
||||
ij_java_method_call_chain_wrap = off
|
||||
ij_java_method_parameters_new_line_after_left_paren = false
|
||||
ij_java_method_parameters_right_paren_on_new_line = false
|
||||
ij_java_method_parameters_wrap = off
|
||||
ij_java_modifier_list_wrap = false
|
||||
ij_java_names_count_to_use_import_on_demand = 99
|
||||
ij_java_new_line_after_lparen_in_record_header = false
|
||||
ij_java_parameter_annotation_wrap = off
|
||||
ij_java_parentheses_expression_new_line_after_left_paren = false
|
||||
ij_java_parentheses_expression_right_paren_on_new_line = false
|
||||
ij_java_place_assignment_sign_on_next_line = false
|
||||
ij_java_prefer_longer_names = true
|
||||
ij_java_prefer_parameters_wrap = false
|
||||
ij_java_record_components_wrap = normal
|
||||
ij_java_repeat_synchronized = true
|
||||
ij_java_replace_instanceof_and_cast = false
|
||||
ij_java_replace_null_check = true
|
||||
ij_java_replace_sum_lambda_with_method_ref = true
|
||||
ij_java_resource_list_new_line_after_left_paren = false
|
||||
ij_java_resource_list_right_paren_on_new_line = false
|
||||
ij_java_resource_list_wrap = off
|
||||
ij_java_rparen_on_new_line_in_record_header = false
|
||||
ij_java_space_after_closing_angle_bracket_in_type_argument = false
|
||||
ij_java_space_after_colon = true
|
||||
ij_java_space_after_comma = true
|
||||
ij_java_space_after_comma_in_type_arguments = true
|
||||
ij_java_space_after_for_semicolon = true
|
||||
ij_java_space_after_quest = true
|
||||
ij_java_space_after_type_cast = true
|
||||
ij_java_space_before_annotation_array_initializer_left_brace = false
|
||||
ij_java_space_before_annotation_parameter_list = false
|
||||
ij_java_space_before_array_initializer_left_brace = false
|
||||
ij_java_space_before_catch_keyword = true
|
||||
ij_java_space_before_catch_left_brace = true
|
||||
ij_java_space_before_catch_parentheses = true
|
||||
ij_java_space_before_class_left_brace = true
|
||||
ij_java_space_before_colon = true
|
||||
ij_java_space_before_colon_in_foreach = true
|
||||
ij_java_space_before_comma = false
|
||||
ij_java_space_before_do_left_brace = true
|
||||
ij_java_space_before_else_keyword = true
|
||||
ij_java_space_before_else_left_brace = true
|
||||
ij_java_space_before_finally_keyword = true
|
||||
ij_java_space_before_finally_left_brace = true
|
||||
ij_java_space_before_for_left_brace = true
|
||||
ij_java_space_before_for_parentheses = true
|
||||
ij_java_space_before_for_semicolon = false
|
||||
ij_java_space_before_if_left_brace = true
|
||||
ij_java_space_before_if_parentheses = true
|
||||
ij_java_space_before_method_call_parentheses = false
|
||||
ij_java_space_before_method_left_brace = true
|
||||
ij_java_space_before_method_parentheses = false
|
||||
ij_java_space_before_opening_angle_bracket_in_type_parameter = false
|
||||
ij_java_space_before_quest = true
|
||||
ij_java_space_before_switch_left_brace = true
|
||||
ij_java_space_before_switch_parentheses = true
|
||||
ij_java_space_before_synchronized_left_brace = true
|
||||
ij_java_space_before_synchronized_parentheses = true
|
||||
ij_java_space_before_try_left_brace = true
|
||||
ij_java_space_before_try_parentheses = true
|
||||
ij_java_space_before_type_parameter_list = false
|
||||
ij_java_space_before_while_keyword = true
|
||||
ij_java_space_before_while_left_brace = true
|
||||
ij_java_space_before_while_parentheses = true
|
||||
ij_java_space_inside_one_line_enum_braces = false
|
||||
ij_java_space_within_empty_array_initializer_braces = false
|
||||
ij_java_space_within_empty_method_call_parentheses = false
|
||||
ij_java_space_within_empty_method_parentheses = false
|
||||
ij_java_spaces_around_additive_operators = true
|
||||
ij_java_spaces_around_assignment_operators = true
|
||||
ij_java_spaces_around_bitwise_operators = true
|
||||
ij_java_spaces_around_equality_operators = true
|
||||
ij_java_spaces_around_lambda_arrow = true
|
||||
ij_java_spaces_around_logical_operators = true
|
||||
ij_java_spaces_around_method_ref_dbl_colon = false
|
||||
ij_java_spaces_around_multiplicative_operators = true
|
||||
ij_java_spaces_around_relational_operators = true
|
||||
ij_java_spaces_around_shift_operators = true
|
||||
ij_java_spaces_around_type_bounds_in_type_parameters = true
|
||||
ij_java_spaces_around_unary_operator = false
|
||||
ij_java_spaces_within_angle_brackets = false
|
||||
ij_java_spaces_within_annotation_parentheses = false
|
||||
ij_java_spaces_within_array_initializer_braces = false
|
||||
ij_java_spaces_within_braces = false
|
||||
ij_java_spaces_within_brackets = false
|
||||
ij_java_spaces_within_cast_parentheses = false
|
||||
ij_java_spaces_within_catch_parentheses = false
|
||||
ij_java_spaces_within_for_parentheses = false
|
||||
ij_java_spaces_within_if_parentheses = false
|
||||
ij_java_spaces_within_method_call_parentheses = false
|
||||
ij_java_spaces_within_method_parentheses = false
|
||||
ij_java_spaces_within_parentheses = false
|
||||
ij_java_spaces_within_record_header = false
|
||||
ij_java_spaces_within_switch_parentheses = false
|
||||
ij_java_spaces_within_synchronized_parentheses = false
|
||||
ij_java_spaces_within_try_parentheses = false
|
||||
ij_java_spaces_within_while_parentheses = false
|
||||
ij_java_special_else_if_treatment = true
|
||||
ij_java_subclass_name_suffix = Impl
|
||||
ij_java_ternary_operation_signs_on_next_line = false
|
||||
ij_java_ternary_operation_wrap = off
|
||||
ij_java_test_name_suffix = Test
|
||||
ij_java_throws_keyword_wrap = off
|
||||
ij_java_throws_list_wrap = off
|
||||
ij_java_use_external_annotations = false
|
||||
ij_java_use_fq_class_names = false
|
||||
ij_java_use_relative_indents = false
|
||||
ij_java_use_single_class_imports = true
|
||||
ij_java_variable_annotation_wrap = off
|
||||
ij_java_visibility = public
|
||||
ij_java_while_brace_force = never
|
||||
ij_java_while_on_new_line = false
|
||||
ij_java_wrap_comments = false
|
||||
ij_java_wrap_first_method_in_call_chain = false
|
||||
ij_java_wrap_long_lines = false
|
||||
|
||||
# From https://github.com/pinterest/ktlint#custom-ktlint-specific-editorconfig-properties
|
||||
# default IntelliJ IDEA style, same as alphabetical, but with "java", "javax", "kotlin" and alias imports in the end of the imports list
|
||||
ij_kotlin_imports_layout=*,java.**,javax.**,kotlin.**,^
|
||||
[*.properties]
|
||||
ij_properties_align_group_field_declarations = false
|
||||
ij_properties_keep_blank_lines = false
|
||||
ij_properties_key_value_delimiter = equals
|
||||
ij_properties_spaces_around_key_value_delimiter = false
|
||||
|
||||
[.editorconfig]
|
||||
ij_editorconfig_align_group_field_declarations = false
|
||||
ij_editorconfig_space_after_colon = false
|
||||
ij_editorconfig_space_after_comma = true
|
||||
ij_editorconfig_space_before_colon = false
|
||||
ij_editorconfig_space_before_comma = false
|
||||
ij_editorconfig_spaces_around_assignment_operators = true
|
||||
|
||||
[{*.ant,*.fxml,*.jhm,*.jnlp,*.jrxml,*.rng,*.tld,*.wsdl,*.xml,*.xsd,*.xsl,*.xslt,*.xul}]
|
||||
ij_continuation_indent_size = 4
|
||||
ij_xml_align_attributes = false
|
||||
ij_xml_align_text = false
|
||||
ij_xml_attribute_wrap = normal
|
||||
ij_xml_block_comment_at_first_column = true
|
||||
ij_xml_keep_blank_lines = 2
|
||||
ij_xml_keep_indents_on_empty_lines = false
|
||||
ij_xml_keep_line_breaks = false
|
||||
ij_xml_keep_line_breaks_in_text = true
|
||||
ij_xml_keep_whitespaces = false
|
||||
ij_xml_keep_whitespaces_around_cdata = preserve
|
||||
ij_xml_keep_whitespaces_inside_cdata = false
|
||||
ij_xml_line_comment_at_first_column = true
|
||||
ij_xml_space_after_tag_name = false
|
||||
ij_xml_space_around_equals_in_attribute = false
|
||||
ij_xml_space_inside_empty_tag = true
|
||||
ij_xml_text_wrap = normal
|
||||
ij_xml_use_custom_settings = true
|
||||
|
||||
[{*.bash,*.sh,*.zsh}]
|
||||
indent_size = 2
|
||||
tab_width = 2
|
||||
ij_shell_binary_ops_start_line = false
|
||||
ij_shell_keep_column_alignment_padding = false
|
||||
ij_shell_minify_program = false
|
||||
ij_shell_redirect_followed_by_space = false
|
||||
ij_shell_switch_cases_indented = false
|
||||
ij_shell_use_unix_line_separator = true
|
||||
|
||||
[{*.c,*.c++,*.cc,*.cp,*.cpp,*.cu,*.cuh,*.cxx,*.h,*.h++,*.hh,*.hp,*.hpp,*.hxx,*.i,*.icc,*.ii,*.inl,*.ino,*.ipp,*.m,*.mm,*.pch,*.tcc,*.tpp}]
|
||||
ij_c_add_brief_tag = false
|
||||
ij_c_add_getter_prefix = true
|
||||
ij_c_add_setter_prefix = true
|
||||
ij_c_align_dictionary_pair_values = false
|
||||
ij_c_align_group_field_declarations = false
|
||||
ij_c_align_init_list_in_columns = true
|
||||
ij_c_align_multiline_array_initializer_expression = true
|
||||
ij_c_align_multiline_assignment = true
|
||||
ij_c_align_multiline_binary_operation = true
|
||||
ij_c_align_multiline_chained_methods = false
|
||||
ij_c_align_multiline_for = true
|
||||
ij_c_align_multiline_ternary_operation = true
|
||||
ij_c_array_initializer_comma_on_next_line = false
|
||||
ij_c_array_initializer_new_line_after_left_brace = false
|
||||
ij_c_array_initializer_right_brace_on_new_line = false
|
||||
ij_c_array_initializer_wrap = normal
|
||||
ij_c_assignment_wrap = off
|
||||
ij_c_binary_operation_sign_on_next_line = false
|
||||
ij_c_binary_operation_wrap = normal
|
||||
ij_c_blank_lines_after_class_header = 0
|
||||
ij_c_blank_lines_after_imports = 1
|
||||
ij_c_blank_lines_around_class = 1
|
||||
ij_c_blank_lines_around_field = 0
|
||||
ij_c_blank_lines_around_field_in_interface = 0
|
||||
ij_c_blank_lines_around_method = 1
|
||||
ij_c_blank_lines_around_method_in_interface = 1
|
||||
ij_c_blank_lines_around_namespace = 0
|
||||
ij_c_blank_lines_around_properties_in_declaration = 0
|
||||
ij_c_blank_lines_around_properties_in_interface = 0
|
||||
ij_c_blank_lines_before_imports = 1
|
||||
ij_c_blank_lines_before_method_body = 0
|
||||
ij_c_block_brace_placement = end_of_line
|
||||
ij_c_block_brace_style = end_of_line
|
||||
ij_c_block_comment_at_first_column = true
|
||||
ij_c_catch_on_new_line = false
|
||||
ij_c_class_brace_style = end_of_line
|
||||
ij_c_class_constructor_init_list_align_multiline = true
|
||||
ij_c_class_constructor_init_list_comma_on_next_line = false
|
||||
ij_c_class_constructor_init_list_new_line_after_colon = never
|
||||
ij_c_class_constructor_init_list_new_line_before_colon = if_long
|
||||
ij_c_class_constructor_init_list_wrap = normal
|
||||
ij_c_copy_is_deep = false
|
||||
ij_c_create_interface_for_categories = true
|
||||
ij_c_declare_generated_methods = true
|
||||
ij_c_description_include_member_names = true
|
||||
ij_c_discharged_short_ternary_operator = false
|
||||
ij_c_do_not_add_breaks = false
|
||||
ij_c_do_while_brace_force = never
|
||||
ij_c_else_on_new_line = false
|
||||
ij_c_enum_constants_comma_on_next_line = false
|
||||
ij_c_enum_constants_wrap = on_every_item
|
||||
ij_c_for_brace_force = never
|
||||
ij_c_for_statement_new_line_after_left_paren = false
|
||||
ij_c_for_statement_right_paren_on_new_line = false
|
||||
ij_c_for_statement_wrap = off
|
||||
ij_c_function_brace_placement = end_of_line
|
||||
ij_c_function_call_arguments_align_multiline = true
|
||||
ij_c_function_call_arguments_align_multiline_pars = false
|
||||
ij_c_function_call_arguments_comma_on_next_line = false
|
||||
ij_c_function_call_arguments_new_line_after_lpar = false
|
||||
ij_c_function_call_arguments_new_line_before_rpar = false
|
||||
ij_c_function_call_arguments_wrap = normal
|
||||
ij_c_function_non_top_after_return_type_wrap = normal
|
||||
ij_c_function_parameters_align_multiline = true
|
||||
ij_c_function_parameters_align_multiline_pars = false
|
||||
ij_c_function_parameters_comma_on_next_line = false
|
||||
ij_c_function_parameters_new_line_after_lpar = false
|
||||
ij_c_function_parameters_new_line_before_rpar = false
|
||||
ij_c_function_parameters_wrap = normal
|
||||
ij_c_function_top_after_return_type_wrap = normal
|
||||
ij_c_generate_additional_eq_operators = true
|
||||
ij_c_generate_additional_rel_operators = true
|
||||
ij_c_generate_class_constructor = true
|
||||
ij_c_generate_comparison_operators_use_std_tie = false
|
||||
ij_c_generate_instance_variables_for_properties = ask
|
||||
ij_c_generate_operators_as_members = true
|
||||
ij_c_header_guard_style_pattern = ${PROJECT_NAME}_${FILE_NAME}_${EXT}
|
||||
ij_c_if_brace_force = never
|
||||
ij_c_in_line_short_ternary_operator = true
|
||||
ij_c_indent_block_comment = true
|
||||
ij_c_indent_c_struct_members = 4
|
||||
ij_c_indent_case_from_switch = true
|
||||
ij_c_indent_class_members = 4
|
||||
ij_c_indent_directive_as_code = false
|
||||
ij_c_indent_implementation_members = 0
|
||||
ij_c_indent_inside_code_block = 4
|
||||
ij_c_indent_interface_members = 0
|
||||
ij_c_indent_interface_members_except_ivars_block = false
|
||||
ij_c_indent_namespace_members = 4
|
||||
ij_c_indent_preprocessor_directive = 0
|
||||
ij_c_indent_visibility_keywords = 0
|
||||
ij_c_insert_override = true
|
||||
ij_c_insert_virtual_with_override = false
|
||||
ij_c_introduce_auto_vars = false
|
||||
ij_c_introduce_const_params = false
|
||||
ij_c_introduce_const_vars = false
|
||||
ij_c_introduce_generate_property = false
|
||||
ij_c_introduce_generate_synthesize = true
|
||||
ij_c_introduce_globals_to_header = true
|
||||
ij_c_introduce_prop_to_private_category = false
|
||||
ij_c_introduce_static_consts = true
|
||||
ij_c_introduce_use_ns_types = false
|
||||
ij_c_ivars_prefix = _
|
||||
ij_c_keep_blank_lines_before_end = 2
|
||||
ij_c_keep_blank_lines_before_right_brace = 2
|
||||
ij_c_keep_blank_lines_in_code = 2
|
||||
ij_c_keep_blank_lines_in_declarations = 2
|
||||
ij_c_keep_case_expressions_in_one_line = false
|
||||
ij_c_keep_control_statement_in_one_line = true
|
||||
ij_c_keep_directive_at_first_column = true
|
||||
ij_c_keep_first_column_comment = true
|
||||
ij_c_keep_line_breaks = true
|
||||
ij_c_keep_nested_namespaces_in_one_line = false
|
||||
ij_c_keep_simple_blocks_in_one_line = true
|
||||
ij_c_keep_simple_methods_in_one_line = true
|
||||
ij_c_keep_structures_in_one_line = false
|
||||
ij_c_lambda_capture_list_align_multiline = false
|
||||
ij_c_lambda_capture_list_align_multiline_bracket = false
|
||||
ij_c_lambda_capture_list_comma_on_next_line = false
|
||||
ij_c_lambda_capture_list_new_line_after_lbracket = false
|
||||
ij_c_lambda_capture_list_new_line_before_rbracket = false
|
||||
ij_c_lambda_capture_list_wrap = off
|
||||
ij_c_line_comment_add_space = false
|
||||
ij_c_line_comment_at_first_column = true
|
||||
ij_c_method_brace_placement = end_of_line
|
||||
ij_c_method_call_arguments_align_by_colons = true
|
||||
ij_c_method_call_arguments_align_multiline = false
|
||||
ij_c_method_call_arguments_special_dictionary_pairs_treatment = true
|
||||
ij_c_method_call_arguments_wrap = off
|
||||
ij_c_method_call_chain_wrap = off
|
||||
ij_c_method_parameters_align_by_colons = true
|
||||
ij_c_method_parameters_align_multiline = false
|
||||
ij_c_method_parameters_wrap = off
|
||||
ij_c_namespace_brace_placement = end_of_line
|
||||
ij_c_parentheses_expression_new_line_after_left_paren = false
|
||||
ij_c_parentheses_expression_right_paren_on_new_line = false
|
||||
ij_c_place_assignment_sign_on_next_line = false
|
||||
ij_c_property_nonatomic = true
|
||||
ij_c_put_ivars_to_implementation = true
|
||||
ij_c_refactor_compatibility_aliases_and_classes = true
|
||||
ij_c_refactor_properties_and_ivars = true
|
||||
ij_c_release_style = ivar
|
||||
ij_c_retain_object_parameters_in_constructor = true
|
||||
ij_c_semicolon_after_method_signature = false
|
||||
ij_c_shift_operation_align_multiline = true
|
||||
ij_c_shift_operation_wrap = normal
|
||||
ij_c_show_non_virtual_functions = false
|
||||
ij_c_space_after_colon = true
|
||||
ij_c_space_after_colon_in_selector = false
|
||||
ij_c_space_after_comma = true
|
||||
ij_c_space_after_cup_in_blocks = false
|
||||
ij_c_space_after_dictionary_literal_colon = true
|
||||
ij_c_space_after_for_semicolon = true
|
||||
ij_c_space_after_init_list_colon = true
|
||||
ij_c_space_after_method_parameter_type_parentheses = false
|
||||
ij_c_space_after_method_return_type_parentheses = false
|
||||
ij_c_space_after_pointer_in_declaration = false
|
||||
ij_c_space_after_quest = true
|
||||
ij_c_space_after_reference_in_declaration = false
|
||||
ij_c_space_after_reference_in_rvalue = false
|
||||
ij_c_space_after_structures_rbrace = true
|
||||
ij_c_space_after_superclass_colon = true
|
||||
ij_c_space_after_type_cast = true
|
||||
ij_c_space_after_visibility_sign_in_method_declaration = true
|
||||
ij_c_space_before_autorelease_pool_lbrace = true
|
||||
ij_c_space_before_catch_keyword = true
|
||||
ij_c_space_before_catch_left_brace = true
|
||||
ij_c_space_before_catch_parentheses = true
|
||||
ij_c_space_before_category_parentheses = true
|
||||
ij_c_space_before_chained_send_message = true
|
||||
ij_c_space_before_class_left_brace = true
|
||||
ij_c_space_before_colon = true
|
||||
ij_c_space_before_comma = false
|
||||
ij_c_space_before_dictionary_literal_colon = false
|
||||
ij_c_space_before_do_left_brace = true
|
||||
ij_c_space_before_else_keyword = true
|
||||
ij_c_space_before_else_left_brace = true
|
||||
ij_c_space_before_for_left_brace = true
|
||||
ij_c_space_before_for_parentheses = true
|
||||
ij_c_space_before_for_semicolon = false
|
||||
ij_c_space_before_if_left_brace = true
|
||||
ij_c_space_before_if_parentheses = true
|
||||
ij_c_space_before_init_list = false
|
||||
ij_c_space_before_init_list_colon = true
|
||||
ij_c_space_before_method_call_parentheses = false
|
||||
ij_c_space_before_method_left_brace = true
|
||||
ij_c_space_before_method_parentheses = false
|
||||
ij_c_space_before_namespace_lbrace = true
|
||||
ij_c_space_before_pointer_in_declaration = true
|
||||
ij_c_space_before_property_attributes_parentheses = false
|
||||
ij_c_space_before_protocols_brackets = true
|
||||
ij_c_space_before_quest = true
|
||||
ij_c_space_before_reference_in_declaration = true
|
||||
ij_c_space_before_superclass_colon = true
|
||||
ij_c_space_before_switch_left_brace = true
|
||||
ij_c_space_before_switch_parentheses = true
|
||||
ij_c_space_before_template_call_lt = false
|
||||
ij_c_space_before_template_declaration_lt = false
|
||||
ij_c_space_before_try_left_brace = true
|
||||
ij_c_space_before_while_keyword = true
|
||||
ij_c_space_before_while_left_brace = true
|
||||
ij_c_space_before_while_parentheses = true
|
||||
ij_c_space_between_adjacent_brackets = false
|
||||
ij_c_space_between_operator_and_punctuator = false
|
||||
ij_c_space_within_empty_array_initializer_braces = false
|
||||
ij_c_spaces_around_additive_operators = true
|
||||
ij_c_spaces_around_assignment_operators = true
|
||||
ij_c_spaces_around_bitwise_operators = true
|
||||
ij_c_spaces_around_equality_operators = true
|
||||
ij_c_spaces_around_lambda_arrow = true
|
||||
ij_c_spaces_around_logical_operators = true
|
||||
ij_c_spaces_around_multiplicative_operators = true
|
||||
ij_c_spaces_around_pm_operators = false
|
||||
ij_c_spaces_around_relational_operators = true
|
||||
ij_c_spaces_around_shift_operators = true
|
||||
ij_c_spaces_around_unary_operator = false
|
||||
ij_c_spaces_within_array_initializer_braces = false
|
||||
ij_c_spaces_within_braces = true
|
||||
ij_c_spaces_within_brackets = false
|
||||
ij_c_spaces_within_cast_parentheses = false
|
||||
ij_c_spaces_within_catch_parentheses = false
|
||||
ij_c_spaces_within_category_parentheses = false
|
||||
ij_c_spaces_within_empty_braces = false
|
||||
ij_c_spaces_within_empty_function_call_parentheses = false
|
||||
ij_c_spaces_within_empty_function_declaration_parentheses = false
|
||||
ij_c_spaces_within_empty_lambda_capture_list_bracket = false
|
||||
ij_c_spaces_within_empty_template_call_ltgt = false
|
||||
ij_c_spaces_within_empty_template_declaration_ltgt = false
|
||||
ij_c_spaces_within_for_parentheses = false
|
||||
ij_c_spaces_within_function_call_parentheses = false
|
||||
ij_c_spaces_within_function_declaration_parentheses = false
|
||||
ij_c_spaces_within_if_parentheses = false
|
||||
ij_c_spaces_within_lambda_capture_list_bracket = false
|
||||
ij_c_spaces_within_method_parameter_type_parentheses = false
|
||||
ij_c_spaces_within_method_return_type_parentheses = false
|
||||
ij_c_spaces_within_parentheses = false
|
||||
ij_c_spaces_within_property_attributes_parentheses = false
|
||||
ij_c_spaces_within_protocols_brackets = false
|
||||
ij_c_spaces_within_send_message_brackets = false
|
||||
ij_c_spaces_within_switch_parentheses = false
|
||||
ij_c_spaces_within_template_call_ltgt = false
|
||||
ij_c_spaces_within_template_declaration_ltgt = false
|
||||
ij_c_spaces_within_template_double_gt = true
|
||||
ij_c_spaces_within_while_parentheses = false
|
||||
ij_c_special_else_if_treatment = true
|
||||
ij_c_superclass_list_after_colon = never
|
||||
ij_c_superclass_list_align_multiline = true
|
||||
ij_c_superclass_list_before_colon = if_long
|
||||
ij_c_superclass_list_comma_on_next_line = false
|
||||
ij_c_superclass_list_wrap = on_every_item
|
||||
ij_c_tag_prefix_of_block_comment = at
|
||||
ij_c_tag_prefix_of_line_comment = back_slash
|
||||
ij_c_template_call_arguments_align_multiline = false
|
||||
ij_c_template_call_arguments_align_multiline_pars = false
|
||||
ij_c_template_call_arguments_comma_on_next_line = false
|
||||
ij_c_template_call_arguments_new_line_after_lt = false
|
||||
ij_c_template_call_arguments_new_line_before_gt = false
|
||||
ij_c_template_call_arguments_wrap = off
|
||||
ij_c_template_declaration_function_body_indent = false
|
||||
ij_c_template_declaration_function_wrap = split_into_lines
|
||||
ij_c_template_declaration_struct_body_indent = false
|
||||
ij_c_template_declaration_struct_wrap = split_into_lines
|
||||
ij_c_template_parameters_align_multiline = false
|
||||
ij_c_template_parameters_align_multiline_pars = false
|
||||
ij_c_template_parameters_comma_on_next_line = false
|
||||
ij_c_template_parameters_new_line_after_lt = false
|
||||
ij_c_template_parameters_new_line_before_gt = false
|
||||
ij_c_template_parameters_wrap = off
|
||||
ij_c_ternary_operation_signs_on_next_line = true
|
||||
ij_c_ternary_operation_wrap = normal
|
||||
ij_c_type_qualifiers_placement = before
|
||||
ij_c_use_modern_casts = true
|
||||
ij_c_use_setters_in_constructor = true
|
||||
ij_c_while_brace_force = never
|
||||
ij_c_while_on_new_line = false
|
||||
ij_c_wrap_property_declaration = off
|
||||
|
||||
[{*.cmake,CMakeLists.txt}]
|
||||
ij_cmake_align_multiline_parameters_in_calls = false
|
||||
ij_cmake_force_commands_case = 2
|
||||
ij_cmake_keep_blank_lines_in_code = 2
|
||||
ij_cmake_space_before_for_parentheses = true
|
||||
ij_cmake_space_before_if_parentheses = true
|
||||
ij_cmake_space_before_method_call_parentheses = false
|
||||
ij_cmake_space_before_method_parentheses = false
|
||||
ij_cmake_space_before_while_parentheses = true
|
||||
ij_cmake_spaces_within_for_parentheses = false
|
||||
ij_cmake_spaces_within_if_parentheses = false
|
||||
ij_cmake_spaces_within_method_call_parentheses = false
|
||||
ij_cmake_spaces_within_method_parentheses = false
|
||||
ij_cmake_spaces_within_while_parentheses = false
|
||||
|
||||
[{*.gant,*.gradle,*.groovy,*.gy}]
|
||||
ij_groovy_align_group_field_declarations = false
|
||||
ij_groovy_align_multiline_array_initializer_expression = false
|
||||
ij_groovy_align_multiline_assignment = false
|
||||
ij_groovy_align_multiline_binary_operation = false
|
||||
ij_groovy_align_multiline_chained_methods = false
|
||||
ij_groovy_align_multiline_extends_list = false
|
||||
ij_groovy_align_multiline_for = true
|
||||
ij_groovy_align_multiline_list_or_map = true
|
||||
ij_groovy_align_multiline_method_parentheses = false
|
||||
ij_groovy_align_multiline_parameters = true
|
||||
ij_groovy_align_multiline_parameters_in_calls = false
|
||||
ij_groovy_align_multiline_resources = true
|
||||
ij_groovy_align_multiline_ternary_operation = false
|
||||
ij_groovy_align_multiline_throws_list = false
|
||||
ij_groovy_align_named_args_in_map = true
|
||||
ij_groovy_align_throws_keyword = false
|
||||
ij_groovy_array_initializer_new_line_after_left_brace = false
|
||||
ij_groovy_array_initializer_right_brace_on_new_line = false
|
||||
ij_groovy_array_initializer_wrap = off
|
||||
ij_groovy_assert_statement_wrap = off
|
||||
ij_groovy_assignment_wrap = off
|
||||
ij_groovy_binary_operation_wrap = off
|
||||
ij_groovy_blank_lines_after_class_header = 0
|
||||
ij_groovy_blank_lines_after_imports = 1
|
||||
ij_groovy_blank_lines_after_package = 1
|
||||
ij_groovy_blank_lines_around_class = 1
|
||||
ij_groovy_blank_lines_around_field = 0
|
||||
ij_groovy_blank_lines_around_field_in_interface = 0
|
||||
ij_groovy_blank_lines_around_method = 1
|
||||
ij_groovy_blank_lines_around_method_in_interface = 1
|
||||
ij_groovy_blank_lines_before_imports = 1
|
||||
ij_groovy_blank_lines_before_method_body = 0
|
||||
ij_groovy_blank_lines_before_package = 0
|
||||
ij_groovy_block_brace_style = end_of_line
|
||||
ij_groovy_block_comment_at_first_column = true
|
||||
ij_groovy_call_parameters_new_line_after_left_paren = false
|
||||
ij_groovy_call_parameters_right_paren_on_new_line = false
|
||||
ij_groovy_call_parameters_wrap = off
|
||||
ij_groovy_catch_on_new_line = false
|
||||
ij_groovy_class_annotation_wrap = split_into_lines
|
||||
ij_groovy_class_brace_style = end_of_line
|
||||
ij_groovy_class_count_to_use_import_on_demand = 5
|
||||
ij_groovy_do_while_brace_force = never
|
||||
ij_groovy_else_on_new_line = false
|
||||
ij_groovy_enum_constants_wrap = off
|
||||
ij_groovy_extends_keyword_wrap = off
|
||||
ij_groovy_extends_list_wrap = off
|
||||
ij_groovy_field_annotation_wrap = split_into_lines
|
||||
ij_groovy_finally_on_new_line = false
|
||||
ij_groovy_for_brace_force = never
|
||||
ij_groovy_for_statement_new_line_after_left_paren = false
|
||||
ij_groovy_for_statement_right_paren_on_new_line = false
|
||||
ij_groovy_for_statement_wrap = off
|
||||
ij_groovy_if_brace_force = never
|
||||
ij_groovy_import_annotation_wrap = 2
|
||||
ij_groovy_imports_layout = *,|,javax.**,java.**,|,$*
|
||||
ij_groovy_indent_case_from_switch = true
|
||||
ij_groovy_indent_label_blocks = true
|
||||
ij_groovy_insert_inner_class_imports = false
|
||||
ij_groovy_keep_blank_lines_before_right_brace = 2
|
||||
ij_groovy_keep_blank_lines_in_code = 2
|
||||
ij_groovy_keep_blank_lines_in_declarations = 2
|
||||
ij_groovy_keep_control_statement_in_one_line = true
|
||||
ij_groovy_keep_first_column_comment = true
|
||||
ij_groovy_keep_indents_on_empty_lines = false
|
||||
ij_groovy_keep_line_breaks = true
|
||||
ij_groovy_keep_multiple_expressions_in_one_line = false
|
||||
ij_groovy_keep_simple_blocks_in_one_line = false
|
||||
ij_groovy_keep_simple_classes_in_one_line = true
|
||||
ij_groovy_keep_simple_lambdas_in_one_line = true
|
||||
ij_groovy_keep_simple_methods_in_one_line = true
|
||||
ij_groovy_label_indent_absolute = false
|
||||
ij_groovy_label_indent_size = 0
|
||||
ij_groovy_lambda_brace_style = end_of_line
|
||||
ij_groovy_layout_static_imports_separately = true
|
||||
ij_groovy_line_comment_add_space = false
|
||||
ij_groovy_line_comment_at_first_column = true
|
||||
ij_groovy_method_annotation_wrap = split_into_lines
|
||||
ij_groovy_method_brace_style = end_of_line
|
||||
ij_groovy_method_call_chain_wrap = off
|
||||
ij_groovy_method_parameters_new_line_after_left_paren = false
|
||||
ij_groovy_method_parameters_right_paren_on_new_line = false
|
||||
ij_groovy_method_parameters_wrap = off
|
||||
ij_groovy_modifier_list_wrap = false
|
||||
ij_groovy_names_count_to_use_import_on_demand = 3
|
||||
ij_groovy_parameter_annotation_wrap = off
|
||||
ij_groovy_parentheses_expression_new_line_after_left_paren = false
|
||||
ij_groovy_parentheses_expression_right_paren_on_new_line = false
|
||||
ij_groovy_prefer_parameters_wrap = false
|
||||
ij_groovy_resource_list_new_line_after_left_paren = false
|
||||
ij_groovy_resource_list_right_paren_on_new_line = false
|
||||
ij_groovy_resource_list_wrap = off
|
||||
ij_groovy_space_after_assert_separator = true
|
||||
ij_groovy_space_after_colon = true
|
||||
ij_groovy_space_after_comma = true
|
||||
ij_groovy_space_after_comma_in_type_arguments = true
|
||||
ij_groovy_space_after_for_semicolon = true
|
||||
ij_groovy_space_after_quest = true
|
||||
ij_groovy_space_after_type_cast = true
|
||||
ij_groovy_space_before_annotation_parameter_list = false
|
||||
ij_groovy_space_before_array_initializer_left_brace = false
|
||||
ij_groovy_space_before_assert_separator = false
|
||||
ij_groovy_space_before_catch_keyword = true
|
||||
ij_groovy_space_before_catch_left_brace = true
|
||||
ij_groovy_space_before_catch_parentheses = true
|
||||
ij_groovy_space_before_class_left_brace = true
|
||||
ij_groovy_space_before_closure_left_brace = true
|
||||
ij_groovy_space_before_colon = true
|
||||
ij_groovy_space_before_comma = false
|
||||
ij_groovy_space_before_do_left_brace = true
|
||||
ij_groovy_space_before_else_keyword = true
|
||||
ij_groovy_space_before_else_left_brace = true
|
||||
ij_groovy_space_before_finally_keyword = true
|
||||
ij_groovy_space_before_finally_left_brace = true
|
||||
ij_groovy_space_before_for_left_brace = true
|
||||
ij_groovy_space_before_for_parentheses = true
|
||||
ij_groovy_space_before_for_semicolon = false
|
||||
ij_groovy_space_before_if_left_brace = true
|
||||
ij_groovy_space_before_if_parentheses = true
|
||||
ij_groovy_space_before_method_call_parentheses = false
|
||||
ij_groovy_space_before_method_left_brace = true
|
||||
ij_groovy_space_before_method_parentheses = false
|
||||
ij_groovy_space_before_quest = true
|
||||
ij_groovy_space_before_switch_left_brace = true
|
||||
ij_groovy_space_before_switch_parentheses = true
|
||||
ij_groovy_space_before_synchronized_left_brace = true
|
||||
ij_groovy_space_before_synchronized_parentheses = true
|
||||
ij_groovy_space_before_try_left_brace = true
|
||||
ij_groovy_space_before_try_parentheses = true
|
||||
ij_groovy_space_before_while_keyword = true
|
||||
ij_groovy_space_before_while_left_brace = true
|
||||
ij_groovy_space_before_while_parentheses = true
|
||||
ij_groovy_space_in_named_argument = true
|
||||
ij_groovy_space_in_named_argument_before_colon = false
|
||||
ij_groovy_space_within_empty_array_initializer_braces = false
|
||||
ij_groovy_space_within_empty_method_call_parentheses = false
|
||||
ij_groovy_spaces_around_additive_operators = true
|
||||
ij_groovy_spaces_around_assignment_operators = true
|
||||
ij_groovy_spaces_around_bitwise_operators = true
|
||||
ij_groovy_spaces_around_equality_operators = true
|
||||
ij_groovy_spaces_around_lambda_arrow = true
|
||||
ij_groovy_spaces_around_logical_operators = true
|
||||
ij_groovy_spaces_around_multiplicative_operators = true
|
||||
ij_groovy_spaces_around_regex_operators = true
|
||||
ij_groovy_spaces_around_relational_operators = true
|
||||
ij_groovy_spaces_around_shift_operators = true
|
||||
ij_groovy_spaces_within_annotation_parentheses = false
|
||||
ij_groovy_spaces_within_array_initializer_braces = false
|
||||
ij_groovy_spaces_within_braces = true
|
||||
ij_groovy_spaces_within_brackets = false
|
||||
ij_groovy_spaces_within_cast_parentheses = false
|
||||
ij_groovy_spaces_within_catch_parentheses = false
|
||||
ij_groovy_spaces_within_for_parentheses = false
|
||||
ij_groovy_spaces_within_gstring_injection_braces = false
|
||||
ij_groovy_spaces_within_if_parentheses = false
|
||||
ij_groovy_spaces_within_list_or_map = false
|
||||
ij_groovy_spaces_within_method_call_parentheses = false
|
||||
ij_groovy_spaces_within_method_parentheses = false
|
||||
ij_groovy_spaces_within_parentheses = false
|
||||
ij_groovy_spaces_within_switch_parentheses = false
|
||||
ij_groovy_spaces_within_synchronized_parentheses = false
|
||||
ij_groovy_spaces_within_try_parentheses = false
|
||||
ij_groovy_spaces_within_tuple_expression = false
|
||||
ij_groovy_spaces_within_while_parentheses = false
|
||||
ij_groovy_special_else_if_treatment = true
|
||||
ij_groovy_ternary_operation_wrap = off
|
||||
ij_groovy_throws_keyword_wrap = off
|
||||
ij_groovy_throws_list_wrap = off
|
||||
ij_groovy_use_flying_geese_braces = false
|
||||
ij_groovy_use_fq_class_names = false
|
||||
ij_groovy_use_fq_class_names_in_javadoc = true
|
||||
ij_groovy_use_relative_indents = false
|
||||
ij_groovy_use_single_class_imports = true
|
||||
ij_groovy_variable_annotation_wrap = off
|
||||
ij_groovy_while_brace_force = never
|
||||
ij_groovy_while_on_new_line = false
|
||||
ij_groovy_wrap_long_lines = false
|
||||
|
||||
[{*.gradle.kts,*.kt,*.kts,*.main.kts}]
|
||||
ij_kotlin_align_in_columns_case_branch = true
|
||||
ij_kotlin_align_multiline_binary_operation = false
|
||||
ij_kotlin_align_multiline_extends_list = false
|
||||
ij_kotlin_align_multiline_method_parentheses = false
|
||||
ij_kotlin_align_multiline_parameters = true
|
||||
ij_kotlin_align_multiline_parameters_in_calls = false
|
||||
ij_kotlin_allow_trailing_comma = false
|
||||
ij_kotlin_allow_trailing_comma_on_call_site = false
|
||||
ij_kotlin_assignment_wrap = off
|
||||
ij_kotlin_blank_lines_after_class_header = 0
|
||||
ij_kotlin_blank_lines_around_block_when_branches = 0
|
||||
ij_kotlin_blank_lines_before_declaration_with_comment_or_annotation_on_separate_line = 1
|
||||
ij_kotlin_block_comment_at_first_column = true
|
||||
ij_kotlin_call_parameters_new_line_after_left_paren = false
|
||||
ij_kotlin_call_parameters_right_paren_on_new_line = false
|
||||
ij_kotlin_call_parameters_wrap = off
|
||||
ij_kotlin_catch_on_new_line = false
|
||||
ij_kotlin_class_annotation_wrap = off
|
||||
ij_kotlin_code_style_defaults = KOTLIN_OFFICIAL
|
||||
ij_kotlin_continuation_indent_for_chained_calls = true
|
||||
ij_kotlin_continuation_indent_for_expression_bodies = true
|
||||
ij_kotlin_continuation_indent_in_argument_lists = true
|
||||
ij_kotlin_continuation_indent_in_elvis = true
|
||||
ij_kotlin_continuation_indent_in_if_conditions = true
|
||||
ij_kotlin_continuation_indent_in_parameter_lists = true
|
||||
ij_kotlin_continuation_indent_in_supertype_lists = true
|
||||
ij_kotlin_else_on_new_line = false
|
||||
ij_kotlin_enum_constants_wrap = off
|
||||
ij_kotlin_extends_list_wrap = off
|
||||
ij_kotlin_field_annotation_wrap = normal
|
||||
ij_kotlin_finally_on_new_line = false
|
||||
ij_kotlin_if_rparen_on_new_line = false
|
||||
ij_kotlin_import_nested_classes = false
|
||||
ij_kotlin_imports_layout = *,java.**,javax.**,kotlin.**,^
|
||||
ij_kotlin_insert_whitespaces_in_simple_one_line_method = true
|
||||
ij_kotlin_keep_blank_lines_before_right_brace = 0
|
||||
ij_kotlin_keep_blank_lines_in_code = 1
|
||||
ij_kotlin_keep_blank_lines_in_declarations = 1
|
||||
ij_kotlin_keep_first_column_comment = true
|
||||
ij_kotlin_keep_indents_on_empty_lines = false
|
||||
ij_kotlin_keep_line_breaks = true
|
||||
ij_kotlin_lbrace_on_next_line = false
|
||||
ij_kotlin_line_comment_add_space = false
|
||||
ij_kotlin_line_comment_at_first_column = true
|
||||
ij_kotlin_method_annotation_wrap = split_into_lines
|
||||
ij_kotlin_method_call_chain_wrap = off
|
||||
ij_kotlin_method_parameters_new_line_after_left_paren = false
|
||||
ij_kotlin_method_parameters_right_paren_on_new_line = false
|
||||
ij_kotlin_method_parameters_wrap = off
|
||||
ij_kotlin_name_count_to_use_star_import = 2147483647
|
||||
ij_kotlin_name_count_to_use_star_import_for_members = 2147483647
|
||||
ij_kotlin_packages_to_use_import_on_demand = kotlinx.android.synthetic.**
|
||||
ij_kotlin_parameter_annotation_wrap = off
|
||||
ij_kotlin_space_after_comma = true
|
||||
ij_kotlin_space_after_extend_colon = true
|
||||
ij_kotlin_space_after_type_colon = true
|
||||
ij_kotlin_space_before_catch_parentheses = true
|
||||
ij_kotlin_space_before_comma = false
|
||||
ij_kotlin_space_before_extend_colon = true
|
||||
ij_kotlin_space_before_for_parentheses = true
|
||||
ij_kotlin_space_before_if_parentheses = true
|
||||
ij_kotlin_space_before_lambda_arrow = true
|
||||
ij_kotlin_space_before_type_colon = false
|
||||
ij_kotlin_space_before_when_parentheses = true
|
||||
ij_kotlin_space_before_while_parentheses = true
|
||||
ij_kotlin_spaces_around_additive_operators = true
|
||||
ij_kotlin_spaces_around_assignment_operators = true
|
||||
ij_kotlin_spaces_around_equality_operators = true
|
||||
ij_kotlin_spaces_around_function_type_arrow = true
|
||||
ij_kotlin_spaces_around_logical_operators = true
|
||||
ij_kotlin_spaces_around_multiplicative_operators = true
|
||||
ij_kotlin_spaces_around_range = false
|
||||
ij_kotlin_spaces_around_relational_operators = true
|
||||
ij_kotlin_spaces_around_unary_operator = false
|
||||
ij_kotlin_spaces_around_when_arrow = true
|
||||
ij_kotlin_use_custom_formatting_for_modifiers = true
|
||||
ij_kotlin_variable_annotation_wrap = off
|
||||
ij_kotlin_while_on_new_line = false
|
||||
ij_kotlin_wrap_elvis_expressions = 1
|
||||
ij_kotlin_wrap_expression_body_functions = 0
|
||||
ij_kotlin_wrap_first_method_in_call_chain = false
|
||||
|
||||
[{*.har,*.json}]
|
||||
indent_size = 2
|
||||
ij_json_keep_blank_lines_in_code = 0
|
||||
ij_json_keep_indents_on_empty_lines = false
|
||||
ij_json_keep_line_breaks = true
|
||||
ij_json_space_after_colon = true
|
||||
ij_json_space_after_comma = true
|
||||
ij_json_space_before_colon = true
|
||||
ij_json_space_before_comma = false
|
||||
ij_json_spaces_within_braces = false
|
||||
ij_json_spaces_within_brackets = false
|
||||
ij_json_wrap_long_lines = false
|
||||
|
||||
[{*.htm,*.html,*.sht,*.shtm,*.shtml}]
|
||||
ij_html_add_new_line_before_tags = body,div,p,form,h1,h2,h3
|
||||
ij_html_align_attributes = true
|
||||
ij_html_align_text = false
|
||||
ij_html_attribute_wrap = normal
|
||||
ij_html_block_comment_at_first_column = true
|
||||
ij_html_do_not_align_children_of_min_lines = 0
|
||||
ij_html_do_not_break_if_inline_tags = title,h1,h2,h3,h4,h5,h6,p
|
||||
ij_html_do_not_indent_children_of_tags = html,body,thead,tbody,tfoot
|
||||
ij_html_enforce_quotes = false
|
||||
ij_html_inline_tags = a,abbr,acronym,b,basefont,bdo,big,br,cite,cite,code,dfn,em,font,i,img,input,kbd,label,q,s,samp,select,small,span,strike,strong,sub,sup,textarea,tt,u,var
|
||||
ij_html_keep_blank_lines = 2
|
||||
ij_html_keep_indents_on_empty_lines = false
|
||||
ij_html_keep_line_breaks = true
|
||||
ij_html_keep_line_breaks_in_text = true
|
||||
ij_html_keep_whitespaces = false
|
||||
ij_html_keep_whitespaces_inside = span,pre,textarea
|
||||
ij_html_line_comment_at_first_column = true
|
||||
ij_html_new_line_after_last_attribute = never
|
||||
ij_html_new_line_before_first_attribute = never
|
||||
ij_html_quote_style = double
|
||||
ij_html_remove_new_line_before_tags = br
|
||||
ij_html_space_after_tag_name = false
|
||||
ij_html_space_around_equality_in_attribute = false
|
||||
ij_html_space_inside_empty_tag = false
|
||||
ij_html_text_wrap = normal
|
||||
ij_html_uniform_ident = false
|
||||
|
||||
[{*.yaml,*.yml}]
|
||||
indent_size = 2
|
||||
ij_yaml_align_values_properties = do_not_align
|
||||
ij_yaml_autoinsert_sequence_marker = true
|
||||
ij_yaml_block_mapping_on_new_line = false
|
||||
ij_yaml_indent_sequence_value = true
|
||||
ij_yaml_keep_indents_on_empty_lines = false
|
||||
ij_yaml_keep_line_breaks = true
|
||||
ij_yaml_sequence_on_new_line = false
|
||||
ij_yaml_space_before_colon = false
|
||||
ij_yaml_spaces_within_braces = true
|
||||
ij_yaml_spaces_within_brackets = true
|
||||
|
5
.github/ISSUE_TEMPLATE/bug.yml
vendored
5
.github/ISSUE_TEMPLATE/bug.yml
vendored
@@ -57,8 +57,9 @@ body:
|
||||
id: homeserver
|
||||
attributes:
|
||||
label: Homeserver
|
||||
description: Which server is your account registered on?
|
||||
placeholder: e.g. matrix.org
|
||||
description: |
|
||||
Which server is your account registered on? If it is a local or non-public homeserver, please tell us what is the homeserver implementation (ex: Synapse/Dendrite/etc.) and the version.
|
||||
placeholder: e.g. matrix.org or Synapse 1.50.0rc1
|
||||
validations:
|
||||
required: false
|
||||
- type: dropdown
|
||||
|
39
.github/ISSUE_TEMPLATE/release.yml
vendored
39
.github/ISSUE_TEMPLATE/release.yml
vendored
@@ -1,6 +1,6 @@
|
||||
name: Release checklist
|
||||
description: Checklist for each release. This template is only for the core team.
|
||||
title: "[Release] Element Android v"
|
||||
title: "[Release] Element Android v"
|
||||
labels: [🚀 Release]
|
||||
assignees:
|
||||
- bmarty
|
||||
@@ -10,7 +10,7 @@ body:
|
||||
id: checklist
|
||||
attributes:
|
||||
label: Release checklist
|
||||
description: For the template example, we are releasing the version 1.1.10. Replace 1.1.10 with the version in the issue body.
|
||||
description: For the template example, we are releasing the version 1.2.3. Replace 1.2.3 with the version in the issue body.
|
||||
placeholder: |
|
||||
If you are reading this, you have deleted the content of the release template: undo the deletion or start again.
|
||||
value: |
|
||||
@@ -18,39 +18,46 @@ body:
|
||||
|
||||
- [ ] Weblate sync, fix lint issue if any (in a dedicated PR)
|
||||
- [ ] Check the update of the store descriptions (using Google Translate if necessary) to ensure that the changes are acceptable to be published to the stores.
|
||||
- [ ] While Weblate is locked, and after the PR from Weblate has been merged, handle all the TODOs in the main `strings.xml` file
|
||||
- [ ] Run the script `./tools/release/pushPlayStoreMetaData.sh`. You can check in the GooglePlay console the Activity log to check the effect.
|
||||
|
||||
### Do the release
|
||||
|
||||
- [ ] Create release with gitflow, branch name `release/1.1.10`
|
||||
- [ ] Create release with gitflow, branch name `release/1.2.3`
|
||||
- [ ] Check the crashes from the PlayStore
|
||||
- [ ] Check the rageshake with the current dev version: https://github.com/matrix-org/element-android-rageshakes/labels/1.1.10-dev
|
||||
- [ ] Check the rageshake with the current dev version: https://github.com/matrix-org/element-android-rageshakes/labels/1.2.3-dev
|
||||
- [ ] Run the integration test, and especially `UiAllScreensSanityTest.allScreensTest()`
|
||||
- [ ] Create an account on matrix.org
|
||||
- [ ] Run towncrier: `towncrier --version v1.1.10 --draft` (remove `--draft` do write the file CHANGES.md)
|
||||
- [ ] Create an account on matrix.org and do some smoke tests that the sanity test does not cover like: 1-1 call, 1-1 video call, Jitsi call for instance
|
||||
- [ ] Run towncrier: `towncrier --version v1.2.3 --draft` (remove `--draft` do write the file CHANGES.md)
|
||||
- [ ] Check that the folder `changelog.d` is empty. It can happen that some remaining files stay here
|
||||
- [ ] Check the file CHANGES.md consistency. It's possible to reorder items (most important changes first) or change their section if relevant. Also an opportunity to fix some typo, or rewrite things
|
||||
- [ ] Add file for fastlane under ./fastlane/metadata/android/en-US/changelogs
|
||||
- [ ] Push the branch and start a draft PR (will not be merged), to check that the CI is happy with all the changes.
|
||||
- [ ] Finish release with gitflow, delete the draft PR
|
||||
- [ ] Push `main` and the new tag `v1.1.10` to origin
|
||||
- [ ] (optional) Push the branch and start a draft PR (will not be merged), to check that the CI is happy with all the changes.
|
||||
- [ ] Finish release with gitflow, delete the draft PR (if created)
|
||||
- [ ] Push `main` and the new tag `v1.2.3` to origin
|
||||
- [ ] Checkout `develop`
|
||||
- [ ] Increase version in `./vector/build.gradle`
|
||||
- [ ] Increase version (versionPatch + 2) in `./vector/build.gradle`
|
||||
- [ ] Change the value of SDK_VERSION in the file `./matrix-sdk-android/build.gradle`
|
||||
- [ ] Commit and push `develop`
|
||||
- [ ] Wait for [Buildkite](https://buildkite.com/matrix-dot-org/element-android/builds?branch=main) to build the `main` branch.
|
||||
- [ ] Run the script `~/scripts/releaseElement.sh`. It will download the APKs from Buildkite check them and sign them.
|
||||
- [ ] Install the APK on your phone to check that the upgrade went well (no init sync, etc.)
|
||||
- [ ] Create the release on gitHub [from the tag](https://github.com/vector-im/element-android/tags), copy paste the block from the file CHANGES.md
|
||||
- [ ] Add the 4 signed APKs to the GitHub release
|
||||
- [ ] Ping the Android Internal room
|
||||
|
||||
### Once tested and validated internally
|
||||
|
||||
- [ ] Create a new beta release on the GooglePlay console and upload the 4 signed Apks.
|
||||
- [ ] Check that the version codes are correct
|
||||
- [ ] Copy the fastlane change to the GooglePlay console in the section en-GB.
|
||||
- [ ] Push to beta release to 100% of the users
|
||||
- [ ] Create the release on gitHub [from the tag](https://github.com/vector-im/element-android/tags), copy paste the block from the file CHANGES.md
|
||||
- [ ] Add the 4 signed APKs to the GitHub release
|
||||
- [ ] Ping the Android Internal room
|
||||
- [ ] Add an entry in the internal diary
|
||||
- [ ] Notify the F-Droid team so that they can schedule the publication on F-Droid
|
||||
|
||||
### Once Live on PlayStore
|
||||
|
||||
- [ ] Ping the Android public room and update its topic
|
||||
- [ ] Add an entry in the internal diary
|
||||
|
||||
### After at least 2 days
|
||||
|
||||
@@ -62,6 +69,8 @@ body:
|
||||
|
||||
### Android SDK2
|
||||
|
||||
The SDK2 and the sample app are released only when Element has been pushed to production.
|
||||
|
||||
- [ ] Checkout the `main` branch on Element Android project
|
||||
|
||||
#### On the SDK2 project
|
||||
@@ -97,7 +106,7 @@ body:
|
||||
|
||||
https://github.com/matrix-org/matrix-android-sdk2-sample
|
||||
|
||||
- [ ] Update the dependency to the new version of the SDK2. It can take some time for MavenCentral to make the librarie available. You can check status on https://repo1.maven.org/maven2/org/matrix/android/matrix-android-sdk2/
|
||||
- [ ] Update the dependency to the new version of the SDK2. It can take a few minutes for MavenCentral to make the library available. You can check status on https://repo1.maven.org/maven2/org/matrix/android/matrix-android-sdk2/
|
||||
- [ ] Build and run the sample, you may have to fix some API break
|
||||
- [ ] Commit and push directly on `main`
|
||||
validations:
|
||||
|
48
.github/PULL_REQUEST_TEMPLATE.md
vendored
48
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -1,10 +1,52 @@
|
||||
### Pull Request Checklist
|
||||
<!-- Please read [CONTRIBUTING.md](https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md) before submitting your pull request -->
|
||||
|
||||
## Type of change
|
||||
|
||||
- [ ] Feature
|
||||
- [ ] Bugfix
|
||||
- [ ] Technical
|
||||
- [ ] Other :
|
||||
|
||||
## Content
|
||||
|
||||
<!-- Describe shortly what has been changed -->
|
||||
|
||||
## Motivation and context
|
||||
|
||||
<!-- Provide link to the corresponding issue if applicable or explain the context -->
|
||||
|
||||
## Screenshots / GIFs
|
||||
|
||||
<!-- Only if UI have been changed
|
||||
You can use a table like this to show screenshots comparison.
|
||||
Uncomment this markdown table below and edit the last line `|||`:
|
||||
|copy screenshot of before here|copy screenshot of after here|
|
||||
-->
|
||||
|
||||
<!--
|
||||
Please read [CONTRIBUTING.md](https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md) before submitting your pull request
|
||||
Depending on the Pull Request content, it can be acceptable if some of the following checkboxes stay unchecked.
|
||||
|Before|After|
|
||||
|-|-|
|
||||
|||
|
||||
-->
|
||||
|
||||
## Tests
|
||||
|
||||
<!-- Explain how you tested your development -->
|
||||
|
||||
- Step 1
|
||||
- Step 2
|
||||
- Step ...
|
||||
|
||||
## Tested devices
|
||||
|
||||
- [ ] Physical
|
||||
- [ ] Emulator
|
||||
- OS version(s):
|
||||
|
||||
## Checklist
|
||||
|
||||
<!-- Depending on the Pull Request content, it can be acceptable if some of the following checkboxes stay unchecked. -->
|
||||
|
||||
- [ ] Changes has been tested on an Android device or Android emulator with API 21
|
||||
- [ ] UI change has been tested on both light and dark themes
|
||||
- [ ] Accessibility has been taken into account. See https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md#accessibility
|
||||
|
2
.github/dependabot.yml
vendored
2
.github/dependabot.yml
vendored
@@ -10,6 +10,8 @@ updates:
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
ignore:
|
||||
- dependency-name: "*github-script*"
|
||||
# Updates for Gradle dependencies used in the app
|
||||
- package-ecosystem: gradle
|
||||
directory: "/"
|
||||
|
17
.github/workflows/build.yml
vendored
17
.github/workflows/build.yml
vendored
@@ -20,9 +20,13 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
target: [ Gplay, Fdroid ]
|
||||
# Allow all jobs on develop. Just one per PR.
|
||||
concurrency:
|
||||
group: ${{ github.ref == 'refs/heads/develop' && format('integration-tests-develop-{0}-{1}', matrix.target, github.sha) || format('build-debug-{0}-{1}', matrix.target, github.ref) }}
|
||||
cancel-in-progress: true
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/cache@v2
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
~/.gradle/caches
|
||||
@@ -33,7 +37,7 @@ jobs:
|
||||
- name: Assemble ${{ matrix.target }} debug apk
|
||||
run: ./gradlew assemble${{ matrix.target }}Debug $CI_GRADLE_ARG_PROPERTIES --stacktrace
|
||||
- name: Upload ${{ matrix.target }} debug APKs
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: vector-${{ matrix.target }}-debug
|
||||
path: |
|
||||
@@ -43,9 +47,10 @@ jobs:
|
||||
name: Build unsigned GPlay APKs
|
||||
runs-on: ubuntu-latest
|
||||
if: github.ref == 'refs/heads/main'
|
||||
# Only runs on main, no concurrency.
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/cache@v2
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
~/.gradle/caches
|
||||
@@ -56,7 +61,7 @@ jobs:
|
||||
- name: Assemble GPlay unsigned apk
|
||||
run: ./gradlew clean assembleGplayRelease $CI_GRADLE_ARG_PROPERTIES --stacktrace
|
||||
- name: Upload Gplay unsigned APKs
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: vector-gplay-release-unsigned
|
||||
path: |
|
||||
|
@@ -5,6 +5,7 @@ jobs:
|
||||
validation:
|
||||
name: "Validation"
|
||||
runs-on: ubuntu-latest
|
||||
# No concurrency required, this is a prerequisite to other actions and should run every time.
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
- uses: gradle/wrapper-validation-action@v1
|
||||
|
86
.github/workflows/integration.yml
vendored
86
.github/workflows/integration.yml
vendored
@@ -1,86 +0,0 @@
|
||||
name: Integration Test
|
||||
|
||||
on:
|
||||
pull_request: { }
|
||||
push:
|
||||
branches: [ main, develop ]
|
||||
|
||||
# Enrich gradle.properties for CI/CD
|
||||
env:
|
||||
CI_GRADLE_ARG_PROPERTIES: >
|
||||
-Porg.gradle.jvmargs=-Xmx2g
|
||||
-Porg.gradle.parallel=false
|
||||
|
||||
jobs:
|
||||
# Temporary add build of Android tests, which cannot be run on the CI right now, but they need to at least compile
|
||||
# So it will be mandatory for this action to be successful on every PRs
|
||||
compile-android-test:
|
||||
name: Compile Android tests
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
~/.gradle/caches
|
||||
~/.gradle/wrapper
|
||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gradle-
|
||||
- name: Compile Android tests
|
||||
run: ./gradlew clean assembleAndroidTest $CI_GRADLE_ARG_PROPERTIES --stacktrace -PallWarningsAsErrors=false
|
||||
|
||||
integration-tests:
|
||||
name: Integration Tests (Synapse)
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
api-level: [28]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: gradle/wrapper-validation-action@v1
|
||||
- uses: actions/setup-java@v2
|
||||
with:
|
||||
distribution: 'adopt'
|
||||
java-version: 11
|
||||
- name: Set up Python 3.8
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: 3.8
|
||||
- name: Cache pip
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ~/.cache/pip
|
||||
key: ${{ runner.os }}-pip
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pip-
|
||||
${{ runner.os }}-
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
~/.gradle/caches
|
||||
~/.gradle/wrapper
|
||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gradle-
|
||||
- name: Start synapse server
|
||||
run: |
|
||||
python3 -m venv .synapse
|
||||
source .synapse/bin/activate
|
||||
pip install synapse matrix-synapse
|
||||
curl -sL https://raw.githubusercontent.com/matrix-org/synapse/develop/demo/start.sh --no-rate-limit \
|
||||
| sed s/127.0.0.1/0.0.0.0/g | bash
|
||||
- name: Run integration tests on API ${{ matrix.api-level }}
|
||||
uses: reactivecircus/android-emulator-runner@v2
|
||||
with:
|
||||
api-level: ${{ matrix.api-level }}
|
||||
#arch: x86_64
|
||||
#disable-animations: true
|
||||
# script: ./gradlew -PallWarningsAsErrors=false vector:connectedAndroidTest matrix-sdk-android:connectedAndroidTest
|
||||
arch: x86
|
||||
profile: Nexus 5X
|
||||
force-avd-creation: false
|
||||
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
||||
emulator-build: 7425822
|
||||
script: ./gradlew $CI_GRADLE_ARG_PROPERTIES -PallWarningsAsErrors=false connectedCheck --stacktrace
|
338
.github/workflows/nightly.yml
vendored
Normal file
338
.github/workflows/nightly.yml
vendored
Normal file
@@ -0,0 +1,338 @@
|
||||
name: Nightly Tests
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ release/* ]
|
||||
schedule:
|
||||
# At 20:00 every day UTC
|
||||
- cron: '0 20 * * *'
|
||||
workflow_dispatch:
|
||||
|
||||
# Enrich gradle.properties for CI/CD
|
||||
env:
|
||||
CI_GRADLE_ARG_PROPERTIES: >
|
||||
-Porg.gradle.jvmargs=-Xmx4g
|
||||
-Porg.gradle.parallel=false
|
||||
jobs:
|
||||
# Run Android Tests
|
||||
integration-tests:
|
||||
name: Matrix SDK - Running Integration Tests
|
||||
runs-on: macos-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
api-level: [ 28 ]
|
||||
# No concurrency required, runs every time on a schedule.
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: gradle/wrapper-validation-action@v1
|
||||
- uses: actions/setup-java@v3
|
||||
with:
|
||||
distribution: 'adopt'
|
||||
java-version: 11
|
||||
- name: Set up Python 3.8
|
||||
uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: 3.8
|
||||
- uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
~/.gradle/caches
|
||||
~/.gradle/wrapper
|
||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gradle-
|
||||
- name: Start synapse server
|
||||
uses: michaelkaye/setup-matrix-synapse@v1.0.1
|
||||
with:
|
||||
uploadLogs: true
|
||||
httpPort: 8080
|
||||
disableRateLimiting: true
|
||||
# package: org.matrix.android.sdk.session
|
||||
- name: Run integration tests for Matrix SDK [org.matrix.android.sdk.session] API[${{ matrix.api-level }}]
|
||||
uses: reactivecircus/android-emulator-runner@v2
|
||||
with:
|
||||
api-level: ${{ matrix.api-level }}
|
||||
arch: x86
|
||||
profile: Nexus 5X
|
||||
force-avd-creation: false
|
||||
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
||||
emulator-build: 7425822
|
||||
script: |
|
||||
adb root
|
||||
adb logcat -c
|
||||
touch emulator-session.log
|
||||
chmod 777 emulator-session.log
|
||||
adb logcat >> emulator-session.log &
|
||||
./gradlew $CI_GRADLE_ARG_PROPERTIES -Pandroid.testInstrumentationRunnerArguments.package='org.matrix.android.sdk.session' matrix-sdk-android:connectedDebugAndroidTest
|
||||
- name: Read Results [org.matrix.android.sdk.session]
|
||||
if: always()
|
||||
id: get-comment-body-session
|
||||
run: python3 ./tools/ci/render_test_output.py session ./matrix-sdk-android/build/outputs/androidTest-results/connected/*.xml
|
||||
- name: Remove adb logcat
|
||||
if: always()
|
||||
run: pkill -9 adb
|
||||
- name: Run integration tests for Matrix SDK [org.matrix.android.sdk.account] API[${{ matrix.api-level }}]
|
||||
if: always()
|
||||
uses: reactivecircus/android-emulator-runner@v2
|
||||
with:
|
||||
api-level: ${{ matrix.api-level }}
|
||||
arch: x86
|
||||
profile: Nexus 5X
|
||||
force-avd-creation: false
|
||||
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
||||
emulator-build: 7425822
|
||||
script: |
|
||||
adb root
|
||||
adb logcat -c
|
||||
touch emulator-account.log
|
||||
chmod 777 emulator-account.log
|
||||
adb logcat >> emulator-account.log &
|
||||
./gradlew $CI_GRADLE_ARG_PROPERTIES -Pandroid.testInstrumentationRunnerArguments.package='org.matrix.android.sdk.account' matrix-sdk-android:connectedDebugAndroidTest
|
||||
- name: Read Results [org.matrix.android.sdk.account]
|
||||
if: always()
|
||||
id: get-comment-body-account
|
||||
run: python3 ./tools/ci/render_test_output.py account ./matrix-sdk-android/build/outputs/androidTest-results/connected/*.xml
|
||||
- name: Remove adb logcat
|
||||
if: always()
|
||||
run: pkill -9 adb
|
||||
# package: org.matrix.android.sdk.internal
|
||||
- name: Run integration tests for Matrix SDK [org.matrix.android.sdk.internal] API[${{ matrix.api-level }}]
|
||||
if: always()
|
||||
uses: reactivecircus/android-emulator-runner@v2
|
||||
with:
|
||||
api-level: ${{ matrix.api-level }}
|
||||
arch: x86
|
||||
profile: Nexus 5X
|
||||
force-avd-creation: false
|
||||
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
||||
emulator-build: 7425822
|
||||
script: |
|
||||
adb root
|
||||
adb logcat -c
|
||||
touch emulator-internal.log
|
||||
chmod 777 emulator-internal.log
|
||||
adb logcat >> emulator-internal.log &
|
||||
./gradlew $CI_GRADLE_ARG_PROPERTIES -Pandroid.testInstrumentationRunnerArguments.package='org.matrix.android.sdk.internal' matrix-sdk-android:connectedDebugAndroidTest
|
||||
- name: Read Results [org.matrix.android.sdk.internal]
|
||||
if: always()
|
||||
id: get-comment-body-internal
|
||||
run: python3 ./tools/ci/render_test_output.py internal ./matrix-sdk-android/build/outputs/androidTest-results/connected/*.xml
|
||||
- name: Remove adb logcat
|
||||
if: always()
|
||||
run: pkill -9 adb
|
||||
# package: org.matrix.android.sdk.ordering
|
||||
- name: Run integration tests for Matrix SDK [org.matrix.android.sdk.ordering] API[${{ matrix.api-level }}]
|
||||
if: always()
|
||||
uses: reactivecircus/android-emulator-runner@v2
|
||||
with:
|
||||
api-level: ${{ matrix.api-level }}
|
||||
arch: x86
|
||||
profile: Nexus 5X
|
||||
force-avd-creation: false
|
||||
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
||||
emulator-build: 7425822
|
||||
script: |
|
||||
adb root
|
||||
adb logcat -c
|
||||
touch emulator-ordering.log
|
||||
chmod 777 emulator-ordering.log
|
||||
adb logcat >> emulator-ordering.log &
|
||||
./gradlew $CI_GRADLE_ARG_PROPERTIES -Pandroid.testInstrumentationRunnerArguments.package='org.matrix.android.sdk.ordering' matrix-sdk-android:connectedDebugAndroidTest
|
||||
- name: Read Results [org.matrix.android.sdk.ordering]
|
||||
if: always()
|
||||
id: get-comment-body-ordering
|
||||
run: python3 ./tools/ci/render_test_output.py ordering ./matrix-sdk-android/build/outputs/androidTest-results/connected/*.xml
|
||||
- name: Remove adb logcat
|
||||
if: always()
|
||||
run: pkill -9 adb
|
||||
# package: class PermalinkParserTest
|
||||
- name: Run integration tests for Matrix SDK class [org.matrix.android.sdk.PermalinkParserTest] API[${{ matrix.api-level }}]
|
||||
if: always()
|
||||
uses: reactivecircus/android-emulator-runner@v2
|
||||
with:
|
||||
api-level: ${{ matrix.api-level }}
|
||||
arch: x86
|
||||
profile: Nexus 5X
|
||||
force-avd-creation: false
|
||||
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
||||
emulator-build: 7425822
|
||||
script: |
|
||||
adb root
|
||||
adb logcat -c
|
||||
touch emulator-permalink.log
|
||||
chmod 777 emulator-permalink.log
|
||||
adb logcat >> emulator-permalink.log &
|
||||
./gradlew $CI_GRADLE_ARG_PROPERTIES -Pandroid.testInstrumentationRunnerArguments.class='org.matrix.android.sdk.PermalinkParserTest' matrix-sdk-android:connectedDebugAndroidTest
|
||||
- name: Read Results [org.matrix.android.sdk.PermalinkParserTest]
|
||||
if: always()
|
||||
id: get-comment-body-permalink
|
||||
run: python3 ./tools/ci/render_test_output.py permalink ./matrix-sdk-android/build/outputs/androidTest-results/connected/*.xml
|
||||
- name: Remove adb logcat
|
||||
if: always()
|
||||
run: pkill -9 adb
|
||||
# package: class PermalinkParserTest
|
||||
- name: Find Comment
|
||||
if: always() && github.event_name == 'pull_request'
|
||||
uses: peter-evans/find-comment@v2
|
||||
id: fc
|
||||
with:
|
||||
issue-number: ${{ github.event.pull_request.number }}
|
||||
comment-author: 'github-actions[bot]'
|
||||
body-includes: Integration Tests Results
|
||||
- name: Publish results to PR
|
||||
if: always() && github.event_name == 'pull_request'
|
||||
uses: peter-evans/create-or-update-comment@v2
|
||||
with:
|
||||
comment-id: ${{ steps.fc.outputs.comment-id }}
|
||||
issue-number: ${{ github.event.pull_request.number }}
|
||||
body: |
|
||||
### Matrix SDK
|
||||
## Integration Tests Results:
|
||||
- `[org.matrix.android.sdk.session]`<br>${{ steps.get-comment-body-session.outputs.session }}
|
||||
- `[org.matrix.android.sdk.account]`<br>${{ steps.get-comment-body-account.outputs.account }}
|
||||
- `[org.matrix.android.sdk.internal]`<br>${{ steps.get-comment-body-internal.outputs.internal }}
|
||||
- `[org.matrix.android.sdk.ordering]`<br>${{ steps.get-comment-body-ordering.outputs.ordering }}
|
||||
- `[org.matrix.android.sdk.PermalinkParserTest]`<br>${{ steps.get-comment-body-permalink.outputs.permalink }}
|
||||
edit-mode: replace
|
||||
- name: Upload Test Report Log
|
||||
uses: actions/upload-artifact@v3
|
||||
if: always()
|
||||
with:
|
||||
name: integrationtest-error-results
|
||||
path: |
|
||||
emulator-permalink.log
|
||||
emulator-internal.log
|
||||
emulator-ordering.log
|
||||
emulator-account.log
|
||||
emulator-session.log
|
||||
|
||||
ui-tests:
|
||||
name: UI Tests (Synapse)
|
||||
runs-on: macos-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
api-level: [ 28 ]
|
||||
# No concurrency required, runs every time on a schedule.
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Set up Python 3.8
|
||||
uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: 3.8
|
||||
- uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
~/.gradle/caches
|
||||
~/.gradle/wrapper
|
||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gradle-
|
||||
- name: Start synapse server
|
||||
uses: michaelkaye/setup-matrix-synapse@v1.0.1
|
||||
with:
|
||||
uploadLogs: true
|
||||
httpPort: 8080
|
||||
disableRateLimiting: true
|
||||
- uses: actions/setup-java@v3
|
||||
with:
|
||||
distribution: 'adopt'
|
||||
java-version: '11'
|
||||
- name: Run sanity tests on API ${{ matrix.api-level }}
|
||||
uses: reactivecircus/android-emulator-runner@v2
|
||||
with:
|
||||
api-level: ${{ matrix.api-level }}
|
||||
arch: x86
|
||||
profile: Nexus 5X
|
||||
force-avd-creation: false
|
||||
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
||||
emulator-build: 7425822 # workaround to emulator bug: https://github.com/ReactiveCircus/android-emulator-runner/issues/160
|
||||
script: |
|
||||
adb root
|
||||
adb logcat -c
|
||||
touch emulator.log
|
||||
chmod 777 emulator.log
|
||||
adb logcat >> emulator.log &
|
||||
./gradlew $CI_GRADLE_ARG_PROPERTIES connectedGplayDebugAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=im.vector.app.ui.UiAllScreensSanityTest || (adb pull storage/emulated/0/Pictures/failure_screenshots && exit 1 )
|
||||
- name: Upload Test Report Log
|
||||
uses: actions/upload-artifact@v3
|
||||
if: always()
|
||||
with:
|
||||
name: uitest-error-results
|
||||
path: |
|
||||
emulator.log
|
||||
failure_screenshots/
|
||||
|
||||
codecov-units:
|
||||
name: Unit tests with code coverage
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-java@v3
|
||||
with:
|
||||
distribution: 'adopt'
|
||||
java-version: '11'
|
||||
- uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
~/.gradle/caches
|
||||
~/.gradle/wrapper
|
||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gradle-
|
||||
- run: ./gradlew allCodeCoverageReport $CI_GRADLE_ARG_PROPERTIES
|
||||
- name: Upload Codecov data
|
||||
uses: actions/upload-artifact@v3
|
||||
if: always()
|
||||
with:
|
||||
name: codecov-xml
|
||||
path: |
|
||||
build/reports/jacoco/allCodeCoverageReport/allCodeCoverageReport.xml
|
||||
|
||||
sonarqube:
|
||||
name: Sonarqube upload
|
||||
runs-on: macos-latest
|
||||
if: always() && github.event_name == 'schedule'
|
||||
needs:
|
||||
- codecov-units
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-java@v3
|
||||
with:
|
||||
distribution: 'adopt'
|
||||
java-version: '11'
|
||||
- uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
~/.gradle/caches
|
||||
~/.gradle/wrapper
|
||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gradle-
|
||||
- uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: codecov-xml # will restore to allCodeCoverageReport.xml by default; we restore to the same location in following tasks
|
||||
- run: mkdir -p build/reports/jacoco/allCodeCoverageReport/
|
||||
- run: mv allCodeCoverageReport.xml build/reports/jacoco/allCodeCoverageReport/
|
||||
- run: ./gradlew sonarqube $CI_GRADLE_ARG_PROPERTIES
|
||||
env:
|
||||
ORG_GRADLE_PROJECT_SONAR_LOGIN: ${{ secrets.SONAR_TOKEN }}
|
||||
|
||||
# Notify the channel about scheduled runs, or pushes to the release branches, do not notify for manually triggered runs
|
||||
notify:
|
||||
name: Notify matrix
|
||||
runs-on: ubuntu-latest
|
||||
needs:
|
||||
- integration-tests
|
||||
- ui-tests
|
||||
- sonarqube
|
||||
if: always() && github.event_name != 'workflow_dispatch'
|
||||
# No concurrency required, runs every time on a schedule.
|
||||
steps:
|
||||
- uses: michaelkaye/matrix-hookshot-action@v1.0.0
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
hookshot_url: ${{ secrets.ELEMENT_ANDROID_HOOKSHOT_URL }}
|
||||
text_template: "{{#if '${{ github.event_name }}' == 'schedule' }}Nightly test run{{else}}Test run (on ${{ github.ref }}){{/if }}: {{#each job_statuses }}{{#with this }}{{#if completed }} {{name}} {{conclusion}} at {{completed_at}}, {{/if}}{{/with}}{{/each}}"
|
||||
html_template: "{{#if '${{ github.event_name }}' == 'schedule' }}Nightly test run{{else}}Test run (on ${{ github.ref }}){{/if }}: {{#each job_statuses }}{{#with this }}{{#if completed }}<br />{{icon conclusion}} {{name}} <font color='{{color conclusion}}'>{{conclusion}} at {{completed_at}} <a href=\"{{html_url}}\">[details]</a></font>{{/if}}{{/with}}{{/each}}"
|
40
.github/workflows/quality.yml
vendored
40
.github/workflows/quality.yml
vendored
@@ -10,7 +10,7 @@ jobs:
|
||||
name: Project Check Suite
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
- name: Run code quality check suite
|
||||
run: ./tools/check/check_code_quality.sh
|
||||
|
||||
@@ -18,14 +18,18 @@ jobs:
|
||||
ktlint:
|
||||
name: Kotlin Linter
|
||||
runs-on: ubuntu-latest
|
||||
# Allow all jobs on main and develop. Just one per PR.
|
||||
concurrency:
|
||||
group: ${{ github.ref == 'refs/heads/main' && format('ktlint-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('ktlint-develop-{0}', github.sha) || format('ktlint-{0}', github.ref) }}
|
||||
cancel-in-progress: true
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
- name: Run ktlint
|
||||
run: |
|
||||
./gradlew ktlintCheck --continue
|
||||
- name: Upload reports
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ktlinting-report
|
||||
path: |
|
||||
@@ -54,16 +58,16 @@ jobs:
|
||||
echo "::set-output name=body::$body"
|
||||
fi
|
||||
- name: Find Comment
|
||||
if: always()
|
||||
uses: peter-evans/find-comment@v1
|
||||
if: always() && github.event_name == 'pull_request'
|
||||
uses: peter-evans/find-comment@v2
|
||||
id: fc
|
||||
with:
|
||||
issue-number: ${{ github.event.pull_request.number }}
|
||||
comment-author: 'github-actions[bot]'
|
||||
body-includes: Ktlint Results
|
||||
- name: Add comment if needed
|
||||
if: always() && steps.ktlint-results.outputs.add_comment == 'true'
|
||||
uses: peter-evans/create-or-update-comment@v1
|
||||
if: always() && github.event_name == 'pull_request' && steps.ktlint-results.outputs.add_comment == 'true'
|
||||
uses: peter-evans/create-or-update-comment@v2
|
||||
with:
|
||||
comment-id: ${{ steps.fc.outputs.comment-id }}
|
||||
issue-number: ${{ github.event.pull_request.number }}
|
||||
@@ -73,7 +77,7 @@ jobs:
|
||||
${{ steps.ktlint-results.outputs.body }}
|
||||
edit-mode: replace
|
||||
- name: Delete comment if needed
|
||||
if: always() && steps.fc.outputs.comment-id != '' && steps.ktlint-results.outputs.add_comment == 'false'
|
||||
if: always() && github.event_name == 'pull_request' && steps.fc.outputs.comment-id != '' && steps.ktlint-results.outputs.add_comment == 'false'
|
||||
uses: actions/github-script@v3
|
||||
with:
|
||||
script: |
|
||||
@@ -87,9 +91,13 @@ jobs:
|
||||
android-lint:
|
||||
name: Android Linter
|
||||
runs-on: ubuntu-latest
|
||||
# Allow all jobs on main and develop. Just one per PR.
|
||||
concurrency:
|
||||
group: ${{ github.ref == 'refs/heads/main' && format('android-lint-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('android-lint-develop-{0}', github.sha) || format('android-lint-{0}', github.ref) }}
|
||||
cancel-in-progress: true
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/cache@v2
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
~/.gradle/caches
|
||||
@@ -101,7 +109,7 @@ jobs:
|
||||
run: ./gradlew clean :vector:lint --stacktrace
|
||||
- name: Upload reports
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: lint-report
|
||||
path: |
|
||||
@@ -116,9 +124,13 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
target: [ Gplay, Fdroid ]
|
||||
# Allow all jobs on develop. Just one per PR.
|
||||
concurrency:
|
||||
group: ${{ github.ref == 'refs/heads/develop' && format('apk-lint-develop-{0}-{1}', matrix.target, github.sha) || format('apk-lint-{0}-{1}', matrix.target, github.ref) }}
|
||||
cancel-in-progress: true
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/cache@v2
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
~/.gradle/caches
|
||||
@@ -130,7 +142,7 @@ jobs:
|
||||
run: ./gradlew clean lint${{ matrix.target }}Release --stacktrace
|
||||
- name: Upload ${{ matrix.target }} linting report
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: release-lint-report-${{ matrix.target }}
|
||||
path: |
|
||||
|
78
.github/workflows/sanity_test.yml
vendored
78
.github/workflows/sanity_test.yml
vendored
@@ -1,78 +0,0 @@
|
||||
name: Sanity Test
|
||||
|
||||
on:
|
||||
schedule:
|
||||
# At 20:00 every day UTC
|
||||
- cron: '0 20 * * *'
|
||||
|
||||
# Enrich gradle.properties for CI/CD
|
||||
env:
|
||||
CI_GRADLE_ARG_PROPERTIES: >
|
||||
-Porg.gradle.jvmargs=-Xmx2g
|
||||
-Porg.gradle.parallel=false
|
||||
|
||||
jobs:
|
||||
integration-tests:
|
||||
name: Sanity Tests (Synapse)
|
||||
runs-on: macos-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
api-level: [ 29 ]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
ref: develop
|
||||
- name: Set up Python 3.8
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: 3.8
|
||||
- name: Cache pip
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ~/.cache/pip
|
||||
key: ${{ runner.os }}-pip
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pip-
|
||||
${{ runner.os }}-
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
~/.gradle/caches
|
||||
~/.gradle/wrapper
|
||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gradle-
|
||||
- name: Start synapse server
|
||||
run: |
|
||||
python3 -m venv .synapse
|
||||
source .synapse/bin/activate
|
||||
pip install synapse matrix-synapse
|
||||
curl -sL https://raw.githubusercontent.com/matrix-org/synapse/develop/demo/start.sh \
|
||||
| sed s/127.0.0.1/0.0.0.0/g | sed 's/http:\/\/localhost/http:\/\/10.0.2.2/g' | bash -s -- --no-rate-limit
|
||||
- uses: actions/setup-java@v2
|
||||
with:
|
||||
distribution: 'adopt'
|
||||
java-version: '11'
|
||||
- name: Run sanity tests on API ${{ matrix.api-level }}
|
||||
uses: reactivecircus/android-emulator-runner@v2
|
||||
with:
|
||||
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
||||
api-level: ${{ matrix.api-level }}
|
||||
profile: 24 # Pixel 5
|
||||
emulator-build: 7425822 # workaround to emulator bug: https://github.com/ReactiveCircus/android-emulator-runner/issues/160
|
||||
script: |
|
||||
adb root
|
||||
adb logcat -c
|
||||
touch emulator.log
|
||||
chmod 777 emulator.log
|
||||
adb logcat >> emulator.log &
|
||||
./gradlew $CI_GRADLE_ARG_PROPERTIES -PallWarningsAsErrors=false connectedGplayDebugAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=im.vector.app.ui.UiAllScreensSanityTest || adb pull storage/emulated/0/Pictures/failure_screenshots && exit 1
|
||||
- name: Upload Failing Test Report Log
|
||||
uses: actions/upload-artifact@v2
|
||||
if: failure()
|
||||
with:
|
||||
name: sanity-error-results
|
||||
path: |
|
||||
emulator.log
|
||||
failure_screenshots/
|
35
.github/workflows/sync-from-external-sources.yml
vendored
35
.github/workflows/sync-from-external-sources.yml
vendored
@@ -9,20 +9,13 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
# Skip in forks
|
||||
if: github.repository == 'vector-im/element-android'
|
||||
# No concurrency required, runs every time on a schedule.
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
- name: Set up Python 3.8
|
||||
uses: actions/setup-python@v2
|
||||
uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: 3.8
|
||||
- name: Cache pip
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ~/.cache/pip
|
||||
key: ${{ runner.os }}-pip
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pip-
|
||||
${{ runner.os }}-
|
||||
- name: Install Prerequisite dependencies
|
||||
run: |
|
||||
pip install BeautifulSoup4
|
||||
@@ -30,7 +23,7 @@ jobs:
|
||||
- name: Run Emoji script
|
||||
run: ./tools/import_emojis.py
|
||||
- name: Create Pull Request for Emojis
|
||||
uses: peter-evans/create-pull-request@v3
|
||||
uses: peter-evans/create-pull-request@v4
|
||||
with:
|
||||
commit-message: Sync Emojis
|
||||
title: Sync Emojis
|
||||
@@ -43,27 +36,20 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
# Skip in forks
|
||||
if: github.repository == 'vector-im/element-android'
|
||||
# No concurrency required, runs every time on a schedule.
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
- name: Set up Python 3.8
|
||||
uses: actions/setup-python@v2
|
||||
uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: 3.8
|
||||
- name: Cache pip
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ~/.cache/pip
|
||||
key: ${{ runner.os }}-pip
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pip-
|
||||
${{ runner.os }}-
|
||||
- name: Install Prerequisite dependencies
|
||||
run: |
|
||||
pip install requests
|
||||
- name: Run SAS String script
|
||||
run: ./tools/import_sas_strings.py
|
||||
- name: Create Pull Request for SAS Strings
|
||||
uses: peter-evans/create-pull-request@v3
|
||||
uses: peter-evans/create-pull-request@v4
|
||||
with:
|
||||
commit-message: Sync SAS Strings
|
||||
title: Sync SAS Strings
|
||||
@@ -76,12 +62,13 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
# Skip in forks
|
||||
if: github.repository == 'vector-im/element-android'
|
||||
# No concurrency required, runs every time on a schedule.
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
- name: Run analytics import script
|
||||
run: ./tools/import_analytic_plan.sh
|
||||
- name: Create Pull Request for analytics plan
|
||||
uses: peter-evans/create-pull-request@v3
|
||||
uses: peter-evans/create-pull-request@v4
|
||||
with:
|
||||
commit-message: Sync analytics plan
|
||||
title: Sync analytics plan
|
||||
|
54
.github/workflows/tests.yml
vendored
54
.github/workflows/tests.yml
vendored
@@ -12,12 +12,40 @@ env:
|
||||
-Porg.gradle.parallel=false
|
||||
|
||||
jobs:
|
||||
# Build Android Tests
|
||||
build-android-tests:
|
||||
name: Build Android Tests
|
||||
runs-on: ubuntu-latest
|
||||
concurrency:
|
||||
group: ${{ github.ref == 'refs/heads/main' && format('unit-tests-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('unit-tests-develop-{0}', github.sha) || format('build-android-tests-{0}', github.ref) }}
|
||||
cancel-in-progress: true
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-java@v3
|
||||
with:
|
||||
distribution: 'adopt'
|
||||
java-version: 11
|
||||
- uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
~/.gradle/caches
|
||||
~/.gradle/wrapper
|
||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gradle-
|
||||
- name: Build Android Tests
|
||||
run: ./gradlew clean assembleAndroidTest $CI_GRADLE_ARG_PROPERTIES --stacktrace
|
||||
|
||||
unit-tests:
|
||||
name: Run Unit Tests
|
||||
runs-on: ubuntu-latest
|
||||
# Allow all jobs on main and develop. Just one per PR.
|
||||
concurrency:
|
||||
group: ${{ github.ref == 'refs/heads/main' && format('unit-tests-main-{0}', github.sha) || github.ref == 'refs/heads/develop' && format('unit-tests-develop-{0}', github.sha) || format('unit-tests-{0}', github.ref) }}
|
||||
cancel-in-progress: true
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/cache@v2
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
~/.gradle/caches
|
||||
@@ -26,7 +54,10 @@ jobs:
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gradle-
|
||||
- name: Run unit tests
|
||||
run: ./gradlew clean test $CI_GRADLE_ARG_PROPERTIES -PallWarningsAsErrors=false --stacktrace
|
||||
run: ./gradlew clean test $CI_GRADLE_ARG_PROPERTIES --stacktrace
|
||||
- name: Format unit test results
|
||||
if: always()
|
||||
run: python3 ./tools/ci/render_test_output.py unit ./**/build/test-results/**/*.xml
|
||||
- name: Publish Unit Test Results
|
||||
uses: EnricoMi/publish-unit-test-result-action@v1
|
||||
if: always() &&
|
||||
@@ -34,3 +65,20 @@ jobs:
|
||||
( github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository )
|
||||
with:
|
||||
files: ./**/build/test-results/**/*.xml
|
||||
|
||||
# Notify the channel about runs against develop or main that have failures, as PRs should have caught these first.
|
||||
notify:
|
||||
runs-on: ubuntu-latest
|
||||
needs:
|
||||
- unit-tests
|
||||
- build-android-tests
|
||||
if: ${{ (github.ref == 'refs/heads/develop' || github.ref == 'refs/heads/main' ) && failure() }}
|
||||
steps:
|
||||
- uses: michaelkaye/matrix-hookshot-action@v0.3.0
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
matrix_access_token: ${{ secrets.ELEMENT_ANDROID_NOTIFICATION_ACCESS_TOKEN }}
|
||||
matrix_room_id: ${{ secrets.ELEMENT_ANDROID_INTERNAL_ROOM_ID }}
|
||||
text_template: "Build is broken for ${{ github.ref }}: {{#each job_statuses }}{{#with this }}{{#if completed }}{{name}} {{conclusion}} at {{completed_at}}, {{/if}}{{/with}}{{/each}}"
|
||||
html_template: "Build is broken for ${{ github.ref }}: {{#each job_statuses }}{{#with this }}{{#if completed }}<br />{{icon conclusion }} {{name}} <font color='{{color conclusion }}'>{{conclusion}} at {{completed_at}} <a href=\"{{html_url}}\">[details]</a></font>{{/if}}{{/with}}{{/each}}"
|
||||
|
||||
|
280
.github/workflows/triage-labelled.yml
vendored
Normal file
280
.github/workflows/triage-labelled.yml
vendored
Normal file
@@ -0,0 +1,280 @@
|
||||
name: Move labelled issues to correct boards and columns
|
||||
|
||||
on:
|
||||
issues:
|
||||
types: [labeled]
|
||||
|
||||
jobs:
|
||||
apply_Z-Labs_label:
|
||||
name: Add Z-Labs label for features behind labs flags
|
||||
runs-on: ubuntu-latest
|
||||
if: >
|
||||
contains(github.event.issue.labels.*.name, 'A-Maths') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-Message-Pinning') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-Polls') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-Location-Sharing') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-Message-Bubbles') ||
|
||||
contains(github.event.issue.labels.*.name, 'Z-IA') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-Themes-Custom') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-E2EE-Dehydration') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-Tags')
|
||||
steps:
|
||||
- uses: actions/github-script@v5
|
||||
with:
|
||||
script: |
|
||||
github.rest.issues.addLabels({
|
||||
issue_number: context.issue.number,
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
labels: ['Z-Labs']
|
||||
})
|
||||
|
||||
move_needs_info_issues:
|
||||
name: X-Needs-Info issues to Need info column on triage board
|
||||
runs-on: ubuntu-latest
|
||||
# Skip in forks
|
||||
if: github.repository == 'vector-im/element-android'
|
||||
steps:
|
||||
- uses: konradpabjan/move-labeled-or-milestoned-issue@219d384e03fa4b6460cd24f9f37d19eb033a4338
|
||||
with:
|
||||
action-token: "${{ secrets.ELEMENT_BOT_TOKEN }}"
|
||||
project-url: "https://github.com/vector-im/element-android/projects/4"
|
||||
column-name: "Need info"
|
||||
label-name: "X-Needs-Info"
|
||||
|
||||
add_priority_design_issues_to_project:
|
||||
name: P1 X-Needs-Design to Design project board
|
||||
runs-on: ubuntu-latest
|
||||
# Skip in forks
|
||||
if: >
|
||||
github.repository == 'vector-im/element-android' &&
|
||||
contains(github.event.issue.labels.*.name, 'X-Needs-Design') &&
|
||||
(contains(github.event.issue.labels.*.name, 'S-Critical') &&
|
||||
(contains(github.event.issue.labels.*.name, 'O-Frequent') ||
|
||||
contains(github.event.issue.labels.*.name, 'O-Occasional')) ||
|
||||
contains(github.event.issue.labels.*.name, 'S-Major') &&
|
||||
contains(github.event.issue.labels.*.name, 'O-Frequent') ||
|
||||
contains(github.event.issue.labels.*.name, 'A11y') &&
|
||||
contains(github.event.issue.labels.*.name, 'O-Frequent'))
|
||||
steps:
|
||||
- uses: octokit/graphql-action@v2.x
|
||||
id: add_to_project
|
||||
with:
|
||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||
query: |
|
||||
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
|
||||
projectNextItem {
|
||||
id
|
||||
}
|
||||
}
|
||||
}
|
||||
projectid: ${{ env.PROJECT_ID }}
|
||||
contentid: ${{ github.event.issue.node_id }}
|
||||
env:
|
||||
PROJECT_ID: "PN_kwDOAM0swc0sUA"
|
||||
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
|
||||
add_product_issues:
|
||||
name: X-Needs-Product to Design project board
|
||||
runs-on: ubuntu-latest
|
||||
if: >
|
||||
contains(github.event.issue.labels.*.name, 'X-Needs-Product')
|
||||
steps:
|
||||
- uses: octokit/graphql-action@v2.x
|
||||
id: add_to_project
|
||||
with:
|
||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||
query: |
|
||||
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
|
||||
projectNextItem {
|
||||
id
|
||||
}
|
||||
}
|
||||
}
|
||||
projectid: ${{ env.PROJECT_ID }}
|
||||
contentid: ${{ github.event.issue.node_id }}
|
||||
env:
|
||||
PROJECT_ID: "PN_kwDOAM0swc4AAg6N"
|
||||
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
|
||||
delight_issues_to_board:
|
||||
name: Spaces issues to Delight project board
|
||||
runs-on: ubuntu-latest
|
||||
# Skip in forks
|
||||
if: >
|
||||
github.repository == 'vector-im/element-android' &&
|
||||
(contains(github.event.issue.labels.*.name, 'A-Spaces') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-Space-Settings') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-Subspaces') ||
|
||||
contains(github.event.issue.labels.*.name, 'Z-IA'))
|
||||
steps:
|
||||
- uses: octokit/graphql-action@v2.x
|
||||
with:
|
||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||
query: |
|
||||
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
|
||||
projectNextItem {
|
||||
id
|
||||
}
|
||||
}
|
||||
}
|
||||
projectid: ${{ env.PROJECT_ID }}
|
||||
contentid: ${{ github.event.issue.node_id }}
|
||||
env:
|
||||
PROJECT_ID: "PN_kwDOAM0swc1HvQ"
|
||||
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
|
||||
move_voice-message_issues:
|
||||
name: A-Voice Messages to voice message board
|
||||
runs-on: ubuntu-latest
|
||||
# Skip in forks
|
||||
if: >
|
||||
github.repository == 'vector-im/element-android' &&
|
||||
contains(github.event.issue.labels.*.name, 'A-Voice Messages')
|
||||
steps:
|
||||
- uses: octokit/graphql-action@v2.x
|
||||
with:
|
||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||
query: |
|
||||
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
|
||||
projectNextItem {
|
||||
id
|
||||
}
|
||||
}
|
||||
}
|
||||
projectid: ${{ env.PROJECT_ID }}
|
||||
contentid: ${{ github.event.issue.node_id }}
|
||||
env:
|
||||
PROJECT_ID: "PN_kwDOAM0swc2KCw"
|
||||
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
|
||||
move_threads_issues:
|
||||
name: A-Threads to Thread board
|
||||
runs-on: ubuntu-latest
|
||||
# Skip in forks
|
||||
if: >
|
||||
github.repository == 'vector-im/element-android' &&
|
||||
contains(github.event.issue.labels.*.name, 'A-Threads')
|
||||
steps:
|
||||
- uses: octokit/graphql-action@v2.x
|
||||
with:
|
||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||
query: |
|
||||
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
|
||||
projectNextItem {
|
||||
id
|
||||
}
|
||||
}
|
||||
}
|
||||
projectid: ${{ env.PROJECT_ID }}
|
||||
contentid: ${{ github.event.issue.node_id }}
|
||||
env:
|
||||
PROJECT_ID: "PN_kwDOAM0swc0rRA"
|
||||
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
|
||||
move_message_bubbles_issues:
|
||||
name: A-Message-Bubbles to Message bubbles board
|
||||
runs-on: ubuntu-latest
|
||||
# Skip in forks
|
||||
if: >
|
||||
github.repository == 'vector-im/element-android' &&
|
||||
contains(github.event.issue.labels.*.name, 'A-Message-Bubbles')
|
||||
steps:
|
||||
- uses: octokit/graphql-action@v2.x
|
||||
with:
|
||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||
query: |
|
||||
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
|
||||
projectNextItem {
|
||||
id
|
||||
}
|
||||
}
|
||||
}
|
||||
projectid: ${{ env.PROJECT_ID }}
|
||||
contentid: ${{ github.event.issue.node_id }}
|
||||
env:
|
||||
PROJECT_ID: "PN_kwDOAM0swc3m-g"
|
||||
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
|
||||
move_ftue_issues:
|
||||
name: Z-FTUE to Mobile FTUE board
|
||||
runs-on: ubuntu-latest
|
||||
# Skip in forks
|
||||
if: >
|
||||
github.repository == 'vector-im/element-android' &&
|
||||
contains(github.event.issue.labels.*.name, 'Z-FTUE')
|
||||
steps:
|
||||
- uses: octokit/graphql-action@v2.x
|
||||
with:
|
||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||
query: |
|
||||
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
|
||||
projectNextItem {
|
||||
id
|
||||
}
|
||||
}
|
||||
}
|
||||
projectid: ${{ env.PROJECT_ID }}
|
||||
contentid: ${{ github.event.issue.node_id }}
|
||||
env:
|
||||
PROJECT_ID: "PN_kwDOAM0swc4AAqVx"
|
||||
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
|
||||
move_WTF_issues:
|
||||
name: Z-WTF to WTF board
|
||||
runs-on: ubuntu-latest
|
||||
# Skip in forks
|
||||
if: >
|
||||
github.repository == 'vector-im/element-android' &&
|
||||
contains(github.event.issue.labels.*.name, 'Z-WTF')
|
||||
steps:
|
||||
- uses: octokit/graphql-action@v2.x
|
||||
with:
|
||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||
query: |
|
||||
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
|
||||
projectNextItem {
|
||||
id
|
||||
}
|
||||
}
|
||||
}
|
||||
projectid: ${{ env.PROJECT_ID }}
|
||||
contentid: ${{ github.event.issue.node_id }}
|
||||
env:
|
||||
PROJECT_ID: "PN_kwDOAM0swc4AArk0"
|
||||
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
|
||||
move_element_x_issues:
|
||||
name: ElementX issues to ElementX project board
|
||||
runs-on: ubuntu-latest
|
||||
# Skip in forks
|
||||
if: >
|
||||
github.repository == 'vector-im/element-android' &&
|
||||
(contains(github.event.issue.labels.*.name, 'Z-ElementX-Alpha') ||
|
||||
contains(github.event.issue.labels.*.name, 'Z-ElementX-Beta') ||
|
||||
contains(github.event.issue.labels.*.name, 'Z-ElementX'))
|
||||
steps:
|
||||
- uses: octokit/graphql-action@v2.x
|
||||
with:
|
||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||
query: |
|
||||
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
|
||||
projectNextItem {
|
||||
id
|
||||
}
|
||||
}
|
||||
}
|
||||
projectid: ${{ env.PROJECT_ID }}
|
||||
contentid: ${{ github.event.issue.node_id }}
|
||||
env:
|
||||
PROJECT_ID: "PN_kwDOAM0swc4ABTXY"
|
||||
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
154
.github/workflows/triage-move-labelled.yml
vendored
154
.github/workflows/triage-move-labelled.yml
vendored
@@ -1,154 +0,0 @@
|
||||
name: Move labelled issues to correct boards and columns
|
||||
|
||||
on:
|
||||
issues:
|
||||
types: [labeled]
|
||||
|
||||
jobs:
|
||||
move_needs_info_issues:
|
||||
name: X-Needs-Info issues to Need info column on triage board
|
||||
runs-on: ubuntu-latest
|
||||
# Skip in forks
|
||||
if: github.repository == 'vector-im/element-android'
|
||||
steps:
|
||||
- uses: konradpabjan/move-labeled-or-milestoned-issue@219d384e03fa4b6460cd24f9f37d19eb033a4338
|
||||
with:
|
||||
action-token: "${{ secrets.ELEMENT_BOT_TOKEN }}"
|
||||
project-url: "https://github.com/vector-im/element-android/projects/4"
|
||||
column-name: "Need info"
|
||||
label-name: "X-Needs-Info"
|
||||
|
||||
add_priority_design_issues_to_project:
|
||||
name: P1 X-Needs-Design to Design project board
|
||||
runs-on: ubuntu-latest
|
||||
# Skip in forks
|
||||
if: >
|
||||
github.repository == 'vector-im/element-android' &&
|
||||
contains(github.event.issue.labels.*.name, 'X-Needs-Design') &&
|
||||
(contains(github.event.issue.labels.*.name, 'S-Critical') &&
|
||||
(contains(github.event.issue.labels.*.name, 'O-Frequent') ||
|
||||
contains(github.event.issue.labels.*.name, 'O-Occasional')) ||
|
||||
contains(github.event.issue.labels.*.name, 'S-Major') &&
|
||||
contains(github.event.issue.labels.*.name, 'O-Frequent') ||
|
||||
contains(github.event.issue.labels.*.name, 'A11y') &&
|
||||
contains(github.event.issue.labels.*.name, 'O-Frequent'))
|
||||
steps:
|
||||
- uses: octokit/graphql-action@v2.x
|
||||
id: add_to_project
|
||||
with:
|
||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||
query: |
|
||||
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
|
||||
projectNextItem {
|
||||
id
|
||||
}
|
||||
}
|
||||
}
|
||||
projectid: ${{ env.PROJECT_ID }}
|
||||
contentid: ${{ github.event.issue.node_id }}
|
||||
env:
|
||||
PROJECT_ID: "PN_kwDOAM0swc0sUA"
|
||||
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
|
||||
# delight_issues_to_board:
|
||||
# name: Spaces issues to new Delight project board
|
||||
# runs-on: ubuntu-latest
|
||||
# # Skip in forks
|
||||
# if: >
|
||||
# github.repository == 'vector-im/element-android' &&
|
||||
# contains(github.event.issue.labels.*.name, 'A-Spaces') ||
|
||||
# contains(github.event.issue.labels.*.name, 'A-Space-Settings') ||
|
||||
# contains(github.event.issue.labels.*.name, 'A-Subspaces')
|
||||
# steps:
|
||||
# - uses: octokit/graphql-action@v2.x
|
||||
# with:
|
||||
# headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||
# query: |
|
||||
# mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||
# addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
|
||||
# projectNextItem {
|
||||
# id
|
||||
# }
|
||||
# }
|
||||
# }
|
||||
# projectid: ${{ env.PROJECT_ID }}
|
||||
# contentid: ${{ github.event.issue.node_id }}
|
||||
# env:
|
||||
# PROJECT_ID: "PN_kwDOAM0swc1HvQ"
|
||||
# GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
|
||||
move_voice-message_issues:
|
||||
name: A-Voice Messages to voice message board
|
||||
runs-on: ubuntu-latest
|
||||
# Skip in forks
|
||||
if: >
|
||||
github.repository == 'vector-im/element-android' &&
|
||||
contains(github.event.issue.labels.*.name, 'A-Voice Messages')
|
||||
steps:
|
||||
- uses: octokit/graphql-action@v2.x
|
||||
with:
|
||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||
query: |
|
||||
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
|
||||
projectNextItem {
|
||||
id
|
||||
}
|
||||
}
|
||||
}
|
||||
projectid: ${{ env.PROJECT_ID }}
|
||||
contentid: ${{ github.event.issue.node_id }}
|
||||
env:
|
||||
PROJECT_ID: "PN_kwDOAM0swc2KCw"
|
||||
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
|
||||
move_threads_issues:
|
||||
name: A-Threads to Thread board
|
||||
runs-on: ubuntu-latest
|
||||
# Skip in forks
|
||||
if: >
|
||||
github.repository == 'vector-im/element-android' &&
|
||||
contains(github.event.issue.labels.*.name, 'A-Threads')
|
||||
steps:
|
||||
- uses: octokit/graphql-action@v2.x
|
||||
with:
|
||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||
query: |
|
||||
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
|
||||
projectNextItem {
|
||||
id
|
||||
}
|
||||
}
|
||||
}
|
||||
projectid: ${{ env.PROJECT_ID }}
|
||||
contentid: ${{ github.event.issue.node_id }}
|
||||
env:
|
||||
PROJECT_ID: "PN_kwDOAM0swc0rRA"
|
||||
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
|
||||
move_message_bubbles_issues:
|
||||
name: A-Message-Bubbles to Message bubbles board
|
||||
runs-on: ubuntu-latest
|
||||
# Skip in forks
|
||||
if: >
|
||||
github.repository == 'vector-im/element-android' &&
|
||||
contains(github.event.issue.labels.*.name, 'A-Message-Bubbles')
|
||||
steps:
|
||||
- uses: octokit/graphql-action@v2.x
|
||||
with:
|
||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||
query: |
|
||||
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
|
||||
projectNextItem {
|
||||
id
|
||||
}
|
||||
}
|
||||
}
|
||||
projectid: ${{ env.PROJECT_ID }}
|
||||
contentid: ${{ github.event.issue.node_id }}
|
||||
env:
|
||||
PROJECT_ID: "PN_kwDOAM0swc3m-g"
|
||||
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
143
.github/workflows/triage-move-review-requests.yml
vendored
Normal file
143
.github/workflows/triage-move-review-requests.yml
vendored
Normal file
@@ -0,0 +1,143 @@
|
||||
name: Move pull requests asking for review to the relevant project
|
||||
on:
|
||||
pull_request_target:
|
||||
types: [review_requested]
|
||||
|
||||
jobs:
|
||||
add_design_pr_to_project:
|
||||
name: Move PRs asking for design review to the design board
|
||||
runs-on: ubuntu-latest
|
||||
# Skip in forks
|
||||
if: github.repository == 'vector-im/element-android'
|
||||
steps:
|
||||
- uses: octokit/graphql-action@v2.x
|
||||
id: find_team_members
|
||||
with:
|
||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||
query: |
|
||||
query find_team_members($team: String!) {
|
||||
organization(login: "vector-im") {
|
||||
team(slug: $team) {
|
||||
members {
|
||||
nodes {
|
||||
login
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
team: ${{ env.TEAM }}
|
||||
env:
|
||||
TEAM: "design"
|
||||
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
- id: any_matching_reviewers
|
||||
run: |
|
||||
# Fetch requested reviewers, and people who are on the team
|
||||
echo '${{ tojson(fromjson(steps.find_team_members.outputs.data).organization.team.members.nodes[*].login) }}' | tee /tmp/team_members.json
|
||||
echo '${{ tojson(github.event.pull_request.requested_reviewers[*].login) }}' | tee /tmp/reviewers.json
|
||||
jq --raw-output .[] < /tmp/team_members.json | sort | tee /tmp/team_members.txt
|
||||
jq --raw-output .[] < /tmp/reviewers.json | sort | tee /tmp/reviewers.txt
|
||||
|
||||
# Fetch requested team reviewers, and the name of the team
|
||||
echo '${{ tojson(github.event.pull_request.requested_teams[*].slug) }}' | tee /tmp/team_reviewers.json
|
||||
jq --raw-output .[] < /tmp/team_reviewers.json | sort | tee /tmp/team_reviewers.txt
|
||||
echo '${{ env.TEAM }}' | tee /tmp/team.txt
|
||||
|
||||
# If either a reviewer matches a team member, or a team matches our team, say "true"
|
||||
if [ $(join /tmp/team_members.txt /tmp/reviewers.txt | wc -l) != 0 ]; then
|
||||
echo "::set-output name=match::true"
|
||||
elif [ $(join /tmp/team.txt /tmp/team_reviewers.txt | wc -l) != 0 ]; then
|
||||
echo "::set-output name=match::true"
|
||||
else
|
||||
echo "::set-output name=match::false"
|
||||
fi
|
||||
env:
|
||||
TEAM: "design"
|
||||
- uses: octokit/graphql-action@v2.x
|
||||
id: add_to_project
|
||||
if: steps.any_matching_reviewers.outputs.match == 'true'
|
||||
with:
|
||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||
query: |
|
||||
mutation add_to_project($projectid:ID!, $contentid:ID!) {
|
||||
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
|
||||
projectNextItem {
|
||||
id
|
||||
}
|
||||
}
|
||||
}
|
||||
projectid: ${{ env.PROJECT_ID }}
|
||||
contentid: ${{ github.event.pull_request.node_id }}
|
||||
env:
|
||||
PROJECT_ID: "PN_kwDOAM0swc0sUA"
|
||||
TEAM: "design"
|
||||
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
|
||||
add_product_pr_to_project:
|
||||
name: Move PRs asking for product review to the product board
|
||||
runs-on: ubuntu-latest
|
||||
# Skip in forks
|
||||
if: github.repository == 'vector-im/element-android'
|
||||
steps:
|
||||
- uses: octokit/graphql-action@v2.x
|
||||
id: find_team_members
|
||||
with:
|
||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||
query: |
|
||||
query find_team_members($team: String!) {
|
||||
organization(login: "vector-im") {
|
||||
team(slug: $team) {
|
||||
members {
|
||||
nodes {
|
||||
login
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
team: ${{ env.TEAM }}
|
||||
env:
|
||||
TEAM: "product"
|
||||
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
- id: any_matching_reviewers
|
||||
run: |
|
||||
# Fetch requested reviewers, and people who are on the team
|
||||
echo '${{ tojson(fromjson(steps.find_team_members.outputs.data).organization.team.members.nodes[*].login) }}' | tee /tmp/team_members.json
|
||||
echo '${{ tojson(github.event.pull_request.requested_reviewers[*].login) }}' | tee /tmp/reviewers.json
|
||||
jq --raw-output .[] < /tmp/team_members.json | sort | tee /tmp/team_members.txt
|
||||
jq --raw-output .[] < /tmp/reviewers.json | sort | tee /tmp/reviewers.txt
|
||||
|
||||
# Fetch requested team reviewers, and the name of the team
|
||||
echo '${{ tojson(github.event.pull_request.requested_teams[*].slug) }}' | tee /tmp/team_reviewers.json
|
||||
jq --raw-output .[] < /tmp/team_reviewers.json | sort | tee /tmp/team_reviewers.txt
|
||||
echo '${{ env.TEAM }}' | tee /tmp/team.txt
|
||||
|
||||
# If either a reviewer matches a team member, or a team matches our team, say "true"
|
||||
if [ $(join /tmp/team_members.txt /tmp/reviewers.txt | wc -l) != 0 ]; then
|
||||
echo "::set-output name=match::true"
|
||||
elif [ $(join /tmp/team.txt /tmp/team_reviewers.txt | wc -l) != 0 ]; then
|
||||
echo "::set-output name=match::true"
|
||||
else
|
||||
echo "::set-output name=match::false"
|
||||
fi
|
||||
env:
|
||||
TEAM: "product"
|
||||
- uses: octokit/graphql-action@v2.x
|
||||
id: add_to_project
|
||||
if: steps.any_matching_reviewers.outputs.match == 'true'
|
||||
with:
|
||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||
query: |
|
||||
mutation add_to_project($projectid:ID!, $contentid:ID!) {
|
||||
addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
|
||||
projectNextItem {
|
||||
id
|
||||
}
|
||||
}
|
||||
}
|
||||
projectid: ${{ env.PROJECT_ID }}
|
||||
contentid: ${{ github.event.pull_request.node_id }}
|
||||
env:
|
||||
PROJECT_ID: "PN_kwDOAM0swc4AAg6N"
|
||||
TEAM: "product"
|
||||
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
3
.github/workflows/triage-priority-bugs.yml
vendored
3
.github/workflows/triage-priority-bugs.yml
vendored
@@ -38,6 +38,7 @@ jobs:
|
||||
# Skip in forks
|
||||
if: >
|
||||
github.repository == 'vector-im/element-android' &&
|
||||
(contains(github.event.issue.labels.*.name, 'Z-UISI') ||
|
||||
(contains(github.event.issue.labels.*.name, 'A-E2EE') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-E2EE-Cross-Signing') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-E2EE-Dehydration') ||
|
||||
@@ -50,7 +51,7 @@ jobs:
|
||||
contains(github.event.issue.labels.*.name, 'S-Major') &&
|
||||
contains(github.event.issue.labels.*.name, 'O-Frequent') ||
|
||||
contains(github.event.issue.labels.*.name, 'A11y') &&
|
||||
contains(github.event.issue.labels.*.name, 'O-Frequent'))
|
||||
contains(github.event.issue.labels.*.name, 'O-Frequent')))
|
||||
steps:
|
||||
- uses: alex-page/github-project-automation-plus@bb266ff4dde9242060e2d5418e120a133586d488
|
||||
with:
|
||||
|
@@ -34,3 +34,29 @@ jobs:
|
||||
project: Issue triage
|
||||
column: Triaged
|
||||
repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
|
||||
remove_Z-Labs_label:
|
||||
name: Remove Z-Labs label when features behind labs flags are removed
|
||||
runs-on: ubuntu-latest
|
||||
if: >
|
||||
!(contains(github.event.issue.labels.*.name, 'A-Maths') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-Message-Pinning') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-Threads') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-Polls') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-Location-Sharing') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-Message-Bubbles') ||
|
||||
contains(github.event.issue.labels.*.name, 'Z-IA') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-Themes-Custom') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-E2EE-Dehydration') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-Tags')) &&
|
||||
contains(github.event.issue.labels.*.name, 'Z-Labs')
|
||||
steps:
|
||||
- uses: actions/github-script@v5
|
||||
with:
|
||||
script: |
|
||||
github.rest.issues.removeLabel({
|
||||
issue_number: context.issue.number,
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
name: ['Z-Labs']
|
||||
})
|
4
.github/workflows/update-gradle-wrapper.yml
vendored
4
.github/workflows/update-gradle-wrapper.yml
vendored
@@ -9,10 +9,12 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Update Gradle Wrapper
|
||||
uses: gradle-update/update-gradle-wrapper-action@v1
|
||||
# Skip in forks
|
||||
if: github.repository == 'vector-im/element-android'
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
target-branch: develop
|
||||
|
3
.idea/dictionaries/bmarty.xml
generated
3
.idea/dictionaries/bmarty.xml
generated
@@ -11,6 +11,7 @@
|
||||
<w>emoji</w>
|
||||
<w>emojis</w>
|
||||
<w>fdroid</w>
|
||||
<w>ganfra</w>
|
||||
<w>gplay</w>
|
||||
<w>hmac</w>
|
||||
<w>homeserver</w>
|
||||
@@ -18,6 +19,7 @@
|
||||
<w>ktlint</w>
|
||||
<w>linkified</w>
|
||||
<w>linkify</w>
|
||||
<w>manu</w>
|
||||
<w>megolm</w>
|
||||
<w>msisdn</w>
|
||||
<w>msisdns</w>
|
||||
@@ -28,6 +30,7 @@
|
||||
<w>previewable</w>
|
||||
<w>previewables</w>
|
||||
<w>pstn</w>
|
||||
<w>rageshake</w>
|
||||
<w>riotx</w>
|
||||
<w>signin</w>
|
||||
<w>signout</w>
|
||||
|
BIN
.idea/icon.png
generated
Normal file
BIN
.idea/icon.png
generated
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
409
CHANGES.md
409
CHANGES.md
@@ -1,3 +1,412 @@
|
||||
Changes in Element 1.4.13 (2022-04-26)
|
||||
======================================
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Fix UI freeze observed after each incremental sync ([#5835](https://github.com/vector-im/element-android/issues/5835))
|
||||
|
||||
|
||||
Changes in Element v1.4.12 (2022-04-20)
|
||||
=======================================
|
||||
|
||||
Features ✨
|
||||
----------
|
||||
- Add a setting to be able to always appear offline ([#5582](https://github.com/vector-im/element-android/issues/5582))
|
||||
- Adds the ability for audio attachments to be played in the timeline ([#5586](https://github.com/vector-im/element-android/issues/5586))
|
||||
- Do not cancel the current incremental sync request and treatment when the app goes to background ([#5719](https://github.com/vector-im/element-android/issues/5719))
|
||||
- Improve user experience when home servers do not yet support threads ([#5761](https://github.com/vector-im/element-android/issues/5761))
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Added text next to spinner when loading information after user is clicked on space members screen ([#4305](https://github.com/vector-im/element-android/issues/4305))
|
||||
- The string `ftue_auth_carousel_workplace_body` was declared not translatable by mistake ([#5262](https://github.com/vector-im/element-android/issues/5262))
|
||||
- Fix some cases where the read marker line would not show up ([#5475](https://github.com/vector-im/element-android/issues/5475))
|
||||
- Fix sometimes read marker not properly updating ([#5481](https://github.com/vector-im/element-android/issues/5481))
|
||||
- Fix sometimes endless loading timeline ([#5554](https://github.com/vector-im/element-android/issues/5554))
|
||||
- Use member name instead of room name in DM creation item ([#5570](https://github.com/vector-im/element-android/issues/5570))
|
||||
- Align auto-reporting of decryption errors implementation with web client. ([#5596](https://github.com/vector-im/element-android/issues/5596))
|
||||
- Choosing "leave all rooms and spaces" while leaving Space won't cause leaving DMs in this Space anymore ([#5609](https://github.com/vector-im/element-android/issues/5609))
|
||||
- Fixes display name being changed when using /myroomnick ([#5618](https://github.com/vector-im/element-android/issues/5618))
|
||||
- Fix endless loading if the event from a permalink is not found ([#5659](https://github.com/vector-im/element-android/issues/5659))
|
||||
- Redacted events are no longer visible. ([#5707](https://github.com/vector-im/element-android/issues/5707))
|
||||
- Don't wrongly show non-space invites in the space panel. ([#5731](https://github.com/vector-im/element-android/issues/5731))
|
||||
- Fixes the onboarding confetti rendering behind the content instead of in-front ([#5735](https://github.com/vector-im/element-android/issues/5735))
|
||||
- Fixes crash when navigating the app whilst processing new room keys ([#5746](https://github.com/vector-im/element-android/issues/5746))
|
||||
- Fix sorting of uploads in encrypted rooms ([#5757](https://github.com/vector-im/element-android/issues/5757))
|
||||
- Fixing setting transfer title in call transfer. ([#5765](https://github.com/vector-im/element-android/issues/5765))
|
||||
- Changes destination after joining a space to Explore Space Rooms screen ([#5766](https://github.com/vector-im/element-android/issues/5766))
|
||||
- Unignoring a user will perform an initial sync ([#5767](https://github.com/vector-im/element-android/issues/5767))
|
||||
- Open a room by link: use the actual roomId instead of the alias ([#5786](https://github.com/vector-im/element-android/issues/5786))
|
||||
|
||||
In development 🚧
|
||||
----------------
|
||||
- FTUE - Adds a new homeserver selection screen when creating an account ([#2396](https://github.com/vector-im/element-android/issues/2396))
|
||||
- FTUE - Updates the Captcha and T&Cs registration screens UI style ([#5279](https://github.com/vector-im/element-android/issues/5279))
|
||||
- FTUE - Adds error handling within the server selection screen ([#5749](https://github.com/vector-im/element-android/issues/5749))
|
||||
- Live Location Sharing - Send location data ([#5697](https://github.com/vector-im/element-android/issues/5697))
|
||||
- Live Location Sharing - Show message on start of a live ([#5710](https://github.com/vector-im/element-android/issues/5710))
|
||||
- Live Location Sharing - Attach location data to beacon info state event ([#5711](https://github.com/vector-im/element-android/issues/5711))
|
||||
- Live Location Sharing - Update beacon info state event when sharing is ended ([#5758](https://github.com/vector-im/element-android/issues/5758))
|
||||
|
||||
|
||||
SDK API changes ⚠️
|
||||
------------------
|
||||
- Include original event in live decryption listeners and update sync status naming to InitialSyncProgressing for clarity. ([#5639](https://github.com/vector-im/element-android/issues/5639))
|
||||
- KeysBackupService.getCurrentVersion takes a new type `KeysBackupLastVersionResult` in the callback. ([#5703](https://github.com/vector-im/element-android/issues/5703))
|
||||
- A lot of classes which were exposed to the clients and were located in the package `org.matrix.android.sdk.internal` have been moved to the package `org.matrix.android.sdk.api`.
|
||||
All the classes which are in the package `org.matrix.android.sdk.internal` should now be declared `internal`.
|
||||
Some unused code and classes have been removed. ([#5744](https://github.com/vector-im/element-android/issues/5744))
|
||||
- Some data classes are now immutable, using `val` instead of `var` ([#5762](https://github.com/vector-im/element-android/issues/5762))
|
||||
|
||||
Other changes
|
||||
-------------
|
||||
- Upgrade konfetti lib from 1.3.2 to 2.0.2 ([#5079](https://github.com/vector-im/element-android/issues/5079))
|
||||
- Spaces feedback section is removed from left panel ([#5486](https://github.com/vector-im/element-android/issues/5486))
|
||||
- Reduce error logs ([#5703](https://github.com/vector-im/element-android/issues/5703))
|
||||
- Adds a complete editor config file for our current code style ([#5727](https://github.com/vector-im/element-android/issues/5727))
|
||||
- Updates the posthog dev environment url and api key ([#5732](https://github.com/vector-im/element-android/issues/5732))
|
||||
- Setup Dokka to be able to generate documentation of the SDK module. Run `./gradlew matrix-sdk-android:dokkaHtml` to do it. ([#5744](https://github.com/vector-im/element-android/issues/5744))
|
||||
|
||||
|
||||
Changes in Element v1.4.11 (2022-04-07)
|
||||
=======================================
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Choosing "leave all rooms and spaces" while leaving Space won't cause leaving DMs in this Space anymore ([#5609](https://github.com/vector-im/element-android/issues/5609))
|
||||
|
||||
|
||||
Changes in Element v1.4.10 (2022-04-05)
|
||||
=======================================
|
||||
|
||||
Features ✨
|
||||
----------
|
||||
- Allow scrolling position of Voice Message playback ([#5426](https://github.com/vector-im/element-android/issues/5426))
|
||||
- Users will be able to provide feedback for threads ([#5647](https://github.com/vector-im/element-android/issues/5647))
|
||||
- Update Jitsi lib from 3.10.0 to 5.0.2 ([#5654](https://github.com/vector-im/element-android/issues/5654))
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Replace "open settings" button by "disable" action in RageShake dialog if there is no session ([#4445](https://github.com/vector-im/element-android/issues/4445))
|
||||
- Fixes room summaries showing encrypted content after verifying device ([#4867](https://github.com/vector-im/element-android/issues/4867))
|
||||
- Fixes polls being votable after being ended ([#5473](https://github.com/vector-im/element-android/issues/5473))
|
||||
- [Subscribing] Blank display name ([#5497](https://github.com/vector-im/element-android/issues/5497))
|
||||
- Fixes voice call button disappearing in DM rooms with more than 2 members ([#5548](https://github.com/vector-im/element-android/issues/5548))
|
||||
- Add loader in thread list ([#5562](https://github.com/vector-im/element-android/issues/5562))
|
||||
- Fixed key export when overwriting existing files ([#5663](https://github.com/vector-im/element-android/issues/5663))
|
||||
|
||||
In development 🚧
|
||||
----------------
|
||||
- Adding combined account creation and server selection screen as part of the new FTUE ([#5277](https://github.com/vector-im/element-android/issues/5277))
|
||||
- Finalising FTUE onboarding account creation personalization steps but keeping feature disabled until other parts are complete ([#5519](https://github.com/vector-im/element-android/issues/5519))
|
||||
- Live Location Sharing - Foreground Service and Notification ([#5595](https://github.com/vector-im/element-android/issues/5595))
|
||||
- Send beacon info state event when live location sharing started ([#5651](https://github.com/vector-im/element-android/issues/5651))
|
||||
- Show a banner in timeline while location sharing service is running ([#5660](https://github.com/vector-im/element-android/issues/5660))
|
||||
- Location sharing: adding possibility to choose duration of live sharing ([#5667](https://github.com/vector-im/element-android/issues/5667))
|
||||
|
||||
Other changes
|
||||
-------------
|
||||
- Improve main timeline thread summary rendering ([#5151](https://github.com/vector-im/element-android/issues/5151))
|
||||
- "Add space" copy is replaced with "create space" in left sliding panel ([#5516](https://github.com/vector-im/element-android/issues/5516))
|
||||
- Flattening the asynchronous onboarding state and passing all errors through the same pipeline ([#5517](https://github.com/vector-im/element-android/issues/5517))
|
||||
- Changed items order in space menu. Changed capitalization for "space" in those items ([#5524](https://github.com/vector-im/element-android/issues/5524))
|
||||
- Permalinks to root thread messages will now navigate you within the thread timeline ([#5567](https://github.com/vector-im/element-android/issues/5567))
|
||||
- Live location sharing: adding way to override feature activation in debug ([#5581](https://github.com/vector-im/element-android/issues/5581))
|
||||
- Adds unit tests around the login with matrix id flow ([#5628](https://github.com/vector-im/element-android/issues/5628))
|
||||
- Setup the plugin org.owasp.dependencycheck ([#5654](https://github.com/vector-im/element-android/issues/5654))
|
||||
- Implement threads beta opt-in mechanism to notify users about threads ([#5692](https://github.com/vector-im/element-android/issues/5692))
|
||||
|
||||
|
||||
Changes in Element v1.4.8 (2022-03-28)
|
||||
======================================
|
||||
|
||||
Other changes
|
||||
-------------
|
||||
- Moving live location sharing permission to debug only builds whilst it is WIP ([#5636](https://github.com/vector-im/element-android/issues/5636))
|
||||
|
||||
|
||||
Changes in Element v1.4.7 (2022-03-24)
|
||||
======================================
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Fix inconsistencies between the arrow visibility and the collapse action on the room sections ([#5616](https://github.com/vector-im/element-android/issues/5616))
|
||||
- Fix room list header count flickering
|
||||
|
||||
Changes in Element v1.4.6 (2022-03-23)
|
||||
======================================
|
||||
|
||||
Features ✨
|
||||
----------
|
||||
- Thread timeline is now live and much faster especially for large or old threads ([#5230](https://github.com/vector-im/element-android/issues/5230))
|
||||
- View all threads per room screen is now live when the home server supports threads ([#5232](https://github.com/vector-im/element-android/issues/5232))
|
||||
- Add a custom view to display a picker for share location options ([#5395](https://github.com/vector-im/element-android/issues/5395))
|
||||
- Add ability to pin a location on map for sharing ([#5417](https://github.com/vector-im/element-android/issues/5417))
|
||||
- Poll Integration Tests ([#5522](https://github.com/vector-im/element-android/issues/5522))
|
||||
- Live location sharing: adding build config field and show permission dialog ([#5536](https://github.com/vector-im/element-android/issues/5536))
|
||||
- Live location sharing: Adding indicator view when enabled ([#5571](https://github.com/vector-im/element-android/issues/5571))
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Poll system notifications on Android are not user friendly ([#4780](https://github.com/vector-im/element-android/issues/4780))
|
||||
- Add colors for shield vector drawable ([#4860](https://github.com/vector-im/element-android/issues/4860))
|
||||
- Support both stable and unstable prefixes for Events about Polls and Location ([#5340](https://github.com/vector-im/element-android/issues/5340))
|
||||
- Fix missing messages when loading messages forwards ([#5448](https://github.com/vector-im/element-android/issues/5448))
|
||||
- Fix presence indicator being aligned to the center of the room image ([#5489](https://github.com/vector-im/element-android/issues/5489))
|
||||
- Read receipt in wrong order ([#5514](https://github.com/vector-im/element-android/issues/5514))
|
||||
- Fix mentions using matrix.to rather than client defined permalink base url ([#5521](https://github.com/vector-im/element-android/issues/5521))
|
||||
- Fixes crash when tapping the timeline verification surround box instead of the buttons ([#5540](https://github.com/vector-im/element-android/issues/5540))
|
||||
- [Notification mode] Wrong mode is displayed when the mention only is selected on the web client ([#5547](https://github.com/vector-im/element-android/issues/5547))
|
||||
- Fix local echos not being shown when re-opening rooms ([#5551](https://github.com/vector-im/element-android/issues/5551))
|
||||
- Fix crash when closing a room while decrypting timeline events ([#5552](https://github.com/vector-im/element-android/issues/5552))
|
||||
- Fix sometimes read marker not properly updating ([#5564](https://github.com/vector-im/element-android/issues/5564))
|
||||
|
||||
In development 🚧
|
||||
----------------
|
||||
- Dynamically showing/hiding onboarding personalisation screens based on the users homeserver capabilities ([#5375](https://github.com/vector-im/element-android/issues/5375))
|
||||
- Introduces FTUE personalisation complete screen along with confetti celebration ([#5389](https://github.com/vector-im/element-android/issues/5389))
|
||||
|
||||
SDK API changes ⚠️
|
||||
------------------
|
||||
- Adds support for MSC3440, additional threads homeserver capabilities ([#5271](https://github.com/vector-im/element-android/issues/5271))
|
||||
|
||||
Other changes
|
||||
-------------
|
||||
- Refactoring for safer olm and megolm session usage ([#5380](https://github.com/vector-im/element-android/issues/5380))
|
||||
- Improve headers UI in Rooms/Messages lists ([#4533](https://github.com/vector-im/element-android/issues/4533))
|
||||
- Number of unread messages on space badge now include number of unread DMs ([#5260](https://github.com/vector-im/element-android/issues/5260))
|
||||
- Amend spaces menu to be consistent with iOS version ([#5270](https://github.com/vector-im/element-android/issues/5270))
|
||||
- Selected space highlight changed in left panel ([#5346](https://github.com/vector-im/element-android/issues/5346))
|
||||
- [Rooms list] Do not suggest collapse the unique section ([#5347](https://github.com/vector-im/element-android/issues/5347))
|
||||
- Add analytics support for threads ([#5378](https://github.com/vector-im/element-android/issues/5378))
|
||||
- Add top margin before our first message ([#5384](https://github.com/vector-im/element-android/issues/5384))
|
||||
- Improved onboarding registration unit test coverage ([#5408](https://github.com/vector-im/element-android/issues/5408))
|
||||
- Adds stable room hierarchy endpoint with a fallback to the unstable one ([#5443](https://github.com/vector-im/element-android/issues/5443))
|
||||
- Use ColorPrimary for attachmentGalleryButton tint ([#5501](https://github.com/vector-im/element-android/issues/5501))
|
||||
- Added online presence indicator attribute online to match offline styling ([#5513](https://github.com/vector-im/element-android/issues/5513))
|
||||
- Add a presence sync enabling build config ([#5563](https://github.com/vector-im/element-android/issues/5563))
|
||||
- Show stickers on click ([#5572](https://github.com/vector-im/element-android/issues/5572))
|
||||
|
||||
|
||||
Changes in Element v1.4.4 (2022-03-09)
|
||||
======================================
|
||||
|
||||
Features ✨
|
||||
----------
|
||||
- Adds animated typing indicator to the bottom of the timeline ([#3296](https://github.com/vector-im/element-android/issues/3296))
|
||||
- Removes the topic and typing information from the room's top bar ([#4642](https://github.com/vector-im/element-android/issues/4642))
|
||||
- Add possibility to save media from Gallery + reorder choices in message context menu ([#5005](https://github.com/vector-im/element-android/issues/5005))
|
||||
- Improves settings error dialog messaging when changing avatar or display name fails ([#5418](https://github.com/vector-im/element-android/issues/5418))
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Open direct message screen when clicking on DM button in the space members list ([#4319](https://github.com/vector-im/element-android/issues/4319))
|
||||
- Fix incorrect media cache size in settings ([#5394](https://github.com/vector-im/element-android/issues/5394))
|
||||
- Setting an avatar when creating a room had no effect ([#5402](https://github.com/vector-im/element-android/issues/5402))
|
||||
- Fix reactions summary crash when reopening a room ([#5463](https://github.com/vector-im/element-android/issues/5463))
|
||||
- Fixing room titles overlapping the room image in the room toolbar ([#5468](https://github.com/vector-im/element-android/issues/5468))
|
||||
|
||||
In development 🚧
|
||||
----------------
|
||||
- Starts the FTUE account personalisation flow by adding an account created screen behind a feature flag ([#5158](https://github.com/vector-im/element-android/issues/5158))
|
||||
|
||||
SDK API changes ⚠️
|
||||
------------------
|
||||
- Change name of getTimeLineEvent and getTimeLineEventLive methods to getTimelineEvent and getTimelineEventLive. ([#5330](https://github.com/vector-im/element-android/issues/5330))
|
||||
|
||||
Other changes
|
||||
-------------
|
||||
- Improve Bubble layouts rendering ([#5303](https://github.com/vector-im/element-android/issues/5303))
|
||||
- Continue improving realm usage (potentially helping with storage and RAM usage) ([#5330](https://github.com/vector-im/element-android/issues/5330))
|
||||
- Update reaction button layout. ([#5313](https://github.com/vector-im/element-android/issues/5313))
|
||||
- Adds forceLoginFallback feature flag and usages to FTUE login and registration ([#5325](https://github.com/vector-im/element-android/issues/5325))
|
||||
- Override task affinity to prevent unknown activities running in our app tasks. ([#4498](https://github.com/vector-im/element-android/issues/4498))
|
||||
- Tentatively fixing the UI sanity test being unable to click on the space menu items ([#5269](https://github.com/vector-im/element-android/issues/5269))
|
||||
- Moves attachment-viewer, diff-match-patch, and multipicker modules to subfolders under library ([#5309](https://github.com/vector-im/element-android/issues/5309))
|
||||
- Log the `since` token used and `next_batch` token returned when doing an incremental sync. ([#5312](https://github.com/vector-im/element-android/issues/5312), [#5318](https://github.com/vector-im/element-android/issues/5318))
|
||||
- Upgrades material dependency version from 1.4.0 to 1.5.0 ([#5392](https://github.com/vector-im/element-android/issues/5392))
|
||||
- Using app name instead of hardcoded "Element" for exported keys filename ([#5326](https://github.com/vector-im/element-android/issues/5326))
|
||||
- Upgrade the plugin which generate strings with template from 1.2.2 to 2.0.0 ([#5348](https://github.com/vector-im/element-android/issues/5348))
|
||||
- Remove about 700 unused strings and their translations ([#5352](https://github.com/vector-im/element-android/issues/5352))
|
||||
- Creates dedicated VectorOverrides for forcing behaviour for local testing/development ([#5361](https://github.com/vector-im/element-android/issues/5361))
|
||||
- Cleanup unused threads build configurations ([#5379](https://github.com/vector-im/element-android/issues/5379))
|
||||
- Notify element-android channel each time a nightly build completes. ([#5314](https://github.com/vector-im/element-android/issues/5314))
|
||||
- Iterate on badge / unread indicator color ([#5456](https://github.com/vector-im/element-android/issues/5456))
|
||||
|
||||
|
||||
Changes in Element v1.4.2 (2022-02-22 Palindrome Day!)
|
||||
======================================================
|
||||
|
||||
Features ✨
|
||||
----------
|
||||
- Open the room when user accepts an invite from the room list ([#3771](https://github.com/vector-im/element-android/issues/3771))
|
||||
- Add completion for @room to notify everyone in a room ([#5123](https://github.com/vector-im/element-android/issues/5123))
|
||||
- Improve UI of reactions in timeline, including quick add reaction. ([#5204](https://github.com/vector-im/element-android/issues/5204))
|
||||
- Support creating disclosed polls ([#5290](https://github.com/vector-im/element-android/issues/5290))
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Remove redundant highlight on add poll option button ([#5178](https://github.com/vector-im/element-android/issues/5178))
|
||||
- Reliably display crash report prompt ([#5195](https://github.com/vector-im/element-android/issues/5195))
|
||||
- Fix for rooms with virtual rooms not showing call status events in the timeline. ([#5198](https://github.com/vector-im/element-android/issues/5198))
|
||||
- Fix for call transfer with consult failing to make outgoing consultation call. ([#5201](https://github.com/vector-im/element-android/issues/5201))
|
||||
- Fix crash during account registration when redirecting to Web View ([#5218](https://github.com/vector-im/element-android/issues/5218))
|
||||
- Analytics: Fixes missing use case identity values from within the onboarding flow ([#5234](https://github.com/vector-im/element-android/issues/5234))
|
||||
- Fixing crash when adding room by QR code after accepting the camera permission for the first time ([#5295](https://github.com/vector-im/element-android/issues/5295))
|
||||
|
||||
SDK API changes ⚠️
|
||||
------------------
|
||||
- `join` and `leave` methods moved from MembershipService to RoomService and SpaceService to split logic for rooms and spaces ([#5183](https://github.com/vector-im/element-android/issues/5183))
|
||||
- Deprecates Matrix.initialize and Matrix.getInstance in favour of the client providing its own singleton instance via Matrix.createInstance ([#5185](https://github.com/vector-im/element-android/issues/5185))
|
||||
- Adds support for MSC3283, additional homeserver capabilities ([#5207](https://github.com/vector-im/element-android/issues/5207))
|
||||
|
||||
Other changes
|
||||
-------------
|
||||
- Right align the notifications badge in the rooms list (and DMs) so that it's always in a consistent place on the screen. ([#4640](https://github.com/vector-im/element-android/issues/4640))
|
||||
- Collapse successive ACLs events in room timeline ([#2782](https://github.com/vector-im/element-android/issues/2782))
|
||||
- Home screen: Replacing search icon by filter icon in the top right menu ([#4643](https://github.com/vector-im/element-android/issues/4643))
|
||||
- Make Space creation screens more consistent ([#5104](https://github.com/vector-im/element-android/issues/5104))
|
||||
- Defensive coding to ensure encryption when room was once e2e ([#5136](https://github.com/vector-im/element-android/issues/5136))
|
||||
- Reduce verbosity of debug logging, ([#5209](https://github.com/vector-im/element-android/issues/5209))
|
||||
- Standardise emulator versions of GHA integration tests. ([#5210](https://github.com/vector-im/element-android/issues/5210))
|
||||
- Replacing color "vctr_unread_room_badge" by "vctr_content_secondary" ([#5225](https://github.com/vector-im/element-android/issues/5225))
|
||||
- Change preferred jitsi domain from `jitsi.riot.im` to `meet.element.io` ([#5254](https://github.com/vector-im/element-android/issues/5254))
|
||||
- Analytics screen events are now tracked on screen enter instead of screen leave ([#5256](https://github.com/vector-im/element-android/issues/5256))
|
||||
- Improves bitmap memory usage by caching the shortcut images ([#5276](https://github.com/vector-im/element-android/issues/5276))
|
||||
- Changes unread marker in room list from green to grey ([#5294](https://github.com/vector-im/element-android/issues/5294))
|
||||
- Improve some internal realm usages. ([#5297](https://github.com/vector-im/element-android/issues/5297))
|
||||
|
||||
Translations 🗣
|
||||
--------------
|
||||
- Improved Japanese translations (special thanks to Suguru Hirahara!)
|
||||
|
||||
|
||||
Changes in Element v1.4.0 (2022-02-09)
|
||||
======================================
|
||||
|
||||
Features ✨
|
||||
----------
|
||||
- Initial implementation of thread messages ([#4746](https://github.com/vector-im/element-android/issues/4746))
|
||||
- Support message bubbles in timeline. ([#4937](https://github.com/vector-im/element-android/issues/4937))
|
||||
- Support generic location pin ([#5146](https://github.com/vector-im/element-android/issues/5146))
|
||||
- Retrieve map style url from .well-known ([#5175](https://github.com/vector-im/element-android/issues/5175))
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Fixes non sans-serif font weights being ignored ([#3907](https://github.com/vector-im/element-android/issues/3907))
|
||||
- Fixing missing/intermittent notifications on the google play variant when wifi is enabled ([#5038](https://github.com/vector-im/element-android/issues/5038))
|
||||
- Fixes call statuses in the timeline for missed/rejected calls and connected calls. ([#5088](https://github.com/vector-im/element-android/issues/5088))
|
||||
- Fix fallback permalink when threads are disabled ([#5128](https://github.com/vector-im/element-android/issues/5128))
|
||||
- Analytics: aligns use case identifying with iOS implementation ([#5142](https://github.com/vector-im/element-android/issues/5142))
|
||||
- Fix location rendering in timeline if map cannot be loaded ([#5143](https://github.com/vector-im/element-android/issues/5143))
|
||||
|
||||
Other changes
|
||||
-------------
|
||||
- "Invite users to space" dialog now closed when user choose invite method ([#4295](https://github.com/vector-im/element-android/issues/4295))
|
||||
- Changed layout for space card and room card used at "explore room" screen and space/room invite dialogs ([#4304](https://github.com/vector-im/element-android/issues/4304))
|
||||
- Removed spaces restricted search hint dialogs ([#4315](https://github.com/vector-im/element-android/issues/4315))
|
||||
- Remove Search from room options if not available ([#4641](https://github.com/vector-im/element-android/issues/4641))
|
||||
- Qr code scanning fragments merged into one ([#4873](https://github.com/vector-im/element-android/issues/4873))
|
||||
- Fix CI/CD errors after merges for quality and integration tests ([#5118](https://github.com/vector-im/element-android/issues/5118))
|
||||
- Added automation for the Z-FTUE label to add issues to the FTUE Project Board ([#5120](https://github.com/vector-im/element-android/issues/5120))
|
||||
- Added automation for WTF labels to move to WTF project board ([#5148](https://github.com/vector-im/element-android/issues/5148))
|
||||
- Update WTF automation to fix it ([#5173](https://github.com/vector-im/element-android/issues/5173))
|
||||
|
||||
|
||||
Changes in Element v1.3.18 (2022-02-03)
|
||||
=======================================
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Avoid deleting root event of CurrentState on gappy sync. In order to restore lost Events an initial sync may be triggered. ([#5137](https://github.com/vector-im/element-android/issues/5137))
|
||||
|
||||
|
||||
Changes in Element v1.3.17 (2022-01-31)
|
||||
=======================================
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Display static map images in the timeline and improve Location sharing feature ([#5084](https://github.com/vector-im/element-android/issues/5084))
|
||||
- Show the legal mention of mapbox when sharing location ([#5062](https://github.com/vector-im/element-android/issues/5062))
|
||||
- Poll cannot end in some unencrypted rooms ([#5067](https://github.com/vector-im/element-android/issues/5067))
|
||||
- Selecting Transfer in a call should immediately put the other person on hold until the call connects or the Transfer is cancelled. ([#5081](https://github.com/vector-im/element-android/issues/5081))
|
||||
- Fixing crashes when quickly scrolling or restoring the room timeline ([#5091](https://github.com/vector-im/element-android/issues/5091))
|
||||
|
||||
|
||||
Changes in Element 1.3.16 (2022-01-25)
|
||||
======================================
|
||||
|
||||
Features ✨
|
||||
----------
|
||||
- Static location sharing and rendering ([#2210](https://github.com/vector-im/element-android/issues/2210))
|
||||
- Enables the FTUE splash carousel ([#4584](https://github.com/vector-im/element-android/issues/4584))
|
||||
- Allow editing polls ([#5036](https://github.com/vector-im/element-android/issues/5036))
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Fixing missing notifications in FDroid variants using `optimised for battery` background sync mode ([#5003](https://github.com/vector-im/element-android/issues/5003))
|
||||
- Fix for stuck local event messages at the bottom of the screen ([#516](https://github.com/vector-im/element-android/issues/516))
|
||||
- Notification does not take me to the room when another space was last viewed ([#3839](https://github.com/vector-im/element-android/issues/3839))
|
||||
- Explore Rooms overflow menu - content update include "Create room" ([#3932](https://github.com/vector-im/element-android/issues/3932))
|
||||
- Fix sync timeout after returning from background ([#4669](https://github.com/vector-im/element-android/issues/4669))
|
||||
- Fix a wrong network error issue in the Legals screen ([#4935](https://github.com/vector-im/element-android/issues/4935))
|
||||
- Prevent Alerts to be displayed in the automatically displayed analytics opt-in screen ([#4948](https://github.com/vector-im/element-android/issues/4948))
|
||||
- EmojiPopupDismissListener not being triggered after dismissing the EmojiPopup ([#4991](https://github.com/vector-im/element-android/issues/4991))
|
||||
- Fix an error in string resource ([#4997](https://github.com/vector-im/element-android/issues/4997))
|
||||
- Big messages taking inappropriately long to evaluate .m.rule.roomnotif push rules ([#5008](https://github.com/vector-im/element-android/issues/5008))
|
||||
- Improve auto rageshake lab feature ([#5021](https://github.com/vector-im/element-android/issues/5021))
|
||||
|
||||
In development 🚧
|
||||
----------------
|
||||
- Updates the onboarding carousel images, copy and improves the handling of different device sizes ([#4880](https://github.com/vector-im/element-android/issues/4880))
|
||||
- Disabling onboarding automatic carousel transitions on user interaction ([#4914](https://github.com/vector-im/element-android/issues/4914))
|
||||
- Locking phones to portrait during the FTUE onboarding ([#4918](https://github.com/vector-im/element-android/issues/4918))
|
||||
- Adds a messaging use case screen to the FTUE onboarding ([#4927](https://github.com/vector-im/element-android/issues/4927))
|
||||
- Updating the FTUE use case icons ([#5025](https://github.com/vector-im/element-android/issues/5025))
|
||||
- Support undisclosed polls ([#5037](https://github.com/vector-im/element-android/issues/5037))
|
||||
|
||||
Other changes
|
||||
-------------
|
||||
- Enabling native support for window resizing ([#4811](https://github.com/vector-im/element-android/issues/4811))
|
||||
- Analytics: send more Events ([#4734](https://github.com/vector-im/element-android/issues/4734))
|
||||
- Fix integration tests and add a comment with results (still not perfect due to github actions resource limitations) ([#4842](https://github.com/vector-im/element-android/issues/4842))
|
||||
- "/kick" command is replaced with "/remove". Also replaced all occurrences in string resources ([#4865](https://github.com/vector-im/element-android/issues/4865))
|
||||
- Toolbar management rework. Toolbar title's and subtitle's text appearance now controlled by theme without local overrides. Helper class introduced to
|
||||
help with toolbar configuration. Toolbar title, subtitle and navigation button widgets are removed where it is possible and replaced with built-in
|
||||
toolbar widgets. ([#4884](https://github.com/vector-im/element-android/issues/4884))
|
||||
- Add signing config for the release buildType. No secret added ([#4926](https://github.com/vector-im/element-android/issues/4926))
|
||||
- Remove unused module matrix-sdk-android-rx and do some cleanup ([#4942](https://github.com/vector-im/element-android/issues/4942))
|
||||
- Sync issue automation with element-web ([#4949](https://github.com/vector-im/element-android/issues/4949))
|
||||
- Improves local echo blinking when non room events received ([#4960](https://github.com/vector-im/element-android/issues/4960))
|
||||
- Including onboarding server options in the all screen sanity test suite ([#4975](https://github.com/vector-im/element-android/issues/4975))
|
||||
- Exclude dependabot upgrade for @github-script@v3 ([#4988](https://github.com/vector-im/element-android/issues/4988))
|
||||
- Small iteration on command parser and unit test it. ([#4998](https://github.com/vector-im/element-android/issues/4998))
|
||||
|
||||
SDK API changes ⚠️
|
||||
------------------
|
||||
- `StateService.sendStateEvent()` now takes a non-nullable String for the parameter `stateKey`. If null was used, just now use an empty string. ([#4895](https://github.com/vector-im/element-android/issues/4895))
|
||||
- 429 are not automatically retried anymore in case of too long retry delay ([#4995](https://github.com/vector-im/element-android/issues/4995))
|
||||
|
||||
|
||||
Changes in Element v1.3.15 (2022-01-18)
|
||||
=======================================
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Fix crash when viewing source which contains an emoji ([#4796](https://github.com/vector-im/element-android/issues/4796))
|
||||
- Prevent crash in Timeline and add more logs. ([#4959](https://github.com/vector-im/element-android/issues/4959))
|
||||
- Fix crash on API <24 and make sure this error will not occur again. ([#4962](https://github.com/vector-im/element-android/issues/4962))
|
||||
- Fixes sign in/up crash when selecting ems and other server types which use SSO ([#4969](https://github.com/vector-im/element-android/issues/4969))
|
||||
|
||||
|
||||
Changes in Element v1.3.14 (2022-01-12)
|
||||
=======================================
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Fix sending events in encrypted rooms broken, and incremental sync broken in 1.3.13 ([#4924](https://github.com/vector-im/element-android/issues/4924))
|
||||
|
||||
|
||||
Changes in Element v1.3.13 (2022-01-11)
|
||||
=======================================
|
||||
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
Please read https://github.com/matrix-org/synapse/blob/master/CONTRIBUTING.md
|
||||
|
||||
Android support can be found in this [](https://matrix.to/#/#element-android:matrix.org) room.
|
||||
Element Android support can be found in this room: [](https://matrix.to/#/#element-android:matrix.org).
|
||||
|
||||
# Specific rules for Matrix Android projects
|
||||
|
||||
@@ -44,6 +44,8 @@ If you want to fix an issue in other languages, or add a missing translation, or
|
||||
|
||||
## I want to submit a PR to fix an issue
|
||||
|
||||
Please have a look in the [dedicated documentation](./docs/pull_request.md) about pull request.
|
||||
|
||||
Please check if a corresponding issue exists. If yes, please let us know in a comment that you're working on it.
|
||||
If an issue does not exist yet, it may be relevant to open a new issue and let us know that you're implementing it.
|
||||
|
||||
@@ -61,8 +63,9 @@ Supported filename extensions are:
|
||||
|
||||
- ``.feature``: Signifying a new feature in Element Android or in the Matrix SDK.
|
||||
- ``.bugfix``: Signifying a bug fix.
|
||||
- ``.wip``: Signifying a work in progress change, typically a component of a larger feature which will be enabled once all tasks are complete.
|
||||
- ``.doc``: Signifying a documentation improvement.
|
||||
- ``.removal``: Signifying a deprecation or removal of public API. Can be used to notifying about API change in the Matrix SDK
|
||||
- ``.sdk``: Signifying a change to the Matrix SDK, this could be an addition, deprecation or removal of a public API.
|
||||
- ``.misc``: Any other changes.
|
||||
|
||||
See https://github.com/twisted/towncrier#news-fragments if you need more details.
|
||||
@@ -121,7 +124,9 @@ As a general rule, please never edit or add or remove translations to the projec
|
||||
|
||||
#### Adding new string
|
||||
|
||||
When adding new string resources, please only add new entries in file `value/strings.xml`. Translations will be added later by the community of translators using Weblate.
|
||||
When adding new string resources, please only add new entries in the file `value/strings.xml`. Translations will be added later by the community of translators using Weblate.
|
||||
|
||||
The file `value/strings.xml` must only contain American English (U. S. English) values, as this is the default language of the Android operating system. So for instance, please use "color" instead of "colour". Element Android will still use the language set on the system by the user, like any other Android applications which provide translations. The system language can be any other English language variants, or any other languages. Note that this is also possible to override the system language using the Element Android in-app language settings.
|
||||
|
||||
New strings can be added anywhere in the file `value/strings.xml`, not necessarily at the end of the file. Generally, it's even better to add the new strings in some dedicated section per feature, and not at the end of the file, to avoid merge conflict between 2 PR adding strings at the end of the same file.
|
||||
|
||||
@@ -141,6 +146,8 @@ Instead, please comment the original string with:
|
||||
```xml
|
||||
<!-- TODO TO BE REMOVED -->
|
||||
```
|
||||
And add `tools:ignore="UnusedResources"` to the string, to let lint ignore that the string is not used.
|
||||
|
||||
The string will be removed during the next sync with Weblate.
|
||||
|
||||
### Accessibility
|
||||
|
@@ -7,14 +7,15 @@
|
||||
|
||||
# Element Android
|
||||
|
||||
Element Android is an Android Matrix Client provided by [Element](https://element.io/).
|
||||
Element Android is an Android Matrix Client provided by [Element](https://element.io/). The app can be run on every Android devices with Android OS Lollipop and more (API 21).
|
||||
|
||||
It is a total rewrite of [Riot-Android](https://github.com/vector-im/riot-android) with a new user experience.
|
||||
|
||||
[<img src="resources/img/google-play-badge.png" alt="Get it on Google Play" height="60">](https://play.google.com/store/apps/details?id=im.vector.app)
|
||||
[<img src="resources/img/f-droid-badge.png" alt="Get it on F-Droid" height="60">](https://f-droid.org/app/im.vector.app)
|
||||
|
||||
Nightly build: [](https://buildkite.com/matrix-dot-org/element-android/builds?branch=develop)
|
||||
Nightly build: [](https://buildkite.com/matrix-dot-org/element-android/builds?branch=develop) Nighly test status: [](https://github.com/vector-im/element-android/actions/workflows/nightly.yml)
|
||||
|
||||
|
||||
# New Android SDK
|
||||
|
||||
|
80
build.gradle
80
build.gradle
@@ -19,9 +19,10 @@ buildscript {
|
||||
classpath libs.gradle.hiltPlugin
|
||||
classpath 'com.google.gms:google-services:4.3.10'
|
||||
classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:3.3'
|
||||
classpath 'com.google.android.gms:oss-licenses-plugin:0.10.4'
|
||||
classpath "com.likethesalad.android:string-reference:1.2.2"
|
||||
|
||||
classpath 'com.google.android.gms:oss-licenses-plugin:0.10.5'
|
||||
classpath "com.likethesalad.android:stem-plugin:2.0.0"
|
||||
classpath 'org.owasp:dependency-check-gradle:7.1.0.1'
|
||||
classpath "org.jetbrains.dokka:dokka-gradle-plugin:1.6.21"
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
// in the individual module build.gradle files
|
||||
}
|
||||
@@ -29,13 +30,29 @@ buildscript {
|
||||
|
||||
// ktlint Plugin
|
||||
plugins {
|
||||
id "org.jlleitschuh.gradle.ktlint" version "10.2.1"
|
||||
id "org.jlleitschuh.gradle.ktlint" version "10.3.0"
|
||||
}
|
||||
|
||||
// https://github.com/jeremylong/DependencyCheck
|
||||
apply plugin: 'org.owasp.dependencycheck'
|
||||
|
||||
dependencyCheck {
|
||||
// See https://jeremylong.github.io/DependencyCheck/general/suppression.html
|
||||
suppressionFiles = [
|
||||
"./tools/dependencycheck/suppressions.xml"
|
||||
]
|
||||
}
|
||||
|
||||
allprojects {
|
||||
apply plugin: "org.jlleitschuh.gradle.ktlint"
|
||||
|
||||
repositories {
|
||||
mavenCentral {
|
||||
content {
|
||||
groups.mavenCentral.regex.each { includeGroupByRegex it }
|
||||
groups.mavenCentral.group.each { includeGroup it }
|
||||
}
|
||||
}
|
||||
maven {
|
||||
url 'https://jitpack.io'
|
||||
content {
|
||||
@@ -45,7 +62,7 @@ allprojects {
|
||||
}
|
||||
// Jitsi repo
|
||||
maven {
|
||||
url "https://github.com/vector-im/jitsi_libre_maven/raw/main/android-sdk-3.10.0"
|
||||
url "https://github.com/vector-im/jitsi_libre_maven/raw/main/android-sdk-5.0.2"
|
||||
// Note: to test Jitsi release you can use a local file like this:
|
||||
// url "file:///Users/bmarty/workspaces/jitsi_libre_maven/android-sdk-3.10.0"
|
||||
content {
|
||||
@@ -59,12 +76,6 @@ allprojects {
|
||||
groups.google.group.each { includeGroup it }
|
||||
}
|
||||
}
|
||||
mavenCentral {
|
||||
content {
|
||||
groups.mavenCentral.regex.each { includeGroupByRegex it }
|
||||
groups.mavenCentral.group.each { includeGroup it }
|
||||
}
|
||||
}
|
||||
//noinspection JcenterRepositoryObsolete
|
||||
jcenter {
|
||||
content {
|
||||
@@ -87,16 +98,33 @@ allprojects {
|
||||
|
||||
// See https://github.com/JLLeitschuh/ktlint-gradle#configuration
|
||||
ktlint {
|
||||
// See https://github.com/pinterest/ktlint/releases/
|
||||
version = "0.45.1"
|
||||
android = true
|
||||
ignoreFailures = false
|
||||
enableExperimentalRules = true
|
||||
// display the corresponding rule
|
||||
verbose = true
|
||||
disabledRules = [
|
||||
// TODO: Re-enable these 4 rules after reformatting project
|
||||
"indent",
|
||||
"experimental:argument-list-wrapping",
|
||||
"max-line-length",
|
||||
"parameter-list-wrapping",
|
||||
|
||||
"spacing-between-declarations-with-comments",
|
||||
"no-multi-spaces",
|
||||
"experimental:spacing-between-declarations-with-annotations",
|
||||
"experimental:annotation"
|
||||
"experimental:annotation",
|
||||
// - Missing newline after "("
|
||||
// - Missing newline before ")"
|
||||
"wrapping",
|
||||
// - Unnecessary trailing comma before ")"
|
||||
"experimental:trailing-comma",
|
||||
// - A block comment in between other elements on the same line is disallowed
|
||||
"experimental:comment-wrapping",
|
||||
// - A KDoc comment after any other element on the same line must be separated by a new line
|
||||
"experimental:kdoc-wrapping",
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -105,11 +133,21 @@ task clean(type: Delete) {
|
||||
delete rootProject.buildDir
|
||||
}
|
||||
|
||||
def launchTask = getGradle()
|
||||
.getStartParameter()
|
||||
.getTaskRequests()
|
||||
.toString()
|
||||
.toLowerCase()
|
||||
|
||||
if (launchTask.contains("codeCoverageReport".toLowerCase())) {
|
||||
apply from: 'coverage.gradle'
|
||||
}
|
||||
|
||||
apply plugin: 'org.sonarqube'
|
||||
|
||||
// To run a sonar analysis:
|
||||
// Run './gradlew sonarqube -Dsonar.login=<REPLACE_WITH_SONAR_KEY>'
|
||||
// The SONAR_KEY is stored in passbolt
|
||||
// The SONAR_KEY is stored in passbolt as Token Sonar Cloud Bma
|
||||
|
||||
sonarqube {
|
||||
properties {
|
||||
@@ -119,10 +157,12 @@ sonarqube {
|
||||
property "sonar.projectVersion", project(":vector").android.defaultConfig.versionName
|
||||
property "sonar.sourceEncoding", "UTF-8"
|
||||
property "sonar.links.homepage", "https://github.com/vector-im/element-android/"
|
||||
property "sonar.links.ci", "https://buildkite.com/matrix-dot-org/element-android"
|
||||
property "sonar.links.ci", "https://github.com/vector-im/element-android/actions"
|
||||
property "sonar.links.scm", "https://github.com/vector-im/element-android/"
|
||||
property "sonar.links.issue", "https://github.com/vector-im/element-android/issues"
|
||||
property "sonar.organization", "new_vector_ltd_organization"
|
||||
property "sonar.java.coveragePlugin", "jacoco"
|
||||
property "sonar.coverage.jacoco.xmlReportPaths", "${project.buildDir}/reports/jacoco/allCodeCoverageReport/allCodeCoverageReport.xml"
|
||||
property "sonar.login", project.hasProperty("SONAR_LOGIN") ? SONAR_LOGIN : "invalid"
|
||||
}
|
||||
}
|
||||
@@ -138,7 +178,7 @@ project(":vector") {
|
||||
}
|
||||
}
|
||||
|
||||
project(":diff-match-patch") {
|
||||
project(":library:diff-match-patch") {
|
||||
sonarqube {
|
||||
skipProject = true
|
||||
}
|
||||
@@ -153,13 +193,3 @@ project(":diff-match-patch") {
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//project(":matrix-sdk-android-rx") {
|
||||
// sonarqube {
|
||||
// properties {
|
||||
// property "sonar.sources", project(":matrix-sdk-android-rx").android.sourceSets.main.java.srcDirs
|
||||
// // exclude source code from analyses separated by a colon (:)
|
||||
// // property "sonar.exclusions", "**/*.*"
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
1
changelog.d/5421.bugfix
Normal file
1
changelog.d/5421.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Fixes crash when accepting or receiving VOIP calls
|
2
changelog.d/5575.sdk
Normal file
2
changelog.d/5575.sdk
Normal file
@@ -0,0 +1,2 @@
|
||||
- Added registrationCustom into RegistrationWizard to send custom auth params for sign up
|
||||
- Moved terms converter into api package to make it accessible in sdk
|
1
changelog.d/5592.bugfix
Normal file
1
changelog.d/5592.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Improve/fix crashes on messages decryption
|
1
changelog.d/5652.bugfix
Normal file
1
changelog.d/5652.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Tentative fix of images crashing when being sent or shared from gallery
|
1
changelog.d/5721.bugfix
Normal file
1
changelog.d/5721.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Improving deactivation experience along with a crash fix
|
1
changelog.d/5772.feature
Normal file
1
changelog.d/5772.feature
Normal file
@@ -0,0 +1 @@
|
||||
Improve management of ignored users
|
1
changelog.d/5773.misc
Normal file
1
changelog.d/5773.misc
Normal file
@@ -0,0 +1 @@
|
||||
Move "Ignored users" setting section into "Security & Privacy"
|
1
changelog.d/5774.misc
Normal file
1
changelog.d/5774.misc
Normal file
@@ -0,0 +1 @@
|
||||
Add a picto for ignored users in the room member list screen
|
1
changelog.d/5783.wip
Normal file
1
changelog.d/5783.wip
Normal file
@@ -0,0 +1 @@
|
||||
Reorders the registration steps to prioritise email, then terms for the FTUE onboarding
|
1
changelog.d/5805.misc
Normal file
1
changelog.d/5805.misc
Normal file
@@ -0,0 +1 @@
|
||||
Autoformats entire project
|
1
changelog.d/5811.feature
Normal file
1
changelog.d/5811.feature
Normal file
@@ -0,0 +1 @@
|
||||
VoIP Screen Sharing Permission
|
1
changelog.d/5812.sdk
Normal file
1
changelog.d/5812.sdk
Normal file
@@ -0,0 +1 @@
|
||||
Move package `org.matrix.android.sdk.api.pushrules` to `org.matrix.android.sdk.api.session.pushrules`
|
1
changelog.d/5814.feature
Normal file
1
changelog.d/5814.feature
Normal file
@@ -0,0 +1 @@
|
||||
Live location sharing: updating beacon state event content structure
|
2
changelog.d/5816.sdk
Normal file
2
changelog.d/5816.sdk
Normal file
@@ -0,0 +1,2 @@
|
||||
Some `Session` apis are now available by requesting the service first. For instance `Session.updateAvatar(...)` is now `Session.profileService().updateAvatar(...)`
|
||||
The shortcut `Room.search()` has been removed, you have to use `Session.searchService().search()`
|
1
changelog.d/5826.bugfix
Normal file
1
changelog.d/5826.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Adds missing suggested tag for rooms in Explore Space
|
1
changelog.d/5832.misc
Normal file
1
changelog.d/5832.misc
Normal file
@@ -0,0 +1 @@
|
||||
Add a GH workflow to push ElementX issues to the global board.
|
1
changelog.d/5836.doc
Normal file
1
changelog.d/5836.doc
Normal file
@@ -0,0 +1 @@
|
||||
Update the PR process doc with 2 reviewers and a new reviewer team.
|
1
changelog.d/5847.bugfix
Normal file
1
changelog.d/5847.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Fixes missing call icons when threads are enabled
|
1
changelog.d/5854.doc
Normal file
1
changelog.d/5854.doc
Normal file
@@ -0,0 +1 @@
|
||||
Improve documentation of the project and of the SDK
|
1
changelog.d/5855.sdk
Normal file
1
changelog.d/5855.sdk
Normal file
@@ -0,0 +1 @@
|
||||
- Add return type to RoomApi.sendStateEvent() to retrieve the created event id
|
1
changelog.d/5858.sdk
Normal file
1
changelog.d/5858.sdk
Normal file
@@ -0,0 +1 @@
|
||||
`Room` apis are now available by requesting the service first. For instance `Room.updateAvatar(...)` is now `Room.stateService().updateAvatar(...)`
|
1
changelog.d/5862.wip
Normal file
1
changelog.d/5862.wip
Normal file
@@ -0,0 +1 @@
|
||||
[Live location sharing] Improve aggregation process of events
|
1
changelog.d/5871.bugfix
Normal file
1
changelog.d/5871.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Fix UX freezing when creating secure backup
|
1
changelog.d/5872.misc
Normal file
1
changelog.d/5872.misc
Normal file
@@ -0,0 +1 @@
|
||||
Faster Olm decrypt when there is a lot of existing sessions
|
1
changelog.d/5874.bugfix
Normal file
1
changelog.d/5874.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Fixes sign in via other requiring homeserver registration to be enabled
|
1
changelog.d/5886.bugfix
Normal file
1
changelog.d/5886.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Fix UISIDetector grace period bug
|
1
changelog.d/5890.sdk
Normal file
1
changelog.d/5890.sdk
Normal file
@@ -0,0 +1 @@
|
||||
Remove unecessary field `eventId` from `EventAnnotationsSummary` and `ReferencesAggregatedSummary`
|
1
changelog.d/5924.bugfix
Normal file
1
changelog.d/5924.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Fix a crash with space invitations in the space list, and do not display space invitation twice.
|
1
changelog.d/5925.bugfix
Normal file
1
changelog.d/5925.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Fixes crash on android api 21/22 devices when opening messages due to Konfetti library
|
55
coverage.gradle
Normal file
55
coverage.gradle
Normal file
@@ -0,0 +1,55 @@
|
||||
def excludes = [ ]
|
||||
|
||||
def initializeReport(report, projects, classExcludes) {
|
||||
projects.each { project -> project.apply plugin: 'jacoco' }
|
||||
report.executionData { fileTree(rootProject.rootDir.absolutePath).include("**/build/jacoco/*.exec") }
|
||||
|
||||
report.reports {
|
||||
xml.enabled true
|
||||
html.enabled true
|
||||
csv.enabled false
|
||||
}
|
||||
|
||||
gradle.projectsEvaluated {
|
||||
def androidSourceDirs = []
|
||||
def androidClassDirs = []
|
||||
|
||||
projects.each { project ->
|
||||
switch (project) {
|
||||
case { project.plugins.hasPlugin("com.android.application") }:
|
||||
androidClassDirs.add("${project.buildDir}/tmp/kotlin-classes/gplayDebug")
|
||||
androidSourceDirs.add("${project.projectDir}/src/main/kotlin")
|
||||
androidSourceDirs.add("${project.projectDir}/src/main/java")
|
||||
break
|
||||
case { project.plugins.hasPlugin("com.android.library") }:
|
||||
androidClassDirs.add("${project.buildDir}/tmp/kotlin-classes/debug")
|
||||
androidSourceDirs.add("${project.projectDir}/src/main/kotlin")
|
||||
androidSourceDirs.add("${project.projectDir}/src/main/java")
|
||||
break
|
||||
default:
|
||||
report.sourceSets project.sourceSets.main
|
||||
}
|
||||
}
|
||||
|
||||
report.sourceDirectories.setFrom(report.sourceDirectories + files(androidSourceDirs))
|
||||
def classFiles = androidClassDirs.collect { files(it).files }.flatten()
|
||||
report.classDirectories.setFrom(files((report.classDirectories.files + classFiles).collect {
|
||||
fileTree(dir: it, excludes: classExcludes)
|
||||
}))
|
||||
}
|
||||
}
|
||||
|
||||
def collectProjects(predicate) {
|
||||
return subprojects.findAll { it.buildFile.isFile() && predicate(it) }
|
||||
}
|
||||
|
||||
task allCodeCoverageReport(type: JacocoReport) {
|
||||
outputs.upToDateWhen { false }
|
||||
rootProject.apply plugin: 'jacoco'
|
||||
// to limit projects in a specific report, add
|
||||
// def excludedProjects = [ ... ]
|
||||
// def projects = collectProjects { !excludedProjects.contains(it.name) }
|
||||
def projects = collectProjects { true }
|
||||
dependsOn { projects*.test }
|
||||
initializeReport(it, projects, excludes)
|
||||
}
|
@@ -9,13 +9,13 @@ ext.versions = [
|
||||
|
||||
def gradle = "7.0.4"
|
||||
// Ref: https://kotlinlang.org/releases.html
|
||||
def kotlin = "1.5.31"
|
||||
def kotlinCoroutines = "1.5.2"
|
||||
def kotlin = "1.6.0"
|
||||
def kotlinCoroutines = "1.6.0"
|
||||
def dagger = "2.40.5"
|
||||
def retrofit = "2.9.0"
|
||||
def arrow = "0.8.2"
|
||||
def markwon = "4.6.2"
|
||||
def moshi = "1.12.0"
|
||||
def moshi = "1.13.0"
|
||||
def lifecycle = "2.4.0"
|
||||
def flowBinding = "1.2.0"
|
||||
def epoxy = "4.6.2"
|
||||
@@ -29,6 +29,7 @@ def vanniktechEmoji = "0.8.0"
|
||||
def mockk = "1.12.1"
|
||||
def espresso = "3.4.0"
|
||||
def androidxTest = "1.4.0"
|
||||
def androidxOrchestrator = "1.4.1"
|
||||
|
||||
|
||||
ext.libs = [
|
||||
@@ -41,7 +42,6 @@ ext.libs = [
|
||||
jetbrains : [
|
||||
'coroutinesCore' : "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinCoroutines",
|
||||
'coroutinesAndroid' : "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlinCoroutines",
|
||||
'coroutinesRx2' : "org.jetbrains.kotlinx:kotlinx-coroutines-rx2:$kotlinCoroutines",
|
||||
'coroutinesTest' : "org.jetbrains.kotlinx:kotlinx-coroutines-test:$kotlinCoroutines"
|
||||
],
|
||||
androidx : [
|
||||
@@ -58,12 +58,13 @@ ext.libs = [
|
||||
'lifecycleCommon' : "androidx.lifecycle:lifecycle-common:$lifecycle",
|
||||
'lifecycleLivedata' : "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle",
|
||||
'lifecycleProcess' : "androidx.lifecycle:lifecycle-process:$lifecycle",
|
||||
'lifecycleRuntimeKtx' : "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle",
|
||||
'datastore' : "androidx.datastore:datastore:1.0.0",
|
||||
'datastorepreferences' : "androidx.datastore:datastore-preferences:1.0.0",
|
||||
'pagingRuntimeKtx' : "androidx.paging:paging-runtime-ktx:2.1.2",
|
||||
'coreTesting' : "androidx.arch.core:core-testing:2.1.0",
|
||||
'testCore' : "androidx.test:core:$androidxTest",
|
||||
'orchestrator' : "androidx.test:orchestrator:$androidxTest",
|
||||
'orchestrator' : "androidx.test:orchestrator:$androidxOrchestrator",
|
||||
'testRunner' : "androidx.test:runner:$androidxTest",
|
||||
'testRules' : "androidx.test:rules:$androidxTest",
|
||||
'espressoCore' : "androidx.test.espresso:espresso-core:$espresso",
|
||||
@@ -71,7 +72,7 @@ ext.libs = [
|
||||
'espressoIntents' : "androidx.test.espresso:espresso-intents:$espresso"
|
||||
],
|
||||
google : [
|
||||
'material' : "com.google.android.material:material:1.4.0"
|
||||
'material' : "com.google.android.material:material:1.5.0"
|
||||
],
|
||||
dagger : [
|
||||
'dagger' : "com.google.dagger:dagger:$dagger",
|
||||
@@ -86,8 +87,7 @@ ext.libs = [
|
||||
'retrofitMoshi' : "com.squareup.retrofit2:converter-moshi:$retrofit"
|
||||
],
|
||||
rx : [
|
||||
'rxKotlin' : "io.reactivex.rxjava2:rxkotlin:2.4.0",
|
||||
'rxAndroid' : "io.reactivex.rxjava2:rxandroid:2.1.1"
|
||||
'rxKotlin' : "io.reactivex.rxjava2:rxkotlin:2.4.0"
|
||||
],
|
||||
arrow : [
|
||||
'core' : "io.arrow-kt:arrow-core:$arrow",
|
||||
|
@@ -4,10 +4,10 @@ ext.groups = [
|
||||
],
|
||||
group: [
|
||||
'com.github.Armen101',
|
||||
'com.github.BillCarsonFr',
|
||||
'com.github.chrisbanes',
|
||||
'com.github.hyuwah',
|
||||
'com.github.jetradarmobile',
|
||||
'com.github.MatrixFrog',
|
||||
'com.github.tapadoo',
|
||||
'com.github.vector-im',
|
||||
'com.github.yalantis',
|
||||
@@ -30,15 +30,17 @@ ext.groups = [
|
||||
'com\\.google\\.android\\..*',
|
||||
],
|
||||
group: [
|
||||
'com.google.firebase',
|
||||
'com.android',
|
||||
'com.android.tools',
|
||||
'com.google.firebase',
|
||||
'com.google.testing.platform',
|
||||
]
|
||||
],
|
||||
mavenCentral: [
|
||||
regex: [
|
||||
],
|
||||
group: [
|
||||
'ch.qos.logback',
|
||||
'com.adevinta.android',
|
||||
'com.airbnb.android',
|
||||
'com.almworks.sqlite4java',
|
||||
@@ -48,13 +50,19 @@ ext.groups = [
|
||||
'com.beust',
|
||||
'com.davemorrissey.labs',
|
||||
'com.dropbox.core',
|
||||
'com.soywiz.korlibs.korte',
|
||||
'com.facebook.fbjni',
|
||||
'com.facebook.fresco',
|
||||
'com.facebook.infer.annotation',
|
||||
'com.facebook.soloader',
|
||||
'com.facebook.stetho',
|
||||
'com.facebook.yoga',
|
||||
'com.fasterxml',
|
||||
'com.fasterxml.jackson',
|
||||
'com.fasterxml.jackson.core',
|
||||
'com.fasterxml.jackson.dataformat',
|
||||
'com.fasterxml.jackson.module',
|
||||
'com.fasterxml.woodstox',
|
||||
'com.gabrielittner.threetenbp',
|
||||
'com.getkeepsafe.relinker',
|
||||
'com.github.bumptech.glide',
|
||||
@@ -64,6 +72,8 @@ ext.groups = [
|
||||
'com.github.piasy',
|
||||
'com.github.shyiko.klob',
|
||||
'com.google',
|
||||
'com.google.android',
|
||||
'com.google.api.grpc',
|
||||
'com.google.auto.service',
|
||||
'com.google.auto.value',
|
||||
'com.google.code.findbugs',
|
||||
@@ -84,6 +94,7 @@ ext.groups = [
|
||||
'com.jakewharton.android.repackaged',
|
||||
'com.jakewharton.timber',
|
||||
'com.linkedin.dexmaker',
|
||||
'com.mapbox.mapboxsdk',
|
||||
'com.nulab-inc',
|
||||
'com.otaliastudios.opengl',
|
||||
'com.parse.bolts',
|
||||
@@ -110,11 +121,15 @@ ext.groups = [
|
||||
'info.picocli',
|
||||
'io.arrow-kt',
|
||||
'io.github.detekt.sarif4k',
|
||||
'io.github.microutils',
|
||||
'io.github.reactivecircus.flowbinding',
|
||||
'io.grpc',
|
||||
'io.jsonwebtoken',
|
||||
'io.kindedj',
|
||||
'io.mockk',
|
||||
'io.netty',
|
||||
'io.noties.markwon',
|
||||
'io.opencensus',
|
||||
'io.reactivex.rxjava2',
|
||||
'io.realm',
|
||||
'it.unimi.dsi',
|
||||
@@ -146,19 +161,25 @@ ext.groups = [
|
||||
'org.codehaus',
|
||||
'org.codehaus.groovy',
|
||||
'org.codehaus.mojo',
|
||||
'org.codehaus.woodstox',
|
||||
'org.eclipse.ee4j',
|
||||
'org.ec4j.core',
|
||||
'org.freemarker',
|
||||
'org.glassfish.jaxb',
|
||||
'org.hamcrest',
|
||||
'org.jacoco',
|
||||
'org.jetbrains',
|
||||
'org.jetbrains.dokka',
|
||||
'org.jetbrains.intellij.deps',
|
||||
'org.jetbrains.kotlin',
|
||||
'org.jetbrains.kotlinx',
|
||||
'org.json',
|
||||
'org.jsoup',
|
||||
'org.junit',
|
||||
'org.junit.jupiter',
|
||||
'org.junit.platform',
|
||||
'org.jvnet.staxex',
|
||||
'org.maplibre.gl',
|
||||
'org.matrix.android',
|
||||
'org.mockito',
|
||||
'org.mongodb',
|
||||
@@ -173,6 +194,7 @@ ext.groups = [
|
||||
'org.sonatype.oss',
|
||||
'org.testng',
|
||||
'org.threeten',
|
||||
'org.webjars',
|
||||
'ru.noties',
|
||||
'xerces',
|
||||
'xml-apis',
|
||||
@@ -193,4 +215,3 @@ ext.groups = [
|
||||
]
|
||||
]
|
||||
]
|
||||
|
||||
|
@@ -18,6 +18,8 @@ The generated maven repository is then host in the project https://github.com/ve
|
||||
|
||||
Update the script `./tools/jitsi/build_jisti_libs.sh` with the tag of the project `https://github.com/jitsi/jitsi-meet`.
|
||||
|
||||
Latest tag can be found from this page: https://github.com/jitsi/jitsi-meet-release-notes/blob/master/CHANGELOG-MOBILE-SDKS.md
|
||||
|
||||
Currently we are building the version with the tag `android-sdk-3.10.0`.
|
||||
|
||||
### Run the build script
|
||||
|
237
docs/pull_request.md
Normal file
237
docs/pull_request.md
Normal file
@@ -0,0 +1,237 @@
|
||||
# Pull requests
|
||||
|
||||
## Introduction
|
||||
|
||||
This document gives some clue about how to efficiently manage Pull Requests (PR). This document is a first draft and may be improved later.
|
||||
|
||||
## Who should read this document?
|
||||
|
||||
Every pull request reviewers, but also probably every ones who submit PRs.
|
||||
|
||||
## Submitting PR
|
||||
|
||||
### Who can submit pull requests?
|
||||
|
||||
Basically every one who wants to contribute to the project! But there are some rules to follow.
|
||||
|
||||
#### Humans
|
||||
|
||||
People with write access to the project can directly clone the project, push their branches and create PR.
|
||||
|
||||
External contributors must first fork the project and create PR to the mainline from there.
|
||||
|
||||
##### Draft PR?
|
||||
|
||||
Draft PR can be created when the submitter does not expect the PR to be reviewed and merged yet. It can be useful to publicly show the work, or to do a self-review first.
|
||||
|
||||
Draft PR can also be created when it depends on other un-merged PR.
|
||||
|
||||
In any case, it is better to explicitly declare in the description why the PR is a draft PR.
|
||||
|
||||
Also, draft PR should not stay indefinitely in this state. It may be removed if it is the case and the submitter does not update it after a few days.
|
||||
|
||||
##### PR Review Assignment
|
||||
|
||||
We use automatic assignment for PR reviews. A PR is automatically routed by GitHub to 2 team members using the round robin algorithm. The process is the following:
|
||||
|
||||
- The PR creator can assign specific people if they have another Android developer in their team or they think a specific reviewer should take a look at the PR.
|
||||
- If there are missing reviewers, the PR creator assigns the [element-android-reviewers](https://github.com/orgs/vector-im/teams/element-android-reviewers) team as a reviewer.
|
||||
- GitHub automatically assigns other reviewers. If one of the chosen reviewers is not available (holiday, etc.), remove them and set again the team, GitHub will select another reviewer.
|
||||
- Reviewers get a notification to make the review: they review the code following the good practice (see the rest of this document).
|
||||
- After making their own review, if they feel not confident enough, they can ask another person for a full review, or they can tag someone within a PR comment to check specific lines.
|
||||
|
||||
For PRs coming from the community, the issue wrangler can assign either the team [element-android-reviewers](https://github.com/orgs/vector-im/teams/element-android-reviewers) or any members directly.
|
||||
|
||||
##### PR review time
|
||||
|
||||
As a PR submitter, you deserve a quick review. As a reviewer, you should do your best to unblock others.
|
||||
|
||||
Some tips to achieve it:
|
||||
|
||||
- Set up your GH notifications correctly
|
||||
- Check your pulls page: [https://github.com/pulls](https://github.com/pulls)
|
||||
- Check your pending assigned PRs before starting or resuming your day to day tasks
|
||||
|
||||
It is hard to define a deadline for a review. It depends on the PR size and the complexity. Let's start with a goal of 24h (working day!) for a PR smaller than 500 lines. If bigger, the submitter and the reviewer should discuss.
|
||||
|
||||
After this time, the submitter can ping the reviewer to get a status of the review.
|
||||
|
||||
##### Re-request PR review
|
||||
|
||||
Once all the remarks have been handled, it's possible to re-request a review from the (same) reviewer to let them know that the PR has been updated the PR is ready to be reviewed again. Use the double arrow next to the reviewer name to do that.
|
||||
|
||||
##### When create split PR?
|
||||
|
||||
To implement big new feature, it may be efficient to split the work into several smaller and scoped PRs. They will be easier to review, and they can be merged on `develop` faster.
|
||||
|
||||
Big PR can take time, and there is a risk of future merge conflict.
|
||||
|
||||
Feature flag can be used to avoid half implemented feature to be available in the application.
|
||||
|
||||
That said, splitting into several PRs should not have the side effect to have more review to do, for instance if some code is added, then finally removed.
|
||||
|
||||
##### Avoid fixing other unrelated issue in a big PR
|
||||
|
||||
Each PR should focus on a single task. If other issues may be fixed when working in the area of it, it's preferable to open a dedicated PR.
|
||||
|
||||
It will have the advantage to be reviewed and merged faster, and not interfere with the main PR.
|
||||
|
||||
It's also applicable for code rework (such as renaming for instance), or code formatting. Sometimes, it is more efficient to extract that work to a dedicated PR, and rebase your branch once this "rework" PR has been merged.
|
||||
|
||||
#### Bots
|
||||
|
||||
Some bots can create PR, but they still have to be reviewed by the team
|
||||
|
||||
##### Dependabot
|
||||
|
||||
Dependabot is a tool which maintain all our external dependencies up to date. A dedicated PR is created for each new available release for one of our external dependency.Dependabot
|
||||
|
||||
To review such PR, you have to
|
||||
- **IMPORTANT** check the diff files (as always).
|
||||
- Check the release note. Some existing bugs in Element project may be fixed by the upgrade
|
||||
- Make sure that the CI is happy
|
||||
- If the code does not compile (API break for instance), you have to checkout the branch and push new commits
|
||||
- Do some smoke test, depending of the library which has been upgraded
|
||||
|
||||
For some reason dependabot sometimes does not upgrade some dependencies. In this case, and when detected, the upgrade has to be done manually.
|
||||
|
||||
##### Gradle wrapper
|
||||
|
||||
`Update Gradle Wrapper` is a tool which can create PR to upgrade our gradle.properties file.
|
||||
Review such PR is the same recipe than for PR from Dependabot
|
||||
|
||||
##### Sync analytics plan
|
||||
|
||||
This tools imports any update in the analytics plan. See instruction in the PR itself to handle it.
|
||||
More info can be found in the file [analytics.md]
|
||||
|
||||
## Reviewing PR
|
||||
|
||||
### Who can review pull requests?
|
||||
|
||||
As an open source project, every one can review each others PR. Of course an approval from internal developer is mandatory for a PR to be merged.
|
||||
But comment in PR from the community are always appreciated!
|
||||
|
||||
### What to have in mind when reviewing a PR
|
||||
|
||||
1. User experience: is the UX and UI correct? You will probably be the second person to test the new thing, the first one is the developer.
|
||||
2. Developer experience: does the code look nice and decoupled? No big functions, new classes added to the right module, etc.
|
||||
3. Code maintenance. A bit similar to point 2. Tricky code must be documented for instance
|
||||
4. Fork consideration. Will configuration of forks be easy? Some documentation may help in some cases.
|
||||
5. We are building long term products. "Quick and dirty" code must be avoided.
|
||||
6. The PR includes new tests for the added code, updated test for the existing code
|
||||
7. All PRs from external contributors **MUST** include a sign-off. It's in the checklist, and sometimes it's checked by the submitter, but there is actually no sign-off. In this case, ask nicely for a sign-off and request changes (do not approve the PR, even if everything else is fine).
|
||||
|
||||
### Rules
|
||||
|
||||
#### Check the form
|
||||
|
||||
##### PR title
|
||||
|
||||
PR title should describe in one line what's brought by the PR. Reviewer can edit the title if it's not clear enough, or to add suffix like `[BLOCKED]` or similar. Fixing typo is also a good practice, since GitHub search is quite not efficient, so the words must be spelled without any issue. Adding suffix will help when viewing the PR list.
|
||||
|
||||
It's free form, but prefix tags could also be used to help understand what's in the PR.
|
||||
|
||||
Examples of prefixes:
|
||||
- `[Refacto]`
|
||||
- `[Feature]`
|
||||
- `[Bugfix]`
|
||||
- etc.
|
||||
|
||||
Also, it's still possible to add labels to the PRs, such as `A-` or `T-` labels, even if this is not a string requirement. We prefer to spend time to add labels on issues.
|
||||
|
||||
##### PR description
|
||||
|
||||
PR description should follow the PR template, and at least provide some context about the code change.
|
||||
|
||||
##### File change
|
||||
|
||||
1. Code should follow the guidelines
|
||||
2. Code should be formatted correctly
|
||||
3. XML attribute must be sorted
|
||||
4. New code is added at the correct location
|
||||
5. New classes are added to the correct location
|
||||
6. Naming is correct. Naming is really important, it's considered part of the documentation
|
||||
7. Architecture is followed. For instance, the logic is in the ViewModel and not in the Fragment
|
||||
8. There is at least one file for the changelog. Exception if the PR fixes something which has not been released yet. Changelog content should target their audience: `.sdk` extension are mainly targeted for developers, other extensions are targeted for users and forks maintainers. It should generally describe visual change rather than give technical details. More details can be found [here](../CONTRIBUTING.md#changelog).
|
||||
9. PR includes tests. allScreensTest when applicable, and unit tests
|
||||
10. Avoid over complicating things. Keep it simple (KISS)!
|
||||
11. PR contains only the expected change. Sometimes, the diff is showing changes that are already on `develop`. This is not good, submitter has to fix that up.
|
||||
|
||||
##### Check the commit
|
||||
|
||||
Commit message must be short, one line and valuable. "WIP" is not a good commit message. Commit message can contain issue number, starting with `#`. GitHub will add some link between the issue and such commit, which can be useful. It's possible to change a commit message at any time (may require a force push).
|
||||
|
||||
Commit messages can contain extra lines with more details, links, etc. But keep in mind that those lines are quite less visible than the first line.
|
||||
|
||||
Also commit history should be nice. Having commits like "Adding temporary code" then later "Removing temporary code" is not good. The branch has to be rebased and those commit have to be dropped.
|
||||
|
||||
PR merger could decide to squash and merge if commit history is not good.
|
||||
|
||||
Commit like "Code review fixes" is good when reviewing the PR, since new changes can be reviewed easily, but is less valuable when looking at git history. To avoid this, PR submitter should always push new commits after a review (no commit amend with force push), and when the PR is approved decide to interactive rebase the PR to improve the git history and reduce noise.
|
||||
|
||||
##### Check the substance
|
||||
|
||||
1. Test the changes!
|
||||
2. Test the nominal case and the edge cases
|
||||
3. Run the sanity test for critical PR
|
||||
|
||||
##### Make a dedicated meeting to review the PR
|
||||
|
||||
Sometimes a big PR can be hard to review. Setting up a call with the PR submitter can speed up the communication, rather than putting comments and questions in GitHub comments. It has the inconvenience of making the discussion non-public, consider including a summary of the main points of the "offline" conversation in the PR.
|
||||
|
||||
### What happen to the issue(s)?
|
||||
|
||||
The issue(s) should be referenced in the PR description using keywords like `Closes` of `Fixes` followed by the issue number.
|
||||
|
||||
Example:
|
||||
> Closes #1
|
||||
|
||||
Note that you have to repeat the keyword in case of a list of issue
|
||||
|
||||
> Closes #1, Closes #2, etc.
|
||||
|
||||
When PR will be merged, such referenced issue will be automatically closed.
|
||||
It is up to the person who has merged the PR to go to the (closed) issue(s) and to add a comment to inform in which version the issue fix will be available. Use the current version of `develop` branch.
|
||||
|
||||
> Closed in Element Android v1.x.y
|
||||
|
||||
### Merge conflict
|
||||
|
||||
It's up to the submitter to handle merge conflict. Sometimes, they can be fixed directly from GitHub, sometimes this is not possible. The branch can be rebased on `develop`, or the `develop` branch can be merged on the branch, it's up to the submitter to decide what is best.
|
||||
Keep in mind that Github Actions are not run in case of conflict.
|
||||
|
||||
### When and who can merge PR
|
||||
|
||||
PR can be merged by the submitter, if and only if at least one approval from another developer is done. Approval from all people added as reviewer is also a good thing to have. Approval from design team may be mandatory, but is not sufficient to merge a PR.
|
||||
|
||||
PR can also be merged by the reviewer, to reduce the time the PR is open. But only if the PR is not in draft and the change are quite small, or behind a feature flag.
|
||||
|
||||
Dangerous PR should not be merged just before a release. Dangerous PR are PR that could break the app. Update of Realm library, rework in the chunk of Events management in the SDK, etc.
|
||||
|
||||
We prefer to merge such PR after a release so that it can be tested during several days by the team before behind included in a release candidate.
|
||||
|
||||
PR from bots will always be merged by the reviewer, right after approving the changes, or in case of critical changes, right after a release.
|
||||
|
||||
#### Merge type
|
||||
|
||||
Generally we use "Create a merge commit", which has the advantage to keep the branch visible.
|
||||
|
||||
If git history is noisy (code added, then removed, etc.), it's possible to use "Squash and merge". But the branch will not be visible anymore, a commit will be added on top of develop. Git commit message can (and probably must) be edited from the GitHub web app. It's better if the submitter do the work to cleanup the git history by using a git interactive rebase of their branch.
|
||||
|
||||
### Resolve conversation
|
||||
|
||||
Generally we do not close conversation added during PR review and update by clicking on "Resolve conversation"
|
||||
If the submitter or the reviewer do so, it will more difficult for further readers to see again the content. They will have to open the conversation to see it again. it's a waste of time.
|
||||
|
||||
When remarks are handled, a small comment like "done" is enough, commit hash can also be added to the conversation.
|
||||
|
||||
Exception: for big PRs with lots of conversations, using "Resolve conversation" may help to see the remaining remarks.
|
||||
|
||||
Also "Resolve conversation" should probably be hit by the creator of the conversation.
|
||||
|
||||
## Responsibility
|
||||
|
||||
PR submitter is responsible of the incoming change. PR reviewers who approved the PR take a part of responsibility on the code which will land to develop, and then be used by our users, and the user of our forks.
|
||||
|
||||
That said, bug may still be merged on `develop`, this is still acceptable of course. In this case, please make sure an issue is created and correctly labelled. Ideally, such issues should be fixed before the next release candidate, i.e. with a higher priority. But as we release the application every 10 working days, it can be hard to fix every bugs. That's why PR should be fully tested and reviewed before being merge and we should never comment code review remark with "will be handled later", or similar comments.
|
@@ -104,3 +104,76 @@ fun initAccount() {
|
||||
existingSession = createAccountAndSync(matrix, userName, password, true)
|
||||
}
|
||||
```
|
||||
|
||||
### Contributing to the UiAllScreensSanityTest
|
||||
|
||||
The `UiAllScreensSanityTest` makes use of the Robot pattern in order to model pages, components and interactions.
|
||||
Each Robot aims to return the UI back to its original state after the interaction, allowing for a reusable and consistent DSL.
|
||||
|
||||
```kotlin
|
||||
// launches and closes settings after executing the block
|
||||
elementRobot.settings {
|
||||
// whilst in the settings, launches and closes the advanced settings sub screen
|
||||
advancedSettings {
|
||||
// crawls all the pages within the advanced settings
|
||||
crawl()
|
||||
}
|
||||
}
|
||||
|
||||
// enables developer mode by navigating to the settings, enabling the toggle and then returning to the starting point to execute the block
|
||||
// on block completion the Robot disables developer mode by navigating back to the settings and finally returning to the original starting point
|
||||
elementRobot.withDeveloperMode {
|
||||
// the same starting point as the example above
|
||||
settings {
|
||||
advancedSettings { crawlDeveloperOptions() }
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
The Robots used in the example above...
|
||||
|
||||
```kotlin
|
||||
class ElementRobot {
|
||||
fun settings(block: SettingsRobot.() -> Unit) {
|
||||
// double check we're where we think we are
|
||||
waitUntilViewVisible(withId(R.id.bottomNavigationView))
|
||||
|
||||
// navigate to the settings
|
||||
openDrawer()
|
||||
clickOn(R.id.homeDrawerHeaderSettingsView)
|
||||
|
||||
// execute the robot with the context of the settings screen
|
||||
block(SettingsRobot())
|
||||
|
||||
// close the settings and ensure we're back at the starting point
|
||||
pressBack()
|
||||
waitUntilViewVisible(withId(R.id.bottomNavigationView))
|
||||
}
|
||||
|
||||
fun withDeveloperMode(block: ElementRobot.() -> Unit) {
|
||||
settings { toggleDeveloperMode() }
|
||||
block()
|
||||
settings { toggleDeveloperMode() }
|
||||
}
|
||||
}
|
||||
|
||||
class SettingsRobot {
|
||||
fun toggleDeveloperMode() {
|
||||
advancedSettings {
|
||||
toggleDeveloperMode()
|
||||
}
|
||||
}
|
||||
|
||||
fun advancedSettings(block: SettingsAdvancedRobot.() -> Unit) {
|
||||
clickOn(R.string.settings_advanced_settings)
|
||||
block(SettingsAdvancedRobot())
|
||||
pressBack()
|
||||
}
|
||||
}
|
||||
|
||||
class SettingsAdvancedRobot {
|
||||
fun toggleDeveloperMode() {
|
||||
clickOn(R.string.settings_developer_mode_summary)
|
||||
}
|
||||
}
|
||||
```
|
@@ -1,49 +1,64 @@
|
||||
fastlane documentation
|
||||
================
|
||||
----
|
||||
|
||||
# Installation
|
||||
|
||||
Make sure you have the latest version of the Xcode command line tools installed:
|
||||
|
||||
```
|
||||
```sh
|
||||
xcode-select --install
|
||||
```
|
||||
|
||||
Install _fastlane_ using
|
||||
```
|
||||
[sudo] gem install fastlane -NV
|
||||
```
|
||||
or alternatively using `brew install fastlane`
|
||||
For _fastlane_ installation instructions, see [Installing _fastlane_](https://docs.fastlane.tools/#installing-fastlane)
|
||||
|
||||
# Available Actions
|
||||
|
||||
## Android
|
||||
|
||||
### android test
|
||||
|
||||
```sh
|
||||
[bundle exec] fastlane android test
|
||||
```
|
||||
fastlane android test
|
||||
```
|
||||
|
||||
Runs all the tests
|
||||
|
||||
### android beta
|
||||
|
||||
```sh
|
||||
[bundle exec] fastlane android beta
|
||||
```
|
||||
fastlane android beta
|
||||
```
|
||||
|
||||
Submit a new Beta Build to Crashlytics Beta
|
||||
|
||||
### android deploy
|
||||
|
||||
```sh
|
||||
[bundle exec] fastlane android deploy
|
||||
```
|
||||
fastlane android deploy
|
||||
```
|
||||
|
||||
Deploy a new version to the Google Play
|
||||
|
||||
### android deployMeta
|
||||
|
||||
```sh
|
||||
[bundle exec] fastlane android deployMeta
|
||||
```
|
||||
fastlane android deployMeta
|
||||
```
|
||||
|
||||
Deploy Google Play metadata
|
||||
|
||||
### android getVersionCode
|
||||
|
||||
```sh
|
||||
[bundle exec] fastlane android getVersionCode
|
||||
```
|
||||
fastlane android getVersionCode
|
||||
```
|
||||
|
||||
Get version code
|
||||
|
||||
----
|
||||
|
||||
This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run.
|
||||
More information about fastlane can be found on [fastlane.tools](https://fastlane.tools).
|
||||
The documentation of fastlane can be found on [docs.fastlane.tools](https://docs.fastlane.tools).
|
||||
|
||||
More information about _fastlane_ can be found on [fastlane.tools](https://fastlane.tools).
|
||||
|
||||
The documentation of _fastlane_ can be found on [docs.fastlane.tools](https://docs.fastlane.tools).
|
||||
|
2
fastlane/metadata/android/cs-CZ/changelogs/40103130.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40103130.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: Změna na úvodních obrazovkách, včetně přihlášení do služby Analytics. V experimentálních funkcích byla přidána podpora pro události s matematikou.
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.3.13
|
2
fastlane/metadata/android/cs-CZ/changelogs/40103140.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40103140.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: Změna na úvodních obrazovkách, včetně přihlášení do služby Analytics. V experimentálních funkcích byla přidána podpora pro události s matematikou.
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.3.14
|
2
fastlane/metadata/android/cs-CZ/changelogs/40103150.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40103150.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: Změna na úvodních obrazovkách, včetně přihlášení do služby Analytics. V experimentálních funkcích byla přidána podpora pro události s matematikou.
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.3.15
|
2
fastlane/metadata/android/cs-CZ/changelogs/40103160.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40103160.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: Odeslání vlastní polohy do libovolné místnosti. Možnost úpravy hlasování.
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.3.16
|
2
fastlane/metadata/android/cs-CZ/changelogs/40103170.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40103170.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: odeslání svojí polohy do libovolné místnosti. Úpravy anket.
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.3.17
|
2
fastlane/metadata/android/cs-CZ/changelogs/40103180.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40103180.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: odeslání svojí polohy do libovolné místnosti. Úpravy anket.
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.3.18
|
2
fastlane/metadata/android/cs-CZ/changelogs/40104000.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40104000.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: Počáteční implementace vláken zpráv. Bubliny zpráv.
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.4.0
|
2
fastlane/metadata/android/cs-CZ/changelogs/40104020.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40104020.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: přidána podpora pro @room a tajné hlasování a mnoho dalších drobných změn
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.4.2
|
2
fastlane/metadata/android/cs-CZ/changelogs/40104040.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40104040.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: vylepšení indikátoru psaní. Opravy různých chyb a vylepšení stability.
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.4.4
|
2
fastlane/metadata/android/cs-CZ/changelogs/40104060.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40104060.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: Časová osa vláken je nyní živá a rychlejší. Opravy různých chyb a vylepšení stability.
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.4.6
|
2
fastlane/metadata/android/cs-CZ/changelogs/40104070.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40104070.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: Opravy různých chyb a vylepšení stability.
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.4.7
|
2
fastlane/metadata/android/cs-CZ/changelogs/40104080.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40104080.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: Časová osa vlákna je nyní živá a rychlejší. Opravy různých chyb a vylepšení stability.
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/de-DE/changelogs/40103100.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40103100.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Änderungen: Die Websitevorschau hat ein neues Design erhalten. Außerdem gibt es in den experimentellen Einstellungen Abstimmungen.
|
||||
Alle Änderungen: https://github.com/vector-im/element-android/releases/tag/v1.3.10
|
2
fastlane/metadata/android/de-DE/changelogs/40103110.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40103110.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hauptänderungen: Bugfixes!
|
||||
Alle Änderungen: https://github.com/vector-im/element-android/releases/tag/v1.3.11
|
2
fastlane/metadata/android/de-DE/changelogs/40103120.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40103120.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hauptänderungen: Bugfixes!
|
||||
Alle Änderungen: https://github.com/vector-im/element-android/releases/tag/v1.3.12
|
2
fastlane/metadata/android/de-DE/changelogs/40103130.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40103130.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hauptänderungen: Neues Onboarding, Unterstützung für Mathematische Ausdrücke in Labs
|
||||
Änderungsliste: https://github.com/vector-im/element-android/releases/tag/v1.3.13
|
2
fastlane/metadata/android/de-DE/changelogs/40103140.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40103140.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hauptänderungen: Neues Onboarding, Unterstützung für Mathematische Ausdrücke in Labs
|
||||
Änderungsliste: https://github.com/vector-im/element-android/releases/tag/v1.3.14
|
2
fastlane/metadata/android/de-DE/changelogs/40103150.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40103150.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hauptänderungen: Neues Onboarding, Unterstützung für Mathematische Ausdrücke in Labs
|
||||
Änderungsliste: https://github.com/vector-im/element-android/releases/tag/v1.3.15
|
2
fastlane/metadata/android/de-DE/changelogs/40103160.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40103160.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hauptänderungen: Du kannst ab sofort deinen Standort an deine Räume senden und Abstimmungen bearbeiten.
|
||||
Alle Änderungen: https://github.com/vector-im/element-android/releases/tag/v1.3.16
|
2
fastlane/metadata/android/de-DE/changelogs/40103170.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40103170.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Wichtigste Änderungen in dieser Version: Versende deinen Standort an jeden Raum deiner Wahl. Bearbeite Umfragen.
|
||||
Alle Änderungen: https://github.com/vector-im/element-android/releases/tag/v1.3.17
|
2
fastlane/metadata/android/de-DE/changelogs/40103180.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40103180.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Wichtigste Änderungen in dieser Version: Versende deinen Standort an jeden Raum deiner Wahl. Bearbeite Umfragen.
|
||||
Alle Änderungen: https://github.com/vector-im/element-android/releases/tag/v1.3.18
|
2
fastlane/metadata/android/de-DE/changelogs/40104000.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40104000.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Neues: Erstelle Threads, damit dein Chatverlauf nicht zugespammt wird. Nachrichtenblasen.
|
||||
Ganze Änderungsliste: https://github.com/vector-im/element-android/releases/tag/v1.4.0
|
2
fastlane/metadata/android/de-DE/changelogs/40104020.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40104020.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Neues: Unterstützung für @room, Verbesserungen der Abstimmungen und weitere kleine Änderungen
|
||||
Ganzer Changelog: https://github.com/vector-im/element-android/releases/tag/v1.4.2
|
2
fastlane/metadata/android/de-DE/changelogs/40104040.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40104040.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Neuer Tippindikator und Bugfixes
|
||||
Alle Änderungen: https://github.com/vector-im/element-android/releases/tag/v1.4.4
|
2
fastlane/metadata/android/en-US/changelogs/40103140.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103140.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Main changes in this version: First change in onboarding screens, including Analytics opt-in. Support for Events with Math added in the labs.
|
||||
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.14
|
2
fastlane/metadata/android/en-US/changelogs/40103150.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103150.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Main changes in this version: First change in onboarding screens, including Analytics opt-in. Support for Events with Math added in the labs.
|
||||
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.15
|
2
fastlane/metadata/android/en-US/changelogs/40103160.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103160.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Main changes in this version: send your location to any room. Edit poll.
|
||||
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.16
|
2
fastlane/metadata/android/en-US/changelogs/40103170.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103170.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Main changes in this version: send your location to any room. Edit poll.
|
||||
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.17
|
2
fastlane/metadata/android/en-US/changelogs/40103180.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103180.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Main changes in this version: send your location to any room. Edit poll.
|
||||
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.18
|
2
fastlane/metadata/android/en-US/changelogs/40104000.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40104000.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Main changes in this version: Initial implementation of thread messages. Message bubbles.
|
||||
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.4.0
|
2
fastlane/metadata/android/en-US/changelogs/40104020.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40104020.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Main changes in this version: add support to @room and undisclosed polls among many other little changes.
|
||||
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.4.2
|
2
fastlane/metadata/android/en-US/changelogs/40104040.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40104040.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Main changes in this version: typing indicator UI updates. Various bug fixes and stability improvements.
|
||||
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.4.4
|
2
fastlane/metadata/android/en-US/changelogs/40104060.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40104060.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Main changes in this version: Thread timeline are now live and faster. Various bug fixes and stability improvements.
|
||||
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.4.6
|
2
fastlane/metadata/android/en-US/changelogs/40104070.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40104070.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Main changes in this version: Various bug fixes and stability improvements.
|
||||
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.4.7
|
2
fastlane/metadata/android/en-US/changelogs/40104080.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40104080.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Main changes in this version: Thread timeline are now live and faster. Various bug fixes and stability improvements.
|
||||
Full changelog: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/en-US/changelogs/40104100.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40104100.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Main changes in this version: Scroll in voice message. Various bug fixes and stability improvements.
|
||||
Full changelog: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/en-US/changelogs/40104110.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40104110.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Main changes in this version: Various bug fixes and stability improvements.
|
||||
Full changelog: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/en-US/changelogs/40104120.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40104120.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Main changes in this version: Allows users to appear offline and adds an audio player for audio attachments
|
||||
Full changelog: https://github.com/vector-im/element-android/releases
|
2
fastlane/metadata/android/en-US/changelogs/40104130.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40104130.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Main changes in this version: Allows users to appear offline and adds an audio player for audio attachments
|
||||
Full changelog: https://github.com/vector-im/element-android/releases
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user