mirror of
https://github.com/vector-im/riotX-android
synced 2025-10-06 00:02:48 +02:00
Compare commits
3406 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
f10c67d3fa | ||
|
bb0955f809 | ||
|
70bb1004c1 | ||
|
b746321bad | ||
|
6fd14c9ebc | ||
|
ed80fe517d | ||
|
bff663d4fa | ||
|
5dced8b6bd | ||
|
21fa0267f6 | ||
|
1ce65d7f87 | ||
|
17fa463bc8 | ||
|
a9702c63d2 | ||
|
fa66f10075 | ||
|
9cd4b5d3b8 | ||
|
e35d6a676a | ||
|
407394b7fa | ||
|
98b9f1b1ca | ||
|
672e798e7c | ||
|
2f048d8f88 | ||
|
ad2ee0e9bc | ||
|
c4d9ba24d3 | ||
|
8e67e5dd18 | ||
|
79b511b44d | ||
|
6d45886e1c | ||
|
4cc80162ca | ||
|
593c9447d8 | ||
|
79a53c68b0 | ||
|
bfd8f6c3ff | ||
|
8628619578 | ||
|
f5593860cf | ||
|
7ba86f032a | ||
|
33e5a9c2ef | ||
|
77c48f2c48 | ||
|
211e1c2ce9 | ||
|
80d19fa497 | ||
|
16e3723043 | ||
|
909c3a667a | ||
|
6998e846f9 | ||
|
d27acfa64f | ||
|
fcca75ee23 | ||
|
ff0b0f293b | ||
|
bc8a88c351 | ||
|
344bc0e3fe | ||
|
f187bffc11 | ||
|
b699701b5c | ||
|
a9493db584 | ||
|
9726c8ae07 | ||
|
bad45799b9 | ||
|
89e97748bc | ||
|
116f7d0575 | ||
|
a858e89ca1 | ||
|
8bfcb1d9d8 | ||
|
5068544824 | ||
|
6ded62a9fa | ||
|
506690a897 | ||
|
5bbb3f28b1 | ||
|
33c30e27fa | ||
|
9f44975b4a | ||
|
95c00a1cce | ||
|
cf252b060c | ||
|
a89e8d0434 | ||
|
4b3749673e | ||
|
5bd8247835 | ||
|
f050fc1e4a | ||
|
eeb9785651 | ||
|
d51e1a4dfb | ||
|
89daabb24f | ||
|
1b52124bb8 | ||
|
cbad7de1c8 | ||
|
af39632d3e | ||
|
65239e4034 | ||
|
f3734bbb53 | ||
|
0dd9809166 | ||
|
f9be66d017 | ||
|
2f7856e521 | ||
|
9ff6e9e1b7 | ||
|
ebcb9faf53 | ||
|
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 | ||
|
66b30c33c8 | ||
|
cb9df953fb | ||
|
bfc6cd04a6 | ||
|
7df5372d4d | ||
|
8115b4b6e6 | ||
|
cee5ea03ae | ||
|
3ad7701ad7 | ||
|
6fec56eeaa | ||
|
c11a0192c0 | ||
|
e15968bc03 | ||
|
bda92a9ab4 | ||
|
3b0856bf8e | ||
|
b8a3bda1ab | ||
|
48fffc3dcf | ||
|
9c9695546c | ||
|
3702ccd2ba | ||
|
bdfe5639ee | ||
|
8f42167fce | ||
|
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 | ||
|
3c226002a0 | ||
|
d99a2f8d14 | ||
|
3236d87323 | ||
|
e36e67c54c | ||
|
837caabcec | ||
|
f1f8f51805 | ||
|
580ecc9c44 | ||
|
6c4f389342 | ||
|
5b851f1cb7 | ||
|
ffd2a762af | ||
|
8e0f5802f9 | ||
|
95df3e7e2b | ||
|
d05af1cb04 | ||
|
88ecfa3678 | ||
|
b18a873cf7 | ||
|
2eb417ab05 | ||
|
2f7f86b8bb | ||
|
43d6a29ff3 | ||
|
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 | ||
|
ed78e54bce | ||
|
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 | ||
|
7414003158 | ||
|
fef40cac96 | ||
|
8db8f5ba5d | ||
|
12018aaee5 | ||
|
4560d748d3 | ||
|
67bdf4b226 | ||
|
a954a412c7 | ||
|
9fa38c5cc5 | ||
|
2aabbf0aa6 | ||
|
9ec662ccdc | ||
|
af542a8243 | ||
|
24a1afddd9 | ||
|
1e2fb88783 | ||
|
60ae416b36 | ||
|
8adeab0ddd | ||
|
6798492cc3 | ||
|
aa7d284dd9 | ||
|
1a92d75a54 | ||
|
57b78a6223 | ||
|
b10bc7000a | ||
|
74dfddeeea | ||
|
fca32da204 | ||
|
1fdb851845 | ||
|
38fbfad8d5 | ||
|
6b05e7a6bb | ||
|
753e3e7519 | ||
|
3251463410 | ||
|
3bd21d04d8 | ||
|
9ea30445ef | ||
|
51c764c2f3 | ||
|
5b1de70742 | ||
|
d2bad95044 | ||
|
d485e69062 | ||
|
71eaac39aa | ||
|
f7c9b36cef | ||
|
37ec3fdf84 | ||
|
7cbaf92690 | ||
|
6a1940cdd2 | ||
|
f5291f4730 | ||
|
bf447afa5a | ||
|
008034895b | ||
|
175b8cc78b | ||
|
25a88fed2e | ||
|
dded566cb5 | ||
|
48944eabcc | ||
|
7581a0b549 | ||
|
75541e0296 | ||
|
3bdb05f7b4 | ||
|
7be01ab7ae | ||
|
56ff5f795a | ||
|
5cbb1d99c7 | ||
|
5c5f2766b6 | ||
|
2dbe2b5f30 | ||
|
ff4bbf0a8a | ||
|
5feafbdbf1 | ||
|
ae8d1d1429 | ||
|
f368ec15d8 | ||
|
30aae3f07a | ||
|
10e8808b88 | ||
|
5d70aa9947 | ||
|
d5968e442c | ||
|
a552be040d | ||
|
67c2f9ac51 | ||
|
6f348813a2 | ||
|
1b41a72e72 | ||
|
6503412928 | ||
|
71fbc3c5c7 | ||
|
1224144487 | ||
|
0fb26da355 | ||
|
e541636802 | ||
|
a047bcbabe | ||
|
3f0122be01 | ||
|
258d731102 | ||
|
de08afdfad | ||
|
aa89e721aa | ||
|
56dac76ca8 | ||
|
401e8e6712 | ||
|
cf026b22b8 | ||
|
be119ea161 | ||
|
6a34b999f2 | ||
|
d373af6e59 | ||
|
636ed10d6e | ||
|
b9b2dd420f | ||
|
31dcd9ab3f | ||
|
1a43eb24bc | ||
|
804edd4005 | ||
|
7bea203187 | ||
|
34cd11b439 | ||
|
459c294147 | ||
|
8e855f6dcf | ||
|
32f2e7d508 | ||
|
70c82443ee | ||
|
a0bda02824 | ||
|
1232aa7d5b | ||
|
bdb41b253d | ||
|
5de76380ad | ||
|
50e51cbe29 | ||
|
5b6e70b1b4 | ||
|
ae81f61958 | ||
|
0d2ad2d85d | ||
|
37f0ffab8b | ||
|
d14dadde27 | ||
|
486671f385 | ||
|
fa30691583 | ||
|
28f6d10af9 | ||
|
bcebfff1a2 | ||
|
e2616ba095 | ||
|
ac5caccdf9 | ||
|
785a142720 | ||
|
8a3652aec2 | ||
|
2c8015c88f | ||
|
34efd91683 | ||
|
41bf1ccc07 | ||
|
401479f140 | ||
|
b46b76c22a | ||
|
3f9bea308a | ||
|
b852b9de9c | ||
|
7ad0e2514f | ||
|
0868ca9c77 | ||
|
313a2a88e6 | ||
|
f62ebbc33a | ||
|
58d9da5bd2 | ||
|
5df47fba53 | ||
|
d71930901b | ||
|
633f495e2c | ||
|
c0db9f7ca1 | ||
|
6929c947b0 | ||
|
a2f780bef4 | ||
|
955fb03532 | ||
|
773d335add | ||
|
ad63d3de1c | ||
|
2541c3f6a5 | ||
|
16ed3f799f | ||
|
fa939a2181 | ||
|
e75764632c | ||
|
0ea7fc2f10 | ||
|
3465b7d844 | ||
|
f24c962a4a | ||
|
f35ffb0a60 | ||
|
6bfd9d07a9 | ||
|
8d7b2ab5d8 | ||
|
41f931e466 | ||
|
b40324a8ba | ||
|
296929e179 | ||
|
a0df5f88b9 | ||
|
7a2d160bde | ||
|
3f270c704c | ||
|
51df64d343 | ||
|
592ec2dc0f | ||
|
8cb52e37df | ||
|
f7500734a2 | ||
|
aa480bc470 | ||
|
e6c5d008a1 | ||
|
cde91af855 | ||
|
4d3dda0b62 | ||
|
d8c971c273 | ||
|
d9c303508e | ||
|
495f03b177 | ||
|
d588743d48 | ||
|
12abd3b019 | ||
|
abf8932747 | ||
|
6fbf8faf53 | ||
|
ccd2d95f0f | ||
|
9e9b779186 | ||
|
c6396ac03a | ||
|
443d15518f | ||
|
380f079ab7 | ||
|
e3c0b34651 | ||
|
768419b11a | ||
|
d5373545f0 | ||
|
2647e061a2 | ||
|
811613fa4d | ||
|
538f51e2d2 | ||
|
7b3163e140 | ||
|
8de892bc60 | ||
|
3e1801a5c4 | ||
|
e091ea82da | ||
|
603c2fa690 | ||
|
98b88c104a | ||
|
8d819c76ab | ||
|
355d8ebdc6 | ||
|
22bab47dad | ||
|
52c8a138d3 | ||
|
33a4eac7d2 | ||
|
6a24e0286e | ||
|
261030f51e | ||
|
1490854b4c | ||
|
17e485fde1 | ||
|
fd854a6172 | ||
|
4290e23d9d | ||
|
b275546a8a | ||
|
e5431d9fb4 | ||
|
02a8fd231c | ||
|
608e01abf1 | ||
|
fc7beb7e5f | ||
|
51c9c2f032 | ||
|
5efe1f4bd8 | ||
|
24c7064cc6 | ||
|
97f8888c7a | ||
|
383c3c0165 | ||
|
8fa36750a2 | ||
|
603ddf7eac | ||
|
98078da13d | ||
|
1e5c057223 | ||
|
bde1df0322 | ||
|
6380ee9176 | ||
|
0df07d0a1e | ||
|
57e0ce2303 | ||
|
4daef6018e | ||
|
eb9fc579d3 | ||
|
60ecd50e61 | ||
|
5fc1efb542 | ||
|
d07dd154b8 | ||
|
97459bc822 | ||
|
884fb629c3 | ||
|
daadf72ffe | ||
|
f008abde4f | ||
|
3ec2a09639 | ||
|
10a63f8949 | ||
|
48e15b1c36 | ||
|
7bbea52e66 | ||
|
0797860e4f | ||
|
ecc4009689 | ||
|
39ff9da3c1 | ||
|
ed00f9f712 | ||
|
e724c2e26c | ||
|
c836491498 | ||
|
e540b26112 | ||
|
df957971a8 | ||
|
d52e61413d | ||
|
185afe403f | ||
|
3db27f89bb | ||
|
63c63bc462 | ||
|
9f13a9df54 | ||
|
108e924783 | ||
|
ee69ece697 | ||
|
eb875823d5 | ||
|
64e56b0dd7 | ||
|
99d77c5bca | ||
|
9946e64c23 | ||
|
81e2e8db06 | ||
|
5340d16e1f | ||
|
b1d18eb8b6 | ||
|
279f9e00a3 | ||
|
f1f1d59576 | ||
|
91bda140e9 | ||
|
ddfdf180c2 | ||
|
84c537315c | ||
|
ef2c32e2c9 | ||
|
948f75b215 | ||
|
da8ec4debf | ||
|
42002b80ed | ||
|
2dc88d1477 | ||
|
d670d3e872 | ||
|
925c1671a6 | ||
|
3ef960c4c3 | ||
|
929cc29f77 | ||
|
1b2ce33f7a | ||
|
70d1c15b89 | ||
|
e7dfdce057 | ||
|
b67199eb07 | ||
|
2c7df1c376 | ||
|
74af485137 | ||
|
9534abef19 | ||
|
91215854f4 | ||
|
12b775c26d | ||
|
e482ef4262 | ||
|
e03c806fd8 | ||
|
b39caeb04d | ||
|
98df733257 | ||
|
ff2e7d89b2 | ||
|
54d76af54b | ||
|
4642299572 | ||
|
a38f5f9644 | ||
|
27161bf794 | ||
|
ca44d8f4d8 | ||
|
aadbf69f3a | ||
|
c14420378b | ||
|
5e282533b6 | ||
|
d7c9e15a73 | ||
|
1127a26928 | ||
|
bb85e9c0c2 | ||
|
c8e4fad5c8 | ||
|
540687cc4b | ||
|
4d6d9181ab | ||
|
7e3a074f8b | ||
|
ae2dbb808f | ||
|
f7a2088009 | ||
|
b4d5d13205 | ||
|
4ef9d089e7 | ||
|
683fcc7f3e | ||
|
5edc0506ce | ||
|
c2183800d3 | ||
|
f9e03aa99e | ||
|
694b8de034 | ||
|
fa65156e87 | ||
|
03cc812a35 | ||
|
d1e46a18fa | ||
|
6a44606c78 | ||
|
47e4ff4768 | ||
|
74363ff823 | ||
|
70b07471cf | ||
|
5fd3317197 | ||
|
a80f8b96c1 | ||
|
5bfba837c1 | ||
|
c3480bfd16 | ||
|
4a1c92421b | ||
|
95b1ae9488 | ||
|
96d5652fcd | ||
|
6d8b5db18e | ||
|
a7b72ed39d | ||
|
1cb91ca5df | ||
|
ddadefdbd6 | ||
|
07d2a15cf8 | ||
|
364457d102 | ||
|
4d6eec8972 | ||
|
1d3cc52991 | ||
|
7ce9eceb7c | ||
|
454baf8beb | ||
|
ce0a582b3e | ||
|
561f32c1f3 | ||
|
5eebc995ff | ||
|
464ac3bce2 | ||
|
cc8da82d02 | ||
|
9b94f1e370 | ||
|
2ddc7f04b3 | ||
|
5407c84b2f | ||
|
753d704c69 | ||
|
f124eba665 | ||
|
ec1d03266c | ||
|
abcdfc6f73 | ||
|
9a294c4151 | ||
|
66256dbd6d | ||
|
6a73c9315a | ||
|
bb0725b2e2 | ||
|
3abba1932f | ||
|
6e1911e686 | ||
|
fc4d18f84e | ||
|
7661d217ee | ||
|
d632d54b6d | ||
|
15fa42ba9b | ||
|
de809d6013 | ||
|
46c7c7421e | ||
|
ccd4396336 | ||
|
a0afab45fb | ||
|
fec74bf864 | ||
|
0d9bc188d7 | ||
|
0e30f4e817 | ||
|
9ef4e1e83f | ||
|
d3e9e19779 | ||
|
01b5544261 | ||
|
2e56d3811e | ||
|
6d7d80e7c1 | ||
|
d41ad89c9e | ||
|
302b24a6b7 | ||
|
a15fefc718 | ||
|
41ae67d214 | ||
|
863b201793 | ||
|
581f71e89d | ||
|
f06397023a | ||
|
9c627fa667 | ||
|
ffdd10b5bf | ||
|
eb8a704ee7 | ||
|
dcabaa0dab | ||
|
d7546db26f | ||
|
5a7d12a9a5 | ||
|
e58c35f797 | ||
|
945749c6fb | ||
|
47f29e63c2 | ||
|
fa38db7d93 | ||
|
f58aab6e9d | ||
|
db2e52bb25 | ||
|
7048080ee0 | ||
|
ed48eb38c9 | ||
|
a764e02f8a | ||
|
7714445d24 | ||
|
18b38fe21e | ||
|
55c0f1fcb3 | ||
|
1b1050bc6c | ||
|
1695fde15b | ||
|
4b2dd73d19 | ||
|
721bf4fbd1 | ||
|
18df540487 | ||
|
f1dff33dc2 | ||
|
b8f9c3f600 | ||
|
4a8bf437fc | ||
|
b72d40a3e7 | ||
|
ccf75afed0 | ||
|
7992e6a551 | ||
|
63866a6a2d | ||
|
de4a7f2777 | ||
|
b2477af0f1 | ||
|
f1c31f048a | ||
|
dff9bbcf94 | ||
|
50a9e444ce | ||
|
0495cdf343 | ||
|
d25d407cc4 | ||
|
cb06ba3ad0 | ||
|
4c33f7c512 | ||
|
597616ea92 | ||
|
8ad8f05e12 | ||
|
a33f49739c | ||
|
c9d650eb0c | ||
|
9b6b74ae2e | ||
|
c6a118fc1f | ||
|
cab28ffe7e | ||
|
f134ac6cdf | ||
|
6c127e9de5 | ||
|
a9cf7b3676 | ||
|
7e2eb2a21e | ||
|
c13feb983e | ||
|
61b74bb083 | ||
|
fa92aff11c | ||
|
58f7c83f4e | ||
|
3bd2b77af3 | ||
|
706c5b2b32 | ||
|
f9b69fff9e | ||
|
461beda634 | ||
|
680c22d4c8 | ||
|
6495bd9e5e | ||
|
e155eefb7b | ||
|
ac65942c28 | ||
|
ddbf8582dd | ||
|
6918372a87 | ||
|
b73bae452a | ||
|
e1eafd2c64 | ||
|
37db28ae7c | ||
|
9e2fb1366f | ||
|
240ce6873b | ||
|
cc7e3ea78c | ||
|
5723465106 | ||
|
a60f6e996a | ||
|
ca58a04f57 | ||
|
a187e0ec33 | ||
|
9a5934dd33 | ||
|
dca5bea744 | ||
|
f769d84443 | ||
|
cabf12289b | ||
|
049cad7d2c | ||
|
ae6be3fdc4 | ||
|
2275bdd4fa | ||
|
638d56c707 | ||
|
e7bb030d52 | ||
|
bc6ca2449e | ||
|
a3a8a5b0b5 | ||
|
3b35be510f | ||
|
addeec0ff8 | ||
|
9adc946b7e | ||
|
db1e0af4e5 | ||
|
818a8898b3 | ||
|
63660ab496 | ||
|
eb9c46b9a2 | ||
|
4c238e81cf | ||
|
5904a5955f | ||
|
8c913d29cb | ||
|
8b96d8cd8d | ||
|
bc6e89b503 | ||
|
3acdccb339 | ||
|
20357ce5c4 | ||
|
824e713c51 | ||
|
13dc2d5b76 | ||
|
ce95131d2a | ||
|
3df08d1866 | ||
|
043877bcfd | ||
|
e4fad7a477 | ||
|
ca61d4d4ee | ||
|
ef1356ded5 | ||
|
9478ac8450 | ||
|
e7a1838f1c | ||
|
3b70ea1e03 | ||
|
497f9556f8 | ||
|
2d490a98cd | ||
|
75ca3bab09 | ||
|
7c791e3482 | ||
|
531c06da50 | ||
|
e6a94d6387 | ||
|
eb18bbb3b8 | ||
|
d594ee780a | ||
|
ad763e6fb3 | ||
|
657d7ee85a | ||
|
09854abf25 | ||
|
b8d8b9b718 | ||
|
e9010dff94 | ||
|
469dde33b6 | ||
|
218f8f51ab | ||
|
18d2da4d25 | ||
|
bf48617fc6 | ||
|
bef238f851 | ||
|
cd95fc41e4 | ||
|
96062b7daa | ||
|
6a33c41091 | ||
|
4949a06343 | ||
|
f3ede9db6a | ||
|
ccee4a9952 | ||
|
2aa24f0a0d | ||
|
20b5742227 | ||
|
fa65cc59fe | ||
|
5ceed4096e | ||
|
973b42be4c | ||
|
7bdecafe54 | ||
|
ce558a06eb | ||
|
5dfe24ca45 | ||
|
73dba2b692 | ||
|
32820f7893 | ||
|
1961309458 | ||
|
03a4194047 | ||
|
d56281dca7 | ||
|
0411291515 | ||
|
7a17061270 | ||
|
6d2163bdf4 | ||
|
08def813cc | ||
|
74594d8fc3 | ||
|
1e40b5cd34 | ||
|
fd0e1e44c4 | ||
|
dae2e9988f | ||
|
01d4a48b8b | ||
|
a3ad8c5e2e | ||
|
f4cfb5d6d3 | ||
|
be33a53e56 | ||
|
aad19e4bce | ||
|
7b7fb8ef60 | ||
|
cb4690a3e6 | ||
|
d3d5d79b7d | ||
|
0a090fab65 | ||
|
fa060051ed | ||
|
ea9a524048 | ||
|
10182902af | ||
|
a40e60ba8f | ||
|
e519e314fe | ||
|
48fa411d83 | ||
|
2c81e7ea08 | ||
|
3719551913 | ||
|
240d0c0a5e | ||
|
b9799b46fd | ||
|
38e7e2fe4e | ||
|
28588eb10c | ||
|
db81ec260e | ||
|
0981af3085 | ||
|
f29e14fdd8 | ||
|
da407ef8a2 | ||
|
10b39ccd28 | ||
|
eac06d5401 | ||
|
c1ea653561 | ||
|
e2bbc3f8ae | ||
|
6e646b12b5 | ||
|
78a7a61d07 | ||
|
96b186ca8c | ||
|
e8fbbe2b97 | ||
|
c302148e89 | ||
|
808c401675 | ||
|
f028f9836b | ||
|
f6dcda6841 | ||
|
c7ad50a4d6 | ||
|
04d23ce7f6 | ||
|
ab70ee5ae2 | ||
|
5ea7f3cbca | ||
|
df3f8bd88e | ||
|
b701bb7c1a | ||
|
406881c8a7 | ||
|
3620a265d0 | ||
|
a6dec7b9cb | ||
|
2fbcc96b4d | ||
|
9a84c45ccd | ||
|
f1ee8183e5 | ||
|
7d169a8a8d | ||
|
790049f33a | ||
|
b49c30d879 | ||
|
7c2ed46dd7 | ||
|
a71f2415a6 | ||
|
45ff069d66 | ||
|
5c015a7444 | ||
|
6c296d53bf | ||
|
c77fa38cc3 | ||
|
c514a3b063 | ||
|
947b7afb00 | ||
|
431064e5f8 | ||
|
49579f17e4 | ||
|
47d08e7849 | ||
|
6ef556e834 | ||
|
e7cf9f51e7 | ||
|
a940fcaf8b | ||
|
e8d8814c80 | ||
|
d0400641e6 | ||
|
a9aea96db4 | ||
|
07b04b6e55 | ||
|
a090642c67 | ||
|
76960f8b67 | ||
|
38a8e8b003 | ||
|
ba8121641f | ||
|
34898f1c81 | ||
|
9b2a3cf445 | ||
|
bf7907a119 | ||
|
6ba5c7af27 | ||
|
72bb58645b | ||
|
7f7199abd4 | ||
|
17c4c1e9b8 | ||
|
287587f356 | ||
|
50a84a6c56 | ||
|
eed7d15b0e | ||
|
5823777755 | ||
|
a8c921ef03 | ||
|
e91e26ebfb | ||
|
e1fc7cfaba | ||
|
411fd31d4c | ||
|
d49a0dde6e | ||
|
f340a19c8e | ||
|
8fefee9b02 | ||
|
01cc7b7264 | ||
|
1267468704 | ||
|
b1f78004cf | ||
|
0df11fc145 | ||
|
29837d48fe | ||
|
f69f303246 | ||
|
c32c0f8d7d | ||
|
3604b1cc63 | ||
|
61625095cf | ||
|
ced159b1b1 | ||
|
2b6618ab40 | ||
|
abfaa03a1e | ||
|
45ee39f3c0 | ||
|
934d325c2a | ||
|
101f3229c2 | ||
|
57ef0b59ab | ||
|
2c8cc3e16d | ||
|
db60a2f6d2 | ||
|
022acb39e5 | ||
|
e379c690b3 | ||
|
b1d4031a76 | ||
|
be9e592aa5 | ||
|
d5f8931e20 | ||
|
b2e599ea2b | ||
|
04a7590804 | ||
|
1280687640 | ||
|
bf287d1827 | ||
|
7c2bae3b6b | ||
|
faebf95e1c | ||
|
9169319522 | ||
|
3ab2a9e128 | ||
|
31ba912d6e | ||
|
c830d49924 | ||
|
1e2e9e1070 | ||
|
ed6e7a12ad | ||
|
ad1fbab956 | ||
|
f97753fdc1 | ||
|
f675dcdefd | ||
|
131d7ad8da | ||
|
c947660744 | ||
|
a026137381 | ||
|
01b8b7d57a | ||
|
f187c30d79 | ||
|
a38747da22 | ||
|
36ff0e6e78 | ||
|
b53433e61b | ||
|
bf1be4f20d | ||
|
696ee9fdfe | ||
|
88f517af1f | ||
|
1563f1234a | ||
|
bfe199de9b | ||
|
d2969766ca | ||
|
d13a3eaad5 | ||
|
29a4fd1e41 | ||
|
5d35f02abb | ||
|
f843dddc3a | ||
|
10671a53a4 | ||
|
c603135398 | ||
|
4ac90f10c1 | ||
|
0f11e498a0 | ||
|
0a4e093e64 | ||
|
cb79d20327 | ||
|
05ce1414b9 | ||
|
7cf92ec17d | ||
|
bb959b6b1e | ||
|
d3a1746475 | ||
|
90d00b96b7 | ||
|
953fadeed4 | ||
|
6c21ed8eab | ||
|
440de9741b | ||
|
2d74eb060c | ||
|
96295f6102 | ||
|
7e6a5f944f | ||
|
147935db97 | ||
|
892d70812f | ||
|
23bc867b95 | ||
|
673cbb29de | ||
|
9d4835ab25 | ||
|
d63f9073b7 | ||
|
9ed72fd1eb | ||
|
53e4ef52dc | ||
|
74355aea43 | ||
|
219bb89c3a | ||
|
fa0e2cd451 | ||
|
eba5aa94ce | ||
|
d0b62738e1 | ||
|
566f6332bc | ||
|
3ff3507fa1 | ||
|
5cfebb764c | ||
|
9094173b52 | ||
|
170f34639b | ||
|
f3f28f3989 | ||
|
0150d830d4 | ||
|
6a749f106d | ||
|
952ceced05 | ||
|
cf267ae234 | ||
|
c1438f0a65 | ||
|
71d7270da5 | ||
|
75b544a110 | ||
|
0d3444b9ce | ||
|
1df6b33981 | ||
|
0defac348e | ||
|
7a77ae49f1 | ||
|
796fa08418 | ||
|
5726c3fd21 | ||
|
1f8073cbbf | ||
|
d13c252658 | ||
|
8421d46cd7 | ||
|
099d0ca564 | ||
|
f1d8b9e974 | ||
|
fdc4af3c21 | ||
|
17c28022d7 | ||
|
beb4dcd3ea | ||
|
c93fee336d | ||
|
74e573ecdc | ||
|
747030b578 | ||
|
03be698a7e | ||
|
a6d6fd7b3b | ||
|
3689a62aae | ||
|
d804d1b6c5 | ||
|
c208c2d5ae | ||
|
8c794b1059 | ||
|
a2cbd447b9 | ||
|
1621c04ad8 | ||
|
c74633c0f8 | ||
|
0a35604dfa | ||
|
d6d1fe72a2 | ||
|
c40a686cff | ||
|
49eee0dc38 | ||
|
3217277bc4 | ||
|
88605b65b7 | ||
|
1f58913b53 | ||
|
b2dce51fc2 | ||
|
e60d053f84 | ||
|
e3155b6c98 | ||
|
db406704c9 | ||
|
9f4f15aa92 | ||
|
8a0fe41b80 | ||
|
6a3d4044ef | ||
|
11669fa2ac | ||
|
767ead019a | ||
|
8007654e2a | ||
|
54c45d3e71 | ||
|
23ad4e5a27 | ||
|
435dc9f9d1 | ||
|
cd7345aa6b | ||
|
9e367a8535 | ||
|
0a7df44a12 | ||
|
a2a89c1ee8 | ||
|
8ca60eadbb | ||
|
667bf1a848 | ||
|
d1bb96cec0 | ||
|
de7180ef7e | ||
|
0cf50e88e9 | ||
|
bf8b485e2c | ||
|
90f2e2c32e | ||
|
7fa4bf182a | ||
|
014da84ba6 | ||
|
a527e7a64a | ||
|
1aa532178e | ||
|
c89c0dcbd2 | ||
|
3778603c4d | ||
|
e053a81f7c | ||
|
4e7eccd07c | ||
|
d4aec802c4 | ||
|
d50a75e6be | ||
|
1c675bd020 | ||
|
18b2a058bd | ||
|
f5dac77856 | ||
|
648cba5cd6 | ||
|
0026b17b83 | ||
|
c588d99bbb | ||
|
122273d22a | ||
|
bfb0846ddc | ||
|
a4bdf96ba3 | ||
|
16846f039a | ||
|
218e20a92e | ||
|
bb1ffc8483 | ||
|
2ec119d70f | ||
|
ef7e813598 | ||
|
33a86a4add | ||
|
d287f6b2f3 | ||
|
3b82e16a12 | ||
|
b4192a862b | ||
|
c62028df68 | ||
|
32e8a7e886 | ||
|
06485cf5e4 | ||
|
2a3a55894f | ||
|
a3b11b223a | ||
|
7c269309c2 | ||
|
ebc131f492 | ||
|
850620cd99 | ||
|
76eddef840 | ||
|
03961fe933 | ||
|
3644e5d755 | ||
|
f9a88db2f7 | ||
|
f3b3c880d0 | ||
|
73f5d77b05 | ||
|
c6f4bba1a4 | ||
|
c0c959e460 | ||
|
5ab18dfd6d | ||
|
055c9be9ce | ||
|
3917b4c8cf | ||
|
729d9ce815 | ||
|
f05ed4c6cc | ||
|
9b7650e5db | ||
|
eb1a30cc30 | ||
|
eeeab1dd0e | ||
|
42d987f8ef | ||
|
2968be2233 | ||
|
24a6080090 | ||
|
55c7270ef2 | ||
|
be2637c426 | ||
|
805fcb6bd3 | ||
|
622483cf9f | ||
|
a8108f2e17 | ||
|
869b5ad55b | ||
|
4c7ccfb438 | ||
|
530f4a8851 | ||
|
a3173d89e5 | ||
|
8752fe1e69 | ||
|
995e1e3d49 | ||
|
5c5a547aeb | ||
|
b33cddf0e3 | ||
|
8608230fa0 | ||
|
5606a5bfe7 | ||
|
b68e9e1f7f | ||
|
7c4460b812 | ||
|
11d5ea71e2 | ||
|
2fbb85d9e6 | ||
|
6b7f9cb688 | ||
|
6cb8a2458f | ||
|
0b62c4ec6b | ||
|
d42473becb | ||
|
696c537f96 | ||
|
6624039413 | ||
|
c84642aa33 | ||
|
e106ff8de0 | ||
|
2d17156861 | ||
|
6d3df0d802 | ||
|
fa256cca25 | ||
|
578a012f93 | ||
|
f8f5e7ecd3 | ||
|
f80069604c | ||
|
581c557f60 | ||
|
14f61e37d0 | ||
|
67ec4ffd1b | ||
|
d57240e3f5 | ||
|
9253a3664b | ||
|
17245dc7ae | ||
|
81ee141330 | ||
|
84f7eb29e0 | ||
|
9f1e327fa5 | ||
|
7fedcbb998 | ||
|
0241d66f8e | ||
|
2e52f429fb | ||
|
9726e258b5 | ||
|
c855465e62 | ||
|
3a8fd42513 | ||
|
02a609164c | ||
|
3f39c5dae1 | ||
|
ff0cf9b394 | ||
|
3f29130332 | ||
|
9d6ac08a18 | ||
|
f0ecfbbab2 | ||
|
e7b8b90b0a | ||
|
3d31ba963d | ||
|
b66aff457a | ||
|
3d5d9ad154 | ||
|
51f46d199f | ||
|
aaba62813c | ||
|
cdb5376a19 | ||
|
8fd5e426bb | ||
|
7c41d3cacb | ||
|
30fe564a2c | ||
|
53ca86dc6c | ||
|
df23cc4e09 | ||
|
7beec1c726 | ||
|
2a83e93265 | ||
|
b59ae53805 | ||
|
b889641f2b | ||
|
173ccc6bd4 | ||
|
31b521e925 | ||
|
8e807be7b0 | ||
|
e0ba2a26d4 | ||
|
cfaa7268a8 | ||
|
ccdeeeab4c | ||
|
258d64a41e | ||
|
bcbfc13f0a | ||
|
7b691cc433 | ||
|
bdbbdb723e | ||
|
cc9fb326dd | ||
|
20241f852a | ||
|
dffed4445d | ||
|
a0ffc5988f | ||
|
4986e9713b | ||
|
8a8fa066f9 | ||
|
c4967a2871 | ||
|
034725ef91 | ||
|
9e9116df2f | ||
|
1d9da6c7d3 | ||
|
fdfac8d20a | ||
|
28af0a637f | ||
|
b2b588fc2a | ||
|
c34e425ada | ||
|
a77bfa058d | ||
|
5b7673c8d9 | ||
|
adf18d881b | ||
|
540158316e | ||
|
c9637967c9 | ||
|
5d1812008d | ||
|
8fa264589a | ||
|
5ed765999a | ||
|
4a5e21ad21 | ||
|
6d2dc20ad1 | ||
|
c2c495c49d | ||
|
afc69c77bd | ||
|
bbb3a6139f | ||
|
755e3fe932 | ||
|
32441eb81b | ||
|
31bd4fd2d0 | ||
|
8a8a5bfa50 | ||
|
aa3631f328 | ||
|
00059e7b70 | ||
|
5ee379e10d | ||
|
bd423db98a | ||
|
b3d1c4fbdb | ||
|
a237952254 | ||
|
4445f55b99 | ||
|
d1cd09acd0 | ||
|
5fd4775257 | ||
|
2472978756 | ||
|
5025170117 | ||
|
e982dd48e8 | ||
|
e2bf3e7097 | ||
|
6838e701b5 | ||
|
70d25653c8 | ||
|
d1102f7be4 | ||
|
72bc442fca | ||
|
56cfee572f | ||
|
251c54ecfe | ||
|
bdf9402685 | ||
|
5e5ce614ef | ||
|
c72dd5eec6 | ||
|
31eeb0674b | ||
|
722f367690 | ||
|
77454c8ae9 | ||
|
61faf71751 | ||
|
b0275b20ee | ||
|
6a7bc5cef8 | ||
|
d4db706c06 | ||
|
eba6ae592b | ||
|
460596d6b3 | ||
|
c4cf7fa069 | ||
|
0efe4ef16a | ||
|
6c81bf6ee8 | ||
|
2b3de840f1 | ||
|
ca34812f82 | ||
|
62293e3a4e | ||
|
e2f9498d2f | ||
|
e95d603dc5 | ||
|
e546587efb | ||
|
aee34ad552 | ||
|
e10af6476f | ||
|
aa0f031910 | ||
|
86d76e76a4 | ||
|
2586b376f5 | ||
|
97a44a5632 | ||
|
586b3d8caa | ||
|
f3ccf83051 | ||
|
1ffa28b079 | ||
|
e520a374e4 | ||
|
2c6993af44 | ||
|
e15c84129c | ||
|
4add0d06d9 | ||
|
e5436dc395 | ||
|
bdb39d2dca | ||
|
a796f04c1c | ||
|
3b2847656d | ||
|
8c9f70d3c7 | ||
|
94edbfcf4f | ||
|
136b1a8af6 | ||
|
fe60a715ee | ||
|
91496eff0a | ||
|
b7d094871c | ||
|
2612695266 | ||
|
8201d3dc82 | ||
|
6233822244 | ||
|
92df359243 | ||
|
c6df159323 | ||
|
ba1acf02f6 | ||
|
71e25f4276 | ||
|
2afa850e96 | ||
|
a7f9790f95 | ||
|
d3accdd524 | ||
|
294876942f | ||
|
3ff0870692 | ||
|
0972ce780b | ||
|
1f77d1487b | ||
|
4ddd52137e | ||
|
72360104fb | ||
|
e709896fb0 | ||
|
c0f8984d16 | ||
|
35ee555252 | ||
|
28e9d4e090 | ||
|
4af2780ad9 | ||
|
69720ffdd3 | ||
|
23f726a2f0 | ||
|
67975e0c83 | ||
|
0f42f379c6 | ||
|
292c09b176 | ||
|
d0f5a10c76 | ||
|
909e93b6d6 | ||
|
430e171f85 | ||
|
eb32fd95e4 | ||
|
cca50ed669 | ||
|
9ce228c5bc | ||
|
f140dbc0a0 | ||
|
8837640b5a | ||
|
b5055453d1 | ||
|
35f9bef94a | ||
|
7d0d105e82 | ||
|
0240aa15a6 | ||
|
d80a25feac | ||
|
331bcbfc8a | ||
|
289339f2db | ||
|
7693f3bc6c | ||
|
55fd362b3d | ||
|
f622468f3b | ||
|
b22a3af090 | ||
|
7d35891b01 | ||
|
6efe9b82f4 | ||
|
cc27c37c1e | ||
|
08f9fad23e | ||
|
1c6b2ceb4b | ||
|
1b5868644a | ||
|
38f0640d2c | ||
|
97d768e392 | ||
|
69745ea74e | ||
|
b57d414189 | ||
|
b9e7357e04 | ||
|
7d262ebc32 | ||
|
1afc1b51e5 | ||
|
4dbb150ac2 | ||
|
16ca7d5040 | ||
|
c5746a59ae | ||
|
734e7df910 | ||
|
d00277a81f | ||
|
bf3bf6a509 | ||
|
bf374371b8 | ||
|
dfc67b832c | ||
|
5e99972d95 | ||
|
be685bc56a | ||
|
e233915c0f | ||
|
feda53bfb7 | ||
|
9ae03b76cd | ||
|
e895dbd923 | ||
|
2ad121e96e | ||
|
40d762c37d | ||
|
f2690552a2 | ||
|
f0ef9e9706 | ||
|
3de0f7bf37 | ||
|
fef604bfb9 | ||
|
f61474cb83 | ||
|
fb5e3cdfcd | ||
|
940fe634c4 | ||
|
bd0cd169c4 | ||
|
42c0df8f26 | ||
|
e562d7684a | ||
|
4b6afb3e63 | ||
|
00ab7aaea9 | ||
|
958be65389 | ||
|
e98dd2e663 | ||
|
f4772f7aa8 | ||
|
27c92a1583 | ||
|
ebf6231ab1 | ||
|
ec3071c971 | ||
|
591f8d9877 | ||
|
1a029fe84b | ||
|
0bddba1930 | ||
|
a62ed45cba | ||
|
bff72a4d52 | ||
|
84d86a5433 | ||
|
f56691a942 | ||
|
9ae6197f4c | ||
|
8015ffee42 | ||
|
0c4dee8933 | ||
|
51d8887727 | ||
|
83cf522d35 | ||
|
78bdef4e2d | ||
|
cedf553602 | ||
|
1a204c6b5a | ||
|
dc708438a6 | ||
|
a8f6efd5e8 | ||
|
879e6ef5e2 | ||
|
c21a9669a6 | ||
|
7783057eac | ||
|
cc967103c1 | ||
|
9972dbc278 | ||
|
a5518e90ae | ||
|
36ffb3b073 | ||
|
d463500998 | ||
|
88656ce80b | ||
|
bf8c386ef3 | ||
|
3d9350091e | ||
|
31837390bc | ||
|
c0af8214a6 | ||
|
0fd29d763c | ||
|
adea1db87a | ||
|
855b672f48 | ||
|
0fada97450 | ||
|
e279ffa1d8 | ||
|
34ae53f813 | ||
|
b4751bc75c | ||
|
fb2a2ec252 | ||
|
1b8c747b00 | ||
|
b84aebb7d8 | ||
|
c0bd299b04 | ||
|
f533fed55d | ||
|
36c312b1a6 | ||
|
10a460bf0c | ||
|
2a051a146c | ||
|
f8042893c8 | ||
|
c070cfc2af | ||
|
d763c61c61 | ||
|
3d27e21683 | ||
|
8c0b2a6704 | ||
|
03b96a8a42 | ||
|
27d6e271ad | ||
|
eb1519743d | ||
|
4160688f83 | ||
|
10ec6e7435 | ||
|
be3aafeef2 | ||
|
dddcbfbe7d | ||
|
baed0dcb3e | ||
|
b158b8f899 | ||
|
5258cbd0c2 | ||
|
3887692a8e | ||
|
f53dd33472 | ||
|
597da4f9e3 | ||
|
3a1b50f6a2 | ||
|
db299a2c33 | ||
|
2077eda611 | ||
|
f59ac641bb | ||
|
027807b9be | ||
|
8d8565ca63 | ||
|
eb39b37374 | ||
|
60c50e23a1 | ||
|
8c539426e6 | ||
|
6ce5b19b05 | ||
|
b58c91b28d | ||
|
6f13fb1634 | ||
|
223b33fa65 | ||
|
2aab94acb4 | ||
|
35e2a1083b | ||
|
df60b0c2b7 | ||
|
299d81fd18 | ||
|
fb8b720a3b | ||
|
5a19533b4a | ||
|
60d75ff8e2 | ||
|
b26ea752b5 | ||
|
96de0f86fe | ||
|
1082771f7c | ||
|
03019fdfd9 | ||
|
453e6daa93 | ||
|
f88a477f04 | ||
|
f25c17881d | ||
|
e9f53f6b35 | ||
|
0a9845af30 | ||
|
9429b039de | ||
|
7e59c18050 | ||
|
a1630b5546 | ||
|
a1c8835f31 | ||
|
756f846e74 | ||
|
56776aed21 | ||
|
2880798627 | ||
|
540a1b52ad | ||
|
f1e1729d40 | ||
|
f7b2059fe1 | ||
|
31809a595c | ||
|
aa3f36b7b7 | ||
|
a7582257aa | ||
|
fff47b8243 | ||
|
5d44dae7ed | ||
|
63683a3ce5 | ||
|
3b469921a6 | ||
|
ceb16cc301 | ||
|
afe05eddc2 | ||
|
087a987f88 | ||
|
a33bcbb81a | ||
|
89e50225d1 | ||
|
66bbb02bae | ||
|
41ac1d3b7b | ||
|
47a8f1afbb | ||
|
556275b208 | ||
|
c8577eb951 | ||
|
ad48223273 | ||
|
6afed3d5b7 | ||
|
94ae3c6dc0 | ||
|
a6c88b74a4 | ||
|
b6717f4e46 | ||
|
89db5a6ecd | ||
|
3d86c10132 | ||
|
6ddf3f6e5a | ||
|
7a78bc6866 | ||
|
98ae9d0e8a | ||
|
016f3faeea | ||
|
0ad66446e7 | ||
|
80a42d0a55 | ||
|
52df50a686 | ||
|
8b655edd34 | ||
|
42648298b6 | ||
|
9152c39c73 | ||
|
968d8e413a | ||
|
992c3d8a13 | ||
|
0ab5734c53 | ||
|
70dd3e5cb9 | ||
|
10a8a45391 | ||
|
c8ae3f9a83 | ||
|
411be43287 | ||
|
918042c231 | ||
|
0a1f4dd69f | ||
|
2583a6d6bf | ||
|
fc865682b1 | ||
|
39b4116699 | ||
|
e5edfe9c73 | ||
|
2a66efb733 | ||
|
b304ef82fc | ||
|
5b76d4b682 | ||
|
474e2aadbe | ||
|
a6f3a468be | ||
|
e923d94d6c | ||
|
750aa26e92 | ||
|
7546071df8 | ||
|
b90b396753 | ||
|
892129994e | ||
|
a5c1f91ab6 | ||
|
dc486557cf | ||
|
270d55dfb4 | ||
|
157421afb8 | ||
|
5b414b848e | ||
|
c55d1117e5 | ||
|
620a6cad2a | ||
|
0ec022f817 | ||
|
9cbed204bc | ||
|
d58a846707 | ||
|
e0abd991c5 | ||
|
9dd01d5b20 | ||
|
ecc9b59ad1 | ||
|
9c1d6e0484 | ||
|
528c5a3671 | ||
|
9ebc234e8e | ||
|
145ceacf78 | ||
|
9e6bd2ee9c | ||
|
431f060209 | ||
|
22f73c80f0 | ||
|
a37ff83fdc | ||
|
8cc68e16d2 | ||
|
4597cb3816 | ||
|
7646f7ce32 | ||
|
037d1fcf52 | ||
|
57037c9ac6 | ||
|
6bc121ad4a | ||
|
c0ef25756d | ||
|
77e0b22982 | ||
|
588958c807 | ||
|
9009606e86 | ||
|
ef348c24a0 | ||
|
5190ef4280 | ||
|
9e9698520a | ||
|
75f8023cb3 | ||
|
48ebb8e416 | ||
|
3add33eb0d | ||
|
579963733b | ||
|
2d1aed1839 | ||
|
52731cf59d | ||
|
f61d20a7f8 | ||
|
9b4cd3c3c4 | ||
|
8140d90826 | ||
|
a10253c003 | ||
|
2b58c0e5ab | ||
|
cea2206e97 | ||
|
04c7a300b9 | ||
|
b6e5d2cadf | ||
|
d481f3b286 | ||
|
053fd7b6bf | ||
|
71fbcaa226 | ||
|
c7c0eb6a05 | ||
|
085c217fc0 | ||
|
cd06ac1c3f | ||
|
2bd430b859 | ||
|
5d665c1d4b | ||
|
e07c46a030 | ||
|
2feb6e0541 | ||
|
4301bb7042 | ||
|
fbd21de5c3 | ||
|
b50e1a477f | ||
|
f2d12aa3d7 | ||
|
86b777b922 | ||
|
dca4b87ced | ||
|
71e55692ae | ||
|
1c836df20d | ||
|
5c59c5f82c | ||
|
231172aa19 | ||
|
0e10793e59 | ||
|
0cbe899007 | ||
|
64e281ecc4 | ||
|
019ba178f5 | ||
|
b6b5e528f5 | ||
|
2306ac60cb | ||
|
2c5fe79596 | ||
|
f17f4e123f | ||
|
b7d040be9f | ||
|
3837f8e2e3 | ||
|
4b57761d02 | ||
|
78675d4aa1 | ||
|
657a613374 | ||
|
b1397aee51 | ||
|
0405c2df8d | ||
|
be932a8a03 | ||
|
803929ea45 | ||
|
7b6773f90e | ||
|
264f49b02c | ||
|
e8fb408579 | ||
|
32f5893798 | ||
|
8b98c8fe1d | ||
|
0f1c9f4af5 | ||
|
17789f00bb | ||
|
d2aec09b5b | ||
|
d5e7a8542b | ||
|
f08d3965c1 | ||
|
e0544a677d | ||
|
5284765149 | ||
|
f3655d4664 | ||
|
bcffbbefd7 | ||
|
83897dda4e | ||
|
0a0ad6d073 | ||
|
ec4923fbc8 | ||
|
cd5a0f4c3c | ||
|
557609c175 | ||
|
b773aa213a | ||
|
6c8513d65a | ||
|
78e0109301 | ||
|
21e1766e3e | ||
|
41ab117182 | ||
|
e800c59f57 | ||
|
67fe07a385 | ||
|
345dac4a3b | ||
|
2f3716d9b9 | ||
|
ed4f26de81 | ||
|
92a37f15d4 | ||
|
8f854d725d | ||
|
85f8f217b5 | ||
|
e167db2bb7 | ||
|
6f58cbd6c5 | ||
|
97089e4394 | ||
|
3ffd41d36f | ||
|
e4135e4524 | ||
|
488c081d0c | ||
|
6c74fec0fa | ||
|
fdcad764d2 | ||
|
5d013b0433 | ||
|
ec366f1346 | ||
|
432d4801c9 | ||
|
036a81d60b | ||
|
48678382ba | ||
|
c173adb783 | ||
|
a6eadfe894 | ||
|
006ad10392 | ||
|
b418756727 | ||
|
b1afc26d65 | ||
|
ace9f89569 | ||
|
c14ffefe7c | ||
|
56d5a38e80 | ||
|
71b27bfd5d | ||
|
c6b942cd31 | ||
|
97b4fd69b4 | ||
|
e14fb16db2 | ||
|
d261dd705d | ||
|
cbe07c4aee | ||
|
cb0fefa74d | ||
|
e6b359c7f7 | ||
|
32d3136e02 | ||
|
a1fdd31b68 | ||
|
52d0da7053 | ||
|
d13e30b3be | ||
|
2c39635734 | ||
|
06d4ee9df8 | ||
|
ce5ccd4dab | ||
|
d42a2e69ae | ||
|
4192c1cf81 | ||
|
8ee3f2c6cb | ||
|
e4896cad38 | ||
|
45a63b73bd | ||
|
b8ca520552 | ||
|
fcecdfce85 | ||
|
2eba5f1f4d | ||
|
3760401b10 | ||
|
e43bfaebc6 | ||
|
d1294f9a71 | ||
|
da3372af96 | ||
|
23a8ac6231 | ||
|
26f8f5d1fb | ||
|
b450102f2a | ||
|
1971652ff0 | ||
|
5bda79802f | ||
|
66737c6ec9 | ||
|
c568595817 | ||
|
c261340939 | ||
|
3e982601ac | ||
|
e75c5a6b9a | ||
|
1c9f1808ba | ||
|
0aa0858921 | ||
|
44068304e0 | ||
|
8453255ee0 | ||
|
959e6b67e3 | ||
|
13dc0e0c11 | ||
|
1341094545 | ||
|
19216aec63 | ||
|
40aa0175d0 | ||
|
0d6e8bdeb3 | ||
|
d36f01242a | ||
|
6d41f89fe7 | ||
|
e12d8c30d8 | ||
|
bb4a820c31 | ||
|
16e4a7f653 | ||
|
dd6ac46659 | ||
|
edf068ee57 | ||
|
3ea61c94f2 | ||
|
79de7be141 | ||
|
73995eb7bd | ||
|
a5a3a817e1 | ||
|
14538a71d0 | ||
|
79c5af2585 | ||
|
83644846f6 | ||
|
c22d3fbedc | ||
|
db820efc3a | ||
|
23f8d05522 | ||
|
ac299d8c06 | ||
|
f9f4317d68 | ||
|
868548d0ab | ||
|
2ce4d8d84f | ||
|
dd58dd800c | ||
|
34e8cf84dc | ||
|
9276f99a8e | ||
|
c6eba1178d | ||
|
fbffddec77 | ||
|
adeafdace3 | ||
|
5d9e94f250 | ||
|
da47bfde2b | ||
|
8525925732 | ||
|
c2ce10f89c | ||
|
8d668cc118 | ||
|
d344be5088 | ||
|
63e9e07d5e | ||
|
611bf29ebe | ||
|
6691edb59d | ||
|
b93e67ed11 | ||
|
635ca8e276 | ||
|
9949779b62 | ||
|
540036f83c | ||
|
7b356484ae | ||
|
e7a0a4d4ae | ||
|
dbb4a87784 | ||
|
3a48e33c81 | ||
|
6f577d8232 | ||
|
076820bb10 | ||
|
3a81c10062 | ||
|
f166348a68 | ||
|
76314b9d87 | ||
|
9b75da5d4d | ||
|
4ae04fc297 | ||
|
d5ed95988d | ||
|
2681601d35 | ||
|
72508c61d9 | ||
|
34cb99e8ae | ||
|
6cee266a95 | ||
|
54daee2798 | ||
|
ede8933059 | ||
|
5c4ac897c1 | ||
|
abd83f3d7c | ||
|
86d651be60 | ||
|
d969549ce6 | ||
|
188e0dbec7 | ||
|
f6f4cec947 | ||
|
93ed2dcbbf | ||
|
66198805ca | ||
|
82b3d17db6 | ||
|
fe9dde5a14 | ||
|
124061e1db | ||
|
6d9877d79c | ||
|
a5fe6f7212 | ||
|
b146501f29 | ||
|
be67836a3e | ||
|
2bd2cbf84e | ||
|
c56101d227 | ||
|
e8bd27e785 | ||
|
743a71c78d | ||
|
d1f6db4236 | ||
|
d3234b33d3 | ||
|
63090ef681 | ||
|
6fb7faa360 | ||
|
a6e47d8b85 | ||
|
c16e3e09e6 | ||
|
4748a385ea | ||
|
86ce6a404e | ||
|
9fa09def96 | ||
|
4bbb637ace | ||
|
c67b9ee81e | ||
|
0bdc65b47f | ||
|
b27fb264fc | ||
|
b7b4c01bde | ||
|
587466e009 | ||
|
03fe45da60 | ||
|
a94a1a0523 | ||
|
8fb6bef503 | ||
|
0d316e69de | ||
|
3d567d0dcd | ||
|
c85afa96d3 | ||
|
3023cb4d39 | ||
|
0f4ec65b7a | ||
|
7b0c483134 | ||
|
4459aab558 | ||
|
6cc6cc58f0 | ||
|
beff5ab821 | ||
|
56e2b79774 | ||
|
86b500445f | ||
|
b44a382893 | ||
|
db5d4ead38 | ||
|
c99dd4a615 | ||
|
89d643a4be | ||
|
81da185d8b | ||
|
51f7dee952 | ||
|
67211605aa | ||
|
1c0d69674d | ||
|
37a7d449ae | ||
|
0c809b5ed1 | ||
|
e95d49a3ae | ||
|
109a5a6664 | ||
|
a19999a717 | ||
|
31abf44d0e | ||
|
1d8a4a923a | ||
|
272baa52ec | ||
|
e8ccae8cd0 | ||
|
042e91ee1c | ||
|
4361926075 | ||
|
881157a725 | ||
|
49c969601d | ||
|
a9d192fa39 | ||
|
d1f3e3f958 | ||
|
01a29f67d0 | ||
|
5279993995 | ||
|
8ac48b903a | ||
|
eb66a51891 | ||
|
6c485d5f6e | ||
|
792444d1ac | ||
|
edd29ec4ef | ||
|
093b5c76ab | ||
|
f2330903ae | ||
|
9f1efab18d | ||
|
dc5739c11d | ||
|
8cf5b727e1 | ||
|
9479342a64 | ||
|
0236396c59 | ||
|
c936954119 | ||
|
10df75bd57 | ||
|
c90dbf2f38 | ||
|
cb1d5e888d | ||
|
8f0074911a | ||
|
d0f226dcd1 | ||
|
4af42902a0 | ||
|
363ae79378 | ||
|
3e03db200c | ||
|
f2c22c1985 | ||
|
3354cd1760 | ||
|
79d56319b7 | ||
|
cabdec166f | ||
|
90eee339a3 | ||
|
f877965550 | ||
|
201d558925 | ||
|
b892331e42 | ||
|
8b6e0187d6 | ||
|
55c00a0975 | ||
|
325e78106e | ||
|
d4b010bad7 | ||
|
ff04337e04 | ||
|
91500dc7cb | ||
|
359b8e2158 | ||
|
63ca323d92 | ||
|
028d318246 | ||
|
7e4a115bfb | ||
|
cc96c0398d | ||
|
9ed8d5b22e | ||
|
06b3cc3f4b | ||
|
e1f4e4f934 | ||
|
c87d276f8a | ||
|
09fbd5fcf5 | ||
|
a82a5c9b32 | ||
|
e6e8c7f7d1 | ||
|
e9b58844b3 | ||
|
d89264ff77 | ||
|
b6501ce7b2 | ||
|
0d1382ab01 | ||
|
f75de0b2b7 | ||
|
7aa860b1fa | ||
|
dcda43fc93 | ||
|
de320e671e | ||
|
5a3d1fb7ec | ||
|
2ddedf49d4 | ||
|
df5c05fc1f | ||
|
2b0933139a | ||
|
3993a45825 | ||
|
b83566c1c0 | ||
|
bc137af0e2 | ||
|
c212c2ec50 | ||
|
d724504662 | ||
|
9d5f84b86a | ||
|
d6d46d1c21 | ||
|
a7d5c6a437 | ||
|
eb54eef595 | ||
|
beab9ab8f1 | ||
|
d41ff50097 | ||
|
a2a2315f9c | ||
|
dc230f1c30 | ||
|
486e769287 | ||
|
d33daaf799 | ||
|
cb6376670b | ||
|
ac1e4e9e9c | ||
|
3ea7b37df3 | ||
|
b3f6b5e142 | ||
|
188b4887ba | ||
|
ab87937e5b | ||
|
7c9c4ecf5f | ||
|
7f96bf623f | ||
|
86d4d13d50 | ||
|
d5f2a6179d | ||
|
e536e1c785 | ||
|
367795ee24 | ||
|
628ccdc328 | ||
|
8954b1bb22 | ||
|
cf5fca082d | ||
|
c7fa40fd46 | ||
|
d764bb659f | ||
|
ac44cd4401 | ||
|
85983562fa | ||
|
97464969ea | ||
|
92cd79c550 | ||
|
89e8e5ca31 | ||
|
bb68e735f7 | ||
|
097694f6ef | ||
|
c056dc27ca | ||
|
1d831b3a1b | ||
|
16a8cf6d51 | ||
|
497d053c5d | ||
|
803d145892 | ||
|
bda95fcc5e | ||
|
5cb55cb0d3 | ||
|
61c64a872d | ||
|
86b7fe67ac | ||
|
ab0e707ea6 | ||
|
4626199761 | ||
|
364654b685 | ||
|
fe2ba28441 | ||
|
f5eaf2f05f | ||
|
aea22201c3 | ||
|
1d73077184 | ||
|
2a47acc68a | ||
|
c8a8d2e0bf | ||
|
ca79e87e00 | ||
|
1c119c2c5d | ||
|
6cb254e743 | ||
|
87bd145e8e | ||
|
4a1f1a9fa5 | ||
|
022452cd45 | ||
|
f8850f5eb8 | ||
|
5a82981944 | ||
|
28ccfbdc0d | ||
|
99bb0f994f | ||
|
964937db98 | ||
|
be874d9927 | ||
|
68591f3ddd | ||
|
b83a96e1c1 | ||
|
41167cdc23 | ||
|
9b1b35084c | ||
|
e425532953 | ||
|
1787a8a358 | ||
|
ab5b907b7d | ||
|
0c80f6b8a5 | ||
|
ee301bc355 | ||
|
8425358634 | ||
|
bdbe1dd606 | ||
|
44ab38aa39 | ||
|
bbc0a84af0 | ||
|
968c2e70d2 | ||
|
293b255f58 | ||
|
8da2ea8315 | ||
|
d23bd411b3 | ||
|
4ccdf65308 | ||
|
ec81920e0a | ||
|
3d63140f48 | ||
|
dcc3d9846b | ||
|
745d34c722 | ||
|
d1b9710fa5 | ||
|
9dd7017131 | ||
|
ac63369a59 | ||
|
f8d208fb4f | ||
|
91d2ef456e | ||
|
59a3b84c1d | ||
|
ff53cf4db9 | ||
|
1b0a127af3 | ||
|
32658f6651 | ||
|
1f74bc986d | ||
|
a208732499 | ||
|
fc793c442b | ||
|
0f07629547 | ||
|
eb70a81afd | ||
|
00beb27b56 | ||
|
84b44f6093 | ||
|
2f0affa27e | ||
|
7ec0872b78 | ||
|
62f66cd478 | ||
|
0a9c6673af | ||
|
49262a19fe | ||
|
4d9e348aba | ||
|
ebf8c51207 | ||
|
b06e400291 | ||
|
17ddcdd250 | ||
|
58447e9966 | ||
|
d75e523935 | ||
|
af1f1e379f | ||
|
256f90ae17 | ||
|
e0c059fcba | ||
|
961124e7f0 | ||
|
9d90a897fc | ||
|
a9abec8d0a | ||
|
53b2f0c5e7 | ||
|
8dcc65dc0a | ||
|
450c8e629e | ||
|
64c532e54b | ||
|
99de9d4a4f | ||
|
b041876fa6 | ||
|
10b753ad61 | ||
|
f2da047720 | ||
|
c6aac34c39 | ||
|
64dce0638f | ||
|
4f51dbdcf9 | ||
|
9661fa0a20 | ||
|
085da6c99a | ||
|
4dff7f19e9 | ||
|
7be7d50575 | ||
|
d4f62902a6 | ||
|
db4c4520ea | ||
|
37dbaadbcc | ||
|
13ec4db8a2 | ||
|
ffa5e1a1ba | ||
|
256cb7093d | ||
|
39d92d8559 | ||
|
6c915ea4d1 | ||
|
923bc00dcd | ||
|
7338982030 | ||
|
c9f69b3fc5 | ||
|
da28ddfabd | ||
|
efc1e9b87c | ||
|
0292afb537 | ||
|
2b2f5be83e | ||
|
36d2f8e46b | ||
|
b6c483fff0 | ||
|
8c2f6b1d4c | ||
|
a7ec76bae3 | ||
|
e3034e5d11 | ||
|
d11f4e5e31 | ||
|
b79b7f5740 | ||
|
786dec5dc0 | ||
|
a24a9b43fa | ||
|
bd51eae741 | ||
|
1c1424eafc | ||
|
bdec6a3580 | ||
|
13f8494072 | ||
|
69bb554e20 | ||
|
aff787bb29 | ||
|
8e84aea434 | ||
|
b7c911feee | ||
|
21479b2b28 | ||
|
48d9dfb82d | ||
|
ced85964da | ||
|
0a2d7d709b | ||
|
6672ab3966 | ||
|
46c338934e | ||
|
e24329e139 | ||
|
6c9fcc0d93 | ||
|
2d97640372 | ||
|
4a7e0a5d95 | ||
|
73c08e2eeb | ||
|
8cea340100 | ||
|
fc753fe11e | ||
|
d1d66c3406 | ||
|
b7a54ead68 | ||
|
d26340993f | ||
|
0d85299c57 | ||
|
dcf98d93e6 | ||
|
7088e5cf54 | ||
|
3265c604cf | ||
|
42cbdf0a6c | ||
|
a26e43e90c | ||
|
6cee8871f3 | ||
|
ccc4a43737 | ||
|
13aee7d162 | ||
|
117fa71f53 | ||
|
bde129ddce | ||
|
6520729343 | ||
|
caf2c2c487 | ||
|
f89a32da1f | ||
|
6721669d1d | ||
|
6dd0de6123 | ||
|
fadaaa5b18 | ||
|
737a290841 | ||
|
343783f807 | ||
|
651e347825 | ||
|
7bfc771117 | ||
|
9acec43a48 | ||
|
713c93faa6 | ||
|
2c8e171911 | ||
|
a2c790b4a1 | ||
|
e67930f0c3 | ||
|
3a6259fd29 | ||
|
506dfe5fea | ||
|
3c7e05b86e | ||
|
d366fb1c0f | ||
|
db0e47b133 | ||
|
d309c71d83 | ||
|
1069e990e5 | ||
|
06e1cfd631 | ||
|
a8c8e1d6ff | ||
|
1c20c096d8 | ||
|
0f1e5fcc5c | ||
|
eefff680b7 | ||
|
c9d15c1708 | ||
|
25250cb508 | ||
|
aa1e4a9f44 | ||
|
4ffb30ec4f | ||
|
fbec4c305e | ||
|
820eedc7a3 | ||
|
30cc056b61 | ||
|
16068d8214 | ||
|
51c83f8bf4 | ||
|
fe4475c430 | ||
|
fdc3da979e | ||
|
cbcb620ad1 | ||
|
2a29243298 | ||
|
3a387c5e32 | ||
|
7b46796a81 | ||
|
1d9cb79960 | ||
|
612f0c77ea | ||
|
0a0dd4ee1b | ||
|
bcf6342312 | ||
|
9605841a84 | ||
|
e673f31071 | ||
|
66d4a48930 | ||
|
090273da14 | ||
|
b43a8ab9db | ||
|
5c5fc767a4 | ||
|
5a5832dab7 | ||
|
bf219856a5 | ||
|
999a08c0f5 | ||
|
c66d6aab5c | ||
|
3bdf264a53 | ||
|
56b0b28d5e | ||
|
b411938644 | ||
|
d6af355335 | ||
|
5365e87777 | ||
|
cb7260954a | ||
|
259b6d56d7 | ||
|
d00858f83b | ||
|
cccda9b699 | ||
|
79ec0591d2 | ||
|
496a531072 | ||
|
791c92c991 | ||
|
7b5972e3cf | ||
|
728f34f53c | ||
|
05166944d8 | ||
|
c0fd266fc4 | ||
|
578358d839 | ||
|
acf3b84781 | ||
|
b71e2de9ac | ||
|
f0cc56d95e | ||
|
64fb94691b | ||
|
2f732affa5 | ||
|
362ebcbe42 | ||
|
7e8ca29ca7 | ||
|
5fdaa45246 | ||
|
f5cda678b2 | ||
|
98428c7b29 | ||
|
c55598a099 | ||
|
0125c7675d | ||
|
9aeba10b7e | ||
|
3111d0b46d | ||
|
5a4f320bf9 | ||
|
7ce811c227 | ||
|
e4c3457f37 | ||
|
04d844b1a9 | ||
|
9ab59a543d | ||
|
a2f64177eb | ||
|
0e498cc838 | ||
|
16f6e358dc | ||
|
fe2bf80b84 | ||
|
3a65b4c694 | ||
|
0cc5b9fbd1 | ||
|
7e1e02973b | ||
|
d9b02a20d8 | ||
|
58b69b1fe4 | ||
|
2223e95f33 | ||
|
95247f8b10 | ||
|
214deaa474 | ||
|
7ebdd7830a | ||
|
9fd1cc9c8e | ||
|
f4e50a38a6 | ||
|
a0d5618346 | ||
|
c2d26ce207 | ||
|
f21d89eb29 | ||
|
94bbd37313 | ||
|
06fcee3c46 | ||
|
1fcb9f284a | ||
|
eceb341986 | ||
|
647b09739f | ||
|
fadbb60f90 | ||
|
90781dbd99 | ||
|
068c9393f1 | ||
|
5076369173 | ||
|
f91936b413 | ||
|
9802ed08e3 | ||
|
17bcf9039d | ||
|
778e50aaf6 | ||
|
2b63ccf70a | ||
|
36e4d3ec69 | ||
|
677ca57106 | ||
|
4fadc84d83 | ||
|
4af9e2c9f0 | ||
|
f3393dd779 | ||
|
52fe3a1669 | ||
|
6669587ac1 | ||
|
c4a03925d4 | ||
|
f385e74662 | ||
|
f72a34ed08 | ||
|
ba80bf5ba1 | ||
|
489aedbc37 | ||
|
7636b4d7a8 | ||
|
c3b65a9c71 | ||
|
3da5641e2b | ||
|
e0a6e82661 | ||
|
724bd7dd1a | ||
|
0a6b71d27d | ||
|
36b7617483 | ||
|
289b7e2d53 | ||
|
9735bc6ee3 | ||
|
a0cd7163c6 | ||
|
f6b6725467 | ||
|
32a39ad461 | ||
|
01206195ad | ||
|
b1b5ff8a09 | ||
|
57d7ac5bd8 | ||
|
ddfb0ac080 | ||
|
f135fbea35 | ||
|
c5bbda24c4 | ||
|
d8bbd17eca | ||
|
9b8837f426 | ||
|
f0cba97bd8 | ||
|
720154572f | ||
|
af4be85c34 | ||
|
1bd575f6db | ||
|
495bdae9df | ||
|
72ef6bffbd | ||
|
b117d313a6 | ||
|
8376a946a8 | ||
|
98ba9d6342 | ||
|
ca64e9511e | ||
|
f5375c7af2 | ||
|
bde45b901f | ||
|
b7f0efbeb1 | ||
|
ce014d1196 | ||
|
f7af298654 | ||
|
0e01c64f69 | ||
|
1dd2d410e0 | ||
|
2366227133 | ||
|
43c75bdae7 | ||
|
96b5d1c96b | ||
|
d8203ea27b | ||
|
7d59cbebf1 | ||
|
2ef4cd276b | ||
|
587c634a49 | ||
|
242b17294d | ||
|
c72f66871f | ||
|
b4247550ec | ||
|
606cddc826 | ||
|
d63e1ecfea | ||
|
bbce37e694 | ||
|
8d7f542e88 | ||
|
19ae298707 | ||
|
63d71cf56f | ||
|
f9d2f236a4 | ||
|
9337e0e76d | ||
|
679f0a5940 | ||
|
8644363005 | ||
|
11e7ae3c7e | ||
|
6983e1be55 | ||
|
920f467231 | ||
|
ba35c0101e | ||
|
d1e9f3131a | ||
|
a1caccbcc8 | ||
|
2ca3c68611 | ||
|
03bdcee3ad | ||
|
f6b81b36d0 | ||
|
45509a68bb | ||
|
2324bf5d05 | ||
|
a3c4f56774 | ||
|
49e332cb1c | ||
|
7105a20f4f | ||
|
2b38c607b2 | ||
|
d6da4f7834 | ||
|
845c396f8f | ||
|
3719382569 | ||
|
8cfd4bae35 | ||
|
be8c6f1836 | ||
|
3f7e810f14 | ||
|
3df004b035 | ||
|
535a2c931b | ||
|
4880df3555 | ||
|
a171f1912a | ||
|
5d51431c60 | ||
|
2605433a3d | ||
|
bea8d097e2 | ||
|
6b3a407b79 | ||
|
d5f9d8086a | ||
|
0033378f8b | ||
|
c0adde56df | ||
|
a9525bf92c | ||
|
3d38ec7aeb | ||
|
856fc8f976 | ||
|
357d7ee338 | ||
|
aa4e804261 | ||
|
31a7bfed02 | ||
|
8937a0f569 | ||
|
c4539abe4c | ||
|
cdc6b7e7d5 | ||
|
984ab08823 | ||
|
6e72287464 | ||
|
63e52226c6 | ||
|
b55e94b938 | ||
|
b5614a1cd5 | ||
|
daa3125e57 | ||
|
77486abbd9 | ||
|
edce14f48f | ||
|
65dc2a7f04 | ||
|
e3e18b4ce8 | ||
|
3f73dfcac6 | ||
|
7ff29ebfc5 | ||
|
26689ac111 | ||
|
64f845c372 | ||
|
aa98861fcd | ||
|
aad6f76f87 | ||
|
3cb0cc9d37 | ||
|
5b12dfd4c2 | ||
|
41b43f648f | ||
|
b17af9a250 | ||
|
44c3a0eb91 | ||
|
e58f358d64 | ||
|
126478beba | ||
|
ad42a966f1 | ||
|
cefe964512 | ||
|
ab23a12761 | ||
|
4fb6404178 | ||
|
64f07d6fea | ||
|
535c4861ff | ||
|
96b9db2d38 | ||
|
36edab888d | ||
|
455f290a36 | ||
|
c869427e45 | ||
|
5b80f7b1a8 | ||
|
4077216c1e | ||
|
254e849db2 | ||
|
1c12cdd69a | ||
|
51640a61a9 | ||
|
4e15975c6c | ||
|
d24f448c70 | ||
|
ae3e6a0706 | ||
|
701b0fbeef | ||
|
e4d39880fd | ||
|
9815dfe449 | ||
|
7c2fac39f4 | ||
|
458c423dab | ||
|
2d707720f6 | ||
|
5929095523 | ||
|
3bd3ac09bf | ||
|
12ca487e93 | ||
|
23615c0038 | ||
|
0d737a9a5d | ||
|
2fee68e0d0 | ||
|
a66d88abb3 | ||
|
3a79a7595d | ||
|
0eef248d7d | ||
|
cd4cfd05b8 | ||
|
7d7ea3b9ad | ||
|
6d91482da1 | ||
|
4cb735fec5 | ||
|
0099a3724b | ||
|
7d911fff17 | ||
|
399b2a13ee | ||
|
19d1d981c3 | ||
|
6df03fc13b | ||
|
509c61c1a8 | ||
|
ac0c7067e0 | ||
|
789cc6b597 | ||
|
e6eb86538f | ||
|
9f93850046 | ||
|
906da76727 | ||
|
7e5ec29977 | ||
|
224aac7c73 | ||
|
465b8bfe05 | ||
|
5b5dcf988d | ||
|
ccfab3957f | ||
|
fd4acbc216 | ||
|
e544592b70 | ||
|
7349e48bd4 | ||
|
0cd3bcaf15 | ||
|
7e922d59ea | ||
|
38015fe04d | ||
|
f39d2b141e | ||
|
53c8862ca2 | ||
|
e4b66f6967 | ||
|
28e84d06c4 | ||
|
4b5a1d06c3 | ||
|
97dc07f8c9 | ||
|
3aaffc8a8f | ||
|
ef5208a0e4 | ||
|
83b0ada342 | ||
|
0b2125afe3 | ||
|
cec018915e | ||
|
09a25cce4e | ||
|
cde6e8cc1b | ||
|
eb104d8758 | ||
|
b5fadaacab | ||
|
045e4bbf76 | ||
|
9a30da13b5 | ||
|
1fed27961a | ||
|
8318f2d38f | ||
|
0acf90d8cd | ||
|
91ba17f71b | ||
|
5bb3e22868 | ||
|
d59aaa7611 | ||
|
4482cbdaa6 | ||
|
7fd794bd7a | ||
|
95b4f99970 | ||
|
5a8e789435 | ||
|
ee59fe660f | ||
|
3287980109 | ||
|
0a498bee38 | ||
|
cf1a93839f | ||
|
2262cd4b6d | ||
|
4c45a69129 | ||
|
20821fbe80 | ||
|
78b870c558 | ||
|
8f4609e72b | ||
|
e8009953d6 | ||
|
5e7e66b18c | ||
|
1b262a4df8 | ||
|
863ba609df | ||
|
7bd8890276 | ||
|
4f340f6b90 | ||
|
ed03d2d278 | ||
|
9c559a7c2c | ||
|
f3c4e9a1df | ||
|
80aad8a958 | ||
|
5a1781e1ac | ||
|
d7bc32d7ca | ||
|
712b8ede14 | ||
|
8ecaaa08cf | ||
|
e4bc60d255 | ||
|
a40cee337e | ||
|
d0623c298d | ||
|
3a1cb1c07a | ||
|
35cfaad7aa | ||
|
6e010ad693 | ||
|
b52f2b0422 | ||
|
0302d19f47 | ||
|
43eff8b85b | ||
|
1d4c909b50 | ||
|
e27fa5db12 | ||
|
1865e3c450 | ||
|
5ed15506c1 | ||
|
6708d22da5 | ||
|
8384953e2a | ||
|
75fb026289 | ||
|
306e3cf055 | ||
|
93506d18fa | ||
|
c163d2e271 | ||
|
1059f105bf | ||
|
1ce48c4deb | ||
|
1cd6ec4448 | ||
|
05aff3314d | ||
|
f5151463e2 | ||
|
63a84dcb8a | ||
|
d31ad7e187 | ||
|
4c4f2fce74 | ||
|
d9e9568c2e | ||
|
fc5c6b9b00 | ||
|
efec63e979 | ||
|
8316728e53 | ||
|
013b16a37d | ||
|
cfd37bb528 | ||
|
05e35afe12 | ||
|
9b02704d5b | ||
|
654010570e | ||
|
ebd5095662 | ||
|
636389d584 | ||
|
195fb6f6fc | ||
|
290586948f | ||
|
261797e7ac | ||
|
e113880ae8 | ||
|
fb10e9f113 | ||
|
5bf1761f27 | ||
|
8734d5d2e7 | ||
|
52d9600c4f | ||
|
0617179c20 | ||
|
03eb36636d | ||
|
710f2f92cb | ||
|
2c25efc36a | ||
|
78d70eab12 | ||
|
516bb6ed95 | ||
|
0b293d08cc | ||
|
410cf5c062 | ||
|
ee3f2877e9 | ||
|
cd1da7348f | ||
|
b370f84e08 | ||
|
6bf8202e65 | ||
|
1591375aa2 | ||
|
fa3abecf8f | ||
|
8036f50a6e | ||
|
2cc9d27902 | ||
|
a48813003e | ||
|
bc85ae4bc9 | ||
|
63aa5b4015 | ||
|
f418683da5 | ||
|
b5f7351564 | ||
|
7f9c191647 | ||
|
2283030c9b | ||
|
e37fb313c0 | ||
|
21d0a28150 | ||
|
a73f0a9fa8 | ||
|
0d344fde03 | ||
|
afb49430be | ||
|
a3a49593e4 | ||
|
744523b200 | ||
|
d0e43a2ebe | ||
|
da75642b92 | ||
|
33273955cb | ||
|
d2af7e3f91 | ||
|
1dcf6b9539 | ||
|
6d023188da | ||
|
84ef079206 | ||
|
f79681b343 | ||
|
932a43ef58 | ||
|
8e9cd52cf0 | ||
|
82864b2b98 | ||
|
86ce92ddf6 | ||
|
8092e8958d | ||
|
7bf414ec8c | ||
|
653acee9de | ||
|
226b0e6c9d | ||
|
bd9a187597 | ||
|
100ac49cac | ||
|
8b980e5227 | ||
|
421c2ae0ba | ||
|
22319a0f0a | ||
|
e5de62b57c | ||
|
94f88c80fc | ||
|
cfed0f839b | ||
|
31c0831aba | ||
|
9a9a3d8cc6 | ||
|
8fd784e275 | ||
|
87fefdc7bb | ||
|
bb459a6e5e | ||
|
70ebb3a3f2 | ||
|
2c1435f08c | ||
|
d6b261ce4c | ||
|
c1b14bd800 | ||
|
c89b2c0536 | ||
|
0460a48c0c | ||
|
f2b7ee3e06 | ||
|
73692bc067 | ||
|
1b59c7b451 | ||
|
e3057477df | ||
|
3575157f1c | ||
|
27d4f60578 | ||
|
3447c05b00 | ||
|
7ca089b3d7 | ||
|
1c2997e40e | ||
|
2badb9725d | ||
|
c0b01dff70 | ||
|
7142cd899b | ||
|
9c06b9b0f7 | ||
|
c69f0db5b4 | ||
|
b48dbd1a52 | ||
|
59d5cfbb24 | ||
|
0dc88c71ab | ||
|
c9b294f737 | ||
|
fe1d9aa589 | ||
|
eb962cfb1e | ||
|
db55693201 | ||
|
3a0734f6e2 | ||
|
60004f02c3 | ||
|
d54549bdf3 | ||
|
e8e9278b82 | ||
|
9c94fd26e2 | ||
|
e07e2c11a4 | ||
|
66ec25d8eb | ||
|
b5c08a13ff | ||
|
370b9cabf7 | ||
|
57abc04752 | ||
|
49821805d1 | ||
|
6a0cc66f43 | ||
|
13ac4851fc | ||
|
0e956f1f5a | ||
|
449eac0d99 | ||
|
938540d9e9 | ||
|
ea6c8a6981 | ||
|
8d7cd183b4 | ||
|
397f576e68 | ||
|
cda95dd23c | ||
|
f96485c493 | ||
|
2144bb9d49 | ||
|
d758d5c270 | ||
|
3fcfe7000f | ||
|
5a5d4fda2d | ||
|
529a7aedcb | ||
|
6a1409ba59 | ||
|
d773fb4135 | ||
|
34edc79450 | ||
|
13878c8e7e | ||
|
9914fb2d0f | ||
|
af36b5b4b7 | ||
|
94a6950394 | ||
|
57e5eca784 | ||
|
4f145e365e | ||
|
b1c95e32eb | ||
|
9238037067 | ||
|
a41bec9476 | ||
|
99123bf0cc | ||
|
fac9a19c01 | ||
|
a968a848b0 | ||
|
ebe1e28689 | ||
|
a05859b54c | ||
|
bf919b89da | ||
|
8c590b50e3 | ||
|
451c2379ec | ||
|
79a3be3ffe | ||
|
40d48cc3ff | ||
|
1019ffe614 | ||
|
1ec0956b82 | ||
|
ea01677768 | ||
|
6c26cfc626 | ||
|
da10364d03 | ||
|
db97046f08 | ||
|
cc15f9b129 | ||
|
f7d8127fa6 | ||
|
0109cdefa6 | ||
|
0e400dca24 | ||
|
0aee15fd04 | ||
|
889a9a1798 | ||
|
7aaebd493b | ||
|
5b6727408b | ||
|
24c67660c1 | ||
|
1a40b65b53 | ||
|
13960561c0 | ||
|
c0cf534845 |
@@ -9,25 +9,6 @@ insert_final_newline=true
|
||||
# it's automatically set to 100 on `ktlint --android ...` (per Android Kotlin Style Guide)
|
||||
max_line_length=off
|
||||
|
||||
# Comma-separated list of rules to disable (Since 0.34.0)
|
||||
# Note that rules in any ruleset other than the standard ruleset will need to be prefixed
|
||||
# by the ruleset identifier.
|
||||
disabled_rules=no-multi-spaces,colon-spacing,chain-wrapping,import-ordering,experimental:annotation
|
||||
|
||||
# The following (so far identified) rules are kept:
|
||||
# no-blank-line-before-rbrace
|
||||
# final-newline
|
||||
# no-consecutive-blank-lines
|
||||
# comment-spacing
|
||||
# filename
|
||||
# comma-spacing
|
||||
# paren-spacing
|
||||
# op-spacing
|
||||
# string-template
|
||||
# no-unused-imports
|
||||
# curly-spacing
|
||||
# no-semi
|
||||
# no-empty-class-body
|
||||
# experimental:multiline-if-else
|
||||
# experimental:no-empty-first-line-in-method-block
|
||||
# no-wildcard-imports
|
||||
# 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.**,^
|
||||
|
15
.github/ISSUE_TEMPLATE/bug.yml
vendored
15
.github/ISSUE_TEMPLATE/bug.yml
vendored
@@ -23,12 +23,12 @@ body:
|
||||
- type: textarea
|
||||
id: result
|
||||
attributes:
|
||||
label: What happened?
|
||||
label: Outcome
|
||||
placeholder: Tell us what went wrong
|
||||
value: |
|
||||
### What did you expect?
|
||||
#### What did you expect?
|
||||
|
||||
### What happened?
|
||||
#### What happened instead?
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
@@ -57,16 +57,17 @@ 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
|
||||
id: rageshake
|
||||
attributes:
|
||||
label: Have you submitted a rageshake?
|
||||
label: Will you send logs?
|
||||
description: |
|
||||
Did you know that you can shake your phone to submit logs for this issue? Trigger the defect, then shake your phone and you will see a popup asking if you would like to open the bug report screen. Click YES, and describe the issue, mentioning that you have also filed a bug. Submit the report to send anonymous logs to the developers.
|
||||
Did you know that you can shake your phone to submit logs for this issue? Trigger the defect, then shake your phone and you will see a popup asking if you would like to open the bug report screen. Click YES, and describe the issue, mentioning that you have also filed a bug (it's helpful if you can include a link to the bug). Send the report to submit anonymous logs to the developers.
|
||||
options:
|
||||
- 'Yes'
|
||||
- 'No'
|
||||
|
2
.github/ISSUE_TEMPLATE/enhancement.yml
vendored
2
.github/ISSUE_TEMPLATE/enhancement.yml
vendored
@@ -10,7 +10,7 @@ body:
|
||||
id: usecase
|
||||
attributes:
|
||||
label: Your use case
|
||||
description: What would you like to be able to do? Please feel welcome to include screenshots or mock ups.
|
||||
description: Please feel welcome to include screenshots or mock ups.
|
||||
placeholder: Tell us what you would like to do!
|
||||
value: |
|
||||
#### What would you like to do?
|
||||
|
61
.github/ISSUE_TEMPLATE/release.yml
vendored
61
.github/ISSUE_TEMPLATE/release.yml
vendored
@@ -1,7 +1,7 @@
|
||||
name: Release checklist
|
||||
description: Checklist for each release. This template is only for the core team.
|
||||
title: "[Release] Element Android v"
|
||||
labels: [\U0001F680 Release]
|
||||
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: |
|
||||
@@ -22,36 +22,41 @@ body:
|
||||
|
||||
### Do the release
|
||||
|
||||
- [ ] Create release with gitflow, branch name `release/1.1.10`
|
||||
- [ ] Run `./tools/import_emojis.py` and commit the change if any.
|
||||
- [ ] Run `./tools/import_sas_strings.py` and commit the change if any. If there is no change since a while, ping Travis
|
||||
- [ ] 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
|
||||
|
||||
@@ -63,6 +68,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
|
||||
@@ -70,11 +77,27 @@ body:
|
||||
https://github.com/matrix-org/matrix-android-sdk2
|
||||
|
||||
- [ ] Create a release with GitFlow
|
||||
- [ ] Update the value of VERSION_NAME in the file gradle.properties
|
||||
- [ ] Update the files `./build.gradle` and `./gradle/gradle-wrapper.properties` manually, to use the latest version for the dependency. You can get inspired by the same files on Element Android project.
|
||||
- [ ] Run the script `./tools/import_from_element.sh`
|
||||
- [ ] Update the version in `./matrix-sdk-android/build.gradle` and let the script finish to build the library
|
||||
- [ ] Check the diff in the file `./matrix-sdk-android/build.gradle` and restore what may have been erased (in particular the line `apply plugin: "com.vanniktech.maven.publish"` and the line about the version)
|
||||
- [ ] Let the script finish to build the library
|
||||
- [ ] Update the file `CHANGES.md`
|
||||
- [ ] Finish the release using GitFlow
|
||||
- [ ] Push the branch `main`, the new tag and the branch `develop` to origin
|
||||
|
||||
##### Release on MavenCentral
|
||||
|
||||
- [ ] Run the command `./gradlew publish --no-daemon --no-parallel`. You'll need some non-public element to do so
|
||||
- [ ] Connect to https://s01.oss.sonatype.org
|
||||
- [ ] Click on Staging Repositories and check the the files have been uploaded
|
||||
- [ ] Click on close
|
||||
- [ ] Wait (check Activity tab until step "Repository closed" is displayed)
|
||||
- [ ] Click on release. The staging repository will disappear
|
||||
- [ ] Check that the release is available in https://repo1.maven.org/maven2/org/matrix/android/matrix-android-sdk2/ (it can take a few minutes)
|
||||
|
||||
##### Release on GitHub
|
||||
|
||||
- [ ] Create the release on GitHub from [the tag](https://github.com/matrix-org/matrix-android-sdk2/tags)
|
||||
- [ ] Upload the AAR on the GitHub release
|
||||
|
||||
@@ -82,7 +105,7 @@ body:
|
||||
|
||||
https://github.com/matrix-org/matrix-android-sdk2-sample
|
||||
|
||||
- [ ] Update the dependency to the new version of the SDK2. Jitpack will have to build the AAR, it can take a few minutes. You can check status on https://jitpack.io/#matrix-org/matrix-android-sdk2
|
||||
- [ ] 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/
|
||||
- [ ] Build and run the sample, you may have to fix some API break
|
||||
- [ ] Commit and push directly on `main`
|
||||
validations:
|
||||
|
44
.github/PULL_REQUEST_TEMPLATE.md
vendored
44
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -1,10 +1,48 @@
|
||||
### 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 -->
|
||||
|
||||
## 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
|
||||
- [ ] Pull request is based on the develop branch
|
||||
- [ ] Pull request includes a new file under ./changelog.d. See https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md#changelog
|
||||
- [ ] Pull request includes screenshots or videos if containing UI changes
|
||||
- [ ] Pull request includes a [sign off](https://github.com/matrix-org/synapse/blob/master/CONTRIBUTING.md#sign-off)
|
||||
- [ ] Pull request includes a [sign off](https://matrix-org.github.io/synapse/latest/development/contributing_guide.html#sign-off)
|
||||
- [ ] You've made a self review of your PR
|
||||
- [ ] If you have modified the screen flow, or added new screens to the application, you have updated the test [UiAllScreensSanityTest.allScreensTest()](https://github.com/vector-im/element-android/blob/main/vector/src/androidTest/java/im/vector/app/ui/UiAllScreensSanityTest.kt#L73)
|
||||
|
7
.github/dependabot.yml
vendored
7
.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: "/"
|
||||
@@ -18,6 +20,5 @@ updates:
|
||||
open-pull-requests-limit: 200
|
||||
reviewers:
|
||||
- "bmarty"
|
||||
### ignore:
|
||||
### - dependency-name: com.squareup.okhttp3:logging-interceptor
|
||||
### versions: "> 3.12.10"
|
||||
ignore:
|
||||
- dependency-name: com.google.zxing:core
|
||||
|
10
.github/workflows/build.yml
vendored
10
.github/workflows/build.yml
vendored
@@ -5,6 +5,12 @@ on:
|
||||
push:
|
||||
branches: [ main, develop ]
|
||||
|
||||
# Enrich gradle.properties for CI/CD
|
||||
env:
|
||||
CI_GRADLE_ARG_PROPERTIES: >
|
||||
-Porg.gradle.jvmargs=-Xmx2g
|
||||
-Porg.gradle.parallel=false
|
||||
|
||||
jobs:
|
||||
debug:
|
||||
name: Build debug APKs (${{ matrix.target }})
|
||||
@@ -25,7 +31,7 @@ jobs:
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gradle-
|
||||
- name: Assemble ${{ matrix.target }} debug apk
|
||||
run: ./gradlew assemble${{ matrix.target }}Debug --stacktrace
|
||||
run: ./gradlew assemble${{ matrix.target }}Debug $CI_GRADLE_ARG_PROPERTIES --stacktrace
|
||||
- name: Upload ${{ matrix.target }} debug APKs
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
@@ -48,7 +54,7 @@ jobs:
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gradle-
|
||||
- name: Assemble GPlay unsigned apk
|
||||
run: ./gradlew clean assembleGplayRelease --stacktrace
|
||||
run: ./gradlew clean assembleGplayRelease $CI_GRADLE_ARG_PROPERTIES --stacktrace
|
||||
- name: Upload Gplay unsigned APKs
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
|
68
.github/workflows/integration.yml
vendored
68
.github/workflows/integration.yml
vendored
@@ -1,68 +0,0 @@
|
||||
name: Integration Test
|
||||
|
||||
on:
|
||||
pull_request: { }
|
||||
push:
|
||||
branches: [ main, develop ]
|
||||
|
||||
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 --stacktrace -PallWarningsAsErrors=false
|
||||
|
||||
integration-tests:
|
||||
name: Integration Tests (Synapse)
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
api-level: [21, 28, 30]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 }}
|
||||
# script: ./gradlew -PallWarningsAsErrors=false vector:connectedAndroidTest matrix-sdk-android:connectedAndroidTest
|
||||
script: ./gradlew -PallWarningsAsErrors=false connectedCheck
|
210
.github/workflows/integration_tests.yml
vendored
Normal file
210
.github/workflows/integration_tests.yml
vendored
Normal file
@@ -0,0 +1,210 @@
|
||||
name: Integration Tests
|
||||
|
||||
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:
|
||||
# Build Android Tests [Matrix SDK]
|
||||
build-android-test-matrix-sdk:
|
||||
name: Matrix SDK - Build 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: Build Android Tests for matrix-sdk-android
|
||||
run: ./gradlew clean matrix-sdk-android:assembleAndroidTest $CI_GRADLE_ARG_PROPERTIES --stacktrace -PallWarningsAsErrors=false
|
||||
|
||||
# Build Android Tests [Matrix APP]
|
||||
build-android-test-app:
|
||||
name: App - Build 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: Build Android Tests for vector
|
||||
run: ./gradlew clean vector:assembleAndroidTest $CI_GRADLE_ARG_PROPERTIES --stacktrace -PallWarningsAsErrors=false
|
||||
|
||||
# Run Android Tests
|
||||
integration-tests:
|
||||
name: Matrix SDK - Running Integration Tests
|
||||
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 https://raw.githubusercontent.com/matrix-org/synapse/develop/demo/start.sh -o start.sh
|
||||
chmod 777 start.sh
|
||||
./start.sh --no-rate-limit
|
||||
# package: org.matrix.android.sdk.session
|
||||
- name: Run integration tests for Matrix SDK [org.matrix.android.sdk.session] API[${{ matrix.api-level }}]
|
||||
continue-on-error: true
|
||||
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: ./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]
|
||||
continue-on-error: true
|
||||
id: get-comment-body-session
|
||||
run: |
|
||||
body="$(cat ./matrix-sdk-android/build/outputs/androidTest-results/connected/*.xml | grep "<testsuite" | sed "s@.*tests=\(.*\)time=.*@\1@")"
|
||||
echo "::set-output name=session::passed=$body"
|
||||
# package: org.matrix.android.sdk.account
|
||||
- name: Run integration tests for Matrix SDK [org.matrix.android.sdk.account] API[${{ matrix.api-level }}]
|
||||
continue-on-error: true
|
||||
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: ./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]
|
||||
continue-on-error: true
|
||||
id: get-comment-body-account
|
||||
run: |
|
||||
body="$(cat ./matrix-sdk-android/build/outputs/androidTest-results/connected/*.xml | grep "<testsuite" | sed "s@.*tests=\(.*\)time=.*@\1@")"
|
||||
echo "::set-output name=account::passed=$body"
|
||||
# package: org.matrix.android.sdk.internal
|
||||
- name: Run integration tests for Matrix SDK [org.matrix.android.sdk.internal] API[${{ matrix.api-level }}]
|
||||
continue-on-error: true
|
||||
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: ./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]
|
||||
continue-on-error: true
|
||||
id: get-comment-body-internal
|
||||
run: |
|
||||
body="$(cat ./matrix-sdk-android/build/outputs/androidTest-results/connected/*.xml | grep "<testsuite" | sed "s@.*tests=\(.*\)time=.*@\1@")"
|
||||
echo "::set-output name=internal::passed=$body"
|
||||
# package: org.matrix.android.sdk.ordering
|
||||
- name: Run integration tests for Matrix SDK [org.matrix.android.sdk.ordering] API[${{ matrix.api-level }}]
|
||||
continue-on-error: true
|
||||
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: ./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]
|
||||
continue-on-error: true
|
||||
id: get-comment-body-ordering
|
||||
run: |
|
||||
body="$(cat ./matrix-sdk-android/build/outputs/androidTest-results/connected/*.xml | grep "<testsuite" | sed "s@.*tests=\(.*\)time=.*@\1@")"
|
||||
echo "::set-output name=ordering::passed=$body"
|
||||
# package: class PermalinkParserTest
|
||||
- name: Run integration tests for Matrix SDK class [org.matrix.android.sdk.PermalinkParserTest] API[${{ matrix.api-level }}]
|
||||
continue-on-error: true
|
||||
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: ./gradlew $CI_GRADLE_ARG_PROPERTIES -Pandroid.testInstrumentationRunnerArguments.class='org.matrix.android.sdk.PermalinkParserTest' matrix-sdk-android:connectedDebugAndroidTest
|
||||
- name: Read Results [org.matrix.android.sd.PermalinkParserTest]
|
||||
continue-on-error: true
|
||||
id: get-comment-body-permalink
|
||||
run: |
|
||||
body="$(cat ./matrix-sdk-android/build/outputs/androidTest-results/connected/*.xml | grep "<testsuite" | sed "s@.*tests=\(.*\)time=.*@\1@")"
|
||||
echo "::set-output name=permalink::passed=$body"
|
||||
- name: Find Comment
|
||||
if: github.event_name == 'pull_request'
|
||||
uses: peter-evans/find-comment@v1
|
||||
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: github.event_name == 'pull_request'
|
||||
uses: peter-evans/create-or-update-comment@v1
|
||||
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
|
||||
## Useful commands
|
||||
# script: ./integration_tests_script.sh
|
||||
# script: ./gradlew $CI_GRADLE_ARG_PROPERTIES -Pandroid.testInstrumentationRunnerArguments.package='org.matrix.android.sdk.session' matrix-sdk-android:connectedDebugAndroidTest --info
|
||||
# script: ./gradlew $CI_GRADLE_ARG_PROPERTIES matrix-sdk-android:connectedAndroidTest --info
|
||||
# script: ./gradlew $CI_GRADLE_ARG_PROPERTIES -PallWarningsAsErrors=false connectedCheck --stacktrace
|
||||
# script: ./gradlew $CI_GRADLE_ARG_PROPERTIES -Pandroid.testInstrumentationRunnerArguments.class=org.matrix.android.sdk.session.room.timeline.ChunkEntityTest matrix-sdk-android:connectedAndroidTest --info
|
72
.github/workflows/quality.yml
vendored
72
.github/workflows/quality.yml
vendored
@@ -14,17 +14,76 @@ jobs:
|
||||
- name: Run code quality check suite
|
||||
run: ./tools/check/check_code_quality.sh
|
||||
|
||||
klint:
|
||||
# ktlint for all the modules
|
||||
ktlint:
|
||||
name: Kotlin Linter
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Run klint
|
||||
- name: Run ktlint
|
||||
run: |
|
||||
curl -sSLO https://github.com/pinterest/ktlint/releases/download/0.36.0/ktlint && chmod a+x ktlint
|
||||
./ktlint --android --experimental -v
|
||||
./gradlew ktlintCheck --continue
|
||||
- name: Upload reports
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: ktlinting-report
|
||||
path: |
|
||||
*/build/reports/ktlint/ktlint*/ktlint*.txt
|
||||
- name: Handle Results
|
||||
if: always()
|
||||
id: ktlint-results
|
||||
run: |
|
||||
results="$(cat */*/build/reports/ktlint/ktlint*/ktlint*.txt */build/reports/ktlint/ktlint*/ktlint*.txt | sed -r "s/\x1B\[([0-9]{1,3}(;[0-9]{1,2})?)?[mGK]//g")"
|
||||
if [ -z "$results" ]; then
|
||||
echo "::set-output name=add_comment::false"
|
||||
else
|
||||
body="👎\`Failed${results}\`"
|
||||
body="${body//'%'/'%25'}"
|
||||
body="${body//$'\n'/'%0A'}"
|
||||
body="${body//$'\r'/'%0D'}"
|
||||
body="$( echo $body | sed 's/\/home\/runner\/work\/element-android\/element-android\//\`<br\/>\`/g')"
|
||||
body="$( echo $body | sed 's/\/src\/main\/java\// 🔸 /g')"
|
||||
body="$( echo $body | sed 's/im\/vector\/app\///g')"
|
||||
body="$( echo $body | sed 's/im\/vector\/lib\/attachmentviewer\///g')"
|
||||
body="$( echo $body | sed 's/im\/vector\/lib\/multipicker\///g')"
|
||||
body="$( echo $body | sed 's/im\/vector\/lib\///g')"
|
||||
body="$( echo $body | sed 's/org\/matrix\/android\/sdk\///g')"
|
||||
body="$( echo $body | sed 's/\/src\/androidTest\/java\// 🔸 /g')"
|
||||
echo "::set-output name=add_comment::true"
|
||||
echo "::set-output name=body::$body"
|
||||
fi
|
||||
- name: Find Comment
|
||||
if: always() && github.event_name == 'pull_request'
|
||||
uses: peter-evans/find-comment@v1
|
||||
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() && github.event_name == 'pull_request' && steps.ktlint-results.outputs.add_comment == 'true'
|
||||
uses: peter-evans/create-or-update-comment@v1
|
||||
with:
|
||||
comment-id: ${{ steps.fc.outputs.comment-id }}
|
||||
issue-number: ${{ github.event.pull_request.number }}
|
||||
body: |
|
||||
### Ktlint Results
|
||||
|
||||
# Lint for main module and all the other modules
|
||||
${{ steps.ktlint-results.outputs.body }}
|
||||
edit-mode: replace
|
||||
- name: Delete comment if needed
|
||||
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: |
|
||||
github.issues.deleteComment({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
comment_id: ${{ steps.fc.outputs.comment-id }}
|
||||
})
|
||||
|
||||
# Lint for main module
|
||||
android-lint:
|
||||
name: Android Linter
|
||||
runs-on: ubuntu-latest
|
||||
@@ -41,6 +100,7 @@ jobs:
|
||||
- name: Lint analysis
|
||||
run: ./gradlew clean :vector:lint --stacktrace
|
||||
- name: Upload reports
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: lint-report
|
||||
@@ -69,8 +129,8 @@ jobs:
|
||||
- name: Lint ${{ matrix.target }} release
|
||||
run: ./gradlew clean lint${{ matrix.target }}Release --stacktrace
|
||||
- name: Upload ${{ matrix.target }} linting report
|
||||
uses: actions/upload-artifact@v2
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: release-lint-report-${{ matrix.target }}
|
||||
path: |
|
||||
|
48
.github/workflows/sanity_test.yml
vendored
48
.github/workflows/sanity_test.yml
vendored
@@ -1,20 +1,28 @@
|
||||
name: Sanity Test
|
||||
|
||||
on:
|
||||
pull_request: { }
|
||||
push:
|
||||
branches: [ main, develop ]
|
||||
schedule:
|
||||
# At 20:00 every day UTC
|
||||
- cron: '0 20 * * *'
|
||||
|
||||
# Enrich gradle.properties for CI/CD
|
||||
env:
|
||||
CI_GRADLE_ARG_PROPERTIES: >
|
||||
-Porg.gradle.jvmargs=-Xmx4g
|
||||
-Porg.gradle.parallel=false
|
||||
|
||||
jobs:
|
||||
integration-tests:
|
||||
name: Sanity Tests (Synapse)
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: macos-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
api-level: [28]
|
||||
api-level: [ 28 ]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
ref: develop
|
||||
- name: Set up Python 3.8
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
@@ -40,11 +48,33 @@ jobs:
|
||||
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
|
||||
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:
|
||||
api-level: ${{ matrix.api-level }}
|
||||
script: ./gradlew -PallWarningsAsErrors=false connectedGplayDebugAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=im.vector.app.ui.UiAllScreensSanityTest
|
||||
|
||||
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 -PallWarningsAsErrors=false 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@v2
|
||||
if: always()
|
||||
with:
|
||||
name: sanity-error-results
|
||||
path: |
|
||||
emulator.log
|
||||
failure_screenshots/
|
||||
|
96
.github/workflows/sync-from-external-sources.yml
vendored
Normal file
96
.github/workflows/sync-from-external-sources.yml
vendored
Normal file
@@ -0,0 +1,96 @@
|
||||
name: Sync Data From External Sources
|
||||
on:
|
||||
schedule:
|
||||
# At 00:00 on every Monday UTC
|
||||
- cron: '0 0 * * 1'
|
||||
|
||||
jobs:
|
||||
sync-emojis:
|
||||
runs-on: ubuntu-latest
|
||||
# Skip in forks
|
||||
if: github.repository == 'vector-im/element-android'
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 }}-
|
||||
- name: Install Prerequisite dependencies
|
||||
run: |
|
||||
pip install BeautifulSoup4
|
||||
pip install requests
|
||||
- name: Run Emoji script
|
||||
run: ./tools/import_emojis.py
|
||||
- name: Create Pull Request for Emojis
|
||||
uses: peter-evans/create-pull-request@v3
|
||||
with:
|
||||
commit-message: Sync Emojis
|
||||
title: Sync Emojis
|
||||
body: |
|
||||
- Update Emojis from Unicode.org
|
||||
branch: sync-emojis
|
||||
base: develop
|
||||
|
||||
sync-sas-strings:
|
||||
runs-on: ubuntu-latest
|
||||
# Skip in forks
|
||||
if: github.repository == 'vector-im/element-android'
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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 }}-
|
||||
- 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
|
||||
with:
|
||||
commit-message: Sync SAS Strings
|
||||
title: Sync SAS Strings
|
||||
body: |
|
||||
- Update SAS Strings from matrix-doc.
|
||||
branch: sync-sas-strings
|
||||
base: develop
|
||||
|
||||
sync-analytics-plan:
|
||||
runs-on: ubuntu-latest
|
||||
# Skip in forks
|
||||
if: github.repository == 'vector-im/element-android'
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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
|
||||
with:
|
||||
commit-message: Sync analytics plan
|
||||
title: Sync analytics plan
|
||||
body: |
|
||||
### Update analytics plan
|
||||
Reviewers:
|
||||
- [ ] Please remove usage of Event or Enum which may have been removed or updated
|
||||
- [ ] please ensure new Events or new Enums are used to send analytics by pushing new commit(s) to this PR.
|
||||
|
||||
*Note*: Change are coming from [this project](https://github.com/matrix-org/matrix-analytics-events)
|
||||
branch: sync-analytics-plan
|
||||
base: develop
|
15
.github/workflows/tests.yml
vendored
15
.github/workflows/tests.yml
vendored
@@ -5,6 +5,12 @@ on:
|
||||
push:
|
||||
branches: [main, develop]
|
||||
|
||||
# Enrich gradle.properties for CI/CD
|
||||
env:
|
||||
CI_GRADLE_ARG_PROPERTIES: >
|
||||
-Porg.gradle.jvmargs=-Xmx2g
|
||||
-Porg.gradle.parallel=false
|
||||
|
||||
jobs:
|
||||
unit-tests:
|
||||
name: Run Unit Tests
|
||||
@@ -20,4 +26,11 @@ jobs:
|
||||
restore-keys: |
|
||||
${{ runner.os }}-gradle-
|
||||
- name: Run unit tests
|
||||
run: ./gradlew clean test --stacktrace -PallWarningsAsErrors=false
|
||||
run: ./gradlew clean test $CI_GRADLE_ARG_PROPERTIES -PallWarningsAsErrors=false --stacktrace
|
||||
- name: Publish Unit Test Results
|
||||
uses: EnricoMi/publish-unit-test-result-action@v1
|
||||
if: always() &&
|
||||
github.event.sender.login != 'dependabot[bot]' &&
|
||||
( github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository )
|
||||
with:
|
||||
files: ./**/build/test-results/**/*.xml
|
||||
|
17
.github/workflows/triage-incoming.yml
vendored
Normal file
17
.github/workflows/triage-incoming.yml
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
name: Move new issues onto Issue triage board
|
||||
|
||||
on:
|
||||
issues:
|
||||
types: [opened]
|
||||
|
||||
jobs:
|
||||
automate-project-columns:
|
||||
runs-on: ubuntu-latest
|
||||
# Skip in forks
|
||||
if: github.repository == 'vector-im/element-android'
|
||||
steps:
|
||||
- uses: alex-page/github-project-automation-plus@bb266ff4dde9242060e2d5418e120a133586d488
|
||||
with:
|
||||
project: Issue triage
|
||||
column: Incoming
|
||||
repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
254
.github/workflows/triage-labelled.yml
vendored
Normal file
254
.github/workflows/triage-labelled.yml
vendored
Normal file
@@ -0,0 +1,254 @@
|
||||
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-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')
|
||||
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 }}
|
139
.github/workflows/triage-move-review-requests.yml
vendored
Normal file
139
.github/workflows/triage-move-review-requests.yml
vendored
Normal file
@@ -0,0 +1,139 @@
|
||||
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
|
||||
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
|
||||
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 }}
|
60
.github/workflows/triage-priority-bugs.yml
vendored
Normal file
60
.github/workflows/triage-priority-bugs.yml
vendored
Normal file
@@ -0,0 +1,60 @@
|
||||
name: Move P1 bugs to boards
|
||||
|
||||
on:
|
||||
issues:
|
||||
types: [labeled, unlabeled]
|
||||
|
||||
jobs:
|
||||
p1_issues_to_team_workboard:
|
||||
runs-on: ubuntu-latest
|
||||
# Skip in forks
|
||||
if: >
|
||||
github.repository == 'vector-im/element-android' &&
|
||||
(!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') &&
|
||||
!contains(github.event.issue.labels.*.name, 'A-E2EE-Key-Backup') &&
|
||||
!contains(github.event.issue.labels.*.name, 'A-E2EE-SAS-Verification') &&
|
||||
!contains(github.event.issue.labels.*.name, 'A-Spaces') &&
|
||||
!contains(github.event.issue.labels.*.name, 'A-Spaces-Settings') &&
|
||||
!contains(github.event.issue.labels.*.name, 'A-Subspaces')) &&
|
||||
(contains(github.event.issue.labels.*.name, 'T-Defect') &&
|
||||
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: alex-page/github-project-automation-plus@bb266ff4dde9242060e2d5418e120a133586d488
|
||||
with:
|
||||
project: Android App Team
|
||||
column: P1
|
||||
repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
|
||||
P1_issues_to_crypto_team_workboard:
|
||||
runs-on: ubuntu-latest
|
||||
# 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') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-E2EE-Key-Backup') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-E2EE-SAS-Verification')) &&
|
||||
(contains(github.event.issue.labels.*.name, 'T-Defect') &&
|
||||
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: alex-page/github-project-automation-plus@bb266ff4dde9242060e2d5418e120a133586d488
|
||||
with:
|
||||
project: Crypto Team
|
||||
column: Ready
|
||||
repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
62
.github/workflows/triage-unlabelled.yml
vendored
Normal file
62
.github/workflows/triage-unlabelled.yml
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
name: Move unlabelled from needs info columns to triaged
|
||||
|
||||
on:
|
||||
issues:
|
||||
types: [unlabeled]
|
||||
|
||||
jobs:
|
||||
Move_Unabeled_Issue_On_Project_Board:
|
||||
name: Move no longer X-Needs-Info issues to Triaged
|
||||
runs-on: ubuntu-latest
|
||||
# Skip in forks
|
||||
if: >
|
||||
github.repository == 'vector-im/element-android' &&
|
||||
!contains(github.event.issue.labels.*.name, 'X-Needs-Info')
|
||||
env:
|
||||
BOARD_NAME: "Issue triage"
|
||||
OWNER: ${{ github.repository_owner }}
|
||||
REPO: ${{ github.event.repository.name }}
|
||||
ISSUE: ${{ github.event.issue.number }}
|
||||
steps:
|
||||
- name: Check if issue is already in "${{ env.BOARD_NAME }}"
|
||||
run: |
|
||||
if curl -i -H 'Content-Type: application/json' -H "Authorization: bearer ${{ secrets.GITHUB_TOKEN }}" -X POST -d '{"query": "query($issue: Int!, $owner: String!, $repo: String!) { repository(owner: $owner, name: $repo) { issue(number: $issue) { projectCards { nodes { project { name } } } } } } ", "variables" : "{ \"issue\": '${ISSUE}', \"owner\": \"'${OWNER}'\", \"repo\": \"'${REPO}'\" }" }' https://api.github.com/graphql | grep "\b$BOARD_NAME\b"; then
|
||||
echo "Issue is already in Project '$BOARD_NAME', proceeding";
|
||||
echo "ALREADY_IN_BOARD=true" >> $GITHUB_ENV
|
||||
else
|
||||
echo "Issue is not in project '$BOARD_NAME', cancelling this workflow"
|
||||
echo "ALREADY_IN_BOARD=false" >> $GITHUB_ENV
|
||||
fi
|
||||
- name: Move issue
|
||||
uses: alex-page/github-project-automation-plus@bb266ff4dde9242060e2d5418e120a133586d488
|
||||
if: ${{ env.ALREADY_IN_BOARD == 'true' }}
|
||||
with:
|
||||
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']
|
||||
})
|
3
.gitignore
vendored
3
.gitignore
vendored
@@ -8,6 +8,7 @@
|
||||
.idea/*.xml
|
||||
.DS_Store
|
||||
/build
|
||||
/benchmark-out
|
||||
/captures
|
||||
.externalNativeBuild
|
||||
|
||||
@@ -15,4 +16,4 @@
|
||||
/fastlane/private
|
||||
/fastlane/report.xml
|
||||
|
||||
ktlint
|
||||
/library/build
|
||||
|
3
.idea/dictionaries/bmarty.xml
generated
3
.idea/dictionaries/bmarty.xml
generated
@@ -24,9 +24,11 @@
|
||||
<w>pbkdf</w>
|
||||
<w>pids</w>
|
||||
<w>pkcs</w>
|
||||
<w>posthog</w>
|
||||
<w>previewable</w>
|
||||
<w>previewables</w>
|
||||
<w>pstn</w>
|
||||
<w>rageshake</w>
|
||||
<w>riotx</w>
|
||||
<w>signin</w>
|
||||
<w>signout</w>
|
||||
@@ -35,6 +37,7 @@
|
||||
<w>ssss</w>
|
||||
<w>sygnal</w>
|
||||
<w>threepid</w>
|
||||
<w>uisi</w>
|
||||
<w>unpublish</w>
|
||||
<w>unwedging</w>
|
||||
<w>vctr</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 |
552
CHANGES.md
552
CHANGES.md
@@ -1,3 +1,555 @@
|
||||
Changes in Element v1.4.2 (2022-02-22)
|
||||
======================================
|
||||
|
||||
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)
|
||||
=======================================
|
||||
|
||||
Features ✨
|
||||
----------
|
||||
- Updates onboarding splash screen to have a dedicated sign in button and removes the dual purpose sign in/up stage ([#4382](https://github.com/vector-im/element-android/issues/4382))
|
||||
- Display Analytics opt-in screen at first start-up of the app ([#4892](https://github.com/vector-im/element-android/issues/4892))
|
||||
- New attachment picker UI ([#3444](https://github.com/vector-im/element-android/issues/3444))
|
||||
- Add labs support for rendering LaTeX maths (MSC2191) ([#2133](https://github.com/vector-im/element-android/issues/2133))
|
||||
- Allow changing nick colors from the member detail screen ([#2614](https://github.com/vector-im/element-android/issues/2614))
|
||||
- Analytics: Track Errors ([#4719](https://github.com/vector-im/element-android/issues/4719))
|
||||
- Change internal timeline management. ([#4405](https://github.com/vector-im/element-android/issues/4405))
|
||||
- Translate the error observed when the user is not allowed to join a room ([#4847](https://github.com/vector-im/element-android/issues/4847))
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Stop using CharSequence as EpoxyAttribute because it can lead to crash if the CharSequence mutates during rendering. ([#4837](https://github.com/vector-im/element-android/issues/4837))
|
||||
- Better handling of misconfigured room encryption ([#4711](https://github.com/vector-im/element-android/issues/4711))
|
||||
- Fix message replies/quotes to respect newlines. ([#4540](https://github.com/vector-im/element-android/issues/4540))
|
||||
- Polls: unable to create a poll with more than 10 answers ([#4735](https://github.com/vector-im/element-android/issues/4735))
|
||||
- Fix for broken unread message indicator on the room list when there are no messages in the room. ([#4749](https://github.com/vector-im/element-android/issues/4749))
|
||||
- Fixes newer emojis rendering strangely when inserting from the system keyboard ([#4756](https://github.com/vector-im/element-android/issues/4756))
|
||||
- Fixing unable to change change avatar in some scenarios ([#4767](https://github.com/vector-im/element-android/issues/4767))
|
||||
- Tentative fix for the speaker being used instead of earpiece for the outgoing call ringtone on lineage os ([#4781](https://github.com/vector-im/element-android/issues/4781))
|
||||
- Fixing crashes when quickly scrolling or restoring the room timeline ([#4789](https://github.com/vector-im/element-android/issues/4789))
|
||||
- Fixing encrypted non message events showing up as notification messages (eg when a participant joins, mutes or leaves a voice call) ([#4804](https://github.com/vector-im/element-android/issues/4804))
|
||||
|
||||
SDK API changes ⚠️
|
||||
------------------
|
||||
- Introduce method onStateUpdated on Timeline.Callback ([#4405](https://github.com/vector-im/element-android/issues/4405))
|
||||
- Support tagged events in Room Account Data (MSC2437) ([#4753](https://github.com/vector-im/element-android/issues/4753))
|
||||
|
||||
Other changes
|
||||
-------------
|
||||
- Workaround to fetch all the pending toDevice events from a Synapse homeserver ([#4612](https://github.com/vector-im/element-android/issues/4612))
|
||||
- Toolbar is added to a views with QR code scan ([#4644](https://github.com/vector-im/element-android/issues/4644))
|
||||
- Open share UI provides by the system when sharing media or text. ([#4745](https://github.com/vector-im/element-android/issues/4745))
|
||||
- Cleaning rendering of state events in timeline ([#4747](https://github.com/vector-im/element-android/issues/4747))
|
||||
- Enabling new FTUE Auth onboarding base, includes the "I already have an account" button in the splash ([#4872](https://github.com/vector-im/element-android/issues/4872))
|
||||
- Olm lib is now hosted in MavenCentral - upgrade to 3.2.10 ([#4882](https://github.com/vector-im/element-android/issues/4882))
|
||||
- Remove deprecated experimental restricted space lab option ([#4889](https://github.com/vector-im/element-android/issues/4889))
|
||||
- Add ktlint results on github as a comment only on fail ([#4888](https://github.com/vector-im/element-android/issues/4888))
|
||||
- Fix github actions ktlint reports and publish results on PR as comment ([#4864](https://github.com/vector-im/element-android/issues/4864))
|
||||
|
||||
|
||||
Changes in Element v1.3.12 (2021-12-20)
|
||||
=======================================
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Fixing emoji related crashes on android 8.1.1 and below ([#4769](https://github.com/vector-im/element-android/issues/4769))
|
||||
|
||||
|
||||
Changes in Element v1.3.11 (2021-12-17)
|
||||
=======================================
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Fixing proximity sensor still being active after a call ([#2467](https://github.com/vector-im/element-android/issues/2467))
|
||||
- Fix name and shield are truncated in the room detail screen ([#4700](https://github.com/vector-im/element-android/issues/4700))
|
||||
- Call banner: center text vertically ([#4710](https://github.com/vector-im/element-android/issues/4710))
|
||||
- Fixes unable to render messages by allowing them to render whilst the emoji library is initialising ([#4733](https://github.com/vector-im/element-android/issues/4733))
|
||||
- Fix app crash uppon long press on a reply event ([#4742](https://github.com/vector-im/element-android/issues/4742))
|
||||
- Fixes crash when launching rooms which contain emojis in the emote content on android 12+ ([#4743](https://github.com/vector-im/element-android/issues/4743))
|
||||
|
||||
Other changes
|
||||
-------------
|
||||
- Avoids leaking the activity windows when loading dialogs are displaying ([#4713](https://github.com/vector-im/element-android/issues/4713))
|
||||
|
||||
|
||||
Changes in Element v1.3.10 (2021-12-14)
|
||||
=======================================
|
||||
|
||||
Features ✨
|
||||
----------
|
||||
- Poll Feature - Render in timeline ([#4653](https://github.com/vector-im/element-android/issues/4653))
|
||||
- Updates URL previews to match latest designs ([#4278](https://github.com/vector-im/element-android/issues/4278))
|
||||
- Setup Analytics framework using PostHog. Analytics are disabled by default. Opt-in screen not automatically displayed yet. ([#4559](https://github.com/vector-im/element-android/issues/4559))
|
||||
- Create a legal screen in the setting to group all the different policies. ([#4660](https://github.com/vector-im/element-android/issues/4660))
|
||||
- Add a help section in the settings. ([#4638](https://github.com/vector-im/element-android/issues/4638))
|
||||
- MSC2732: Olm fallback keys ([#3473](https://github.com/vector-im/element-android/issues/3473))
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Fixes message menu showing when copying message urls ([#4324](https://github.com/vector-im/element-android/issues/4324))
|
||||
- Fix lots of integration tests by introducing TestMatrix class and MatrixWorkerFactory. ([#4546](https://github.com/vector-im/element-android/issues/4546))
|
||||
- Fix empty Dev Tools screen issue. ([#4592](https://github.com/vector-im/element-android/issues/4592))
|
||||
- Fix for outgoing voip call via sip bridge failing after 1 minute. ([#4621](https://github.com/vector-im/element-android/issues/4621))
|
||||
- Update log warning for call selection during voip calls. ([#4636](https://github.com/vector-im/element-android/issues/4636))
|
||||
- Fix possible crash when having identical subspaces in multiple root spaces ([#4693](https://github.com/vector-im/element-android/issues/4693))
|
||||
- Fix a crash in the timeline with some Emojis. Also migrate to androidx.emoji2 ([#4698](https://github.com/vector-im/element-android/issues/4698))
|
||||
- At the very first room search after opening the app sometimes no results are displayed ([#4600](https://github.com/vector-im/element-android/issues/4600))
|
||||
|
||||
Other changes
|
||||
-------------
|
||||
- Upgrade OLM to v3.2.7 and get it from our maven repository. ([#4647](https://github.com/vector-im/element-android/issues/4647))
|
||||
- Add explicit dependency location, regarding the several maven repository. Also update some libraries (flexbox and alerter), and do some cleanup. ([#4670](https://github.com/vector-im/element-android/issues/4670))
|
||||
- Introducing feature flagging to the login and notification settings flows ([#4626](https://github.com/vector-im/element-android/issues/4626))
|
||||
- There is no need to call job.cancel() when we are using viewModelScope() ([#4602](https://github.com/vector-im/element-android/issues/4602))
|
||||
- Debounce some clicks ([#4645](https://github.com/vector-im/element-android/issues/4645))
|
||||
- Improve issue automation workflows ([#4617](https://github.com/vector-im/element-android/issues/4617))
|
||||
- Add automation to move message bubbles issues to message bubbles board. ([#4666](https://github.com/vector-im/element-android/issues/4666))
|
||||
- Fix graphql warning in issue workflow automation ([#4671](https://github.com/vector-im/element-android/issues/4671))
|
||||
- Cleanup the layout files ([#4604](https://github.com/vector-im/element-android/issues/4604))
|
||||
- Cleanup id ref. Use type views instead ([#4650](https://github.com/vector-im/element-android/issues/4650))
|
||||
|
||||
|
||||
Changes in Element v1.3.9 (2021-12-01)
|
||||
======================================
|
||||
|
||||
Features ✨
|
||||
----------
|
||||
- Voice messages: Persist drafts of voice messages when navigating between rooms ([#3922](https://github.com/vector-im/element-android/issues/3922))
|
||||
- Make Element Android Thread aware ([#4246](https://github.com/vector-im/element-android/issues/4246))
|
||||
- Iterate on the consent dialog of the identity server. ([#4577](https://github.com/vector-im/element-android/issues/4577))
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Fixes left over text when inserting emojis via the ':' menu and replaces the last typed ':' rather than the one at the end of the message ([#3449](https://github.com/vector-im/element-android/issues/3449))
|
||||
- Fixing queued voice message failing to send or retry ([#3833](https://github.com/vector-im/element-android/issues/3833))
|
||||
- Keeping device screen on whilst recording and playing back voice messages ([#4022](https://github.com/vector-im/element-android/issues/4022))
|
||||
- Allow voice messages to continue recording during device rotation ([#4067](https://github.com/vector-im/element-android/issues/4067))
|
||||
- Allowing users to hang up VOIP calls during the initialisation phase (avoids getting stuck in the call screen if something goes wrong) ([#4144](https://github.com/vector-im/element-android/issues/4144))
|
||||
- Make the verification shields the same in Element Web and Element Android ([#4338](https://github.com/vector-im/element-android/issues/4338))
|
||||
- Fix a display issue in the composer when the replied message is changed. ([#4343](https://github.com/vector-im/element-android/issues/4343))
|
||||
- Dismissing the Fdroid variant Listening for notifications on sign out, fixes crash when tapping the notification when signed out ([#4488](https://github.com/vector-im/element-android/issues/4488))
|
||||
- Fix a crash when displaying the bootstrap bottom sheet ([#4520](https://github.com/vector-im/element-android/issues/4520))
|
||||
- Remove duplicated settings declaration ([#4539](https://github.com/vector-im/element-android/issues/4539))
|
||||
- Fixes .ogg files failing to upload to rooms ([#4552](https://github.com/vector-im/element-android/issues/4552))
|
||||
- Add robustness when getting data from cursors ([#4605](https://github.com/vector-im/element-android/issues/4605))
|
||||
|
||||
Other changes
|
||||
-------------
|
||||
- Upgrade Jitsi lib (and so webrtc) from Jitsi android-sdk-3.1.0 to android-sdk-3.10.0 ([#4504](https://github.com/vector-im/element-android/issues/4504))
|
||||
- Improve crypto logs to help debug decryption failures ([#4507](https://github.com/vector-im/element-android/issues/4507))
|
||||
- Voice recording mic button refactor with small animation tweaks in preparation for voice drafts ([#4515](https://github.com/vector-im/element-android/issues/4515))
|
||||
- Remove requestModelBuild() from epoxy Controllers init{} block ([#4591](https://github.com/vector-im/element-android/issues/4591))
|
||||
|
||||
|
||||
Changes in Element v1.3.8 (2021-11-17)
|
||||
======================================
|
||||
|
||||
Features ✨
|
||||
----------
|
||||
- Android 12 support ([#4433](https://github.com/vector-im/element-android/issues/4433))
|
||||
- Make notification text spoiler aware ([#3477](https://github.com/vector-im/element-android/issues/3477))
|
||||
- Poll Feature - Create Poll Screen (Disabled for now) ([#4367](https://github.com/vector-im/element-android/issues/4367))
|
||||
- Adds support for images inside message notifications ([#4402](https://github.com/vector-im/element-android/issues/4402))
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Render markdown in room list ([#452](https://github.com/vector-im/element-android/issues/452))
|
||||
- Fix incorrect cropping of conversation icons ([#4424](https://github.com/vector-im/element-android/issues/4424))
|
||||
- Fix potential NullPointerException crashes in Room and User account data sources ([#4428](https://github.com/vector-im/element-android/issues/4428))
|
||||
- Unable to establish Olm outbound session from fallback key ([#4446](https://github.com/vector-im/element-android/issues/4446))
|
||||
- Fixes intermittent crash on sign out due to the session being incorrectly recreated whilst being closed ([#4480](https://github.com/vector-im/element-android/issues/4480))
|
||||
|
||||
SDK API changes ⚠️
|
||||
------------------
|
||||
- Add content scanner API from MSC1453
|
||||
API documentation : https://github.com/matrix-org/matrix-content-scanner#api ([#4392](https://github.com/vector-im/element-android/issues/4392))
|
||||
- Breaking SDK API change to PushRuleListener, the separated callbacks have been merged into one with a data class which includes all the previously separated push information ([#4401](https://github.com/vector-im/element-android/issues/4401))
|
||||
|
||||
Other changes
|
||||
-------------
|
||||
- Finish migration from RxJava to Flow ([#4219](https://github.com/vector-im/element-android/issues/4219))
|
||||
- Remove redundant text in feature request issue form ([#4257](https://github.com/vector-im/element-android/issues/4257))
|
||||
- Add and improve issue triage workflows ([#4435](https://github.com/vector-im/element-android/issues/4435))
|
||||
- Update issue template to bring in line with element-web ([#4452](https://github.com/vector-im/element-android/issues/4452))
|
||||
|
||||
|
||||
Changes in Element v1.3.7 (2021-11-04)
|
||||
======================================
|
||||
|
||||
Features ✨
|
||||
----------
|
||||
- Adding the room name to the invitation notification (if the room summary is available) ([#582](https://github.com/vector-im/element-android/issues/582))
|
||||
- Updating single sign on providers ordering to match priority/popularity ([#4277](https://github.com/vector-im/element-android/issues/4277))
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Stops showing a dedicated redacted event notification, the message notifications will update accordingly ([#1491](https://github.com/vector-im/element-android/issues/1491))
|
||||
- Fixes marking individual notifications as read causing other notifications to be dismissed ([#3395](https://github.com/vector-im/element-android/issues/3395))
|
||||
- Fixing missing send button in light mode dev tools - send * event ([#3674](https://github.com/vector-im/element-android/issues/3674))
|
||||
- Fixing room search needing exact casing for non latin-1 character named rooms ([#3968](https://github.com/vector-im/element-android/issues/3968))
|
||||
- Fixing call ringtones only playing once when the ringtone doesn't contain looping metadata (android 9.0 and above) ([#4047](https://github.com/vector-im/element-android/issues/4047))
|
||||
- Tentatively fixing the doubled notifications by updating the group summary at specific points in the notification rendering cycle ([#4152](https://github.com/vector-im/element-android/issues/4152))
|
||||
- Do not show shortcuts if a PIN code is set ([#4170](https://github.com/vector-im/element-android/issues/4170))
|
||||
- Fixes being unable to join rooms by name ([#4255](https://github.com/vector-im/element-android/issues/4255))
|
||||
- Fixing missing F-Droid notifications when in background due to background syncs not triggering ([#4298](https://github.com/vector-im/element-android/issues/4298))
|
||||
- Fix video compression before upload ([#4353](https://github.com/vector-im/element-android/issues/4353))
|
||||
- Fixing QR code crashes caused by a known issue in the zxing library for older versions of android by downgrading to 3.3.3 ([#4361](https://github.com/vector-im/element-android/issues/4361))
|
||||
- Fixing timeline crash when rotating with the emoji window open ([#4365](https://github.com/vector-im/element-android/issues/4365))
|
||||
- Fix handling of links coming from web instance reported as malformed by mistake ([#4369](https://github.com/vector-im/element-android/issues/4369))
|
||||
|
||||
SDK API changes ⚠️
|
||||
------------------
|
||||
- Add API `LoginWizard.loginCustom(data: JsonDict): Session` to be able to login to a homeserver using arbitrary request content ([#4266](https://github.com/vector-im/element-android/issues/4266))
|
||||
- Add optional deviceId to the login API ([#4334](https://github.com/vector-im/element-android/issues/4334))
|
||||
|
||||
Other changes
|
||||
-------------
|
||||
- Migrate app DI framework to Hilt ([#3888](https://github.com/vector-im/element-android/issues/3888))
|
||||
- Limit supported TLS versions and cipher suites ([#4192](https://github.com/vector-im/element-android/issues/4192))
|
||||
- Fixed capitalisation of text on initial sync screen ([#4292](https://github.com/vector-im/element-android/issues/4292))
|
||||
|
||||
|
||||
Changes in Element v1.3.6 (2021-10-26)
|
||||
======================================
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Correctly handle url of type https://mobile.element.io/?hs_url=…&is_url=…
|
||||
Skip the choose server screen when such URL are open when Element ([#2684](https://github.com/vector-im/element-android/issues/2684))
|
||||
|
||||
|
||||
Changes in Element v1.3.5 (2021-10-25)
|
||||
======================================
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Fixing malformed link pop up when tapping on notifications ([#4267](https://github.com/vector-im/element-android/issues/4267))
|
||||
- Fix Broken EditText when using FromEditTextItem ([#4276](https://github.com/vector-im/element-android/issues/4276))
|
||||
- Fix crash when clicking on ViewEvent source actions ([#4279](https://github.com/vector-im/element-android/issues/4279))
|
||||
- Fix voice message record button wrong visibility ([#4283](https://github.com/vector-im/element-android/issues/4283))
|
||||
- Fix unread marker not showing ([#4313](https://github.com/vector-im/element-android/issues/4313))
|
||||
|
||||
|
||||
Changes in Element v1.3.4 (2021-10-20)
|
||||
======================================
|
||||
|
||||
Features ✨
|
||||
----------
|
||||
- Implement /part command, with or without parameter ([#2909](https://github.com/vector-im/element-android/issues/2909))
|
||||
- Handle Presence support, for Direct Message room ([#4090](https://github.com/vector-im/element-android/issues/4090))
|
||||
- Priority conversations for Android 11+ ([#3313](https://github.com/vector-im/element-android/issues/3313))
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Issue #908 Adding trailing space " " or ": " if the user started a sentence by mentioning someone, ([#908](https://github.com/vector-im/element-android/issues/908))
|
||||
- Fixes reappearing notifications when dismissing notifications from slow homeservers or delayed /sync responses ([#3437](https://github.com/vector-im/element-android/issues/3437))
|
||||
- Catching event decryption crash and logging when attempting to markOlmSessionForUnwedging fails ([#3608](https://github.com/vector-im/element-android/issues/3608))
|
||||
- Fixing notification sounds being triggered for every message, now they only trigger for the first, consistent with the vibrations ([#3774](https://github.com/vector-im/element-android/issues/3774))
|
||||
- Voice Message not sendable if recorded while flight mode was on ([#4006](https://github.com/vector-im/element-android/issues/4006))
|
||||
- Fixes push notification emails list not refreshing the first time seeing the notifications page.
|
||||
Also improves the error handling in the email notification toggling by using synchronous flows instead of the WorkManager ([#4106](https://github.com/vector-im/element-android/issues/4106))
|
||||
- Make MegolmBackupAuthData.signatures optional for robustness ([#4162](https://github.com/vector-im/element-android/issues/4162))
|
||||
- Fixing push notifications starting the looping background sync when the push notification causes the application to be created. ([#4167](https://github.com/vector-im/element-android/issues/4167))
|
||||
- Fix random crash when user logs out just after the log in. ([#4193](https://github.com/vector-im/element-android/issues/4193))
|
||||
- Make the font size selection dialog scrollable ([#4201](https://github.com/vector-im/element-android/issues/4201))
|
||||
- Fix conversation notification for sent messages ([#4221](https://github.com/vector-im/element-android/issues/4221))
|
||||
- Fixes the developer sync options being displayed in the home menu when developer mode is disabled ([#4234](https://github.com/vector-im/element-android/issues/4234))
|
||||
- Restore support for Android Auto as sent messages are no longer read aloud ([#4247](https://github.com/vector-im/element-android/issues/4247))
|
||||
- Fix crash on slash commands Exceptions ([#4261](https://github.com/vector-im/element-android/issues/4261))
|
||||
|
||||
Other changes
|
||||
-------------
|
||||
- Scrub user sensitive data like gps location from images when sending on original quality ([#465](https://github.com/vector-im/element-android/issues/465))
|
||||
- Migrate to MvRx2 (Mavericks) ([#3890](https://github.com/vector-im/element-android/issues/3890))
|
||||
- Implement a new github action workflow to generate two PRs for emoji and sas string sync ([#4216](https://github.com/vector-im/element-android/issues/4216))
|
||||
- Improve wording around rageshakes in the defect issue template. ([#4226](https://github.com/vector-im/element-android/issues/4226))
|
||||
- Add automation to move incoming issues and X-Needs-Info into the right places on the issue triage board. ([#4250](https://github.com/vector-im/element-android/issues/4250))
|
||||
- Uppon sharing image compression fails, return the original image ([#4264](https://github.com/vector-im/element-android/issues/4264))
|
||||
|
||||
|
||||
Changes in Element v1.3.3 (2021-10-11)
|
||||
======================================
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Disable Android Auto supports ([#4205](https://github.com/vector-im/element-android/issues/4205))
|
||||
|
||||
|
||||
Changes in Element v1.3.2 (2021-10-08)
|
||||
======================================
|
||||
|
||||
Features ✨
|
||||
----------
|
||||
- Android Auto notification support ([#240](https://github.com/vector-im/element-android/issues/240))
|
||||
- Add a fallback for user displayName when this one is null or empty ([#3732](https://github.com/vector-im/element-android/issues/3732))
|
||||
- Add client base url config to customize permalinks ([#4027](https://github.com/vector-im/element-android/issues/4027))
|
||||
- Check if DM exists before creating a new one ([#4157](https://github.com/vector-im/element-android/issues/4157))
|
||||
- Handle 8 new slash commands: `/ignore`, `/unignore`, `/roomname`, `/myroomnick`, `/roomavatar`, `/myroomavatar`, `/lenny`, `/whois`. ([#4158](https://github.com/vector-im/element-android/issues/4158))
|
||||
- Display identity server policies in the Discovery screen ([#4184](https://github.com/vector-im/element-android/issues/4184))
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Ensure initial sync progress dialog is hidden when the initial sync is over ([#983](https://github.com/vector-im/element-android/issues/983))
|
||||
- Avoid resending notifications that are already shown ([#1673](https://github.com/vector-im/element-android/issues/1673))
|
||||
- Room filter no results bad CTA in space mode when a space selected ([#3048](https://github.com/vector-im/element-android/issues/3048))
|
||||
- Fixes notifications not dismissing when reading messages on other devices ([#3347](https://github.com/vector-im/element-android/issues/3347))
|
||||
- Fixes the passphrase screen being incorrectly shown when pressing back on the key verification screen.
|
||||
When the user doesn't have a passphrase set we don't show the passphrase screen. ([#3898](https://github.com/vector-im/element-android/issues/3898))
|
||||
- App doesn't take you to a Space after choosing to Join it ([#3933](https://github.com/vector-im/element-android/issues/3933))
|
||||
- Validate public space addresses and room aliases length ([#3934](https://github.com/vector-im/element-android/issues/3934))
|
||||
- Save button for adding rooms to a space is hidden when scrolling through list of rooms ([#3935](https://github.com/vector-im/element-android/issues/3935))
|
||||
- Align new room encryption default to Web ([#4045](https://github.com/vector-im/element-android/issues/4045))
|
||||
- Fix Reply/Edit mode animation is broken when sending ([#4077](https://github.com/vector-im/element-android/issues/4077))
|
||||
- Added changes that will make SearchView in search bar focused by default on opening reaction picker.
|
||||
|
||||
When tapping close icon of SearchView, the SearchView did not collapse therefore added the on close listener
|
||||
which will collapse the SearchView on close. ([#4092](https://github.com/vector-im/element-android/issues/4092))
|
||||
- Troubleshoot notification: Fix button not clickable ([#4109](https://github.com/vector-im/element-android/issues/4109))
|
||||
- Harmonize wording in the message bottom sheet and move up the View Reactions item ([#4155](https://github.com/vector-im/element-android/issues/4155))
|
||||
- Remove unused SendRelationWorker and related API call (3588) ([#4156](https://github.com/vector-im/element-android/issues/4156))
|
||||
- SIP user to native user mapping is wrong ([#4176](https://github.com/vector-im/element-android/issues/4176))
|
||||
|
||||
SDK API changes ⚠️
|
||||
------------------
|
||||
- Create extension `String.isMxcUrl()` ([#4158](https://github.com/vector-im/element-android/issues/4158))
|
||||
|
||||
Other changes
|
||||
-------------
|
||||
- Use ktlint plugin. See [the documentation](https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md#ktlint) for more detail. ([#3957](https://github.com/vector-im/element-android/issues/3957))
|
||||
- Minimize the use of exported="true" in android Manifest (link: https://github.com/matrix-org/matrix-dinsic/issues/618) ([#4018](https://github.com/vector-im/element-android/issues/4018))
|
||||
- Fix redundancy in heading in the bug report issue form ([#4076](https://github.com/vector-im/element-android/issues/4076))
|
||||
- Fix release label in the release issue template ([#4113](https://github.com/vector-im/element-android/issues/4113))
|
||||
|
||||
|
||||
Changes in Element v1.3.1 (2021-09-29)
|
||||
======================================
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Verifying exported E2E keys to provide user feedback when the output is malformed ([#4082](https://github.com/vector-im/element-android/issues/4082))
|
||||
- Fix settings crash when accelerometer not available ([#4103](https://github.com/vector-im/element-android/issues/4103))
|
||||
- Crash while rendering failed message warning ([#4110](https://github.com/vector-im/element-android/issues/4110))
|
||||
|
||||
|
||||
Changes in Element v1.3.0 (2021-09-27)
|
||||
======================================
|
||||
|
||||
Features ✨
|
||||
----------
|
||||
- Spaces!
|
||||
- Adds email notification registration to Settings ([#2243](https://github.com/vector-im/element-android/issues/2243))
|
||||
- Spaces | M3.23 Invite by email in create private space flow ([#3678](https://github.com/vector-im/element-android/issues/3678))
|
||||
- Improve space invite bottom sheet ([#4057](https://github.com/vector-im/element-android/issues/4057))
|
||||
- Allow to also leave rooms when leaving a space ([#3692](https://github.com/vector-im/element-android/issues/3692))
|
||||
- Better expose adding spaces as Subspaces ([#3752](https://github.com/vector-im/element-android/issues/3752))
|
||||
- Push and syncs: add debug info on room list and on room detail screen and improves the log format. ([#4046](https://github.com/vector-im/element-android/issues/4046))
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
- Remove the "Teammate spaces aren't quite ready" bottom sheet ([#3945](https://github.com/vector-im/element-android/issues/3945))
|
||||
- Restricted Room previews aren't working ([#3946](https://github.com/vector-im/element-android/issues/3946))
|
||||
- A removed room from a space can't be re-added as it won't be shown in add-room ([#3947](https://github.com/vector-im/element-android/issues/3947))
|
||||
- "Non-Admin" user able to invite others to Private Space (by default) ([#3951](https://github.com/vector-im/element-android/issues/3951))
|
||||
- Kick user dialog for spaces talks about rooms ([#3956](https://github.com/vector-im/element-android/issues/3956))
|
||||
- Messages are displayed as unable to decrypt then decrypted a few seconds later ([#4011](https://github.com/vector-im/element-android/issues/4011))
|
||||
- Fix DTMF not working ([#4015](https://github.com/vector-im/element-android/issues/4015))
|
||||
- Fix sticky end call notification ([#4019](https://github.com/vector-im/element-android/issues/4019))
|
||||
- Fix call screen stuck with some hanging up scenarios ([#4026](https://github.com/vector-im/element-android/issues/4026))
|
||||
- Fix other call not always refreshed when ended ([#4028](https://github.com/vector-im/element-android/issues/4028))
|
||||
- Private space invite bottomsheet only offering inviting by username not by email ([#4042](https://github.com/vector-im/element-android/issues/4042))
|
||||
- Spaces invitation system notifications don't take me to the join space toast ([#4043](https://github.com/vector-im/element-android/issues/4043))
|
||||
- Space Invites are not lighting up the drawer menu ([#4059](https://github.com/vector-im/element-android/issues/4059))
|
||||
- MessageActionsBottomSheet not being shown on local echos ([#4068](https://github.com/vector-im/element-android/issues/4068))
|
||||
|
||||
SDK API changes ⚠️
|
||||
------------------
|
||||
- InitialSyncProgressService has been renamed to SyncStatusService and its function getInitialSyncProgressStatus() has been renamed to getSyncStatusLive() ([#4046](https://github.com/vector-im/element-android/issues/4046))
|
||||
|
||||
Other changes
|
||||
-------------
|
||||
- Better support for Sdk2 version. Also slight change in the default user agent: `MatrixAndroidSDK_X` is replaced by `MatrixAndroidSdk2` ([#3994](https://github.com/vector-im/element-android/issues/3994))
|
||||
- Introduces ConferenceEvent to abstract usage of Jitsi BroadcastEvent class. ([#4014](https://github.com/vector-im/element-android/issues/4014))
|
||||
- Improve performances on RoomDetail screen ([#4065](https://github.com/vector-im/element-android/issues/4065))
|
||||
|
||||
|
||||
Changes in Element v1.2.2 (2021-09-13)
|
||||
======================================
|
||||
|
||||
Bugfixes 🐛
|
||||
----------
|
||||
|
||||
- Fix a security issue with message key sharing. See https://matrix.org/blog/2021/09/13/vulnerability-disclosure-key-sharing for details.
|
||||
|
||||
|
||||
Changes in Element v1.2.1 (2021-09-08)
|
||||
======================================
|
||||
|
||||
|
@@ -9,7 +9,7 @@ Android support can be found in this [.
|
||||
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 sanity test status: [](https://github.com/vector-im/element-android/actions/workflows/sanity_test.yml)
|
||||
|
||||
|
||||
# New Android SDK
|
||||
|
||||
@@ -27,8 +28,28 @@ At each Element release, the SDK module is copied to a dedicated repository: htt
|
||||
The version 1.0.0 of Element still misses some features which was previously included in Riot-Android.
|
||||
The team will work to add them on a regular basis.
|
||||
|
||||
# Releases to app stores
|
||||
|
||||
There is some delay between when a release is created and when it appears in the app stores (Google Play Store and F-Droid). Here are some of the reasons:
|
||||
|
||||
* Not all versioned releases that appear on GitHub are considered stable. Each release is first considered beta: this continues for at least two days. If the release is stable (no serious issues or crashes are reported), then it is released as a production release in Google Play Store, and a request is sent to F-Droid too.
|
||||
* Each release on the Google Play Store undergoes review by Google before it comes out. This can take an unpredictable amount of time. In some cases it has taken several weeks.
|
||||
* In order for F-Droid to guarantee that the app you receive exactly matches the public source code, they build releases themselves. When a release is considered stable, Element staff inform the F-Droid maintainers and it is added to the build queue. Depending on the load on F-Droid's infrastructure, it can take some time for releases to be built. This always takes at least 24 hours, and can take several days.
|
||||
|
||||
If you would like to receive releases more quickly (bearing in mind that they may not be stable) you have a number of options:
|
||||
|
||||
1. [Sign up to receive beta releases](https://play.google.com/apps/testing/im.vector.app) via the Google Play Store.
|
||||
2. Install a [release APK](https://github.com/vector-im/element-android/releases) directly - download the relevant .apk file and allow installing from untrusted sources in your device settings. Note: these releases are the Google Play version, which depend on some Google services. If you prefer to avoid that, try the latest dev builds, and choose the F-Droid version.
|
||||
3. If you're really brave, install the [very latest dev build](https://buildkite.com/matrix-dot-org/element-android/builds/latest?branch=develop&state=passed) - click on *Assemble (GPlay or FDroid) Debug version* then on *Artifacts*.
|
||||
|
||||
## Contributing
|
||||
|
||||
Please refer to [CONTRIBUTING.md](https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md) if you want to contribute on Matrix Android projects!
|
||||
|
||||
Come chat with the community in the dedicated Matrix [room](https://matrix.to/#/#element-android:matrix.org).
|
||||
|
||||
## Triaging issues
|
||||
|
||||
Issues are triaged by community members and the Android App Team, following the [triage process](https://github.com/vector-im/element-meta/wiki/Triage-process).
|
||||
|
||||
We use [issue labels](https://github.com/vector-im/element-meta/wiki/Issue-labelling) to sort all incoming issues.
|
||||
|
@@ -18,13 +18,12 @@ apply plugin: 'com.android.library'
|
||||
apply plugin: 'kotlin-android'
|
||||
|
||||
android {
|
||||
compileSdkVersion 30
|
||||
|
||||
compileSdk versions.compileSdk
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 30
|
||||
versionCode 1
|
||||
versionName "1.0"
|
||||
minSdk versions.minSdk
|
||||
targetSdk versions.targetSdk
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
@@ -34,8 +33,8 @@ android {
|
||||
}
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_11
|
||||
targetCompatibility JavaVersion.VERSION_11
|
||||
sourceCompatibility versions.sourceCompat
|
||||
targetCompatibility versions.targetCompat
|
||||
}
|
||||
kotlinOptions {
|
||||
jvmTarget = "11"
|
||||
@@ -48,16 +47,13 @@ android {
|
||||
|
||||
dependencies {
|
||||
implementation project(":library:ui-styles")
|
||||
implementation project(":library:core-utils")
|
||||
|
||||
implementation 'com.github.chrisbanes:PhotoView:2.3.0'
|
||||
|
||||
implementation 'io.reactivex.rxjava2:rxkotlin:2.4.0'
|
||||
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
|
||||
implementation libs.androidx.core
|
||||
implementation libs.androidx.appCompat
|
||||
implementation libs.androidx.recyclerview
|
||||
|
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
||||
implementation 'androidx.core:core-ktx:1.6.0'
|
||||
implementation 'androidx.appcompat:appcompat:1.3.1'
|
||||
implementation "androidx.recyclerview:recyclerview:1.2.1"
|
||||
|
||||
implementation 'com.google.android.material:material:1.4.0'
|
||||
implementation libs.google.material
|
||||
}
|
@@ -17,6 +17,7 @@
|
||||
|
||||
package im.vector.lib.attachmentviewer
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.graphics.Color
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
@@ -39,7 +40,6 @@ import androidx.core.view.updatePadding
|
||||
import androidx.transition.TransitionManager
|
||||
import androidx.viewpager2.widget.ViewPager2
|
||||
import im.vector.lib.attachmentviewer.databinding.ActivityAttachmentViewerBinding
|
||||
|
||||
import java.lang.ref.WeakReference
|
||||
import kotlin.math.abs
|
||||
|
||||
@@ -142,7 +142,12 @@ abstract class AttachmentViewerActivity : AppCompatActivity(), AttachmentEventLi
|
||||
// New API instead of SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN and SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
|
||||
window.setDecorFitsSystemWindows(false)
|
||||
// New API instead of SYSTEM_UI_FLAG_IMMERSIVE
|
||||
window.decorView.windowInsetsController?.systemBarsBehavior = WindowInsetsController.BEHAVIOR_SHOW_BARS_BY_SWIPE
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
||||
window.decorView.windowInsetsController?.systemBarsBehavior = WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
|
||||
} else {
|
||||
@SuppressLint("WrongConstant")
|
||||
window.decorView.windowInsetsController?.systemBarsBehavior = WindowInsetsController.BEHAVIOR_SHOW_BARS_BY_SWIPE
|
||||
}
|
||||
// New API instead of FLAG_TRANSLUCENT_STATUS
|
||||
window.statusBarColor = ContextCompat.getColor(this, R.color.half_transparent_status_bar)
|
||||
// new API instead of FLAG_TRANSLUCENT_NAVIGATION
|
||||
@@ -291,8 +296,8 @@ abstract class AttachmentViewerActivity : AppCompatActivity(), AttachmentEventLi
|
||||
private fun calculateTranslationAlpha(translationY: Float, translationLimit: Int): Float =
|
||||
1.0f - 1.0f / translationLimit.toFloat() / 4f * abs(translationY)
|
||||
|
||||
private fun createSwipeToDismissHandler()
|
||||
: SwipeToDismissHandler = SwipeToDismissHandler(
|
||||
private fun createSwipeToDismissHandler(): SwipeToDismissHandler =
|
||||
SwipeToDismissHandler(
|
||||
swipeView = views.dismissContainer,
|
||||
shouldAnimateDismiss = { shouldAnimateDismiss() },
|
||||
onDismiss = { animateClose() },
|
||||
@@ -348,7 +353,12 @@ abstract class AttachmentViewerActivity : AppCompatActivity(), AttachmentEventLi
|
||||
// new API instead of SYSTEM_UI_FLAG_HIDE_NAVIGATION
|
||||
window.decorView.windowInsetsController?.hide(WindowInsets.Type.navigationBars())
|
||||
// New API instead of SYSTEM_UI_FLAG_IMMERSIVE
|
||||
window.decorView.windowInsetsController?.systemBarsBehavior = WindowInsetsController.BEHAVIOR_SHOW_BARS_BY_SWIPE
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
||||
window.decorView.windowInsetsController?.systemBarsBehavior = WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
|
||||
} else {
|
||||
@SuppressLint("WrongConstant")
|
||||
window.decorView.windowInsetsController?.systemBarsBehavior = WindowInsetsController.BEHAVIOR_SHOW_BARS_BY_SWIPE
|
||||
}
|
||||
// New API instead of FLAG_TRANSLUCENT_STATUS
|
||||
window.statusBarColor = ContextCompat.getColor(this, R.color.half_transparent_status_bar)
|
||||
// New API instead of FLAG_TRANSLUCENT_NAVIGATION
|
||||
|
@@ -36,8 +36,8 @@ interface ImageLoaderTarget {
|
||||
fun onResourceReady(uid: String, resource: Drawable)
|
||||
}
|
||||
|
||||
internal class DefaultImageLoaderTarget(val holder: AnimatedImageViewHolder, private val contextView: ImageView)
|
||||
: ImageLoaderTarget {
|
||||
internal class DefaultImageLoaderTarget(val holder: AnimatedImageViewHolder, private val contextView: ImageView) :
|
||||
ImageLoaderTarget {
|
||||
override fun contextView(): ImageView {
|
||||
return contextView
|
||||
}
|
||||
|
@@ -20,12 +20,9 @@ import android.util.Log
|
||||
import android.view.View
|
||||
import androidx.core.view.isVisible
|
||||
import im.vector.lib.attachmentviewer.databinding.ItemVideoAttachmentBinding
|
||||
import io.reactivex.Observable
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
import io.reactivex.disposables.Disposable
|
||||
import im.vector.lib.core.utils.timer.CountUpTimer
|
||||
import java.io.File
|
||||
import java.lang.ref.WeakReference
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
// TODO, it would be probably better to use a unique media player
|
||||
// for better customization and control
|
||||
@@ -35,7 +32,7 @@ class VideoViewHolder constructor(itemView: View) :
|
||||
|
||||
private var isSelected = false
|
||||
private var mVideoPath: String? = null
|
||||
private var progressDisposable: Disposable? = null
|
||||
private var countUpTimer: CountUpTimer? = null
|
||||
private var progress: Int = 0
|
||||
private var wasPaused = false
|
||||
|
||||
@@ -47,8 +44,7 @@ class VideoViewHolder constructor(itemView: View) :
|
||||
|
||||
override fun onRecycled() {
|
||||
super.onRecycled()
|
||||
progressDisposable?.dispose()
|
||||
progressDisposable = null
|
||||
stopTimer()
|
||||
mVideoPath = null
|
||||
}
|
||||
|
||||
@@ -72,8 +68,7 @@ class VideoViewHolder constructor(itemView: View) :
|
||||
override fun entersBackground() {
|
||||
if (views.videoView.isPlaying) {
|
||||
progress = views.videoView.currentPosition
|
||||
progressDisposable?.dispose()
|
||||
progressDisposable = null
|
||||
stopTimer()
|
||||
views.videoView.stopPlayback()
|
||||
views.videoView.pause()
|
||||
}
|
||||
@@ -91,8 +86,7 @@ class VideoViewHolder constructor(itemView: View) :
|
||||
} else {
|
||||
progress = 0
|
||||
}
|
||||
progressDisposable?.dispose()
|
||||
progressDisposable = null
|
||||
stopTimer()
|
||||
} else {
|
||||
if (mVideoPath != null) {
|
||||
startPlaying()
|
||||
@@ -107,17 +101,19 @@ class VideoViewHolder constructor(itemView: View) :
|
||||
views.videoView.isVisible = true
|
||||
|
||||
views.videoView.setOnPreparedListener {
|
||||
progressDisposable?.dispose()
|
||||
progressDisposable = Observable.interval(100, TimeUnit.MILLISECONDS)
|
||||
.timeInterval()
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe {
|
||||
stopTimer()
|
||||
countUpTimer = CountUpTimer(100).also {
|
||||
it.tickListener = object : CountUpTimer.TickListener {
|
||||
override fun onTick(milliseconds: Long) {
|
||||
val duration = views.videoView.duration
|
||||
val progress = views.videoView.currentPosition
|
||||
val isPlaying = views.videoView.isPlaying
|
||||
// Log.v("FOO", "isPlaying $isPlaying $progress/$duration")
|
||||
eventListener?.get()?.onEvent(AttachmentEvents.VideoEvent(isPlaying, progress, duration))
|
||||
}
|
||||
}
|
||||
it.resume()
|
||||
}
|
||||
}
|
||||
try {
|
||||
views.videoView.setVideoPath(mVideoPath)
|
||||
@@ -134,6 +130,11 @@ class VideoViewHolder constructor(itemView: View) :
|
||||
}
|
||||
}
|
||||
|
||||
private fun stopTimer() {
|
||||
countUpTimer?.stop()
|
||||
countUpTimer = null
|
||||
}
|
||||
|
||||
override fun handleCommand(commands: AttachmentCommands) {
|
||||
if (!isSelected) return
|
||||
when (commands) {
|
||||
|
112
build.gradle
112
build.gradle
@@ -1,22 +1,23 @@
|
||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||
|
||||
buildscript {
|
||||
// Ref: https://kotlinlang.org/releases.html
|
||||
ext.kotlin_version = '1.5.21'
|
||||
ext.kotlin_coroutines_version = "1.5.0"
|
||||
apply from: 'dependencies.gradle'
|
||||
apply from: 'dependencies_groups.gradle'
|
||||
|
||||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
maven {
|
||||
url "https://plugins.gradle.org/m2/"
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
// Release notes of Android Gradle Plugin (AGP):
|
||||
// https://developer.android.com/studio/releases/gradle-plugin
|
||||
classpath 'com.android.tools.build:gradle:7.0.2'
|
||||
classpath libs.gradle.gradlePlugin
|
||||
classpath libs.gradle.kotlinPlugin
|
||||
classpath libs.gradle.hiltPlugin
|
||||
classpath 'com.google.gms:google-services:4.3.10'
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||
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"
|
||||
@@ -26,47 +27,51 @@ buildscript {
|
||||
}
|
||||
}
|
||||
|
||||
// ktlint Plugin
|
||||
plugins {
|
||||
id "org.jlleitschuh.gradle.ktlint" version "10.2.1"
|
||||
}
|
||||
|
||||
allprojects {
|
||||
apply plugin: "org.jlleitschuh.gradle.ktlint"
|
||||
|
||||
repositories {
|
||||
// For olm library. This has to be declared first, to ensure that Olm library is not downloaded from another repo
|
||||
mavenCentral {
|
||||
content {
|
||||
groups.mavenCentral.regex.each { includeGroupByRegex it }
|
||||
groups.mavenCentral.group.each { includeGroup it }
|
||||
}
|
||||
}
|
||||
maven {
|
||||
url 'https://jitpack.io'
|
||||
content {
|
||||
// Use this repo only for olm library
|
||||
includeGroupByRegex "org\\.matrix\\.gitlab\\.matrix-org"
|
||||
// And also for FilePicker
|
||||
includeGroupByRegex "com\\.github\\.jaiselrahman"
|
||||
// And monarchy
|
||||
includeGroupByRegex "com\\.github\\.Zhuinden"
|
||||
// And ucrop
|
||||
includeGroupByRegex "com\\.github\\.yalantis"
|
||||
// JsonViewer
|
||||
includeGroupByRegex 'com\\.github\\.BillCarsonFr'
|
||||
// PhotoView
|
||||
includeGroupByRegex 'com\\.github\\.chrisbanes'
|
||||
// PFLockScreen-Android
|
||||
includeGroupByRegex 'com\\.github\\.vector-im'
|
||||
// DraggableView
|
||||
includeGroupByRegex 'com\\.github\\.hyuwah'
|
||||
|
||||
// Chat effects
|
||||
includeGroupByRegex 'com\\.github\\.jetradarmobile'
|
||||
includeGroupByRegex 'nl\\.dionsegijn'
|
||||
|
||||
// Voice RecordView
|
||||
includeGroupByRegex 'com\\.github\\.Armen101'
|
||||
groups.jitpack.regex.each { includeGroupByRegex it }
|
||||
groups.jitpack.group.each { includeGroup it }
|
||||
}
|
||||
}
|
||||
maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
|
||||
// Jitsi repo
|
||||
maven {
|
||||
url "https://github.com/vector-im/jitsi_libre_maven/raw/main/android-sdk-3.1.0"
|
||||
url "https://github.com/vector-im/jitsi_libre_maven/raw/main/android-sdk-3.10.0"
|
||||
// Note: to test Jitsi release you can use a local file like this:
|
||||
// url "file:///Users/bmarty/workspaces/jitsi_libre_maven/android-sdk-3.1.0"
|
||||
// url "file:///Users/bmarty/workspaces/jitsi_libre_maven/android-sdk-3.10.0"
|
||||
content {
|
||||
groups.jitsi.regex.each { includeGroupByRegex it }
|
||||
groups.jitsi.group.each { includeGroup it }
|
||||
}
|
||||
}
|
||||
google {
|
||||
content {
|
||||
groups.google.regex.each { includeGroupByRegex it }
|
||||
groups.google.group.each { includeGroup it }
|
||||
}
|
||||
}
|
||||
//noinspection JcenterRepositoryObsolete
|
||||
jcenter {
|
||||
content {
|
||||
groups.jcenter.regex.each { includeGroupByRegex it }
|
||||
groups.jcenter.group.each { includeGroup it }
|
||||
}
|
||||
}
|
||||
google()
|
||||
mavenCentral()
|
||||
jcenter()
|
||||
}
|
||||
|
||||
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
|
||||
@@ -74,6 +79,26 @@ allprojects {
|
||||
// You can override by passing `-PallWarningsAsErrors=false` in the command line
|
||||
kotlinOptions.allWarningsAsErrors = project.getProperties().getOrDefault("allWarningsAsErrors", "true").toBoolean()
|
||||
}
|
||||
|
||||
// Fix "Java heap space" issue
|
||||
tasks.withType(org.jlleitschuh.gradle.ktlint.tasks.BaseKtLintCheckTask).configureEach {
|
||||
it.workerMaxHeapSize.set("2G")
|
||||
}
|
||||
|
||||
// See https://github.com/JLLeitschuh/ktlint-gradle#configuration
|
||||
ktlint {
|
||||
android = true
|
||||
ignoreFailures = false
|
||||
enableExperimentalRules = true
|
||||
// display the corresponding rule
|
||||
verbose = true
|
||||
disabledRules = [
|
||||
"spacing-between-declarations-with-comments",
|
||||
"no-multi-spaces",
|
||||
"experimental:spacing-between-declarations-with-annotations",
|
||||
"experimental:annotation"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
task clean(type: Delete) {
|
||||
@@ -119,6 +144,11 @@ project(":diff-match-patch") {
|
||||
}
|
||||
}
|
||||
|
||||
// Global configurations across all modules
|
||||
ext {
|
||||
isThreadingEnabled = true
|
||||
}
|
||||
|
||||
//project(":matrix-sdk-android") {
|
||||
// sonarqube {
|
||||
// properties {
|
||||
@@ -128,13 +158,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", "**/*.*"
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
145
dependencies.gradle
Normal file
145
dependencies.gradle
Normal file
@@ -0,0 +1,145 @@
|
||||
ext.versions = [
|
||||
|
||||
'minSdk' : 21,
|
||||
'compileSdk' : 31,
|
||||
'targetSdk' : 31,
|
||||
'sourceCompat' : JavaVersion.VERSION_11,
|
||||
'targetCompat' : JavaVersion.VERSION_11,
|
||||
]
|
||||
|
||||
def gradle = "7.0.4"
|
||||
// Ref: https://kotlinlang.org/releases.html
|
||||
def kotlin = "1.5.31"
|
||||
def kotlinCoroutines = "1.5.2"
|
||||
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 lifecycle = "2.4.0"
|
||||
def flowBinding = "1.2.0"
|
||||
def epoxy = "4.6.2"
|
||||
def mavericks = "2.5.0"
|
||||
def glide = "4.12.0"
|
||||
def bigImageViewer = "1.8.1"
|
||||
def jjwt = "0.11.2"
|
||||
def vanniktechEmoji = "0.8.0"
|
||||
|
||||
// Testing
|
||||
def mockk = "1.12.1"
|
||||
def espresso = "3.4.0"
|
||||
def androidxTest = "1.4.0"
|
||||
def androidxOrchestrator = "1.4.1"
|
||||
|
||||
|
||||
ext.libs = [
|
||||
gradle : [
|
||||
'gradlePlugin' : "com.android.tools.build:gradle:$gradle",
|
||||
'kotlinPlugin' : "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin",
|
||||
'hiltPlugin' : "com.google.dagger:hilt-android-gradle-plugin:$dagger"
|
||||
|
||||
],
|
||||
jetbrains : [
|
||||
'coroutinesCore' : "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinCoroutines",
|
||||
'coroutinesAndroid' : "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlinCoroutines",
|
||||
'coroutinesTest' : "org.jetbrains.kotlinx:kotlinx-coroutines-test:$kotlinCoroutines"
|
||||
],
|
||||
androidx : [
|
||||
'appCompat' : "androidx.appcompat:appcompat:1.4.0",
|
||||
'core' : "androidx.core:core-ktx:1.7.0",
|
||||
'recyclerview' : "androidx.recyclerview:recyclerview:1.2.1",
|
||||
'exifinterface' : "androidx.exifinterface:exifinterface:1.3.3",
|
||||
'fragmentKtx' : "androidx.fragment:fragment-ktx:1.4.0",
|
||||
'constraintLayout' : "androidx.constraintlayout:constraintlayout:2.1.2",
|
||||
'work' : "androidx.work:work-runtime-ktx:2.7.1",
|
||||
'autoFill' : "androidx.autofill:autofill:1.1.0",
|
||||
'preferenceKtx' : "androidx.preference:preference-ktx:1.1.1",
|
||||
'junit' : "androidx.test.ext:junit:1.1.3",
|
||||
'lifecycleCommon' : "androidx.lifecycle:lifecycle-common:$lifecycle",
|
||||
'lifecycleLivedata' : "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle",
|
||||
'lifecycleProcess' : "androidx.lifecycle:lifecycle-process:$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:$androidxOrchestrator",
|
||||
'testRunner' : "androidx.test:runner:$androidxTest",
|
||||
'testRules' : "androidx.test:rules:$androidxTest",
|
||||
'espressoCore' : "androidx.test.espresso:espresso-core:$espresso",
|
||||
'espressoContrib' : "androidx.test.espresso:espresso-contrib:$espresso",
|
||||
'espressoIntents' : "androidx.test.espresso:espresso-intents:$espresso"
|
||||
],
|
||||
google : [
|
||||
// TODO There is 1.6.0?
|
||||
'material' : "com.google.android.material:material:1.4.0"
|
||||
],
|
||||
dagger : [
|
||||
'dagger' : "com.google.dagger:dagger:$dagger",
|
||||
'daggerCompiler' : "com.google.dagger:dagger-compiler:$dagger",
|
||||
'hilt' : "com.google.dagger:hilt-android:$dagger",
|
||||
'hiltCompiler' : "com.google.dagger:hilt-compiler:$dagger"
|
||||
],
|
||||
squareup : [
|
||||
'moshi' : "com.squareup.moshi:moshi-adapters:$moshi",
|
||||
'moshiKotlin' : "com.squareup.moshi:moshi-kotlin-codegen:$moshi",
|
||||
'retrofit' : "com.squareup.retrofit2:retrofit:$retrofit",
|
||||
'retrofitMoshi' : "com.squareup.retrofit2:converter-moshi:$retrofit"
|
||||
],
|
||||
rx : [
|
||||
'rxKotlin' : "io.reactivex.rxjava2:rxkotlin:2.4.0"
|
||||
],
|
||||
arrow : [
|
||||
'core' : "io.arrow-kt:arrow-core:$arrow",
|
||||
'instances' : "io.arrow-kt:arrow-instances-core:$arrow"
|
||||
],
|
||||
markwon : [
|
||||
'core' : "io.noties.markwon:core:$markwon",
|
||||
'extLatex' : "io.noties.markwon:ext-latex:$markwon",
|
||||
'inlineParser' : "io.noties.markwon:inline-parser:$markwon",
|
||||
'html' : "io.noties.markwon:html:$markwon"
|
||||
],
|
||||
airbnb : [
|
||||
'epoxy' : "com.airbnb.android:epoxy:$epoxy",
|
||||
'epoxyGlide' : "com.airbnb.android:epoxy-glide-preloading:$epoxy",
|
||||
'epoxyProcessor' : "com.airbnb.android:epoxy-processor:$epoxy",
|
||||
'epoxyPaging' : "com.airbnb.android:epoxy-paging:$epoxy",
|
||||
'mavericks' : "com.airbnb.android:mavericks:$mavericks",
|
||||
'mavericksTesting' : "com.airbnb.android:mavericks-testing:$mavericks"
|
||||
],
|
||||
mockk : [
|
||||
'mockk' : "io.mockk:mockk:$mockk",
|
||||
'mockkAndroid' : "io.mockk:mockk-android:$mockk"
|
||||
],
|
||||
github : [
|
||||
'glide' : "com.github.bumptech.glide:glide:$glide",
|
||||
'glideCompiler' : "com.github.bumptech.glide:compiler:$glide",
|
||||
'bigImageViewer' : "com.github.piasy:BigImageViewer:$bigImageViewer",
|
||||
'glideImageLoader' : "com.github.piasy:GlideImageLoader:$bigImageViewer",
|
||||
'progressPieIndicator' : "com.github.piasy:ProgressPieIndicator:$bigImageViewer",
|
||||
'glideImageViewFactory' : "com.github.piasy:GlideImageViewFactory:$bigImageViewer",
|
||||
'flowBinding' : "io.github.reactivecircus.flowbinding:flowbinding-android:$flowBinding",
|
||||
'flowBindingAppcompat' : "io.github.reactivecircus.flowbinding:flowbinding-appcompat:$flowBinding",
|
||||
'flowBindingMaterial' : "io.github.reactivecircus.flowbinding:flowbinding-material:$flowBinding"
|
||||
],
|
||||
jakewharton : [
|
||||
'timber' : "com.jakewharton.timber:timber:5.0.1"
|
||||
],
|
||||
jsonwebtoken: [
|
||||
'jjwtApi' : "io.jsonwebtoken:jjwt-api:$jjwt",
|
||||
'jjwtImpl' : "io.jsonwebtoken:jjwt-impl:$jjwt",
|
||||
'jjwtOrgjson' : "io.jsonwebtoken:jjwt-orgjson:$jjwt"
|
||||
],
|
||||
vanniktech : [
|
||||
'emojiMaterial' : "com.vanniktech:emoji-material:$vanniktechEmoji",
|
||||
'emojiGoogle' : "com.vanniktech:emoji-google:$vanniktechEmoji"
|
||||
],
|
||||
apache : [
|
||||
'commonsImaging' : "org.apache.sanselan:sanselan:0.97-incubator"
|
||||
],
|
||||
tests : [
|
||||
'kluent' : "org.amshove.kluent:kluent-android:1.68",
|
||||
'timberJunitRule' : "net.lachlanmckee:timber-junit-rule:1.0.1",
|
||||
'junit' : "junit:junit:4.13.2"
|
||||
]
|
||||
]
|
198
dependencies_groups.gradle
Normal file
198
dependencies_groups.gradle
Normal file
@@ -0,0 +1,198 @@
|
||||
ext.groups = [
|
||||
jitpack : [
|
||||
regex: [
|
||||
],
|
||||
group: [
|
||||
'com.github.Armen101',
|
||||
'com.github.chrisbanes',
|
||||
'com.github.hyuwah',
|
||||
'com.github.jetradarmobile',
|
||||
'com.github.tapadoo',
|
||||
'com.github.vector-im',
|
||||
'com.github.yalantis',
|
||||
'com.github.Zhuinden',
|
||||
]
|
||||
],
|
||||
jitsi : [
|
||||
regex: [
|
||||
],
|
||||
group: [
|
||||
'com.facebook.react',
|
||||
'org.jitsi.react',
|
||||
'org.webkit',
|
||||
]
|
||||
],
|
||||
google : [
|
||||
regex: [
|
||||
'androidx\\..*',
|
||||
'com\\.android\\.tools\\..*',
|
||||
'com\\.google\\.android\\..*',
|
||||
],
|
||||
group: [
|
||||
'com.google.firebase',
|
||||
'com.android',
|
||||
'com.android.tools',
|
||||
]
|
||||
],
|
||||
mavenCentral: [
|
||||
regex: [
|
||||
],
|
||||
group: [
|
||||
'com.adevinta.android',
|
||||
'com.airbnb.android',
|
||||
'com.almworks.sqlite4java',
|
||||
'com.arthenica',
|
||||
'com.atlassian.commonmark',
|
||||
'com.atlassian.pom',
|
||||
'com.beust',
|
||||
'com.davemorrissey.labs',
|
||||
'com.dropbox.core',
|
||||
'com.facebook.fresco',
|
||||
'com.facebook.infer.annotation',
|
||||
'com.facebook.soloader',
|
||||
'com.facebook.stetho',
|
||||
'com.fasterxml',
|
||||
'com.fasterxml.jackson',
|
||||
'com.fasterxml.jackson.core',
|
||||
'com.gabrielittner.threetenbp',
|
||||
'com.getkeepsafe.relinker',
|
||||
'com.github.bumptech.glide',
|
||||
'com.github.filippudak',
|
||||
'com.github.filippudak.progresspieview',
|
||||
'com.github.javaparser',
|
||||
'com.github.piasy',
|
||||
'com.github.shyiko.klob',
|
||||
'com.google',
|
||||
'com.google.auto.service',
|
||||
'com.google.auto.value',
|
||||
'com.google.code.findbugs',
|
||||
'com.google.code.gson',
|
||||
'com.google.dagger',
|
||||
'com.google.devtools.ksp',
|
||||
'com.google.errorprone',
|
||||
'com.google.googlejavaformat',
|
||||
'com.google.guava',
|
||||
'com.google.j2objc',
|
||||
'com.google.jimfs',
|
||||
'com.google.protobuf',
|
||||
'com.google.zxing',
|
||||
'com.googlecode.htmlcompressor',
|
||||
'com.googlecode.json-simple',
|
||||
'com.googlecode.libphonenumber',
|
||||
'com.ibm.icu',
|
||||
'com.jakewharton.android.repackaged',
|
||||
'com.jakewharton.timber',
|
||||
'com.linkedin.dexmaker',
|
||||
'com.mapbox.mapboxsdk',
|
||||
'com.nulab-inc',
|
||||
'com.otaliastudios.opengl',
|
||||
'com.parse.bolts',
|
||||
'com.pinterest',
|
||||
'com.pinterest.ktlint',
|
||||
'com.posthog.android',
|
||||
'com.squareup',
|
||||
'com.squareup.duktape',
|
||||
'com.squareup.moshi',
|
||||
'com.squareup.okhttp3',
|
||||
'com.squareup.okio',
|
||||
'com.squareup.retrofit2',
|
||||
'com.sun.activation',
|
||||
'com.sun.istack',
|
||||
'com.sun.xml.bind',
|
||||
'com.sun.xml.bind.mvn',
|
||||
'com.sun.xml.fastinfoset',
|
||||
'com.thoughtworks.qdox',
|
||||
'com.vanniktech',
|
||||
'commons-cli',
|
||||
'commons-codec',
|
||||
'commons-io',
|
||||
'commons-logging',
|
||||
'info.picocli',
|
||||
'io.arrow-kt',
|
||||
'io.github.detekt.sarif4k',
|
||||
'io.github.reactivecircus.flowbinding',
|
||||
'io.jsonwebtoken',
|
||||
'io.kindedj',
|
||||
'io.mockk',
|
||||
'io.noties.markwon',
|
||||
'io.reactivex.rxjava2',
|
||||
'io.realm',
|
||||
'it.unimi.dsi',
|
||||
'jakarta.activation',
|
||||
'jakarta.xml.bind',
|
||||
'javax.annotation',
|
||||
'javax.inject',
|
||||
'jline',
|
||||
'jp.wasabeef',
|
||||
'junit',
|
||||
'me.leolin',
|
||||
'me.saket',
|
||||
'net.bytebuddy',
|
||||
'net.java',
|
||||
'net.java.dev.jna',
|
||||
'net.lachlanmckee',
|
||||
'net.ltgt.gradle.incap',
|
||||
'net.sf.jopt-simple',
|
||||
'net.sf.kxml',
|
||||
'nl.dionsegijn',
|
||||
'org.amshove.kluent',
|
||||
'org.apache',
|
||||
'org.apache.ant',
|
||||
'org.apache.commons',
|
||||
'org.apache.httpcomponents',
|
||||
'org.apache.sanselan',
|
||||
'org.bouncycastle',
|
||||
'org.checkerframework',
|
||||
'org.codehaus',
|
||||
'org.codehaus.groovy',
|
||||
'org.codehaus.mojo',
|
||||
'org.eclipse.ee4j',
|
||||
'org.ec4j.core',
|
||||
'org.glassfish.jaxb',
|
||||
'org.hamcrest',
|
||||
'org.jetbrains',
|
||||
'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',
|
||||
'org.objenesis',
|
||||
'org.opentest4j',
|
||||
'org.ow2',
|
||||
'org.ow2.asm',
|
||||
'org.ow2.asm',
|
||||
'org.reactivestreams',
|
||||
'org.robolectric',
|
||||
'org.slf4j',
|
||||
'org.sonatype.oss',
|
||||
'org.testng',
|
||||
'org.threeten',
|
||||
'ru.noties',
|
||||
'xerces',
|
||||
'xml-apis',
|
||||
]
|
||||
],
|
||||
jcenter : [
|
||||
regex: [
|
||||
],
|
||||
group: [
|
||||
'com.amulyakhare',
|
||||
'com.otaliastudios',
|
||||
'com.yqritc',
|
||||
// https://github.com/cmelchior/realmfieldnameshelper/issues/42
|
||||
'dk.ilios',
|
||||
'im.dlg',
|
||||
'me.dm7.barcodescanner',
|
||||
'me.gujun.android',
|
||||
]
|
||||
]
|
||||
]
|
||||
|
16
docs/analytics.md
Normal file
16
docs/analytics.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# Analytics in Element
|
||||
|
||||
## Solution
|
||||
|
||||
Element is using PostHog to send analytics event.
|
||||
We ask for the user to give consent before sending any analytics data.
|
||||
|
||||
## How to add a new Event
|
||||
|
||||
The analytics plan is shared between all Element clients. To add an Event, please open a PR to this project: https://github.com/matrix-org/matrix-analytics-events
|
||||
|
||||
Then, once the PR has been merged, you can run the tool `import_analytic_plan.sh` to import the plan to Element, and then you can use the new Event. Note that this tool is run by Github action once a week.
|
||||
|
||||
## Forks of Element
|
||||
|
||||
Analytics on forks are disabled by default. Please refer to AnalyticsConfig and there implementation to setup analytics on your project.
|
115
docs/design.md
Normal file
115
docs/design.md
Normal file
@@ -0,0 +1,115 @@
|
||||
# Element Android design
|
||||
|
||||
## Introduction
|
||||
|
||||
Design at element.io is done using Figma - https://www.figma.com
|
||||
|
||||
## How to import from Figma to the Element Android project
|
||||
|
||||
Integration should be done using the Android development best practice, and should follow the existing convention in the code.
|
||||
|
||||
### Colors
|
||||
|
||||
Element Android already contains all the colors which can be used by the designer, in the module `ui-style`.
|
||||
Some of them depend on the theme, so ensure to use theme attributes and not colors directly.
|
||||
|
||||
### Text
|
||||
|
||||
- click on a text on Figma
|
||||
- on the right panel, information about the style and colors are displayed
|
||||
- in Element Android, text style are already defined, generally you should not create new style
|
||||
- apply the style and the color to the layout
|
||||
|
||||
### Dimension, position and margin
|
||||
|
||||
- click on an item on Figma
|
||||
- dimensions of the item will be displayed.
|
||||
- move the mouse to other items to get relative positioning, margin, etc.
|
||||
|
||||
### Icons
|
||||
|
||||
#### Export drawable from Figma
|
||||
|
||||
- click on the element to export
|
||||
- ensure that the correct layer is selected. Sometimes the parent layer has to be selected on the left panel
|
||||
- on the right panel, click on "export"
|
||||
- select SVG
|
||||
- you can check the preview of what will be exported
|
||||
- click on "export" and save the file locally
|
||||
- unzip the file if necessary
|
||||
|
||||
It's also possible for any icon to go to the main component by right-clicking on the icon.
|
||||
|
||||
#### Import in Android Studio
|
||||
|
||||
- right click on the drawable folder where the drawable will be created
|
||||
- click on "New"/"Vector Asset"
|
||||
- select the exported file
|
||||
- update the filename if necessary
|
||||
- click on "Next" and click on "Finish"
|
||||
- open the created vector drawable
|
||||
- optionally update the color(s) to "#FF0000" (red) to ensure that the drawable is correctly tinted at runtime.
|
||||
|
||||
### Images
|
||||
|
||||
Android 4.3 (18+) fully supports the WebP image format which can often provide smaller image sizes without drastically impacting image quality (depending on the output encoding quality).
|
||||
When importing non vector images, WebP is the preferred format.
|
||||
|
||||
Images can be converted to the WebP within Android Studio by
|
||||
- right clicking the image file within the project file explorer
|
||||
- select `Convert to WebP`
|
||||
|
||||
https://developer.android.com/studio/write/convert-webp
|
||||
|
||||
## Figma links
|
||||
|
||||
Figma links can be included in the layout, for future reference, but it is also OK to add a paragraph below here, to centralize the information
|
||||
|
||||
Main entry point: https://www.figma.com/files/project/5612863/Element?fuid=779371459522484071
|
||||
|
||||
Note: all the Figma links are not publicly available.
|
||||
|
||||
### Coumpound
|
||||
|
||||
Coumpound contains the theme of the application, with all the components, in Light and Dark theme: palette (colors), typography, iconography, etc.
|
||||
|
||||
https://www.figma.com/file/X4XTH9iS2KGJ2wFKDqkyed/Compound
|
||||
|
||||
### Login
|
||||
|
||||
TBD
|
||||
|
||||
#### Login v2
|
||||
|
||||
https://www.figma.com/file/xdV4PuI3DlzA1EiBvbrggz/Login-Flow-v2
|
||||
|
||||
### Room list
|
||||
|
||||
TBD
|
||||
|
||||
### Timeline
|
||||
|
||||
https://www.figma.com/file/x1HYYLYMmbYnhfoz2c2nGD/%5BRiotX%5D-Misc?node-id=0%3A1
|
||||
|
||||
### Voice message
|
||||
|
||||
https://www.figma.com/file/uaWc62Ux2DkZC4OGtAGcNc/Voice-Messages?node-id=473%3A12
|
||||
|
||||
### Room settings
|
||||
|
||||
TBD
|
||||
|
||||
### VoIP
|
||||
|
||||
https://www.figma.com/file/V6m2z0oAtUV1l8MdyIrAep/VoIP?node-id=4254%3A25767
|
||||
|
||||
### Presence
|
||||
|
||||
https://www.figma.com/file/qmvEskET5JWva8jZJ4jX8o/Presence---User-Status?node-id=114%3A9174
|
||||
(Option B is chosen)
|
||||
|
||||
### Spaces
|
||||
|
||||
https://www.figma.com/file/m7L63aGPW7iHnIYStfdxCe/Spaces?node-id=192%3A30161
|
||||
|
||||
### List to be continued...
|
33
docs/hilt_migration.md
Normal file
33
docs/hilt_migration.md
Normal file
@@ -0,0 +1,33 @@
|
||||
Useful links:
|
||||
- https://dagger.dev/hilt/migration-guide
|
||||
- https://dagger.dev/hilt/quick-start
|
||||
|
||||
Hilt is built on top of Dagger 2 and simplify usage by removing needs to create components manually.
|
||||
|
||||
When you create a new feature, you should have the following:
|
||||
|
||||
Annotate your Activity with @AndroidEntryPoint
|
||||
If you have a BottomSheetFragment => Annotate it with @AndroidEntryPoint
|
||||
Otherwise => Add your Fragment to the FragmentModule
|
||||
Add your ViewModel.Factory to the MavericksViewModelModule
|
||||
Makes sure your ViewModel as the following code:
|
||||
|
||||
```
|
||||
@AssistedFactory
|
||||
interface Factory: MavericksAssistedViewModelFactory<MyViewModel, MyViewState> {
|
||||
override fun create(initialState: MyViewState): MyViewModel
|
||||
}
|
||||
|
||||
companion object : MavericksViewModelFactory<MyViewModel, MyViewState> by hiltMavericksViewModelFactory()
|
||||
```
|
||||
|
||||
## Some remarks
|
||||
|
||||
@MavericksViewModelScope dependencies can't be injected inside Fragments/Activities
|
||||
You can only inject @Singleton, @MavericksViewModelScope or unscoped dependencies inside Maverick ViewModels
|
||||
You can access some specific dependencies from Singleton component by using
|
||||
```
|
||||
context.singletonEntryPoint()
|
||||
```
|
||||
Be aware that only the app has been migrated to Hilt and not the SDK.
|
||||
|
@@ -18,7 +18,7 @@ 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`.
|
||||
|
||||
Currently we are building the version with the tag `android-sdk-3.1.0`.
|
||||
Currently we are building the version with the tag `android-sdk-3.10.0`.
|
||||
|
||||
### Run the build script
|
||||
|
||||
@@ -35,7 +35,7 @@ It will build the Jitsi Meet Android library and put every generated files in th
|
||||
- Update the file `./build.gradle` to use the previously created local Maven repository. Currently we have this line:
|
||||
|
||||
```groovy
|
||||
url "https://github.com/vector-im/jitsi_libre_maven/raw/master/android-sdk-3.1.0"
|
||||
url "https://github.com/vector-im/jitsi_libre_maven/raw/master/android-sdk-3.10.0"
|
||||
```
|
||||
|
||||
You can uncomment and update the line starting with `// url "file://...` and comment the line starting with `url`, to test the library using the locally generated Maven repository.
|
||||
@@ -43,13 +43,13 @@ You can uncomment and update the line starting with `// url "file://...` and com
|
||||
- Update the dependency of the Jitsi Meet library in the file `./vector/build.gradle`. Currently we have this line:
|
||||
|
||||
```groovy
|
||||
implementation('org.jitsi.react:jitsi-meet-sdk:3.1.0')
|
||||
implementation('org.jitsi.react:jitsi-meet-sdk:3.10.0')
|
||||
```
|
||||
|
||||
- Update the dependency of the WebRTC library in the file `./vector/build.gradle`. Currently we have this line:
|
||||
|
||||
```groovy
|
||||
implementation('com.facebook.react:react-native-webrtc:1.87.3-jitsi-6624067@aar')
|
||||
implementation('com.facebook.react:react-native-webrtc:1.92.1-jitsi-9093212@aar')
|
||||
```
|
||||
|
||||
- Perform a gradle sync and build the project
|
||||
@@ -74,7 +74,7 @@ If all the tests are passed, you can export the generated Jitsi library to our M
|
||||
- Update the file `./build.gradle` to use the previously created Maven repository. Currently we have this line:
|
||||
|
||||
```groovy
|
||||
url "https://github.com/vector-im/jitsi_libre_maven/raw/master/android-sdk-3.1.0"
|
||||
url "https://github.com/vector-im/jitsi_libre_maven/raw/master/android-sdk-3.10.0"
|
||||
```
|
||||
|
||||
- Build the project and perform the sanity tests again.
|
||||
|
11
docs/mavericks_migration.md
Normal file
11
docs/mavericks_migration.md
Normal file
@@ -0,0 +1,11 @@
|
||||
Useful links:
|
||||
- https://airbnb.io/mavericks/#/new-2x
|
||||
|
||||
Mavericks 2 is replacing MvRx, by removing usage of Rx by Flow, both internally and in the API.
|
||||
See the link ^ to have more intel, but basically, the changes are:
|
||||
|
||||
session.rx() => session.flow()
|
||||
room.rx() => room.flow()
|
||||
subscribe { }.disposeOnClear() => onEach { }.launchIn(viewModelScope)
|
||||
|
||||
Only using manually onEach requires to add launchIn,any other methods provided by Mavericks on viewModel and activity/fragment are already taking care of lifecycle.
|
41
docs/rx_flow_migration.md
Normal file
41
docs/rx_flow_migration.md
Normal file
@@ -0,0 +1,41 @@
|
||||
Useful links:
|
||||
- https://github.com/ReactiveCircus/FlowBinding
|
||||
- https://ivanisidrowu.github.io/kotlin/2020/08/09/Kotlin-Flow-Migration-And-Testing.html
|
||||
|
||||
|
||||
Rx is now completely removed from Element dependencies.
|
||||
Some examples of the changes:
|
||||
|
||||
```
|
||||
sharedActionViewModel
|
||||
.observe()
|
||||
.subscribe { handleQuickActions(it) }
|
||||
.disposeOnDestroyView()
|
||||
```
|
||||
|
||||
became
|
||||
|
||||
```
|
||||
sharedActionViewModel
|
||||
.stream()
|
||||
.onEach { handleQuickActions(it) }
|
||||
.launchIn(viewLifecycleOwner.lifecycleScope)
|
||||
|
||||
```
|
||||
|
||||
Inside fragment use
|
||||
```
|
||||
launchIn(viewLifecycleOwner.lifecycleScope)
|
||||
```
|
||||
Inside activity use
|
||||
```
|
||||
launchIn(lifecycleScope)
|
||||
```
|
||||
Inside viewModel use
|
||||
```
|
||||
launchIn(viewModelScope)
|
||||
```
|
||||
|
||||
Also be aware that when using these scopes the coroutine is launched on Dispatchers.Main by default.
|
||||
|
||||
|
@@ -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).
|
||||
|
@@ -1,2 +1,2 @@
|
||||
Hlavní změny v této verzi: implementace hlasových zpráv dosupných v rámci laboratoře.
|
||||
Hlavní změny v této verzi: implementace hlasových zpráv dosupných v experimentálních funkcích.
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.1.15
|
||||
|
2
fastlane/metadata/android/cs-CZ/changelogs/40102010.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40102010.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: Mnohá vylepšení VoIP a prostorů (stále v beta verzi).
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.2.1
|
2
fastlane/metadata/android/cs-CZ/changelogs/40103000.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40103000.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: Uspořádejte si místnosti pomocí Prostorů!
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.3.0
|
2
fastlane/metadata/android/cs-CZ/changelogs/40103010.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40103010.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: Uspořádejte si místnosti pomocí Prostorů! Verze 1.3.1 opravuje pády, ke kterým může docházet ve verzi v1.3.0.
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.3.1
|
2
fastlane/metadata/android/cs-CZ/changelogs/40103020.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40103020.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: Přidání podpory pro Android Auto. Spousta oprav chyb!
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.3.2
|
2
fastlane/metadata/android/cs-CZ/changelogs/40103030.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40103030.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: Umožňuje v nastavení zviditelnit zásady serveru identit. Dočasně odstraňuje podporu pro Android Auto.
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.3.3
|
2
fastlane/metadata/android/cs-CZ/changelogs/40103040.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40103040.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: Přidání podpory přítomnosti pro místnost s přímými zprávami (poznámka: přítomnost je na matrix.org zakázána). Opět přidána podpora Android Auto.
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.3.4
|
2
fastlane/metadata/android/cs-CZ/changelogs/40103050.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40103050.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: Přidání podpory přítomnosti pro místnost s přímými zprávami (poznámka: přítomnost je na matrix.org zakázána). Opět přidána podpora Android Auto.
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.3.5
|
2
fastlane/metadata/android/cs-CZ/changelogs/40103060.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40103060.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: Přidání podpory přítomnosti pro místnost s přímými zprávami (poznámka: přítomnost je na matrix.org zakázána). Opět přidána podpora Android Auto.
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.3.6
|
2
fastlane/metadata/android/cs-CZ/changelogs/40103070.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40103070.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: Opravy chyb týkající se především oznámení.
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.3.7-RC2
|
2
fastlane/metadata/android/cs-CZ/changelogs/40103080.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40103080.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: Opravy chyb!
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.3.8
|
2
fastlane/metadata/android/cs-CZ/changelogs/40103090.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40103090.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: Přidání podpory pro návrh hlasové zprávy. Opravy mnoha chyb!
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.3.9
|
2
fastlane/metadata/android/cs-CZ/changelogs/40103100.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40103100.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: Přidání podpory pro hlasování (v experimentálních funkcích). Nový design náhledu URL.
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.3.10
|
2
fastlane/metadata/android/cs-CZ/changelogs/40103110.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40103110.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: Opravy chyb!
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.3.11
|
2
fastlane/metadata/android/cs-CZ/changelogs/40103120.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/40103120.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hlavní změny v této verzi: Opravy chyb!
|
||||
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.3.12
|
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
|
@@ -37,3 +37,6 @@ Zprávy, hlasové a videohovory, sdílení souborů, sdílení obrazovky a celá
|
||||
|
||||
<b>Navažte tam, kde jste skončili</b>
|
||||
Zůstaňte v kontaktu, ať jste kdekoli, díky plně synchronizované historii zpráv ve všech zařízeních a na webu https://app.element.io
|
||||
|
||||
<b>Open source</b>
|
||||
Element Android je projekt s otevřeným zdrojovým kódem, který je hostován na GitHubu. Nahlaste prosím chyby a přispějte k jeho vývoji na adrese https://github.com/vector-im/element-android
|
||||
|
2
fastlane/metadata/android/de-DE/changelogs/40102000.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40102000.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hauptänderungen: Sprachnachrichten standardmäßig aktiviert.
|
||||
Ganze Änderungsliste: https://github.com/vector-im/element-android/releases/tag/v1.2.0
|
2
fastlane/metadata/android/de-DE/changelogs/40102010.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40102010.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
VoIP und Spaces verbessert
|
||||
Vollständige Änderungsliste: https://github.com/vector-im/element-android/releases/tag/v1.2.1
|
2
fastlane/metadata/android/de-DE/changelogs/40103000.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40103000.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hauptänderungen: Organisiere deine Räume mit Spaces!
|
||||
Alle Änderungen: https://github.com/vector-im/element-android/releases/tag/v1.3.0
|
2
fastlane/metadata/android/de-DE/changelogs/40103010.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40103010.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hauptänderungen: Organisiere deine Räume mit Spaces, Crash aus 1.3.0 gefixt.
|
||||
Alle Änderungen: https://github.com/vector-im/element-android/releases/tag/v1.3.1
|
2
fastlane/metadata/android/de-DE/changelogs/40103020.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40103020.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hauptänderungen: Unterstützung für Android Auto, Viele Fehlerbehebungen
|
||||
Alle Änderungen: https://github.com/vector-im/element-android/releases/tag/v1.3.2
|
2
fastlane/metadata/android/de-DE/changelogs/40103030.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40103030.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hauptänderungen: Bedingungen des Identitätsservers in Einstellungen anzeigen. Unterstützung für Android Auto temporär entfernt.
|
||||
Alle Änderungen: https://github.com/vector-im/element-android/releases/tag/v1.3.3
|
4
fastlane/metadata/android/de-DE/changelogs/40103040.txt
Normal file
4
fastlane/metadata/android/de-DE/changelogs/40103040.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
Hauptänderungen:
|
||||
- Anwesenheiten in Direktnachrichten anzeigen (Momentan auf Matrix.org deaktiviert)
|
||||
- Android Auto wird wieder unterstützt
|
||||
Alle Änderungen: https://github.com/vector-im/element-android/releases/tag/v1.3.4
|
2
fastlane/metadata/android/de-DE/changelogs/40103050.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40103050.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Änderungen in dieser Version: Unterstützung für Anwesenheitsstatus in Direktnachrichten (Momentan auf matrix.org deaktiviert), Android Auto funktioniert wieder.
|
||||
Änderungsliste: https://github.com/vector-im/element-android/releases/tag/v1.3.5
|
2
fastlane/metadata/android/de-DE/changelogs/40103060.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40103060.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Änderungen in dieser Version: Unterstützung für Anwesenheitsstatus in Direktnachrichten (Momentan auf matrix.org deaktiviert), Android Auto funktioniert wieder.
|
||||
Änderungsliste: https://github.com/vector-im/element-android/releases/tag/v1.3.6
|
2
fastlane/metadata/android/de-DE/changelogs/40103070.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40103070.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hauptänderungen: Fehler bei Benachrichtigungen gefixt
|
||||
Ganze Änderungsliste: https://github.com/vector-im/element-android/releases/tag/v1.3.7-RC2
|
2
fastlane/metadata/android/de-DE/changelogs/40103080.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40103080.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Änderungen: Verschiedene Fehler behoben
|
||||
Änderungsliste: https://github.com/vector-im/element-android/releases/tag/v1.3.8
|
2
fastlane/metadata/android/de-DE/changelogs/40103090.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/40103090.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Hauptänderungen: Verbesserungen bei Sprachnachrichten, Bugfixes.
|
||||
Änderungsliste: https://github.com/vector-im/element-android/releases/tag/v1.3.9
|
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
|
@@ -37,3 +37,6 @@ Kurznachrichten, Sprach- und Videoanrufe, Dateifreigaben, Bildschirmübertragung
|
||||
|
||||
<b>Da Weitermachen, wo Sie aufgehört haben</b>
|
||||
Bleiben Sie in Kontakt, egal wo Sie sind, mit vollständig synchronisiertem Nachrichtenverlauf quer über all Ihre Geräte und im Netz auf https://app.element.io
|
||||
|
||||
<b>Open source</b>
|
||||
Element ist ein Open-Source-Projekt und wird auf GitHub gehostet. Solltest du Fehler in Element finden, melde diese bitte hier: https://github.com/vector-im/element-android
|
||||
|
2
fastlane/metadata/android/en-US/changelogs/40103000.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103000.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Main changes in this version: Organize your rooms using Spaces!
|
||||
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.0
|
2
fastlane/metadata/android/en-US/changelogs/40103010.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103010.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Main changes in this version: Organize your rooms using Spaces! v1.3.1 is fixing a crash which can occurs in v1.3.0.
|
||||
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.1
|
2
fastlane/metadata/android/en-US/changelogs/40103020.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103020.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Main changes in this version: Add support for Android Auto. Lot of bug fixes!
|
||||
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.2
|
2
fastlane/metadata/android/en-US/changelogs/40103030.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103030.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Main changes in this version: Make identity server policy(ies) visible in the settings. Temporarily remove Android Auto support.
|
||||
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.3
|
2
fastlane/metadata/android/en-US/changelogs/40103040.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103040.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Main changes in this version: Add Presence support, for Direct Message room (note: presence is disabled on matrix.org). Add again Android Auto support.
|
||||
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.4
|
2
fastlane/metadata/android/en-US/changelogs/40103050.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103050.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Main changes in this version: Add Presence support, for Direct Message room (note: presence is disabled on matrix.org). Add again Android Auto support.
|
||||
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.5
|
2
fastlane/metadata/android/en-US/changelogs/40103060.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103060.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Main changes in this version: Add Presence support, for Direct Message room (note: presence is disabled on matrix.org). Add again Android Auto support.
|
||||
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.6
|
2
fastlane/metadata/android/en-US/changelogs/40103070.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103070.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Main changes in this version: Bug fixes mainly regarding the notifications.
|
||||
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.7-RC2
|
2
fastlane/metadata/android/en-US/changelogs/40103080.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103080.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Main changes in this version: Bug fixes!
|
||||
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.8
|
2
fastlane/metadata/android/en-US/changelogs/40103090.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103090.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Main changes in this version: Add support for voice message draft. Many bugfixes!
|
||||
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.9
|
2
fastlane/metadata/android/en-US/changelogs/40103100.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103100.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Main changes in this version: Add support for polls (in labs). New URL preview design.
|
||||
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.10
|
2
fastlane/metadata/android/en-US/changelogs/40103110.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103110.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Main changes in this version: Bug fixes!
|
||||
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.11
|
2
fastlane/metadata/android/en-US/changelogs/40103120.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103120.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Main changes in this version: Bug fixes!
|
||||
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.12
|
2
fastlane/metadata/android/en-US/changelogs/40103130.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/40103130.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.13
|
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
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user