mirror of
https://github.com/wekan/wekan.git
synced 2026-11-06 05:52:33 -05:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8951d0aa57 | ||
|
|
582bc3a4c4 | ||
|
|
5f21823c43 | ||
|
|
11162585ca | ||
|
|
dad5d2a905 | ||
|
|
2d683ea198 | ||
|
|
c082a48e67 | ||
|
|
ba387bcc84 | ||
|
|
c8d1a576b0 | ||
|
|
3e691f8b25 | ||
|
|
f700970cd4 | ||
|
|
2828027cc8 | ||
|
|
4a5d05a19f | ||
|
|
0867f728d1 | ||
|
|
0bd8b298d7 | ||
|
|
6d8cf57868 | ||
|
|
4790d31ff7 | ||
|
|
d7243bba77 | ||
|
|
0225eefa66 | ||
|
|
18240c9d07 | ||
|
|
4b4fcda66d | ||
|
|
97c6b65315 | ||
|
|
8f176421da | ||
|
|
0bd9f309a1 | ||
|
|
6fb9529518 | ||
|
|
e6c59fc9b0 | ||
|
|
a12d465881 | ||
|
|
a921bde6ac | ||
|
|
8fbfd5ad0a | ||
|
|
acaefab0f4 | ||
|
|
952affc6df | ||
|
|
521e840b54 | ||
|
|
752a558b30 | ||
|
|
40c077101a | ||
|
|
f7075f4ccb | ||
|
|
9fc5283856 | ||
|
|
e0d63db1ab | ||
|
|
d519429ea1 | ||
|
|
e4d3ae4c3f | ||
|
|
f7e45273a1 | ||
|
|
f57fc3cd6e | ||
|
|
033b8c5d48 | ||
|
|
ad26e57e78 | ||
|
|
e9e3e14695 | ||
|
|
e127c33bae | ||
|
|
5192f4a326 | ||
|
|
2260f214ed | ||
|
|
2b91557ad2 | ||
|
|
c1f0017867 | ||
|
|
20ea0dba95 | ||
|
|
712dbb8e73 | ||
|
|
f9b760bfc4 | ||
|
|
14d2209587 | ||
|
|
bcd43629cc | ||
|
|
8985799c20 | ||
|
|
3300bbe9e7 | ||
|
|
14bd59a101 | ||
|
|
c0bdde26cf | ||
|
|
01edbb2351 | ||
|
|
cbad4cf594 | ||
|
|
11b61b8fe2 | ||
|
|
1d0da28d9e | ||
|
|
23f6c107c6 | ||
|
|
95f8a05cbd | ||
|
|
167863d957 | ||
|
|
22fc643f25 | ||
|
|
4d9d4a9dfd | ||
|
|
93766fe6ed | ||
|
|
aef6967d4c | ||
|
|
0d4ec25593 | ||
|
|
2b13158fcd | ||
|
|
a1ff7b9673 | ||
|
|
aeb0f1e6d8 | ||
|
|
5034c957ba | ||
|
|
620f932dcd | ||
|
|
5f5c75bb0f | ||
|
|
7184f4c66e | ||
|
|
1d5c2c63b9 | ||
|
|
f660aa13d1 | ||
|
|
47ac33d6c2 | ||
|
|
ce35799506 | ||
|
|
418fe725e5 | ||
|
|
ba7818c51e | ||
|
|
9af03b0416 | ||
|
|
0defe76fe3 | ||
|
|
76ac070f9b | ||
|
|
f0a6fa68ea | ||
|
|
2da7b1d542 | ||
|
|
053e817393 | ||
|
|
f11650ece1 | ||
|
|
aff94a6770 | ||
|
|
0090734cd8 | ||
|
|
af816fe50f | ||
|
|
e7122a9b36 | ||
|
|
1db4161538 | ||
|
|
2295b218e3 | ||
|
|
0053ce2708 | ||
|
|
fb37f48a86 | ||
|
|
974ad26f06 | ||
|
|
5539653492 | ||
|
|
11e8cbf66f | ||
|
|
a45feacd3f | ||
|
|
9aeb5b4f05 | ||
|
|
ed0fa5df5c | ||
|
|
70de2d48be | ||
|
|
c0acc336cc | ||
|
|
c068dfe87b | ||
|
|
21f37db562 | ||
|
|
030faf918e | ||
|
|
8df318bced | ||
|
|
bbf1f3a43f | ||
|
|
f258d8d517 | ||
|
|
0985438df5 | ||
|
|
9d0956511d | ||
|
|
d6b8c76cc7 | ||
|
|
7d69bd5c46 | ||
|
|
cfd283e7e3 | ||
|
|
999c20f3fa | ||
|
|
85f9996b41 | ||
|
|
c4e07d6a53 | ||
|
|
2aba1e3bf9 | ||
|
|
5e5847c5e4 | ||
|
|
224c257c4f | ||
|
|
28a0a97ca4 | ||
|
|
662a4a5f00 | ||
|
|
df152e292d | ||
|
|
d92a97ff1e | ||
|
|
115cb016a0 | ||
|
|
7cda243b42 | ||
|
|
46b573462f | ||
|
|
5b3bd8ff2a | ||
|
|
6faae766a8 | ||
|
|
bf636725e8 | ||
|
|
bafba7aa6a | ||
|
|
e1984831bd | ||
|
|
c826438328 | ||
|
|
e39390ab92 | ||
|
|
120f57894f | ||
|
|
b89a01fddf | ||
|
|
21e4a64dc7 | ||
|
|
4aeab872de | ||
|
|
a0a2c9375e | ||
|
|
d1dd9ba955 | ||
|
|
e48db7d7ea | ||
|
|
239dea793a | ||
|
|
b0ce378629 | ||
|
|
7de50c0f4b | ||
|
|
07926386ea | ||
|
|
f1c962fbbc | ||
|
|
5d79c231ed | ||
|
|
972f0481e5 | ||
|
|
49781aae17 | ||
|
|
51f22f48dc | ||
|
|
a64381153f | ||
|
|
10280966ac | ||
|
|
16ad6bf9fc | ||
|
|
1aa5c23bba | ||
|
|
9216a69c05 | ||
|
|
7b2cff4c5e | ||
|
|
bf42958059 | ||
|
|
1deccf2f4b | ||
|
|
57755ef413 | ||
|
|
c2cf850179 | ||
|
|
67838ae29e | ||
|
|
4d22477477 | ||
|
|
96b5ed1df6 | ||
|
|
b9ec43c0f7 | ||
|
|
8a0899a819 | ||
|
|
e390852a67 | ||
|
|
c4083c23d6 | ||
|
|
bdc751ac24 | ||
|
|
0e23975964 | ||
|
|
ad53414c4d | ||
|
|
23e01130e9 | ||
|
|
f779c35d0e | ||
|
|
6e5d260fd2 | ||
|
|
691efb7843 | ||
|
|
67500abcd4 | ||
|
|
092b121c38 | ||
|
|
c27a2b22c6 | ||
|
|
9213451dca | ||
|
|
139a1c0f78 | ||
|
|
41d5ecd605 | ||
|
|
fd9478dc57 | ||
|
|
f1092c6f40 | ||
|
|
51b31df2c8 | ||
|
|
2f46f2a888 | ||
|
|
cae0b29500 | ||
|
|
aa0e1955b0 | ||
|
|
78bac6ca99 | ||
|
|
382168a5b4 | ||
|
|
e34cfad06b | ||
|
|
71f6697f55 | ||
|
|
ff993e7c91 | ||
|
|
b349ecbdf7 | ||
|
|
c3577aa434 | ||
|
|
ed5ab735b4 | ||
|
|
ed058914b5 | ||
|
|
c730dd1523 | ||
|
|
ba418cb0e7 | ||
|
|
dd6e7372b7 | ||
|
|
32bce898f4 | ||
|
|
aca50e7dda | ||
|
|
42550c2637 | ||
|
|
7cd4271881 | ||
|
|
b04f504adc | ||
|
|
f8bc186252 | ||
|
|
3083302e14 | ||
|
|
6f3e187dfb | ||
|
|
bc61e6c4f0 | ||
|
|
3bdbc80c30 | ||
|
|
d7554fc585 | ||
|
|
a909ddfca8 | ||
|
|
7ca4894789 | ||
|
|
e2b94c9bcb | ||
|
|
c16f7eaf22 | ||
|
|
d9a7e135d3 | ||
|
|
4bb63a147e | ||
|
|
10c1df7af4 | ||
|
|
fbd2b7e46b | ||
|
|
11151b2359 | ||
|
|
b5d35d4645 | ||
|
|
953a355e63 | ||
|
|
962fb70b16 | ||
|
|
27971e6a66 | ||
|
|
3c5ab1ad72 | ||
|
|
b7b8b05661 | ||
|
|
d8bbcd8e03 | ||
|
|
9946cb60fa | ||
|
|
a22319f3ab | ||
|
|
7a00f3628a | ||
|
|
de49900961 | ||
|
|
1733203f8e | ||
|
|
e3f4049943 | ||
|
|
2ae344e685 | ||
|
|
f049a44280 | ||
|
|
d8593c68e9 | ||
|
|
c1261baaee | ||
|
|
c78ed0828f | ||
|
|
9b31604c0c | ||
|
|
a9c66d1883 | ||
|
|
362fb66b84 | ||
|
|
a3e3e70a3a | ||
|
|
b4963d872b | ||
|
|
e108dbd02c | ||
|
|
2442e2a372 | ||
|
|
cfbbab6b86 | ||
|
|
d32d46d22d | ||
|
|
0043fe010f | ||
|
|
b13ebcea12 | ||
|
|
38af077a94 | ||
|
|
bed2669ff8 | ||
|
|
7d7c45c33f | ||
|
|
c7330a47a0 | ||
|
|
2d7639262f | ||
|
|
f93219c293 | ||
|
|
1124117f0c | ||
|
|
133a81b08c | ||
|
|
0609629d75 | ||
|
|
1362f0f58d | ||
|
|
beaa50551d | ||
|
|
de67f4fdc7 | ||
|
|
eda2b3b406 | ||
|
|
c38cbf920c | ||
|
|
434ce9f7c4 | ||
|
|
bd0b539183 | ||
|
|
1e73f9b909 | ||
|
|
e0aad13fef | ||
|
|
05139ed553 | ||
|
|
93845a00eb | ||
|
|
cd1750f368 | ||
|
|
617d4f9fbf | ||
|
|
cc90291192 | ||
|
|
8092f8be28 | ||
|
|
c817deef9e | ||
|
|
5379541733 | ||
|
|
83fb18b868 | ||
|
|
a7fb36bebb | ||
|
|
17a06ad1b1 | ||
|
|
733c0e1710 | ||
|
|
1511009c6f | ||
|
|
2baaf6bea5 | ||
|
|
e7d5879ef4 | ||
|
|
a0318e59c1 | ||
|
|
e5ad06d7f1 | ||
|
|
608059b1ce | ||
|
|
bc67b5c3bc | ||
|
|
38e8aad9cf | ||
|
|
4a5cd5b001 | ||
|
|
e2cbe751ec | ||
|
|
f7e2267498 | ||
|
|
4c814ce3fe | ||
|
|
ec51e4cf39 | ||
|
|
dda37688ad | ||
|
|
f2a92be01a | ||
|
|
5591319259 | ||
|
|
f20656909b | ||
|
|
d184779cc3 | ||
|
|
0ae8e4912b | ||
|
|
67742c8070 | ||
|
|
391607ec79 | ||
|
|
fc68b68069 | ||
|
|
f1ff6d1e1f | ||
|
|
8aaabb5a3a | ||
|
|
a8498e3990 | ||
|
|
52355b4cfe | ||
|
|
fb6f618917 | ||
|
|
028633b00a | ||
|
|
3d6e77dba9 | ||
|
|
246163a5d3 | ||
|
|
015b1428b0 | ||
|
|
62dc63c033 | ||
|
|
c1a9d62cf9 | ||
|
|
182e1d4bf4 | ||
|
|
d65f8cda1b | ||
|
|
3846b130d8 | ||
|
|
9a838e7990 | ||
|
|
b31eba7481 | ||
|
|
2b2bb5d6e2 | ||
|
|
161b20834f | ||
|
|
d6322100c9 | ||
|
|
f22fe5497b | ||
|
|
62242b4a96 | ||
|
|
3c6d66f86b | ||
|
|
a4f99a3a55 | ||
|
|
1914422181 | ||
|
|
d90e78e417 | ||
|
|
02fe918388 | ||
|
|
e0b1c0018c | ||
|
|
6e99a0cb25 | ||
|
|
ec0967b859 | ||
|
|
558093ff0c | ||
|
|
6d77172d54 | ||
|
|
209d946f94 | ||
|
|
160add6d73 | ||
|
|
71d35b0525 | ||
|
|
21e2eabd60 |
No files matched your search
@@ -10,7 +10,7 @@ ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
ENV \
|
||||
DEBUG=false \
|
||||
NODE_VERSION=v14.21.2 \
|
||||
NODE_VERSION=v14.21.3 \
|
||||
METEOR_RELEASE=1.10.2 \
|
||||
USE_EDGE=false \
|
||||
METEOR_EDGE=1.5-beta.17 \
|
||||
@@ -142,7 +142,8 @@ ENV \
|
||||
SAML_IDENTIFIER_FORMAT="" \
|
||||
SAML_LOCAL_PROFILE_MATCH_ATTRIBUTE="" \
|
||||
SAML_ATTRIBUTES="" \
|
||||
DEFAULT_WAIT_SPINNER=""
|
||||
DEFAULT_WAIT_SPINNER="" \
|
||||
S3=""
|
||||
# \
|
||||
# NODE_OPTIONS="--max_old_space_size=4096"
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ version: '3.7'
|
||||
services:
|
||||
|
||||
wekandb-dev:
|
||||
image: mongo:5.0
|
||||
image: mongo:6
|
||||
container_name: wekan-dev-db
|
||||
restart: unless-stopped
|
||||
command: mongod --oplogSize 128
|
||||
|
||||
@@ -81,7 +81,7 @@ parts:
|
||||
wekan:
|
||||
source: .
|
||||
plugin: nodejs
|
||||
node-engine: 14.21.2
|
||||
node-engine: 14.21.3
|
||||
node-packages:
|
||||
- node-gyp
|
||||
- node-pre-gyp
|
||||
|
||||
@@ -48,14 +48,14 @@ jobs:
|
||||
# https://github.com/docker/metadata-action
|
||||
- name: Extract Docker metadata
|
||||
id: meta
|
||||
uses: docker/metadata-action@57396166ad8aefe6098280995947635806a0e6ea
|
||||
uses: docker/metadata-action@c4ee3adeed93b1fa6a762f209fb01608c1a22f1e
|
||||
with:
|
||||
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
|
||||
|
||||
# Build and push Docker image with Buildx (don't push on PR)
|
||||
# https://github.com/docker/build-push-action
|
||||
- name: Build and push Docker image
|
||||
uses: docker/build-push-action@c56af957549030174b10d6867f20e78cfd7debc5
|
||||
uses: docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671
|
||||
with:
|
||||
context: .
|
||||
push: ${{ github.event_name != 'pull_request' }}
|
||||
|
||||
@@ -25,6 +25,6 @@ jobs:
|
||||
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
|
||||
|
||||
- name: Run chart-releaser
|
||||
uses: helm/chart-releaser-action@v1.4.1
|
||||
uses: helm/chart-releaser-action@v1.5.0
|
||||
env:
|
||||
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
||||
+9
-9
@@ -6,7 +6,7 @@
|
||||
meteor-base@1.5.1
|
||||
|
||||
# Build system
|
||||
ecmascript@0.16.4
|
||||
ecmascript@0.16.7
|
||||
standard-minifier-js@2.8.1
|
||||
mquandalle:jade
|
||||
coffeescript@2.4.1!
|
||||
@@ -21,11 +21,11 @@ cottz:publish-relations
|
||||
dburles:collection-helpers
|
||||
idmontie:migrations
|
||||
easy:search
|
||||
mongo@1.16.3
|
||||
mongo@1.16.6
|
||||
mquandalle:collection-mutations
|
||||
|
||||
# Account system
|
||||
accounts-password@2.3.2
|
||||
accounts-password@2.3.4
|
||||
useraccounts:core
|
||||
useraccounts:flow-routing
|
||||
useraccounts:unstyled
|
||||
@@ -39,12 +39,12 @@ wekan-accounts-oidc
|
||||
|
||||
# Utilities
|
||||
check@1.3.2
|
||||
jquery@1.11.10
|
||||
jquery@3.0.0!
|
||||
random@1.2.1
|
||||
reactive-dict@1.3.1
|
||||
session@1.2.1
|
||||
tracker@1.2.1
|
||||
underscore@1.0.11
|
||||
tracker@1.3.2
|
||||
underscore@1.0.13
|
||||
arillo:flow-router-helpers
|
||||
audit-argument-checks@1.0.7
|
||||
kadira:blaze-layout
|
||||
@@ -67,9 +67,9 @@ templates:tabs
|
||||
meteor-autosize
|
||||
rajit:bootstrap3-datepicker
|
||||
shell-server@0.5.0
|
||||
email@2.2.3
|
||||
email@2.2.5
|
||||
horka:swipebox
|
||||
dynamic-import@0.7.2
|
||||
dynamic-import@0.7.3
|
||||
cfs:gridfs
|
||||
rzymek:fullcalendar
|
||||
msavin:usercache
|
||||
@@ -141,4 +141,4 @@ kadira:flow-router
|
||||
spacebars
|
||||
service-configuration@1.3.1
|
||||
communitypackages:picker
|
||||
minifier-css@1.6.2
|
||||
minifier-css@1.6.4
|
||||
+1
-1
@@ -1 +1 @@
|
||||
METEOR@2.9.0
|
||||
METEOR@2.12
|
||||
+35
-34
@@ -1,6 +1,6 @@
|
||||
accounts-base@2.2.6
|
||||
accounts-base@2.2.8
|
||||
accounts-oauth@1.4.2
|
||||
accounts-password@2.3.2
|
||||
accounts-password@2.3.4
|
||||
aldeed:collection2@2.10.0
|
||||
aldeed:collection2-core@1.2.0
|
||||
aldeed:schema-deny@1.1.0
|
||||
@@ -10,16 +10,16 @@ allow-deny@1.1.1
|
||||
arillo:flow-router-helpers@0.5.2
|
||||
audit-argument-checks@1.0.7
|
||||
autoupdate@1.8.0
|
||||
babel-compiler@7.10.1
|
||||
babel-compiler@7.10.4
|
||||
babel-runtime@1.5.1
|
||||
base64@1.0.12
|
||||
binary-heap@1.0.11
|
||||
blaze@2.6.1
|
||||
blaze@2.6.2
|
||||
blaze-tools@1.1.3
|
||||
boilerplate-generator@1.7.1
|
||||
caching-compiler@1.2.2
|
||||
caching-html-compiler@1.2.1
|
||||
callback-hook@1.4.0
|
||||
callback-hook@1.5.1
|
||||
cfs:access-point@0.1.49
|
||||
cfs:base-package@0.0.30
|
||||
cfs:collection@0.5.5
|
||||
@@ -39,31 +39,31 @@ cfs:tempstore@0.1.6
|
||||
cfs:upload-http@0.0.20
|
||||
cfs:worker@0.1.5
|
||||
check@1.3.2
|
||||
coffeescript@2.4.1
|
||||
coffeescript@2.7.0
|
||||
coffeescript-compiler@2.4.1
|
||||
communitypackages:picker@1.1.0
|
||||
communitypackages:picker@1.1.1
|
||||
cottz:publish-relations@2.0.8
|
||||
dburles:collection-helpers@1.1.0
|
||||
ddp@1.4.1
|
||||
ddp-client@2.6.1
|
||||
ddp-common@1.4.0
|
||||
ddp-rate-limiter@1.1.1
|
||||
ddp-server@2.6.0
|
||||
ddp-rate-limiter@1.2.0
|
||||
ddp-server@2.6.1
|
||||
deps@1.0.12
|
||||
diff-sequence@1.1.2
|
||||
dynamic-import@0.7.2
|
||||
dynamic-import@0.7.3
|
||||
easy:search@2.2.1
|
||||
easylogic:summernote@0.8.8
|
||||
easysearch:components@2.2.2
|
||||
easysearch:core@2.2.2
|
||||
ecmascript@0.16.4
|
||||
ecmascript-runtime@0.8.0
|
||||
ecmascript@0.16.7
|
||||
ecmascript-runtime@0.8.1
|
||||
ecmascript-runtime-client@0.12.1
|
||||
ecmascript-runtime-server@0.11.0
|
||||
ejson@1.1.3
|
||||
email@2.2.3
|
||||
email@2.2.5
|
||||
es5-shim@4.8.0
|
||||
fetch@0.1.2
|
||||
fetch@0.1.3
|
||||
fortawesome:fontawesome@4.7.0
|
||||
geojson-utils@1.0.11
|
||||
horka:swipebox@1.0.2
|
||||
@@ -74,7 +74,7 @@ http@2.0.0
|
||||
id-map@1.1.1
|
||||
idmontie:migrations@1.0.3
|
||||
inter-process-messaging@0.1.1
|
||||
jquery@1.11.11
|
||||
jquery@3.0.0
|
||||
kadira:blaze-layout@2.3.0
|
||||
kadira:dochead@1.5.0
|
||||
kadira:flow-router@2.12.1
|
||||
@@ -82,28 +82,28 @@ konecty:mongo-counter@0.0.5_3
|
||||
livedata@1.0.18
|
||||
lmieulet:meteor-coverage@1.1.4
|
||||
localstorage@1.2.0
|
||||
logging@1.3.1
|
||||
matb33:collection-hooks@1.1.4
|
||||
logging@1.3.2
|
||||
matb33:collection-hooks@1.2.2
|
||||
mdg:validation-error@0.5.1
|
||||
meteor@1.10.3
|
||||
meteor@1.11.2
|
||||
meteor-autosize@5.0.1
|
||||
meteor-base@1.5.1
|
||||
meteorhacks:aggregate@1.3.0
|
||||
meteorhacks:collection-utils@1.2.0
|
||||
meteorhacks:picker@1.0.3
|
||||
meteorhacks:subs-manager@1.6.4
|
||||
meteortesting:browser-tests@1.3.5
|
||||
meteortesting:mocha@2.0.3
|
||||
meteortesting:browser-tests@1.4.2
|
||||
meteortesting:mocha@2.1.0
|
||||
meteortesting:mocha-core@8.0.1
|
||||
minifier-css@1.6.2
|
||||
minifier-css@1.6.4
|
||||
minifier-js@2.7.5
|
||||
minifiers@1.1.8-faster-rebuild.0
|
||||
minimongo@1.9.1
|
||||
minimongo@1.9.3
|
||||
modern-browsers@0.1.9
|
||||
modules@0.19.0
|
||||
modules-runtime@0.13.1
|
||||
momentjs:moment@2.29.3
|
||||
mongo@1.16.3
|
||||
mongo@1.16.6
|
||||
mongo-decimal@0.1.3
|
||||
mongo-dev-server@1.1.0
|
||||
mongo-id@1.0.8
|
||||
@@ -116,16 +116,16 @@ mquandalle:jade-compiler@0.4.5
|
||||
mquandalle:jquery-textcomplete@0.8.0_1
|
||||
mquandalle:mousetrap-bindglobal@0.0.1
|
||||
msavin:usercache@1.8.0
|
||||
npm-mongo@4.12.1
|
||||
oauth@2.1.3
|
||||
npm-mongo@4.16.0
|
||||
oauth@2.2.0
|
||||
oauth2@1.3.2
|
||||
observe-sequence@1.0.20
|
||||
ongoworks:speakingurl@1.1.0
|
||||
ordered-dict@1.1.0
|
||||
ostrio:cookies@2.7.2
|
||||
ostrio:cstorage@4.0.1
|
||||
ostrio:files@2.3.2
|
||||
ostrio:i18n@3.2.0
|
||||
ostrio:files@2.3.3
|
||||
ostrio:i18n@3.2.1
|
||||
pascoual:pdfkit@1.0.7
|
||||
peerlibrary:assert@0.3.0
|
||||
peerlibrary:base-component@0.17.1
|
||||
@@ -187,8 +187,8 @@ rajit:bootstrap3-datepicker-vi@1.7.1
|
||||
rajit:bootstrap3-datepicker-zh-cn@1.7.1
|
||||
rajit:bootstrap3-datepicker-zh-tw@1.7.1
|
||||
random@1.2.1
|
||||
rate-limit@1.0.9
|
||||
react-fast-refresh@0.2.3
|
||||
rate-limit@1.1.1
|
||||
react-fast-refresh@0.2.7
|
||||
reactive-dict@1.3.1
|
||||
reactive-var@1.0.12
|
||||
reload@1.3.1
|
||||
@@ -201,10 +201,10 @@ sha@1.0.9
|
||||
shell-server@0.5.0
|
||||
simple:authenticate-user-by-token@1.2.1
|
||||
simple:json-routes@2.3.1
|
||||
simple:rest-accounts-password@1.2.1
|
||||
simple:rest-accounts-password@1.2.2
|
||||
simple:rest-bearer-token-parser@1.1.1
|
||||
simple:rest-json-error-handler@1.1.1
|
||||
socket-stream-client@0.5.0
|
||||
socket-stream-client@0.5.1
|
||||
spacebars@1.3.0
|
||||
spacebars-compiler@1.3.1
|
||||
standard-minifier-js@2.8.1
|
||||
@@ -213,15 +213,15 @@ templating@1.4.1
|
||||
templating-compiler@1.4.1
|
||||
templating-runtime@1.5.0
|
||||
templating-tools@1.2.2
|
||||
tracker@1.2.1
|
||||
tracker@1.3.2
|
||||
twbs:bootstrap@3.3.6
|
||||
ui@1.0.13
|
||||
underscore@1.0.11
|
||||
underscore@1.0.13
|
||||
url@1.3.2
|
||||
useraccounts:core@1.16.2
|
||||
useraccounts:flow-routing@1.15.0
|
||||
useraccounts:unstyled@1.14.2
|
||||
webapp@1.13.2
|
||||
webapp@1.13.5
|
||||
webapp-hashing@1.1.1
|
||||
wekan-accounts-cas@0.1.0
|
||||
wekan-accounts-lockout@1.0.0
|
||||
@@ -232,3 +232,4 @@ wekan-markdown@1.0.9
|
||||
wekan-oidc@1.0.12
|
||||
yasaricli:slugify@0.0.7
|
||||
zimme:active-route@2.3.2
|
||||
zodern:types@1.0.9
|
||||
+1
-1
@@ -3,7 +3,7 @@ sudo: required
|
||||
|
||||
env:
|
||||
TRAVIS_DOCKER_COMPOSE_VERSION: 1.24.0
|
||||
TRAVIS_NODE_VERSION: 14.21.2
|
||||
TRAVIS_NODE_VERSION: 14.21.3
|
||||
TRAVIS_NPM_VERSION: latest
|
||||
|
||||
before_install:
|
||||
|
||||
+5
-51
@@ -1,55 +1,9 @@
|
||||
# This is the configuration of the Transifex tool that we use to manage the
|
||||
# translations on Wekan. Documentation at: http://docs.transifex.com/client.
|
||||
#
|
||||
# Push
|
||||
# ====
|
||||
#
|
||||
# It is recommended that contributors use the Transifex web UI to create and
|
||||
# edit translated strings. However in case a contributor has directly jumped
|
||||
# into the code and made its translations in the corresponding i18n.json file
|
||||
# we can push it using
|
||||
#
|
||||
# > tx push -t -l ar
|
||||
#
|
||||
# Where `ar` is the language identifier. In addition, the project maintainer
|
||||
# should push the English source file to Transifex at least before each release
|
||||
# candidate using:
|
||||
#
|
||||
# > tx push -s
|
||||
#
|
||||
# Pull
|
||||
# ====
|
||||
#
|
||||
# The set of accepted language is directly managed in Transifex, the only
|
||||
# restriction we define to bundle a new language in the application, is that its
|
||||
# completion is at least at 75%.
|
||||
#
|
||||
# We use:
|
||||
#
|
||||
# > tx pull
|
||||
#
|
||||
# to download new versions of existing translations, and
|
||||
#
|
||||
# > tx pull -a --minimum-perc=75
|
||||
#
|
||||
# to download new sufficiently advanced translations.
|
||||
|
||||
[main]
|
||||
host = https://www.transifex.com
|
||||
# tap:i18n requires us to use `-` separator in the language identifiers whereas
|
||||
# Transifex uses a `_` separator, without an option to customize it on one side
|
||||
# or the other, so we need to do a Manual mapping.
|
||||
lang_map = ar_DZ:ar-DZ, ar_EG:ar-EG, az_AZ:az-AZ, az@latin:az-LA, bg_BG:bg, cs_CZ:cs-CZ, cy_GB:cy-GB, de_AT:de-AT, de_CH:de-CH, en_BR:en-BR, en_DE:en-DE, en_IT:en-IT, en_GB:en-GB, en_MY:en-MY, et_EE:et-EE, ast_ES:ast-ES, es_AR:es-AR, en@ysv:en-YS, es_CL:es-CL, es_419:es-LA, es_PE:es-PE, es_MX:es-MX, es_TX:es-TX, es_PY:es-PY, el_GR:el-GR, fa_IR:fa-IR, ja-Hira:ja-HI, ja_JP:ja, fi_FI:fi, fr_FR:fr-FR, fr_CH:fr-CH, fy_NL:fy-NL, gl_ES:gl-ES, gu_IN:gu-IN, he_IL:he-IL, hi_IN:hi-IN, hu_HU:hu, id_ID:id, mn_MN:mn, ms_MY:ms-MY, nl_NL:nl-NL, ko_KR:ko-KR, lv_LV:lv, pl_PL:pl-PL, pt_BR:pt-BR, ro_RO:ro-RO, ru_UA:ru-UA, sl_SI:sl, uk_UA:uk-UA, uz@Arab:uz-AR, uz@Latn:uz-LA, uz_UZ:uz-UZ, vec:ve-CC, vep:ve-PP, vls:vl-SS, war:wa-RR, vi_VN:vi-VN, zh_CN:zh-CN, zh_TW:zh-TW, zh_Hans:zh-Hans, zh_HK:zh-HK, zu_ZA:zu-ZA
|
||||
host = https://www.transifex.com
|
||||
lang_map = es_AR: es-AR, es_419: es-LA, es_TX: es-TX, he_IL: he-IL, zh_CN: zh-CN, ar_EG: ar-EG, cs_CZ: cs-CZ, fa_IR: fa-IR, ms_MY: ms-MY, nl_NL: nl-NL, de_CH: de-CH, en_IT: en-IT, uz_UZ: uz-UZ, fr_CH: fr-CH, hi_IN: hi-IN, et_EE: et-EE, es_PE: es-PE, es_MX: es-MX, gl_ES: gl-ES, mn_MN: mn, sl_SI: sl, zh_TW: zh-TW, ast_ES: ast-ES, es_CL: es-CL, ja_JP: ja, lv_LV: lv, ro_RO: ro-RO, az_AZ: az-AZ, cy_GB: cy-GB, gu_IN: gu-IN, pl_PL: pl-PL, vep: ve-PP, en_BR: en-BR, en@ysv: en-YS, hu_HU: hu, ko_KR: ko-KR, pt_BR: pt-BR, zh_HK: zh-HK, zu_ZA: zu-ZA, en_MY: en-MY, ja-Hira: ja-HI, fi_FI: fi, vec: ve-CC, vi_VN: vi-VN, fr_FR: fr-FR, id_ID: id, zh_Hans: zh-Hans, en_DE: en-DE, en_GB: en-GB, el_GR: el-GR, uk_UA: uk-UA, az@latin: az-LA, de_AT: de-AT, uz@Latn: uz-LA, vls: vl-SS, ar_DZ: ar-DZ, bg_BG: bg, es_PY: es-PY, fy_NL: fy-NL, uz@Arab: uz-AR, ru_UA: ru-UA, war: wa-RR, zh_CN.GB2312: zh-GB
|
||||
|
||||
[wekan.application]
|
||||
[o:wekan:p:wekan:r:application]
|
||||
file_filter = imports/i18n/data/<lang>.i18n.json
|
||||
source_file = imports/i18n/data/en.i18n.json
|
||||
source_lang = en
|
||||
type = KEYVALUEJSON
|
||||
|
||||
# We might have a dedicated second resource later to translate the “Welcome
|
||||
# Board” data.
|
||||
#
|
||||
# [wekan.welcomeBoard]
|
||||
# file_filter = private/welcomeBoard/<lang>.json
|
||||
# source_lang = en
|
||||
# type = KEYVALUEJSON
|
||||
type = KEYVALUEJSON
|
||||
+498
@@ -3,8 +3,506 @@
|
||||
Required versions of Node.js, MongoDB etc are listed at https://wekan.github.io
|
||||
Download section.
|
||||
|
||||
Newest WeKan is on platforms: Snap Candidate, Docker, Kubernetes, Source/Bundle. Download section at https://wekan.github.io
|
||||
|
||||
In Progress is:
|
||||
- Getting newest WeKan to all platforms, fixing any migration and upgrade issues
|
||||
- Adding more platforms
|
||||
- Developing all paid features and fixes https://wekan.team/commercial-support/
|
||||
- More info and news at https://github.com/wekan/wekan/issues/4578#issuecomment-1505909376
|
||||
|
||||
Note:
|
||||
- Snap Candidate has newest WeKan with MongoDB 6 https://github.com/wekan/wekan/issues/4824#issuecomment-1425753485
|
||||
- Snap Beta has old WeKan with MongoDB 5 https://github.com/wekan/wekan/issues/4780#issuecomment-1427625571
|
||||
- Snap Stable has old WeKan 6.09 with MongoDB 3.2.2
|
||||
|
||||
[How to upgrade WeKan](https://github.com/wekan/wekan/issues/4585)
|
||||
|
||||
# v6.89 2023-05-12 WeKan ® release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Fix for the Create Card at Calendar](https://github.com/wekan/wekan/pull/4923).
|
||||
Thanks to DimDz.
|
||||
- [Fixed broken migration migrate-attachments-collectionFS-to-ostrioFiles](https://github.com/wekan/wekan/pull/4926).
|
||||
Thanks to Aman-Maheshwari.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v6.88 2023-05-11 WeKan ® release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Create Card on Calendar View](https://github.com/wekan/wekan/pull/4922).
|
||||
Thanks to DimDz.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [OpenaAPI: Also ignores ThrowStatement](https://github.com/wekan/wekan/pull/4918).
|
||||
Thanks to bentiss.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v6.87 2023-05-08 WeKan ® release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- Added to meteor development options for logging also to ../wekan-log.txt, and showing deprecated API that is Meteor v2.12 new feature.
|
||||
[Part 1](https://github.com/wekan/wekan/commit/9fc52838562c3179775a6b24c23d0385363a0661),
|
||||
[Part 2](https://github.com/wekan/wekan/commit/521e840b54dd896eb192834133c5134a104f1d0b),
|
||||
[Part 3](https://github.com/wekan/wekan/commit/e6c59fc9b0ac53abd7519121d3bff700b1a43c24),
|
||||
[Part 4](https://github.com/wekan/wekan/commit/0bd9f309a10dff200efe6e38c6161deaf93c776d).
|
||||
Thanks to Meteor developers and xet7.
|
||||
- [API: Added User and Admin API for New Checklist Item and Edit Card Custom Field](https://github.com/wekan/wekan/pull/4911).
|
||||
Thanks to DimDz.
|
||||
|
||||
and adds the following updates:
|
||||
|
||||
- [Updated dependencies](https://github.com/wekan/wekan/commit/2b91557ad2931b3004a1da1ba0c790ed0e0546d3).
|
||||
Thanks to developers of dependencies.
|
||||
- [Upgraded to Meteor 2.12](https://github.com/wekan/wekan/commit/d519429ea14de3740408fbca3d231a1440562201).
|
||||
Thanks to Meteor developers.
|
||||
- [Updated translations](https://github.com/wekan/wekan/commit/40c077101a94f639b90f607624c4c72e12235711).
|
||||
xet7 fixed all translations of advanced filter description to have correct escaping of slash and backslash,
|
||||
so that bulding bundle of WeKan would not crash to invalid JSON syntax in translations.
|
||||
Thanks to xet7.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Added X for closing card opened in Global Search](https://github.com/wekan/wekan/pull/4910).
|
||||
Thanks to deniszulic.
|
||||
|
||||
and tried to fix the following bugs:
|
||||
|
||||
- [Tried to fix building WeKan OpenAPI docs using Ubuntu 23.04 amd64 with XFCE desktop, but it did not work, still getting error: Failed to parse the source OpenAPI document](https://github.com/wekan/wekan/commit/97c6b6531502d09cbd6c267212651f3036338a11).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v6.86 2023-04-26 WeKan ® release
|
||||
|
||||
This release fixes the following CRITICAL SECURITY FIXES:
|
||||
|
||||
- [Security fix to InvisibleBleed in WeKan. Escape HTML comment tags so that HTML comments are visible](https://github.com/wekan/wekan/commit/167863d95711249e69bb3511175d73b34acbbdb3).
|
||||
Thanks to xet7 for fixing.
|
||||
- [Security Fix to AdminBleed in WeKan, so that non-admin can not change to Admin](https://github.com/wekan/wekan/commit/cbad4cf5943d47b916f64b4582f8ca76a9dfd743).
|
||||
Thanks to Christian Pöschl of usd AG Responsible Disclosure Team for reporting and xet7 for fixing.
|
||||
|
||||
and adds the following new features:
|
||||
|
||||
- [Feature: Show plus sign in front of attachments](https://github.com/wekan/wekan/commit/2b13158fcd37ff7163fc3d97b88b6bf920dd7b9c).
|
||||
Thanks to Meeques and xet7.
|
||||
|
||||
and adds the following updates:
|
||||
|
||||
- [Upgrade to Meteor 2.12-beta.2](https://github.com/wekan/wekan/commit/4d9d4a9dfdd5bb0fc5997351df8995f72d9ca82c).
|
||||
Thanks to Meteor developers.
|
||||
- [Update Docker Ubuntu base image and Meteor version](https://github.com/wekan/wekan/commit/bcd43629cc4074bc4f9b0b70189645ae91cfe59a).
|
||||
Thanks to xet7.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- Fix Exception in callback of async function: TypeError: this._now is not a function.
|
||||
[Part 1](https://github.com/wekan/wekan/commit/aeb0f1e6d8d9f5d8808128f4049768bea57ca164),
|
||||
[Part 2](https://github.com/wekan/wekan/commit/aef6967d4c90544aa0281d22b6df46b2dd40467f).
|
||||
Thanks to xet7.
|
||||
- [Remove extra debug message and disable some rarely used feature that produces errors](https://github.com/wekan/wekan/commit/c0bdde26cfd2ae6d1aeaf8b5c7ce0eb72ada6dec).
|
||||
Thanks to xet7.
|
||||
- [Revert some migration filename changes](https://github.com/wekan/wekan/commit/3300bbe9e7a6c02c753b0d1f2e8547d1d85cb76c).
|
||||
Thanks to xet7.
|
||||
- [Add back node-gyp related dependencies](https://github.com/wekan/wekan/commit/712dbb8e73df740816eb66257e834bc7e22bd0fb).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v6.85 2023-04-18 WeKan ® release
|
||||
|
||||
This release adds the following CRITICAL SECURITY FIXES:
|
||||
|
||||
- [Security fix to ReactionBleed in WeKan. It is XSS in feature "Reaction to comment"](https://github.com/wekan/wekan/commit/47ac33d6c234359c31d9b5eae49ed3e793907279).
|
||||
Thanks to Alexander Starikov at Jet Infosystems (https://jetinfosystems.com/) for reporting and fixing.
|
||||
|
||||
and adds the following updates:
|
||||
|
||||
- [Updated dependencies](https://github.com/wekan/wekan/commit/fb37f48a86732be40c20c58eb336fa262218d0fe).
|
||||
Thanks to xet7.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Disable file validation temporarily, because it causes data loss of some attachments when upgrading](https://github.com/wekan/wekan/commit/e7122a9b368e25cc155f39e34fff741fcc9f004c).
|
||||
Thanks to xet7.
|
||||
- [Added uploadedAt and copies to be migrated when migrating CollectionFS to ostrio-files](https://github.com/wekan/wekan/commit/0090734cd85435e852d2546d20c5a16a24a1ae66).
|
||||
Thanks to xet7
|
||||
- [Added more descriptive times of attachment migrations and uploads](https://github.com/wekan/wekan/commit/f11650ece1ccd8cd8ff820c1ccb39086129e01d0).
|
||||
Thanks to xet7.
|
||||
- [Fix LDAP Group Filtering does not work](https://github.com/wekan/wekan/commit/2da7b1d5420d7621cafa387db5c63bf1612e3d08).
|
||||
Thanks to emilburggraf, psteinforth, craig-silva, Daniel-H76, benh57, falkheiland and xet7.
|
||||
- [Save files serverside with filename ObjectID, without filename](https://github.com/wekan/wekan/commit/76ac070f9b99388fa9e13bd987b1c93ed1f465c7).
|
||||
Thanks to g-roliveira, iamabrantes, Floaz, koelle25, scott-dunt, mfilser and xet7.
|
||||
- [Fixed count of found cards in Global Search](https://github.com/wekan/wekan/commit/9af03b0416b532f2084d0320b95388f0009fb364).
|
||||
Thanks to xet7.
|
||||
- [Fix Card opens full width by opening at left](https://github.com/wekan/wekan/commit/418fe725e5846620a244b22bce2e0d1194ebf033).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v6.84 2023-04-11 WeKan ® release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Get card drag/drop working for empty swimlane](https://github.com/wekan/wekan/pull/4883).
|
||||
Thanks to mfilser.
|
||||
- [Added 'next week' due date filter](https://github.com/wekan/wekan/pull/4884).
|
||||
Thanks to helioguardabaxo.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v6.83 2023-04-08 WeKan ® release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Fix open card position by opening card to fullscreen](https://github.com/wekan/wekan/commit/030faf918e64ab5ee359703c038c7c7a3d3154ae).
|
||||
Thanks to SmartPhoneLover, BabyFnord and xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v6.82 2023-04-07 WeKan ® release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Added missing docs of Snap avatars max size etc](https://github.com/wekan/wekan/commit/2aba1e3bf98717f403b064f4de3f893bf1b009aa).
|
||||
Thanks to xet7.
|
||||
- [Fix avatar if Meteor.user() is undefined](https://github.com/wekan/wekan/pull/4876).
|
||||
Thanks to mfilser.
|
||||
- [Fix broken add_board_member API and return value for remove_board_member](https://github.com/wekan/wekan/pull/4880).
|
||||
Thanks to gustavengstrom.
|
||||
- [Try to fix card open position and make card resizeable](https://github.com/wekan/wekan/commit/f258d8d51784839d06b34e43ec50951603340037).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v6.81 2023-03-26 WeKan ® release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Helm Chart - fix: broken secretEnv indentation](https://github.com/wekan/charts/pull/18).
|
||||
Fixed in already released WeKan Helm Chart 1.2.7.
|
||||
Thanks to Nightreaver.
|
||||
- [Fix Bug: Cardoptions disappear behind scrollbar in german](https://github.com/wekan/wekan/commit/bf636725e8637200c2121e754297d281f8c38d4e).
|
||||
Thanks to Meeques and xet7.
|
||||
- [Add some info about allowed filesizes and filetypes for attachments and avatars](https://github.com/wekan/wekan/commit/5b3bd8ff2a29e2c1ada4c49de4c50c132b603863).
|
||||
Thanks to Meeques and xet7.
|
||||
- [Disable MongoDB telemetry and free monitoring in WeKan Snap](https://github.com/wekan/wekan/commit/df152e292dadd10a9873c21fff9571b98a06eec6).
|
||||
Thanks to webenefits and xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v6.80 2023-03-23 WeKan ® release
|
||||
|
||||
This release adds the following improvements:
|
||||
|
||||
- [Helm Charts secretEnv: Modify secret and deployment to allow users to provide secretEnv with empty value](https://github.com/wekan/charts/pull/13).
|
||||
Thanks to jehutyy.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Custom Fields, display Grid Button only if more than 1 custom field](https://github.com/wekan/wekan/pull/4864).
|
||||
Thanks to mfilser.
|
||||
- Helm Charts: Add missing data-storage as pvc for WRITABLE_PATH.
|
||||
[Part 1](https://github.com/wekan/charts/issues/14),
|
||||
[Part 2](https://github.com/wekan/charts/pull/15),
|
||||
[Part 3](https://github.com/wekan/charts/pull/16).
|
||||
Thanks to Nightreaver, NotTheEvilOne and xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v6.79 2023-03-22 WeKan ® release
|
||||
|
||||
This release adds the following updates:
|
||||
|
||||
- [Upgraded to Meteor 2.11.0](https://github.com/wekan/wekan/commit/e48db7d7ea7e70dc767576126be35927ced24ee5).
|
||||
Thanks to Meteor developers.
|
||||
- [Use MongoDB 6](https://github.com/wekan/wekan/commit/4aeab872de2c9d0365a4b8872b6b015a36666615).
|
||||
Thanks to to MongoDB.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Avatar upload was broken if no size is configured](https://github.com/wekan/wekan/pull/4857).
|
||||
Thanks to mfilser.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v6.78 2023-02-28 WeKan ® release
|
||||
|
||||
This release fixes the following CRITICAL SECURITY ISSUES:
|
||||
|
||||
- [Try to fix some security issue](https://github.com/wekan/wekan/commit/5d79c231ed3cfc09636ab678b3f62ea9f36160f2).
|
||||
Thanks to Responsible Security Disclousure contributors and xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v6.77 2023-02-27 WeKan ® release
|
||||
|
||||
This release adds the following updates:
|
||||
|
||||
- Updated release scripts
|
||||
[Part 1](https://github.com/wekan/wekan/commit/23e01130e907f0068333046dc4b88a471b781ce7),
|
||||
[Part 2](https://github.com/wekan/wekan/commit/ad53414c4d415b93e808ec88cc36af5a4741f681),
|
||||
[Part 3](https://github.com/wekan/wekan/commit/e390852a673be25e00cb397acf4dbdc5a7d2a1f9).
|
||||
Updated release scripts.
|
||||
Thanks to xet7.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fixed indentation for image size and compression in docker-compose.yml](https://github.com/wekan/wekan/pull/4846).
|
||||
Thanks to Entepotenz.
|
||||
- [Made ☰ menu buttons bigger at minicard and list, they were too hard to click when they were small](https://github.com/wekan/wekan/commit/c2cf850179ad0079d83561675b6dc2c59825cc11).
|
||||
Thanks to mohammadZahedian and xet7.
|
||||
- [Added "Move card to archive" to minicard ☰ menu](https://github.com/wekan/wekan/commit/1deccf2f4b5ba1a72bc76d5ae83858e6c50b36ae).
|
||||
Thanks to mohammadZahedian and xet7.
|
||||
- [Fix attachment migration error about avatarUrl startsWith undefined](https://github.com/wekan/wekan/commit/7b2cff4c5e7bae4971776638b680696596edc7e6).
|
||||
Thanks to xet7.
|
||||
- Try to fix attachment migrations to ostrioFiles, allow existing files to be migrated.
|
||||
[Part 1](https://github.com/wekan/wekan/commit/9216a69c0541325be6941c07d256b07627a8ec73),
|
||||
[Part 2](https://github.com/wekan/wekan/commit/16ad6bf9fc75b39e6e8cedb8a5a98ec963ccf14a).
|
||||
Thanks to xet7.
|
||||
- [MongoDB to 5 for beta Snap. MongoDB 5 does not seem to show some errors that only MongoDB 6 has](https://github.com/wekan/wekan/commit/a64381153fd762b67f2a752b590b2cdd196bcfe5).
|
||||
Thanks to xet7.
|
||||
- [Use MongoDB 5 at docker-compose.yml](https://github.com/wekan/wekan/commit/51f22f48dc916717ed6be9502dc767798692f07b).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v6.76 2023-02-22 WeKan ® release
|
||||
|
||||
This release adds the following updates:
|
||||
|
||||
- [Updated release scripts](https://github.com/wekan/wekan/commit/cae0b29500ff417598690590f43bc1e1875a4b4e).
|
||||
Thanks to xet7.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Try to fix build errors on some platforms](https://github.com/wekan/wekan/commit/fd9478dc57a81aadb275a205766c44285efb4c61).
|
||||
Thanks to xet7.
|
||||
- Fix at bottom of list Add button to be higher, so that text Add is not over button borders.
|
||||
[Part 1](https://github.com/wekan/wekan/commit/139a1c0f784443103397c9b6c8c17d5432ce9bdd),
|
||||
[Part 2](https://github.com/wekan/wekan/commit/c27a2b22c604377170c34f30e4b5710e18ae47c8).
|
||||
Thanks to WeKan commercial support customer and xet7.
|
||||
- [Removed Mermaid, because newest Mermaid does not work anymore](https://github.com/wekan/wekan/commit/67500abcd4d034ebed2d13f5156123d5f70bd014).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v6.75 2023-02-21 WeKan ® release
|
||||
|
||||
This release fixes the following CRITICAL SECURITY ISSUES:
|
||||
|
||||
- Security Fix of Filebleed in WeKan. That is XSS in filename.
|
||||
[Part 1](https://github.com/wekan/wekan/commit/ff993e7c917b5650a790238e95c78001e4f0e039),
|
||||
[Part 2](https://github.com/wekan/wekan/commit/382168a5b428a7124d368c4fcb37e7e140e7ec8b).
|
||||
Thanks to responsible security disclosure contributors and xet7.
|
||||
|
||||
and adds the following updates:
|
||||
|
||||
- [Updated to Node.js v14.21.3. Thanks to Node.js developers](https://github.com/wekan/wekan/commit/dd6e7372b77ec963c3623953a7613f1e468e5745).
|
||||
Thanks to Node.js developers.
|
||||
- [Updated webmanifest to have PWA as fullscreen](https://github.com/wekan/wekan/commit/ed058914b53e3575b6e8036fed45fba5e0893001).
|
||||
Thanks to xet7.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fix "Top 10 boards" metric order](https://github.com/wekan/wekan/pull/4835).
|
||||
Thanks to garciadavy.
|
||||
- [Swipebox slide background gradient of black to blue, so that back SVG images are visible](https://github.com/wekan/wekan/commit/c3577aa434ac5330d664f17d0771ff9679cced86).
|
||||
Thanks to xet7.
|
||||
- [Fix typo](https://github.com/wekan/wekan/pull/4840).
|
||||
Thanks to robert-scheck.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v6.74 2023-02-10 WeKan ® release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Fix typos in Snap config](https://github.com/wekan/wekan/commit/7ca489478950094177f93574d259af61a5ae00c0).
|
||||
Thanks to urmel1960 and xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v6.73 2023-02-10 WeKan ® release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Update docker-compose.yml: removes quotes, with quotes this setting is not working](https://github.com/wekan/wekan/pull/4829).
|
||||
Thanks to q16marvin.
|
||||
- [Fix double quotes around metric label](https://github.com/wekan/wekan/pull/4831).
|
||||
Thanks to garciadavy.
|
||||
- [Back to MongoDB 6.x](https://github.com/wekan/wekan/commit/b5d35d464501cbca4dc4e4ee403c8bb205024b21).
|
||||
Thanks to urmel1960 and xet7.
|
||||
- [Try to fix building WeKan](https://github.com/wekan/wekan/commit/d9a7e135d33339aedf23875b67ac29c6f11f1bdb).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v6.72 2023-02-02 WeKan ® release
|
||||
|
||||
This release adds the following updates:
|
||||
|
||||
- [Change back to MongoDB 5, shell and tool](https://github.com/wekan/wekan/commit/1733203f8e236bd62ef34ea1878d3a63db5eccc4).
|
||||
Thanks to xet7.
|
||||
- Updated translations to use new Go-based transifex-client https://developers.transifex.com/docs/cli ,
|
||||
but it seems now all translations look like 100% translated, maybe something is wrong,
|
||||
so discussing about it with Transifex Support.
|
||||
[Part 1](https://github.com/wekan/wekan/commit/2d7639262f266810fd863e3339485371e03cb8e6),
|
||||
[Part 2](https://github.com/wekan/wekan/commit/c7330a47a02efc609a383ddf8d4ad6f409595e01),
|
||||
[Part 3](https://github.com/wekan/wekan/commit/7d7c45c33f9eaa3e4db90758d97c49363f47d0f3),
|
||||
[Part 4](https://github.com/wekan/wekan/commit/bed2669ff8e136d4aedbd66bc2dfd73c38e18469).
|
||||
- Updated dependencies
|
||||
[Part 1](https://github.com/wekan/wekan/commit/362fb66b84e7200c3f7482ab8b79ae8ac0b11832),
|
||||
[Part 1](https://github.com/wekan/wekan/commit/b4963d872b9dc2f19dd3fe418fdbf4f7364a7a47),
|
||||
[Part 1](https://github.com/wekan/wekan/commit/a3e3e70a3abb28948c5ad62745d15f142107bb8d).
|
||||
Thanks to developers of dependencies.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Small improvements modern-dark theme](https://github.com/wekan/wekan/pull/4813).
|
||||
Thanks to jghaanstra.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v6.71 2023-01-18 WeKan ® release
|
||||
|
||||
This release adds the following updates:
|
||||
|
||||
- [Forked minio npm package to @wekanteam/minio to update package dependencies. S3/MinIO support In Progress](https://github.com/wekan/wekan/commit/cd1750f368aca5a474f08acd85996258d8781386).
|
||||
Thanks to xet7.
|
||||
- Updated GitHub Actions.
|
||||
[Part 1](https://github.com/wekan/wekan/commit/05139ed553cc9792699ad46190be40e4edf3d323),
|
||||
[Part 2](https://github.com/wekan/wekan/commit/e0aad13fefb1c31a851dd0dbc3a9885a6be564c9),
|
||||
[Part 3](https://github.com/wekan/wekan/commit/1e73f9b90963b55dbae8ff1668d482da278869f4),
|
||||
[Part 4](https://github.com/wekan/wekan/commit/bd0b5391835734e668df92db6b1a0439fd8e30bc).
|
||||
Thanks to dependabot.
|
||||
- [Upgraded to Meteor 2.10.0](https://github.com/wekan/wekan/commit/434ce9f7c49412b3c0df766789231ce772725ff9).
|
||||
Thanks to Meteor developers.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fix API Edit card function does nothing](https://github.com/wekan/wekan/commit/eda2b3b406aaa9cee229b65c3fcd453293de4535).
|
||||
Thanks to gu1ll0me, HEMGDevelopment and xet7.
|
||||
- [Fix Customfields are not added to new cards created with the API](https://github.com/wekan/wekan/commit/beaa50551d1eaccdb05f69c74384b349d4bd5b31).
|
||||
Thanks to HEMGDevelopment and xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v6.70 2023-01-14 WeKan ® release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- Try to fix User API.
|
||||
[Part 1](https://github.com/wekan/wekan/commit/8092f8be28fd6f1d9e2b86e672878cbaebf48000),
|
||||
[Part 2](https://github.com/wekan/wekan/commit/cc90291192f068ca6908b6b5e3605f78c2bed085).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v6.69 2023-01-09 WeKan ® release
|
||||
|
||||
This release adds the following updates:
|
||||
|
||||
- [Updated dependencies](https://github.com/wekan/wekan/commit/17a06ad1b1db79504482e9e8ae66784ec23f7ad2).
|
||||
Thanks to developers of dependencies.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v6.68 2023-01-07 WeKan ® release
|
||||
|
||||
This release adds the following updates:
|
||||
|
||||
- [Upgraded to Meteor 2.9.1](https://github.com/wekan/wekan/commit/a0318e59c13c2f50339ff170fbd221f3915f5ba9).
|
||||
Thanks to Meteor developers.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Add "use-credentials" directive to site.webmanifest request](https://github.com/wekan/wekan/pull/4801).
|
||||
Thanks to markormesher.
|
||||
- [OIDC login loop for integer user ID. Fix 2](https://github.com/wekan/wekan/commit/bc67b5c3bcd6ff645b7e6cd9c3d8bb79d83d5111).
|
||||
Thanks to danielkaiser.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v6.67 2023-01-03 WeKan ® release
|
||||
|
||||
This release adds the following updates:
|
||||
|
||||
- Updated dependencies.
|
||||
[Part 1](https://github.com/wekan/wekan/commit/f20656909bbf8457d2c3ab7e049aec3a6dcf8977),
|
||||
[Part 2](https://github.com/wekan/wekan/commit/4c814ce3fed32f7fdb2a1e2a7cc04946bd79cf3a).
|
||||
Thanks to developers of dependencies.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fix OIDC login loop for integer user ID](https://github.com/wekan/wekan/commit/f2a92be01a753c5752284d221706c6efb0dd60a7).
|
||||
Thanks to danielkaiser and xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v6.65 2022-12-27 WeKan ® release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- Store files to any cloud storage (like S3, MinIO, etc) mounted as filesystem with Rclone.
|
||||
Works with move to filesystem feature (not move to S3 feature).
|
||||
Docs at https://github.com/wekan/wekan/wiki/Rclone .
|
||||
- Store files to S3. In Progress. Note: S3 button does not work yet.
|
||||
[Part 1](https://github.com/wekan/wekan/commit/21e2eabd607cc7fccbce8ed8562d886ab54fee68),
|
||||
[Part 2](https://github.com/wekan/wekan/commit/028633b00ab25bcd5c7ce6f78368aa6e33102a0c),
|
||||
[Part 3](https://github.com/wekan/wekan/commit/fb6f618917f73a1772c9670b85a9d368a8a02855),
|
||||
[Part 4](https://github.com/wekan/wekan/commit/391607ec79954ddc907170add8381c134717f576).
|
||||
|
||||
and adds the following updates:
|
||||
|
||||
- Update readme badges to be only links, and not load remote images.
|
||||
[Part 1](https://github.com/wekan/wekan/commit/2b2bb5d6e220758be7e7c7b660ba9ab6061d6ba2),
|
||||
[Part 2](https://github.com/wekan/wekan/commit/9a838e7990cd614fdf47047280d7e4731663102e),
|
||||
[Part 3](https://github.com/wekan/wekan/commit/d65f8cda1b1909ed1deac387e4c71fbf92889392),
|
||||
[Part 4](https://github.com/wekan/wekan/commit/182e1d4bf4eb0751ef51e820c223623c11a39e1d).
|
||||
Thanks to xet7.
|
||||
- [Moved helm charts to https://github.com/wekan/charts](https://github.com/wekan/wekan/commit/62dc63c03386f092301b1c1ef41007c8c0654eaa).
|
||||
Thanks to xet7.
|
||||
- Released newest Helm Chart to https://artifacthub.io/packages/helm/wekan/wekan .
|
||||
Thanks to xet7.
|
||||
- [Updated dependencies](https://github.com/wekan/wekan/commit/0ae8e4912b9ac69ef481b101137d30406f1fe03a).
|
||||
Thanks to developers of dependencies.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fixed Windows bundle build script and updated newest Windows WeKan release](https://github.com/wekan/wekan/commit/f1ff6d1e1fe935073f2600303c5c54f62d892311).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v6.64 2022-12-24 WeKan ® release
|
||||
|
||||
This release adds the following updates:
|
||||
|
||||
- [Updated release scripts](https://github.com/wekan/wekan/commit/71d35b0525b50191839147e74a7c9c66bf99496a).
|
||||
Thanks to xet7.
|
||||
- [Update webmanifest for WeKan Android Play Store app](https://github.com/wekan/wekan/commit/558093ff0c41da5798acc0b3ab723d288e104f8a).
|
||||
Thanks to xet7.
|
||||
- Upgrade to MongoDB 6.0.3.
|
||||
[Part 1](https://github.com/wekan/wekan/commit/62242b4a9636c1af49462403143e43e14e9a0cec),
|
||||
[Part 2](https://github.com/wekan/wekan/commit/f22fe5497b78bad5277675cba05aebb014c7ce60).
|
||||
Thanks to MongoDB developers.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fix: changing list color reloads webpage](https://github.com/wekan/wekan/pull/4787).
|
||||
Thanks to helioguardabaxo.
|
||||
- [Bug: Adding Users to Groups via OIDC seems to be broken](https://github.com/wekan/wekan/pull/4788).
|
||||
Thanks to Viehlieb.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v6.63 2022-12-22 WeKan ® release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
+42
-4
@@ -1,4 +1,11 @@
|
||||
## Contributing to wiki
|
||||
## Contributing Security related
|
||||
|
||||
For responsible security disclosure, please follow this process:
|
||||
https://github.com/wekan/wekan/blob/master/SECURITY.md
|
||||
|
||||
CVE Hall of Fame is at https://wekan.github.io/hall-of-fame/
|
||||
|
||||
## Contributing to Documentation Wiki
|
||||
|
||||
Please clone wiki:
|
||||
```
|
||||
@@ -12,13 +19,32 @@ https://github.com/wekan/wekan/issues
|
||||
|
||||
[Building WeKan and sending PR](https://github.com/wekan/wekan/wiki/Emoji).
|
||||
|
||||
Also see other docs at wiki.
|
||||
WeKan code contributors Hall of Fame is at ChangeLog, where
|
||||
GitHub usernames are mentioned with changes added:
|
||||
|
||||
Do not use code formattung or linting like eslist
|
||||
or prettier.
|
||||
https://github.com/wekan/wekan/blob/master/CHANGELOG.md
|
||||
|
||||
Changes can be like typo fixes, bugfixes, features, or anything else
|
||||
like for example at open GitHub issues https://github.com/wekan/wekan/issues .
|
||||
Closed issues are already fixed or implemented.
|
||||
|
||||
Also see other docs at wiki, for example:
|
||||
|
||||
https://github.com/wekan/wekan/wiki/Developer-Documentation
|
||||
|
||||
Do not use code formatting or linting like eslist or prettier.
|
||||
|
||||
Only send minimal changed code lines, that are related to feature or fix.
|
||||
|
||||
WeKan code has MIT license.
|
||||
|
||||
About 300 persons have contributed to WeKan, stats at:
|
||||
|
||||
https://www.openhub.net/p/wekan
|
||||
|
||||
WeKan maintainer xet7 checks PR for typos etc before accepting to WeKan,
|
||||
so that WeKan code will still work OK.
|
||||
|
||||
## Contributing translations
|
||||
|
||||
Non-English translations are contributed only at
|
||||
@@ -33,3 +59,15 @@ Maintainer of WeKan xet7 downloads all newest
|
||||
translations from Transifex and adds
|
||||
them to WeKan repo before making
|
||||
new release.
|
||||
|
||||
## About WeKan Organization https://github.com/wekan
|
||||
|
||||
xet7 rarely adds any new members to GitHub Organization,
|
||||
because xet7 prefers to check PRs.
|
||||
|
||||
For some repos (other than https://github.com/wekan/wekan ),
|
||||
some contributors have direct commit access.
|
||||
|
||||
Some contributors are mentioned at this outdated page:
|
||||
|
||||
https://github.com/wekan/wekan/wiki/Team
|
||||
+5
-4
@@ -1,4 +1,4 @@
|
||||
FROM --platform=linux/amd64 ubuntu:22.10 as wekan
|
||||
FROM --platform=linux/amd64 ubuntu:23.04 as wekan
|
||||
LABEL maintainer="wekan"
|
||||
|
||||
# 2022-09-04:
|
||||
@@ -21,8 +21,8 @@ ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
ENV BUILD_DEPS="apt-utils libarchive-tools gnupg gosu wget curl bzip2 g++ build-essential git ca-certificates python3" \
|
||||
DEBUG=false \
|
||||
NODE_VERSION=v14.21.2 \
|
||||
METEOR_RELEASE=2.8.1 \
|
||||
NODE_VERSION=v14.21.3 \
|
||||
METEOR_RELEASE=METEOR@2.12-beta.2 \
|
||||
USE_EDGE=false \
|
||||
METEOR_EDGE=1.5-beta.17 \
|
||||
NPM_VERSION=latest \
|
||||
@@ -157,7 +157,8 @@ ENV BUILD_DEPS="apt-utils libarchive-tools gnupg gosu wget curl bzip2 g++ build-
|
||||
SAML_ATTRIBUTES="" \
|
||||
ORACLE_OIM_ENABLED=false \
|
||||
WAIT_SPINNER="" \
|
||||
WRITABLE_PATH=/data
|
||||
WRITABLE_PATH=/data \
|
||||
S3=""
|
||||
|
||||
# NODE_OPTIONS="--max_old_space_size=4096" \
|
||||
|
||||
|
||||
+2
-2
@@ -4,7 +4,7 @@ FROM amd64/alpine:3.7 AS builder
|
||||
ENV QEMU_VERSION=v4.2.0-6 \
|
||||
QEMU_ARCHITECTURE=aarch64 \
|
||||
NODE_ARCHITECTURE=linux-arm64 \
|
||||
NODE_VERSION=v14.21.2 \
|
||||
NODE_VERSION=v14.21.3 \
|
||||
WEKAN_VERSION=latest \
|
||||
WEKAN_ARCHITECTURE=arm64 \
|
||||
NODE_OPTIONS="--max_old_space_size=4096"
|
||||
@@ -49,7 +49,7 @@ LABEL maintainer="wekan"
|
||||
# Set the environment variables (defaults where required)
|
||||
ENV QEMU_ARCHITECTURE=aarch64 \
|
||||
NODE_ARCHITECTURE=linux-arm64 \
|
||||
NODE_VERSION=v14.21.2 \
|
||||
NODE_VERSION=v14.21.3 \
|
||||
NODE_ENV=production \
|
||||
NPM_VERSION=latest \
|
||||
WITH_API=true \
|
||||
|
||||
@@ -1,21 +1,24 @@
|
||||
[](https://gitpod.io/#https://github.com/wekan/wekan)
|
||||
[Gitpod Ready-to-Code](https://gitpod.io/#https://github.com/wekan/wekan)
|
||||
|
||||
# WeKan ® - Open Source kanban
|
||||
|
||||
[](https://github.com/wekan/wekan/graphs/contributors)
|
||||
[](https://quay.io/repository/wekan/wekan)
|
||||
[](https://hub.docker.com/r/wekanteam/wekan)
|
||||
[](https://hub.docker.com/r/wekanteam/wekan)
|
||||
[![Wekan Build Status][travis_badge]][travis_status]
|
||||
[](https://www.codacy.com/app/xet7/wekan?utm_source=github.com&utm_medium=referral&utm_content=wekan/wekan&utm_campaign=Badge_Grade)
|
||||
[](https://codeclimate.com/github/wekan/wekan)
|
||||
[](https://david-dm.org/wekan/wekan)
|
||||
[](https://www.openhub.net/p/wekan)
|
||||
[](https://bestpractices.coreinfrastructure.org/projects/4619)
|
||||
## Docker Containers
|
||||
|
||||
## [Translate WeKan ® at Transifex](https://transifex.com/wekan/wekan)
|
||||
- [Quay](https://quay.io/repository/wekan/wekan)
|
||||
- [Docker Hub](https://hub.docker.com/r/wekanteam/wekan)
|
||||
|
||||
Translations to non-English languages are accepted only at [Transifex](https://transifex.com/wekan/wekan) using webbrowser.
|
||||
Other platforms and compatible software versions at https://wekan.github.io Download section.
|
||||
|
||||
## Code stats
|
||||
|
||||
- [Code Climate](https://codeclimate.com/github/wekan/wekan)
|
||||
- [Open Hub](https://www.openhub.net/p/wekan)
|
||||
- [OSS Insight](https://ossinsight.io/analyze/wekan/wekan)
|
||||
- [CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/4619)
|
||||
|
||||
## [Translate WeKan ® at Transifex](https://app.transifex.com/wekan/)
|
||||
|
||||
Translations to non-English languages are accepted only at [Transifex](https://app.transifex.com/wekan/) using webbrowser.
|
||||
New English strings of new features can be added as PRs to master branch file wekan/imports/i18n/data/en.i18n.json .
|
||||
|
||||
## [WeKan ® feature requests and bugs](https://github.com/wekan/wekan/issues)
|
||||
@@ -55,8 +58,8 @@ install Wekan on your own computer or server. In fact we encourage you to do
|
||||
that by providing one-click installation on various platforms.
|
||||
|
||||
- WeKan ® is used in [most countries of the world](https://snapcraft.io/wekan).
|
||||
- WeKan ® largest user has 22k users using WeKan ® in their company.
|
||||
- WeKan ® has been [translated](https://transifex.com/wekan/wekan) to about 105 languages.
|
||||
- WeKan ® largest user has 30k users using WeKan ® in their company.
|
||||
- WeKan ® has been [translated](https://app.transifex.com/wekan/) to about 105 languages.
|
||||
- [Features][features]: WeKan ® has real-time user interface.
|
||||
- [Platforms][platforms]: WeKan ® supports many platforms.
|
||||
WeKan ® is critical part of new platforms Wekan is currently being integrated to.
|
||||
@@ -112,10 +115,8 @@ with [Meteor](https://www.meteor.com).
|
||||
[wekan_issues]: https://github.com/wekan/wekan/issues
|
||||
[wekan_issues]: https://github.com/wekan/wekan/issues
|
||||
[docker_image]: https://hub.docker.com/r/wekanteam/wekan/
|
||||
[travis_badge]: https://travis-ci.org/wekan/wekan.svg?branch=devel
|
||||
[travis_status]: https://travis-ci.org/wekan/wekan
|
||||
[wekan_wiki]: https://github.com/wekan/wekan/wiki
|
||||
[translate_wekan]: https://www.transifex.com/wekan/wekan/
|
||||
[translate_wekan]: https://app.transifex.com/wekan/
|
||||
[open_source]: https://en.wikipedia.org/wiki/Open-source_software
|
||||
[free_software]: https://en.wikipedia.org/wiki/Free_software
|
||||
[discussions]: https://github.com/wekan/wekan/discussions
|
||||
+1
-1
@@ -105,7 +105,7 @@ a security issue, we'd like to know about it, and also how to fix it:
|
||||
|
||||
Typical already known or "no impact" bugs such as:
|
||||
|
||||
- Brute force password guessign. Currently there is
|
||||
- Brute force password guessing. Currently there is
|
||||
[brute force protection with eluck:accounts-lockout](https://github.com/wekan/wekan/blob/master/CHANGELOG.md#v080-2018-04-04-wekan-release).
|
||||
- Security issues related to that Wekan uses Meteor 1.6.0.1 related packages, and upgrading to newer
|
||||
Meteor 1.6.1 is complicated process that requires lots of changes to many dependency packages.
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
|
||||
appVersion: "v6.63.0"
|
||||
appVersion: "v6.89.0"
|
||||
files:
|
||||
userUploads:
|
||||
- README.md
|
||||
|
||||
@@ -21,32 +21,39 @@ import sys
|
||||
|
||||
arguments = len(sys.argv) - 1
|
||||
|
||||
syntax = """=== Wekan API Python CLI: Shows IDs for addcard ===
|
||||
# AUTHORID is USERID that writes card or custom field.
|
||||
If *nix: chmod +x api.py => ./api.py users
|
||||
Syntax:
|
||||
User API:
|
||||
python3 api.py user # Current user and list of current user boards
|
||||
python3 api.py boards USERID # Boards of USERID
|
||||
python3 api.py swimlanes BOARDID # Swimlanes of BOARDID
|
||||
python3 api.py lists BOARDID # Lists of BOARDID
|
||||
python3 api.py list BOARDID LISTID # Info of LISTID
|
||||
python3 api.py createlist BOARDID LISTTITLE # Create list
|
||||
python3 api.py addcard AUTHORID BOARDID SWIMLANEID LISTID CARDTITLE CARDDESCRIPTION
|
||||
python3 api.py editcard BOARDID LISTID CARDID NEWCARDTITLE NEWCARDDESCRIPTION
|
||||
python3 api.py customfields BOARDID # Custom Fields of BOARDID
|
||||
python3 api.py customfield BOARDID CUSTOMFIELDID # Info of CUSTOMFIELDID
|
||||
python3 api.py addcustomfieldtoboard AUTHORID BOARDID NAME TYPE SETTINGS SHOWONCARD AUTOMATICALLYONCARD SHOWLABELONMINICARD SHOWSUMATTOPOFLIST # Add Custom Field to Board
|
||||
python3 api.py listattachments BOARDID # List attachments
|
||||
|
||||
Admin API:
|
||||
python3 api.py users # All users
|
||||
python3 api.py boards # All Public Boards
|
||||
python3 api.py newuser USERNAME EMAIL PASSWORD
|
||||
"""
|
||||
|
||||
if arguments == 0:
|
||||
print("=== Wekan API Python CLI: Shows IDs for addcard ===")
|
||||
print("AUTHORID is USERID that writes card.")
|
||||
print("If *nix: chmod +x api.py => ./api.py users")
|
||||
print("Syntax:")
|
||||
print(" python3 api.py users # All users")
|
||||
print(" python3 api.py boards # All Public Boards")
|
||||
print(" python3 api.py boards USERID # Boards of USERID")
|
||||
print(" python3 api.py board BOARDID # Info of BOARDID")
|
||||
print(" python3 api.py customfields BOARDID # Custom Fields of BOARDID")
|
||||
print(" python3 api.py customfield BOARDID CUSTOMFIELDID # Info of CUSTOMFIELDID")
|
||||
print(" python3 api.py addcustomfieldtoboard AUTHORID BOARDID NAME TYPE SETTINGS SHOWONCARD AUTOMATICALLYONCARD SHOWLABELONMINICARD SHOWSUMATTOPOFLIST # Add Custom Field to Board")
|
||||
print(" python3 api.py swimlanes BOARDID # Swimlanes of BOARDID")
|
||||
print(" python3 api.py lists BOARDID # Lists of BOARDID")
|
||||
print(" python3 api.py list BOARDID LISTID # Info of LISTID")
|
||||
print(" python3 api.py createlist BOARDID LISTTITLE # Create list")
|
||||
print(" python3 api.py addcard AUTHORID BOARDID SWIMLANEID LISTID CARDTITLE CARDDESCRIPTION")
|
||||
print(" python3 api.py editcard BOARDID LISTID CARDID NEWCARDTITLE NEWCARDDESCRIPTION")
|
||||
print(" python3 api.py listattachments BOARDID # List attachments")
|
||||
print(" python3 api.py newuser USERNAME EMAIL PASSWORD")
|
||||
print(syntax)
|
||||
exit
|
||||
|
||||
# TODO:
|
||||
# print(" python3 api.py attachmentjson BOARDID ATTACHMENTID # One attachment as JSON base64")
|
||||
# print(" python3 api.py attachmentbinary BOARDID ATTACHMENTID # One attachment as binary file")
|
||||
# print(" python3 api.py attachmentdownload BOARDID ATTACHMENTID # One attachment as file")
|
||||
# print(" python3 api.py attachmentsdownload BOARDID # All attachments as files")
|
||||
exit
|
||||
|
||||
# ------- SETTINGS START -------------
|
||||
|
||||
@@ -62,33 +69,6 @@ wekanurl = 'http://localhost:4000/'
|
||||
# ------- SETTINGS END -------------
|
||||
|
||||
"""
|
||||
EXAMPLE:
|
||||
|
||||
python3 api.py
|
||||
|
||||
OR:
|
||||
chmod +x api.py
|
||||
./api.py
|
||||
|
||||
=== Wekan API Python CLI: Shows IDs for addcard ===
|
||||
AUTHORID is USERID that writes card.
|
||||
Syntax:
|
||||
python3 api.py users # All users
|
||||
python3 api.py boards USERID # Boards of USERID
|
||||
python3 api.py board BOARDID # Info of BOARDID
|
||||
python3 api.py customfields BOARDID # Custom Fields of BOARDID
|
||||
python3 api.py customfield BOARDID CUSTOMFIELDID # Info of CUSTOMFIELDID
|
||||
python3 api.py addcustomfieldtoboard AUTHORID BOARDID NAME TYPE SETTINGS SHOWONCARD AUTOMATICALLYONCARD SHOWLABELONMINICARD SHOWSUMATTOPOFLIST # Add Custom Field to Board
|
||||
python3 api.py swimlanes BOARDID # Swimlanes of BOARDID
|
||||
python3 api.py lists BOARDID # Lists of BOARDID
|
||||
python3 api.py list BOARDID LISTID # Info of LISTID
|
||||
python3 api.py createlist BOARDID LISTTITLE # Create list
|
||||
python3 api.py addcard AUTHORID BOARDID SWIMLANEID LISTID CARDTITLE CARDDESCRIPTION
|
||||
python3 api.py editcard BOARDID LISTID CARDID NEWCARDTITLE NEWCARDDESCRIPTION
|
||||
python3 api.py listattachments BOARDID # List attachments
|
||||
python3 api.py attachmentjson BOARDID ATTACHMENTID # One attachment as JSON base64
|
||||
python3 api.py attachmentbinary BOARDID ATTACHMENTID # One attachment as binary file
|
||||
|
||||
=== ADD CUSTOM FIELD TO BOARD ===
|
||||
|
||||
Type: text, number, date, dropdown, checkbox, currency, stringtemplate.
|
||||
@@ -145,6 +125,8 @@ wekanloginurl = wekanurl + loginurl
|
||||
apiboards = 'api/boards/'
|
||||
apiattachments = 'api/attachments/'
|
||||
apiusers = 'api/users'
|
||||
apiuser = 'api/user'
|
||||
apiallusers = 'api/allusers'
|
||||
e = 'export'
|
||||
s = '/'
|
||||
l = 'lists'
|
||||
@@ -153,10 +135,13 @@ sws = 'swimlanes'
|
||||
cs = 'cards'
|
||||
cf = 'custom-fields'
|
||||
bs = 'boards'
|
||||
apbs = 'allpublicboards'
|
||||
atl = 'attachmentslist'
|
||||
at = 'attachment'
|
||||
ats = 'attachments'
|
||||
users = wekanurl + apiusers
|
||||
user = wekanurl + apiuser
|
||||
allusers = wekanurl + apiallusers
|
||||
|
||||
# ------- API URL GENERATION END -----------
|
||||
|
||||
@@ -372,6 +357,16 @@ if arguments == 1:
|
||||
print(data2)
|
||||
# ------- LIST OF USERS END -----------
|
||||
|
||||
if sys.argv[1] == 'user':
|
||||
# ------- LIST OF ALL USERS START -----------
|
||||
headers = {'Accept': 'application/json', 'Authorization': 'Bearer {}'.format(apikey)}
|
||||
print(user)
|
||||
print("=== USER ===\n")
|
||||
body = requests.get(user, headers=headers)
|
||||
data2 = body.text.replace('}',"}\n")
|
||||
print(data2)
|
||||
# ------- LIST OF ALL USERS END -----------
|
||||
|
||||
if sys.argv[1] == 'boards':
|
||||
|
||||
# ------- LIST OF PUBLIC BOARDS START -----------
|
||||
|
||||
@@ -167,3 +167,11 @@
|
||||
border-color: #2b004d;
|
||||
color: #fff !important;
|
||||
}
|
||||
.modal-dialog {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.modal-header {
|
||||
text-align: center;
|
||||
}
|
||||
@@ -328,6 +328,7 @@ BlazeComponent.extendComponent({
|
||||
id: 'calendar-view',
|
||||
defaultView: 'agendaDay',
|
||||
editable: true,
|
||||
selectable: true,
|
||||
timezone: 'local',
|
||||
weekNumbers: true,
|
||||
header: {
|
||||
@@ -422,6 +423,44 @@ BlazeComponent.extendComponent({
|
||||
revertFunc();
|
||||
}
|
||||
},
|
||||
select: function(startDate) {
|
||||
const currentBoard = Boards.findOne(Session.get('currentBoard'));
|
||||
const currentUser = Meteor.user();
|
||||
const $modal = $(`
|
||||
<div class="modal fade" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog justify-content-center align-items-center" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Card Title</h5>
|
||||
</div>
|
||||
<div class="modal-body text-center">
|
||||
<input type="text" class="form-control" id="card-title-input" placeholder="Card Title">
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-primary" id="create-card-button">Create Card</button>
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal"Cancel</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
`);
|
||||
$modal.modal('show');
|
||||
$modal.find('#create-card-button').click(function() {
|
||||
const myTitle = $modal.find('#card-title-input').val();
|
||||
if (myTitle) {
|
||||
const firstList = currentBoard.draggableLists().fetch()[0];
|
||||
const firstSwimlane = currentBoard.swimlanes().fetch()[0];
|
||||
Meteor.call('createCardWithDueDate', currentBoard._id, firstList._id, myTitle, startDate.toDate(), firstSwimlane._id, function(error, result) {
|
||||
if (error) {
|
||||
console.log(error);
|
||||
} else {
|
||||
console.log("Card Created", result);
|
||||
}
|
||||
});
|
||||
$modal.modal('hide');
|
||||
}
|
||||
});
|
||||
},
|
||||
};
|
||||
},
|
||||
isViewCalendar() {
|
||||
|
||||
@@ -1595,6 +1595,11 @@
|
||||
background: #262626;
|
||||
color: #fff;
|
||||
}
|
||||
@media screen and (min-width: 801px) {
|
||||
.board-color-moderndark .js-toggle-desktop-drag-handles {
|
||||
padding-top: 6px
|
||||
}
|
||||
}
|
||||
.board-color-moderndark#header #header-main-bar .board-header-btn.emphasis {
|
||||
background: #2a2a2a;
|
||||
}
|
||||
@@ -1629,6 +1634,9 @@
|
||||
background: #2a2a2a;
|
||||
color: #fff;
|
||||
}
|
||||
#header.board-color-moderndark #header-main-bar .board-header-btn i.fa {
|
||||
margin: 0 8px;
|
||||
}
|
||||
}
|
||||
.board-color-moderndark#header ul li.current,
|
||||
.board-color-moderndark#header-quick-access ul li.current {
|
||||
@@ -1704,7 +1712,6 @@
|
||||
background: rgba(255,255,255,0.2);
|
||||
}
|
||||
.board-color-moderndark#header #header-main-bar h1 {
|
||||
/* font-family: Poppins; */
|
||||
font-weight: bold;
|
||||
line-height: 0.8em;
|
||||
padding-top: 10px;
|
||||
@@ -1717,9 +1724,6 @@
|
||||
color: #ccc;
|
||||
padding: 4px 0;
|
||||
}
|
||||
.board-color-moderndark .swimlane .swimlane-header-wrap .swimlane-header {
|
||||
/* font-family: Poppins; */
|
||||
}
|
||||
.board-color-moderndark .swimlane .swimlane-header-wrap .swimlane-header-menu {
|
||||
padding: 6px;
|
||||
font-size: 16px;
|
||||
@@ -1760,6 +1764,19 @@
|
||||
line-height: 14px;
|
||||
color: #eee;
|
||||
}
|
||||
@media screen and (max-width: 800px) {
|
||||
.board-color-moderndark .list-header .list-header-name {
|
||||
line-height: 40px;
|
||||
}
|
||||
}
|
||||
@media screen and (min-width: 801px) {
|
||||
.board-color-moderndark .list-header .list-header-name {
|
||||
float: left;
|
||||
}
|
||||
.board-color-moderndark .list-header .list-header-menu {
|
||||
padding: 0 10px 10px;
|
||||
}
|
||||
}
|
||||
.board-color-moderndark .list-header .list-header-menu {
|
||||
padding: 10px;
|
||||
top: 0;
|
||||
@@ -1858,6 +1875,15 @@
|
||||
.board-color-moderndark .card-details {
|
||||
width: 98%;
|
||||
}
|
||||
.card-details-popup {
|
||||
padding: 0px;
|
||||
}
|
||||
.card-details-left, .card-details-right {
|
||||
padding: 0px 10px;
|
||||
}
|
||||
.card-details .card-details-header .card-details-menu-mobile-web {
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
@media screen and (min-width: 801px) {
|
||||
.board-color-moderndark .card-details {
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
.slide {
|
||||
/* swipebox slide background gradient of black to blue, so that back SVG images are visible */
|
||||
background: rgb(2,0,36);
|
||||
background: linear-gradient(90deg, rgba(2,0,36,1) 0%, rgba(9,9,121,1) 14%, rgba(0,212,255,1) 100%);
|
||||
}
|
||||
.attachment-upload {
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
|
||||
@@ -32,24 +32,30 @@ template(name="attachmentDeletePopup")
|
||||
|
||||
template(name="attachmentsGalery")
|
||||
.attachments-galery
|
||||
if currentUser.isBoardMember
|
||||
unless currentUser.isCommentOnly
|
||||
unless currentUser.isWorker
|
||||
//li.attachment-item.add-attachment
|
||||
a.js-add-attachment(title="{{_ 'add-attachment' }}")
|
||||
i.fa.fa-plus
|
||||
each attachments
|
||||
.attachment-item
|
||||
a.attachment-thumbnail.swipebox(href="{{link}}" title="{{name}}")
|
||||
a.attachment-thumbnail.swipebox(href="{{link}}" title="{{sanitize name}}")
|
||||
if link
|
||||
if isImage
|
||||
img.attachment-thumbnail-img(src="{{link}}")
|
||||
img.attachment-thumbnail-img(src="{{link}}" title="{{sanitize name}}")
|
||||
else if($eq extension 'mp3')
|
||||
video(width="100%" height="100%" controls="true")
|
||||
source(src="{{link}}" type="audio/mpeg")
|
||||
video(width="100%" height="100%" title="{{sanitize name}}" controls="true")
|
||||
source(src="{{link}}" type="audio/mpeg")
|
||||
else if($eq extension 'ogg')
|
||||
video(width="100%" height="100%" controls="true")
|
||||
source(src="{{link}}" type="video/ogg")
|
||||
video(width="100%" height="100%" title="{{sanitize name}}" controls="true")
|
||||
source(src="{{link}}" type="video/ogg")
|
||||
else if($eq extension 'webm')
|
||||
video(width="100%" height="100%" controls="true")
|
||||
source(src="{{link}}" type="video/webm")
|
||||
video(width="100%" height="100%" title="{{sanitize name}}" controls="true")
|
||||
source(src="{{link}}" type="video/webm")
|
||||
else if($eq extension 'mp4')
|
||||
video(width="100%" height="100%" controls="true")
|
||||
source(src="{{link}}" type="video/mp4")
|
||||
video(width="100%" height="100%" title="{{sanitize name}}" controls="true")
|
||||
source(src="{{link}}" type="video/mp4")
|
||||
else
|
||||
span.attachment-thumbnail-ext= extension
|
||||
p.attachment-details
|
||||
@@ -64,13 +70,6 @@ template(name="attachmentsGalery")
|
||||
unless currentUser.isWorker
|
||||
a.fa.fa-navicon.attachment-details-menu.js-open-attachment-menu(title="{{_ 'attachmentActionsPopup-title'}}")
|
||||
|
||||
if currentUser.isBoardMember
|
||||
unless currentUser.isCommentOnly
|
||||
unless currentUser.isWorker
|
||||
//li.attachment-item.add-attachment
|
||||
a.js-add-attachment(title="{{_ 'add-attachment' }}")
|
||||
i.fa.fa-plus
|
||||
|
||||
template(name="attachmentActionsPopup")
|
||||
ul.pop-over-list
|
||||
li
|
||||
@@ -102,6 +101,12 @@ template(name="attachmentActionsPopup")
|
||||
i.fa.fa-arrow-right
|
||||
| {{_ 'attachment-move-storage-gridfs'}}
|
||||
|
||||
if $neq versions.original.storage "s3"
|
||||
if versions.original.storage
|
||||
a.js-move-storage-s3
|
||||
i.fa.fa-arrow-right
|
||||
| {{_ 'attachment-move-storage-s3'}}
|
||||
|
||||
template(name="attachmentRenamePopup")
|
||||
input.js-edit-attachment-name(type='text' autofocus value="{{getNameWithoutExtension}}" dir="auto")
|
||||
.edit-controls.clearfix
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { ObjectID } from 'bson';
|
||||
import DOMPurify from 'dompurify';
|
||||
|
||||
const filesize = require('filesize');
|
||||
const prettyMilliseconds = require('pretty-ms');
|
||||
@@ -21,6 +22,9 @@ Template.attachmentsGalery.helpers({
|
||||
const ret = filesize(size);
|
||||
return ret;
|
||||
},
|
||||
sanitize(value) {
|
||||
return DOMPurify.sanitize(value);
|
||||
},
|
||||
});
|
||||
|
||||
Template.cardAttachmentsPopup.onCreated(function() {
|
||||
@@ -49,6 +53,10 @@ Template.cardAttachmentsPopup.events({
|
||||
let uploads = [];
|
||||
for (const file of files) {
|
||||
const fileId = new ObjectID().toString();
|
||||
// If filename is not same as sanitized filename, has XSS, then cancel upload
|
||||
if (file.name !== DOMPurify.sanitize(file.name)) {
|
||||
return false;
|
||||
}
|
||||
const config = {
|
||||
file: file,
|
||||
fileId: fileId,
|
||||
@@ -191,6 +199,10 @@ BlazeComponent.extendComponent({
|
||||
Meteor.call('moveAttachmentToStorage', this.data()._id, "gridfs");
|
||||
Popup.back();
|
||||
},
|
||||
'click .js-move-storage-s3'() {
|
||||
Meteor.call('moveAttachmentToStorage', this.data()._id, "s3");
|
||||
Popup.back();
|
||||
},
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -216,7 +228,9 @@ BlazeComponent.extendComponent({
|
||||
const name = this.$('.js-edit-attachment-name')[0]
|
||||
.value
|
||||
.trim() + this.data().extensionWithDot;
|
||||
Meteor.call('renameAttachment', this.data()._id, name);
|
||||
if (name === DOMPurify.sanitize(name)) {
|
||||
Meteor.call('renameAttachment', this.data()._id, name);
|
||||
}
|
||||
Popup.back(2);
|
||||
},
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
overflow-x: hidden;
|
||||
background: #f7f7f7;
|
||||
border-radius: bottom 3px;
|
||||
z-index: 20;
|
||||
z-index: 30;
|
||||
animation: flexGrowIn 0.1s;
|
||||
box-shadow: 0 0 7px 0 #b3b3b3;
|
||||
transition: flex-basis 0.1s;
|
||||
@@ -245,6 +245,14 @@
|
||||
padding-top: 10px;
|
||||
}
|
||||
@media screen and (min-width: 801px) {
|
||||
.card-details {
|
||||
top: 97px;
|
||||
left: 0;
|
||||
width: 600px;
|
||||
bottom: 0;
|
||||
position: fixed;
|
||||
resize: both;
|
||||
}
|
||||
.card-details-maximized {
|
||||
padding: 0;
|
||||
flex-shrink: 0;
|
||||
|
||||
@@ -266,12 +266,14 @@ template(name="cardDetails")
|
||||
i.fa.fa-list-alt
|
||||
= definition.name
|
||||
+cardCustomField
|
||||
.material-toggle-switch(title="{{_ 'change'}} {{_ 'custom-fields'}} {{_ 'layout'}}")
|
||||
if customFieldsGrid
|
||||
input.toggle-switch(type="checkbox" id="toggleCustomFieldsGridButton" checked="checked")
|
||||
else
|
||||
input.toggle-switch(type="checkbox" id="toggleCustomFieldsGridButton")
|
||||
label.toggle-label(for="toggleCustomFieldsGridButton")
|
||||
|
||||
if $gt customFieldsWD.length 1
|
||||
.material-toggle-switch(title="{{_ 'change'}} {{_ 'custom-fields'}} {{_ 'layout'}}")
|
||||
if customFieldsGrid
|
||||
input.toggle-switch(type="checkbox" id="toggleCustomFieldsGridButton" checked="checked")
|
||||
else
|
||||
input.toggle-switch(type="checkbox" id="toggleCustomFieldsGridButton")
|
||||
label.toggle-label(for="toggleCustomFieldsGridButton")
|
||||
a.fa.fa-plus.js-custom-fields.card-details-item.custom-fields(title="{{_ 'custom-fields'}}")
|
||||
|
||||
if getVoteQuestion
|
||||
@@ -552,6 +554,13 @@ template(name="cardDetails")
|
||||
h3.card-details-item-title
|
||||
i.fa.fa-paperclip
|
||||
| {{_ 'attachments'}}
|
||||
if Meteor.settings.public.attachmentsUploadMaxSize
|
||||
| {{_ 'max-upload-filesize'}} {{Meteor.settings.public.attachmentsUploadMaxSize}}
|
||||
br
|
||||
if Meteor.settings.public.attachmentsUploadMimeTypes
|
||||
| {{_ 'allowed-upload-filetypes'}} {{Meteor.settings.public.attachmentsUploadMimeTypes}}
|
||||
br
|
||||
| {{_ 'invalid-file'}}
|
||||
.card-checklist-attachmentGalery.card-attachmentGalery
|
||||
+attachmentsGalery
|
||||
hr
|
||||
|
||||
@@ -45,12 +45,12 @@
|
||||
}
|
||||
.minicard-details-menu-with-handle {
|
||||
float: right;
|
||||
font-size: 14px;
|
||||
font-size: 18px;
|
||||
padding-right: 30px;
|
||||
}
|
||||
.minicard-details-menu {
|
||||
float: right;
|
||||
font-size: 14px;
|
||||
font-size: 18px;
|
||||
}
|
||||
@media print {
|
||||
.minicard-details-menu,
|
||||
|
||||
@@ -172,6 +172,12 @@ template(name="minicardDetailsActionsPopup")
|
||||
i.fa.fa-copy
|
||||
| {{_ 'copyCardPopup-title'}}
|
||||
hr
|
||||
li
|
||||
a.js-archive
|
||||
i.fa.fa-arrow-right
|
||||
i.fa.fa-archive
|
||||
| {{_ 'archive-card'}}
|
||||
hr
|
||||
li
|
||||
a.js-move-card-to-top
|
||||
i.fa.fa-arrow-up
|
||||
|
||||
@@ -168,4 +168,9 @@ Template.minicardDetailsActionsPopup.events({
|
||||
this.move(this.boardId, this.swimlaneId, this.listId, maxOrder + 1);
|
||||
Popup.back();
|
||||
},
|
||||
'click .js-archive': Popup.afterConfirm('cardArchive', function () {
|
||||
Popup.close();
|
||||
this.archive();
|
||||
Utils.goBoardId(this.boardId);
|
||||
}),
|
||||
});
|
||||
@@ -112,6 +112,9 @@
|
||||
color: #4d4d4d;
|
||||
padding-left: 4px;
|
||||
}
|
||||
.js-open-list-menu {
|
||||
font-size: 18px;
|
||||
}
|
||||
.list-body {
|
||||
flex: 1 1 auto;
|
||||
flex-direction: column;
|
||||
@@ -122,10 +125,15 @@
|
||||
.list-body .minicards {
|
||||
flex-grow: 1;
|
||||
flex-shrink: 0;
|
||||
/** get card drag/drop working for empty swimlanes */
|
||||
min-height: 32px;
|
||||
}
|
||||
.list-body .minicards form {
|
||||
margin-bottom: 9px;
|
||||
}
|
||||
.list-body .minicards .add-controls button {
|
||||
min-height: 50px;
|
||||
}
|
||||
.list-body .open-minicard-composer {
|
||||
border-radius: 2px;
|
||||
color: #8c8c8c;
|
||||
|
||||
@@ -54,6 +54,7 @@ template(name="addCardForm")
|
||||
.add-controls.clearfix
|
||||
button.primary.confirm(type="submit") {{_ 'add'}}
|
||||
a.fa.fa-times-thin.js-close-inlined-form
|
||||
.add-controls.clearfix
|
||||
unless currentBoard.isTemplatesBoard
|
||||
unless currentBoard.isTemplateBoard
|
||||
span.quiet
|
||||
|
||||
@@ -309,11 +309,11 @@ BlazeComponent.extendComponent({
|
||||
},
|
||||
'click .js-submit'() {
|
||||
this.currentList.setColor(this.currentColor.get());
|
||||
Popup.back();
|
||||
Popup.close();
|
||||
},
|
||||
'click .js-remove-color'() {
|
||||
this.currentList.setColor(null);
|
||||
Popup.back();
|
||||
Popup.close();
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
@@ -10,7 +10,7 @@ head
|
||||
link(rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon.png")
|
||||
link(rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.png")
|
||||
link(rel="icon" type="image/png" sizes="16x16" href="favicon-16x16.png")
|
||||
link(rel="manifest" href="/site.webmanifest")
|
||||
link(rel="manifest" crossOrigin="use-credentials" href="/site.webmanifest")
|
||||
link(rel="mask-icon" href="safari-pinned-tab.svg" color="#5bbad5")
|
||||
meta(name="apple-mobile-web-app-title" content="Wekan")
|
||||
meta(name="application-name" content="Wekan")
|
||||
|
||||
@@ -59,7 +59,7 @@ Template.userFormsLayout.onCreated(function () {
|
||||
};
|
||||
Meteor.loginWithOidc(options);
|
||||
}
|
||||
else console.log("oidc redirect not set");
|
||||
//else console.log("oidc redirect not set");
|
||||
});
|
||||
}
|
||||
Meteor.call('isDisableRegistration', (_, result) => {
|
||||
|
||||
@@ -23,6 +23,8 @@ template(name="moveAttachments")
|
||||
button.js-move-all-attachments-to-fs {{_ 'move-all-attachments-to-fs'}}
|
||||
.js-move-attachment
|
||||
button.js-move-all-attachments-to-gridfs {{_ 'move-all-attachments-to-gridfs'}}
|
||||
.js-move-attachment
|
||||
button.js-move-all-attachments-to-s3 {{_ 'move-all-attachments-to-s3'}}
|
||||
|
||||
each board in getBoardsWithAttachments
|
||||
+moveBoardAttachments board
|
||||
@@ -43,6 +45,8 @@ template(name="moveBoardAttachments")
|
||||
button.js-move-all-attachments-of-board-to-fs {{_ 'move-all-attachments-of-board-to-fs'}}
|
||||
.js-move-attachment
|
||||
button.js-move-all-attachments-of-board-to-gridfs {{_ 'move-all-attachments-of-board-to-gridfs'}}
|
||||
.js-move-attachment
|
||||
button.js-move-all-attachments-of-board-to-s3 {{_ 'move-all-attachments-of-board-to-s3'}}
|
||||
|
||||
.board-attachments
|
||||
table
|
||||
@@ -70,6 +74,7 @@ template(name="moveAttachment")
|
||||
td {{ version.versionName }}
|
||||
td {{ fileSize version.size }}
|
||||
td {{ version.meta.gridFsFileId }}
|
||||
td {{ version.meta.s3FileId }}
|
||||
td {{ version.storageName }}
|
||||
td
|
||||
if $neq version.storageName "fs"
|
||||
@@ -82,3 +87,9 @@ template(name="moveAttachment")
|
||||
button.js-move-storage-gridfs
|
||||
i.fa.fa-arrow-right
|
||||
| {{_ 'attachment-move-storage-gridfs'}}
|
||||
|
||||
if $neq version.storageName "s3"
|
||||
if version.storageName
|
||||
button.js-move-storage-s3
|
||||
i.fa.fa-arrow-right
|
||||
| {{_ 'attachment-move-storage-s3'}}
|
||||
@@ -84,6 +84,11 @@ BlazeComponent.extendComponent({
|
||||
Meteor.call('moveAttachmentToStorage', _attachment._id, "gridfs");
|
||||
});
|
||||
},
|
||||
'click button.js-move-all-attachments-to-s3'(event) {
|
||||
this.attachments.forEach(_attachment => {
|
||||
Meteor.call('moveAttachmentToStorage', _attachment._id, "s3");
|
||||
});
|
||||
},
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -103,6 +108,11 @@ BlazeComponent.extendComponent({
|
||||
Meteor.call('moveAttachmentToStorage', _attachment._id, "gridfs");
|
||||
});
|
||||
},
|
||||
'click button.js-move-all-attachments-of-board-to-s3'(event) {
|
||||
this.data().attachments.forEach(_attachment => {
|
||||
Meteor.call('moveAttachmentToStorage', _attachment._id, "s3");
|
||||
});
|
||||
},
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -122,6 +132,9 @@ BlazeComponent.extendComponent({
|
||||
'click button.js-move-storage-gridfs'(event) {
|
||||
Meteor.call('moveAttachmentToStorage', this.data()._id, "gridfs");
|
||||
},
|
||||
'click button.js-move-storage-s3'(event) {
|
||||
Meteor.call('moveAttachmentToStorage', this.data()._id, "s3");
|
||||
},
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -14,6 +14,12 @@
|
||||
box-shadow: -10px 0px 5px -10px #b3b3b3;
|
||||
z-index: 10;
|
||||
}
|
||||
.sidebar-xmark {
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 5px;
|
||||
font-size: 25px;
|
||||
}
|
||||
.sidebar .sidebar-content {
|
||||
padding: 12px;
|
||||
margin-bottom: 1.6em;
|
||||
@@ -24,6 +30,7 @@
|
||||
left: 0;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
width: 90%;
|
||||
}
|
||||
.sidebar .sidebar-content .hide-btn {
|
||||
display: none;
|
||||
|
||||
@@ -5,6 +5,7 @@ template(name="sidebar")
|
||||
// title="{{showTongueTitle}}")
|
||||
// i.fa.fa-navicon
|
||||
.sidebar-shadow
|
||||
a.sidebar-xmark.js-close-sidebar ✕
|
||||
.sidebar-content.js-board-sidebar-content
|
||||
//a.hide-btn.js-hide-sidebar
|
||||
// i.fa.fa-navicon
|
||||
|
||||
@@ -125,6 +125,9 @@ BlazeComponent.extendComponent({
|
||||
'click .js-shortcuts'() {
|
||||
FlowRouter.go('shortcuts');
|
||||
},
|
||||
'click .js-close-sidebar'() {
|
||||
Sidebar.toggle()
|
||||
},
|
||||
},
|
||||
];
|
||||
},
|
||||
|
||||
@@ -109,13 +109,18 @@ template(name="filterSidebar")
|
||||
| {{_ 'filter-due-tomorrow' }}
|
||||
if Filter.dueAt.isSelected 'tomorrow'
|
||||
i.fa.fa-check
|
||||
li(class="{{#if Filter.dueAt.isSelected 'week'}}active{{/if}}")
|
||||
li(class="{{#if Filter.dueAt.isSelected 'thisweek'}}active{{/if}}")
|
||||
a.name.js-toggle-due-this-week-filter
|
||||
span.sidebar-list-item-description
|
||||
| {{_ 'filter-due-this-week' }}
|
||||
if Filter.dueAt.isSelected 'week'
|
||||
if Filter.dueAt.isSelected 'thisweek'
|
||||
i.fa.fa-check
|
||||
li(class="{{#if Filter.dueAt.isSelected 'nextweek'}}active{{/if}}")
|
||||
a.name.js-toggle-due-next-week-filter
|
||||
span.sidebar-list-item-description
|
||||
| {{_ 'filter-due-next-week' }}
|
||||
if Filter.dueAt.isSelected 'nextweek'
|
||||
i.fa.fa-check
|
||||
|
||||
hr
|
||||
h3
|
||||
i.fa.fa-list-alt
|
||||
|
||||
@@ -53,6 +53,11 @@ BlazeComponent.extendComponent({
|
||||
Filter.dueAt.thisWeek();
|
||||
Filter.resetExceptions();
|
||||
},
|
||||
'click .js-toggle-due-next-week-filter'(evt) {
|
||||
evt.preventDefault();
|
||||
Filter.dueAt.nextWeek();
|
||||
Filter.resetExceptions();
|
||||
},
|
||||
'click .js-toggle-archive-filter'(evt) {
|
||||
evt.preventDefault();
|
||||
Filter.archive.toggle(this.currentData()._id);
|
||||
|
||||
@@ -102,6 +102,13 @@ template(name="changeAvatarPopup")
|
||||
i.fa.fa-check
|
||||
p.sub-name {{_ 'default-avatar'}}
|
||||
input.hide.js-upload-avatar-input(accept="image/*;capture=camera" type="file")
|
||||
if Meteor.settings.public.avatarsUploadMaxSize
|
||||
| {{_ 'max-avatar-filesize'}} {{Meteor.settings.public.avatarsUploadMaxSize}}
|
||||
br
|
||||
if Meteor.settings.public.avatarsUploadMimeTypes
|
||||
| {{_ 'allowed-avatar-filetypes'}} {{Meteor.settings.public.avatarsUploadMimeTypes}}
|
||||
br
|
||||
| {{_ 'invalid-file'}}
|
||||
button.full.js-upload-avatar
|
||||
i.fa.fa-upload
|
||||
| {{_ 'upload-avatar'}}
|
||||
|
||||
@@ -168,7 +168,7 @@ export class CardSearchPagedComponent extends BlazeComponent {
|
||||
} else if (this.resultsCount === 1) {
|
||||
return TAPi18n.__('one-card-found');
|
||||
} else if (this.resultsCount === this.totalHits) {
|
||||
return TAPi18n.__('n-cards-found', this.resultsCount);
|
||||
return TAPi18n.__('n-cards-found').replace('%s', this.resultsCount);
|
||||
}
|
||||
|
||||
return TAPi18n.__('n-n-of-n-cards-found', {
|
||||
|
||||
+43
-17
@@ -55,7 +55,12 @@ class DateFilter {
|
||||
|
||||
// thisWeek is a convenience method for calling relativeWeek with 1
|
||||
thisWeek() {
|
||||
this.relativeWeek(1);
|
||||
this.relativeWeek(1, 'this')
|
||||
}
|
||||
|
||||
// nextWeek is a convenience method for calling relativeWeek with 1
|
||||
nextWeek() {
|
||||
this.relativeWeek(1, 'next')
|
||||
}
|
||||
|
||||
// relativeDay builds a filter starting from now and including all
|
||||
@@ -83,11 +88,17 @@ class DateFilter {
|
||||
this._updateState('day');
|
||||
}
|
||||
|
||||
// relativeWeek builds a filter starting from today and including all
|
||||
// relativeWeek builds a filter starting from today (for this week)
|
||||
// or 7 days after (for next week) and including all
|
||||
// weeks up to today +/- offset. This considers the user's preferred
|
||||
// start of week day (as defined by Meteor).
|
||||
relativeWeek(offset) {
|
||||
if (this._filterState == 'week') {
|
||||
relativeWeek(offset, week) {
|
||||
if (this._filterState == 'thisweek') {
|
||||
this.reset();
|
||||
return;
|
||||
}
|
||||
|
||||
if (this._filterState == 'nextweek') {
|
||||
this.reset();
|
||||
return;
|
||||
}
|
||||
@@ -99,25 +110,40 @@ class DateFilter {
|
||||
const currentUser = Meteor.user();
|
||||
const weekStartDay = currentUser ? currentUser.getStartDayOfWeek() : 1;
|
||||
|
||||
// Moments are mutable so they must be cloned before modification
|
||||
var thisWeekStart = moment()
|
||||
.startOf('day')
|
||||
.startOf('week')
|
||||
.add(weekStartDay, 'days');
|
||||
var thisWeekEnd = thisWeekStart
|
||||
.clone()
|
||||
.add(offset, 'week')
|
||||
.endOf('day');
|
||||
var startDate = thisWeekStart.toDate();
|
||||
var endDate = thisWeekEnd.toDate();
|
||||
if (week === 'this') {
|
||||
// Moments are mutable so they must be cloned before modification
|
||||
var WeekStart = moment()
|
||||
.startOf('day')
|
||||
.startOf('week')
|
||||
.add(weekStartDay, 'days');
|
||||
var WeekEnd = WeekStart
|
||||
.clone()
|
||||
.add(offset, 'week')
|
||||
.endOf('day');
|
||||
|
||||
this._updateState('thisweek');
|
||||
} else if (week === 'next') {
|
||||
// Moments are mutable so they must be cloned before modification
|
||||
var WeekStart = moment()
|
||||
.startOf('day')
|
||||
.startOf('week')
|
||||
.add(weekStartDay + 7, 'days');
|
||||
var WeekEnd = WeekStart
|
||||
.clone()
|
||||
.add(offset, 'week')
|
||||
.endOf('day');
|
||||
|
||||
this._updateState('nextweek');
|
||||
}
|
||||
|
||||
var startDate = WeekStart.toDate();
|
||||
var endDate = WeekEnd.toDate();
|
||||
|
||||
if (offset >= 0) {
|
||||
this._filter = { $gte: startDate, $lte: endDate };
|
||||
} else {
|
||||
this._filter = { $lte: startDate, $gte: endDate };
|
||||
}
|
||||
|
||||
this._updateState('week');
|
||||
}
|
||||
|
||||
// noDate builds a filter for items where date is not set
|
||||
|
||||
+12
-4
@@ -98,7 +98,7 @@ services:
|
||||
# Quay image does work:
|
||||
# image: quay.io/wekan/mongo:4.4.2-bionic
|
||||
# Docker Hub MongoDB image does work:
|
||||
image: mongo:5
|
||||
image: mongo:6
|
||||
#-------------------------------------------------------------------------------------
|
||||
container_name: wekan-db
|
||||
restart: always
|
||||
@@ -155,6 +155,14 @@ services:
|
||||
# ==== WRITEABLE PATH FOR FILE UPLOADS ====
|
||||
- WRITABLE_PATH=/data
|
||||
#-----------------------------------------------------------------
|
||||
# ==== AWS S3 FOR FILES ====
|
||||
# Any region. For example:
|
||||
# us-standard,us-west-1,us-west-2,
|
||||
# eu-west-1,eu-central-1,
|
||||
# ap-southeast-1,ap-northeast-1,sa-east-1
|
||||
#
|
||||
#- S3='{"s3":{"key": "xxx", "secret": "xxx", "bucket": "xxx", "region": "xxx"}}'
|
||||
#-----------------------------------------------------------------
|
||||
# ==== MONGO_URL ====
|
||||
- MONGO_URL=mongodb://wekandb:27017/wekan
|
||||
#---------------------------------------------------------------
|
||||
@@ -279,8 +287,8 @@ services:
|
||||
#---------------------------------------------------------------
|
||||
# ==== Allow to shrink attached/pasted image ====
|
||||
# https://github.com/wekan/wekan/pull/2544
|
||||
#-MAX_IMAGE_PIXEL=1024
|
||||
#-IMAGE_COMPRESS_RATIO=80
|
||||
#- MAX_IMAGE_PIXEL=1024
|
||||
#- IMAGE_COMPRESS_RATIO=80
|
||||
#---------------------------------------------------------------
|
||||
# ==== NOTIFICATION TRAY AFTER READ DAYS BEFORE REMOVE =====
|
||||
# Number of days after a notification is read before we remove it.
|
||||
@@ -561,7 +569,7 @@ services:
|
||||
# At which interval does the background task sync.
|
||||
# The format must be as specified in:
|
||||
# https://bunkat.github.io/later/parsers.html#text
|
||||
#- LDAP_BACKGROUND_SYNC_INTERVAL='every 1 hour'
|
||||
#- LDAP_BACKGROUND_SYNC_INTERVAL=every 1 hour
|
||||
#
|
||||
#- LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED=false
|
||||
#
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
# WeKan Helm Charts
|
||||
|
||||
## Webpage
|
||||
|
||||
https://wekan.github.io/charts/
|
||||
|
||||
## ArtifactHub
|
||||
|
||||
https://artifacthub.io/packages/helm/wekan/wekan
|
||||
|
||||
## Code
|
||||
|
||||
https://github.com/wekan/charts/tree/main/wekan
|
||||
|
||||
## Issues
|
||||
|
||||
https://github.com/wekan/charts/issues
|
||||
|
||||
## Pull Requests
|
||||
|
||||
https://github.com/wekan/charts/pulls
|
||||
|
||||
## Releases
|
||||
|
||||
https://github.com/wekan/charts/tree/gh-pages
|
||||
@@ -1,22 +0,0 @@
|
||||
# Patterns to ignore when building packages.
|
||||
# This supports shell glob matching, relative path matching, and
|
||||
# negation (prefixed with !). Only one pattern per line.
|
||||
.DS_Store
|
||||
# Common VCS dirs
|
||||
.git/
|
||||
.gitignore
|
||||
.bzr/
|
||||
.bzrignore
|
||||
.hg/
|
||||
.hgignore
|
||||
.svn/
|
||||
# Common backup files
|
||||
*.swp
|
||||
*.bak
|
||||
*.tmp
|
||||
*~
|
||||
# Various IDEs
|
||||
.project
|
||||
.idea/
|
||||
*.tmproj
|
||||
OWNERS
|
||||
@@ -1,6 +0,0 @@
|
||||
dependencies:
|
||||
- name: mongodb
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 10.0.5
|
||||
digest: sha256:f6520f39b687cb52574ec2fda514662ce913665c0fd2391b68fdb4d2eb059497
|
||||
generated: "2021-07-27T22:16:39.945592552+02:00"
|
||||
@@ -1,24 +0,0 @@
|
||||
apiVersion: v2
|
||||
appVersion: "6.63"
|
||||
dependencies:
|
||||
- condition: mongodb.enabled
|
||||
name: mongodb
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 10.0.x
|
||||
description: Open Source kanban
|
||||
home: https://wekan.github.io
|
||||
icon: https://wekan.github.io/wekan-logo.svg
|
||||
keywords:
|
||||
- kanban
|
||||
maintainers:
|
||||
- email: github@randall.cc
|
||||
name: technotaff
|
||||
- email: jiangyt.cn@gmail.com
|
||||
name: jiangytcn
|
||||
- email: varac@varac.net
|
||||
name: varac
|
||||
name: wekan
|
||||
sources:
|
||||
- https://github.com/wekan/wekan
|
||||
type: application
|
||||
version: 1.1.1
|
||||
@@ -1,4 +0,0 @@
|
||||
approvers:
|
||||
- technotaff
|
||||
reviewers:
|
||||
- technotaff
|
||||
@@ -1,102 +0,0 @@
|
||||
# WeKan ® - Open Source kanban
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
To install the chart with the release name `my-release`:
|
||||
|
||||
```bash
|
||||
helm repo add wekan https://wekan.github.io/charts
|
||||
helm install my-release wekan/wekan
|
||||
```
|
||||
|
||||
These commands deploy Wekan on the Kubernetes cluster in the default configuration.
|
||||
|
||||
Tip: List all releases using `helm list`
|
||||
|
||||
For all available values see `helm show values wekan/wekan`.
|
||||
|
||||
## Uninstalling the Chart
|
||||
|
||||
To uninstall/delete the my-release deployment:
|
||||
|
||||
```bash
|
||||
helm delete my-release
|
||||
```
|
||||
|
||||
The command removes all the Kubernetes components associated with the chart and
|
||||
deletes the release.
|
||||
|
||||
## Features
|
||||
|
||||
* Uses a MongoDB replica set by default - this allows fault-tolerant
|
||||
and scalable MongoDB deployment (or just set the replicas to 1 for
|
||||
a single server install)
|
||||
|
||||
* Optional Horizontal Pod Autoscaler (HPA), so that your Wekan pods
|
||||
will scale automatically with increased CPU load.
|
||||
|
||||
## The configurable values (values.yaml)
|
||||
|
||||
Scaling Wekan:
|
||||
|
||||
```yaml
|
||||
## Configuration for wekan component
|
||||
##
|
||||
|
||||
replicaCount: 1
|
||||
```
|
||||
|
||||
**replicaCount** will set the initial number of replicas for the Wekan pod
|
||||
(and container)
|
||||
|
||||
```yaml
|
||||
## Configure an horizontal pod autoscaler
|
||||
##
|
||||
autoscaling:
|
||||
enabled: true
|
||||
config:
|
||||
minReplicas: 1
|
||||
maxReplicas: 16
|
||||
## Note: when setting this, a `resources.request.cpu` is required. You
|
||||
## likely want to set it to `1` or some lower value.
|
||||
##
|
||||
targetCPUUtilizationPercentage: 80
|
||||
```
|
||||
|
||||
This section (if *enabled* is set to **true**) will enable the Kubernetes
|
||||
Horizontal Pod Autoscaler (HPA).
|
||||
|
||||
**minReplicas:** this is the minimum number of pods to scale down to
|
||||
(We recommend setting this to the same value as **replicaCount**).
|
||||
|
||||
**maxReplicas:** this is the maximum number of pods to scale up to.
|
||||
|
||||
**targetCPUUtilizationPercentage:** This is the CPU at which the HPA will
|
||||
scale-out the number of Wekan pods.
|
||||
|
||||
```yaml
|
||||
mongodb-replicaset:
|
||||
enabled: true
|
||||
replicas: 3
|
||||
replicaSetName: rs0
|
||||
securityContext:
|
||||
runAsUser: 1000
|
||||
fsGroup: 1000
|
||||
runAsNonRoot: true
|
||||
```
|
||||
|
||||
This section controls the scale of the MongoDB redundant Replica Set.
|
||||
|
||||
**replicas:** This is the number of MongoDB instances to include in the set.
|
||||
You can set this to 1 for a single server - this will still allow you to
|
||||
scale-up later with a helm upgrade.
|
||||
|
||||
### Install OCP route
|
||||
|
||||
If you use this chart to deploy Wekan on an OCP cluster, you can create route
|
||||
instead of ingress with following command:
|
||||
|
||||
```bash
|
||||
helm template --set route.enabled=true,ingress.enabled=false values.yaml . | \
|
||||
oc apply -f-
|
||||
```
|
||||
@@ -1,19 +0,0 @@
|
||||
1. Get the application URL by running these commands:
|
||||
{{- if .Values.ingress.enabled }}
|
||||
{{- range .Values.ingress.hosts }}
|
||||
http{{ if $.Values.ingress.tls }}s{{ end }}://{{ . }}{{ $.Values.ingress.path }}
|
||||
{{- end }}
|
||||
{{- else if contains "NodePort" .Values.service.type }}
|
||||
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "wekan.fullname" . }})
|
||||
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
|
||||
echo http://$NODE_IP:$NODE_PORT
|
||||
{{- else if contains "LoadBalancer" .Values.service.type }}
|
||||
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
|
||||
You can watch the status of by running 'kubectl get svc -w {{ template "wekan.fullname" . }}'
|
||||
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "wekan.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
|
||||
echo http://$SERVICE_IP:{{ .Values.service.port }}
|
||||
{{- else if contains "ClusterIP" .Values.service.type }}
|
||||
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "wekan.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
|
||||
echo "Visit http://127.0.0.1:8080 to use your application"
|
||||
kubectl port-forward $POD_NAME 8080:8080
|
||||
{{- end }}
|
||||
@@ -1,88 +0,0 @@
|
||||
{{/* vim: set filetype=mustache: */}}
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "wekan.name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "wekan.fullname" -}}
|
||||
{{- if .Values.fullnameOverride -}}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride -}}
|
||||
{{- if contains $name .Release.Name -}}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified name for the wekan data app.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
*/}}
|
||||
{{- define "wekan.localdata.fullname" -}}
|
||||
{{- if .Values.localdata.fullnameOverride -}}
|
||||
{{- .Values.localdata.fullnameOverride | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride -}}
|
||||
{{- if contains $name .Release.Name -}}
|
||||
{{- printf "%s-localdata" .Release.Name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- printf "%s-%s-localdata" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "wekan.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create the name of the service account to use for the api component
|
||||
*/}}
|
||||
{{- define "wekan.serviceAccountName" -}}
|
||||
{{- if .Values.serviceAccounts.create -}}
|
||||
{{ default (include "wekan.fullname" .) .Values.serviceAccounts.name }}
|
||||
{{- else -}}
|
||||
{{ default "default" .Values.serviceAccounts.name }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified mongodb-replicaset name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
*/}}
|
||||
{{- define "wekan.mongodb.svcname" -}}
|
||||
{{- $name := default "mongodb" (index .Values "mongodb" "nameOverride") -}}
|
||||
{{- if eq .Values.mongodb.architecture "replicaset" }}
|
||||
{{- printf "%s-%s-headless" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create the MongoDB URL. If MongoDB is installed as part of this chart, use k8s service discovery,
|
||||
else use user-provided URL.
|
||||
*/}}
|
||||
{{- define "mongodb.url" -}}
|
||||
{{- if (index .Values "mongodb" "enabled") -}}
|
||||
{{- $count := (int (index .Values "mongodb" "replicaCount")) -}}
|
||||
{{- $release := .Release.Name -}}
|
||||
{{- $replicaSetName := (index .Values "mongodb" "replicaSetName") -}}
|
||||
{{- $mongodbSvcName := include "wekan.mongodb.svcname" . -}}
|
||||
mongodb://{{- range $v := until $count }}{{ $release }}-mongodb-{{ $v }}.{{ $mongodbSvcName }}:27017{{ if ne $v (sub $count 1) }},{{- end -}}{{- end -}}/{{ .Values.dbname }}?replicaSet={{ $replicaSetName }}
|
||||
{{- else -}}
|
||||
{{- index .Values "mongodb" "url" -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
@@ -1,79 +0,0 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ template "wekan.fullname" . }}
|
||||
labels:
|
||||
app: {{ template "wekan.name" . }}
|
||||
chart: {{ template "wekan.chart" . }}
|
||||
component: wekan
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
{{- if .Values.deploymentLabels }}
|
||||
{{- toYaml .Values.deploymentLabels | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
replicas: {{ .Values.replicaCount }}
|
||||
selector:
|
||||
matchLabels:
|
||||
app: {{ template "wekan.name" . }}
|
||||
component: wekan
|
||||
release: {{ .Release.Name }}
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
labels:
|
||||
app: {{ template "wekan.name" . }}
|
||||
component: wekan
|
||||
release: {{ .Release.Name }}
|
||||
{{- if .Values.podLabels }}
|
||||
{{- toYaml .Values.podLabels | nindent 8 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
serviceAccountName: {{ template "wekan.serviceAccountName" . }}
|
||||
containers:
|
||||
- name: {{ .Chart.Name }}
|
||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
terminationMessagePolicy: FallbackToLogsOnError
|
||||
ports:
|
||||
- name: http
|
||||
containerPort: 8080
|
||||
env:
|
||||
- name: ROOT_URL
|
||||
value: {{ .Values.root_url | default "https://wekan.local" | quote }}
|
||||
- name: MONGO_URL
|
||||
value: "{{ template "mongodb.url" . }}"
|
||||
{{- range $key := .Values.env }}
|
||||
{{- if .value }}
|
||||
- name: {{ .name }}
|
||||
value: {{ .value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- range $key := .Values.secretEnv }}
|
||||
{{- if .value }}
|
||||
- name: {{ .name }}
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ template "wekan.fullname" $ }}-secret
|
||||
key: {{ .name }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: 8080
|
||||
initialDelaySeconds: 60
|
||||
resources:
|
||||
{{ toYaml .Values.resources | indent 12 }}
|
||||
{{- with .Values.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{ toYaml . | indent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.affinity }}
|
||||
affinity:
|
||||
{{ toYaml .Values.affinity | indent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.tolerations }}
|
||||
tolerations:
|
||||
{{ toYaml . | indent 8 }}
|
||||
{{- end }}
|
||||
@@ -1,18 +0,0 @@
|
||||
{{- if .Values.autoscaling.enabled -}}
|
||||
apiVersion: autoscaling/v1
|
||||
kind: HorizontalPodAutoscaler
|
||||
metadata:
|
||||
name: {{ template "wekan.fullname" . }}
|
||||
labels:
|
||||
app: {{ template "wekan.name" . }}
|
||||
chart: {{ template "wekan.chart" . }}
|
||||
component: wekan
|
||||
heritage: {{ .Release.Service }}
|
||||
release: {{ .Release.Name }}
|
||||
spec:
|
||||
scaleTargetRef:
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
name: {{ template "wekan.fullname" . }}
|
||||
{{ toYaml .Values.autoscaling.config | indent 2 }}
|
||||
{{- end -}}
|
||||
@@ -1,44 +0,0 @@
|
||||
{{- if .Values.ingress.enabled -}}
|
||||
{{- $fullName := include "wekan.fullname" . -}}
|
||||
{{- $servicePort := .Values.service.port -}}
|
||||
{{- $ingressPath := .Values.ingress.path -}}
|
||||
{{- $ingressPathType := .Values.ingress.pathtype -}}
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: {{ $fullName }}
|
||||
labels:
|
||||
app: {{ template "wekan.name" . }}
|
||||
chart: {{ template "wekan.chart" . }}
|
||||
component: wekan
|
||||
heritage: {{ .Release.Service }}
|
||||
release: {{ .Release.Name }}
|
||||
{{- with .Values.ingress.annotations }}
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.ingress.tls }}
|
||||
tls:
|
||||
{{- range .Values.ingress.tls }}
|
||||
- hosts:
|
||||
{{- range .hosts }}
|
||||
- {{ . }}
|
||||
{{- end }}
|
||||
secretName: {{ .secretName }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
rules:
|
||||
{{- range .Values.ingress.hosts }}
|
||||
- host: {{ . }}
|
||||
http:
|
||||
paths:
|
||||
- path: {{ $ingressPath }}
|
||||
pathType: {{ $ingressPathType }}
|
||||
backend:
|
||||
service:
|
||||
name: {{ $fullName }}
|
||||
port:
|
||||
number: 8080
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -1,23 +0,0 @@
|
||||
{{- if .Values.route.enabled -}}
|
||||
{{- $fullName := include "wekan.fullname" . -}}
|
||||
apiVersion: route.openshift.io/v1
|
||||
kind: Route
|
||||
metadata:
|
||||
annotations:
|
||||
haproxy.router.openshift.io/timeout: 4m
|
||||
openshift.io/host.generated: "true"
|
||||
labels:
|
||||
app: {{ template "wekan.name" . }}
|
||||
service: {{ template "wekan.name" . }}
|
||||
name: {{ template "wekan.name" . }}
|
||||
spec:
|
||||
port:
|
||||
targetPort: http
|
||||
tls:
|
||||
termination: edge
|
||||
to:
|
||||
kind: Service
|
||||
name: {{ template "wekan.name" . }}
|
||||
weight: 100
|
||||
wildcardPolicy: None
|
||||
{{- end }}
|
||||
@@ -1,11 +0,0 @@
|
||||
{{ if .Values.secretEnv }}
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: {{ template "wekan.fullname" $ }}-secret
|
||||
type: Opaque
|
||||
data:
|
||||
{{- range $key := .Values.secretEnv }}
|
||||
{{ $key.name }}: {{ $key.value | b64enc }}
|
||||
{{- end}}
|
||||
{{ end }}
|
||||
@@ -1,25 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
{{- if .Values.service.annotations }}
|
||||
annotations:
|
||||
{{ toYaml .Values.service.annotations | indent 4 }}
|
||||
{{- end }}
|
||||
name: {{ template "wekan.fullname" . }}
|
||||
labels:
|
||||
app: {{ template "wekan.name" . }}
|
||||
chart: {{ template "wekan.chart" . }}
|
||||
component: wekan
|
||||
heritage: {{ .Release.Service }}
|
||||
release: {{ .Release.Name }}
|
||||
spec:
|
||||
type: {{ .Values.service.type }}
|
||||
ports:
|
||||
- port: {{ .Values.service.port }}
|
||||
targetPort: http
|
||||
protocol: TCP
|
||||
name: http
|
||||
selector:
|
||||
app: {{ template "wekan.name" . }}
|
||||
component: wekan
|
||||
release: {{ .Release.Name }}
|
||||
@@ -1,16 +0,0 @@
|
||||
{{- if .Values.serviceAccounts.create }}
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
{{- if .Values.serviceAccounts.annotations }}
|
||||
annotations:
|
||||
{{ .Values.serviceAccounts.annotations | indent 4}}
|
||||
{{- end }}
|
||||
labels:
|
||||
app: {{ template "wekan.name" . }}
|
||||
chart: {{ template "wekan.chart" . }}
|
||||
component: wekan
|
||||
heritage: {{ .Release.Service }}
|
||||
release: {{ .Release.Name }}
|
||||
name: {{ template "wekan.serviceAccountName" . }}
|
||||
{{- end }}
|
||||
@@ -1,19 +0,0 @@
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
name: "{{ template "wekan.fullname" . }}-test-http"
|
||||
labels:
|
||||
app: {{ template "wekan.name" . }}
|
||||
chart: {{ template "wekan.chart" . }}
|
||||
component: wekan
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
annotations:
|
||||
"helm.sh/hook": test
|
||||
spec:
|
||||
containers:
|
||||
- name: wget
|
||||
image: busybox
|
||||
command: ['wget', '-O', '/dev/stdout']
|
||||
args: ['{{ template "wekan.fullname" . }}:{{ .Values.service.port }}']
|
||||
restartPolicy: Never
|
||||
@@ -1,123 +0,0 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# Wekan:
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
## Define serviceAccount names to create or use. Defaults to component's fully
|
||||
## qualified name.
|
||||
##
|
||||
serviceAccounts:
|
||||
create: true
|
||||
name: ""
|
||||
annotations: ""
|
||||
|
||||
## Wekan image configuration
|
||||
##
|
||||
image:
|
||||
repository: quay.io/wekan/wekan
|
||||
tag: v6.63
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
## Configuration for wekan component
|
||||
##
|
||||
|
||||
replicaCount: 1
|
||||
dbname: wekan
|
||||
|
||||
## Specify additional environmental variables for the Deployment
|
||||
##
|
||||
env:
|
||||
- name: ""
|
||||
value: ""
|
||||
|
||||
## Specify additional secret environmental variables for the
|
||||
## Deployment. These can e.g. be provided by a Secret and allow
|
||||
## to store passwords separately
|
||||
##
|
||||
secretEnv: {}
|
||||
# - name: ""
|
||||
# value: ""
|
||||
|
||||
service:
|
||||
type: NodePort
|
||||
port: 8080
|
||||
annotations: {}
|
||||
# prometheus.io/scrape: "true"
|
||||
# prometheus.io/port: "8000"
|
||||
# prometheus.io/path: "/_/monitoring/metrics"
|
||||
|
||||
## Comma-separated string of allowed virtual hosts for external access.
|
||||
## This should match the ingress hosts
|
||||
##
|
||||
endpoint: wekan.local
|
||||
|
||||
ingress:
|
||||
enabled: true
|
||||
annotations: {}
|
||||
# kubernetes.io/ingress.class: nginx
|
||||
# kubernetes.io/tls-acme: "true"
|
||||
path: /*
|
||||
pathtype: ImplementationSpecific
|
||||
# This must match 'endpoint', unless your client supports different
|
||||
# hostnames.
|
||||
hosts: [ wekan.local ]
|
||||
# - wekan.local
|
||||
tls: []
|
||||
# - secretName: wekan-example-tls
|
||||
# hosts:
|
||||
# - wekan-example.local
|
||||
|
||||
route:
|
||||
enabled: false
|
||||
|
||||
resources:
|
||||
requests:
|
||||
memory: 128Mi
|
||||
cpu: 300m
|
||||
limits:
|
||||
memory: 1Gi
|
||||
cpu: 500m
|
||||
|
||||
## Node labels for pod assignment
|
||||
## ref: https://kubernetes.io/docs/user-guide/node-selection/
|
||||
##
|
||||
nodeSelector: {}
|
||||
|
||||
## Tolerations for pod assignment
|
||||
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
||||
##
|
||||
tolerations: []
|
||||
|
||||
## Affinity for pod assignment
|
||||
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
|
||||
##
|
||||
affinity: {}
|
||||
|
||||
## Configure an horizontal pod autoscaler
|
||||
##
|
||||
autoscaling:
|
||||
enabled: true
|
||||
config:
|
||||
minReplicas: 1
|
||||
maxReplicas: 16
|
||||
## Note: when setting this, a `resources.request.cpu` is required. You
|
||||
## likely want to set it to `1` or some lower value.
|
||||
##
|
||||
targetCPUUtilizationPercentage: 80
|
||||
|
||||
# Optional custom labels for the deployment resource.
|
||||
deploymentLabels: {}
|
||||
|
||||
# Optional custom labels for the pods created by the deployment.
|
||||
podLabels: {}
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# MongoDB:
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
mongodb:
|
||||
enabled: true
|
||||
architecture: replicaset
|
||||
replicaCount: 3
|
||||
replicaSetName: rs0
|
||||
auth:
|
||||
enabled: false
|
||||
+1209
-1200
File diff suppressed because it is too large.
Load diff
+1209
-1200
File diff suppressed because it is too large.
Load diff
+1209
-1200
File diff suppressed because it is too large.
Load diff
+1209
-1200
File diff suppressed because it is too large.
Load diff
+1209
-1200
File diff suppressed because it is too large.
Load diff
+1209
-1200
File diff suppressed because it is too large.
Load diff
+1209
-1200
File diff suppressed because it is too large.
Load diff
+1209
-1200
File diff suppressed because it is too large.
Load diff
+1209
-1200
File diff suppressed because it is too large.
Load diff
+1209
-1200
File diff suppressed because it is too large.
Load diff
+1209
-1200
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
+1209
-1200
File diff suppressed because it is too large.
Load diff
+1209
-1200
File diff suppressed because it is too large.
Load diff
+1209
-1200
File diff suppressed because it is too large.
Load diff
+1209
-1200
File diff suppressed because it is too large.
Load diff
+1209
-1200
File diff suppressed because it is too large.
Load diff
+1209
-1200
File diff suppressed because it is too large.
Load diff
+1209
-1200
File diff suppressed because it is too large.
Load diff
+1209
-1200
File diff suppressed because it is too large.
Load diff
+1209
-1200
File diff suppressed because it is too large.
Load diff
+1209
-1147
File diff suppressed because it is too large.
Load diff
+1209
-1200
File diff suppressed because it is too large.
Load diff
+1209
-1200
File diff suppressed because it is too large.
Load diff
+1209
-1200
File diff suppressed because it is too large.
Load diff
+1209
-1200
File diff suppressed because it is too large.
Load diff
+1209
-1200
File diff suppressed because it is too large.
Load diff
+1209
-1200
File diff suppressed because it is too large.
Load diff
@@ -134,7 +134,7 @@
|
||||
"attachmentDeletePopup-title": "Delete Attachment?",
|
||||
"attachments": "Attachments",
|
||||
"auto-watch": "Automatically watch boards when they are created",
|
||||
"avatar-too-big": "The avatar is too large (520KB max)",
|
||||
"avatar-too-big": "The avatar is too large (__size__ max)",
|
||||
"back": "Back",
|
||||
"board-change-color": "Change color",
|
||||
"show-at-all-boards-page" : "Show at All Boards page",
|
||||
@@ -404,6 +404,7 @@
|
||||
"filter-overdue": "Overdue",
|
||||
"filter-due-today": "Due today",
|
||||
"filter-due-this-week": "Due this week",
|
||||
"filter-due-next-week": "Due next week",
|
||||
"filter-due-tomorrow": "Due tomorrow",
|
||||
"list-filter-label": "Filter List by Title",
|
||||
"filter-clear": "Clear filter",
|
||||
@@ -545,7 +546,6 @@
|
||||
"restore": "Restore",
|
||||
"rescue-card-description": "Show rescue dialogue before closing for unsaved card descriptions",
|
||||
"rescue-card-description-dialogue": "Overwrite current card description with your changes?",
|
||||
"card-settings":"Card Settings",
|
||||
"save": "Save",
|
||||
"search": "Search",
|
||||
"rules": "Rules",
|
||||
@@ -755,7 +755,6 @@
|
||||
"r-removed-from": "Removed from",
|
||||
"r-the-board": "the board",
|
||||
"r-list": "list",
|
||||
"list": "list",
|
||||
"set-filter": "Set Filter",
|
||||
"r-moved-to": "Moved to",
|
||||
"r-moved-from": "Moved from",
|
||||
@@ -1177,11 +1176,14 @@
|
||||
"attachmentActionsPopup-title": "Attachment Actions",
|
||||
"attachment-move-storage-fs": "Move attachment to filesystem",
|
||||
"attachment-move-storage-gridfs": "Move attachment to GridFS",
|
||||
"attachment-move-storage-s3": "Move attachment to S3",
|
||||
"attachment-move": "Move Attachment",
|
||||
"move-all-attachments-to-fs": "Move all attachments to filesystem",
|
||||
"move-all-attachments-to-gridfs": "Move all attachments to GridFS",
|
||||
"move-all-attachments-to-s3": "Move all attachments to S3",
|
||||
"move-all-attachments-of-board-to-fs": "Move all attachments of board to filesystem",
|
||||
"move-all-attachments-of-board-to-gridfs": "Move all attachments of board to GridFS",
|
||||
"move-all-attachments-of-board-to-s3": "Move all attachments of board to S3",
|
||||
"path": "Path",
|
||||
"version-name": "Version-Name",
|
||||
"size": "Size",
|
||||
@@ -1199,5 +1201,10 @@
|
||||
"forgot-password": "Forgot password",
|
||||
"minicardDetailsActionsPopup-title": "Card Details",
|
||||
"Mongo_sessions_count": "Mongo sessions count",
|
||||
"change-visibility": "Change Visibility"
|
||||
"change-visibility": "Change Visibility",
|
||||
"max-upload-filesize": "Max upload filesize in bytes:",
|
||||
"allowed-upload-filetypes": "Allowed upload filetypes:",
|
||||
"max-avatar-filesize": "Max avatar filesize in bytes:",
|
||||
"allowed-avatar-filetypes": "Allowed avatar filetypes:",
|
||||
"invalid-file": "If filename is invalid, upload or rename is cancelled."
|
||||
}
|
||||
+1209
-1200
File diff suppressed because it is too large.
Load diff
+1209
-1200
File diff suppressed because it is too large.
Load diff
+1209
-1200
File diff suppressed because it is too large.
Load diff
+1209
-1200
File diff suppressed because it is too large.
Load diff
+1209
-1200
File diff suppressed because it is too large.
Load diff
+1209
-1200
File diff suppressed because it is too large.
Load diff
+1209
-1200
File diff suppressed because it is too large.
Load diff
+1209
-1200
File diff suppressed because it is too large.
Load diff
Loaded 100 of 360 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user