Compare commits
1180 Commits
cli-v1.3.1
...
server-v2.
Author | SHA1 | Date | |
---|---|---|---|
|
8c56cf98be | ||
|
18965494d9 | ||
|
ecd1602658 | ||
|
3c181906c2 | ||
|
9e1e144311 | ||
|
757c125bd3 | ||
|
2867b66cf1 | ||
|
5c6fd93753 | ||
|
ea65313bdb | ||
|
1711f7ec88 | ||
|
e0b5ef6630 | ||
|
4bbb3d1d58 | ||
|
fd769945b1 | ||
|
6e91d2784f | ||
|
881b2f17b1 | ||
|
e83cc58ea6 | ||
|
77def9f782 | ||
|
b23cc5d30a | ||
|
d8119bcf07 | ||
|
8bce259dc9 | ||
|
8a00eef901 | ||
|
31121c86d5 | ||
|
a4a156c7a5 | ||
|
c5b0529968 | ||
|
ba322b1f9b | ||
|
6f27eae7dd | ||
|
85cc08c0d4 | ||
|
ba38bf3490 | ||
|
2cf70675dc | ||
|
58f8d7e1b4 | ||
|
b55b35e53f | ||
|
c7194bf243 | ||
|
48abe2316e | ||
|
7aca380cfa | ||
|
551033f8ba | ||
|
3b6a66a016 | ||
|
5d7d1be363 | ||
|
2af3bf61ea | ||
|
6803f1c6a7 | ||
|
1aa70dd6b4 | ||
|
feaecf7653 | ||
|
af9f3eedd3 | ||
|
815800827b | ||
|
8f1e3ba43c | ||
|
8459b46cd0 | ||
|
c5c38a323f | ||
|
01e6ca4616 | ||
|
24a586c537 | ||
|
5d233a7387 | ||
|
054e5428d5 | ||
|
0120df7bdb | ||
|
a36b13dcb4 | ||
|
b81c300907 | ||
|
1ded589eeb | ||
|
315216132f | ||
|
2eaa821272 | ||
|
7c93e268e4 | ||
|
d0c4de92e2 | ||
|
91ce465535 | ||
|
4098c01e7c | ||
|
e617e6fab3 | ||
|
5fd6571bf1 | ||
|
00dc1d881b | ||
|
c37eb56ed7 | ||
|
b2b6ad479a | ||
|
0e4c545e14 | ||
|
bbae1aef28 | ||
|
cf86ffc36e | ||
|
9d80a79cda | ||
|
ca487ade9a | ||
|
75b66a9fff | ||
|
56fdf97693 | ||
|
ce02a30441 | ||
|
a058e09183 | ||
|
594084e274 | ||
|
5614eb9442 | ||
|
7a3a2084db | ||
|
95d7ccccea | ||
|
f7a7009b3c | ||
|
de7579a14e | ||
|
c8d7ecbf6c | ||
|
3c41b45e8e | ||
|
62a371b9f3 | ||
|
5528ab7cc8 | ||
|
824afd4809 | ||
|
8ed1330d68 | ||
|
fec5d4b335 | ||
|
e7b9103bfc | ||
|
dd1c9e3c2a | ||
|
7c45b95f6f | ||
|
a7e67952b8 | ||
|
1b7d40387d | ||
|
7921e70c4f | ||
|
8afac643ba | ||
|
23cfbc2367 | ||
|
de45740129 | ||
|
a04d8ef441 | ||
|
db7b802803 | ||
|
75d79f373a | ||
|
e8a02c26d0 | ||
|
147b6b13ab | ||
|
a496a3d90d | ||
|
69a8ada2ec | ||
|
87257870f4 | ||
|
21ea3253db | ||
|
770af6a53b | ||
|
c88e4f6628 | ||
|
2f79492192 | ||
|
69aa749205 | ||
|
87a5f18c7b | ||
|
1d2a3a97d2 | ||
|
42891e37a1 | ||
|
fe802b8ebc | ||
|
3cb6d4568c | ||
|
a9f0a75d9d | ||
|
07d30eb5d2 | ||
|
8f6a47536c | ||
|
d8d83b236e | ||
|
a355600e76 | ||
|
2a58664735 | ||
|
89bc181072 | ||
|
ab7380a09f | ||
|
f8a26cf8f9 | ||
|
3505a2a973 | ||
|
5f94de0f24 | ||
|
6811ea1eb9 | ||
|
7be59a7435 | ||
|
c0683ca4c3 | ||
|
2b286410f6 | ||
|
907ac7c1f8 | ||
|
8bc27021db | ||
|
41ed66d323 | ||
|
0ef7e98479 | ||
|
161c77cb48 | ||
|
50d17bfb36 | ||
|
ee0f23718b | ||
|
cfe4546a0b | ||
|
f45e0d106f | ||
|
12a66342db | ||
|
f2b17560e6 | ||
|
ba30dce6c8 | ||
|
f5984313be | ||
|
df058352a5 | ||
|
cde25fad92 | ||
|
d89bbc5571 | ||
|
71a7fc015a | ||
|
83cef7a824 | ||
|
f65de0c9eb | ||
|
3edf74e6d2 | ||
|
b01aa7eb45 | ||
|
e59e3aa7d1 | ||
|
51051e0ee0 | ||
|
b20ab19f13 | ||
|
68e79f1573 | ||
|
ed8ee67048 | ||
|
68b516998d | ||
|
0fa7a66fb6 | ||
|
13f39b9bd5 | ||
|
013d37bd09 | ||
|
4760e5e8ba | ||
|
8930dac40e | ||
|
3f0586ef63 | ||
|
e94503abbe | ||
|
f8253cc2f0 | ||
|
2806aa1b19 | ||
|
8f57e07279 | ||
|
6ff560f22f | ||
|
2226b79c46 | ||
|
9e9bf63d70 | ||
|
5d9419be5d | ||
|
9f37aa96c6 | ||
|
eceb14ff9e | ||
|
85211e8d5c | ||
|
bd08041f53 | ||
|
77b284f01f | ||
|
daaaa133ab | ||
|
e6c4eb7cdf | ||
|
dc2cdb7d3a | ||
|
f3e03d48bb | ||
|
6577f4f35d | ||
|
d29624c816 | ||
|
6afde54bda | ||
|
ec7f0f479a | ||
|
7f05420fda | ||
|
a3f8cd4850 | ||
|
01ccf5170a | ||
|
6ddb69e1ea | ||
|
b01f82bb33 | ||
|
b6c9edba21 | ||
|
f7d164be6e | ||
|
6f2f24171d | ||
|
12cc64008b | ||
|
b9955f58d3 | ||
|
489995daef | ||
|
e156ee1b58 | ||
|
a24b0091ad | ||
|
2655b6deee | ||
|
45c40f7395 | ||
|
ecb0eee355 | ||
|
4916f4cc92 | ||
|
15fe119256 | ||
|
0b46880a00 | ||
|
deaa731983 | ||
|
d061bb1a4f | ||
|
03db0c5486 | ||
|
bb275e671d | ||
|
2d0580ff71 | ||
|
2331d3487b | ||
|
f1380fd51d | ||
|
d462dab8eb | ||
|
cf37b74d9a | ||
|
aec3ea9c0c | ||
|
1f5aa70acd | ||
|
416637ce83 | ||
|
99c4b0bc01 | ||
|
74d8fec98a | ||
|
321a58c356 | ||
|
81884cf2ea | ||
|
d7ff634f5e | ||
|
a965da97b6 | ||
|
b99cb0248d | ||
|
a31b402b9e | ||
|
6959f14a3f | ||
|
0765cf5955 | ||
|
09ad70983a | ||
|
6e64b872cf | ||
|
d26b92500c | ||
|
fc9aa33dbb | ||
|
a286dbdf86 | ||
|
c3f2bce818 | ||
|
df6f0ce9af | ||
|
5f2998a6e2 | ||
|
fa6981faa8 | ||
|
ce80d7e883 | ||
|
1a84ca204e | ||
|
0d523e5394 | ||
|
b28f087bbe | ||
|
ea536dbf87 | ||
|
ed19424271 | ||
|
5d7a3ceff5 | ||
|
610e1dc885 | ||
|
553aa0fffa | ||
|
ebd650b62f | ||
|
66dbbf3822 | ||
|
1e27a4fcd2 | ||
|
9c20d5947d | ||
|
bb77d7171a | ||
|
10bb689d5f | ||
|
a76b4a0d3e | ||
|
97c538dc48 | ||
|
0b67446ec0 | ||
|
4b26893b21 | ||
|
99410005a6 | ||
|
4ea21e0c32 | ||
|
ebf92605ae | ||
|
606a64f49c | ||
|
f76f99b423 | ||
|
1f9388d62c | ||
|
5c7dd6df5a | ||
|
26a91416c7 | ||
|
b5f01c005f | ||
|
b1ecb75e1f | ||
|
a0ead2c48e | ||
|
eb82ae87ca | ||
|
a6caa357c8 | ||
|
da4c61653f | ||
|
eef86d6166 | ||
|
4be5182913 | ||
|
92b4b967d9 | ||
|
9a043bfca5 | ||
|
156a681ecf | ||
|
5587f10487 | ||
|
34540ed30a | ||
|
bafa5053fd | ||
|
43feb1ea7e | ||
|
2531e89457 | ||
|
06ae47f507 | ||
|
b1ea3f3ad1 | ||
|
f87ff54e3d | ||
|
a4854fcde8 | ||
|
3235f58f5a | ||
|
920f54f5d3 | ||
|
de035dca39 | ||
|
1501238730 | ||
|
108b5b4cdc | ||
|
da8cc73df6 | ||
|
e95ea48ce9 | ||
|
0aef1f95ef | ||
|
a67eab46f4 | ||
|
f603440c30 | ||
|
80b16dd17e | ||
|
ad09bd93d6 | ||
|
a29648d46c | ||
|
e7184f5f86 | ||
|
8789e557ea | ||
|
f62bfbb853 | ||
|
e06a640900 | ||
|
5a620ee26e | ||
|
170f587f28 | ||
|
7518ac00fc | ||
|
9171a1ee9e | ||
|
30fab85caa | ||
|
1354c247b4 | ||
|
9642f5f715 | ||
|
f721d0123e | ||
|
518d7fc187 | ||
|
35a1da0b08 | ||
|
91bd8969cc | ||
|
2fc9c53ff0 | ||
|
e3efe70bab | ||
|
015aec503e | ||
|
54884d6db4 | ||
|
5667e687e9 | ||
|
fbfca47ef3 | ||
|
c37c2256c6 | ||
|
c79c9c4c2f | ||
|
17792d91a1 | ||
|
d8ed15873b | ||
|
29a8e815d9 | ||
|
0ff25b6302 | ||
|
bfacf71397 | ||
|
7224165ae4 | ||
|
f59e312ee2 | ||
|
829a245858 | ||
|
75eea7b87c | ||
|
4880ca19d6 | ||
|
ad83f74532 | ||
|
3a60efa153 | ||
|
c044017ba4 | ||
|
4810c01aec | ||
|
b3f950e67a | ||
|
f43edc2736 | ||
|
ea65346f04 | ||
|
a2a80bc2e3 | ||
|
9cf5974c7b | ||
|
66ad2259a9 | ||
|
c516ab405b | ||
|
17295734fd | ||
|
3fa13828cd | ||
|
99b55129f2 | ||
|
49e6b5cf62 | ||
|
81b3ddf0e7 | ||
|
e2db02887c | ||
|
0da3881aa6 | ||
|
cd1f95c5ea | ||
|
c119821c19 | ||
|
656673ed57 | ||
|
044477ba0d | ||
|
0985340a7f | ||
|
9e58af7232 | ||
|
5b65186b4d | ||
|
874f3010b7 | ||
|
a0ec926ba2 | ||
|
abe0013914 | ||
|
8ba49c6fdf | ||
|
39b3e0ac98 | ||
|
f3b2ca4752 | ||
|
35063ac05c | ||
|
a3e1ff4bdd | ||
|
e3248b65f5 | ||
|
b12a937079 | ||
|
aa067e3d16 | ||
|
131a7e7362 | ||
|
f92679c58a | ||
|
674db9a543 | ||
|
16a104c2fc | ||
|
de43a44c1f | ||
|
d76ec0ba0d | ||
|
e81c7f2dd2 | ||
|
e954ecd024 | ||
|
dda0835189 | ||
|
1aca81b584 | ||
|
ba54bb02fa | ||
|
f459e4cbc6 | ||
|
76c143e8b0 | ||
|
f8b7d20255 | ||
|
74cd19f942 | ||
|
fd390dff6b | ||
|
6e0ec05d17 | ||
|
c1b325004a | ||
|
4499408907 | ||
|
10870ed6d4 | ||
|
2f55738f16 | ||
|
7fb1692565 | ||
|
dcbb6f5dd2 | ||
|
5c04c06d6f | ||
|
a1423e4851 | ||
|
3e9cb1d4fd | ||
|
6496172aed | ||
|
4d0beb6d47 | ||
|
c4fe38e632 | ||
|
7eb9305448 | ||
|
586fe2c690 | ||
|
a23a1acc46 | ||
|
3657c0369e | ||
|
ec99511397 | ||
|
01a9e49458 | ||
|
d889cd55db | ||
|
876fcfe008 | ||
|
286a31a7f7 | ||
|
3d1c92685b | ||
|
bbc41ab726 | ||
|
31e9e7227c | ||
|
f7a41fbc8e | ||
|
1900ffe96d | ||
|
93441ea10b | ||
|
65b0d7f2f7 | ||
|
22ea40e104 | ||
|
93c35c9423 | ||
|
c86df6a480 | ||
|
3ed7d4a72b | ||
|
b7eb2f9fa8 | ||
|
752c14d726 | ||
|
b0ddba5a61 | ||
|
e12af60579 | ||
|
0c58d238e8 | ||
|
38e91ea1f7 | ||
|
da9da7ec62 | ||
|
80cb18ca90 | ||
|
17962360e5 | ||
|
f01fb8d66c | ||
|
7af1c9eaef | ||
|
97ad84cef9 | ||
|
320755a294 | ||
|
facba2811c | ||
|
fec4a905cb | ||
|
e1282bfd59 | ||
|
9ef8e0ff4a | ||
|
57473a0aad | ||
|
a6b866cbe1 | ||
|
646eb6f266 | ||
|
95fd05b135 | ||
|
bb99f51001 | ||
|
cab532873e | ||
|
d7edde0bd8 | ||
|
a836f531f6 | ||
|
9bfc7d9860 | ||
|
b7f37fdf89 | ||
|
69acced2fb | ||
|
a90e63935e | ||
|
71f976f6a5 | ||
|
3a8aea1aa4 | ||
|
f0943f7b67 | ||
|
4fb2bee330 | ||
|
b4b913cf15 | ||
|
ce8f156f51 | ||
|
26bce33e98 | ||
|
3ed19ba9f6 | ||
|
c1198dc76a | ||
|
3edea55976 | ||
|
19feb0c48b | ||
|
6dcb145732 | ||
|
414b3636d9 | ||
|
6f52107234 | ||
|
c5b8d82234 | ||
|
526b16b931 | ||
|
8f2594602c | ||
|
4e3b055d0d | ||
|
0b6e4ac99b | ||
|
341157483b | ||
|
33e1214ef6 | ||
|
11c8bf7e6e | ||
|
bd5e3d363c | ||
|
127a28e9b0 | ||
|
1e8f1cd5c5 | ||
|
80d56c4d63 | ||
|
91c4056aec | ||
|
f560563d89 | ||
|
ede600458a | ||
|
4a9d8033fa | ||
|
6746b9af70 | ||
|
ef281e8f74 | ||
|
935b4dca0a | ||
|
15d85f4ee4 | ||
|
fb165c87c3 | ||
|
1f536ba3d9 | ||
|
dac6c5fde2 | ||
|
67cbc068c6 | ||
|
1c1558c7bf | ||
|
613938e8c9 | ||
|
f24f8e8b47 | ||
|
e673ce132e | ||
|
775e22818b | ||
|
b1b5069a23 | ||
|
f38e7ec782 | ||
|
a419e1eb7c | ||
|
52c7889731 | ||
|
de64e5e8f2 | ||
|
07484de91e | ||
|
61399cec62 | ||
|
98e5810197 | ||
|
02c251ed95 | ||
|
69cd63b57f | ||
|
06b21848ac | ||
|
40a4c69afe | ||
|
dadec484e9 | ||
|
fb1c876b52 | ||
|
285482804a | ||
|
73314447b9 | ||
|
477b9fb8e8 | ||
|
cb2c2160ae | ||
|
ccbc329cbf | ||
|
4a847a096b | ||
|
0b88b7a288 | ||
|
db985b9faf | ||
|
8132311ce6 | ||
|
b0af917a35 | ||
|
f898fd4ef0 | ||
|
42c80e6e28 | ||
|
2f8aafd85b | ||
|
95253f70ea | ||
|
4156b13c32 | ||
|
18dfc5a987 | ||
|
ae29238592 | ||
|
99445cac27 | ||
|
de5bc45300 | ||
|
95f59a67ea | ||
|
fb04a3ae20 | ||
|
12187b9da3 | ||
|
35597ce3c2 | ||
|
ea49242f24 | ||
|
f60f07ad19 | ||
|
4e8299d444 | ||
|
8de46ed462 | ||
|
cda9441c69 | ||
|
11b8821bf4 | ||
|
f7a457fb6c | ||
|
63a5bfa756 | ||
|
e828c8e6eb | ||
|
dbbbd22aef | ||
|
ad56d02eb8 | ||
|
adad4cab75 | ||
|
89a2e9fe9a | ||
|
774be9cc0d | ||
|
351a05fb0d | ||
|
a320e113ac | ||
|
1509e6e58a | ||
|
cbd842c268 | ||
|
257cde4383 | ||
|
039da8c15c | ||
|
0cbecabff2 | ||
|
63559ac8b9 | ||
|
0e2351e79e | ||
|
86610e7561 | ||
|
c895f7cd4f | ||
|
83c1753049 | ||
|
22a7668d4b | ||
|
469143c2e8 | ||
|
d4a6078392 | ||
|
0c09202950 | ||
|
5128ef22bf | ||
|
43a8f4a46e | ||
|
63493214a0 | ||
|
fa9f5fd458 | ||
|
2d4ae4d8de | ||
|
716a92944d | ||
|
2018a0bd61 | ||
|
3ecf942b44 | ||
|
33db9883c9 | ||
|
85355f8eda | ||
|
1c696bf989 | ||
|
7a8629c38d | ||
|
9b24c2f4a9 | ||
|
ff0c1b62b3 | ||
|
1e611a7ab9 | ||
|
58960071e7 | ||
|
f9b0e2f6df | ||
|
fc7bd41c10 | ||
|
8d35298500 | ||
|
197e43d78a | ||
|
0e1fb9f491 | ||
|
df1df6dc1f | ||
|
ad34cee234 | ||
|
ddf3e16ff0 | ||
|
4e2e26f033 | ||
|
f37d37e613 | ||
|
63e30f6ccb | ||
|
9c718baf61 | ||
|
e8ae29adf2 | ||
|
0c67805626 | ||
|
e91c94baca | ||
|
aa74d05b24 | ||
|
9a1f7f227d | ||
|
40779d09c0 | ||
|
351d8d94c5 | ||
|
6addd52ba4 | ||
|
ea5849855f | ||
|
c81529dc45 | ||
|
b6d7971691 | ||
|
446db2d688 | ||
|
52da072f9a | ||
|
0d2bf6d787 | ||
|
59fe4a2193 | ||
|
df6d146c84 | ||
|
eb3493f648 | ||
|
7fd4c28a5b | ||
|
d1b55aeceb | ||
|
413ec1a933 | ||
|
7ad29577f9 | ||
|
7652a5a0a0 | ||
|
105189fc57 | ||
|
e559999aa4 | ||
|
4a230d7cd5 | ||
|
9b2e5e2959 | ||
|
3c5ac1ecc5 | ||
|
03dc1bbfe1 | ||
|
80580ba54d | ||
|
6a80b2ae9e | ||
|
f14ea46f0b | ||
|
247bd9bfd9 | ||
|
fc58db5d1a | ||
|
466cd836d7 | ||
|
66a09e5068 | ||
|
b53e475f99 | ||
|
ecb6134828 | ||
|
4b2bb1168b | ||
|
4743b0b5ce | ||
|
3abf21d4ae | ||
|
6cdb16c8ab | ||
|
b7bfa2b997 | ||
|
eab2371206 | ||
|
63615ffbaf | ||
|
59fa51c5bf | ||
|
c70f023fe0 | ||
|
fb5eb1a47b | ||
|
5aa5089ae0 | ||
|
4413e6a1ee | ||
|
309a97fb5b | ||
|
1b5b2342fc | ||
|
0f23277bfc | ||
|
e595e19c0d | ||
|
79dde365f0 | ||
|
2489409abb | ||
|
cbad3b1190 | ||
|
b74b849830 | ||
|
63a331c82f | ||
|
b7313568de | ||
|
25341858d5 | ||
|
dc6ae90113 | ||
|
3c8d79975c | ||
|
7530d2e4bc | ||
|
f678434411 | ||
|
9d547a58c9 | ||
|
aa4905ab45 | ||
|
b24eb5d09c | ||
|
1bc56d0fa9 | ||
|
a77d500bfa | ||
|
8fea9ba193 | ||
|
3fdcd3aaa6 | ||
|
0629cb394c | ||
|
f58b7563e6 | ||
|
d434723244 | ||
|
fca8f71f4a | ||
|
023170548f | ||
|
d75adc3740 | ||
|
0bf3531f51 | ||
|
c9f40ea23f | ||
|
c8755839be | ||
|
c3e696db5a | ||
|
a0134005b7 | ||
|
b66d90bbcc | ||
|
41edf5b2da | ||
|
c484c88715 | ||
|
4a0fb124a7 | ||
|
ebbaa5177b | ||
|
5d1dc224ca | ||
|
3626714403 | ||
|
3884ada760 | ||
|
16788d1437 | ||
|
b1908756d4 | ||
|
ccf5271584 | ||
|
df3e6a6219 | ||
|
f43ec71d9a | ||
|
32dab88054 | ||
|
1b5868a7c5 | ||
|
72712e71eb | ||
|
ec29f791ba | ||
|
40c2e59394 | ||
|
98cbb237b5 | ||
|
826dda5a75 | ||
|
6dc5a816e5 | ||
|
1700b29f7d | ||
|
7a6966405c | ||
|
9cb576889f | ||
|
047846a552 | ||
|
99fb578db4 | ||
|
7114228fd6 | ||
|
8d4d438136 | ||
|
420ac8359c | ||
|
fe7691d786 | ||
|
db4f35b936 | ||
|
72aabf71f3 | ||
|
d145ce1876 | ||
|
ab6f02a949 | ||
|
1339414443 | ||
|
732ca53b70 | ||
|
fa749d6d2a | ||
|
6e69343bb6 | ||
|
520454affb | ||
|
734514b6d8 | ||
|
ceb252b9ad | ||
|
f121245e40 | ||
|
215a1e0240 | ||
|
8ed36d7a29 | ||
|
2b33df2955 | ||
|
5c283e4508 | ||
|
c94ee5d99a | ||
|
4a258a2427 | ||
|
330ef6f7e6 | ||
|
4a579393f3 | ||
|
1091795a3a | ||
|
b5fc206202 | ||
|
794fb6a122 | ||
|
ec7cccf573 | ||
|
e94a1cac1c | ||
|
76ff0b9c11 | ||
|
fb01c64133 | ||
|
1dbeff1908 | ||
|
4f2d316db4 | ||
|
4851fd1ab3 | ||
|
ac8ddb1166 | ||
|
b61150457c | ||
|
3e948146cd | ||
|
8492a7ee26 | ||
|
0e57baf5b9 | ||
|
05f65c326a | ||
|
491714cde6 | ||
|
34c1096307 | ||
|
ebe3ddcd21 | ||
|
ca5ac9696b | ||
|
fdfbb84d37 | ||
|
740aba90ea | ||
|
eab9ff175c | ||
|
5b295d5f6f | ||
|
0be8cdf760 | ||
|
545940f545 | ||
|
d58f39823a | ||
|
f9fb1b8a81 | ||
|
56ded0062a | ||
|
83b29d7c51 | ||
|
1ec0746263 | ||
|
568d11bddf | ||
|
97b25ac99d | ||
|
7f1d3d8a5d | ||
|
fde201fbe9 | ||
|
694a1b4ede | ||
|
20d126b39d | ||
|
8ca9c3092a | ||
|
d2771029a3 | ||
|
4128c53fcf | ||
|
a14410b28c | ||
|
d1f8520e6e | ||
|
d76746b8e4 | ||
|
89d173b460 | ||
|
81aba8b8b0 | ||
|
9e076bf194 | ||
|
74a797b410 | ||
|
f48697572d | ||
|
e61e8b7b94 | ||
|
1deab7e8d1 | ||
|
86b28b5ecf | ||
|
938e723434 | ||
|
ee2ec28cd4 | ||
|
9dc505e85b | ||
|
3df31584af | ||
|
a7e3b381cb | ||
|
70381a233b | ||
|
2966fe0df2 | ||
|
143f0b4bc5 | ||
|
24ec3b8897 | ||
|
01aa4f9d5e | ||
|
520efdcb39 | ||
|
34a99f738c | ||
|
0e0de1207f | ||
|
2fda067034 | ||
|
29177330b0 | ||
|
66a5490b54 | ||
|
469cd19ec1 | ||
|
41684a64ef | ||
|
2cd7839552 | ||
|
c3d4617612 | ||
|
158fafc4a0 | ||
|
0f59731c06 | ||
|
d0f1a67d96 | ||
|
2a1434f987 | ||
|
1ee177880d | ||
|
f6d899eb29 | ||
|
a97f25fd61 | ||
|
325a5ab08f | ||
|
c158878b66 | ||
|
0f0f9c1161 | ||
|
79612163b2 | ||
|
fab5ed165c | ||
|
4897c763bd | ||
|
17b9867bf2 | ||
|
b8f14d50f5 | ||
|
9e2f60523f | ||
|
321ff4fced | ||
|
2a31f914bb | ||
|
0b71c33d09 | ||
|
502c812d9c | ||
|
5dc3baa50c | ||
|
a9af58146b | ||
|
17edebb6b1 | ||
|
bb2855bd80 | ||
|
6cae8a7d20 | ||
|
849cd9a2a2 | ||
|
5826a8d373 | ||
|
18c5404cbc | ||
|
f16fd6462b | ||
|
67c2998b9d | ||
|
db4f6e9ce5 | ||
|
0a2364f917 | ||
|
1aebcbb27c | ||
|
5bf1dc906d | ||
|
2529da5b09 | ||
|
d1a7d31335 | ||
|
b8493baa5e | ||
|
f53a7d3a8a | ||
|
33c5037816 | ||
|
38b0702314 | ||
|
693f59d07a | ||
|
59e2e65de0 | ||
|
4180d4bd28 | ||
|
46d22d8847 | ||
|
fbbfa2833b | ||
|
e351564bec | ||
|
9f8e6a3060 | ||
|
a1c08adb3e | ||
|
5cd9114334 | ||
|
65cc6853bd | ||
|
dca51cc7de | ||
|
bc76e4a918 | ||
|
3ed0083e94 | ||
|
5cafc8cea5 | ||
|
ff5e8ee7aa | ||
|
f1bbcea64b | ||
|
8e874891c0 | ||
|
546ee354dd | ||
|
afebce145f | ||
|
d202b6b5a9 | ||
|
7543d43428 | ||
|
5737560e19 | ||
|
a278c2c32a | ||
|
13dbeb4b36 | ||
|
a3f8b9027c | ||
|
f436967779 | ||
|
f37224fc42 | ||
|
a737a21185 | ||
|
234c05a966 | ||
|
92b4795410 | ||
|
3e21e9a334 | ||
|
dc3e9178ef | ||
|
46ed1304f2 | ||
|
01cf0de974 | ||
|
abf5d16da9 | ||
|
f21199a7f3 | ||
|
cdf2873883 | ||
|
0390928fea | ||
|
efb3546675 | ||
|
169841dcc4 | ||
|
b780261153 | ||
|
c906354510 | ||
|
6487fde09d | ||
|
50f046ffc4 | ||
|
ded14ff8db | ||
|
64bbd93f54 | ||
|
9a30b69610 | ||
|
046433a947 | ||
|
42232fac84 | ||
|
245976f659 | ||
|
8d90cc234f | ||
|
5183767e43 | ||
|
ceb625dbeb | ||
|
7677d9cd7d | ||
|
92fe5e2362 | ||
|
717b8da1f8 | ||
|
fa50a8f5da | ||
|
05e9000087 | ||
|
eed3dc8617 | ||
|
de123ee586 | ||
|
89abc4395f | ||
|
4b0d230815 | ||
|
48e3811fbd | ||
|
e8d216016e | ||
|
751d0e0745 | ||
|
d0f22140fd | ||
|
d63378b4e3 | ||
|
a17b77b495 | ||
|
04814eefb5 | ||
|
da3e5acc94 | ||
|
ef53c42f0a | ||
|
c8b40bfdb2 | ||
|
dbb8b4d895 | ||
|
a654419881 | ||
|
497cf996e8 | ||
|
d5dbc421b1 | ||
|
f965708ad3 | ||
|
f001d197a8 | ||
|
d588bddfaa | ||
|
b780a62588 | ||
|
154b3573a4 | ||
|
7d2551c9c3 | ||
|
7644d05225 | ||
|
1851b0e7d1 | ||
|
76c4d99b87 | ||
|
849ef418a6 | ||
|
d733c0e010 | ||
|
a48e5cd4e8 | ||
|
03942a0073 | ||
|
0bc53dc063 | ||
|
56605beea2 | ||
|
8059d3fbd1 | ||
|
46c38ce0e0 | ||
|
dfa928c1f7 | ||
|
cb696276da | ||
|
5f80628a4d | ||
|
b77f868fc8 | ||
|
6ad9931e43 | ||
|
011a65f73b | ||
|
72ccc90ea0 | ||
|
f3e6c0da32 | ||
|
9308c3f38c | ||
|
c8a7c70838 | ||
|
40f6dcfb4c | ||
|
09785cf366 | ||
|
7279b508db | ||
|
d7996c9707 | ||
|
f0432e724a | ||
|
2f9bb7b8c0 | ||
|
f4b8b5b160 | ||
|
e2962322be | ||
|
c982e42999 | ||
|
eed52a5cfd | ||
|
6272a2eb4f | ||
|
69a4a895d4 | ||
|
511e4b1da0 | ||
|
f22e6f7204 | ||
|
3d4437037e | ||
|
d8745597e9 | ||
|
b279a9693c | ||
|
7fa483d27c | ||
|
9b64c1fbdb | ||
|
a37f84e988 | ||
|
96ac3e53e8 | ||
|
416a7b36e7 | ||
|
be4d53db62 | ||
|
7154ebbf5c | ||
|
4d65bfe3f8 | ||
|
0f0c50a178 | ||
|
9a2fd97f3c | ||
|
3f2fe79151 | ||
|
1ef380d995 | ||
|
c213d5056c | ||
|
62c67cb09f | ||
|
1dd6c7dde5 | ||
|
86bace70a5 | ||
|
ee912b24c7 | ||
|
3e65e1539b | ||
|
4ac2409318 | ||
|
d953f6bcab | ||
|
e0c2b62a6c | ||
|
544d879c0b | ||
|
28f75449d7 | ||
|
fdc84aa6bb | ||
|
592b9d95c6 | ||
|
4abdab5cdb | ||
|
858508bfa9 | ||
|
116413e78d | ||
|
031a26116c | ||
|
65962e26ce | ||
|
30913a5d58 | ||
|
61618fb37c | ||
|
a40ab434ca | ||
|
dbbd930f81 | ||
|
ff3ae3860e | ||
|
e1c4d1a417 | ||
|
e1180a1d84 | ||
|
e57444dc32 | ||
|
f36019c94d | ||
|
c67c8cefdf | ||
|
a9a69b046f | ||
|
98a75e67d8 | ||
|
7188eb9db4 | ||
|
52b13f6d56 | ||
|
8e2daef144 | ||
|
73571f1c48 | ||
|
3e00f6078d | ||
|
355ba2c278 | ||
|
4e08adb76f | ||
|
eb8284ecdb | ||
|
7be93b1fbb | ||
|
76cd1b15ac | ||
|
92bcb25ef7 | ||
|
bb8cac2b2f | ||
|
39d9e5fd8b | ||
|
5a94431b04 | ||
|
c639b0cbf5 | ||
|
f81579371b | ||
|
284dbdb362 | ||
|
5f05f85e41 | ||
|
61faec147b | ||
|
d552538541 | ||
|
8787d997b2 | ||
|
adde092ea6 | ||
|
a808281dd2 | ||
|
6103aad2a7 | ||
|
1e010ec004 | ||
|
a8e36f41d5 | ||
|
f45029b2e8 | ||
|
147f3ce073 | ||
|
ccc726f2ae | ||
|
6769026265 | ||
|
ce5276ba97 | ||
|
b480aae59b | ||
|
ce59d29bb3 | ||
|
fb5f20b308 | ||
|
cee42a1296 | ||
|
7f88f507df | ||
|
2b95bce272 | ||
|
6463af0c31 | ||
|
19a8b6c285 | ||
|
06ea5e1878 | ||
|
4451bbdd71 | ||
|
2f1cc71922 | ||
|
a3286a9896 | ||
|
83ca33611b | ||
|
4f41fb7b54 | ||
|
7151a48138 | ||
|
aaaa4e4569 | ||
|
872d2942b4 | ||
|
918b768634 | ||
|
8305eb4403 | ||
|
91e7c66f9e | ||
|
e392efc091 | ||
|
458ae3731d | ||
|
a647272cf0 | ||
|
72472c13c5 | ||
|
6225d20d1f | ||
|
67f0739d3c | ||
|
17d835d694 | ||
|
42799b0662 | ||
|
d20694e52c | ||
|
62feb7ff60 | ||
|
e29e745b96 | ||
|
340312fa80 | ||
|
006239913e | ||
|
f4bc8cc817 | ||
|
fb1f43bb17 | ||
|
24cef9995a | ||
|
31ffd8d7e9 | ||
|
873184f69b | ||
|
da6977569f | ||
|
8808b38d83 | ||
|
ad654e30d5 | ||
|
6f11487dba | ||
|
dd0d54d4d0 | ||
|
0fd0451c17 | ||
|
06f2fda946 | ||
|
c249333e2a | ||
|
9755a69be8 | ||
|
18e4f7ffe7 | ||
|
7cb60aaace | ||
|
fbcfe432c5 | ||
|
ed71726e87 | ||
|
31a0449e71 | ||
|
04450a6464 | ||
|
d0ec598ee4 | ||
|
ca8b05631a | ||
|
3223fd26f4 | ||
|
7847aeda75 | ||
|
7d02ddfdb5 | ||
|
5079cd9ff2 | ||
|
48f6412721 | ||
|
498e80f2d3 | ||
|
5269a4b7fa | ||
|
88a2f9c85c | ||
|
f20b8c2dc6 | ||
|
bd2081c3b6 | ||
|
6ac4131003 | ||
|
4c5e0447a9 | ||
|
545a2206d7 | ||
|
aa47ffb30f | ||
|
83b175bb5b | ||
|
04bfbec96b | ||
|
f950e9b03f | ||
|
a0f21796c2 | ||
|
9af8720199 | ||
|
53c432ce12 | ||
|
553bbfc818 | ||
|
7b0122a8db | ||
|
7ea4f570cb | ||
|
1e1f2582c5 | ||
|
7e2d512fde | ||
|
6b75485a1e | ||
|
0cfcc00912 | ||
|
496b19b3f1 | ||
|
9618591158 | ||
|
55b6394bf3 | ||
|
4a1dc2c80e | ||
|
cb66158b2d | ||
|
da04d3ce51 | ||
|
bcbce682d5 | ||
|
08f7521e1e | ||
|
3579e7eab5 | ||
|
5922c6b216 | ||
|
c558e729bd | ||
|
ca80101174 | ||
|
6124f483dc | ||
|
90d58e4e2b | ||
|
8cd37d602c | ||
|
e4ed26a961 | ||
|
bc57d229fa | ||
|
c53cd52b4d | ||
|
0d7ca97556 | ||
|
c1e2fd125c | ||
|
6856f84faa | ||
|
de091dfd64 | ||
|
cc07016b07 | ||
|
122f20905c | ||
|
5ff8beb82f | ||
|
ff6cd57873 | ||
|
4c948408c4 | ||
|
cc3a1d78da | ||
|
0cc544a95f | ||
|
03b7402dc5 | ||
|
dd5c400c24 | ||
|
abc702c21f | ||
|
cc3e1bdee8 | ||
|
10cfa773ca | ||
|
8dc42b1f41 | ||
|
6e7ea9a549 | ||
|
ed2ccdd504 | ||
|
6d2bad01e6 | ||
|
3847831d80 | ||
|
44462f4d71 | ||
|
4d20589773 | ||
|
52140ec1a9 | ||
|
08c2a7ad64 | ||
|
d19796f14c | ||
|
e4f53a48d2 | ||
|
154163bd6c | ||
|
4502414934 | ||
|
38e4bc61d9 | ||
|
86c471afcd | ||
|
e2698aaead | ||
|
8cfe4b0f82 | ||
|
fd90a490c0 | ||
|
16c5ffadc7 | ||
|
4a184721e4 | ||
|
1e3bd937ed | ||
|
0f6932f1e8 | ||
|
cab98776db | ||
|
fbc1e3ed3b | ||
|
805d16abda | ||
|
f133229287 | ||
|
8f4031572a | ||
|
d25fa796c0 | ||
|
089d6a5c9e | ||
|
3f83355d9f | ||
|
40380e3066 | ||
|
a6748bafb3 | ||
|
b52f6eb77c | ||
|
98c933fdb7 | ||
|
ece7ffadd6 | ||
|
591bceb8ef | ||
|
04cfd07176 | ||
|
db2282a351 | ||
|
0ec3d6ca9d | ||
|
442b7ce0d3 | ||
|
6a068a90b2 | ||
|
9a6f6c8b39 | ||
|
52d5c32950 | ||
|
de47cff86d | ||
|
a459174f98 | ||
|
75d5aa3a77 | ||
|
c254ca524f | ||
|
51934b8d8d | ||
|
a5dd686bb2 | ||
|
4cbfd04522 |
10
.dockerignore
Normal file
@@ -0,0 +1,10 @@
|
||||
**/node_modules
|
||||
Assets/
|
||||
.git/
|
||||
_releases/
|
||||
packages/app-desktop
|
||||
packages/app-cli
|
||||
packages/app-mobile
|
||||
packages/app-clipper
|
||||
packages/generator-joplin
|
||||
packages/plugin-repo-cli
|
26
.env-sample
Normal file
@@ -0,0 +1,26 @@
|
||||
# =============================================================================
|
||||
# PRODUCTION CONFIG EXAMPLE
|
||||
# -----------------------------------------------------------------------------
|
||||
# By default it will use SQLite, but that's mostly to test and evaluate the
|
||||
# server. So you'll want to specify db connection settings to use Postgres.
|
||||
# =============================================================================
|
||||
#
|
||||
# APP_BASE_URL=https://example.com/joplin
|
||||
# APP_PORT=22300
|
||||
#
|
||||
# DB_CLIENT=pg
|
||||
# POSTGRES_PASSWORD=joplin
|
||||
# POSTGRES_DATABASE=joplin
|
||||
# POSTGRES_USER=joplin
|
||||
# POSTGRES_PORT=5432
|
||||
# POSTGRES_HOST=localhost
|
||||
|
||||
# =============================================================================
|
||||
# DEV CONFIG EXAMPLE
|
||||
# -----------------------------------------------------------------------------
|
||||
# Example of local config, for development. In dev mode, you would usually use
|
||||
# SQLite so database settings are not needed.
|
||||
# =============================================================================
|
||||
#
|
||||
# APP_BASE_URL=http://localhost:22300
|
||||
# APP_PORT=22300
|
1977
.eslintignore
46
.eslintrc.js
@@ -1,4 +1,5 @@
|
||||
module.exports = {
|
||||
'root': true,
|
||||
'env': {
|
||||
'browser': true,
|
||||
'es6': true,
|
||||
@@ -15,7 +16,8 @@ module.exports = {
|
||||
'Atomics': 'readonly',
|
||||
'SharedArrayBuffer': 'readonly',
|
||||
|
||||
// Jasmine variables
|
||||
// Jest variables
|
||||
'test': 'readonly',
|
||||
'expect': 'readonly',
|
||||
'describe': 'readonly',
|
||||
'it': 'readonly',
|
||||
@@ -23,7 +25,7 @@ module.exports = {
|
||||
'afterAll': 'readonly',
|
||||
'beforeEach': 'readonly',
|
||||
'afterEach': 'readonly',
|
||||
'jasmine': 'readonly',
|
||||
'jest': 'readonly',
|
||||
|
||||
// React Native variables
|
||||
'__DEV__': 'readonly',
|
||||
@@ -33,6 +35,9 @@ module.exports = {
|
||||
'chrome': 'readonly',
|
||||
'browser': 'readonly',
|
||||
|
||||
// Server admin UI global variables
|
||||
'onDocumentReady': 'readonly',
|
||||
|
||||
'tinymce': 'readonly',
|
||||
},
|
||||
'parserOptions': {
|
||||
@@ -60,13 +65,18 @@ module.exports = {
|
||||
'no-var': ['error'],
|
||||
'no-new-func': ['error'],
|
||||
'import/prefer-default-export': ['error'],
|
||||
'import/first': ['error'],
|
||||
|
||||
// This rule should not be enabled since it matters in what order
|
||||
// imports are done, in particular in relation to the shim.setReact
|
||||
// call, which should be done first, but this rule might move it down.
|
||||
// 'import/first': ['error'],
|
||||
|
||||
'no-array-constructor': ['error'],
|
||||
'radix': ['error'],
|
||||
|
||||
// Warn only for now because fixing everything would take too much
|
||||
// refactoring, but new code should try to stick to it.
|
||||
'complexity': ['warn', { max: 10 }],
|
||||
// 'complexity': ['warn', { max: 10 }],
|
||||
|
||||
// Checks rules of Hooks
|
||||
'react-hooks/rules-of-hooks': 'error',
|
||||
@@ -115,6 +125,7 @@ module.exports = {
|
||||
'space-before-blocks': 'error',
|
||||
'spaced-comment': ['error', 'always'],
|
||||
'keyword-spacing': ['error', { 'before': true, 'after': true }],
|
||||
'no-multi-spaces': ['error'],
|
||||
},
|
||||
'plugins': [
|
||||
'react',
|
||||
@@ -126,10 +137,37 @@ module.exports = {
|
||||
{
|
||||
// enable the rule specifically for TypeScript files
|
||||
'files': ['*.ts', '*.tsx'],
|
||||
'parserOptions': {
|
||||
// Required for @typescript-eslint/no-floating-promises
|
||||
'project': './tsconfig.eslint.json',
|
||||
},
|
||||
'rules': {
|
||||
// Warn only because it would make it difficult to convert JS classes to TypeScript, unless we
|
||||
// make everything public which is not great. New code however should specify member accessibility.
|
||||
'@typescript-eslint/explicit-member-accessibility': ['warn'],
|
||||
'@typescript-eslint/type-annotation-spacing': ['error', { 'before': false, 'after': true }],
|
||||
'@typescript-eslint/comma-dangle': ['error', {
|
||||
'arrays': 'always-multiline',
|
||||
'objects': 'always-multiline',
|
||||
'imports': 'always-multiline',
|
||||
'exports': 'always-multiline',
|
||||
'enums': 'always-multiline',
|
||||
'generics': 'always-multiline',
|
||||
'tuples': 'always-multiline',
|
||||
'functions': 'never',
|
||||
}],
|
||||
'@typescript-eslint/semi': ['error', 'always'],
|
||||
'@typescript-eslint/member-delimiter-style': ['error', {
|
||||
'multiline': {
|
||||
'delimiter': 'semi',
|
||||
'requireLast': true,
|
||||
},
|
||||
'singleline': {
|
||||
'delimiter': 'semi',
|
||||
'requireLast': false,
|
||||
},
|
||||
}],
|
||||
'@typescript-eslint/no-floating-promises': ['error'],
|
||||
},
|
||||
},
|
||||
],
|
||||
|
@@ -1,15 +0,0 @@
|
||||
---
|
||||
name: "\U0001F914 Feature requests and support"
|
||||
about: 'For non-bug issues we recommend using the forum, where you''ll be more likely
|
||||
to get an answer: https://discourse.joplinapp.org/'
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
If this is a feature request or a support query, please note that you'll not get an answer here.
|
||||
|
||||
Instead we recommend using the forum where you'll are a lot more likely to get an answer: https://discourse.joplinapp.org/
|
||||
|
||||
The forum is also the right place to submit a feature request so that it can be discussed by other users.
|
5
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: "\U0001F914 Feature requests and support"
|
||||
url: https://discourse.joplinapp.org/
|
||||
about: I have a question or feature request …
|
134
.github/scripts/run_ci.sh
vendored
Executable file
@@ -0,0 +1,134 @@
|
||||
#!/bin/bash
|
||||
|
||||
# =============================================================================
|
||||
# Setup environment variables
|
||||
# =============================================================================
|
||||
|
||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
||||
ROOT_DIR="$SCRIPT_DIR/../.."
|
||||
|
||||
IS_PULL_REQUEST=0
|
||||
IS_DEV_BRANCH=0
|
||||
IS_LINUX=0
|
||||
IS_MACOS=0
|
||||
|
||||
if [ "$GITHUB_EVENT_NAME" == "pull_request" ]; then
|
||||
IS_PULL_REQUEST=1
|
||||
fi
|
||||
|
||||
if [ "$GITHUB_REF" == "refs/heads/dev" ]; then
|
||||
IS_DEV_BRANCH=1
|
||||
fi
|
||||
|
||||
if [ "$RUNNER_OS" == "Linux" ]; then
|
||||
IS_LINUX=1
|
||||
IS_MACOS=0
|
||||
else
|
||||
IS_LINUX=0
|
||||
IS_MACOS=1
|
||||
fi
|
||||
|
||||
# =============================================================================
|
||||
# Print environment
|
||||
# =============================================================================
|
||||
|
||||
echo "GITHUB_WORKFLOW=$GITHUB_WORKFLOW"
|
||||
echo "GITHUB_EVENT_NAME=$GITHUB_EVENT_NAME"
|
||||
echo "GITHUB_REF=$GITHUB_REF"
|
||||
echo "RUNNER_OS=$RUNNER_OS"
|
||||
echo "GIT_TAG_NAME=$GIT_TAG_NAME"
|
||||
|
||||
echo "IS_CONTINUOUS_INTEGRATION=$IS_CONTINUOUS_INTEGRATION"
|
||||
echo "IS_PULL_REQUEST=$IS_PULL_REQUEST"
|
||||
echo "IS_DEV_BRANCH=$IS_DEV_BRANCH"
|
||||
echo "IS_LINUX=$IS_LINUX"
|
||||
echo "IS_MACOS=$IS_MACOS"
|
||||
|
||||
echo "Node $( node -v )"
|
||||
echo "Npm $( npm -v )"
|
||||
|
||||
# =============================================================================
|
||||
# Install packages
|
||||
# =============================================================================
|
||||
|
||||
cd "$ROOT_DIR"
|
||||
npm install
|
||||
|
||||
# =============================================================================
|
||||
# Run test units. Only do it for pull requests and dev branch because we don't
|
||||
# want it to randomly fail when trying to create a desktop release.
|
||||
# =============================================================================
|
||||
|
||||
if [ "$IS_PULL_REQUEST" == "1" ] || [ "$IS_DEV_BRANCH" = "1" ]; then
|
||||
npm run test-ci
|
||||
testResult=$?
|
||||
if [ $testResult -ne 0 ]; then
|
||||
exit $testResult
|
||||
fi
|
||||
fi
|
||||
|
||||
# =============================================================================
|
||||
# Run linter for pull requests only. We also don't want this to make the desktop
|
||||
# release randomly fail.
|
||||
# =============================================================================
|
||||
|
||||
if [ "$IS_PULL_REQUEST" != "1" ]; then
|
||||
npm run linter-ci ./
|
||||
testResult=$?
|
||||
if [ $testResult -ne 0 ]; then
|
||||
exit $testResult
|
||||
fi
|
||||
fi
|
||||
|
||||
# =============================================================================
|
||||
# Validate translations - this is needed as some users manually edit .po files
|
||||
# (and often make mistakes) instead of using a proper tool like poedit. Doing it
|
||||
# for Linux only is sufficient.
|
||||
# =============================================================================
|
||||
|
||||
if [ "$IS_PULL_REQUEST" == "1" ]; then
|
||||
if [ "$IS_LINUX" == "1" ]; then
|
||||
node packages/tools/validate-translation.js
|
||||
testResult=$?
|
||||
if [ $testResult -ne 0 ]; then
|
||||
exit $testResult
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# =============================================================================
|
||||
# Find out if we should run the build or not. Electron-builder gets stuck when
|
||||
# building PRs so we disable it in this case. The Linux build should provide
|
||||
# enough info if the app builds or not.
|
||||
# https://github.com/electron-userland/electron-builder/issues/4263
|
||||
# =============================================================================
|
||||
|
||||
if [ "$IS_PULL_REQUEST" == "1" ]; then
|
||||
if [ "$IS_MACOS" == "1" ]; then
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
# =============================================================================
|
||||
# Prepare the Electron app and build it
|
||||
#
|
||||
# If the current tag is a desktop release tag (starts with "v", such as
|
||||
# "v1.4.7"), we build and publish to github
|
||||
#
|
||||
# Otherwise we only build but don't publish to GitHub. It helps finding
|
||||
# out any issue in pull requests and dev branch.
|
||||
# =============================================================================
|
||||
|
||||
cd "$ROOT_DIR/packages/app-desktop"
|
||||
|
||||
if [[ $GIT_TAG_NAME = v* ]]; then
|
||||
echo "Building and publishing desktop application..."
|
||||
USE_HARD_LINKS=false npm run dist
|
||||
elif [[ $GIT_TAG_NAME = server-v* ]] && [[ $IS_LINUX = 1 ]]; then
|
||||
echo "Building Docker Image..."
|
||||
cd "$ROOT_DIR"
|
||||
npm run buildServerDocker -- --tag-name $GIT_TAG_NAME
|
||||
else
|
||||
echo "Building but *not* publishing desktop application..."
|
||||
USE_HARD_LINKS=false npm run dist -- --publish=never
|
||||
fi
|
2
.github/stale.yml
vendored
@@ -9,7 +9,9 @@ exemptLabels:
|
||||
- "upstream"
|
||||
- "backlog"
|
||||
- "high"
|
||||
- "medium"
|
||||
- "spec"
|
||||
- "cannot reproduce"
|
||||
# Label to use when marking an issue as stale
|
||||
staleLabel: stale
|
||||
# Comment to post when marking an issue as stale. Set to `false` to disable
|
||||
|
63
.github/workflows/github-actions-main.yml
vendored
Normal file
@@ -0,0 +1,63 @@
|
||||
name: Joplin Continuous Integration
|
||||
on: [push, pull_request]
|
||||
jobs:
|
||||
Main:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [macos-latest, ubuntu-latest]
|
||||
steps:
|
||||
|
||||
# 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
|
||||
|
||||
- name: Install Docker Engine
|
||||
if: runner.os == 'Linux' && startsWith(github.ref, 'refs/tags/server-v')
|
||||
run: |
|
||||
sudo apt-get install -y apt-transport-https
|
||||
sudo apt-get install -y ca-certificates
|
||||
sudo apt-get install -y curl
|
||||
sudo apt-get install -y gnupg
|
||||
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 \
|
||||
$(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
|
||||
|
||||
- uses: actions/checkout@v2
|
||||
- uses: olegtarasov/get-tag@v2.1
|
||||
- uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: '12'
|
||||
|
||||
# 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
|
||||
- uses: docker/login-action@v1
|
||||
if: runner.os == 'Linux' && startsWith(github.ref, 'refs/tags/server-v')
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
- name: Run script...
|
||||
env:
|
||||
APPLE_ASC_PROVIDER: ${{ secrets.APPLE_ASC_PROVIDER }}
|
||||
APPLE_ID: ${{ secrets.APPLE_ID }}
|
||||
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
|
||||
CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
|
||||
CSC_LINK: ${{ secrets.CSC_LINK }}
|
||||
GH_TOKEN: ${{ secrets.GH_TOKEN }}
|
||||
IS_CONTINUOUS_INTEGRATION: 1
|
||||
run: |
|
||||
"${GITHUB_WORKSPACE}/.github/scripts/run_ci.sh"
|
1939
.gitignore
vendored
297
.ignore
@@ -1,297 +0,0 @@
|
||||
# This is used by VSCode to ignore patterns during search.
|
||||
# Before they were in joplin.code-workspace, under the `files.exclude` key
|
||||
# but it eventually reached the limit with ENAMETOOLONG error.
|
||||
#
|
||||
# https://github.com/microsoft/vscode/issues/94718
|
||||
|
||||
# AUTO-GENERATED - EXCLUDED TYPESCRIPT BUILD
|
||||
CliClient/app/LinkSelector.js
|
||||
CliClient/app/services/plugins/PluginRunner.js
|
||||
CliClient/tests/fsDriver.js
|
||||
CliClient/tests/InMemoryCache.js
|
||||
CliClient/tests/MdToHtml.js
|
||||
CliClient/tests/models_Setting.js
|
||||
CliClient/tests/services_CommandService.js
|
||||
CliClient/tests/services_InteropService.js
|
||||
CliClient/tests/services_keychainService.js
|
||||
CliClient/tests/services_PluginService.js
|
||||
CliClient/tests/services_rest_Api.js
|
||||
CliClient/tests/services/plugins/api/JoplinSetting.js
|
||||
CliClient/tests/services/plugins/sandboxProxy.js
|
||||
CliClient/tests/synchronizer_LockHandler.js
|
||||
CliClient/tests/synchronizer_MigrationHandler.js
|
||||
ElectronClient/app.js
|
||||
ElectronClient/bridge.js
|
||||
ElectronClient/commands/copyDevCommand.js
|
||||
ElectronClient/commands/focusElement.js
|
||||
ElectronClient/commands/openProfileDirectory.js
|
||||
ElectronClient/commands/startExternalEditing.js
|
||||
ElectronClient/commands/stopExternalEditing.js
|
||||
ElectronClient/commands/toggleExternalEditing.js
|
||||
ElectronClient/ElectronAppWrapper.js
|
||||
ElectronClient/global.d.js
|
||||
ElectronClient/gui/Button/Button.js
|
||||
ElectronClient/gui/ConfigScreen/ButtonBar.js
|
||||
ElectronClient/gui/ConfigScreen/ConfigScreen.js
|
||||
ElectronClient/gui/ConfigScreen/SideBar.js
|
||||
ElectronClient/gui/DropboxLoginScreen.js
|
||||
ElectronClient/gui/ErrorBoundary.js
|
||||
ElectronClient/gui/KeymapConfig/KeymapConfigScreen.js
|
||||
ElectronClient/gui/KeymapConfig/ShortcutRecorder.js
|
||||
ElectronClient/gui/KeymapConfig/styles/index.js
|
||||
ElectronClient/gui/KeymapConfig/utils/getLabel.js
|
||||
ElectronClient/gui/KeymapConfig/utils/useCommandStatus.js
|
||||
ElectronClient/gui/KeymapConfig/utils/useKeymap.js
|
||||
ElectronClient/gui/MainScreen/commands/editAlarm.js
|
||||
ElectronClient/gui/MainScreen/commands/exportPdf.js
|
||||
ElectronClient/gui/MainScreen/commands/hideModalMessage.js
|
||||
ElectronClient/gui/MainScreen/commands/moveToFolder.js
|
||||
ElectronClient/gui/MainScreen/commands/newFolder.js
|
||||
ElectronClient/gui/MainScreen/commands/newNote.js
|
||||
ElectronClient/gui/MainScreen/commands/newTodo.js
|
||||
ElectronClient/gui/MainScreen/commands/print.js
|
||||
ElectronClient/gui/MainScreen/commands/renameFolder.js
|
||||
ElectronClient/gui/MainScreen/commands/renameTag.js
|
||||
ElectronClient/gui/MainScreen/commands/search.js
|
||||
ElectronClient/gui/MainScreen/commands/selectTemplate.js
|
||||
ElectronClient/gui/MainScreen/commands/setTags.js
|
||||
ElectronClient/gui/MainScreen/commands/showModalMessage.js
|
||||
ElectronClient/gui/MainScreen/commands/showNoteContentProperties.js
|
||||
ElectronClient/gui/MainScreen/commands/showNoteProperties.js
|
||||
ElectronClient/gui/MainScreen/commands/showShareNoteDialog.js
|
||||
ElectronClient/gui/MainScreen/commands/toggleEditors.js
|
||||
ElectronClient/gui/MainScreen/commands/toggleNoteList.js
|
||||
ElectronClient/gui/MainScreen/commands/toggleSideBar.js
|
||||
ElectronClient/gui/MainScreen/commands/toggleVisiblePanes.js
|
||||
ElectronClient/gui/MainScreen/MainScreen.js
|
||||
ElectronClient/gui/MenuBar.js
|
||||
ElectronClient/gui/MultiNoteActions.js
|
||||
ElectronClient/gui/NoteContentPropertiesDialog.js
|
||||
ElectronClient/gui/NoteEditor/commands/editorCommandDeclarations.js
|
||||
ElectronClient/gui/NoteEditor/commands/focusElementNoteBody.js
|
||||
ElectronClient/gui/NoteEditor/commands/focusElementNoteTitle.js
|
||||
ElectronClient/gui/NoteEditor/commands/showLocalSearch.js
|
||||
ElectronClient/gui/NoteEditor/commands/showRevisions.js
|
||||
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/CodeMirror.js
|
||||
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/Editor.js
|
||||
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/styles/index.js
|
||||
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/Toolbar.js
|
||||
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/index.js
|
||||
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/types.js
|
||||
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/useCursorUtils.js
|
||||
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/useEditorSearch.js
|
||||
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/useJoplinMode.js
|
||||
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/useKeymap.js
|
||||
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/useLineSorting.js
|
||||
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/useListIdent.js
|
||||
ElectronClient/gui/NoteEditor/NoteBody/CodeMirror/utils/useScrollUtils.js
|
||||
ElectronClient/gui/NoteEditor/NoteBody/TinyMCE/styles/index.js
|
||||
ElectronClient/gui/NoteEditor/NoteBody/TinyMCE/TinyMCE.js
|
||||
ElectronClient/gui/NoteEditor/NoteBody/TinyMCE/utils/useScroll.js
|
||||
ElectronClient/gui/NoteEditor/NoteEditor.js
|
||||
ElectronClient/gui/NoteEditor/styles/index.js
|
||||
ElectronClient/gui/NoteEditor/utils/contextMenu.js
|
||||
ElectronClient/gui/NoteEditor/utils/index.js
|
||||
ElectronClient/gui/NoteEditor/utils/resourceHandling.js
|
||||
ElectronClient/gui/NoteEditor/utils/types.js
|
||||
ElectronClient/gui/NoteEditor/utils/useDropHandler.js
|
||||
ElectronClient/gui/NoteEditor/utils/useFolder.js
|
||||
ElectronClient/gui/NoteEditor/utils/useFormNote.js
|
||||
ElectronClient/gui/NoteEditor/utils/useMarkupToHtml.js
|
||||
ElectronClient/gui/NoteEditor/utils/useMessageHandler.js
|
||||
ElectronClient/gui/NoteEditor/utils/useNoteSearchBar.js
|
||||
ElectronClient/gui/NoteEditor/utils/usePluginServiceRegistration.js
|
||||
ElectronClient/gui/NoteEditor/utils/useSearchMarkers.js
|
||||
ElectronClient/gui/NoteEditor/utils/useWindowCommandHandler.js
|
||||
ElectronClient/gui/NoteList/commands/focusElementNoteList.js
|
||||
ElectronClient/gui/NoteList/NoteList.js
|
||||
ElectronClient/gui/NoteListControls/commands/focusSearch.js
|
||||
ElectronClient/gui/NoteListControls/NoteListControls.js
|
||||
ElectronClient/gui/NoteListItem.js
|
||||
ElectronClient/gui/NoteTextViewer.js
|
||||
ElectronClient/gui/NoteToolbar/NoteToolbar.js
|
||||
ElectronClient/gui/OneDriveLoginScreen.js
|
||||
ElectronClient/gui/ResizableLayout/hooks/useLayoutItemSizes.js
|
||||
ElectronClient/gui/ResizableLayout/hooks/useWindowResizeEvent.js
|
||||
ElectronClient/gui/ResizableLayout/ResizableLayout.js
|
||||
ElectronClient/gui/ResourceScreen.js
|
||||
ElectronClient/gui/Root_UpgradeSyncTarget.js
|
||||
ElectronClient/gui/Root.js
|
||||
ElectronClient/gui/SearchBar/hooks/useSearch.js
|
||||
ElectronClient/gui/SearchBar/SearchBar.js
|
||||
ElectronClient/gui/SearchBar/styles/index.js
|
||||
ElectronClient/gui/ShareNoteDialog.js
|
||||
ElectronClient/gui/SideBar/commands/focusElementSideBar.js
|
||||
ElectronClient/gui/SideBar/SideBar.js
|
||||
ElectronClient/gui/SideBar/styles/index.js
|
||||
ElectronClient/gui/StatusScreen/StatusScreen.js
|
||||
ElectronClient/gui/style/StyledInput.js
|
||||
ElectronClient/gui/style/StyledTextInput.js
|
||||
ElectronClient/gui/TagList.js
|
||||
ElectronClient/gui/ToggleEditorsButton/styles/index.js
|
||||
ElectronClient/gui/ToggleEditorsButton/ToggleEditorsButton.js
|
||||
ElectronClient/gui/ToolbarBase.js
|
||||
ElectronClient/gui/ToolbarButton/styles/index.js
|
||||
ElectronClient/gui/ToolbarButton/ToolbarButton.js
|
||||
ElectronClient/gui/utils/NoteListUtils.js
|
||||
ElectronClient/InteropServiceHelper.js
|
||||
ElectronClient/plugins/GotoAnything.js
|
||||
ElectronClient/services/bridge.js
|
||||
ElectronClient/services/commands/types.js
|
||||
ElectronClient/services/plugins/hooks/useThemeCss.js
|
||||
ElectronClient/services/plugins/hooks/useViewIsReady.js
|
||||
ElectronClient/services/plugins/PlatformImplementation.js
|
||||
ElectronClient/services/plugins/PluginRunner.js
|
||||
ElectronClient/services/plugins/UserWebview.js
|
||||
ElectronClient/services/plugins/UserWebviewDialog.js
|
||||
ElectronClient/services/plugins/UserWebviewDialogButtonBar.js
|
||||
ReactNativeClient/lib/AsyncActionQueue.js
|
||||
ReactNativeClient/lib/BaseApplication.js
|
||||
ReactNativeClient/lib/checkPermissions.js
|
||||
ReactNativeClient/lib/commands/historyBackward.js
|
||||
ReactNativeClient/lib/commands/historyForward.js
|
||||
ReactNativeClient/lib/commands/synchronize.js
|
||||
ReactNativeClient/lib/components/BackButtonDialogBox.js
|
||||
ReactNativeClient/lib/components/CameraView.js
|
||||
ReactNativeClient/lib/components/NoteBodyViewer/hooks/useOnMessage.js
|
||||
ReactNativeClient/lib/components/NoteBodyViewer/hooks/useOnResourceLongPress.js
|
||||
ReactNativeClient/lib/components/NoteBodyViewer/hooks/useSource.js
|
||||
ReactNativeClient/lib/components/NoteBodyViewer/NoteBodyViewer.js
|
||||
ReactNativeClient/lib/components/screens/Note.js
|
||||
ReactNativeClient/lib/components/screens/UpgradeSyncTargetScreen.js
|
||||
ReactNativeClient/lib/components/SelectDateTimeDialog.js
|
||||
ReactNativeClient/lib/errorUtils.js
|
||||
ReactNativeClient/lib/eventManager.js
|
||||
ReactNativeClient/lib/fs-driver-node.js
|
||||
ReactNativeClient/lib/hooks/useEffectDebugger.js
|
||||
ReactNativeClient/lib/hooks/useImperativeHandlerDebugger.js
|
||||
ReactNativeClient/lib/hooks/usePrevious.js
|
||||
ReactNativeClient/lib/hooks/usePropsDebugger.js
|
||||
ReactNativeClient/lib/InMemoryCache.js
|
||||
ReactNativeClient/lib/joplin-renderer/MarkupToHtml.js
|
||||
ReactNativeClient/lib/joplin-renderer/MdToHtml.js
|
||||
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/checkbox.js
|
||||
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/code_inline.js
|
||||
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/fence.js
|
||||
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/fountain.js
|
||||
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/highlight_keywords.js
|
||||
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/html_image.js
|
||||
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/image.js
|
||||
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/katex.js
|
||||
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/link_open.js
|
||||
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/mermaid.js
|
||||
ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/sanitize_html.js
|
||||
ReactNativeClient/lib/joplin-renderer/noteStyle.js
|
||||
ReactNativeClient/lib/joplin-renderer/pathUtils.js
|
||||
ReactNativeClient/lib/JoplinServerApi.js
|
||||
ReactNativeClient/lib/locale.js
|
||||
ReactNativeClient/lib/Logger.js
|
||||
ReactNativeClient/lib/markdownUtils.js
|
||||
ReactNativeClient/lib/markupLanguageUtils.js
|
||||
ReactNativeClient/lib/models/Alarm.js
|
||||
ReactNativeClient/lib/models/Setting.js
|
||||
ReactNativeClient/lib/ntpDate.js
|
||||
ReactNativeClient/lib/path-utils.js
|
||||
ReactNativeClient/lib/PoorManIntervals.js
|
||||
ReactNativeClient/lib/reducer.js
|
||||
ReactNativeClient/lib/services/AlarmService.js
|
||||
ReactNativeClient/lib/services/AlarmServiceDriver.android.js
|
||||
ReactNativeClient/lib/services/AlarmServiceDriver.ios.js
|
||||
ReactNativeClient/lib/services/AlarmServiceDriverNode.js
|
||||
ReactNativeClient/lib/services/BaseService.js
|
||||
ReactNativeClient/lib/services/commands/commandsToMarkdownTable.js
|
||||
ReactNativeClient/lib/services/commands/MenuUtils.js
|
||||
ReactNativeClient/lib/services/commands/propsHaveChanged.js
|
||||
ReactNativeClient/lib/services/commands/stateToWhenClauseContext.js
|
||||
ReactNativeClient/lib/services/commands/ToolbarButtonUtils.js
|
||||
ReactNativeClient/lib/services/CommandService.js
|
||||
ReactNativeClient/lib/services/contextkey/contextkey.js
|
||||
ReactNativeClient/lib/services/debug/populateDatabase.js
|
||||
ReactNativeClient/lib/services/interop/InteropService_Exporter_Base.js
|
||||
ReactNativeClient/lib/services/interop/InteropService_Exporter_Custom.js
|
||||
ReactNativeClient/lib/services/interop/InteropService_Exporter_Html.js
|
||||
ReactNativeClient/lib/services/interop/InteropService_Exporter_Jex.js
|
||||
ReactNativeClient/lib/services/interop/InteropService_Exporter_Md.js
|
||||
ReactNativeClient/lib/services/interop/InteropService_Exporter_Raw.js
|
||||
ReactNativeClient/lib/services/interop/InteropService_Importer_Base.js
|
||||
ReactNativeClient/lib/services/interop/InteropService_Importer_Custom.js
|
||||
ReactNativeClient/lib/services/interop/InteropService_Importer_EnexToHtml.js
|
||||
ReactNativeClient/lib/services/interop/InteropService_Importer_EnexToMd.js
|
||||
ReactNativeClient/lib/services/interop/InteropService_Importer_Jex.js
|
||||
ReactNativeClient/lib/services/interop/InteropService_Importer_Md.js
|
||||
ReactNativeClient/lib/services/interop/InteropService_Importer_Raw.js
|
||||
ReactNativeClient/lib/services/interop/InteropService.js
|
||||
ReactNativeClient/lib/services/interop/types.js
|
||||
ReactNativeClient/lib/services/keychain/KeychainService.js
|
||||
ReactNativeClient/lib/services/keychain/KeychainServiceDriver.dummy.js
|
||||
ReactNativeClient/lib/services/keychain/KeychainServiceDriver.mobile.js
|
||||
ReactNativeClient/lib/services/keychain/KeychainServiceDriver.node.js
|
||||
ReactNativeClient/lib/services/keychain/KeychainServiceDriverBase.js
|
||||
ReactNativeClient/lib/services/KeymapService.js
|
||||
ReactNativeClient/lib/services/plugins/api/Global.js
|
||||
ReactNativeClient/lib/services/plugins/api/Joplin.js
|
||||
ReactNativeClient/lib/services/plugins/api/JoplinCommands.js
|
||||
ReactNativeClient/lib/services/plugins/api/JoplinData.js
|
||||
ReactNativeClient/lib/services/plugins/api/JoplinFilters.js
|
||||
ReactNativeClient/lib/services/plugins/api/JoplinInterop.js
|
||||
ReactNativeClient/lib/services/plugins/api/JoplinPlugins.js
|
||||
ReactNativeClient/lib/services/plugins/api/JoplinSettings.js
|
||||
ReactNativeClient/lib/services/plugins/api/JoplinViews.js
|
||||
ReactNativeClient/lib/services/plugins/api/JoplinViewsDialogs.js
|
||||
ReactNativeClient/lib/services/plugins/api/JoplinViewsMenuItems.js
|
||||
ReactNativeClient/lib/services/plugins/api/JoplinViewsMenus.js
|
||||
ReactNativeClient/lib/services/plugins/api/JoplinViewsPanels.js
|
||||
ReactNativeClient/lib/services/plugins/api/JoplinViewsToolbarButtons.js
|
||||
ReactNativeClient/lib/services/plugins/api/JoplinWorkspace.js
|
||||
ReactNativeClient/lib/services/plugins/api/types.js
|
||||
ReactNativeClient/lib/services/plugins/BasePluginRunner.js
|
||||
ReactNativeClient/lib/services/plugins/MenuController.js
|
||||
ReactNativeClient/lib/services/plugins/MenuItemController.js
|
||||
ReactNativeClient/lib/services/plugins/Plugin.js
|
||||
ReactNativeClient/lib/services/plugins/PluginService.js
|
||||
ReactNativeClient/lib/services/plugins/reducer.js
|
||||
ReactNativeClient/lib/services/plugins/sandboxProxy.js
|
||||
ReactNativeClient/lib/services/plugins/ToolbarButtonController.js
|
||||
ReactNativeClient/lib/services/plugins/utils/contentScriptsToRendererRules.js
|
||||
ReactNativeClient/lib/services/plugins/utils/createViewHandle.js
|
||||
ReactNativeClient/lib/services/plugins/utils/executeSandboxCall.js
|
||||
ReactNativeClient/lib/services/plugins/utils/manifestFromObject.js
|
||||
ReactNativeClient/lib/services/plugins/utils/mapEventHandlersToIds.js
|
||||
ReactNativeClient/lib/services/plugins/utils/types.js
|
||||
ReactNativeClient/lib/services/plugins/ViewController.js
|
||||
ReactNativeClient/lib/services/plugins/WebviewController.js
|
||||
ReactNativeClient/lib/services/ResourceEditWatcher/index.js
|
||||
ReactNativeClient/lib/services/ResourceEditWatcher/reducer.js
|
||||
ReactNativeClient/lib/services/rest/actionApi.desktop.js
|
||||
ReactNativeClient/lib/services/rest/Api.js
|
||||
ReactNativeClient/lib/services/rest/errors.js
|
||||
ReactNativeClient/lib/services/searchengine/filterParser.js
|
||||
ReactNativeClient/lib/services/searchengine/queryBuilder.js
|
||||
ReactNativeClient/lib/services/SettingUtils.js
|
||||
ReactNativeClient/lib/services/synchronizer/gui/useSyncTargetUpgrade.js
|
||||
ReactNativeClient/lib/services/synchronizer/LockHandler.js
|
||||
ReactNativeClient/lib/services/synchronizer/MigrationHandler.js
|
||||
ReactNativeClient/lib/services/synchronizer/migrations/1.js
|
||||
ReactNativeClient/lib/services/synchronizer/migrations/2.js
|
||||
ReactNativeClient/lib/services/synchronizer/utils/types.js
|
||||
ReactNativeClient/lib/services/UndoRedoService.js
|
||||
ReactNativeClient/lib/services/WhenClause.js
|
||||
ReactNativeClient/lib/ShareExtension.js
|
||||
ReactNativeClient/lib/shareHandler.js
|
||||
ReactNativeClient/lib/shim.js
|
||||
ReactNativeClient/lib/Synchronizer.js
|
||||
ReactNativeClient/lib/theme.js
|
||||
ReactNativeClient/lib/themes/aritimDark.js
|
||||
ReactNativeClient/lib/themes/dark.js
|
||||
ReactNativeClient/lib/themes/dracula.js
|
||||
ReactNativeClient/lib/themes/light.js
|
||||
ReactNativeClient/lib/themes/nord.js
|
||||
ReactNativeClient/lib/themes/oledDark.js
|
||||
ReactNativeClient/lib/themes/solarizedDark.js
|
||||
ReactNativeClient/lib/themes/solarizedLight.js
|
||||
ReactNativeClient/lib/themes/type.js
|
||||
ReactNativeClient/lib/uuid.js
|
||||
ReactNativeClient/lib/versionInfo.js
|
||||
ReactNativeClient/PluginAssetsLoader.js
|
||||
ReactNativeClient/setUpQuickActions.js
|
||||
# AUTO-GENERATED - EXCLUDED TYPESCRIPT BUILD
|
116
.travis.yml
@@ -1,116 +0,0 @@
|
||||
# Only build tags (Doesn't work - doesn't build anything)
|
||||
if: tag IS present OR type = pull_request
|
||||
|
||||
rvm: 2.3.3
|
||||
|
||||
# It's important to only build production branches otherwise Electron Builder
|
||||
# might take assets from dev branches and overwrite those of production.
|
||||
# https://docs.travis-ci.com/user/customizing-the-build/#Building-Specific-Branches
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
- dev
|
||||
- /^v\d+\.\d+(\.\d+)?(-\S*)?$/
|
||||
|
||||
matrix:
|
||||
include:
|
||||
- os: osx
|
||||
osx_image: xcode9.0
|
||||
language: node_js
|
||||
node_js: "10"
|
||||
env:
|
||||
- ELECTRON_CACHE=$HOME/.cache/electron
|
||||
- ELECTRON_BUILDER_CACHE=$HOME/.cache/electron-builder
|
||||
|
||||
- os: linux
|
||||
sudo: required
|
||||
dist: trusty
|
||||
language: node_js
|
||||
node_js: "10"
|
||||
env:
|
||||
- ELECTRON_CACHE=$HOME/.cache/electron
|
||||
- ELECTRON_BUILDER_CACHE=$HOME/.cache/electron-builder
|
||||
|
||||
# cache:
|
||||
# directories:
|
||||
# - node_modules
|
||||
# - $HOME/.cache/electron
|
||||
# - $HOME/.cache/electron-builder
|
||||
|
||||
before_install:
|
||||
# HOMEBREW_NO_AUTO_UPDATE needed so that Homebrew doesn't upgrade to the next
|
||||
# version, which requires Ruby 2.3, which is not available on the Travis VM.
|
||||
|
||||
# Silence apt-get update errors (for example when a module doesn't exist) since
|
||||
# otherwise it will make the whole build fails, even though all we need is yarn.
|
||||
|
||||
# libsecret-1-dev is required for keytar - https://github.com/atom/node-keytar
|
||||
- |
|
||||
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
|
||||
HOMEBREW_NO_AUTO_UPDATE=1 brew install yarn
|
||||
else
|
||||
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
|
||||
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
|
||||
sudo apt-get update || true
|
||||
sudo apt-get install -y yarn
|
||||
sudo apt-get install -y gettext
|
||||
sudo apt-get install -y libsecret-1-dev
|
||||
fi
|
||||
|
||||
script:
|
||||
- |
|
||||
# Install tools
|
||||
npm install
|
||||
cd Tools
|
||||
npm install
|
||||
cd ..
|
||||
|
||||
# Run test units.
|
||||
# Only do it for pull requests because Travis randomly fails to run them
|
||||
# and that would break the desktop release.
|
||||
if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
|
||||
cd CliClient
|
||||
npm run test-ci
|
||||
testResult=$?
|
||||
if [ $testResult -ne 0 ]; then
|
||||
exit $testResult
|
||||
fi
|
||||
cd ..
|
||||
fi
|
||||
|
||||
# Run linter for pull requests only - this is so that
|
||||
# bypassing eslint is allowed for urgent fixes.
|
||||
if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
|
||||
npm run linter-ci ./
|
||||
testResult=$?
|
||||
if [ $testResult -ne 0 ]; then
|
||||
exit $testResult
|
||||
fi
|
||||
fi
|
||||
|
||||
# Validate translations - this is needed as some users manually
|
||||
# edit .po files (and often make mistakes) instead of using a proper
|
||||
# tool like poedit. Doing it for Linux only is sufficient.
|
||||
if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
|
||||
if [ "$TRAVIS_OS_NAME" != "osx" ]; then
|
||||
node Tools/validate-translation.js
|
||||
testResult=$?
|
||||
if [ $testResult -ne 0 ]; then
|
||||
exit $testResult
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Find out if we should run the build or not. Electron-builder gets stuck when
|
||||
# builing PRs so we disable it in this case. The Linux build should provide
|
||||
# enough info if the app builds or not.
|
||||
# https://github.com/electron-userland/electron-builder/issues/4263
|
||||
if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
|
||||
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
# Prepare the Electron app and build it
|
||||
cd ElectronClient
|
||||
USE_HARD_LINKS=false npm run dist
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 113 KiB |
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 9.4 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 480 B After Width: | Height: | Size: 480 B |
Before Width: | Height: | Size: 855 B After Width: | Height: | Size: 855 B |
37
Assets/PluginDocTheme/helpers/index.js
Normal file
@@ -0,0 +1,37 @@
|
||||
function camelCaseToDots(s) {
|
||||
const output = [];
|
||||
for (let i = 0; i < s.length; i++) {
|
||||
const c = s[i];
|
||||
if (c === c.toLowerCase() || i === 0) {
|
||||
output.push(c.toLowerCase());
|
||||
} else {
|
||||
output.push('.');
|
||||
output.push(c.toLowerCase());
|
||||
}
|
||||
}
|
||||
|
||||
return output.join('');
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
jpFormatClassName: function(className) {
|
||||
if (className.indexOf('Joplin') !== 0 || className.indexOf(' ') >= 0) return className;
|
||||
|
||||
const p = className.substr(6);
|
||||
if (p === '') return 'joplin';
|
||||
|
||||
return `joplin.${camelCaseToDots(p)
|
||||
.replace(/menu\.items/, 'menuItems')
|
||||
.replace(/toolbar\.buttons/, 'toolbarButtons')
|
||||
.replace(/content\.scripts/, 'contentScripts')}`;
|
||||
},
|
||||
|
||||
jpIsAllowedGroup: function(name) {
|
||||
return name !== 'Constructors';
|
||||
},
|
||||
|
||||
jsIsNotKindVariable: function(classes) {
|
||||
if (!classes) return true;
|
||||
return classes.indexOf('tsd-kind-variable') < 0;
|
||||
},
|
||||
};
|
Before Width: | Height: | Size: 300 KiB After Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 97 KiB After Width: | Height: | Size: 97 KiB |
27
Assets/TinyMCE/IconPack/gulpfile.js
Normal file
@@ -0,0 +1,27 @@
|
||||
const iconPackager = require('@ephox/oxide-icons-tools').iconPackager;
|
||||
const clean = require('gulp-clean');
|
||||
const gulp = require('gulp');
|
||||
const fs = require('fs');
|
||||
|
||||
gulp.task('icon-packager', function() {
|
||||
const contents = fs.readFileSync('package.json');
|
||||
const name = JSON.parse(contents).iconPackName;
|
||||
|
||||
return gulp.src('src/svg/**/*.svg')
|
||||
.pipe(iconPackager({ name }))
|
||||
.pipe(gulp.dest('dist'));
|
||||
});
|
||||
|
||||
gulp.task('deploy', function() {
|
||||
fs.copyFileSync(`${__dirname}/dist/icons/Joplin/icons.js`, `${__dirname}/../../../packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/icons.js`);
|
||||
return Promise.resolve();
|
||||
});
|
||||
|
||||
gulp.task('clean', function() {
|
||||
return gulp.src('./dist', {
|
||||
read: false,
|
||||
allowEmpty: true,
|
||||
}).pipe(clean());
|
||||
});
|
||||
|
||||
gulp.task('default', gulp.series('clean', 'icon-packager', 'deploy'));
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
@@ -27,7 +27,7 @@ module.exports = function(grunt) {
|
||||
// },
|
||||
|
||||
shell: {
|
||||
command: 'tsc',
|
||||
command: 'tsc --project tsconfig.json',
|
||||
},
|
||||
|
||||
rollup: {
|
||||
@@ -125,7 +125,7 @@ module.exports = function(grunt) {
|
||||
// { src: ['changelog.txt'], dest: 'dist', expand: true },
|
||||
{
|
||||
src: ['dist/joplinLists.js'],
|
||||
dest: '../../../ElectronClient/gui/NoteEditor/NoteBody/TinyMCE/plugins/lists.js',
|
||||
dest: '../../../packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/plugins/lists.js',
|
||||
},
|
||||
],
|
||||
},
|
13
Assets/TinyMCE/JoplinLists/README.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# TinyMCE Joplin Lists Plugin
|
||||
|
||||
**As of 2020-11-02 this module no longer builds (a ton of TypeScript errors). No idea why since nothing was changed but should be investigated if modifying this plugin is ever needed.**
|
||||
|
||||
This is based on https://github.com/tinymce/tinymce/tree/59748a11303fb7cf00fdb8c9392dcb082ee9d965/modules/tinymce/src/plugins/lists
|
||||
|
||||
But with support for Joplin checkboxes.
|
||||
|
||||
## Building
|
||||
|
||||
Use `npm i && npm run build` to build the plugin, which will also copy the compiled version to the right packages/app-desktop sub-directory.
|
||||
|
||||
To test the plugin, use `npm run buildAndStart`, which will build the plugin and start the desktop application.
|
54
Assets/TinyMCE/JoplinLists/package.json
Normal file
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"name": "joplin-tinymce-lists",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"scripts": {
|
||||
"prepublishOnly": "npm run lint && npm run build",
|
||||
"lint": "tslint src/**/*.ts",
|
||||
"build": "grunt",
|
||||
"test": "bedrock-auto -b phantomjs -d src/test/ts/",
|
||||
"test-manual": "bedrock -d src/test/ts/",
|
||||
"start": "grunt webpack",
|
||||
"buildAndStart": "yarn build && cd .. && cd .. && cd .. && cd packages/app-desktop && npm start"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "Tiny Technologies Inc.",
|
||||
"devDependencies": {
|
||||
"@ephox/agar": "latest",
|
||||
"@ephox/bedrock": "latest",
|
||||
"@ephox/mcagar": "latest",
|
||||
"@ephox/swag": "latest",
|
||||
"@ephox/tslint-rules": "latest",
|
||||
"awesome-typescript-loader": "^5.2.1",
|
||||
"grunt": "^1.0.4",
|
||||
"grunt-contrib-clean": "^2.0.0",
|
||||
"grunt-contrib-concat": "^1.0.1",
|
||||
"grunt-contrib-copy": "^1.0.0",
|
||||
"grunt-contrib-uglify": "^4.0.0",
|
||||
"grunt-shell": "^2.1.0",
|
||||
"grunt-tslint": "^5.0.2",
|
||||
"grunt-webpack": "^3.1.3",
|
||||
"load-grunt-tasks": "^4.0.0",
|
||||
"tinymce": "latest",
|
||||
"ts-loader": "^5.3.0",
|
||||
"tslib": "^1.9.3",
|
||||
"tslint": "^5.11.0",
|
||||
"typescript": "^3.1.6",
|
||||
"webpack": "^4.25.1",
|
||||
"webpack-livereload-plugin": "^2.1.1"
|
||||
},
|
||||
"files": [
|
||||
"lib/main",
|
||||
"lib/demo",
|
||||
"lib/test",
|
||||
"src",
|
||||
"tsconfig.json",
|
||||
"readme.md",
|
||||
"LEGAL.txt",
|
||||
"LICENSE.txt"
|
||||
],
|
||||
"main": "./lib/main/ts/api/Main.js",
|
||||
"module": "./lib/main/ts/api/Main.js",
|
||||
"types": "./lib/main/ts/api/Main.d.ts",
|
||||
"license": "Apache-2.0"
|
||||
}
|
@@ -48,7 +48,7 @@ const listState = function (editor: Editor, listName, options:any = {}) {
|
||||
// dependent on how the checkbox is styled, so if the style is changed, this might need
|
||||
// to be updated too.
|
||||
// For the styling, see:
|
||||
// ReactNativeClient/lib/joplin-renderer/MdToHtml/rules/checkbox.ts
|
||||
// packages/renderer/MdToHtml/rules/checkbox.ts
|
||||
//
|
||||
// The previous solution was to use "pointer-event: none", which mostly work, however
|
||||
// it means that links are no longer clickable when they are within the checkbox label.
|