Compare commits
1800 Commits
android-v3
...
v3.4.1
Author | SHA1 | Date | |
---|---|---|---|
|
24df674726 | ||
|
3faa95a066 | ||
|
60e27924ae | ||
|
d5830dd3a1 | ||
|
a4dacd65e6 | ||
|
cbf6d5506f | ||
|
80696fe324 | ||
|
1780a530c9 | ||
|
dc786e8178 | ||
|
e65fbecef0 | ||
|
5b2f409254 | ||
|
50c5139fa6 | ||
|
465defb194 | ||
|
12c688eb83 | ||
|
1a6059072a | ||
|
e2ef406aa2 | ||
|
dca28f8c2a | ||
|
a8ea71c349 | ||
|
b13e7c1a3f | ||
|
ffd9c8e0a0 | ||
|
a4b0d149bc | ||
|
c2b7228170 | ||
|
11c8f1e111 | ||
|
a1f37dc414 | ||
|
e4a20f505d | ||
|
dfa7ed0a5c | ||
|
f8bf799f00 | ||
|
c70faf50f7 | ||
|
b6043489a0 | ||
|
37270479e2 | ||
|
318ca3de5f | ||
|
1f57a94225 | ||
|
cce2f66f01 | ||
|
277935b8b1 | ||
|
981759691d | ||
|
370f6bd70e | ||
|
067ce65532 | ||
|
302577ed43 | ||
|
5356a8ae36 | ||
|
4d790b6ffe | ||
|
b6d8dcee8d | ||
|
e5b2e22479 | ||
|
6e98a8ac2d | ||
|
6b60a88dcb | ||
|
765cde10fb | ||
|
8f97bb6ddf | ||
|
073984b9ef | ||
|
5e5a77786c | ||
|
7fa3a223b2 | ||
|
5c965d4b95 | ||
|
cc3da4fd09 | ||
|
34528d146f | ||
|
9c76560642 | ||
|
3cb621eb60 | ||
|
d9ba532889 | ||
|
5aca4bc72e | ||
|
54e7499aa2 | ||
|
941b70471f | ||
|
3f364a4a9b | ||
|
ae47667644 | ||
|
b191b1daf7 | ||
|
0e3b9fd929 | ||
|
5d0fa754ae | ||
|
70d76fa00f | ||
|
d72224a6b9 | ||
|
687516e695 | ||
|
3055873406 | ||
|
e58e419c1b | ||
|
ebd55cc505 | ||
|
712f4034f2 | ||
|
601774c611 | ||
|
7a810380fd | ||
|
52d71756a7 | ||
|
a6b430a066 | ||
|
5a97ce74bc | ||
|
e58e03c3d2 | ||
|
511645b1a5 | ||
|
b9ffc7ccec | ||
|
b585b8b75c | ||
|
f7d1dbde8f | ||
|
6009f1dd60 | ||
|
e50086134f | ||
|
25c66e2d00 | ||
|
6d89725c7a | ||
|
dfdabfc0da | ||
|
2059e96227 | ||
|
40e4afbc78 | ||
|
76a22c31cb | ||
|
175628b597 | ||
|
e7584644b5 | ||
|
13a572efa9 | ||
|
d85394681d | ||
|
c785388c51 | ||
|
27be923fe6 | ||
|
a7bfa21cd0 | ||
|
e9fe944744 | ||
|
b93a125f95 | ||
|
262c343f21 | ||
|
8aa37905f9 | ||
|
2a5b227bf0 | ||
|
7223e9b87e | ||
|
82d9099ec0 | ||
|
c46502825d | ||
|
58688624fc | ||
|
355356dccc | ||
|
d4d12c0faa | ||
|
f8f8db36b6 | ||
|
a8e30c5b54 | ||
|
ffd775a8f8 | ||
|
8d421d907e | ||
|
3206b1a792 | ||
|
37137f3867 | ||
|
e08fd0ea53 | ||
|
6265be924a | ||
|
079c4638fe | ||
|
6aba57f2f1 | ||
|
f083ffa73c | ||
|
40fd0db14e | ||
|
6379023165 | ||
|
66f6310c17 | ||
|
d6409b7826 | ||
|
1f68c5dcae | ||
|
bfe003a6c4 | ||
|
ddc75ecc13 | ||
|
e953290810 | ||
|
807bcdcf95 | ||
|
6bb289338e | ||
|
5f0e4bb598 | ||
|
84d97e4120 | ||
|
a9efdad059 | ||
|
388e5efe17 | ||
|
dfa340a137 | ||
|
cf626bee76 | ||
|
0fe97a1098 | ||
|
7c6c9b3e61 | ||
|
987c273376 | ||
|
0da05737c6 | ||
|
f71ffa1644 | ||
|
92a546a315 | ||
|
22ffa69382 | ||
|
e1a436f6f9 | ||
|
b3823025cf | ||
|
eccb8350fe | ||
|
66203bda56 | ||
|
0759fe0530 | ||
|
6d3c3a80ab | ||
|
a18bcac673 | ||
|
b3a3690b16 | ||
|
c3fe0edeeb | ||
|
56e2d3da89 | ||
|
3ffcf065fc | ||
|
9dd82259c6 | ||
|
2dbdf47239 | ||
|
2014fbf480 | ||
|
e847b1b902 | ||
|
26276efc03 | ||
|
4226044527 | ||
|
5ba6ac57d0 | ||
|
0058ac5f4b | ||
|
81f5a8463e | ||
|
9871717de4 | ||
|
62ca6cb70b | ||
|
bd49f3b280 | ||
|
cb3c9b4607 | ||
|
4e74ca93a3 | ||
|
5389e59057 | ||
|
3d15e64762 | ||
|
a8b18e9ab0 | ||
|
5876d57845 | ||
|
90f622b3e6 | ||
|
fd486e298a | ||
|
527627b8bb | ||
|
9638cab9ea | ||
|
5ad891e1f3 | ||
|
f8445a04e5 | ||
|
fc92a6ea63 | ||
|
418a2c17a5 | ||
|
c3cc412077 | ||
|
600000a59a | ||
|
a3be7b5222 | ||
|
52ffd46a6a | ||
|
587db433a8 | ||
|
5fb9d216fc | ||
|
bb50ad7c28 | ||
|
7a6a4e118a | ||
|
b7a652fb71 | ||
|
821558fe30 | ||
|
5280ec12cd | ||
|
a29e30e442 | ||
|
fe88703488 | ||
|
338dabf5da | ||
|
59447f4c45 | ||
|
04196e4485 | ||
|
d4fafd74d2 | ||
|
f185480ceb | ||
|
4da0abfef9 | ||
|
2e73ea2d9f | ||
|
8ac19d80ea | ||
|
911689a4ac | ||
|
5c73bda416 | ||
|
c94dbece42 | ||
|
e49e314bdb | ||
|
83452dd4c3 | ||
|
675e3125e4 | ||
|
da0a7faf12 | ||
|
9be533a19e | ||
|
050871bc65 | ||
|
8d6d7ca6d2 | ||
|
032f512cde | ||
|
b8c88af82d | ||
|
962128faa3 | ||
|
e17ef72111 | ||
|
287e0da4b4 | ||
|
471f5a72fe | ||
|
1e5c41dc48 | ||
|
716e5252c1 | ||
|
f10fd4b2da | ||
|
ff4d18dec3 | ||
|
020cd914af | ||
|
8dcfc81cee | ||
|
77048caeeb | ||
|
3438c58ec4 | ||
|
e74d5e7c23 | ||
|
c921976e9d | ||
|
c8a2802181 | ||
|
0f08688ce8 | ||
|
f5f7b1eb60 | ||
|
9d73e583b9 | ||
|
611e8df81a | ||
|
b0c9c4c8ce | ||
|
dad0b9448f | ||
|
c524f5a6b5 | ||
|
ee2b186752 | ||
|
76a3250707 | ||
|
e8144f9ee2 | ||
|
47f6b1ce33 | ||
|
f0121e7799 | ||
|
0acb14d0bf | ||
|
18ebd16428 | ||
|
6bc1965ec0 | ||
|
1fed875140 | ||
|
98fe57e87a | ||
|
5bcb2531f4 | ||
|
f6d69ef702 | ||
|
1f05a3212f | ||
|
ff0321e906 | ||
|
6b881b226e | ||
|
6a26ec8105 | ||
|
5966402d8b | ||
|
5198b598bb | ||
|
0a4c97c631 | ||
|
0bc62aa05e | ||
|
44d1e9e3ca | ||
|
0cef6cc611 | ||
|
3e5acfbc09 | ||
|
fe20ab11a1 | ||
|
675f55d152 | ||
|
b1edb84b49 | ||
|
ece7a4ccf0 | ||
|
cfd98d2723 | ||
|
2a17301a9f | ||
|
e3762dc3f8 | ||
|
0959a19d65 | ||
|
93219575b4 | ||
|
baaeea1307 | ||
|
de6c5d448f | ||
|
cc2cf5f521 | ||
|
ef513862a9 | ||
|
d07f3b5f16 | ||
|
a6079869bc | ||
|
2fdbb22481 | ||
|
c5bb88ddf4 | ||
|
5d7c78c361 | ||
|
808eb7d49a | ||
|
2142373fff | ||
|
20f7f37b49 | ||
|
04fc634092 | ||
|
d40c9d3ff9 | ||
|
224b4f619a | ||
|
88d1d4b7d1 | ||
|
6a22ffbcb1 | ||
|
d735cf64e0 | ||
|
d7d6fd5ccd | ||
|
23254e6ffd | ||
|
eb8bfd5aec | ||
|
cb5ffd968d | ||
|
7b2b3a4f80 | ||
|
cbfe109c41 | ||
|
c8b01d11d6 | ||
|
b042395fd1 | ||
|
ba5ad18093 | ||
|
ff15232a10 | ||
|
5a6e72197a | ||
|
de555b6871 | ||
|
9a2548a5e3 | ||
|
107996289f | ||
|
c3c0101555 | ||
|
45ee02036f | ||
|
64f3dae8cc | ||
|
0909479b7f | ||
|
a39b51cc97 | ||
|
10bb8ef1a9 | ||
|
60ba22b233 | ||
|
1bfd997be2 | ||
|
81e4a7fb74 | ||
|
360568d325 | ||
|
1aa0f11670 | ||
|
0430ccb3e7 | ||
|
c0d6c1eb0b | ||
|
215f09d73c | ||
|
1f192696de | ||
|
ab86b95fad | ||
|
0f07c0f53a | ||
|
a6d04c4781 | ||
|
bc27f47881 | ||
|
f381c91783 | ||
|
d1d75449f5 | ||
|
79dc12ae0a | ||
|
bbea5388ed | ||
|
99e773855e | ||
|
55b73347e5 | ||
|
7e8dee4906 | ||
|
69fb1ab104 | ||
|
67ae0ea2d1 | ||
|
cdb61b922b | ||
|
da80443796 | ||
|
1924dd31d2 | ||
|
b831d8c068 | ||
|
9a697a0e34 | ||
|
4ad1b49769 | ||
|
0d6c1067e3 | ||
|
0bdc38a6be | ||
|
7735fc9759 | ||
|
5c35569b5b | ||
|
5f02af9724 | ||
|
975f16d21c | ||
|
54428f5034 | ||
|
06359834d6 | ||
|
0cc0fec8c3 | ||
|
68ab5dcda5 | ||
|
65544123e6 | ||
|
cfbded00e2 | ||
|
a898e17b4c | ||
|
d12e2d9a81 | ||
|
7025321d76 | ||
|
6c890121b9 | ||
|
9c4be00745 | ||
|
7f51712311 | ||
|
502c929c88 | ||
|
1abf9e9602 | ||
|
8bdb6c5d72 | ||
|
9cbd1b855c | ||
|
ae8658554f | ||
|
bc385d59e9 | ||
|
00ccd994e3 | ||
|
e6ef0d45c6 | ||
|
ebe9c38f9e | ||
|
ccebb9696e | ||
|
9251299289 | ||
|
fe67a44285 | ||
|
50a1b184fd | ||
|
3caa718132 | ||
|
d0e16c0878 | ||
|
4fcb250c27 | ||
|
86e59ad621 | ||
|
12baa9827d | ||
|
95c50ada7c | ||
|
55a57f7baf | ||
|
69b24b4437 | ||
|
5143fae0f6 | ||
|
01a62acfdf | ||
|
c663742689 | ||
|
16ba072436 | ||
|
5a81e2ce84 | ||
|
8e407dd003 | ||
|
0c405951ed | ||
|
4b411e600c | ||
|
bf58a52394 | ||
|
36d3736bff | ||
|
4df0b9f851 | ||
|
914b5e230d | ||
|
9278fd7910 | ||
|
2180ad1d9b | ||
|
d301cdf992 | ||
|
200d3c84e0 | ||
|
6cadaa2137 | ||
|
8221081514 | ||
|
dd06b1e680 | ||
|
70e0ae0c2c | ||
|
7aeec923e3 | ||
|
6118c572ac | ||
|
70d64225c8 | ||
|
ad0ecc2320 | ||
|
8a28edcda8 | ||
|
c8640aa7f8 | ||
|
ddf75d6c52 | ||
|
0a42317e07 | ||
|
51ce1b06fe | ||
|
fd8393b2f9 | ||
|
44c735afac | ||
|
c6154cfb4e | ||
|
d2aad1d6c7 | ||
|
3e81cc8585 | ||
|
abc5c062c3 | ||
|
316ef9d960 | ||
|
b870f8344c | ||
|
6f6683d15d | ||
|
da59aef95b | ||
|
c55979cd03 | ||
|
15edc9fec7 | ||
|
07f4217f17 | ||
|
8a7071179d | ||
|
2c9a12307e | ||
|
dd3864fa47 | ||
|
43c1c5849b | ||
|
5e08ff0621 | ||
|
35053f2996 | ||
|
45838c0223 | ||
|
91ac4f8526 | ||
|
3603350287 | ||
|
8bd4770f33 | ||
|
bcde346ebe | ||
|
9803d7985d | ||
|
30f6b3ecb2 | ||
|
0b287d1113 | ||
|
be18655ceb | ||
|
be43ff42c9 | ||
|
1230e1b30c | ||
|
f5d168b16a | ||
|
7055d3db18 | ||
|
18a9c3f841 | ||
|
a4ab197c42 | ||
|
2b5881a103 | ||
|
e9dee4cd99 | ||
|
dd948f5c95 | ||
|
798e1b8f4f | ||
|
b3f69794b1 | ||
|
f25e1a5e80 | ||
|
17e463b6bc | ||
|
786e55c972 | ||
|
cd9155514c | ||
|
3e9e669642 | ||
|
e36a30eb1a | ||
|
1975ebd438 | ||
|
94bff77313 | ||
|
6e3258a5d8 | ||
|
c55c8d62ec | ||
|
c7031568a8 | ||
|
c2c72215b9 | ||
|
cc09f92d3b | ||
|
8312196faa | ||
|
a16a66c37b | ||
|
a8210225a0 | ||
|
cd50454664 | ||
|
986163721d | ||
|
e41dcb9bc9 | ||
|
f90e642f43 | ||
|
67d1dd36be | ||
|
2cba693905 | ||
|
a226ede5d7 | ||
|
7994c0bc79 | ||
|
d589891a86 | ||
|
fe6c949cc1 | ||
|
4e677d2baf | ||
|
25aab57af5 | ||
|
db81064c98 | ||
|
9b82578253 | ||
|
bb513c83ac | ||
|
662185816d | ||
|
cc1582d535 | ||
|
aa6348a127 | ||
|
68f4b8ed0c | ||
|
98540493e0 | ||
|
762daa5a68 | ||
|
827233605e | ||
|
31b13defb6 | ||
|
8611391d01 | ||
|
5a3d57e39a | ||
|
e22ccd6edf | ||
|
8aec0ae445 | ||
|
24a2f5452c | ||
|
d6f1ca4ba4 | ||
|
2a058ed809 | ||
|
4af459c762 | ||
|
877123bda7 | ||
|
d621e631f7 | ||
|
64d1da9773 | ||
|
2643bb9b32 | ||
|
5c737b3ccd | ||
|
23f75f8784 | ||
|
60b2f69620 | ||
|
6ad97a01a8 | ||
|
1d00b7a68e | ||
|
d0b783c595 | ||
|
9c446b03da | ||
|
0603c56446 | ||
|
4223864302 | ||
|
0ddf5732a8 | ||
|
a5ffc11831 | ||
|
157ad2c0cd | ||
|
0ac710ecf9 | ||
|
d3046582e1 | ||
|
3e05b8daa0 | ||
|
41cb16f5c5 | ||
|
9642640cda | ||
|
dab2438df0 | ||
|
dc7871b655 | ||
|
ff465767ab | ||
|
c58aac9387 | ||
|
29e55b8231 | ||
|
dc10ff6215 | ||
|
e8e3ef36ed | ||
|
e1b41cff5f | ||
|
5782ee6ba1 | ||
|
cbf81d1257 | ||
|
c357b77a48 | ||
|
64c14fe76f | ||
|
b2c1d7a2ba | ||
|
dbd4cffef3 | ||
|
d190463325 | ||
|
2c1aa5d620 | ||
|
52d255352a | ||
|
76274033db | ||
|
92abfac3af | ||
|
c6956df1c9 | ||
|
0bd1e202a2 | ||
|
f602ad8a63 | ||
|
6a1b498e96 | ||
|
ca64451503 | ||
|
519f3f5898 | ||
|
907b1e969e | ||
|
216b750a90 | ||
|
219d5bcae3 | ||
|
b59774a763 | ||
|
0494719e4f | ||
|
0e1b81685a | ||
|
c157cd0cb3 | ||
|
5c711df2e4 | ||
|
e520a695a6 | ||
|
5ee8a9a454 | ||
|
6b73879512 | ||
|
f08235f05c | ||
|
a4b1b9a2bf | ||
|
fc8ea6df0b | ||
|
2fba101333 | ||
|
35a0b22df2 | ||
|
e177bffb1c | ||
|
f95ca578c2 | ||
|
4bed47a1af | ||
|
543ece86b0 | ||
|
5a0b0e6314 | ||
|
f119212068 | ||
|
cd12de78d6 | ||
|
6aa2c5f116 | ||
|
e287e5cbab | ||
|
d70a5b25a0 | ||
|
d2df7e6feb | ||
|
e9ee8c8419 | ||
|
8d2ae7e20e | ||
|
50d5843344 | ||
|
1fdc327977 | ||
|
c18ab5a7fb | ||
|
11216902d0 | ||
|
950ffef84d | ||
|
86e6445526 | ||
|
ab286b6da3 | ||
|
8c24928cf4 | ||
|
3952060dac | ||
|
877f39bb0e | ||
|
652812a15c | ||
|
597f3188bd | ||
|
d7d50f4373 | ||
|
83db585c0b | ||
|
d817ddd5c6 | ||
|
98fce34fe9 | ||
|
a81af0711c | ||
|
72575e3c6f | ||
|
e8f305dea5 | ||
|
44f98d6282 | ||
|
e1e2ba8888 | ||
|
633d87ebfe | ||
|
a9e1be944f | ||
|
6048f9613c | ||
|
0a76494555 | ||
|
edbb6137ea | ||
|
4d216ef907 | ||
|
2f71c40ceb | ||
|
d3ea6fbe1d | ||
|
d45864888a | ||
|
0e92ab654a | ||
|
9e5c0ef3ce | ||
|
431cc15a51 | ||
|
82118810d9 | ||
|
bacaf800f2 | ||
|
4d827afccb | ||
|
e70efcbd60 | ||
|
ac154ee1e8 | ||
|
6220267abb | ||
|
1cdb74b0e2 | ||
|
43f2d78663 | ||
|
7694ec5da4 | ||
|
533f8f47ce | ||
|
3ae834e508 | ||
|
8e547219b8 | ||
|
f380983c96 | ||
|
8990dec4bd | ||
|
8b0cc64aad | ||
|
1bc6655d43 | ||
|
70756760f5 | ||
|
438bf29e5f | ||
|
0a1f960919 | ||
|
2b43a9a4d6 | ||
|
5bc7304c63 | ||
|
abe6c1791b | ||
|
2478ddbfa9 | ||
|
efec21156b | ||
|
467500dbf8 | ||
|
4151e07ee0 | ||
|
d131f67d3f | ||
|
40914beb9b | ||
|
85747317ee | ||
|
c40e6ae8ee | ||
|
537205ecb2 | ||
|
91a1353ef3 | ||
|
9f4a80cf89 | ||
|
d9df2dc03a | ||
|
28ff17a078 | ||
|
3cba4ec82c | ||
|
482c9e9aab | ||
|
c197d89ddc | ||
|
9b50539591 | ||
|
a4be89144e | ||
|
5f2f3ed9d8 | ||
|
5078341c15 | ||
|
1b3ebf4fb0 | ||
|
9e80e2e072 | ||
|
2da789aaa4 | ||
|
ac28d31cce | ||
|
b147cc6235 | ||
|
6dc1bc7870 | ||
|
b3e84b699d | ||
|
c3a734c980 | ||
|
51d5d58cec | ||
|
bcd10e380b | ||
|
df3924f71f | ||
|
2399e56602 | ||
|
3983a3a52f | ||
|
dc96811940 | ||
|
dbc8e39d5e | ||
|
5a30528131 | ||
|
9338c5c810 | ||
|
0a5bc9647d | ||
|
09413606cf | ||
|
1fa327f034 | ||
|
7863118565 | ||
|
955d39bf2e | ||
|
979753d8a7 | ||
|
c7e3a31ed8 | ||
|
dc445579da | ||
|
815b922988 | ||
|
81f3a02dba | ||
|
154b78f7ce | ||
|
d946c4bdc9 | ||
|
421edb6691 | ||
|
30dbacc1a1 | ||
|
61b95c3afb | ||
|
a453617743 | ||
|
30f64b1dfb | ||
|
6f0d3595b9 | ||
|
a35f0296c1 | ||
|
a5e3083bfd | ||
|
dd9d5e3cfb | ||
|
a62ae2b895 | ||
|
01621d4f56 | ||
|
7cd9f82f8c | ||
|
388d124d91 | ||
|
d1ea90cd5c | ||
|
8ca8295cc5 | ||
|
84d577720a | ||
|
363b829db7 | ||
|
82b021245c | ||
|
3db862f870 | ||
|
c219bf710d | ||
|
7575abbf54 | ||
|
189ba7795a | ||
|
91354e5c52 | ||
|
f0aa9949a2 | ||
|
0fa14bcb19 | ||
|
1d2535c9ec | ||
|
3801b60fae | ||
|
d2caaeb4ba | ||
|
1aefcb9da5 | ||
|
d935a491ba | ||
|
5d84f80ad1 | ||
|
d1fc69ffbe | ||
|
ca9759738f | ||
|
95ca6c4c12 | ||
|
e7583a1ae4 | ||
|
56dce15537 | ||
|
df577bc08c | ||
|
9c4142fcd2 | ||
|
021cdf8034 | ||
|
f5b5cf74c5 | ||
|
1bc64cfdff | ||
|
ceea0bc0ad | ||
|
23032b9417 | ||
|
ab46f6decd | ||
|
f42a358818 | ||
|
d879e3dcf0 | ||
|
abc2f91623 | ||
|
49535e4a3e | ||
|
4c35d811d6 | ||
|
fee85069ac | ||
|
9ea80c2e2b | ||
|
24542ca404 | ||
|
955316f6f7 | ||
|
8fb7d194d5 | ||
|
cfaa2936bf | ||
|
eb5c4606f0 | ||
|
0275434077 | ||
|
f776d527ca | ||
|
4e8b896688 | ||
|
257b58f4fb | ||
|
8cf5ac33d1 | ||
|
2f3b388188 | ||
|
13f71e713c | ||
|
36bf24e914 | ||
|
ef0a2ca2d8 | ||
|
fea71df181 | ||
|
54a82befa0 | ||
|
e652db05e1 | ||
|
48fd5d30f7 | ||
|
0dec21b2bb | ||
|
9373c334b3 | ||
|
1087c49b9f | ||
|
9bd930d89a | ||
|
380ba28bac | ||
|
1dd02f1746 | ||
|
81ec3eb5e2 | ||
|
3e911204df | ||
|
db07bd208a | ||
|
5dfbb18838 | ||
|
a7add9961f | ||
|
ad8c9263e8 | ||
|
f382ab3d13 | ||
|
b07ca88a29 | ||
|
d05ddfc258 | ||
|
e68abc5d07 | ||
|
9e18aa7488 | ||
|
85bd6d17f0 | ||
|
d648e43cfb | ||
|
c9608cf4a1 | ||
|
5dcbf4ce4a | ||
|
e5c31e555f | ||
|
5d7d248a83 | ||
|
13d8fbbd65 | ||
|
48f5da65bb | ||
|
1293037ff9 | ||
|
a07dfbc164 | ||
|
546c75b955 | ||
|
bcff7ac1d3 | ||
|
6fa1520023 | ||
|
f782c97cb7 | ||
|
cad00cb824 | ||
|
a6e8774f22 | ||
|
d7b3ef8ddf | ||
|
f8b80386f3 | ||
|
04de21a9fd | ||
|
30a8a38019 | ||
|
2b89d73d91 | ||
|
1993d3089a | ||
|
bbe1611cdf | ||
|
f655291c39 | ||
|
fb6a807a37 | ||
|
7faed0d291 | ||
|
b0f9380dc1 | ||
|
d9be5bb6fd | ||
|
0868db8c5d | ||
|
4d7fa5972f | ||
|
e36f37707f | ||
|
84eab775c3 | ||
|
bb66e81abe | ||
|
6eac8d9ccf | ||
|
8e3c81717e | ||
|
521cb3e5ad | ||
|
fb0bfe6a2b | ||
|
9a5842c621 | ||
|
d266ec92c4 | ||
|
11b33474b7 | ||
|
24d02c5fc3 | ||
|
e4c6b9c2b2 | ||
|
0fadf1b0be | ||
|
226a8b3813 | ||
|
6c0258e8a6 | ||
|
63fce9cfb0 | ||
|
388701015d | ||
|
4ad0ced568 | ||
|
cc87ece6fb | ||
|
4356a2010d | ||
|
f091c32992 | ||
|
49e86d116f | ||
|
e16f452bdf | ||
|
7c50e00fb4 | ||
|
de83b42972 | ||
|
2426cedb18 | ||
|
6a7d0ee22c | ||
|
0b4b768049 | ||
|
33942d44c8 | ||
|
551bcc68cf | ||
|
50b16c6054 | ||
|
3ff720463b | ||
|
d58126484a | ||
|
5056ac4e61 | ||
|
360ece6f88 | ||
|
a08ebb9ce5 | ||
|
0876086caa | ||
|
a169f757a6 | ||
|
a616dc3cd2 | ||
|
b248700e28 | ||
|
5aa29d38ef | ||
|
4d5b1ce5fd | ||
|
1e21fc242b | ||
|
a99202412c | ||
|
279e93398f | ||
|
3894c05217 | ||
|
1fca7eddcb | ||
|
4a88d6ff7a | ||
|
cbef725cc8 | ||
|
3711f72cb0 | ||
|
1db8e65321 | ||
|
9fb104ec7c | ||
|
39924b7dd2 | ||
|
1766f4a63d | ||
|
0b6082d679 | ||
|
62ccf1eb2f | ||
|
496d6c8254 | ||
|
f3bd6d473c | ||
|
0aba14f581 | ||
|
02a0d0d0cc | ||
|
5a44f62fb6 | ||
|
10583bf426 | ||
|
b3ea127848 | ||
|
cbe55055e9 | ||
|
6f174952ab | ||
|
2194eb4df5 | ||
|
9b9bb6eb49 | ||
|
da10297572 | ||
|
9866c27156 | ||
|
ce26e085ff | ||
|
6875fd271c | ||
|
a5c14c8d10 | ||
|
580188c477 | ||
|
0e1f6f48ef | ||
|
b10a993592 | ||
|
50e1c26890 | ||
|
fb09870d21 | ||
|
43fb20bd79 | ||
|
4339ae72b6 | ||
|
99b01c2822 | ||
|
82d4c4d4cc | ||
|
6fff7284cf | ||
|
e0b420c288 | ||
|
c9ee4900ef | ||
|
8fb85abe1a | ||
|
7590c13db4 | ||
|
2fc9bd476b | ||
|
ddd18551eb | ||
|
e32d6e93f3 | ||
|
7193dd1918 | ||
|
c7bb4f0e4b | ||
|
a62e35c123 | ||
|
100f8a23f4 | ||
|
612d72d765 | ||
|
2974465882 | ||
|
f7f4a50d35 | ||
|
441021bb7e | ||
|
4c0ec8c5a0 | ||
|
9f8552a038 | ||
|
05a588af48 | ||
|
743ed2d9b8 | ||
|
289d36f1f1 | ||
|
cce6898d83 | ||
|
f4ee4a178e | ||
|
ff09937ca2 | ||
|
a2d0908eb6 | ||
|
d060edba66 | ||
|
d2a45be18f | ||
|
84d0b1f080 | ||
|
3c6f7ceeaa | ||
|
fba1ad2d95 | ||
|
b32dc39965 | ||
|
49338b91c8 | ||
|
26fa2e7900 | ||
|
aa6348c5c2 | ||
|
bed5297829 | ||
|
3732a57af3 | ||
|
f1e5ab8255 | ||
|
c2844470c5 | ||
|
6cbdde578d | ||
|
4057aae300 | ||
|
f07e4e9b5a | ||
|
2d9c2d533d | ||
|
92c13c2991 | ||
|
d7f4f5f2b8 | ||
|
59feec1fe2 | ||
|
e77fa19fea | ||
|
4580c63ac7 | ||
|
576a73db5b | ||
|
4e7d74e49a | ||
|
c6d319e333 | ||
|
9f5282c8f5 | ||
|
3a316a1dbc | ||
|
08f29b7866 | ||
|
c364fd087f | ||
|
006fb215a1 | ||
|
27742b9cc3 | ||
|
4d679ce928 | ||
|
0774f03863 | ||
|
db966f919e | ||
|
d46afbf067 | ||
|
badc7dabe8 | ||
|
8102e52c59 | ||
|
173b4f3ab3 | ||
|
549934b04e | ||
|
683601c427 | ||
|
334005c1ff | ||
|
81993628ab | ||
|
2779a9cffc | ||
|
1d6c1e4664 | ||
|
9edcd4eb8f | ||
|
0b3f6a268e | ||
|
a2069df3e0 | ||
|
1ad150c1bf | ||
|
41b251d67a | ||
|
9175780382 | ||
|
2c40cec639 | ||
|
efb58c5f40 | ||
|
6afa2d1385 | ||
|
38be0e81a9 | ||
|
609ee3e227 | ||
|
23a6bbe014 | ||
|
1b9e9655be | ||
|
9d8cd1d707 | ||
|
591c458a4f | ||
|
6974c8ba11 | ||
|
e1531b77c6 | ||
|
23cd7d90d1 | ||
|
2ccbd9fdc2 | ||
|
bfdc6ca7bf | ||
|
f9b1a32ae7 | ||
|
1a195e23dd | ||
|
26ae3f853e | ||
|
e84e9a58e1 | ||
|
3b8da5023d | ||
|
548d41d0d4 | ||
|
d6c921249f | ||
|
e044c50b03 | ||
|
beec74d792 | ||
|
8b4e163b28 | ||
|
b61467097d | ||
|
447e4638d1 | ||
|
b831525b20 | ||
|
e05be832d5 | ||
|
64c9c3179f | ||
|
0ea61f26eb | ||
|
349fa426ea | ||
|
e3d5f0c9cf | ||
|
e63d545ed8 | ||
|
ab3058612d | ||
|
715abcce32 | ||
|
f165b3f870 | ||
|
8895d745e7 | ||
|
33a9b96a31 | ||
|
d1ac3d415e | ||
|
432fac8fda | ||
|
0f23882d47 | ||
|
693c0f22c8 | ||
|
e2db7a6b61 | ||
|
2a74f60812 | ||
|
2419291976 | ||
|
733845eb95 | ||
|
b3315aeb03 | ||
|
d88c522d96 | ||
|
c0cefc30f4 | ||
|
0dc3589661 | ||
|
f64c3d5484 | ||
|
5fceb5a3c9 | ||
|
916b3f6f69 | ||
|
0c4e8eeafc | ||
|
b27e0ff1f4 | ||
|
59ffb0f265 | ||
|
20b4fd85c1 | ||
|
fc2da05ba6 | ||
|
948ca605b0 | ||
|
eda2c69334 | ||
|
42ab9ecd95 | ||
|
5935c9c147 | ||
|
90640e590e | ||
|
75b8caf816 | ||
|
3ea403d004 | ||
|
058a559de4 | ||
|
ac43c62ce8 | ||
|
c4a7749f2a | ||
|
e6c09da639 | ||
|
2d05b5f43e | ||
|
63d0855a59 | ||
|
3d42485315 | ||
|
f772cc500c | ||
|
ad8bcacbca | ||
|
fbab549a1c | ||
|
817f3bc121 | ||
|
e3576683b0 | ||
|
85c2eb43dd | ||
|
0f2b2b1e7b | ||
|
8fd2eeaea5 | ||
|
b97a14c559 | ||
|
bbb97bcb02 | ||
|
8a51ed892a | ||
|
0cac69c2fa | ||
|
feb946acfb | ||
|
220f867814 | ||
|
050a896c8b | ||
|
d13e7b32c3 | ||
|
a56f104fe8 | ||
|
99696637b9 | ||
|
be5a6c189a | ||
|
a01f519131 | ||
|
a71ee1d0b8 | ||
|
a40bb77feb | ||
|
5c23765458 | ||
|
d023ce592c | ||
|
8c4bf057d6 | ||
|
b9dc226031 | ||
|
a81c1ff663 | ||
|
c909d85acc | ||
|
0965c6d257 | ||
|
5beb80bf61 | ||
|
1b2f5e5cd8 | ||
|
2db82ac732 | ||
|
3f1ec682b9 | ||
|
59b3030e45 | ||
|
54d223a721 | ||
|
e5771a36bb | ||
|
31a5ee20df | ||
|
efd9ada977 | ||
|
b4450ae4ef | ||
|
73076bd4b7 | ||
|
0ba0550baf | ||
|
41b03f9356 | ||
|
95f1992b8a | ||
|
11c1c0638d | ||
|
e0daf807a6 | ||
|
2594c1edb1 | ||
|
e80bede7b7 | ||
|
1eb721c717 | ||
|
38b6484f12 | ||
|
a0163ba793 | ||
|
e2e589e907 | ||
|
93f96c03b1 | ||
|
77f09a4408 | ||
|
faf30306da | ||
|
c1c02204fa | ||
|
017480eb45 | ||
|
8931a68ec8 | ||
|
3c6a419cad | ||
|
dce4c715e3 | ||
|
5763de3b26 | ||
|
4fa61e443f | ||
|
84e312563a | ||
|
707c21a2fe | ||
|
d0057ae838 | ||
|
8d3ac630c5 | ||
|
b5f06b6958 | ||
|
5a07b795d3 | ||
|
bfab4426ca | ||
|
bcb5218e1a | ||
|
c897cc1582 | ||
|
ea61bfc498 | ||
|
ca5d35339f | ||
|
5c00ea93c2 | ||
|
f005977ce0 | ||
|
79773dab95 | ||
|
69168f1ec2 | ||
|
147a66d64e | ||
|
ec36847de0 | ||
|
d7bef7e923 | ||
|
55faab25b5 | ||
|
4da8060e62 | ||
|
821cfc5bd8 | ||
|
9956caea1b | ||
|
f95b663f28 | ||
|
dd990e7cf6 | ||
|
23dec124dd | ||
|
2b6cb908fa | ||
|
40475d60fb | ||
|
48e96a055f | ||
|
3dbc9a5723 | ||
|
9832af0d3a | ||
|
26caf2a4c6 | ||
|
29d7804ffd | ||
|
6fe0104483 | ||
|
04f5433839 | ||
|
0bfa28d795 | ||
|
ac2258769a | ||
|
7cd0ed1714 | ||
|
803d508c69 | ||
|
3c13568107 | ||
|
e41394b57f | ||
|
0b13dbddd8 | ||
|
2a2dd96c02 | ||
|
2f7b2fb948 | ||
|
4e8316a6ee | ||
|
01412b4500 | ||
|
2df8137281 | ||
|
f24e229a4e | ||
|
fa6060d6d2 | ||
|
2d6796db16 | ||
|
82be4f566a | ||
|
f353686166 | ||
|
a6dbe4b67a | ||
|
b597d5f9d1 | ||
|
f0496bd348 | ||
|
a746c02d4a | ||
|
02def5900e | ||
|
fd06c18cf0 | ||
|
6163364b26 | ||
|
7e9c7d7d23 | ||
|
88d02b04dd | ||
|
42e39b7789 | ||
|
9b3ce555cb | ||
|
bae311b2a9 | ||
|
f8a09e5540 | ||
|
461ba1762a | ||
|
82a4b8915b | ||
|
e8593e7ae5 | ||
|
8f1c7bf61c | ||
|
23c08f77e0 | ||
|
e1fa7d0e83 | ||
|
fc3c59bad5 | ||
|
8588e36373 | ||
|
1f43b199d5 | ||
|
e2fd48eecd | ||
|
d0e6368867 | ||
|
4f98aad24f | ||
|
fae313785d | ||
|
db5bbeecd4 | ||
|
d2b7d64f4f | ||
|
4f2d0c8e5d | ||
|
3bca12fd4a | ||
|
4ccc46e4db | ||
|
5062cd1616 | ||
|
1710155a6f | ||
|
4cb693b4d6 | ||
|
e607a7376f | ||
|
d1403ba2cb | ||
|
74be949d33 | ||
|
2afc2ca369 | ||
|
b617a84696 | ||
|
c691fedc12 | ||
|
12a26023dd | ||
|
700ffa2529 | ||
|
5fdd088504 | ||
|
fe89b1cf21 | ||
|
3d1bbf3c4d | ||
|
580d2914e7 | ||
|
33599324d6 | ||
|
02bdb7a79c | ||
|
a1c64eeefc | ||
|
78015028ec | ||
|
beff45e195 | ||
|
6a0dd4e20d | ||
|
ea420967c4 | ||
|
c19d0773b3 | ||
|
59a8c2115c | ||
|
88cae93fc4 | ||
|
4eb0fb542e | ||
|
60a1617b22 | ||
|
e05d7197bd | ||
|
9dc29d034b | ||
|
32fe122e60 | ||
|
8fcb377162 | ||
|
598677b207 | ||
|
b3437fa4cd | ||
|
0d82584777 | ||
|
e627fb7fad | ||
|
b60acf038b | ||
|
111820c0cf | ||
|
263a7ef076 | ||
|
255d3e737d | ||
|
9cb13af7b0 | ||
|
7bc81880e1 | ||
|
eb53c7e3b9 | ||
|
b94cf5a107 | ||
|
72163018b4 | ||
|
0cbf8d8ebc | ||
|
bde14f9ddc | ||
|
b220413a9b | ||
|
72472623cc | ||
|
7e599c3a3e | ||
|
74ba386ae3 | ||
|
06f05d3823 | ||
|
6ada0a0103 | ||
|
39bd7d3aef | ||
|
b5313067cd | ||
|
1edef99811 | ||
|
6518c17679 | ||
|
3ef07ac39a | ||
|
bfcf3815a4 | ||
|
292479ac28 | ||
|
786e58ed54 | ||
|
b88630855f | ||
|
b956a21dae | ||
|
c4ebb64fb2 | ||
|
fb181cf935 | ||
|
f6fdc9fe66 | ||
|
23f521de74 | ||
|
88ed7c934f | ||
|
4c7a1f0f88 | ||
|
98b7354373 | ||
|
8d8cca06eb | ||
|
45b61e1f49 | ||
|
f58d29a6a6 | ||
|
4caca4934e | ||
|
a8613d1444 | ||
|
c6377eafbf | ||
|
aa23d5cdff | ||
|
a97c04c21c | ||
|
9f66d7cfcd | ||
|
a52b206dfb | ||
|
806377e6ee | ||
|
6ce55a5737 | ||
|
cd40861ec8 | ||
|
a1aa4f78c9 | ||
|
0caecedb8f | ||
|
af7e172438 | ||
|
1f45252fc6 | ||
|
d2ae02d066 | ||
|
6d98f8102d | ||
|
08eab7a73a | ||
|
8d8c91ef50 | ||
|
88b3c7f526 | ||
|
24731edf92 | ||
|
85557b6882 | ||
|
8dfc873ceb | ||
|
8961aebc3a | ||
|
500c31565d | ||
|
223a685529 | ||
|
135d46f31b | ||
|
9f997c2fb6 | ||
|
a6cf0a3a81 | ||
|
1c2c071952 | ||
|
08348c88eb | ||
|
70bfb9f18d | ||
|
292d2fbc15 | ||
|
88cf1d6232 | ||
|
9cf298ef44 | ||
|
19af6a8722 | ||
|
5c8be448ab | ||
|
f69dffcf23 | ||
|
88271bf1a7 | ||
|
14cc053094 | ||
|
65ef700fdc | ||
|
9dbd481f28 | ||
|
e5c8b4bb66 | ||
|
ff6d700499 | ||
|
fc1699ac91 | ||
|
596bcd8d8b | ||
|
ecc4f3e22a | ||
|
c0dc30d0c4 | ||
|
f02af3af3b | ||
|
8179d3e723 | ||
|
60e347a782 | ||
|
06264847cc | ||
|
3137d5be33 | ||
|
d4c35b8c0b | ||
|
39ad1e23a8 | ||
|
d6dd23e921 | ||
|
b108bf799d | ||
|
6d92e982dc | ||
|
40bd2dfe21 | ||
|
819de1cfa4 | ||
|
a6d6e70b3d | ||
|
05cf51ec65 | ||
|
0935b6f697 | ||
|
dd5240d018 | ||
|
3fbb3b6b82 | ||
|
77b74daa0e | ||
|
8c0769fdb3 | ||
|
d2028588e8 | ||
|
4b99c2062c | ||
|
ce0218700e | ||
|
d63f498f4c | ||
|
56d2aced8a | ||
|
db2a194b69 | ||
|
f7a970f466 | ||
|
f7fa7a195f | ||
|
e6ec27a501 | ||
|
331f7ebe5c | ||
|
afcd2d2a39 | ||
|
8129f4a89f | ||
|
72c1bb3724 | ||
|
8fdccd287e | ||
|
b69a7403bc | ||
|
bdc9fa9dc3 | ||
|
9c07e57e28 | ||
|
821daeca94 | ||
|
480bf238f6 | ||
|
8ff13e5fc4 | ||
|
8e1970d08e | ||
|
86d92dd302 | ||
|
71b466507f | ||
|
11ce5f6c52 | ||
|
630b4061f0 | ||
|
912c943114 | ||
|
8e377e0306 | ||
|
1535e020a3 | ||
|
23d5d3426d | ||
|
6ab7a0836e | ||
|
278691211d | ||
|
356d4688a0 | ||
|
6b1d31387b | ||
|
70bfb26c9a | ||
|
71f70f4d2c | ||
|
64e4ebb1f3 | ||
|
2d984ce9a8 | ||
|
eaf160e0b1 | ||
|
624bfd9175 | ||
|
9ad1249f11 | ||
|
668849603d | ||
|
24f4c8e6ab | ||
|
46f5784edc | ||
|
fae2443481 | ||
|
37d65e000a | ||
|
6dd90eb03f | ||
|
3d8f713eb7 | ||
|
c35efe15d2 | ||
|
1596b46b86 | ||
|
4de0236194 | ||
|
2ab9702e32 | ||
|
24954bd0f0 | ||
|
2d4322be56 | ||
|
abb069bf50 | ||
|
a81d9fe17a | ||
|
6d44158050 | ||
|
a63cf3a90d | ||
|
ddb4f8c45b | ||
|
d7adab59ef | ||
|
e41374496e | ||
|
62d514463c | ||
|
332078b4ea | ||
|
c60e11646d | ||
|
c607fe9c75 | ||
|
1a4ba2c74a | ||
|
e49bca8315 | ||
|
636fbdf7d0 | ||
|
ee97434bb0 | ||
|
599cf5b86f | ||
|
2fd6a3a2fa | ||
|
a3e04103de | ||
|
731260926d | ||
|
a43635610a | ||
|
e307459652 | ||
|
c197a83de8 | ||
|
320d0df60d | ||
|
7e4533d811 | ||
|
f32fe63205 | ||
|
be117bca86 | ||
|
2b7bd902f3 | ||
|
3e0fb48e44 | ||
|
6d7fd19167 | ||
|
c3520d9eb1 | ||
|
5fd3cecc96 | ||
|
0d8666c946 | ||
|
4a475f1b53 | ||
|
8679cc5704 | ||
|
a48c4ba93f | ||
|
12db667128 | ||
|
6215de6080 | ||
|
7d2f384475 | ||
|
6ea1ac09a4 | ||
|
f2841a9a94 | ||
|
46ade2e0f8 | ||
|
d89be23069 | ||
|
337d50437b | ||
|
2479a8471e | ||
|
16e82b5462 | ||
|
1a82255865 | ||
|
a64d6e3270 | ||
|
ae1620dd50 | ||
|
d804e95d06 | ||
|
6c091910cd | ||
|
78d9a7e636 | ||
|
a074532497 | ||
|
5d2df358ac | ||
|
dfdc2fda27 | ||
|
a1f9c9c3d8 | ||
|
3270122419 | ||
|
838da6f161 | ||
|
e4b8976aa0 | ||
|
a86ee1d34e | ||
|
17e1eecb11 | ||
|
dd9a389711 | ||
|
55eaedb8b2 | ||
|
5f34a1bc92 | ||
|
f781face3a | ||
|
78ecd28d73 | ||
|
f8d772de87 | ||
|
77c39ac084 | ||
|
85e57a3953 | ||
|
95968f6690 | ||
|
f0b73ee916 | ||
|
a44412ae78 | ||
|
c7116b135f | ||
|
801d36c41f | ||
|
1d46adf801 | ||
|
94edaea210 | ||
|
3557138c84 | ||
|
77e74112ad | ||
|
5db88995c0 | ||
|
8eda8d3c84 | ||
|
1437dd5f27 | ||
|
9eb4944614 | ||
|
b4ef5abb88 | ||
|
4115e2054f | ||
|
8485277dcf | ||
|
fac9ea3b42 | ||
|
45f8e27d6a | ||
|
c8a478d970 | ||
|
75dfb0af5f | ||
|
5e592a3096 | ||
|
84e46ad874 | ||
|
0ec917bb96 | ||
|
818f9f58d1 | ||
|
e1abe0b4cb | ||
|
c972ce223e | ||
|
d9dadf28cb | ||
|
1fb392ff4e | ||
|
affa620983 | ||
|
ed31d8202b | ||
|
573ea6051c | ||
|
f1ec54532f | ||
|
5eb96d71e1 | ||
|
73251bac4a | ||
|
f40a0da195 | ||
|
8dc1ab2cc5 | ||
|
1b46c9f5e7 | ||
|
483ab55a36 | ||
|
502002f9f6 | ||
|
8d8014511f | ||
|
28569e652e | ||
|
9acf36d802 | ||
|
06d26767ed | ||
|
88858d4413 | ||
|
27309427a1 | ||
|
e83a18a907 | ||
|
9bd8b11f67 | ||
|
3a14c7ce2d | ||
|
fe4c9a2401 | ||
|
d2fb19cf6d | ||
|
1f8e3fb620 | ||
|
8bbe1d30b4 | ||
|
ec92f716de | ||
|
ab819d9210 | ||
|
e465b45d6e | ||
|
a4a4170d49 | ||
|
1dcf528443 | ||
|
8cf4ef88b5 | ||
|
bf634270be | ||
|
56437d3e1b | ||
|
d095ab2be7 | ||
|
4751b4dd74 | ||
|
ce22d8238c | ||
|
9e2b9e5b8d | ||
|
4952980e0a | ||
|
59989d2735 | ||
|
eb7f2855b0 | ||
|
a0e3e4fefb | ||
|
de9661448b | ||
|
562aabafa1 | ||
|
a659e45a68 | ||
|
8e44a15c8d | ||
|
a086358824 | ||
|
889c395818 | ||
|
7d0cc675aa | ||
|
73d3f92ae2 | ||
|
f5ceb4064c | ||
|
53d7bc86ca | ||
|
4495fc9a03 | ||
|
7ee5cad21e | ||
|
940739ce12 | ||
|
5730c1efcd | ||
|
b17f28ce94 | ||
|
629e968878 | ||
|
47a924ff4e | ||
|
c511fb59c7 | ||
|
80aeff6ecd | ||
|
97d15bb26a | ||
|
99b36cbff1 | ||
|
74c3d2c9fb | ||
|
df8c7fd31c | ||
|
3a780b9490 | ||
|
97ddb67f68 | ||
|
f50a27985b | ||
|
061a9d5bff | ||
|
06f42e8246 | ||
|
19f0b667b1 | ||
|
ac7165461a | ||
|
efb48e6145 | ||
|
f94c16b22e | ||
|
0938dc9d52 | ||
|
e049698012 | ||
|
c9fb06fd0c | ||
|
96850b7b98 | ||
|
32710e44c3 | ||
|
32e16f6e51 | ||
|
f938d5f489 | ||
|
99b840da34 | ||
|
55c222c577 | ||
|
418a6e455f | ||
|
789d19b18c | ||
|
59b26f2c63 | ||
|
f1eeeabdc5 | ||
|
d2a33b006b | ||
|
2386f583e8 | ||
|
70c5448402 | ||
|
4e3326b12f | ||
|
34092d8491 | ||
|
b8caf08fac | ||
|
b0d0e641ea | ||
|
3a1de4e941 | ||
|
97274c95a5 | ||
|
300d0e3ca5 | ||
|
50d08cd178 | ||
|
28f3d53b3b | ||
|
768e59938c | ||
|
6c7948a087 | ||
|
cc2b442519 | ||
|
fa285a9404 | ||
|
84faa7229d | ||
|
254747ee78 | ||
|
ef167051d6 | ||
|
1ccbdc2341 | ||
|
14747b79cd | ||
|
111385f1ef | ||
|
f36d395a84 | ||
|
5d997084f7 | ||
|
132548181f | ||
|
452c71e8cb | ||
|
f7ac95f850 | ||
|
33286efe9a | ||
|
f21a93febe | ||
|
f817c47dc0 | ||
|
9ccca16df7 | ||
|
114f5695b7 | ||
|
916fa39012 | ||
|
db77a51129 | ||
|
b09d6e8568 | ||
|
3bf9438a59 | ||
|
554894e910 | ||
|
51f1e0202f | ||
|
8b7758442b | ||
|
63bf7694f0 | ||
|
df3aaa7dfd | ||
|
826006ce8b | ||
|
1e085ee619 | ||
|
efb753e229 | ||
|
faf332a0e8 | ||
|
83308337b5 | ||
|
73193df120 | ||
|
2dd27cdd00 | ||
|
c5e3672e9e | ||
|
366517999f | ||
|
8445ffaa86 | ||
|
2a76970461 | ||
|
9fcaf5bd18 | ||
|
652add9af2 | ||
|
c632ea5c48 | ||
|
7ee5f68770 | ||
|
1040675781 | ||
|
24a37e0fef | ||
|
bfe2d262a5 | ||
|
8faf5148a6 | ||
|
27c5dd1852 | ||
|
fae51b90a7 | ||
|
ccd181851c | ||
|
cd0ff94c0c | ||
|
e9e6d8a69c | ||
|
7ad3b34ec3 | ||
|
f39021d373 | ||
|
13116fec76 | ||
|
d49b2ec0e9 | ||
|
09d088b2b5 | ||
|
3312bd27c9 | ||
|
453bdb293f | ||
|
6b0e1598ed | ||
|
56f25d3094 | ||
|
3e458c0028 | ||
|
a747828276 | ||
|
a90e3e04a4 | ||
|
487f01d2ec | ||
|
36c25fdd86 | ||
|
a9fecb31c3 | ||
|
ca8fd8d7ae | ||
|
fb345b1317 | ||
|
966fe38ae3 | ||
|
3042e615ac | ||
|
fd2ae51b93 | ||
|
1227730393 | ||
|
8622bd506f | ||
|
5d6a39ce51 | ||
|
5245c06ed3 | ||
|
3c5977346e | ||
|
a3dc9c2721 | ||
|
90ec1f5bc6 | ||
|
99caa014ca | ||
|
00d0cd1cf7 | ||
|
d6480e50d2 | ||
|
a1a06dd7d0 | ||
|
95b73b5f41 | ||
|
cc00cdfa55 | ||
|
548ba7d712 | ||
|
1ea0c56d7b | ||
|
f764e76f01 | ||
|
4862c2e8ea | ||
|
cbb4d43981 | ||
|
87269e6bcd | ||
|
7d19d294a6 | ||
|
5f3ac323ff | ||
|
0a766d7314 | ||
|
e73535ace0 | ||
|
8e93f0975f | ||
|
57c316a591 | ||
|
f1691b7743 | ||
|
92a025011e | ||
|
d5fa8d0216 | ||
|
1f74a42dfa | ||
|
569b567f21 | ||
|
85f890e7c5 | ||
|
4056fc2281 | ||
|
70c2f0a70a | ||
|
aac8d58372 | ||
|
8ec233f59c | ||
|
a0dd7f58ac | ||
|
443e04b369 | ||
|
cfd9bca4d6 | ||
|
f17157f7e2 | ||
|
18b9f5c79b | ||
|
1b060925a4 | ||
|
00fa618596 | ||
|
131ec9e913 | ||
|
e31ec031f4 | ||
|
431ce430a0 | ||
|
5cdc1e93b3 | ||
|
09216b8b59 | ||
|
1bb3632a70 | ||
|
03617eb8a7 | ||
|
034e568d26 | ||
|
a0faca0997 | ||
|
5268b5bf6b | ||
|
5b3f05f939 | ||
|
b1a669de01 | ||
|
a5f118bc26 | ||
|
10978781cd | ||
|
8bdec4c2b4 | ||
|
be58fced93 | ||
|
c5dfa4c055 | ||
|
74bc9b36aa | ||
|
993fbfb93f | ||
|
97b5276f81 | ||
|
c6c7de286a | ||
|
aec77b543c | ||
|
34b265475d | ||
|
4e95486c5c | ||
|
296b60800a | ||
|
332e19ce64 | ||
|
8984243020 | ||
|
65c47189f9 | ||
|
6aca77a0ae | ||
|
0670ad92d7 | ||
|
bce71a00e9 | ||
|
83b50aaa8e | ||
|
c7c4371902 | ||
|
4978a473a1 | ||
|
4d89d9f285 | ||
|
15770e9298 | ||
|
06797ec0ab | ||
|
b69bf84ab6 | ||
|
7ec02fc8d8 | ||
|
dd28c9f4d7 | ||
|
7fe98e9dc9 | ||
|
6358c39810 | ||
|
294cc4a440 | ||
|
ae1347bb7c | ||
|
b6d659baf2 | ||
|
5756e160da | ||
|
113c046de6 | ||
|
1ef4e574b7 | ||
|
eccc74cf72 | ||
|
a4137a83d8 | ||
|
ed9b4fb831 | ||
|
1d31f63947 | ||
|
74cda4e2ab | ||
|
39db5cd061 | ||
|
11d9e0a72f | ||
|
7683284352 | ||
|
e84ea8ab04 | ||
|
b638056150 | ||
|
ff86c253d3 | ||
|
86d9f7e1cb | ||
|
385fe7bbe0 | ||
|
313587097a | ||
|
8393ccc7f8 | ||
|
e3ba605592 | ||
|
035557de9f | ||
|
97ff2b51f1 | ||
|
87f7fb6841 | ||
|
9fe31544f7 | ||
|
89dfbe3ec1 | ||
|
0c640c5e77 | ||
|
a3eec19b32 | ||
|
c0c3b4d23e | ||
|
1812587970 | ||
|
1bb724fe0e | ||
|
346f49fa66 | ||
|
55d25308f8 | ||
|
514a8cf841 | ||
|
837826ea4f | ||
|
681d1d67f3 | ||
|
d2f3252de2 | ||
|
859d3e867e | ||
|
238683e36f | ||
|
2ae08ff46e | ||
|
ce672915da | ||
|
a2071bfed2 | ||
|
03c3feef16 | ||
|
b3f4414026 | ||
|
04c6863d7f | ||
|
b678e2fb5d | ||
|
1179de7c36 | ||
|
58ca1a938b | ||
|
9713034f18 | ||
|
28b8818c4d | ||
|
2e2a2b3193 | ||
|
42900bcc66 | ||
|
ce451c5850 | ||
|
5b4477f7bd | ||
|
660ebcfc77 | ||
|
86872fb07c | ||
|
c55bb95950 | ||
|
d613d1ab4e | ||
|
cd5d648eec | ||
|
384b17738a | ||
|
500c8facdb | ||
|
6f76fe728f | ||
|
2488dd3806 | ||
|
9d3cccdf71 | ||
|
8dc75efc4c | ||
|
7caed19a32 | ||
|
a301470ac5 | ||
|
f899c97c4c | ||
|
8630c8e630 | ||
|
29daec2c07 | ||
|
ce3a28de70 | ||
|
1e6cc11868 | ||
|
3e0f6994a1 | ||
|
c10e617870 | ||
|
cade585292 | ||
|
f60e105d77 | ||
|
b622f9b938 | ||
|
00084c5798 | ||
|
554fb7026a | ||
|
04a6c36b5c | ||
|
adbf819cc0 | ||
|
3062f83367 | ||
|
bdb2e588f3 | ||
|
688d807eee | ||
|
06aa64016f | ||
|
06c7c132b8 | ||
|
fcb837ca99 | ||
|
7f34afcaea | ||
|
876fa324e5 | ||
|
f781183250 | ||
|
c1ae449ce2 | ||
|
c4aa18a63e | ||
|
27b86fbb00 | ||
|
569c6d8479 | ||
|
d3e2d3fc4a | ||
|
9b5ee63638 | ||
|
dee68681f5 | ||
|
f85db1496e | ||
|
0839b0314e | ||
|
40dbb8bd7f | ||
|
2de5c1bbf8 | ||
|
20edc63785 | ||
|
b936f9ba7c | ||
|
a5419e61d5 | ||
|
ec4d4141ef | ||
|
b5a16f756a | ||
|
0331d2a8db | ||
|
79eedcf6a6 |
9
.envrc
Normal file
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Automatically sets up your devbox environment whenever you cd into this
|
||||
# directory via our direnv integration:
|
||||
|
||||
eval "$(devbox generate direnv --print-envrc)"
|
||||
|
||||
# check out https://www.jetpack.io/devbox/docs/ide_configuration/direnv/
|
||||
# for more details
|
637
.eslintignore
43
.eslintrc.js
@@ -15,6 +15,19 @@ module.exports = {
|
||||
'globals': {
|
||||
'Atomics': 'readonly',
|
||||
'SharedArrayBuffer': 'readonly',
|
||||
'BufferEncoding': 'readonly',
|
||||
'AsyncIterable': 'readonly',
|
||||
'FileSystemFileHandle': 'readonly',
|
||||
'FileSystemDirectoryHandle': 'readonly',
|
||||
'ReadableStreamDefaultReader': 'readonly',
|
||||
'FileSystemCreateWritableOptions': 'readonly',
|
||||
'FileSystemHandle': 'readonly',
|
||||
'IDBTransactionMode': 'readonly',
|
||||
|
||||
// ServiceWorker
|
||||
'ExtendableEvent': 'readonly',
|
||||
'WindowClient': 'readonly',
|
||||
'FetchEvent': 'readonly',
|
||||
|
||||
// Jest variables
|
||||
'test': 'readonly',
|
||||
@@ -44,6 +57,8 @@ module.exports = {
|
||||
'tinymce': 'readonly',
|
||||
|
||||
'JSX': 'readonly',
|
||||
|
||||
'NodeJS': 'readonly',
|
||||
},
|
||||
'parserOptions': {
|
||||
'ecmaVersion': 2018,
|
||||
@@ -70,6 +85,11 @@ module.exports = {
|
||||
'no-var': ['error'],
|
||||
'no-new-func': ['error'],
|
||||
'import/prefer-default-export': ['error'],
|
||||
'prefer-promise-reject-errors': ['error', {
|
||||
allowEmptyReject: true,
|
||||
}],
|
||||
'no-throw-literal': ['error'],
|
||||
'no-unused-expressions': ['error'],
|
||||
|
||||
// This rule should not be enabled since it matters in what order
|
||||
// imports are done, in particular in relation to the shim.setReact
|
||||
@@ -101,6 +121,19 @@ module.exports = {
|
||||
'no-unneeded-ternary': 'error',
|
||||
'github/array-foreach': ['error'],
|
||||
|
||||
'no-restricted-properties': ['error',
|
||||
{
|
||||
'property': 'focus',
|
||||
'message': 'Please use focusHandler::focus() instead',
|
||||
},
|
||||
{
|
||||
'property': 'blur',
|
||||
'message': 'Please use focusHandler::blur() instead',
|
||||
},
|
||||
],
|
||||
|
||||
'@typescript-eslint/no-explicit-any': ['error'],
|
||||
|
||||
// -------------------------------
|
||||
// Formatting
|
||||
// -------------------------------
|
||||
@@ -257,6 +290,14 @@ module.exports = {
|
||||
'match': true,
|
||||
},
|
||||
},
|
||||
{
|
||||
selector: 'enumMember',
|
||||
format: null,
|
||||
'filter': {
|
||||
'regex': '^(sha1|sha256|sha384|sha512|AES_128_GCM|AES_192_GCM|AES_256_GCM)$',
|
||||
'match': true,
|
||||
},
|
||||
},
|
||||
|
||||
// -----------------------------------
|
||||
// INTERFACE
|
||||
@@ -270,7 +311,7 @@ module.exports = {
|
||||
selector: 'interface',
|
||||
format: null,
|
||||
'filter': {
|
||||
'regex': '^(RSA|RSAKeyPair)$',
|
||||
'regex': '^(RSA|RSAKeyPair|iOS.*)$',
|
||||
'match': true,
|
||||
},
|
||||
},
|
||||
|
4
.github/ISSUE_TEMPLATE/config.yml
vendored
@@ -1,8 +1,8 @@
|
||||
blank_issues_enabled: false
|
||||
blank_issues_enabled: true
|
||||
contact_links:
|
||||
- name: Feature Requests
|
||||
url: https://discourse.joplinapp.org/c/features/
|
||||
about: Discuss ideas for new features or changes
|
||||
- name: Support
|
||||
url: https://discourse.joplinapp.org/c/support/
|
||||
about: Please ask for help here
|
||||
about: Please ask for help here
|
||||
|
34
.github/scripts/publish_docker_manifest.sh
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
#!/bin/bash
|
||||
|
||||
VERSION=$(echo "$GIT_TAG_NAME" | grep -oE '[0-9]+\.[0-9]+\.[0-9]+')
|
||||
|
||||
echo "GIT_TAG_NAME=$GIT_TAG_NAME"
|
||||
echo "VERSION=$VERSION"
|
||||
echo "SERVER_TAG_PREFIX=$SERVER_TAG_PREFIX"
|
||||
echo "SERVER_REPOSITORY=$SERVER_REPOSITORY"
|
||||
|
||||
# Check if it's a server release, otherwise exit
|
||||
if [[ $GIT_TAG_NAME != $SERVER_TAG_PREFIX-* ]]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
docker manifest inspect $SERVER_REPOSITORY:arm64-$VERSION > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Image $SERVER_REPOSITORY:arm64-$VERSION does not exist on the remote registry."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
docker manifest inspect $SERVER_REPOSITORY:amd64-$VERSION > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Image $SERVER_REPOSITORY:amd64-$VERSION does not exist on the remote registry."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
docker manifest create $SERVER_REPOSITORY:$VERSION \
|
||||
$SERVER_REPOSITORY:arm64-$VERSION \
|
||||
$SERVER_REPOSITORY:amd64-$VERSION
|
||||
|
||||
docker manifest annotate $SERVER_REPOSITORY:$VERSION $SERVER_REPOSITORY:arm64-$VERSION --arch arm64
|
||||
docker manifest annotate $SERVER_REPOSITORY:$VERSION $SERVER_REPOSITORY:amd64-$VERSION --arch amd64
|
||||
|
||||
docker manifest push $SERVER_REPOSITORY:$VERSION
|
35
.github/scripts/run_ci.sh
vendored
@@ -35,6 +35,8 @@ else
|
||||
IS_MACOS=1
|
||||
fi
|
||||
|
||||
DOCKER_IMAGE_PLATFORM="linux/amd64"
|
||||
|
||||
# Tests can randomly fail in some cases, so only run them when not publishing
|
||||
# a release
|
||||
RUN_TESTS=0
|
||||
@@ -43,10 +45,33 @@ if [ "$IS_SERVER_RELEASE" = 0 ] && [ "$IS_DESKTOP_RELEASE" = 0 ]; then
|
||||
RUN_TESTS=1
|
||||
fi
|
||||
|
||||
if [ "$RUNNER_ARCH" == "ARM64" ] && [ "$IS_SERVER_RELEASE" == "0" ]; then
|
||||
# We exit now because nothing works properly with the ARM64 architecture.
|
||||
# We only proceed if building the server image.
|
||||
echo "Running on ARM64 and not trying to build server image - early exit"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ "$RUNNER_ARCH" == "ARM64" ]; then
|
||||
# Canvas is only needed for tests and it doesn't build in ARM64 so remove it
|
||||
RUN_TESTS=0
|
||||
cd "$ROOT_DIR/packages/lib"
|
||||
yarn remove canvas
|
||||
cd "$ROOT_DIR"
|
||||
|
||||
DOCKER_IMAGE_PLATFORM="linux/arm64"
|
||||
|
||||
# Delete certain directories because `yarn install` will fail on ARM64.
|
||||
rm -rf app-desktop
|
||||
rm -rf app-mobile
|
||||
fi
|
||||
|
||||
# =============================================================================
|
||||
# Print environment
|
||||
# =============================================================================
|
||||
|
||||
echo "RUNNER_OS=$RUNNER_OS"
|
||||
echo "RUNNER_ARCH=$RUNNER_ARCH"
|
||||
echo "GITHUB_WORKFLOW=$GITHUB_WORKFLOW"
|
||||
echo "GITHUB_EVENT_NAME=$GITHUB_EVENT_NAME"
|
||||
echo "GITHUB_REF=$GITHUB_REF"
|
||||
@@ -55,6 +80,7 @@ echo "GIT_TAG_NAME=$GIT_TAG_NAME"
|
||||
echo "BUILD_SEQUENCIAL=$BUILD_SEQUENCIAL"
|
||||
echo "SERVER_REPOSITORY=$SERVER_REPOSITORY"
|
||||
echo "SERVER_TAG_PREFIX=$SERVER_TAG_PREFIX"
|
||||
echo "DOCKER_IMAGE_PLATFORM=$DOCKER_IMAGE_PLATFORM"
|
||||
|
||||
echo "IS_CONTINUOUS_INTEGRATION=$IS_CONTINUOUS_INTEGRATION"
|
||||
echo "IS_PULL_REQUEST=$IS_PULL_REQUEST"
|
||||
@@ -67,6 +93,7 @@ echo "IS_MACOS=$IS_MACOS"
|
||||
echo "Node $( node -v )"
|
||||
echo "Npm $( npm -v )"
|
||||
echo "Yarn $( yarn -v )"
|
||||
echo "Rust $( rustc --version )"
|
||||
|
||||
# =============================================================================
|
||||
# Install packages
|
||||
@@ -90,7 +117,7 @@ if [ "$RUN_TESTS" == "1" ]; then
|
||||
# On Linux, we run the Joplin Server tests using PostgreSQL
|
||||
if [ "$IS_LINUX" == "1" ]; then
|
||||
echo "Running Joplin Server tests using PostgreSQL..."
|
||||
sudo docker-compose --file docker-compose.db-dev.yml up -d
|
||||
sudo docker compose --file docker-compose.db-dev.yml up -d
|
||||
cmdResult=$?
|
||||
if [ $cmdResult -ne 0 ]; then
|
||||
exit $cmdResult
|
||||
@@ -180,6 +207,10 @@ fi
|
||||
if [ "$IS_LINUX" == "1" ]; then
|
||||
echo "Step: Checking for files that should have been ignored..."
|
||||
|
||||
# .gitignore and .eslintignore can be modified during yarn install. Reset them
|
||||
# so that checkIgnoredFiles works.
|
||||
git restore .gitignore .eslintignore
|
||||
|
||||
node packages/tools/checkIgnoredFiles.js
|
||||
testResult=$?
|
||||
if [ $testResult -ne 0 ]; then
|
||||
@@ -272,7 +303,7 @@ if [ "$IS_DESKTOP_RELEASE" == "1" ]; then
|
||||
elif [[ $IS_LINUX = 1 ]] && [ "$IS_SERVER_RELEASE" == "1" ]; then
|
||||
echo "Step: Building Docker Image..."
|
||||
cd "$ROOT_DIR"
|
||||
yarn buildServerDocker --tag-name $GIT_TAG_NAME --push-images --repository $SERVER_REPOSITORY
|
||||
yarn buildServerDocker --platform $DOCKER_IMAGE_PLATFORM --tag-name $GIT_TAG_NAME --push-images --repository $SERVER_REPOSITORY
|
||||
else
|
||||
echo "Step: Building but *not* publishing desktop application..."
|
||||
|
||||
|
25
.github/workflows/automerge.yml
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
name: automerge
|
||||
on:
|
||||
schedule:
|
||||
- cron: '*/10 * * * *'
|
||||
jobs:
|
||||
|
||||
# This job will make the action fail if any of the checks hasn't passed
|
||||
# https://github.com/marketplace/actions/allcheckspassed
|
||||
# allchecks:
|
||||
# runs-on: ubuntu-latest
|
||||
# steps:
|
||||
# - uses: wechuli/allcheckspassed@v1
|
||||
|
||||
automerge:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
steps:
|
||||
- id: automerge
|
||||
name: automerge
|
||||
uses: "pascalgn/automerge-action@v0.16.3"
|
||||
env:
|
||||
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
||||
MERGE_METHOD: "squash"
|
||||
LOG: "DEBUG"
|
29
.github/workflows/build-android.yml
vendored
@@ -5,34 +5,29 @@ name: react-native-android-build-apk
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
pre_job:
|
||||
AssembleRelease:
|
||||
if: github.repository == 'laurent22/joplin'
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
should_skip: ${{ steps.skip_check.outputs.should_skip }}
|
||||
steps:
|
||||
- id: skip_check
|
||||
uses: fkirc/skip-duplicate-actions@v5
|
||||
with:
|
||||
concurrent_skipping: 'same_content_newer'
|
||||
|
||||
BuildAndroidDebug:
|
||||
needs: pre_job
|
||||
if: github.repository == 'laurent22/joplin' && needs.pre_job.outputs.should_skip != 'true'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Install Linux dependencies
|
||||
run: |
|
||||
sudo apt-get update || true
|
||||
sudo apt-get install -y libsecret-1-dev
|
||||
|
||||
- uses: actions/setup-java@v4
|
||||
with:
|
||||
distribution: 'temurin'
|
||||
java-version: '20'
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/setup-node@v2
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '18'
|
||||
cache: 'yarn'
|
||||
|
||||
- uses: dtolnay/rust-toolchain@stable
|
||||
|
||||
- name: Install Yarn
|
||||
run: |
|
||||
corepack enable
|
||||
@@ -40,7 +35,9 @@ jobs:
|
||||
- name: Install
|
||||
run: yarn install
|
||||
|
||||
- name: Build Android Release
|
||||
- name: Assemble Android Release
|
||||
run: |
|
||||
cd packages/app-mobile/android && ./gradlew assembleDebug
|
||||
cd packages/app-mobile/android
|
||||
sed -i -- 's/signingConfig signingConfigs.release/signingConfig signingConfigs.debug/' app/build.gradle
|
||||
./gradlew assembleRelease
|
||||
|
41
.github/workflows/build-macos-m1.yml
vendored
@@ -1,27 +1,15 @@
|
||||
name: Build macOS M1
|
||||
on: [push, pull_request]
|
||||
jobs:
|
||||
pre_job:
|
||||
if: github.repository == 'laurent22/joplin'
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
should_skip: ${{ steps.skip_check.outputs.should_skip }}
|
||||
steps:
|
||||
- id: skip_check
|
||||
uses: fkirc/skip-duplicate-actions@v5
|
||||
with:
|
||||
concurrent_skipping: 'same_content_newer'
|
||||
|
||||
Main:
|
||||
needs: pre_job
|
||||
# We always process desktop release tags, because they also publish the release
|
||||
if: github.repository == 'laurent22/joplin' && (needs.pre_job.outputs.should_skip != 'true' || startsWith(github.ref, 'refs/tags/v'))
|
||||
if: github.repository == 'laurent22/joplin'
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
- uses: olegtarasov/get-tag@v2.1
|
||||
- uses: actions/setup-node@v2
|
||||
- uses: olegtarasov/get-tag@v2.1.3
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
# We need to pin the version to 18.15, because 18.16+ fails with this error:
|
||||
# https://github.com/facebook/react-native/issues/36440
|
||||
@@ -40,10 +28,18 @@ jobs:
|
||||
brew install pango
|
||||
|
||||
# See github-action-main.yml for explanation
|
||||
- uses: actions/setup-python@v4
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.11'
|
||||
|
||||
- name: Set Publish Flag
|
||||
run: |
|
||||
if [[ $GIT_TAG_NAME = v* ]]; then
|
||||
echo "PUBLISH_ENABLED=true" >> $GITHUB_ENV
|
||||
else
|
||||
echo "PUBLISH_ENABLED=false" >> $GITHUB_ENV
|
||||
fi
|
||||
|
||||
- name: Build macOS M1 app
|
||||
env:
|
||||
APPLE_ASC_PROVIDER: ${{ secrets.APPLE_ASC_PROVIDER }}
|
||||
@@ -56,20 +52,23 @@ jobs:
|
||||
GH_REPO: ${{ github.repository }}
|
||||
IS_CONTINUOUS_INTEGRATION: 1
|
||||
BUILD_SEQUENCIAL: 1
|
||||
PUBLISH_ENABLED: ${{ env.PUBLISH_ENABLED }}
|
||||
run: |
|
||||
export npm_config_arch=arm64
|
||||
export npm_config_target_arch=arm64
|
||||
yarn install
|
||||
cd packages/app-desktop
|
||||
npm pkg set 'build.mac.artifactName'='${productName}-${version}-${arch}.${ext}'
|
||||
npm pkg set 'build.mac.target.target'='dmg'
|
||||
npm pkg set 'build.mac.target.arch[0]'='arm64'
|
||||
npm pkg set 'build.mac.target[0].target'='dmg'
|
||||
npm pkg set 'build.mac.target[0].arch[0]'='arm64'
|
||||
npm pkg set 'build.mac.target[1].target'='zip'
|
||||
npm pkg set 'build.mac.target[1].arch[0]'='arm64'
|
||||
|
||||
if [[ $GIT_TAG_NAME = v* ]]; then
|
||||
if [[ "$PUBLISH_ENABLED" == "true" ]]; then
|
||||
echo "Building and publishing desktop application..."
|
||||
PYTHON_PATH=$(which python) USE_HARD_LINKS=false yarn dist --mac --arm64
|
||||
|
||||
yarn renameReleaseAssets --repo="$GH_REPO" --tag="$GIT_TAG_NAME" --token="$GITHUB_TOKEN"
|
||||
yarn modifyReleaseAssets --repo="$GH_REPO" --tag="$GIT_TAG_NAME" --token="$GITHUB_TOKEN"
|
||||
else
|
||||
echo "Building but *not* publishing desktop application..."
|
||||
|
||||
@@ -81,4 +80,4 @@ jobs:
|
||||
npm pkg set 'build.mac.identity'=null --json
|
||||
|
||||
PYTHON_PATH=$(which python) USE_HARD_LINKS=false yarn dist --mac --arm64 --publish=never
|
||||
fi
|
||||
fi
|
6
.github/workflows/cla.yml
vendored
@@ -13,16 +13,16 @@ jobs:
|
||||
- name: "CLA Assistant"
|
||||
if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target'
|
||||
# Beta Release
|
||||
uses: contributor-assistant/github-action@v2.3.1
|
||||
uses: contributor-assistant/github-action@v2.3.2
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
# the below token should have repo scope and must be manually added by you in the repository's secret
|
||||
PERSONAL_ACCESS_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
|
||||
with:
|
||||
path-to-signatures: 'readme/cla_signatures.json'
|
||||
path-to-signatures: 'readme/cla/signatures.json'
|
||||
path-to-document: 'https://github.com/laurent22/joplin/blob/dev/readme/cla.md' # e.g. a CLA or a DCO document
|
||||
# branch should not be protected
|
||||
branch: 'dev'
|
||||
branch: 'cla_signatures'
|
||||
allowlist: joplinbot,renovate[bot]
|
||||
|
||||
# the followings are the optional inputs - If the optional inputs are not given, then default values will be taken
|
||||
|
2
.github/workflows/close-stale-issues.yml
vendored
@@ -9,7 +9,7 @@ jobs:
|
||||
if: github.repository == 'laurent22/joplin'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@v4
|
||||
- uses: actions/stale@v9
|
||||
with:
|
||||
# Use this to do a dry run from a pull request
|
||||
# debug-only: true
|
||||
|
127
.github/workflows/github-actions-main.yml
vendored
@@ -1,69 +1,20 @@
|
||||
name: Joplin Continuous Integration
|
||||
on: [push, pull_request]
|
||||
jobs:
|
||||
pre_job:
|
||||
if: github.repository == 'laurent22/joplin'
|
||||
# Do not use unbuntu-latest because it causes `The operation was canceled` failures:
|
||||
# https://github.com/actions/runner-images/issues/6709
|
||||
runs-on: ubuntu-20.04
|
||||
outputs:
|
||||
should_skip: ${{ steps.skip_check.outputs.should_skip }}
|
||||
steps:
|
||||
- id: skip_check
|
||||
uses: fkirc/skip-duplicate-actions@v5
|
||||
with:
|
||||
concurrent_skipping: 'same_content_newer'
|
||||
|
||||
Main:
|
||||
needs: pre_job
|
||||
# We always process server or desktop release tags, because they also publish the release
|
||||
if: github.repository == 'laurent22/joplin' && (needs.pre_job.outputs.should_skip != 'true' || startsWith(github.ref, 'refs/tags/server-v') || startsWith(github.ref, 'refs/tags/v'))
|
||||
if: github.repository == 'laurent22/joplin'
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
# Do not use unbuntu-latest because it causes `The operation was canceled` failures:
|
||||
# https://github.com/actions/runner-images/issues/6709
|
||||
os: [macos-latest, ubuntu-20.04, windows-2019]
|
||||
os: [macos-13, ubuntu-22.04, windows-2019, ubuntu-22.04-arm]
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
# Trying to fix random networking issues on Windows
|
||||
# https://github.com/actions/runner-images/issues/1187#issuecomment-686735760
|
||||
- name: Disable TCP/UDP offload on Windows
|
||||
if: runner.os == 'Windows'
|
||||
run: Disable-NetAdapterChecksumOffload -Name * -TcpIPv4 -UdpIPv4 -TcpIPv6 -UdpIPv6
|
||||
|
||||
- name: Disable TCP/UDP offload on Linux
|
||||
if: runner.os == 'Linux'
|
||||
run: sudo ethtool -K eth0 tx off rx off
|
||||
|
||||
- name: Disable TCP/UDP offload on macOS
|
||||
if: runner.os == 'macOS'
|
||||
run: |
|
||||
sudo sysctl -w net.link.generic.system.hwcksum_tx=0
|
||||
sudo sysctl -w net.link.generic.system.hwcksum_rx=0
|
||||
|
||||
# Silence apt-get update errors (for example when a module doesn't
|
||||
# exist) since otherwise it will make the whole build fails, even though
|
||||
# it might work without update. libsecret-1-dev is required for keytar -
|
||||
# https://github.com/atom/node-keytar
|
||||
|
||||
- name: Install Linux dependencies
|
||||
if: runner.os == 'Linux'
|
||||
run: |
|
||||
sudo apt-get update || true
|
||||
sudo apt-get install -y gettext
|
||||
sudo apt-get install -y libsecret-1-dev
|
||||
sudo apt-get install -y translate-toolkit
|
||||
sudo apt-get install -y rsync
|
||||
# Provides a virtual display on Linux. Used for Playwright integration
|
||||
# testing.
|
||||
sudo apt-get install -y xvfb
|
||||
|
||||
- name: Install macOs dependencies
|
||||
if: runner.os == 'macOS'
|
||||
run: |
|
||||
# Required for building the canvas package
|
||||
brew install pango
|
||||
- name: Setup build environment
|
||||
uses: ./.github/workflows/shared/setup-build-environment
|
||||
|
||||
- name: Install Docker Engine
|
||||
# if: runner.os == 'Linux' && startsWith(github.ref, 'refs/tags/server-v')
|
||||
@@ -76,25 +27,11 @@ jobs:
|
||||
sudo apt-get install -y lsb-release
|
||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
|
||||
echo \
|
||||
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
|
||||
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
|
||||
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||
sudo apt-get update || true
|
||||
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
|
||||
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
- uses: olegtarasov/get-tag@v2.1
|
||||
- uses: actions/setup-node@v2
|
||||
with:
|
||||
# We need to pin the version to 18.15, because 18.16+ fails with this error:
|
||||
# https://github.com/facebook/react-native/issues/36440
|
||||
node-version: '18.15.0'
|
||||
cache: 'yarn'
|
||||
|
||||
- name: Install Yarn
|
||||
run: |
|
||||
# https://yarnpkg.com/getting-started/install
|
||||
corepack enable
|
||||
|
||||
# Login to Docker only if we're on a server release tag. If we run this on
|
||||
# a pull request it will fail because the PR doesn't have access to
|
||||
# secrets
|
||||
@@ -104,15 +41,6 @@ jobs:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
# macos-latest ships with Python 3.12 by default, but this removes a
|
||||
# utility that's used by electron-builder (distutils) so we need to pin
|
||||
# Python to an earlier version.
|
||||
# Fixes error `ModuleNotFoundError: No module named 'distutils'`
|
||||
# Ref: https://github.com/nodejs/node-gyp/issues/2869
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.11'
|
||||
|
||||
- name: Run tests, build and publish Linux and macOS apps
|
||||
if: runner.os == 'Linux' || runner.os == 'macOs'
|
||||
env:
|
||||
@@ -156,15 +84,23 @@ jobs:
|
||||
run: |
|
||||
yarn install && cd packages/app-desktop && yarn dist --publish=never
|
||||
|
||||
- name: Publish Docker manifest
|
||||
if: runner.os == 'Linux'
|
||||
env:
|
||||
SERVER_REPOSITORY: joplin/server
|
||||
SERVER_TAG_PREFIX: server
|
||||
run: |
|
||||
chmod 700 "${GITHUB_WORKSPACE}/.github/scripts/publish_docker_manifest.sh"
|
||||
"${GITHUB_WORKSPACE}/.github/scripts/publish_docker_manifest.sh"
|
||||
|
||||
ServerDockerImage:
|
||||
needs: pre_job
|
||||
if: github.repository == 'laurent22/joplin' && needs.pre_job.outputs.should_skip != 'true'
|
||||
if: github.repository == 'laurent22/joplin'
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
# Do not use unbuntu-latest because it causes `The operation was canceled` failures:
|
||||
# https://github.com/actions/runner-images/issues/6709
|
||||
os: [ubuntu-20.04]
|
||||
os: [ubuntu-22.04, ubuntu-22.04-arm]
|
||||
steps:
|
||||
|
||||
- name: Install Docker Engine
|
||||
@@ -176,14 +112,14 @@ jobs:
|
||||
sudo apt-get install -y lsb-release
|
||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
|
||||
echo \
|
||||
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
|
||||
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
|
||||
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||
sudo apt-get update || true
|
||||
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
|
||||
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/setup-node@v2
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '18'
|
||||
cache: 'yarn'
|
||||
@@ -197,17 +133,30 @@ jobs:
|
||||
env:
|
||||
BUILD_SEQUENCIAL: 1
|
||||
run: |
|
||||
if [ "$RUNNER_ARCH" == "ARM64" ]; then
|
||||
DOCKER_IMAGE_PLATFORM="linux/arm64"
|
||||
fi
|
||||
|
||||
echo "RUNNER_OS=$RUNNER_OS"
|
||||
echo "RUNNER_ARCH=$RUNNER_ARCH"
|
||||
echo "DOCKER_IMAGE_PLATFORM=$DOCKER_IMAGE_PLATFORM"
|
||||
|
||||
# Canvas is only needed for tests and it doesn't build in ARM64 so remove it
|
||||
cd packages/lib
|
||||
yarn remove canvas
|
||||
cd ../..
|
||||
|
||||
yarn install
|
||||
yarn buildServerDocker --tag-name server-v0.0.0 --repository joplin/server
|
||||
yarn buildServerDocker --platform $DOCKER_IMAGE_PLATFORM --tag-name server-v0.0.0 --repository joplin/server
|
||||
|
||||
# Basic test to ensure that the created build is valid. It should exit with
|
||||
# code 0 if it works.
|
||||
docker run joplin/server:0.0.0-beta node dist/app.js migrate list
|
||||
# code 0 if it works.
|
||||
docker run joplin/server:$(dpkg --print-architecture)-0.0.0 node dist/app.js migrate list
|
||||
|
||||
- name: Check HTTP request
|
||||
run: |
|
||||
# Need to pass environment variables:
|
||||
docker run -p 22300:22300 joplin/server:0.0.0-beta node dist/app.js --env dev &
|
||||
docker run -p 22300:22300 joplin/server:$(dpkg --print-architecture)-0.0.0 node dist/app.js --env dev &
|
||||
|
||||
# Wait for server to start
|
||||
sleep 30
|
||||
|
72
.github/workflows/shared/setup-build-environment/action.yml
vendored
Normal file
@@ -0,0 +1,72 @@
|
||||
name: 'Setup build environment'
|
||||
description: 'Install Joplin build dependencies'
|
||||
runs:
|
||||
using: 'composite'
|
||||
steps:
|
||||
# Trying to fix random networking issues on Windows
|
||||
# https://github.com/actions/runner-images/issues/1187#issuecomment-686735760
|
||||
- name: Disable TCP/UDP offload on Windows
|
||||
if: runner.os == 'Windows'
|
||||
shell: pwsh
|
||||
run: Disable-NetAdapterChecksumOffload -Name * -TcpIPv4 -UdpIPv4 -TcpIPv6 -UdpIPv6
|
||||
|
||||
- name: Disable TCP/UDP offload on Linux
|
||||
if: runner.os == 'Linux'
|
||||
shell: bash
|
||||
run: sudo ethtool -K eth0 tx off rx off
|
||||
|
||||
- name: Disable TCP/UDP offload on macOS
|
||||
if: runner.os == 'macOS'
|
||||
shell: bash
|
||||
run: |
|
||||
sudo sysctl -w net.link.generic.system.hwcksum_tx=0
|
||||
sudo sysctl -w net.link.generic.system.hwcksum_rx=0
|
||||
|
||||
# Silence apt-get update errors (for example when a module doesn't
|
||||
# exist) since otherwise it will make the whole build fails, even though
|
||||
# it might work without update. libsecret-1-dev is required for keytar -
|
||||
# https://github.com/atom/node-keytar
|
||||
|
||||
- name: Install Linux dependencies
|
||||
if: runner.os == 'Linux'
|
||||
shell: bash
|
||||
run: |
|
||||
sudo apt-get update || true
|
||||
sudo apt-get install -y gettext
|
||||
sudo apt-get install -y libsecret-1-dev
|
||||
sudo apt-get install -y translate-toolkit
|
||||
sudo apt-get install -y rsync
|
||||
# Provides a virtual display on Linux. Used for Playwright integration
|
||||
# testing.
|
||||
sudo apt-get install -y xvfb
|
||||
|
||||
- name: Install macOs dependencies
|
||||
if: runner.os == 'macOS'
|
||||
shell: bash
|
||||
run: |
|
||||
# Required for building the canvas package
|
||||
brew install pango
|
||||
|
||||
- uses: olegtarasov/get-tag@v2.1.3
|
||||
- uses: dtolnay/rust-toolchain@stable
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
# We need to pin the version to 18.15, because 18.16+ fails with this error:
|
||||
# https://github.com/facebook/react-native/issues/36440
|
||||
node-version: '18.15.0'
|
||||
cache: 'yarn'
|
||||
|
||||
- name: Install Yarn
|
||||
shell: bash
|
||||
run: |
|
||||
# https://yarnpkg.com/getting-started/install
|
||||
corepack enable
|
||||
|
||||
# macos-latest ships with Python 3.12 by default, but this removes a
|
||||
# utility that's used by electron-builder (distutils) so we need to pin
|
||||
# Python to an earlier version.
|
||||
# Fixes error `ModuleNotFoundError: No module named 'distutils'`
|
||||
# Ref: https://github.com/nodejs/node-gyp/issues/2869
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.11'
|
30
.github/workflows/ui-tests.yml
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
name: Joplin UI tests
|
||||
on: [push, pull_request]
|
||||
permissions:
|
||||
contents: read
|
||||
jobs:
|
||||
Main:
|
||||
# Don't run on forks
|
||||
if: github.repository == 'laurent22/joplin'
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [macos-13, ubuntu-22.04, windows-2025]
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setup build environment
|
||||
uses: ./.github/workflows/shared/setup-build-environment
|
||||
- name: Build
|
||||
run: yarn install
|
||||
- name: Run UI tests
|
||||
shell: bash
|
||||
run: |
|
||||
cd ${GITHUB_WORKSPACE}/packages/app-desktop/
|
||||
bash ./integration-tests/run-ci.sh
|
||||
# See https://playwright.dev/docs/ci-intro#setting-up-github-actions
|
||||
- uses: actions/upload-artifact@v4
|
||||
if: ${{ !cancelled() }}
|
||||
with:
|
||||
name: playwright-report-${{ matrix.os }}
|
||||
path: packages/app-desktop/playwright-report/
|
||||
retention-days: 7
|
633
.gitignore
vendored
1
.husky/pre-commit
Normal file
@@ -0,0 +1 @@
|
||||
corepack yarn lint-staged
|
@@ -3,23 +3,23 @@
|
||||
"prefer-absolute-version-dependencies": ["error",
|
||||
{
|
||||
"exceptions": [
|
||||
"@joplin/lib",
|
||||
"@joplin/renderer",
|
||||
"@joplin/editor",
|
||||
"@joplin/pdf-viewer",
|
||||
"@joplin/fork-htmlparser2",
|
||||
"@joplin/fork-sax",
|
||||
"@joplin/fork-uslug",
|
||||
"@joplin/htmlpack",
|
||||
"@joplin/turndown",
|
||||
"@joplin/turndown-plugin-gfm",
|
||||
"@joplin/tools",
|
||||
"@joplin/react-native-saf-x",
|
||||
"@joplin/lib",
|
||||
"@joplin/onenote-converter",
|
||||
"@joplin/pdf-viewer",
|
||||
"@joplin/react-native-alarm-notification",
|
||||
"@joplin/react-native-saf-x",
|
||||
"@joplin/renderer",
|
||||
"@joplin/tools",
|
||||
"@joplin/turndown-plugin-gfm",
|
||||
"@joplin/turndown",
|
||||
"@joplin/utils"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
3
.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"cSpell.enabled": true
|
||||
}
|
@@ -1,62 +0,0 @@
|
||||
diff --git a/android/src/newarch/java/com/reactnativecommunity/slider/ReactSliderManager.java b/android/src/newarch/java/com/reactnativecommunity/slider/ReactSliderManager.java
|
||||
index a5bb95eec3337b93a2338a2869a2bda176c91cae..87817688eb280c2f702c26dc35558c6a0a4db1ea 100644
|
||||
--- a/android/src/newarch/java/com/reactnativecommunity/slider/ReactSliderManager.java
|
||||
+++ b/android/src/newarch/java/com/reactnativecommunity/slider/ReactSliderManager.java
|
||||
@@ -42,12 +42,20 @@ public class ReactSliderManager extends SimpleViewManager<ReactSlider> implement
|
||||
public void onProgressChanged(SeekBar seekbar, int progress, boolean fromUser) {
|
||||
ReactSlider slider = (ReactSlider)seekbar;
|
||||
|
||||
- if(progress < slider.getLowerLimit()) {
|
||||
- progress = slider.getLowerLimit();
|
||||
- seekbar.setProgress(progress);
|
||||
- } else if (progress > slider.getUpperLimit()) {
|
||||
- progress = slider.getUpperLimit();
|
||||
- seekbar.setProgress(progress);
|
||||
+ // During initialization, lowerLimit can be greater than upperLimit.
|
||||
+ //
|
||||
+ // If a change event is received during this, we need a check to prevent
|
||||
+ // infinite recursion.
|
||||
+ //
|
||||
+ // Issue: https://github.com/callstack/react-native-slider/issues/571
|
||||
+ if (slider.getLowerLimit() <= slider.getUpperLimit()) {
|
||||
+ if(progress < slider.getLowerLimit()) {
|
||||
+ progress = slider.getLowerLimit();
|
||||
+ seekbar.setProgress(progress);
|
||||
+ } else if (progress > slider.getUpperLimit()) {
|
||||
+ progress = slider.getUpperLimit();
|
||||
+ seekbar.setProgress(progress);
|
||||
+ }
|
||||
}
|
||||
|
||||
ReactContext reactContext = (ReactContext) seekbar.getContext();
|
||||
diff --git a/android/src/oldarch/java/com/reactnativecommunity/slider/ReactSliderManager.java b/android/src/oldarch/java/com/reactnativecommunity/slider/ReactSliderManager.java
|
||||
index 3ff5930f85a3cd92c2549925f41058abb188a57e..ab3681fdfe0b736c97020e1434e450c8183e6f18 100644
|
||||
--- a/android/src/oldarch/java/com/reactnativecommunity/slider/ReactSliderManager.java
|
||||
+++ b/android/src/oldarch/java/com/reactnativecommunity/slider/ReactSliderManager.java
|
||||
@@ -30,12 +30,20 @@ public class ReactSliderManager extends SimpleViewManager<ReactSlider> {
|
||||
public void onProgressChanged(SeekBar seekbar, int progress, boolean fromUser) {
|
||||
ReactSlider slider = (ReactSlider)seekbar;
|
||||
|
||||
- if(progress < slider.getLowerLimit()) {
|
||||
- progress = slider.getLowerLimit();
|
||||
- seekbar.setProgress(progress);
|
||||
- } else if(progress > slider.getUpperLimit()) {
|
||||
- progress = slider.getUpperLimit();
|
||||
- seekbar.setProgress(progress);
|
||||
+ // During initialization, lowerLimit can be greater than upperLimit.
|
||||
+ //
|
||||
+ // If a change event is received during this, we need a check to prevent
|
||||
+ // infinite recursion.
|
||||
+ //
|
||||
+ // Issue: https://github.com/callstack/react-native-slider/issues/571
|
||||
+ if (slider.getLowerLimit() <= slider.getUpperLimit()) {
|
||||
+ if(progress < slider.getLowerLimit()) {
|
||||
+ progress = slider.getLowerLimit();
|
||||
+ seekbar.setProgress(progress);
|
||||
+ } else if (progress > slider.getUpperLimit()) {
|
||||
+ progress = slider.getUpperLimit();
|
||||
+ seekbar.setProgress(progress);
|
||||
+ }
|
||||
}
|
||||
|
||||
ReactContext reactContext = (ReactContext) seekbar.getContext();
|
90
.yarn/patches/app-builder-lib-npm-24.13.3-86a66c0bf3.patch
Normal file
@@ -0,0 +1,90 @@
|
||||
# This patch's goal is to work around an issue in the NSIS uninstaller on Windows:
|
||||
# - For future uninstallers, this patch backports an upstream commit that changes how
|
||||
# running copies of the app are found.
|
||||
# - See https://github.com/electron-userland/electron-builder/pull/8133
|
||||
# - If an existing uninstaller fails, gives an option to continue with the installation
|
||||
# despite the failure.
|
||||
# - Updates "uninstall failed" error messages to state that uninstallation failed (rather
|
||||
# than incorrectly stating that the issue was with closing the app).
|
||||
#
|
||||
# See https://github.com/laurent22/joplin/pull/11541
|
||||
diff --git a/templates/nsis/include/allowOnlyOneInstallerInstance.nsh b/templates/nsis/include/allowOnlyOneInstallerInstance.nsh
|
||||
index fe5d45c730f36c9fe8d8cfea12e242e501b67139..97b27fce6798e30e3e631221435f09b3579e77c3 100644
|
||||
--- a/templates/nsis/include/allowOnlyOneInstallerInstance.nsh
|
||||
+++ b/templates/nsis/include/allowOnlyOneInstallerInstance.nsh
|
||||
@@ -42,7 +42,7 @@
|
||||
${nsProcess::FindProcess} "${_FILE}" ${_ERR}
|
||||
!else
|
||||
# find process owned by current user
|
||||
- nsExec::Exec `%SYSTEMROOT%\System32\cmd.exe /c tasklist /FI "USERNAME eq %USERNAME%" /FI "IMAGENAME eq ${_FILE}" /FO csv | %SYSTEMROOT%\System32\find.exe "${_FILE}"`
|
||||
+ nsExec::Exec `"$SYSDIR\cmd.exe" /c tasklist /FI "USERNAME eq %USERNAME%" /FI "IMAGENAME eq ${_FILE}" /FO csv | "$SYSDIR\find.exe" "${_FILE}"`
|
||||
Pop ${_ERR}
|
||||
!endif
|
||||
!macroend
|
||||
@@ -73,7 +73,7 @@
|
||||
!ifdef INSTALL_MODE_PER_ALL_USERS
|
||||
nsExec::Exec `taskkill /im "${APP_EXECUTABLE_FILENAME}" /fi "PID ne $pid"`
|
||||
!else
|
||||
- nsExec::Exec `%SYSTEMROOT%\System32\cmd.exe /c taskkill /im "${APP_EXECUTABLE_FILENAME}" /fi "PID ne $pid" /fi "USERNAME eq %USERNAME%"`
|
||||
+ nsExec::Exec `"$SYSDIR\cmd.exe" /c taskkill /im "${APP_EXECUTABLE_FILENAME}" /fi "PID ne $pid" /fi "USERNAME eq %USERNAME%"`
|
||||
!endif
|
||||
# to ensure that files are not "in-use"
|
||||
Sleep 300
|
||||
@@ -91,7 +91,7 @@
|
||||
!ifdef INSTALL_MODE_PER_ALL_USERS
|
||||
nsExec::Exec `taskkill /f /im "${APP_EXECUTABLE_FILENAME}" /fi "PID ne $pid"`
|
||||
!else
|
||||
- nsExec::Exec `%SYSTEMROOT%\System32\cmd.exe /c taskkill /f /im "${APP_EXECUTABLE_FILENAME}" /fi "PID ne $pid" /fi "USERNAME eq %USERNAME%"`
|
||||
+ nsExec::Exec `"$SYSDIR\cmd.exe" /c taskkill /f /im "${APP_EXECUTABLE_FILENAME}" /fi "PID ne $pid" /fi "USERNAME eq %USERNAME%"`
|
||||
!endif
|
||||
!insertmacro FIND_PROCESS "${APP_EXECUTABLE_FILENAME}" $R0
|
||||
${If} $R0 == 0
|
||||
diff --git a/templates/nsis/include/installUtil.nsh b/templates/nsis/include/installUtil.nsh
|
||||
index 47367741632726ba0886ac516461dbe98b7aea58..675965762375925a505ca6d8bbb67507ef696c2e 100644
|
||||
--- a/templates/nsis/include/installUtil.nsh
|
||||
+++ b/templates/nsis/include/installUtil.nsh
|
||||
@@ -126,10 +126,11 @@ Function handleUninstallResult
|
||||
Return
|
||||
|
||||
${if} $R0 != 0
|
||||
- MessageBox MB_OK|MB_ICONEXCLAMATION "$(uninstallFailed): $R0"
|
||||
+ # MessageBox MB_OK|MB_ICONEXCLAMATION "$(uninstallFailed): $R0"
|
||||
DetailPrint `Uninstall was not successful. Uninstaller error code: $R0.`
|
||||
- SetErrorLevel 2
|
||||
- Quit
|
||||
+ DetailPrint `Continuing anyway. See https://github.com/laurent22/joplin/pull/11612.`
|
||||
+ # SetErrorLevel 2
|
||||
+ # Quit
|
||||
${endif}
|
||||
FunctionEnd
|
||||
|
||||
@@ -216,11 +217,13 @@ Function uninstallOldVersion
|
||||
IntOp $R5 $R5 + 1
|
||||
|
||||
${if} $R5 > 5
|
||||
- MessageBox MB_RETRYCANCEL|MB_ICONEXCLAMATION "$(appCannotBeClosed)" /SD IDCANCEL IDRETRY OneMoreAttempt
|
||||
- Return
|
||||
+ MessageBox MB_RETRYCANCEL|MB_ICONEXCLAMATION "$(appCannotBeUninstalled)" /SD IDCANCEL IDRETRY ContinueWithoutUninstall
|
||||
+ Abort ; Exit early
|
||||
+ ContinueWithoutUninstall:
|
||||
+ Return
|
||||
${endIf}
|
||||
|
||||
- OneMoreAttempt:
|
||||
+# OneMoreAttempt: ; Commented out because unused
|
||||
ExecWait '"$uninstallerFileNameTemp" /S /KEEP_APP_DATA $0 _?=$installationDir' $R0
|
||||
ifErrors TryInPlace CheckResult
|
||||
|
||||
diff --git a/templates/nsis/messages.yml b/templates/nsis/messages.yml
|
||||
index a1c2847fa48d79f835b30b48e999ccaf3c818657..6884c18d1e77dbd6be114401d23cf5caf3e0dd94 100644
|
||||
--- a/templates/nsis/messages.yml
|
||||
+++ b/templates/nsis/messages.yml
|
||||
@@ -235,3 +235,8 @@ uninstallFailed:
|
||||
sv: Det gick inte att avinstallera gamla programfiler. Försök att köra installationsprogrammet igen.
|
||||
uk: Не вдалось видалити старі файли застосунку. Будь ласка, спробуйте запустити встановлювач знов.
|
||||
zh_TW: 無法俺安裝舊的應用程式檔案。 請嘗試再次執行安裝程式。
|
||||
+
|
||||
+
|
||||
+appCannotBeUninstalled:
|
||||
+ en: "The old version of ${PRODUCT_NAME} could not be removed. \nClick Retry to skip this step."
|
||||
+
|
@@ -1,13 +0,0 @@
|
||||
diff --git a/templates/nsis/include/allowOnlyOneInstallerInstance.nsh b/templates/nsis/include/allowOnlyOneInstallerInstance.nsh
|
||||
index a1fd1875d852ff69c087a3103eff827c20d37ca5..5222614ddad3276876857e7a9dde4017a6b9fc85 100644
|
||||
--- a/templates/nsis/include/allowOnlyOneInstallerInstance.nsh
|
||||
+++ b/templates/nsis/include/allowOnlyOneInstallerInstance.nsh
|
||||
@@ -42,7 +42,7 @@
|
||||
${nsProcess::FindProcess} "${_FILE}" ${_ERR}
|
||||
!else
|
||||
# find process owned by current user
|
||||
- nsExec::Exec `cmd /c tasklist /FI "USERNAME eq %USERNAME%" /FI "IMAGENAME eq ${_FILE}" | %SYSTEMROOT%\System32\find.exe "${_FILE}"`
|
||||
+ nsExec::Exec `cmd /c tasklist /FI "USERNAME eq %USERNAME%" /FI "PID ne $pid" /FI "IMAGENAME eq ${_FILE}" | %SYSTEMROOT%\System32\find.exe "${_FILE}"`
|
||||
Pop ${_ERR}
|
||||
!endif
|
||||
!macroend
|
@@ -1,33 +0,0 @@
|
||||
diff --git a/lib/runner/index.js b/lib/runner/index.js
|
||||
index 87e3b3957619728e3ed1ca61e2d83df1c49f928f..6d5ab905415da0577341c8f5b67d4806adcf7549 100644
|
||||
--- a/lib/runner/index.js
|
||||
+++ b/lib/runner/index.js
|
||||
@@ -68,15 +68,19 @@ function run([, scriptPath, hookName = '', HUSKY_GIT_PARAMS], getStdinFn = get_s
|
||||
return 0;
|
||||
}
|
||||
catch (err) {
|
||||
- const noVerifyMessage = [
|
||||
- 'commit-msg',
|
||||
- 'pre-commit',
|
||||
- 'pre-rebase',
|
||||
- 'pre-push'
|
||||
- ].includes(hookName)
|
||||
- ? '(add --no-verify to bypass)'
|
||||
- : '(cannot be bypassed with --no-verify due to Git specs)';
|
||||
- console.log(`husky > ${hookName} hook failed ${noVerifyMessage}`);
|
||||
+ // We do not want to print this "add --no-verify to bypass" message because that's
|
||||
+ // literally what some developers do instead of trying to fix the errors.
|
||||
+
|
||||
+ // const noVerifyMessage = [
|
||||
+ // 'commit-msg',
|
||||
+ // 'pre-commit',
|
||||
+ // 'pre-rebase',
|
||||
+ // 'pre-push'
|
||||
+ // ].includes(hookName)
|
||||
+ // ? '(add --no-verify to bypass)'
|
||||
+ // : '(cannot be bypassed with --no-verify due to Git specs)';
|
||||
+
|
||||
+ console.log(`husky > ${hookName} hook failed (Please fix the errors listed above and try again)`);
|
||||
return err.code;
|
||||
}
|
||||
});
|
@@ -1,8 +1,8 @@
|
||||
diff --git a/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java b/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java
|
||||
index 0f52b73c61625db2a3081c0950b6bdd2b06e3d40..b0fc3de4be0b3a26b638683613c63c783c2739bb 100644
|
||||
index 8a719ca35af1cc3a4192c5c5f8258fd4f7fea990..5f8831f81cd164a4f627423427ead92fa286b115 100644
|
||||
--- a/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java
|
||||
+++ b/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java
|
||||
@@ -38,7 +38,7 @@ import com.facebook.react.uimanager.common.ViewUtil;
|
||||
@@ -37,7 +37,7 @@ import com.facebook.react.uimanager.common.ViewUtil;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Queue;
|
||||
@@ -11,7 +11,7 @@ index 0f52b73c61625db2a3081c0950b6bdd2b06e3d40..b0fc3de4be0b3a26b638683613c63c78
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
/**
|
||||
@@ -151,7 +151,10 @@ public class NativeAnimatedModule extends NativeAnimatedModuleSpec
|
||||
@@ -149,7 +149,10 @@ public class NativeAnimatedModule extends NativeAnimatedModuleSpec
|
||||
}
|
||||
|
||||
private class ConcurrentOperationQueue {
|
50
.yarn/patches/react-native-paper-npm-5.13.1-f153e542e2.patch
Normal file
@@ -0,0 +1,50 @@
|
||||
# This is a (hopefully temporary) fix for an accessibility issue in the FAB.Group
|
||||
# component. See https://github.com/callstack/react-native-paper/pull/4498 for details.
|
||||
diff --git a/lib/commonjs/components/FAB/FABGroup.js b/lib/commonjs/components/FAB/FABGroup.js
|
||||
index 26933dd7ac6862c0dd95e52b8cd91c8bbd0b6efc..417c91a0257849eb597afb5e339e13b6d1d54486 100644
|
||||
--- a/lib/commonjs/components/FAB/FABGroup.js
|
||||
+++ b/lib/commonjs/components/FAB/FABGroup.js
|
||||
@@ -209,8 +209,9 @@ const FABGroup = _ref => {
|
||||
}],
|
||||
pointerEvents: open ? 'box-none' : 'none',
|
||||
accessibilityRole: "button",
|
||||
- importantForAccessibility: "yes",
|
||||
- accessible: true,
|
||||
+ importantForAccessibility: open ? 'yes' : 'no-hide-descendants',
|
||||
+ accessibilityElementsHidden: !open,
|
||||
+ accessible: open,
|
||||
accessibilityLabel: accessibilityLabel
|
||||
}, it.label && /*#__PURE__*/React.createElement(_reactNative.View, null, /*#__PURE__*/React.createElement(_Card.default, {
|
||||
mode: isV3 ? 'contained' : 'elevated',
|
||||
diff --git a/lib/module/components/FAB/FABGroup.js b/lib/module/components/FAB/FABGroup.js
|
||||
index ca5c02679539b17b048d4c82f570791dd8b57545..a06902b744b3bfb06b0644930eda0ba2ce2967ca 100644
|
||||
--- a/lib/module/components/FAB/FABGroup.js
|
||||
+++ b/lib/module/components/FAB/FABGroup.js
|
||||
@@ -200,8 +200,9 @@ const FABGroup = _ref => {
|
||||
}],
|
||||
pointerEvents: open ? 'box-none' : 'none',
|
||||
accessibilityRole: "button",
|
||||
- importantForAccessibility: "yes",
|
||||
- accessible: true,
|
||||
+ importantForAccessibility: open ? 'yes' : 'no-hide-descendants',
|
||||
+ accessibilityElementsHidden: !open,
|
||||
+ accessible: open,
|
||||
accessibilityLabel: accessibilityLabel
|
||||
}, it.label && /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(Card, {
|
||||
mode: isV3 ? 'contained' : 'elevated',
|
||||
diff --git a/src/components/FAB/FABGroup.tsx b/src/components/FAB/FABGroup.tsx
|
||||
index af1e85c4cbabfdd05499f9befb9f851be5911835..d010393975b0b31852efba1b7ce9cb09da4feaec 100644
|
||||
--- a/src/components/FAB/FABGroup.tsx
|
||||
+++ b/src/components/FAB/FABGroup.tsx
|
||||
@@ -383,8 +383,9 @@ const FABGroup = ({
|
||||
]}
|
||||
pointerEvents={open ? 'box-none' : 'none'}
|
||||
accessibilityRole="button"
|
||||
- importantForAccessibility="yes"
|
||||
- accessible={true}
|
||||
+ importantForAccessibility={open ? 'yes' : 'no-hide-descendants'}
|
||||
+ accessibilityElementsHidden={!open}
|
||||
+ accessible={open}
|
||||
accessibilityLabel={accessibilityLabel}
|
||||
>
|
||||
{it.label && (
|
@@ -0,0 +1,64 @@
|
||||
# This patch improves the note actions menu (the kebab menu)'s accessibility
|
||||
# by labelling its dismiss button.
|
||||
diff --git a/build/rnpm.js b/build/rnpm.js
|
||||
index 47bc91a88b9e2246a0ce4295f9f932da6a572461..75b5a22bdcbc2594238bcf953df6d54e18cc7793 100644
|
||||
--- a/build/rnpm.js
|
||||
+++ b/build/rnpm.js
|
||||
@@ -1267,7 +1267,9 @@
|
||||
onPress = _this$props.onPress,
|
||||
style = _this$props.style;
|
||||
return React__default.createElement(reactNative.TouchableWithoutFeedback, {
|
||||
- onPress: onPress
|
||||
+ onPress: onPress,
|
||||
+ accessibilityLabel: _this$props.accessibilityLabel,
|
||||
+ accessibilityRole: 'button',
|
||||
}, React__default.createElement(reactNative.Animated.View, {
|
||||
style: [styles.fullscreen, {
|
||||
opacity: this.fadeAnim
|
||||
@@ -1282,7 +1284,8 @@
|
||||
}(React.Component);
|
||||
|
||||
Backdrop.propTypes = {
|
||||
- onPress: propTypes.func.isRequired
|
||||
+ onPress: propTypes.func.isRequired,
|
||||
+ accessibilityLabel: propTypes.string,
|
||||
};
|
||||
var styles = reactNative.StyleSheet.create({
|
||||
fullscreen: {
|
||||
@@ -1352,6 +1355,7 @@
|
||||
style: styles$1.placeholder
|
||||
}, React__default.createElement(Backdrop, {
|
||||
onPress: ctx._onBackdropPress,
|
||||
+ accessibilityLabel: this.props.closeButtonLabel,
|
||||
style: backdropStyles,
|
||||
ref: ctx.onBackdropRef
|
||||
}), ctx._makeOptions());
|
||||
@@ -1784,6 +1788,7 @@
|
||||
}), React__default.createElement(MenuPlaceholder, {
|
||||
ctx: this,
|
||||
backdropStyles: customStyles.backdrop,
|
||||
+ closeButtonLabel: this.props.closeButtonLabel,
|
||||
ref: this._onPlaceholderRef
|
||||
}))));
|
||||
}
|
||||
@@ -1854,7 +1859,7 @@
|
||||
var _options$props = options.props,
|
||||
optionsContainerStyle = _options$props.optionsContainerStyle,
|
||||
renderOptionsContainer = _options$props.renderOptionsContainer,
|
||||
- customStyles = _options$props.customStyles;
|
||||
+ customStyles = _options$props.customStyles || {};
|
||||
var optionsRenderer = renderOptionsContainer || defaultOptionsContainerRenderer;
|
||||
var isOutside = !triggerLayout || !optionsLayout;
|
||||
|
||||
diff --git a/src/index.d.ts b/src/index.d.ts
|
||||
index 7e1ef2e441a665e97c304984080399f9646395df..673c4f713757abfb1851cba0d4560020c83e5f50 100644
|
||||
--- a/src/index.d.ts
|
||||
+++ b/src/index.d.ts
|
||||
@@ -18,6 +18,7 @@ declare module "react-native-popup-menu" {
|
||||
menuProviderWrapper?: StyleProp<ViewStyle>;
|
||||
backdrop?: StyleProp<ViewStyle>;
|
||||
};
|
||||
+ closeButtonLabel: string;
|
||||
backHandler?: boolean | Function;
|
||||
skipInstanceCheck?: boolean;
|
||||
children: React.ReactNode;
|
@@ -0,0 +1,37 @@
|
||||
diff --git a/platforms/android/src/main/java/org/pgsqlite/SQLitePlugin.java b/platforms/android/src/main/java/org/pgsqlite/SQLitePlugin.java
|
||||
index 4f2391b..f7cc433 100644
|
||||
--- a/platforms/android/src/main/java/org/pgsqlite/SQLitePlugin.java
|
||||
+++ b/platforms/android/src/main/java/org/pgsqlite/SQLitePlugin.java
|
||||
@@ -8,11 +8,14 @@
|
||||
package org.pgsqlite;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
+import android.database.AbstractWindowedCursor;
|
||||
import android.database.Cursor;
|
||||
+import android.database.CursorWindow;
|
||||
import android.database.sqlite.SQLiteDatabase;
|
||||
import android.database.sqlite.SQLiteException;
|
||||
import android.database.sqlite.SQLiteStatement;
|
||||
import android.content.Context;
|
||||
+import android.os.Build;
|
||||
import android.util.Base64;
|
||||
|
||||
import java.io.Closeable;
|
||||
@@ -808,6 +811,17 @@ public class SQLitePlugin extends ReactContextBaseJavaModule {
|
||||
throw ex;
|
||||
}
|
||||
|
||||
+ // To try to fix the error "Row too big to fit into CursorWindow" when using sqlite binary bundled with the device
|
||||
+ // https://github.com/andpor/react-native-sqlite-storage/issues/364#issuecomment-526423153
|
||||
+ // https://github.com/laurent22/joplin/issues/1767#issuecomment-515617991
|
||||
+
|
||||
+ if (cur != null && Build.VERSION.SDK_INT >= 28) {
|
||||
+ CursorWindow cw = new CursorWindow(null, 50 * 1024 * 1024);
|
||||
+ AbstractWindowedCursor ac = (AbstractWindowedCursor) cur;
|
||||
+ ac.setWindow(cw);
|
||||
+ cur = ac;
|
||||
+ }
|
||||
+
|
||||
// If query result has rows
|
||||
if (cur != null && cur.moveToFirst()) {
|
||||
WritableArray rowsArrayResult = Arguments.createArray();
|
118
.yarn/patches/rn-fetch-blob-npm-0.12.0-cf02e3c544.patch
Normal file
@@ -0,0 +1,118 @@
|
||||
# Fixes sync issues caused by locale-sensitive lowercasing
|
||||
# of HTTP headers.
|
||||
# See https://github.com/laurent22/joplin/issues/10681
|
||||
diff --git a/android/src/main/java/com/RNFetchBlob/RNFetchBlobConfig.java b/android/src/main/java/com/RNFetchBlob/RNFetchBlobConfig.java
|
||||
index 8ac9e7a855162cefbf99024eb013c8a3b11de1ec..1c639cf9d84821b6ffc132960e2d1c044bedbd48 100644
|
||||
--- a/android/src/main/java/com/RNFetchBlob/RNFetchBlobConfig.java
|
||||
+++ b/android/src/main/java/com/RNFetchBlob/RNFetchBlobConfig.java
|
||||
@@ -2,6 +2,7 @@ package com.RNFetchBlob;
|
||||
|
||||
import com.facebook.react.bridge.ReadableArray;
|
||||
import com.facebook.react.bridge.ReadableMap;
|
||||
+import java.util.Locale;
|
||||
|
||||
class RNFetchBlobConfig {
|
||||
|
||||
@@ -33,7 +34,7 @@ class RNFetchBlobConfig {
|
||||
}
|
||||
if(options.hasKey("binaryContentTypes"))
|
||||
this.binaryContentTypes = options.getArray("binaryContentTypes");
|
||||
- if(this.path != null && path.toLowerCase().contains("?append=true")) {
|
||||
+ if(this.path != null && path.toLowerCase(Locale.ROOT).contains("?append=true")) {
|
||||
this.overwrite = false;
|
||||
}
|
||||
if(options.hasKey("overwrite"))
|
||||
diff --git a/android/src/main/java/com/RNFetchBlob/RNFetchBlobFS.java b/android/src/main/java/com/RNFetchBlob/RNFetchBlobFS.java
|
||||
index a4d70153f41e6c14eec65412b5b59822f1c6750b..d98c439f7b0aeb79afc82ab9f653e9c021086426 100644
|
||||
--- a/android/src/main/java/com/RNFetchBlob/RNFetchBlobFS.java
|
||||
+++ b/android/src/main/java/com/RNFetchBlob/RNFetchBlobFS.java
|
||||
@@ -29,6 +29,7 @@ import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
+import java.util.Locale;
|
||||
|
||||
class RNFetchBlobFS {
|
||||
|
||||
@@ -210,7 +211,7 @@ class RNFetchBlobFS {
|
||||
return;
|
||||
}
|
||||
|
||||
- switch (encoding.toLowerCase()) {
|
||||
+ switch (encoding.toLowerCase(Locale.ROOT)) {
|
||||
case "base64" :
|
||||
promise.resolve(Base64.encodeToString(bytes, Base64.NO_WRAP));
|
||||
break;
|
||||
@@ -1050,7 +1051,7 @@ class RNFetchBlobFS {
|
||||
if(encoding.equalsIgnoreCase("ascii")) {
|
||||
return data.getBytes(Charset.forName("US-ASCII"));
|
||||
}
|
||||
- else if(encoding.toLowerCase().contains("base64")) {
|
||||
+ else if(encoding.toLowerCase(Locale.ROOT).contains("base64")) {
|
||||
return Base64.decode(data, Base64.NO_WRAP);
|
||||
|
||||
}
|
||||
diff --git a/android/src/main/java/com/RNFetchBlob/RNFetchBlobReq.java b/android/src/main/java/com/RNFetchBlob/RNFetchBlobReq.java
|
||||
index a8abd71833879201e3438b2fa51d712a311c4551..b70cc13c004229f69157de5f82ae5ec3abf4358e 100644
|
||||
--- a/android/src/main/java/com/RNFetchBlob/RNFetchBlobReq.java
|
||||
+++ b/android/src/main/java/com/RNFetchBlob/RNFetchBlobReq.java
|
||||
@@ -49,6 +49,7 @@ import java.security.KeyStore;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
+import java.util.Locale;
|
||||
import java.util.HashMap;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
@@ -300,14 +301,14 @@ public class RNFetchBlobReq extends BroadcastReceiver implements Runnable {
|
||||
responseFormat = ResponseFormat.UTF8;
|
||||
}
|
||||
else {
|
||||
- builder.header(key.toLowerCase(), value);
|
||||
- mheaders.put(key.toLowerCase(), value);
|
||||
+ builder.header(key.toLowerCase(Locale.ROOT), value);
|
||||
+ mheaders.put(key.toLowerCase(Locale.ROOT), value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(method.equalsIgnoreCase("post") || method.equalsIgnoreCase("put") || method.equalsIgnoreCase("patch")) {
|
||||
- String cType = getHeaderIgnoreCases(mheaders, "Content-Type").toLowerCase();
|
||||
+ String cType = getHeaderIgnoreCases(mheaders, "Content-Type").toLowerCase(Locale.ROOT);
|
||||
|
||||
if(rawRequestBodyArray != null) {
|
||||
requestType = RequestType.Form;
|
||||
@@ -323,7 +324,7 @@ public class RNFetchBlobReq extends BroadcastReceiver implements Runnable {
|
||||
|| rawRequestBody.startsWith(RNFetchBlobConst.CONTENT_PREFIX)) {
|
||||
requestType = RequestType.SingleFile;
|
||||
}
|
||||
- else if (cType.toLowerCase().contains(";base64") || cType.toLowerCase().startsWith("application/octet")) {
|
||||
+ else if (cType.toLowerCase(Locale.ROOT).contains(";base64") || cType.toLowerCase(Locale.ROOT).startsWith("application/octet")) {
|
||||
cType = cType.replace(";base64","").replace(";BASE64","");
|
||||
if(mheaders.containsKey("content-type"))
|
||||
mheaders.put("content-type", cType);
|
||||
@@ -686,7 +687,7 @@ public class RNFetchBlobReq extends BroadcastReceiver implements Runnable {
|
||||
boolean isCustomBinary = false;
|
||||
if(options.binaryContentTypes != null) {
|
||||
for(int i = 0; i< options.binaryContentTypes.size();i++) {
|
||||
- if(ctype.toLowerCase().contains(options.binaryContentTypes.getString(i).toLowerCase())) {
|
||||
+ if(ctype.toLowerCase(Locale.ROOT).contains(options.binaryContentTypes.getString(i).toLowerCase(Locale.ROOT))) {
|
||||
isCustomBinary = true;
|
||||
break;
|
||||
}
|
||||
@@ -698,13 +699,13 @@ public class RNFetchBlobReq extends BroadcastReceiver implements Runnable {
|
||||
private String getHeaderIgnoreCases(Headers headers, String field) {
|
||||
String val = headers.get(field);
|
||||
if(val != null) return val;
|
||||
- return headers.get(field.toLowerCase()) == null ? "" : headers.get(field.toLowerCase());
|
||||
+ return headers.get(field.toLowerCase(Locale.ROOT)) == null ? "" : headers.get(field.toLowerCase(Locale.ROOT));
|
||||
}
|
||||
|
||||
private String getHeaderIgnoreCases(HashMap<String,String> headers, String field) {
|
||||
String val = headers.get(field);
|
||||
if(val != null) return val;
|
||||
- String lowerCasedValue = headers.get(field.toLowerCase());
|
||||
+ String lowerCasedValue = headers.get(field.toLowerCase(Locale.ROOT));
|
||||
return lowerCasedValue == null ? "" : lowerCasedValue;
|
||||
}
|
||||
|
874
.yarn/releases/yarn-3.6.4.cjs
vendored
875
.yarn/releases/yarn-3.8.3.cjs
vendored
Executable file
@@ -6,7 +6,7 @@ plugins:
|
||||
- path: .yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs
|
||||
spec: "@yarnpkg/plugin-workspace-tools"
|
||||
|
||||
yarnPath: .yarn/releases/yarn-3.6.4.cjs
|
||||
yarnPath: .yarn/releases/yarn-3.8.3.cjs
|
||||
|
||||
logFilters:
|
||||
|
||||
|
77
Assets/JoplinLetterBlue.svg
Normal file
@@ -0,0 +1,77 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
viewBox="0 0 682.66669 682.66669"
|
||||
height="682.66669"
|
||||
width="682.66669"
|
||||
xml:space="preserve"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
sodipodi:docname="JoplinLetterBlue.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
|
||||
id="namedview13"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#ffffff"
|
||||
borderopacity="1"
|
||||
inkscape:pageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="1"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.77490232"
|
||||
inkscape:cx="366.49781"
|
||||
inkscape:cy="360.69062"
|
||||
inkscape:window-width="1366"
|
||||
inkscape:window-height="708"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="30"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2" />
|
||||
<defs
|
||||
id="defs6">
|
||||
<linearGradient
|
||||
id="linearGradient26"
|
||||
spreadMethod="pad"
|
||||
gradientTransform="matrix(-4387.91,4387.91,4387.91,4387.91,4753.95,366.05)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
y2="0"
|
||||
x2="1"
|
||||
y1="0"
|
||||
x1="0">
|
||||
<stop
|
||||
id="stop22"
|
||||
offset="0"
|
||||
style="stop-opacity:1;stop-color:#004caf" />
|
||||
<stop
|
||||
id="stop24"
|
||||
offset="1"
|
||||
style="stop-opacity:1;stop-color:#1f95f8" />
|
||||
</linearGradient>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath829"><path
|
||||
id="path831"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.999997"
|
||||
d="M 3961.59,4435.23 H 2570.18 c -13.15,0 -23.78,-10.64 -23.78,-23.77 v -441.84 c 0,-14.87 12.04,-26.92 26.92,-26.92 h 190.77 c 77.16,0 139.73,-59.35 146.43,-134.77 V 3505 3336.23 1728.75 1717.36 h -0.052 c 0.48,-16.84 -0.1898,-33.4 -1.83,-49.71 -0.18,-2.38 -0.5003,-4.73 -0.7902,-7.09 -1.0998,-9.53 -2.3199,-19.01 -4.17,-28.29 -1.0098,-5.29 -2.4399,-10.44 -3.7098,-15.65 -1.71,-6.93 -3.09,-13.97 -5.22,-20.75 -12.5802,-40.27 -32.4702,-77.62 -59.9802,-110.5 -1.0098,-1.17 -2.2599,-2.25 -3.2598,-3.41 -8.3901,-9.72 -17.2002,-19.19 -26.9502,-28.06 -9.84,-8.95 -20.2599,-17.27 -31.2099,-25 -77.8401,-55.14 -182.61,-79.4 -299.67,-68.2 -149.2599,14.03 -297.3399,81.72 -417.03,190.62 -119.6701,108.89 -194.08,243.62 -209.4799,379.41 -13.8501,121.48 22.5498,228.38 102.42,301.05 0.21,0.1598 0.3997,0.3098 0.5602,0.48 3.09,2.77 6.4901,5.2 9.6701,7.87 57.16,47.89 131.6701,76.91 216.7,84.91 0.96,0.09 1.8801,0.24 2.79,0.3203 8.9499,0.79 18.0699,1.15 27.27,1.49 4.8099,0.1598 9.5601,0.5003 14.4399,0.54 1.62,0.023 3.1602,0.1898 4.7802,0.1898 2.8998,0 5.91,-0.3803 8.8098,-0.42 13.4001,-0.21 26.9001,-0.7601 40.6701,-1.9401 1.74,-0.1402 3.3999,-0.08 5.19,-0.24 1.2699,-0.1297 2.5299,-0.4102 3.8001,-0.54 78,-7.82 155.2299,-31.11 228.5199,-66.3999 1.53,-0.068 3.3,-0.54 5.5099,-1.7601 22.34,-12.3399 26.6201,0.9 27.2801,9.6501 v 382.2399 282.8201 c 0,19.05 -13.2501,35.8999 -31.83,39.99 -394.7601,86.88 -782.08,-3.5501 -1055.38,-252.3401 -238.7499,-217.1799 -354.24,-530.5799 -316.8201,-859.7899 33.39,-293.23 183.9102,-574.94 423.88,-793.33 233.8901,-212.79003 531.69,-345.86006 838.8801,-374.80106 42.33,-3.918 84.8601,-5.93797 126.36,-5.93797 293.3799,0 565.6099,100.59802 766.54,283.37903 190.3401,173.3 304.35,411.27 321.0799,670.16 l 1.55,1697.91 h 0.1703 v 453.97 h 0.06 v 7.92 c 1.72,80.1199 67.05,144.58 147.61,144.58 h 190.77 c 14.8599,0 26.9199,12.05 26.9199,26.9199 v 441.84 c 0,13.13 -10.6299,23.77 -23.7799,23.77" /></clipPath></defs>
|
||||
<g
|
||||
id="g14"
|
||||
transform="matrix(0.13333333,0,0,-0.13333333,0,682.66667)"
|
||||
mask="none"
|
||||
clip-path="url(#clipPath829)">
|
||||
<g
|
||||
clip-path="url(#clipPath20)"
|
||||
id="g16">
|
||||
<path
|
||||
id="path28"
|
||||
style="fill:url(#linearGradient26);fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="M 3873.89,0 H 1246.11 C 560.754,0 0,560.75 0,1246.11 V 3873.88 C 0,4559.25 560.754,5120 1246.11,5120 H 3873.89 C 4559.25,5120 5120,4559.25 5120,3873.88 V 1246.11 C 5120,560.75 4559.25,0 3873.89,0" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 4.0 KiB |
@@ -48,7 +48,7 @@ const updateListWithDetails = function (dom, el, detail) {
|
||||
};
|
||||
|
||||
const removeStyles = (dom, element: HTMLElement, styles: string[]) => {
|
||||
Tools.each(styles, (style) => dom.setStyle(element, { [style]: '' }));
|
||||
Tools.each(styles, (style) => dom.setStyle(element, style, ''));
|
||||
};
|
||||
|
||||
const getEndPointNode = function (editor, rng, start, root) {
|
||||
|
@@ -8,7 +8,6 @@
|
||||
import { Node } from '@ephox/dom-globals';
|
||||
import { Arr, Option } from '@ephox/katamari';
|
||||
import { HTMLElement } from '@ephox/sand';
|
||||
import DomQuery from 'tinymce/core/api/dom/DomQuery';
|
||||
import Editor from 'tinymce/core/api/Editor';
|
||||
import Tools from 'tinymce/core/api/util/Tools';
|
||||
import * as NodeType from './NodeType';
|
||||
@@ -49,7 +48,7 @@ const findParentListItemsNodes = function (editor, elms) {
|
||||
return parentLi ? parentLi : elm;
|
||||
});
|
||||
|
||||
return DomQuery.unique(listItemsElms);
|
||||
return [...new Set(listItemsElms)];
|
||||
};
|
||||
|
||||
const getSelectedListItems = function (editor) {
|
||||
@@ -89,7 +88,7 @@ const getSelectedListRoots = (editor: Editor): Node[] => {
|
||||
|
||||
const getUniqueListRoots = (editor: Editor, lists: Node[]): Node[] => {
|
||||
const listRoots = Arr.map(lists, (list) => findLastParentListNode(editor, list).getOr(list));
|
||||
return DomQuery.unique(listRoots);
|
||||
return [...new Set(listRoots)];
|
||||
};
|
||||
|
||||
const isList = (editor: Editor): boolean => {
|
||||
|
@@ -48,8 +48,7 @@ const listState = function (editor: Editor, listName, options:any = {}) {
|
||||
|
||||
const register = function (editor: Editor) {
|
||||
const hasPlugin = function (editor, plugin) {
|
||||
const plugins = editor.settings.plugins ? editor.settings.plugins : '';
|
||||
return Tools.inArray(plugins.split(/[ ,]/), plugin) !== -1;
|
||||
return editor.hasPlugin(plugin);
|
||||
};
|
||||
|
||||
const _ = Settings.getLocalizationFunction(editor);
|
||||
|
BIN
Assets/WebsiteAssets/images/desktop-set-alarm.png
Normal file
After Width: | Height: | Size: 41 KiB |
1
Assets/WebsiteAssets/images/draw/add-new-image.svg
Normal file
After Width: | Height: | Size: 345 KiB |
BIN
Assets/WebsiteAssets/images/draw/average-selection-color.png
Normal file
After Width: | Height: | Size: 185 KiB |
BIN
Assets/WebsiteAssets/images/draw/change-visible-region.png
Normal file
After Width: | Height: | Size: 568 KiB |
BIN
Assets/WebsiteAssets/images/draw/color-under-cursor.png
Normal file
After Width: | Height: | Size: 199 KiB |
BIN
Assets/WebsiteAssets/images/draw/desktop-create-new-drawing.png
Normal file
After Width: | Height: | Size: 123 KiB |
After Width: | Height: | Size: 184 KiB |
1
Assets/WebsiteAssets/images/draw/edit-from-viewer.svg
Normal file
After Width: | Height: | Size: 200 KiB |
1
Assets/WebsiteAssets/images/draw/editor-toolbar-top.svg
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
Assets/WebsiteAssets/images/draw/help-icon.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
Assets/WebsiteAssets/images/draw/infinite-zoom-demo.mp4
Normal file
BIN
Assets/WebsiteAssets/images/draw/lock-rotation.png
Normal file
After Width: | Height: | Size: 104 KiB |
1
Assets/WebsiteAssets/images/draw/long-press-edit.svg
Normal file
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 246 KiB |
BIN
Assets/WebsiteAssets/images/draw/restore-auto-resize.png
Normal file
After Width: | Height: | Size: 310 KiB |
1
Assets/WebsiteAssets/images/draw/show-pen-menu.svg
Normal file
After Width: | Height: | Size: 141 KiB |
BIN
Assets/WebsiteAssets/images/news/20240701-mfa.png
Normal file
After Width: | Height: | Size: 244 KiB |
BIN
Assets/WebsiteAssets/images/news/20240701-mobile-plugins.png
Normal file
After Width: | Height: | Size: 337 KiB |
BIN
Assets/WebsiteAssets/images/news/20240701-note-list-multi.png
Normal file
After Width: | Height: | Size: 82 KiB |
BIN
Assets/WebsiteAssets/images/news/20240701-ocr-data.png
Normal file
After Width: | Height: | Size: 71 KiB |
BIN
Assets/WebsiteAssets/images/news/20240701-trash.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
Assets/WebsiteAssets/images/news/20241128-voice-typing.jpg
Normal file
After Width: | Height: | Size: 183 KiB |
BIN
Assets/WebsiteAssets/images/news/20241207-wcag2.jpg
Normal file
After Width: | Height: | Size: 86 KiB |
BIN
Assets/WebsiteAssets/images/news/20241216-rocketbook.jpg
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
Assets/WebsiteAssets/images/news/20241217-htr.jpg
Normal file
After Width: | Height: | Size: 327 KiB |
BIN
Assets/WebsiteAssets/images/news/20250114-mobile-toolbar.png
Normal file
After Width: | Height: | Size: 111 KiB |
BIN
Assets/WebsiteAssets/images/news/20250114-multi-window.png
Normal file
After Width: | Height: | Size: 63 KiB |
BIN
Assets/WebsiteAssets/images/news/20250428-collapse-all.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
Assets/WebsiteAssets/images/news/20250428-link-notes.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
Assets/WebsiteAssets/images/news/20250428-new-note-menu.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
Assets/WebsiteAssets/images/note_list/LeftToRight_Thumbnails.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
Assets/WebsiteAssets/images/note_list/TopToBottom.png
Normal file
After Width: | Height: | Size: 75 KiB |
BIN
Assets/WebsiteAssets/images/note_list/TopToBottom_Editable.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
Assets/WebsiteAssets/images/ocr/view_ocr_text.png
Normal file
After Width: | Height: | Size: 60 KiB |
BIN
Assets/WebsiteAssets/images/sponsors/BYTV.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
Assets/WebsiteAssets/images/sponsors/CasinoReviews.png
Normal file
After Width: | Height: | Size: 63 KiB |
BIN
Assets/WebsiteAssets/images/sponsors/Edubirdie.png
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
Assets/WebsiteAssets/images/sponsors/EssayPro.png
Normal file
After Width: | Height: | Size: 49 KiB |
BIN
Assets/WebsiteAssets/images/sponsors/EssayService.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
Assets/WebsiteAssets/images/sponsors/EssayWriterPro.png
Normal file
After Width: | Height: | Size: 56 KiB |
BIN
Assets/WebsiteAssets/images/sponsors/Famegear.png
Normal file
After Width: | Height: | Size: 8.1 KiB |
BIN
Assets/WebsiteAssets/images/sponsors/PaperWriter.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
Assets/WebsiteAssets/images/sponsors/RealGambling.png
Normal file
After Width: | Height: | Size: 9.5 KiB |
BIN
Assets/WebsiteAssets/images/sponsors/Route4Me.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
Assets/WebsiteAssets/images/sponsors/Slotozilla.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
Assets/WebsiteAssets/images/sponsors/SocialFollowers.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
Assets/WebsiteAssets/images/sponsors/Stormlikes.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
Assets/WebsiteAssets/images/sponsors/TiktokRise.jpg
Normal file
After Width: | Height: | Size: 71 KiB |
BIN
Assets/WebsiteAssets/images/sponsors/Useviral.png
Normal file
After Width: | Height: | Size: 112 KiB |
BIN
Assets/WebsiteAssets/images/sponsors/WebDesignAgency.png
Normal file
After Width: | Height: | Size: 138 KiB |
BIN
Assets/WebsiteAssets/images/sponsors/WritePaper.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
Assets/WebsiteAssets/images/use_cases/business/customers.png
Normal file
After Width: | Height: | Size: 201 KiB |
BIN
Assets/WebsiteAssets/images/use_cases/business/meeting.png
Normal file
After Width: | Height: | Size: 312 KiB |
BIN
Assets/WebsiteAssets/images/use_cases/business/share.png
Normal file
After Width: | Height: | Size: 119 KiB |
BIN
Assets/WebsiteAssets/images/use_cases/business/tracking.png
Normal file
After Width: | Height: | Size: 53 KiB |
After Width: | Height: | Size: 127 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 451 KiB |
BIN
Assets/WebsiteAssets/images/use_cases/research/organise.png
Normal file
After Width: | Height: | Size: 60 KiB |
BIN
Assets/WebsiteAssets/images/use_cases/research/resources.png
Normal file
After Width: | Height: | Size: 78 KiB |
BIN
Assets/WebsiteAssets/images/use_cases/research/search.png
Normal file
After Width: | Height: | Size: 110 KiB |
BIN
Assets/WebsiteAssets/images/use_cases/research/share.png
Normal file
After Width: | Height: | Size: 119 KiB |
BIN
Assets/WebsiteAssets/images/use_cases/students/handwritten.png
Normal file
After Width: | Height: | Size: 144 KiB |