Compare commits

...
72 Commits
Author SHA1 Message Date
Lauri Ojansivu 38a8fcb69a v7.30 2024-01-28 13:33:17 +02:00
Lauri Ojansivu 64592d734c Back to MongoDB 6.
Thanks to xet7 1
2024-01-28 13:17:44 +02:00
Lauri Ojansivu abddc8a864 v7.29 2024-01-27 22:50:39 +02:00
Lauri Ojansivu 09b45aca4f Updated ChangeLog. 2024-01-27 20:44:06 +02:00
Lauri Ojansivu f624211620 Upgraded to MongoDB 7.0.5 at Snap Candidate and Docker.
Thanks to MongoDB developers !
2024-01-27 20:39:29 +02:00
Lauri Ojansivu c19cde53d6 Updated ChangeLog. 2024-01-27 20:39:07 +02:00
Lauri Ojansivu cf8694fcd1 Updated translations. 2024-01-27 20:28:44 +02:00
Lauri Ojansivu 28d640afb4 Updated to Meteor 2.14.1-beta.0 .
Thanks to Meteor developers !
2024-01-25 12:28:05 +02:00
Lauri Ojansivu 7b432078a0 Updated ChangeLog. 2024-01-23 23:36:19 +02:00
Lauri Ojansivu 19703fed31 Removed markdown-it-mathjax3.
Fixes #5117

Thanks to Dexus and xet7 !
2024-01-23 23:32:46 +02:00
Lauri Ojansivu b01e127cc3 v7.28 2024-01-23 00:51:09 +02:00
Lauri Ojansivu f0c2d81352 Updated ChangeLog. 2024-01-23 00:44:30 +02:00
Lauri Ojansivu 67896adefc Updated dependencies.
Thanks to developers of dependencies !
2024-01-23 00:42:54 +02:00
Lauri Ojansivu d1b29b6e61 Updated translations. 2024-01-23 00:36:55 +02:00
Lauri Ojansivu ef93aad659 Updated ChangeLog. 2024-01-23 00:35:31 +02:00
Lauri Ojansivu 616b433409 Updated ChangeLog. 2024-01-23 00:26:39 +02:00
Lauri Ojansivu 515d96eef0 Merge pull request #5271 from wekan/dependabot/github_actions/actions/cache-4
Bump actions/cache from 3 to 4
2024-01-23 05:46:23 +08:00
Lauri Ojansivu 85963cc58d Merge pull request #5270 from wekan/dependabot/github_actions/actions/dependency-review-action-4
Bump actions/dependency-review-action from 3 to 4
2024-01-23 05:45:56 +08:00
Lauri Ojansivu e15611a0ea Merge pull request #5265 from gustavengstrom/master
Added archive option to  of Wekan API
2024-01-23 05:45:30 +08:00
dependabot[bot] f89a2ab91d Bump actions/cache from 3 to 4
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-22 21:00:40 +00:00
dependabot[bot] 18d3fb75ac Bump actions/dependency-review-action from 3 to 4
Bumps [actions/dependency-review-action](https://github.com/actions/dependency-review-action) from 3 to 4.
- [Release notes](https://github.com/actions/dependency-review-action/releases)
- [Commits](https://github.com/actions/dependency-review-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/dependency-review-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-22 21:00:32 +00:00
Gustav Engström f5bc2b08f9 Added archive option to of Wekan API 2024-01-15 12:32:24 +01:00
Lauri Ojansivu 80e5916394 Merge pull request #5263 from wekan/dependabot/github_actions/docker/metadata-action-5.5.0
Bump docker/metadata-action from 5.4.0 to 5.5.0
2024-01-08 23:50:02 +02:00
dependabot[bot] 48c47f9911 Bump docker/metadata-action from 5.4.0 to 5.5.0
Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 5.4.0 to 5.5.0.
- [Release notes](https://github.com/docker/metadata-action/releases)
- [Commits](https://github.com/docker/metadata-action/compare/9dc751fe249ad99385a2583ee0d084c400eee04e...dbef88086f6cef02e264edb7dbf63250c17cef6c)

---
updated-dependencies:
- dependency-name: docker/metadata-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-08 20:41:32 +00:00
Lauri Ojansivu c3f5849f11 Updated translations. 2024-01-02 23:02:29 +02:00
Lauri Ojansivu c73346eda0 v7.27 2024-01-02 14:59:38 +02:00
Lauri Ojansivu d976455a12 Updated ChangeLog. 2024-01-02 14:54:39 +02:00
Lauri Ojansivu f10f80f655 Fix missing maximize card.
Thanks to xet7 !
2024-01-02 14:52:13 +02:00
Lauri Ojansivu b680d03da2 v7.26 2024-01-02 13:24:21 +02:00
Lauri Ojansivu 9590fec3fc Updated translations. 2024-01-02 13:18:28 +02:00
Lauri Ojansivu e9fc5537e4 Updated ChangeLog. 2024-01-02 13:16:58 +02:00
Lauri Ojansivu 8ae47cb2f8 Fix some public board buttons.
Thanks to xet7 !
2024-01-02 13:14:24 +02:00
Lauri Ojansivu 2fefaf1b5b Updated translations. 2024-01-02 12:30:58 +02:00
Lauri Ojansivu 5554cd7567 v7.25 2023-12-30 22:32:29 +02:00
Lauri Ojansivu 442ea7595a Updated ChangeLog. 2023-12-30 21:29:50 +02:00
Lauri Ojansivu 0e6d83c085 Updated dependencies.
Thanks to developers of dependencies !
2023-12-30 21:27:50 +02:00
Lauri Ojansivu 3199da4b3d Updated ChangeLog. 2023-12-30 20:22:11 +02:00
Lauri Ojansivu 23c2a2bc22 Translations: Added German (Germany) (de_DE) and Odia (India) (or_IN).
Thanks to translators !
2023-12-30 20:19:12 +02:00
Lauri Ojansivu 554bec4f1e Merge pull request #5252 from Lewiscowles1986/fix/export-html-popup
Fix: export html popup
2023-12-30 15:59:01 +02:00
Lewis Cowles 4d6e6a85e0 feat: download webfonts as well
Prior to this I was manually saving the fonts, and I don't remember documenting either.

Now there should be no documentation needed.
2023-12-30 06:41:10 +00:00
Lewis Cowles fe887b7b5e fix: export HTML currently exports JS popups 2023-12-30 06:26:53 +00:00
Lauri Ojansivu d954b97aac Updated ChangeLog. 2023-12-19 01:28:37 +02:00
Lauri Ojansivu 374e673107 Snap: Added MongoDB 3 binaries for migrating to MongoDB 6. Part 3.
Thanks to xet7 !
2023-12-19 01:27:05 +02:00
Lauri Ojansivu 68c0d3fbe5 Updated ChangeLog. 2023-12-19 01:22:30 +02:00
Lauri Ojansivu 335f0451e0 Snap: Added MongoDB 3 binaries for migrating to MongoDB 6. Part 2.
Thanks to xet7 !
2023-12-19 01:20:31 +02:00
Lauri Ojansivu b5a071f51e Updated ChangeLog. 2023-12-19 01:12:29 +02:00
Lauri Ojansivu 805458a763 Snap: Added MongoDB 3 binaries for migrating to MongoDB 6.
Thanks to xet7 !
2023-12-19 01:09:15 +02:00
Lauri Ojansivu 4f8e711a5f Updated ChangeLog. 2023-12-19 00:51:37 +02:00
Lauri Ojansivu 06397e9e11 Updated percolate:synced-cron.
Thanks to developers of percolate:synced-cron !
2023-12-19 00:44:57 +02:00
Lauri Ojansivu 94be762f68 Merge pull request #5245 from wekan/dependabot/github_actions/actions/download-artifact-4
Bump actions/download-artifact from 3 to 4
2023-12-19 00:42:32 +02:00
Lauri Ojansivu ccb48d0711 Merge pull request #5244 from wekan/dependabot/github_actions/docker/metadata-action-5.4.0
Bump docker/metadata-action from 5.3.0 to 5.4.0
2023-12-19 00:42:06 +02:00
Lauri Ojansivu b6014ca992 Merge pull request #5243 from wekan/dependabot/github_actions/actions/upload-artifact-4
Bump actions/upload-artifact from 3 to 4
2023-12-19 00:41:32 +02:00
Lauri Ojansivu 02c5f2e3cf Updated ChangeLog. 2023-12-19 00:33:38 +02:00
Lauri Ojansivu 84a228fc1a Snap: Organized file locations.
Thanks to xet7 !
2023-12-19 00:30:21 +02:00
dependabot[bot] 356fddc182 Bump actions/download-artifact from 3 to 4
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-18 20:11:05 +00:00
dependabot[bot] c4853b9aa7 Bump docker/metadata-action from 5.3.0 to 5.4.0
Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 5.3.0 to 5.4.0.
- [Release notes](https://github.com/docker/metadata-action/releases)
- [Commits](https://github.com/docker/metadata-action/compare/31cebacef4805868f9ce9a0cb03ee36c32df2ac4...9dc751fe249ad99385a2583ee0d084c400eee04e)

---
updated-dependencies:
- dependency-name: docker/metadata-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-18 20:11:02 +00:00
dependabot[bot] d6cb460186 Bump actions/upload-artifact from 3 to 4
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-18 20:10:57 +00:00
Lauri Ojansivu a0f9b81113 v7.24 2023-12-17 14:10:52 +02:00
Lauri Ojansivu 15b9497a72 Updated ChangeLog. 2023-12-17 14:02:45 +02:00
Lauri Ojansivu 93be112a94 Azure AD B2C login using OAuth2. https://github.com/wekan/wekan/wiki/B2C
Thanks to snowsky and xet7 !

Fixes #5242
2023-12-17 13:54:55 +02:00
Lauri Ojansivu 5a9a5df448 Updated ChangeLog. 2023-12-13 15:56:28 +02:00
Lauri Ojansivu 75383fe477 Upgrade to Meteor 2.14 .
Thanks to Meteor developers !
2023-12-13 15:54:01 +02:00
Lauri Ojansivu 3f0109e810 v7.23 2023-12-11 23:44:57 +02:00
Lauri Ojansivu c21db857fb Updated ChangeLog. 2023-12-11 23:40:45 +02:00
Lauri Ojansivu e3a0a480ed Updated dependencies.
Thanks to developers of dependencies !
2023-12-11 23:39:08 +02:00
Lauri Ojansivu 3917d8c4a3 Updated ChangeLog. 2023-12-11 23:37:32 +02:00
Lauri Ojansivu 6a3b8a668b Upgraded to Meteor 2.14-rc.3 .
Thanks to Meteor developers !
2023-12-11 23:35:08 +02:00
Lauri Ojansivu edfa9783c3 Updated ChangeLog. 2023-12-07 14:54:40 +02:00
Lauri Ojansivu b4c9c1df9a Updated security.md about mitm.
Thanks to xet7 !
2023-12-07 14:52:20 +02:00
Lauri Ojansivu 85353d9f90 Merge pull request #5234 from wekan/dependabot/github_actions/docker/metadata-action-5.3.0
Bump docker/metadata-action from 5.0.0 to 5.3.0
2023-12-04 23:01:42 +02:00
dependabot[bot] 905f0316b6 Bump docker/metadata-action from 5.0.0 to 5.3.0
Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 5.0.0 to 5.3.0.
- [Release notes](https://github.com/docker/metadata-action/releases)
- [Commits](https://github.com/docker/metadata-action/compare/96383f45573cb7f253c731d3b3ab81c87ef81934...31cebacef4805868f9ce9a0cb03ee36c32df2ac4)

---
updated-dependencies:
- dependency-name: docker/metadata-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-04 20:52:10 +00:00
Lauri Ojansivu b3961609e1 Updated translations. 2023-12-04 18:39:11 +02:00
44 changed files with 3036 additions and 539 deletions

No files matched your search

+1
View File
@@ -54,6 +54,7 @@ ENV \
OAUTH2_ENABLED=false \
OAUTH2_CA_CERT="" \
OAUTH2_ADFS_ENABLED=false \
OAUTH2_B2C_ENABLED=false \
OAUTH2_LOGIN_STYLE=redirect \
OAUTH2_CLIENT_ID="" \
OAUTH2_SECRET="" \
+1 -1
View File
@@ -11,4 +11,4 @@ jobs:
- name: 'Checkout Repository'
uses: actions/checkout@v4
- name: 'Dependency Review'
uses: actions/dependency-review-action@v3
uses: actions/dependency-review-action@v4
+1 -1
View File
@@ -48,7 +48,7 @@ jobs:
# https://github.com/docker/metadata-action
- name: Extract Docker metadata
id: meta
uses: docker/metadata-action@96383f45573cb7f253c731d3b3ab81c87ef81934
uses: docker/metadata-action@dbef88086f6cef02e264edb7dbf63250c17cef6c
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
+5 -5
View File
@@ -95,7 +95,7 @@ jobs:
# CACHING
- name: Install Meteor
id: cache-meteor-install
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.meteor
key: v1-meteor-${{ hashFiles('.meteor/versions') }}
@@ -104,7 +104,7 @@ jobs:
- name: Cache NPM dependencies
id: cache-meteor-npm
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.npm
key: v1-npm-${{ hashFiles('package-lock.json') }}
@@ -113,7 +113,7 @@ jobs:
- name: Cache Meteor build
id: cache-meteor-build
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
.meteor/local/resolver-result-cache.json
@@ -136,7 +136,7 @@ jobs:
run: sh ./test-wekan.sh -cv
- name: Upload coverage
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: coverage-folder
path: .coverage/
@@ -150,7 +150,7 @@ jobs:
uses: actions/checkout@v4
- name: Download coverage
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: coverage-folder
path: .coverage/
+6 -6
View File
@@ -6,7 +6,7 @@
meteor-base@1.5.1
# Build system
ecmascript@0.16.8-beta2140.4
ecmascript@0.16.8
standard-minifier-js@2.8.1
mquandalle:jade
coffeescript@2.4.1!
@@ -20,11 +20,11 @@ cottz:publish-relations
dburles:collection-helpers
idmontie:migrations
easy:search
mongo@1.16.8-beta2140.4
mongo@1.16.8
mquandalle:collection-mutations
# Account system
accounts-password@2.4.0-beta2140.4
accounts-password@2.4.0
useraccounts:core
useraccounts:flow-routing
useraccounts:unstyled
@@ -42,7 +42,7 @@ jquery@3.0.0!
random@1.2.1
reactive-dict@1.3.1
session@1.2.1
tracker@1.3.2
tracker@1.3.3
underscore@1.0.13
arillo:flow-router-helpers
audit-argument-checks@1.0.7
@@ -83,14 +83,14 @@ matb33:collection-hooks
simple:json-routes
kadira:flow-router
spacebars
service-configuration@1.3.2-beta2140.4
service-configuration@1.3.2
communitypackages:picker
minifier-css@1.6.4
blaze
kadira:blaze-layout
peerlibrary:blaze-components
ejson@1.1.3
logging@1.3.3-beta2140.4
logging@1.3.3
wekan-fullcalendar
momentjs:moment@2.29.3
wekan-fontawesome
+1 -1
View File
@@ -1 +1 @@
METEOR@2.14-beta.4
METEOR@2.14.1-beta.0
+23 -23
View File
@@ -1,6 +1,6 @@
accounts-base@2.2.9-beta2140.4
accounts-oauth@1.4.3-beta2140.4
accounts-password@2.4.0-beta2140.4
accounts-base@2.2.9
accounts-oauth@1.4.3
accounts-password@2.4.0
aldeed:collection2@2.10.0
aldeed:collection2-core@1.2.0
aldeed:schema-deny@1.1.0
@@ -10,13 +10,13 @@ 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.5-beta2140.4
babel-compiler@7.10.5
babel-runtime@1.5.1
base64@1.0.12
binary-heap@1.0.11
blaze@2.7.1
blaze-tools@1.1.3
boilerplate-generator@1.7.2-beta2140.4
boilerplate-generator@1.7.2
caching-compiler@1.2.2
caching-html-compiler@1.2.1
callback-hook@1.5.1
@@ -29,22 +29,22 @@ dburles:collection-helpers@1.1.0
ddp@1.4.1
ddp-client@2.6.1
ddp-common@1.4.0
ddp-rate-limiter@1.2.1-beta2140.4
ddp-server@2.7.0-beta2140.4
ddp-rate-limiter@1.2.1
ddp-server@2.7.0
deps@1.0.12
diff-sequence@1.1.2
dynamic-import@0.7.3
easy:search@2.2.1
easysearch:components@2.2.2
easysearch:core@2.2.2
ecmascript@0.16.8-beta2140.4
ecmascript@0.16.8
ecmascript-runtime@0.8.1
ecmascript-runtime-client@0.12.1
ecmascript-runtime-server@0.11.0
ejson@1.1.3
email@2.2.5
es5-shim@4.8.0
fetch@0.1.4-beta2140.4
fetch@0.1.4
geojson-utils@1.0.11
hot-code-push@1.0.4
html-tools@1.1.3
@@ -60,10 +60,10 @@ kadira:flow-router@2.12.1
konecty:mongo-counter@0.0.5_3
lmieulet:meteor-coverage@1.1.4
localstorage@1.2.0
logging@1.3.3-beta2140.4
logging@1.3.3
matb33:collection-hooks@1.3.0
mdg:validation-error@0.5.1
meteor@1.11.4-beta2140.4
meteor@1.11.4
meteor-autosize@5.0.1
meteor-base@1.5.1
meteorhacks:aggregate@1.3.0
@@ -77,11 +77,11 @@ minifier-css@1.6.4
minifier-js@2.7.5
minifiers@1.1.8-faster-rebuild.0
minimongo@1.9.3
modern-browsers@0.1.10-beta2140.4
modules@0.20.0-beta2140.4
modern-browsers@0.1.10
modules@0.20.0
modules-runtime@0.13.1
momentjs:moment@2.29.3
mongo@1.16.8-beta2140.4
mongo@1.16.8
mongo-decimal@0.1.3
mongo-dev-server@1.1.0
mongo-id@1.0.8
@@ -94,8 +94,8 @@ 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.17.0-beta2140.4
oauth@2.2.1-beta2140.4
npm-mongo@4.17.2
oauth@2.2.1
oauth2@1.3.2
observe-sequence@1.0.21
ongoworks:speakingurl@1.1.0
@@ -111,19 +111,19 @@ peerlibrary:blaze-components@0.23.0
peerlibrary:computed-field@0.10.0
peerlibrary:data-lookup@0.3.0
peerlibrary:reactive-field@0.6.0
percolate:synced-cron@1.3.2
percolate:synced-cron@1.5.2
promise@0.12.2
raix:eventemitter@0.1.3
raix:handlebar-helpers@0.2.5
random@1.2.1
rate-limit@1.1.1
react-fast-refresh@0.2.8-beta2140.4
react-fast-refresh@0.2.8
reactive-dict@1.3.1
reactive-var@1.0.12
reload@1.3.1
retry@1.1.0
routepolicy@1.1.1
service-configuration@1.3.2-beta2140.4
service-configuration@1.3.2
session@1.2.1
sha@1.0.9
shell-server@0.5.0
@@ -132,7 +132,7 @@ simple:json-routes@2.3.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.2-beta2140.4
socket-stream-client@0.5.2
spacebars@1.4.1
spacebars-compiler@1.3.1
standard-minifier-js@2.8.1
@@ -141,15 +141,15 @@ templating@1.4.1
templating-compiler@1.4.1
templating-runtime@1.5.0
templating-tools@1.2.2
tracker@1.3.2
typescript@4.9.5-beta2140.4
tracker@1.3.3
typescript@4.9.5
ui@1.0.13
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.5
webapp@1.13.6
webapp-hashing@1.1.1
wekan-accounts-cas@0.1.0
wekan-accounts-lockout@1.0.0
+121 -1
View File
@@ -11,10 +11,130 @@ Fixing other platforms In Progress.
- Install info at Server part of webpage https://wekan.github.io
- Newest Node.js is at https://github.com/wekan/node-v14-esm/releases/tag/v14.21.4
- MongoDB 6.x
- MongoDB 7.x
[How to upgrade WeKan](https://github.com/wekan/wekan/issues/4585)
# v7.30 2024-01-28 WeKan ® release
This release adds the following updates:
- [Back to MongoDB 6.0.13](https://github.com/wekan/wekan/commit/64592d734cfdbe10b48c3aa3ea74e0ba35903976).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v7.29 2024-01-27 WeKan ® release
This release removes the following features:
- [Removed markdown-it-mathjax3](https://github.com/wekan/wekan/commit/19703fed311c894b61e9269cc0b973d0b0275a6a).
Thanks to Dexus and xet7.
and adds the following updates:
- [Updated to Meteor 2.14.1-beta.0](https://github.com/wekan/wekan/commit/28d640afb40f4d7c9070fa514c910fbf7065a724).
Thanks to Meteor developers.
- [Updated to MongoDB 7.0.5 at Snap Candidate and Docker](https://github.com/wekan/wekan/commit/f624211620c5e42ccdd6f931ba473be62437a62c).
Thanks to MongoDB developers.
Thanks to above GitHub users for their contributions and translators for their translations.
# v7.28 2024-01-23 WeKan ® release
This release adds the following new features:
- [Added archive option to of Wekan API](https://github.com/wekan/wekan/pull/5265).
Thanks to gustavengstrom.
and adds the following updates:
- Updated dependencies.
[Part 1](https://github.com/wekan/wekan/pull/5270),
[Part 2](https://github.com/wekan/wekan/pull/5271),
[Part 3](https://github.com/wekan/wekan/commit/67896adefc4a12a93fed7575f621f8aa924a2ab8).
Thanks to developers of dependencies.
Thanks to above GitHub users for their contributions and translators for their translations.
# v7.27 2024-01-02 WeKan ® release
This release fixes the following bugs:
- [Fix missing maximize card](https://github.com/wekan/wekan/commit/f10f80f6559a6cdee020d5ca34fd5991e07617cf).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v7.26 2024-01-02 WeKan ® release
This release fixes the following bugs:
-[Fix some public board buttons](https://github.com/wekan/wekan/commit/8ae47cb2f82bcc2078cc9c9987f7d7b7f6394493).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v7.25 2023-12-30 WeKan ® release
This release adds the following updates:
- [Snap: Organized file locations](https://github.com/wekan/wekan/commit/84a228fc1a7ced2b8b146795acc13eb5abb13d24).
Thanks to xet7.
- Updated GitHub Actions.
[Part 1](https://github.com/wekan/wekan/pulls/5243),
[Part 2](https://github.com/wekan/wekan/pulls/5244),
[Part 3](https://github.com/wekan/wekan/pulls/5245).
- [Updated percolate:synced-cron](https://github.com/wekan/wekan/commit/06397e9e11a689a0a2e6a95ae785749d5a6a695b).
Thanks to developers of percolate:synced-cron.
- Snap: Added MongoDB 3 binaries for migrating to MongoDB 6.
[Part 1](https://github.com/wekan/wekan/commit/805458a7638ff6213929bfa70a46b5afeacaedf1),
[Part 2](https://github.com/wekan/wekan/commit/335f0451e07d6ff924c0af3e5a934676c8e69f4c),
[Part 3](https://github.com/wekan/wekan/commit/374e67310723f3c0d3ab20f6b2e4bd0b273bce2b).
Thanks to xet7.
- [Updated dependencies](https://github.com/wekan/wekan/commit/0e6d83c0852b2da4430f9c902b84c16f5c2ee8bc).
Thanks to developers of dependencies.
and adds the following translations:
- [Translations: Added German (Germany) (de_DE) and Odia (India) (or_IN)](https://github.com/wekan/wekan/commit/23c2a2bc224e2def4722a35c20f32a21062b4154).
Thanks to translators.
and fixes the following bugs:
- [Fix: Export HTML popup](https://github.com/wekan/wekan/pull/5252).
Thanks to Lewiscowles1986.
Thanks to above GitHub users for their contributions and translators for their translations.
# v7.24 2023-12-17 WeKan ® release
This release adds the following new features:
- [Azure AD B2C login using OAuth2](https://github.com/wekan/wekan/commit/93be112a9454c894c1ce3146ed377e6a6aeca64a).
https://github.com/wekan/wekan/wiki/B2C .
Thanks to snowsky and xet7.
and adds the following updates:
- [Upgrade to Meteor 2.14](https://github.com/wekan/wekan/commit/75383fe477874a7aaf5caa3b913e2173694efe13).
Thanks to Meteor developers.
Thanks to above GitHub users for their contributions and translators for their translations.
# v7.23 2023-12-11 WeKan ® release
This release adds the following updates:
- [Updated security.md about mitm](https://github.com/wekan/wekan/commit/b4c9c1df9a7e89d263b1864407a7007338ce770d).
Thanks to xet7.
- [Upgraded to Meteor 2.14-rc.3](https://github.com/wekan/wekan/commit/6a3b8a668bc84c89714e44c3865168be81c8e2ed).
Thanks to Meteor developers.
- [Updated dependencies](https://github.com/wekan/wekan/commit/e3a0a480ed960d30fc80f7c7c1a6c7471368d0e8).
Thanks to developers of dependencies.
Thanks to above GitHub users for their contributions and translators for their translations.
# v7.22 2023-12-01 WeKan ® release
This release adds the following new features:
+1
View File
@@ -69,6 +69,7 @@ ENV BUILD_DEPS="apt-utils libarchive-tools gnupg gosu wget curl bzip2 g++ build-
OIDC_REDIRECTION_ENABLED=false \
OAUTH2_CA_CERT="" \
OAUTH2_ADFS_ENABLED=false \
OAUTH2_B2C_ENABLED=false \
OAUTH2_LOGIN_STYLE=redirect \
OAUTH2_CLIENT_ID="" \
OAUTH2_SECRET="" \
+1 -1
View File
@@ -60,7 +60,7 @@ and by by companies that have 30k users.
## SSL/TLS
- SSL/TLS encrypts traffic between webbrowser and webserver.
- If you are thinking about TLS MITM, look at Caddy 2 webserver MITM detections.
- If you are thinking about TLS MITM, look at https://github.com/caddyserver/caddy/issues/2530
- Let's Encrypt TLS requires publicly accessible webserver, that Let's Encrypt TLS validation servers check.
- If firewall limits to only allowed IP addresses, you may need non-Let's Encrypt TLS cert.
- For On Premise:
+1 -1
View File
@@ -1,5 +1,5 @@
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
appVersion: "v7.22.0"
appVersion: "v7.30.0"
files:
userUploads:
- README.md
+3 -2
View File
@@ -51,8 +51,9 @@ template(name="attachmentGallery")
.attachment-gallery
a.attachment-item.add-attachment.js-add-attachment
i.fa.fa-plus.icon
if canModifyCard
a.attachment-item.add-attachment.js-add-attachment
i.fa.fa-plus.icon
each attachments
+7 -6
View File
@@ -13,11 +13,12 @@ template(name="cardDetails")
unless isMiniScreen
unless isPopup
a.fa.fa-times-thin.close-card-details.js-close-card-details(title="{{_ 'close-card'}}")
if cardMaximized
a.fa.fa-window-minimize.minimize-card-details.js-minimize-card-details(title="{{_ 'minimize-card'}}")
else
a.fa.fa-window-maximize.maximize-card-details.js-maximize-card-details(title="{{_ 'maximize-card'}}")
if currentUser.isBoardMember
if canModifyCard
if cardMaximized
a.fa.fa-window-minimize.minimize-card-details.js-minimize-card-details(title="{{_ 'minimize-card'}}")
else
a.fa.fa-window-maximize.maximize-card-details.js-maximize-card-details(title="{{_ 'maximize-card'}}")
if canModifyCard
a.fa.fa-navicon.card-details-menu.js-open-card-details-menu(title="{{_ 'cardDetailsActionsPopup-title'}}")
a.fa.fa-link.card-copy-button.js-copy-link(
id="cardURL_copy"
@@ -29,7 +30,7 @@ template(name="cardDetails")
else
unless isPopup
a.fa.fa-times-thin.close-card-details.js-close-card-details(title="{{_ 'close-card'}}")
if currentUser.isBoardMember
if canModifyCard
a.fa.fa-navicon.card-details-menu-mobile-web.js-open-card-details-menu(title="{{_ 'cardDetailsActionsPopup-title'}}")
a.fa.fa-link.card-copy-mobile-button.js-copy-link(
id="cardURL_copy"
+9 -9
View File
@@ -3,12 +3,13 @@ template(name="minicard")
class="{{#if isLinkedCard}}linked-card{{/if}}"
class="{{#if isLinkedBoard}}linked-board{{/if}}"
class="{{#if colorClass}}minicard-{{colorClass}}{{/if}}")
if isTouchScreenOrShowDesktopDragHandles
a.fa.fa-navicon.minicard-details-menu-with-handle.js-open-minicard-details-menu(title="{{_ 'cardDetailsActionsPopup-title'}}")
.handle
.fa.fa-arrows
else
a.fa.fa-navicon.minicard-details-menu.js-open-minicard-details-menu(title="{{_ 'cardDetailsActionsPopup-title'}}")
if canModifyCard
if isTouchScreenOrShowDesktopDragHandles
a.fa.fa-navicon.minicard-details-menu-with-handle.js-open-minicard-details-menu(title="{{_ 'cardDetailsActionsPopup-title'}}")
.handle
.fa.fa-arrows
else
a.fa.fa-navicon.minicard-details-menu.js-open-minicard-details-menu(title="{{_ 'cardDetailsActionsPopup-title'}}")
.dates
if getReceived
unless getStart
@@ -134,7 +135,7 @@ template(name="minicard")
+userAvatar(userId=this.userId noRemove=true)
.badges
unless currentUser.isNoComments
if canModifyCard
if comments.length
.badge(title="{{_ 'card-comments-title' comments.length }}")
span.badge-icon.fa.fa-comment-o.badge-comment.badge-text
@@ -189,12 +190,11 @@ template(name="editCardSortOrderPopup")
template(name="minicardDetailsActionsPopup")
ul.pop-over-list
if currentUser.isBoardAdmin
if canModifyCard
li
a.js-move-card
i.fa.fa-arrow-right
| {{_ 'moveCardPopup-title'}}
unless currentUser.isWorker
li
a.js-copy-card
i.fa.fa-copy
+48
View File
@@ -57,6 +57,9 @@ window.ExportHtml = Popup => {
Array.from(
document.querySelectorAll('#header-main-bar .board-header-btns'),
).forEach(elem => elem.remove());
Array.from(
document.querySelectorAll('.js-pop-over, .pop-over'),
).forEach(elem => elem.remove());
Array.from(document.querySelectorAll('.list-composer')).forEach(elem =>
elem.remove(),
);
@@ -152,6 +155,50 @@ window.ExportHtml = Popup => {
);
};
const getWebFonts = () => {
fontUrls = [];
for (let sheet of document.styleSheets) {
// Get the base URL of the stylesheet
let baseUrl = sheet.href ? new URL(sheet.href).origin : window.location.origin;
try {
for (let rule of sheet.cssRules) {
if (rule.type === CSSRule.FONT_FACE_RULE) {
let src = rule.style.getPropertyValue('src');
let urlMatch = src.match(/url\(["']?(.+?)["']?\)/);
if (urlMatch) {
let fontUrl = urlMatch[1];
// Resolve the URL relative to the stylesheet's base URL
let resolvedUrl = new URL(fontUrl, baseUrl);
fontUrls.push(resolvedUrl.href); // Using .href to get the absolute URL
}
}
}
} catch (e) {
console.log('Access to stylesheet blocked:', e);
}
}
return fontUrls;
};
const downloadFonts = async(elements, zip) => {
await asyncForEach(elements, async elem => {
const response = await fetch(elem);
const responseBody = await response.blob();
const filename = elem.split('/')
.pop()
.split('?')
.shift()
.split('#')
.shift();
const fileFullPath = `webfonts/${filename}`;
zip.file(fileFullPath, responseBody);
});
}
const downloadCardCovers = async (elements, zip, boardSlug) => {
await asyncForEach(elements, async elem => {
const response = await fetch(
@@ -194,6 +241,7 @@ window.ExportHtml = Popup => {
await downloadStylesheets(getStylesheetList(), zip);
await downloadSrcAttached(getSrcAttached(), zip, boardSlug);
await downloadCardCovers(getCardCovers(), zip, boardSlug);
await downloadFonts(getWebFonts(), zip);
addBoardHTMLToZip(boardSlug, zip);
+2
View File
@@ -391,6 +391,8 @@ services:
#- OAUTH2_CA_CERT=ABCD1234
# Use OAuth2 ADFS additional changes. Also needs OAUTH2_ENABLED=true setting.
#- OAUTH2_ADFS_ENABLED=false
# Azure AD B2C. https://github.com/wekan/wekan/issues/5242
#- OAUTH2_B2C_ENABLED=false
# OAuth2 login style: popup or redirect.
#- OAUTH2_LOGIN_STYLE=redirect
# Application GUID captured during app registration:
+24 -24
View File
@@ -85,14 +85,14 @@
"add-card": "Tilføj kort",
"add-card-to-top-of-list": "Add Card to Top of List",
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
"setListWidthPopup-title": "Set List Width",
"set-list-width": "Set List Width",
"set-list-width-value": "List Width (pixels)",
"list-width-error-message": "List width must be a positive integer",
"setSwimlaneHeightPopup-title": "Set Swimlane Height",
"set-swimlane-height": "Set Swimlane Height",
"set-swimlane-height-value": "Swimlane Height (pixels)",
"swimlane-height-error-message": "Swimlane height must be a positive integer",
"setListWidthPopup-title": "Angiv bredde på lister",
"set-list-width": "Angiv bredde på lister",
"set-list-width-value": "Bredde på lister (pixels)",
"list-width-error-message": "Listens bredde skal være et positivt heltal",
"setSwimlaneHeightPopup-title": "Angiv højde på svømmebane",
"set-swimlane-height": "Angiv højde på svømmebane",
"set-swimlane-height-value": "Svømmebanes bredde (pixels)",
"swimlane-height-error-message": "Svømmebreddes højde skal være et positivt heltal",
"add-swimlane": "Tilføj svømmebane",
"add-subtask": "Tilføj delopgave",
"add-checklist": "Tilføj tjekliste",
@@ -100,10 +100,10 @@
"close-add-checklist-item": "Close add an item to checklist form",
"close-edit-checklist-item": "Close edit an item to checklist form",
"convertChecklistItemToCardPopup-title": "Convert to Card",
"add-cover": "Add cover image to minicard",
"add-cover": "Tilføj coverbillede til minikort",
"add-label": "Tilføj etikette",
"add-list": "Tilføj liste",
"add-after-list": "Add After List",
"add-after-list": "Tilføj efter liste",
"add-members": "Tilføj medlemmer",
"added": "Tilføjet",
"addMemberPopup-title": "Medlemmer",
@@ -143,10 +143,10 @@
"attachmentDeletePopup-title": "Slet vedhæftning?",
"attachments": "Vedhæftninger",
"auto-watch": "Følg automatisk tavler når de oprettes",
"avatar-too-big": "The avatar is too large (__size__ max)",
"avatar-too-big": "Avataren er for stor (__size__ max)",
"back": "Tilbage",
"board-change-color": "Skift farve",
"board-change-background-image": "Change Background Image",
"board-change-background-image": "Skift baggrundsbillede",
"board-background-image-url": "Background Image URL",
"add-background-image": "Add Background Image",
"remove-background-image": "Remove Background Image",
@@ -162,9 +162,9 @@
"board-public-info": "Denne tavle vil være <strong>offentlig</strong>.",
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
"boardChangeColorPopup-title": "Skift tavlens baggrund",
"boardChangeBackgroundImagePopup-title": "Change Background Image",
"boardChangeBackgroundImagePopup-title": "Skift baggrundsbillede",
"allBoardsChangeColorPopup-title": "Skift farve",
"allBoardsChangeBackgroundImagePopup-title": "Change Background Image",
"allBoardsChangeBackgroundImagePopup-title": "Skift baggrundsbillede",
"boardChangeTitlePopup-title": "Omdøb tavle",
"boardChangeVisibilityPopup-title": "Tilpas synlighed",
"boardChangeWatchPopup-title": "Tilpas følgefunktion",
@@ -819,7 +819,7 @@
"r-item": "element",
"r-of-checklist": "fra tjekliste",
"r-send-email": "Send en e-mail",
"r-to": "to",
"r-to": "til",
"r-of": "af",
"r-subject": "emne",
"r-rule-details": "Detaljer for regel",
@@ -828,7 +828,7 @@
"r-d-move-to-bottom-gen": "Flyt kortet til bunden af dens liste",
"r-d-move-to-bottom-spec": "Flyt kortet til bunden af listen",
"r-d-send-email": "Send e-mail",
"r-d-send-email-to": "to",
"r-d-send-email-to": "til",
"r-d-send-email-subject": "emne",
"r-d-send-email-message": "besked",
"r-d-archive": "Flyt kortet til arkiv",
@@ -854,7 +854,7 @@
"r-items-list": "element1,element2,element3",
"r-add-swimlane": "Tilføj svømmebane",
"r-swimlane-name": "navn på svømmebane",
"r-board-note": "Note: leave a field empty to match every possible value. ",
"r-board-note": "Bemærk: lad et felt stå tomt for at matche alle værdier.",
"r-checklist-note": "Bemærk: tjeklistens elementer skal skrives som en kommaadskilte værdier.",
"r-when-a-card-is-moved": "Når et kort flyttes til en anden liste.",
"r-set": "Angiv",
@@ -1099,7 +1099,7 @@
"label-names": "Label Names",
"archived-at": "archived at",
"sort-cards": "Sort Cards",
"sort-is-on": "Sort is on",
"sort-is-on": "Sortering er slået til",
"cardsSortPopup-title": "Sort Cards",
"due-date": "Due Date",
"server-error": "Server Error",
@@ -1238,11 +1238,11 @@
"newTranslationPopup-title": "New custom translation string",
"editTranslationPopup-title": "Edit custom translation string",
"settingsTranslationPopup-title": "Delete this custom translation string?",
"translation": "Translation",
"translation": "Oversæt",
"text": "Tekst",
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown"
"translation-text": "Oversættelsestekst",
"show-at-minicard": "Vis et minikort",
"show-checklist-at-minicard": "Vis tjekliste på minikort",
"show-subtasks-field": "Vis felt med underopgaver",
"convert-to-markdown": "Konvertér til markdown"
}
+2 -2
View File
@@ -962,7 +962,7 @@
"teams": "Teams",
"displayName": "Anzeigename",
"shortName": "Kurzname",
"autoAddUsersWithDomainName": "Automatically add users with the domain name",
"autoAddUsersWithDomainName": "Automatisch Benutzer über den Domainnamen hinzufügen",
"website": "Webseite",
"person": "Person",
"my-cards": "Meine Karten",
@@ -1117,7 +1117,7 @@
"custom-field-stringtemplate-separator": "Trenner (verwende &#32; oder &nbsp; für einen Leerschritt)",
"custom-field-stringtemplate-item-placeholder": "Drücke die Eingabetaste, um weitere Einträge hinzuzufügen",
"creator": "Ersteller",
"creator-on-minicard": "Creator on minicard",
"creator-on-minicard": "Ersteller auf Minikarte",
"filesReportTitle": "Dateien-Bericht",
"reports": "Berichte",
"rulesReportTitle": "Regeln-Bericht",
File diff suppressed because it is too large. Load diff
+3 -3
View File
@@ -738,7 +738,7 @@
"deposit-subtasks-board": "Ipini azpiatazak arbel honetan:",
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
"show-parent-in-minicard": "Erakutsi gurasoa minitxartelean:",
"description-on-minicard": "Description on minicard",
"description-on-minicard": "Deskribapena minitxartelean",
"cover-attachment-on-minicard": "minitxartelaren azalaren irudia",
"badge-attachment-on-minicard": "Eranskinen kopurua minitxartelean",
"card-sorting-by-number-on-minicard": "Txartelak zenbakien arabera ordenatzea minitxartelean",
@@ -962,7 +962,7 @@
"teams": "Teams",
"displayName": "Display Name",
"shortName": "Short Name",
"autoAddUsersWithDomainName": "Automatically add users with the domain name",
"autoAddUsersWithDomainName": "Gehitu automatikoki domeinu-izena duten erabiltzaileak",
"website": "Website",
"person": "Person",
"my-cards": "Nire txartelak",
@@ -1117,7 +1117,7 @@
"custom-field-stringtemplate-separator": "Separator (use &#32; or &nbsp; for a space)",
"custom-field-stringtemplate-item-placeholder": "Press enter to add more items",
"creator": "Creator",
"creator-on-minicard": "Creator on minicard",
"creator-on-minicard": "Sortzailea minitxartelean",
"filesReportTitle": "Files Report",
"reports": "Reports",
"rulesReportTitle": "Rules Report",
+2 -2
View File
@@ -962,7 +962,7 @@
"teams": "Équipes",
"displayName": "Nom d'Affichage",
"shortName": "Nom Court",
"autoAddUsersWithDomainName": "Automatically add users with the domain name",
"autoAddUsersWithDomainName": "Ajouter automatiquement les utilisateurs avec le nom de domaine",
"website": "Site Web",
"person": "Personne",
"my-cards": "Mes Cartes",
@@ -1117,7 +1117,7 @@
"custom-field-stringtemplate-separator": "Séparateur (utiliser &#32; ou &nbsp; pour un espace)",
"custom-field-stringtemplate-item-placeholder": "Appuyez sur Entrée pour ajouter plus d'éléments",
"creator": "Créateur",
"creator-on-minicard": "Creator on minicard",
"creator-on-minicard": "Créateur sur la mini-carte",
"filesReportTitle": "Rapports sur les fichiers",
"reports": "Rapports",
"rulesReportTitle": "Rapports sur les règles",
+5 -5
View File
@@ -731,10 +731,10 @@
"queue": "Queue",
"subtask-settings": "Paramètres des sous-tâches",
"card-settings": "Paramètres de la carte",
"minicard-settings": "Paramètres de la minicarte",
"minicard-settings": "Paramètres de la mini-carte",
"boardSubtaskSettingsPopup-title": "Paramètres des sous-tâches du tableau",
"boardCardSettingsPopup-title": "Paramètres de la carte",
"boardMinicardSettingsPopup-title": "Paramètres de la minicarte",
"boardMinicardSettingsPopup-title": "Paramètres de la mini-carte",
"deposit-subtasks-board": "Déposer des sous-tâches dans ce tableau :",
"deposit-subtasks-list": "Liste de destination pour les sous-tâches déposées ici :",
"show-parent-in-minicard": "Voir la carte parente dans la mini-carte :",
@@ -921,7 +921,7 @@
"cardAssigneesPopup-title": "Personne assignée",
"addmore-detail": "Ajouter une description plus détaillée",
"show-on-card": "Afficher sur la carte",
"show-on-minicard": "Afficher sur la minicarte",
"show-on-minicard": "Afficher sur la mini-carte",
"new": "Nouveau",
"editOrgPopup-title": "Éditer l'organisation",
"newOrgPopup-title": "Nouvelle organisation",
@@ -962,7 +962,7 @@
"teams": "Équipes",
"displayName": "Nom d'Affichage",
"shortName": "Nom Court",
"autoAddUsersWithDomainName": "Automatically add users with the domain name",
"autoAddUsersWithDomainName": "Ajouter automatiquement les utilisateurs avec le nom de domaine",
"website": "Site Web",
"person": "Personne",
"my-cards": "Mes Cartes",
@@ -1117,7 +1117,7 @@
"custom-field-stringtemplate-separator": "Séparateur (utiliser &#32; ou &nbsp; pour un espace)",
"custom-field-stringtemplate-item-placeholder": "Appuyez sur Entrée pour ajouter plus d'éléments",
"creator": "Créateur",
"creator-on-minicard": "Creator on minicard",
"creator-on-minicard": "Créateur sur la mini-carte",
"filesReportTitle": "Rapports sur les fichiers",
"reports": "Rapports",
"rulesReportTitle": "Rapports sur les règles",
+1 -1
View File
@@ -1117,7 +1117,7 @@
"custom-field-stringtemplate-separator": "מפריד (להשתמש ב־&#32; או ב־&nbsp; כרווח)",
"custom-field-stringtemplate-item-placeholder": "יש ללחוץ על enter כדי להוסיף עוד פריטים",
"creator": "יוצר",
"creator-on-minicard": "Creator on minicard",
"creator-on-minicard": "יוצר בכרטיסון",
"filesReportTitle": "דוח קבצים",
"reports": "דוחות",
"rulesReportTitle": "דוח כללים",
+66 -66
View File
@@ -81,10 +81,10 @@
"activity-endDate": "終了日を %s に変更しました / %s",
"add-attachment": "添付ファイルを追加",
"add-board": "ボードを追加",
"add-template": "Add Template",
"add-template": "テンプレートを追加",
"add-card": "カードを追加",
"add-card-to-top-of-list": "カードをリストの先頭に追加",
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
"add-card-to-bottom-of-list": "カードをリストの末尾に追加",
"setListWidthPopup-title": "リストの幅を設定",
"set-list-width": "リストの幅を設定",
"set-list-width-value": "リストの幅(ピクセル)",
@@ -97,13 +97,13 @@
"add-subtask": "サブタスクを追加",
"add-checklist": "チェックリストを追加",
"add-checklist-item": "チェックリストに項目を追加",
"close-add-checklist-item": "チェックリストフォームの項目の追加を終了する",
"close-edit-checklist-item": "チェックリストフォームの項目の編集を終了する",
"close-add-checklist-item": "Close add an item to checklist form",
"close-edit-checklist-item": "Close edit an item to checklist form",
"convertChecklistItemToCardPopup-title": "Convert to Card",
"add-cover": "ミニカードに表紙画像を追加する",
"add-cover": "Add cover image to minicard",
"add-label": "ラベルを追加",
"add-list": "リストを追加",
"add-after-list": "リストの最後に追加",
"add-after-list": "Add After List",
"add-members": "メンバーの追加",
"added": "追加しました",
"addMemberPopup-title": "メンバー",
@@ -113,7 +113,7 @@
"admin-announcement": "アナウンス",
"admin-announcement-active": "システム全体アナウンスを有効化",
"admin-announcement-title": "管理者からのアナウンス",
"all-boards": "All Boards",
"all-boards": "全てのボード",
"and-n-other-card": "And __count__ other card",
"and-n-other-card_plural": "And __count__ other cards",
"apply": "適用",
@@ -143,13 +143,13 @@
"attachmentDeletePopup-title": "添付ファイルを削除しますか?",
"attachments": "添付ファイル",
"auto-watch": "作成されたボードを自動的にウォッチする",
"avatar-too-big": "アバターが大きすぎます(最大520KB)",
"avatar-too-big": "The avatar is too large (__size__ max)",
"back": "戻る",
"board-change-color": "色の変更",
"board-change-background-image": "背景画像を変更",
"board-background-image-url": "背景画像のURL",
"add-background-image": "背景画像を追加",
"remove-background-image": "背景画像を削除",
"board-change-background-image": "Change Background Image",
"board-background-image-url": "Background Image URL",
"add-background-image": "Add Background Image",
"remove-background-image": "Remove Background Image",
"show-at-all-boards-page" : "Show at All Boards page",
"board-info-on-my-boards" : "All Boards Settings",
"boardInfoOnMyBoardsPopup-title" : "All Boards Settings",
@@ -162,9 +162,9 @@
"board-public-info": "ボードは公開されます。",
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
"boardChangeColorPopup-title": "ボードの背景を変更",
"boardChangeBackgroundImagePopup-title": "背景画像を変更",
"boardChangeBackgroundImagePopup-title": "Change Background Image",
"allBoardsChangeColorPopup-title": "色の変更",
"allBoardsChangeBackgroundImagePopup-title": "背景画像を変更",
"allBoardsChangeBackgroundImagePopup-title": "Change Background Image",
"boardChangeTitlePopup-title": "ボード名の変更",
"boardChangeVisibilityPopup-title": "公開範囲の変更",
"boardChangeWatchPopup-title": "ウォッチの変更",
@@ -314,7 +314,7 @@
"linkCardPopup-title": "カードをリンク",
"searchElementPopup-title": "検索",
"copyCardPopup-title": "カードをコピー",
"copyManyCardsPopup-title": "テンプレートから複数カードにコピー",
"copyManyCardsPopup-title": "Copy Template to Many Cards",
"copyManyCardsPopup-instructions": "作成されるカードのタイトルと説明をJSON形式で指定",
"copyManyCardsPopup-format": "[ {\"title\": \"1つ目のカードタイトル\", \"description\":\"1つ目のカードの説明\"}, {\"title\":\"2つ目のカードタイトル\",\"description\":\"2つ目のカードの説明\"},{\"title\":\"最後のカードタイトル\",\"description\":\"最後のカードの説明\"} ]",
"create": "作成",
@@ -382,7 +382,7 @@
"error-board-notAMember": "操作にはボードメンバーである必要があります",
"error-json-malformed": "このテキストは、有効なJSON形式ではありません",
"error-json-schema": "JSONデータが不正な値を含んでいます",
"error-csv-schema": "CSV(カンマ区切り)/TSV(タブ区切り)の書式が不正です",
"error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format ",
"error-list-doesNotExist": "このリストは存在しません",
"error-user-doesNotExist": "ユーザーが存在しません",
"error-user-notAllowSelf": "自分を招待することはできません。",
@@ -396,7 +396,7 @@
"export-board-csv": "ボードをCSVにエクスポート",
"export-board-tsv": "ボードをTSVにエクスポート",
"export-board-excel": "ボードをExcelにエクスポート",
"user-can-not-export-excel": "ユーザーはExcelにエクスポートできません",
"user-can-not-export-excel": "ユーザーはExcelにエクスポートできません ",
"export-board-html": "ボードをHTMLにエクスポート",
"export-card": "Export card",
"export-card-pdf": "Export card to PDF",
@@ -421,7 +421,7 @@
"filter-overdue": "期限切れ",
"filter-due-today": "本日期限",
"filter-due-this-week": "今週期限",
"filter-due-next-week": "来週期限",
"filter-due-next-week": "Due next week",
"filter-due-tomorrow": "明日期限",
"list-filter-label": "タイトルでリストをフィルタ",
"filter-clear": "フィルターの解除",
@@ -440,7 +440,7 @@
"filter-to-selection": "フィルターした項目を全選択",
"other-filters-label": "その他のフィルタ",
"advanced-filter-label": "高度なフィルター",
"advanced-filter-description": "高度なフィルタでは次のような演算子を使用できます:== != <= >= && || ( )\n半角スペースは演算子の区切り文字として使用します。\n\nフィールド名や値を使用したフィルタが可能です。\n例:Field1 == Value1\n\n注意:フィールド名や値にスペースが含まれる場合、それらをシングルクォーテーションで囲む必要があります。\n例:'Field 1' == 'Value 1'\n\n単体の制御文字 (' \\\\/) は無視されますので、\\\\を使用することができます。\n例:Field1 == I\\\\'m\n\n複数の条件を組み合わせることもできます。\n例:F1 == V1 || F1 == V2\n\n基本的にすべての演算子は左から右に評価されます。\n丸カッコを使用することで順序を変更できます。\n例:F1 == V1 && ( F2 == V2 || F2 == V3 )\n\nテキストフィールドでは正規表現を使用した検索もできます。\n例:F1 == /Tes.*/i",
"advanced-filter-description": "高度なフィルタでは次のような演算子を使用できます:== != <= >= && || ( )\n半角スペースは演算子の区切り文字として使用します。\n\nフィールド名や値を使用したフィルタが可能です。\n例:Field1 == Value1\n\n注意:フィールド名や値にスペースが含まれる場合、それらをシングルクォーテーションで囲む必要があります。\n例:'Field 1' == 'Value 1'\n\n単体の制御文字 (' /) は無視されますので、\\\\を使用することができます。\n例:Field1 == I\\\\'m\n\n複数の条件を組み合わせることもできます。\n例:F1 == V1 || F1 == V2\n\n基本的にすべての演算子は左から右に評価されます。\n丸カッコを使用することで順序を変更できます。\n例:F1 == V1 && ( F2 == V2 || F2 == V3 )\n\nテキストフィールドでは正規表現を使用した検索もできます。\n例:F1 == /Tes.*/i",
"fullname": "フルネーム",
"header-logo-title": "自分のボードページに戻る。",
"hide-system-messages": "システムメッセージを隠す",
@@ -532,7 +532,7 @@
"normal": "通常",
"normal-desc": "カードの閲覧と編集が可能。設定変更不可。",
"not-accepted-yet": "招待はアクセプトされていません",
"notify-participate": "作成した、またはメンバーとなったカードの更新情報を受け取る",
"notify-participate": "Receive updates to any cards you participate as creator or member",
"notify-watch": "ウォッチしているすべてのボード、リスト、カードの更新情報を受け取る",
"optional": "任意",
"or": "or",
@@ -550,7 +550,7 @@
"public": "公開",
"public-desc": "このボードはパブリックです。リンクを知っていれば誰でもアクセス可能でGoogleのような検索エンジンの結果に表示されます。このボードに追加されている人だけがカード追加が可能です。",
"quick-access-description": "ボードにスターをつけると、ここににショートカットができます。",
"remove-cover": "ミニカードから表紙画像を削除する",
"remove-cover": "Remove cover image from minicard",
"remove-from-board": "ボードから外す",
"remove-label": "ラベルの削除",
"listDeletePopup-title": "リストを削除しますか?",
@@ -561,8 +561,8 @@
"rename": "名前変更",
"rename-board": "ボード名の変更",
"restore": "リストア",
"rescue-card-description": "未保存のカードの説明を閉じる前に確認ダイアログを表示する",
"rescue-card-description-dialogue": "カードの説明を変更内容で上書きしますか?",
"rescue-card-description": "Show rescue dialogue before closing for unsaved card descriptions",
"rescue-card-description-dialogue": "Overwrite current card description with your changes?",
"save": "保存",
"search": "検索",
"rules": "ルール",
@@ -616,7 +616,7 @@
"custom-top-left-corner-logo-height": "カスタムの左上ロゴイメージの高さ。デフォルト:27",
"custom-login-logo-image-url": "カスタムのログインロゴイメージのURL",
"custom-login-logo-link-url": "カスタムのログインロゴイメージのリンクURL",
"custom-help-link-url": "ヘルプのリンクURLを変更する",
"custom-help-link-url": "Custom Help Link URL",
"text-below-custom-login-logo": "カスタムログインロゴイメージの下のテキスト",
"automatic-linked-url-schemes": "Custom URL Schemes which should automatically be clickable. One URL Scheme per line",
"username": "ユーザー名",
@@ -664,15 +664,15 @@
"email-smtp-test-text": "メールを送信しました",
"error-invitation-code-not-exist": "招待コードが存在しません",
"error-notAuthorized": "このページを参照する権限がありません。",
"webhook-title": "Webフック名",
"webhook-title": "Webhook Name",
"webhook-token": "トークン(認証用オプション)",
"outgoing-webhooks": "発信Webフック",
"outgoing-webhooks": "Outgoing Webhooks",
"bidirectional-webhooks": "双方向Webフック",
"outgoingWebhooksPopup-title": "発信Webフック",
"outgoingWebhooksPopup-title": "Outgoing Webhooks",
"boardCardTitlePopup-title": "カード名フィルタ",
"disable-webhook": "このWebフックを無効化",
"global-webhook": "グローバルWebフック",
"new-outgoing-webhook": "発信Webフックの作成",
"new-outgoing-webhook": "New Outgoing Webhook",
"no-name": "(名前なし)",
"Node_version": "Nodeバージョン",
"Meteor_version": "Meteor バージョン",
@@ -731,17 +731,17 @@
"queue": "キュー",
"subtask-settings": "サブタスク設定",
"card-settings": "カード設定",
"minicard-settings": "ミニカード設定",
"minicard-settings": "Minicard Settings",
"boardSubtaskSettingsPopup-title": "ボードのサブタスク設定",
"boardCardSettingsPopup-title": "カード設定",
"boardMinicardSettingsPopup-title": "ミニカード設定",
"boardMinicardSettingsPopup-title": "Minicard Settings",
"deposit-subtasks-board": "サブタスクの作成先ボード:",
"deposit-subtasks-list": "サブタスクの作成先リスト:",
"show-parent-in-minicard": "ミニカード上の親表示",
"description-on-minicard": "ミニカードの説明",
"cover-attachment-on-minicard": "ミニカードの表紙画像",
"badge-attachment-on-minicard": "ミニカードの添付ファイル数",
"card-sorting-by-number-on-minicard": "ミニカードの番号順でソートする",
"description-on-minicard": "Description on minicard",
"cover-attachment-on-minicard": "Cover image on minicard",
"badge-attachment-on-minicard": "Count of attachments on minicard",
"card-sorting-by-number-on-minicard": "Card sorting by number on minicard",
"prefix-with-full-path": "タイトルの前に親をフル表示",
"prefix-with-parent": "タイトルの前に親を表示",
"subtext-with-full-path": "タイトルの後ろに親をフル表示",
@@ -854,7 +854,7 @@
"r-items-list": "アイテム1、アイテム2、アイテム3",
"r-add-swimlane": "スイムレーンを追加",
"r-swimlane-name": "スイムレーン名",
"r-board-note": "注意:フィールドを空にするとすべての値に一致します",
"r-board-note": "Note: leave a field empty to match every possible value. ",
"r-checklist-note": "注意:チェックリスト項目はカンマ区切りで記述する必要があります。",
"r-when-a-card-is-moved": "カードが別のリストに移動したとき",
"r-set": "設定する",
@@ -866,7 +866,7 @@
"r-df-received-at": "受付",
"r-to-current-datetime": "現在日時に",
"r-remove-value-from": "次の値を削除:",
"r-link-card": "カードをリンクする",
"r-link-card": "Link card to",
"ldap": "LDAP",
"oauth2": "OAuth2",
"cas": "CAS",
@@ -875,8 +875,8 @@
"custom-product-name": "カスタム製品名",
"layout": "レイアウト",
"hide-logo": "ロゴを隠す",
"hide-card-counter-list": "すべてのボードからカードカウンタリストを非表示にする。",
"hide-board-member-list": "すべてのボードからボードメンバリストを非表示にする。",
"hide-card-counter-list": "Hide card counter list on All Boards",
"hide-board-member-list": "Hide board member list on All Boards",
"add-custom-html-after-body-start": "<body> の開始直後にカスタムHTMLを追加する",
"add-custom-html-before-body-end": "</body> の終了直前にカスタムHTMLを追加する",
"error-undefined": "何らかの問題が発生しています",
@@ -885,9 +885,9 @@
"oidc-button-text": "Customize the OIDC button text",
"default-authentication-method": "デフォルトの認証方式",
"duplicate-board": "ボードの複製",
"org-number": "組織数:",
"team-number": "チーム数: ",
"people-number": "人数:",
"org-number": "The number of organizations is: ",
"team-number": "The number of teams is: ",
"people-number": "The number of people is: ",
"swimlaneDeletePopup-title": "スイムレーンを削除しますか?",
"swimlane-delete-pop": "すべての内容がアクティビティから削除されます。この削除は元に戻すことができません。",
"restore-all": "全てをリストアする",
@@ -905,7 +905,7 @@
"almostdue": "期限 %s が近づいています",
"pastdue": "期限 %s が過ぎています",
"duenow": "期限 %s は本日です",
"act-newDue": "__list __ / __ card__に1回目の有効期限アラートがあります [__board__]",
"act-newDue": "__list__/__card__ has 1st due reminder [__board__]",
"act-withDue": "__list __ / __ card__ の有効期限のアラート [__board__]",
"act-almostdue": "__card__ の期限日時 (__timeValue__) が近づいています",
"act-pastdue": "__card__ の期限日時 (__timeValue__) が過ぎています",
@@ -930,7 +930,7 @@
"editUserPopup-title": "ユーザーを編集",
"newUserPopup-title": "新規ユーザー",
"notifications": "通知",
"help": "ヘルプ",
"help": "Help",
"view-all": "全てを表示",
"filter-by-unread": "未読でフィルタ",
"mark-all-as-read": "全て既読にする",
@@ -1057,7 +1057,7 @@
"operator-debug-invalid": "%s is not a valid debug predicate",
"next-page": "次のページ",
"previous-page": "前のページ",
"heading-notes": "注意",
"heading-notes": "注意\n ",
"globalSearch-instructions-heading": "検索手順",
"globalSearch-instructions-description": "検索は演算子を含めた絞り込みが可能です。演算子は、演算子の名前と値を半角コロンで区切った記述で指定します。例えば、`リスト:対応不可`と指定すると、*対応不可*という名前のリストに含まれるカードという制約で検索します。値にスペースや特殊文字が含まれる場合は引用符で囲む必要があります(例:`__operator_list__:\"レビュー 本日中\"`)。",
"globalSearch-instructions-operators": "有効な演算子:",
@@ -1085,13 +1085,13 @@
"globalSearch-instructions-status-private": "`__predicate_private__` - 非公開のボードにあるカード",
"globalSearch-instructions-operator-has": "`__operator_has__:<field>` - *<field>* は`__predicate_attachment__`、`__predicate_checklist__`、`__predicate_description__`、`__predicate_start__`、`__predicate_due__`、`__predicate_end__`、`__predicate_assignee__`、`__predicate_member__` のいずれかを指定します。*<field>* の前に「`-`」を記述すると、そのフィールドに値がないものを検索します(例:「`所有:-期限日`」は期限日がないカードを検索します)。",
"globalSearch-instructions-operator-sort": "`__operator_sort__:<sort-name>` - *<sort-name>* は `__predicate_due__`、`__predicate_created__`、`__predicate_modified__` のいずれかを指定します。降順にする場合は、並べ替え名の前に「`-`」を記述します。",
"globalSearch-instructions-operator-limit": "`__operator_limit__:<n>` - 「*<n>*」には、ページごとに表示されるカードの数を表す正の整数を指定します。",
"globalSearch-instructions-operator-limit": "`__operator_limit__:<n>` - 「*<n>*」には、ページごとに表示されるカードの数を表す正の整数を指定します。 ",
"globalSearch-instructions-notes-1": "複数の演算子を指定できます。",
"globalSearch-instructions-notes-2": "同じ演算子はOR条件になります。複数の条件のいずれかに一致したカードが検索されます。`__operator_list__:有効 __operator_list__:対応不要` の場合、リスト名が *有効* または *対応不要* のカードが検索されます。",
"globalSearch-instructions-notes-3": "異なる演算子はAND条件になります。異なる演算子すべてに一致したカードのみが検索されます。`__operator_list__:有効 __operator_label__:赤` は、*有効* のリストの中の *赤* のラベルのカードのみが検索されます。",
"globalSearch-instructions-notes-3-2": "日付には正負の整数や、現在からの期間として `__predicate_week__`、`__predicate_month__`、`__predicate_quarter__`、`__predicate_year__` を指定できます。",
"globalSearch-instructions-notes-4": "テキスト検索では大文字と小文字は区別されません。",
"globalSearch-instructions-notes-5": "デフォルトではアーカイブされたカードは検索されません。",
"globalSearch-instructions-notes-5": "デフォルトではアーカイブされたカードは検索されません。 ",
"link-to-search": "この検索へのリンク",
"excel-font": "Arial",
"number": "数値",
@@ -1099,7 +1099,7 @@
"label-names": "ラベル名",
"archived-at": "アーカイブされた:",
"sort-cards": "カードの並び替え",
"sort-is-on": "ソートが有効",
"sort-is-on": "Sort is on",
"cardsSortPopup-title": "カードの並び替え",
"due-date": "期限日",
"server-error": "サーバーエラー",
@@ -1200,14 +1200,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": "添付ファイルを S3 に移動する",
"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": "複数の添付ファイルを S3 に移動する",
"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": "ボードのすべての添付ファイルを S3 に移動する",
"move-all-attachments-of-board-to-s3": "Move all attachments of board to S3",
"path": "Path",
"version-name": "Version-Name",
"size": "Size",
@@ -1215,24 +1215,24 @@
"action": "操作",
"board-title": "Board Title",
"attachmentRenamePopup-title": "名前変更",
"uploading": "アップグレード中",
"remaining_time": "残り時間",
"speed": "速度",
"progress": "進捗",
"password-again": "パスワード(再入力)",
"if-you-already-have-an-account": "すでにアカウントを持っている場合",
"register": "登録",
"forgot-password": "パスワードを忘れた",
"uploading": "Uploading",
"remaining_time": "Remaining time",
"speed": "Speed",
"progress": "Progress",
"password-again": "Password (again)",
"if-you-already-have-an-account": "If you already have an account",
"register": "Register",
"forgot-password": "Forgot password",
"minicardDetailsActionsPopup-title": "Card Details",
"Mongo_sessions_count": "Mongo セッション数",
"Mongo_sessions_count": "Mongo sessions count",
"change-visibility": "公開範囲の変更",
"max-upload-filesize": "バイト単位の最大アップロードサイズ: ",
"allowed-upload-filetypes": "アップロードできるファイルタイプ",
"max-avatar-filesize": "バイト単位の最大アバターファイルサイズ:",
"allowed-avatar-filetypes": "アバターに使用できるファイルタイプ",
"invalid-file": "無効なファイル名の場合アップロードまたは名前の変更は取り消されます。",
"preview-pdf-not-supported": "この端末はPDFのプレビューに対応していません。他の端末でダウンロードしてください。",
"drag-board": "ドラッグボード",
"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.",
"preview-pdf-not-supported": "Your device does not support previewing PDF. Try downloading instead.",
"drag-board": "Drag board",
"translation-number": "The number of custom translation strings is:",
"delete-translation-confirm-popup": "Are you sure you want to delete this custom translation string? There is no undo.",
"newTranslationPopup-title": "New custom translation string",
File diff suppressed because it is too large. Load diff
+14 -2
View File
@@ -76,7 +76,7 @@ export default {
code: "br",
tag: "br",
name: "Brezhoneg",
load: () => import('./data/xxx.i18n.json'),
load: () => import('./data/br.i18n.json'),
},
"ca": {
code: "ca",
@@ -88,7 +88,7 @@ export default {
code: "ca",
tag: "ca-ES",
name: "català (Espanya)",
load: () => import('./data/ca-ES.i18n.json'),
load: () => import('./data/ca_ES.i18n.json'),
},
"cmn": {
code: "cn",
@@ -138,6 +138,12 @@ export default {
name: "Deutsch (Schweiz)",
load: () => import('./data/de-CH.i18n.json'),
},
"de-DE": {
code: "de",
tag: "de-DE",
name: "Deutsch (Deutschland)",
load: () => import('./data/de_DE.i18n.json'),
},
"de": {
code: "de",
tag: "de",
@@ -508,6 +514,12 @@ export default {
name: "Occitan",
load: () => import('./data/oc.i18n.json'),
},
"or-IN": {
code: "or",
tag: "or-IN",
name: "ଓଡିଆ (ଭାରତ)",
load: () => import('./data/or_IN.i18n.json'),
},
"pa": {
code: "pa",
tag: "pa",
+19
View File
@@ -3860,6 +3860,25 @@ JsonRoutes.add('GET', '/api/boards/:boardId/cards_count', function(
newBoardId,
);
}
if (req.body.archive) {
function isTrue(data) {
return String(data).toLowerCase() === 'true';
}
var archive = isTrue(req.body.archive);
Cards.direct.update(
{
_id: paramCardId,
listId: paramListId,
boardId: paramBoardId,
archived: !archive,
},
{
$set: {
archived: archive,
},
},
);
}
JsonRoutes.sendResult(res, {
code: 200,
data: {
+23 -284
View File
@@ -1,13 +1,13 @@
{
"name": "wekan",
"version": "v7.22.0",
"version": "v7.30.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@babel/runtime": {
"version": "7.23.4",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.4.tgz",
"integrity": "sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==",
"version": "7.23.8",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.8.tgz",
"integrity": "sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==",
"requires": {
"regenerator-runtime": "^0.14.0"
}
@@ -164,11 +164,6 @@
"uri-js": "^4.2.2"
}
},
"ansi-colors": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
"integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw=="
},
"ansi-regex": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
@@ -267,9 +262,9 @@
"integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw=="
},
"async": {
"version": "3.2.4",
"resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
"integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ=="
"version": "3.2.5",
"resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz",
"integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg=="
},
"available-typed-arrays": {
"version": "1.0.5",
@@ -336,11 +331,6 @@
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz",
"integrity": "sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA=="
},
"boolbase": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
"integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="
},
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -410,32 +400,6 @@
"traverse": ">=0.3.0 <0.4"
}
},
"cheerio": {
"version": "1.0.0-rc.10",
"resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz",
"integrity": "sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==",
"requires": {
"cheerio-select": "^1.5.0",
"dom-serializer": "^1.3.2",
"domhandler": "^4.2.0",
"htmlparser2": "^6.1.0",
"parse5": "^6.0.1",
"parse5-htmlparser2-tree-adapter": "^6.0.1",
"tslib": "^2.2.0"
}
},
"cheerio-select": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.6.0.tgz",
"integrity": "sha512-eq0GdBvxVFbqWgmCm7M3XGs1I8oLy/nExUnh6oLqmBditPO9AqQJrkslDpMun/hZ0yyTs8L0m85OHp4ho6Qm9g==",
"requires": {
"css-select": "^4.3.0",
"css-what": "^6.0.1",
"domelementtype": "^2.2.0",
"domhandler": "^4.3.1",
"domutils": "^2.8.0"
}
},
"chownr": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
@@ -451,11 +415,6 @@
"resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
"integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg=="
},
"commander": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
"integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA=="
},
"compress-commons": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.2.tgz",
@@ -496,23 +455,6 @@
"readable-stream": "^3.4.0"
}
},
"css-select": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz",
"integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==",
"requires": {
"boolbase": "^1.0.0",
"css-what": "^6.0.1",
"domhandler": "^4.3.1",
"domutils": "^2.8.0",
"nth-check": "^2.0.1"
}
},
"css-what": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
"integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw=="
},
"dayjs": {
"version": "1.11.10",
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz",
@@ -557,44 +499,11 @@
"integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==",
"dev": true
},
"dom-serializer": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
"integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
"requires": {
"domelementtype": "^2.0.1",
"domhandler": "^4.2.0",
"entities": "^2.0.0"
}
},
"domelementtype": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
"integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="
},
"domhandler": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
"integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
"requires": {
"domelementtype": "^2.2.0"
}
},
"dompurify": {
"version": "2.4.7",
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.7.tgz",
"integrity": "sha512-kxxKlPEDa6Nc5WJi+qRgPbOAbgTpSULL+vI3NUXsZMlkJxTqYI9wg5ZTay2sFrdZRWHPWNi+EdAhcJf81WtoMQ=="
},
"domutils": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
"integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
"requires": {
"dom-serializer": "^1.0.1",
"domelementtype": "^2.2.0",
"domhandler": "^4.2.0"
}
},
"duplexer2": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
@@ -655,23 +564,13 @@
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
"integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w=="
},
"escape-goat": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-3.0.0.tgz",
"integrity": "sha512-w3PwNZJwRxlp47QGzhuEBldEqVHHhh8/tIPcl6ecf2Bou99cdAt0knihBV0Ecc7CGxYduXVBDheH1K2oADRlvw=="
},
"escape-string-regexp": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
"integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="
},
"esm": {
"version": "3.2.25",
"resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz",
"integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA=="
},
"exceljs": {
"version": "git+https://github.com/exceljs/exceljs.git#ddab279a882aba8f18fc5127c6d59e3aa9f596c7",
"version": "git+https://github.com/exceljs/exceljs.git#5bed18b45e824f409b08456b59b87430ded023ab",
"from": "git+https://github.com/exceljs/exceljs.git",
"requires": {
"archiver": "^5.0.0",
@@ -926,17 +825,6 @@
"function-bind": "^1.1.2"
}
},
"htmlparser2": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
"integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==",
"requires": {
"domelementtype": "^2.0.1",
"domhandler": "^4.0.0",
"domutils": "^2.5.2",
"entities": "^2.0.0"
}
},
"https-proxy-agent": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
@@ -1091,18 +979,6 @@
}
}
},
"juice": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/juice/-/juice-8.1.0.tgz",
"integrity": "sha512-FLzurJrx5Iv1e7CfBSZH68dC04EEvXvvVvPYB7Vx1WAuhCp1ZPIMtqxc+WTWxVkpTIC2Ach/GAv0rQbtGf6YMA==",
"requires": {
"cheerio": "1.0.0-rc.10",
"commander": "^6.1.0",
"mensch": "^0.3.4",
"slick": "^1.12.2",
"web-resource-inliner": "^6.0.1"
}
},
"just-extend": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz",
@@ -1328,36 +1204,11 @@
"resolved": "https://registry.npmjs.org/markdown-it-emoji/-/markdown-it-emoji-2.0.2.tgz",
"integrity": "sha512-zLftSaNrKuYl0kR5zm4gxXjHaOI3FAOEaloKmRA5hijmJZvSjmxcokOLlzycb/HXlUFWzXqpIEoyEMCE4i9MvQ=="
},
"markdown-it-mathjax3": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/markdown-it-mathjax3/-/markdown-it-mathjax3-4.3.2.tgz",
"integrity": "sha512-TX3GW5NjmupgFtMJGRauioMbbkGsOXAAt1DZ/rzzYmTHqzkO1rNAdiMD4NiruurToPApn2kYy76x02QN26qr2w==",
"requires": {
"juice": "^8.0.0",
"mathjax-full": "^3.2.0"
}
},
"mathjax-full": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/mathjax-full/-/mathjax-full-3.2.2.tgz",
"integrity": "sha512-+LfG9Fik+OuI8SLwsiR02IVdjcnRCy5MufYLi0C3TdMT56L/pjB0alMVGgoWJF8pN9Rc7FESycZB9BMNWIid5w==",
"requires": {
"esm": "^3.2.25",
"mhchemparser": "^4.1.0",
"mj-context-menu": "^0.6.1",
"speech-rule-engine": "^4.0.6"
}
},
"mdurl": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
"integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g=="
},
"mensch": {
"version": "0.3.4",
"resolved": "https://registry.npmjs.org/mensch/-/mensch-0.3.4.tgz",
"integrity": "sha512-IAeFvcOnV9V0Yk+bFhYR07O3yNina9ANIN5MoXBKYJ/RLYPurd2d0yw14MDhpr9/momp0WofT1bPUh3hkzdi/g=="
},
"message-box": {
"version": "0.2.7",
"resolved": "https://registry.npmjs.org/message-box/-/message-box-0.2.7.tgz",
@@ -1372,9 +1223,9 @@
"integrity": "sha512-SBbbYWvFYvsxHVL+q6ZB8lT3rp2LSvfALD2V52H+MGH2IgJsevy0VtXRkRG0EsUewwOaDTIKBn9DlD8HQ3GSwg=="
},
"meteor-node-stubs": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/meteor-node-stubs/-/meteor-node-stubs-1.2.5.tgz",
"integrity": "sha512-FLlOFZx3KnZ5s3yPCK+x58DyX9ewN+oQ12LcpwBXMLtzJ/YyprMQVivd6KIrahZbKJrNenPNUGuDS37WUFg+Mw==",
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/meteor-node-stubs/-/meteor-node-stubs-1.2.7.tgz",
"integrity": "sha512-20bAFUhEIOD/Cos2nmvhqf2NOKpTf63WVQ+nwuaX2OFj31sU6GL4KkNylkWum8McwsH0LsMr/F+UHhduTX7KRg==",
"requires": {
"assert": "^2.0.0",
"browserify-zlib": "^0.2.0",
@@ -2148,16 +1999,6 @@
}
}
},
"mhchemparser": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/mhchemparser/-/mhchemparser-4.2.1.tgz",
"integrity": "sha512-kYmyrCirqJf3zZ9t/0wGgRZ4/ZJw//VwaRVGA75C4nhE60vtnIzhl9J9ndkX/h6hxSN7pjg/cE0VxbnNM+bnDQ=="
},
"mime": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
"integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg=="
},
"mime-db": {
"version": "1.52.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
@@ -2229,20 +2070,15 @@
}
}
},
"mj-context-menu": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/mj-context-menu/-/mj-context-menu-0.6.1.tgz",
"integrity": "sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA=="
},
"mkdirp": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
},
"moment": {
"version": "2.29.4",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
"integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w=="
"version": "2.30.1",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz",
"integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how=="
},
"mongo-object": {
"version": "0.1.4",
@@ -2322,9 +2158,9 @@
}
},
"nodemailer": {
"version": "6.9.7",
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.7.tgz",
"integrity": "sha512-rUtR77ksqex/eZRLmQ21LKVH5nAAsVicAtAYudK7JgwenEDZ0UIQ1adUGqErz7sMkWYxWTTU1aeP2Jga6WQyJw=="
"version": "6.9.8",
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.8.tgz",
"integrity": "sha512-cfrYUk16e67Ks051i4CntM9kshRYei1/o/Gi8K1d+R34OIs21xdFnW7Pt7EucmVKA0LKtqUGNcjMZ7ehjl49mQ=="
},
"nopt": {
"version": "5.0.0",
@@ -2350,14 +2186,6 @@
"set-blocking": "^2.0.0"
}
},
"nth-check": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
"integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
"requires": {
"boolbase": "^1.0.0"
}
},
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@@ -2404,19 +2232,6 @@
"resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz",
"integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA=="
},
"parse5": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
"integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw=="
},
"parse5-htmlparser2-tree-adapter": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz",
"integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==",
"requires": {
"parse5": "^6.0.1"
}
},
"path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
@@ -2461,9 +2276,9 @@
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
},
"punycode": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
"integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA=="
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
"integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="
},
"qs": {
"version": "6.11.2",
@@ -2529,9 +2344,9 @@
}
},
"regenerator-runtime": {
"version": "0.14.0",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz",
"integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA=="
"version": "0.14.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
"integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
},
"rimraf": {
"version": "3.0.2",
@@ -2632,11 +2447,6 @@
"supports-color": "^7.2.0"
}
},
"slick": {
"version": "1.12.2",
"resolved": "https://registry.npmjs.org/slick/-/slick-1.12.2.tgz",
"integrity": "sha512-4qdtOGcBjral6YIBCWJ0ljFSKNLz9KkhbWtuGvUyRowl1kxfuE1x/Z/aJcaiilpb3do9bl5K7/1h9XC5wWpY/A=="
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -2651,23 +2461,6 @@
"source-map": "^0.6.0"
}
},
"speech-rule-engine": {
"version": "4.0.7",
"resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.7.tgz",
"integrity": "sha512-sJrL3/wHzNwJRLBdf6CjJWIlxC04iYKkyXvYSVsWVOiC2DSkHmxsqOhEeMsBA9XK+CHuNcsdkbFDnoUfAsmp9g==",
"requires": {
"commander": "9.2.0",
"wicked-good-xpath": "1.3.0",
"xmldom-sre": "0.1.31"
},
"dependencies": {
"commander": {
"version": "9.2.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-9.2.0.tgz",
"integrity": "sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w=="
}
}
},
"split-on-first": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz",
@@ -2787,11 +2580,6 @@
"resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz",
"integrity": "sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ=="
},
"tslib": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
},
"type-detect": {
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
@@ -2879,11 +2667,6 @@
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
},
"valid-data-url": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/valid-data-url/-/valid-data-url-3.0.1.tgz",
"integrity": "sha512-jOWVmzVceKlVVdwjNSenT4PbGghU0SBIizAev8ofZVgivk/TVHXSbNL8LP6M3spZvkR9/QolkyJavGSX5Cs0UA=="
},
"vasync": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/vasync/-/vasync-2.2.1.tgz",
@@ -2935,40 +2718,6 @@
"util": "^0.12.3"
}
},
"web-resource-inliner": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/web-resource-inliner/-/web-resource-inliner-6.0.1.tgz",
"integrity": "sha512-kfqDxt5dTB1JhqsCUQVFDj0rmY+4HLwGQIsLPbyrsN9y9WV/1oFDSx3BQ4GfCv9X+jVeQ7rouTqwK53rA/7t8A==",
"requires": {
"ansi-colors": "^4.1.1",
"escape-goat": "^3.0.0",
"htmlparser2": "^5.0.0",
"mime": "^2.4.6",
"node-fetch": "^2.6.0",
"valid-data-url": "^3.0.0"
},
"dependencies": {
"domhandler": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz",
"integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==",
"requires": {
"domelementtype": "^2.0.1"
}
},
"htmlparser2": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-5.0.1.tgz",
"integrity": "sha512-vKZZra6CSe9qsJzh0BjBGXo8dvzNsq/oGvsjfRdOrrryfeD9UOBEEQdeoqCRmKZchF5h2zOBMQ6YuQ0uRUmdbQ==",
"requires": {
"domelementtype": "^2.0.1",
"domhandler": "^3.3.0",
"domutils": "^2.4.2",
"entities": "^2.0.0"
}
}
}
},
"webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
@@ -2995,11 +2744,6 @@
"has-tostringtag": "^1.0.0"
}
},
"wicked-good-xpath": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/wicked-good-xpath/-/wicked-good-xpath-1.3.0.tgz",
"integrity": "sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw=="
},
"wide-align": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
@@ -3037,11 +2781,6 @@
"resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
"integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="
},
"xmldom-sre": {
"version": "0.1.31",
"resolved": "https://registry.npmjs.org/xmldom-sre/-/xmldom-sre-0.1.31.tgz",
"integrity": "sha512-f9s+fUkX04BxQf+7mMWAp5zk61pciie+fFLC9hX9UVvCeJQfNHRHXpeo5MPcR0EUf57PYLdt+ZO4f3Ipk2oZUw=="
},
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+4 -5
View File
@@ -1,6 +1,6 @@
{
"name": "wekan",
"version": "v7.22.0",
"version": "v7.30.0",
"description": "Open-Source kanban",
"private": true,
"repository": {
@@ -17,7 +17,7 @@
"sinon": "^13.0.2"
},
"dependencies": {
"@babel/runtime": "^7.23.4",
"@babel/runtime": "^7.23.8",
"@mapbox/node-pre-gyp": "^1.0.10",
"@rwap/jquery-ui-touch-punch": "^1.0.11",
"@wekanteam/html-to-markdown": "^1.0.2",
@@ -41,12 +41,11 @@
"ldapjs": "^2.3.3",
"markdown-it": "^12.3.2",
"markdown-it-emoji": "^2.0.0",
"markdown-it-mathjax3": "^4.3.1",
"meteor-accounts-t9n": "^2.6.0",
"meteor-node-stubs": "^1.2.5",
"meteor-node-stubs": "^1.2.7",
"minio": "^7.1.3",
"moment": "^2.29.4",
"nodemailer": "^6.6.3",
"nodemailer": "^6.9.8",
"os": "^0.1.2",
"page": "^1.11.6",
"papaparse": "^5.3.1",
@@ -36,9 +36,10 @@ for(var i=0; i<urlschemes.length;i++){
}
var emoji = require('markdown-it-emoji');
var mathjax = require('markdown-it-mathjax3');
Markdown.use(emoji);
Markdown.use(mathjax);
//var mathjax = require('markdown-it-mathjax3');
//Markdown.use(mathjax);
// Try to fix Mermaid Diagram error: Maximum call stack size exceeded.
// Added bigger text size for Diagram.
+14 -2
View File
@@ -27,11 +27,14 @@ OAuth.registerService('oidc', 2, null, function (query) {
var accessToken = token.access_token || token.id_token;
var expiresAt = (+new Date) + (1000 * parseInt(token.expires_in, 10));
var claimsInAccessToken = (process.env.OAUTH2_ADFS_ENABLED === 'true' || process.env.OAUTH2_ADFS_ENABLED === true) || false;
var claimsInAccessToken = (process.env.OAUTH2_ADFS_ENABLED === 'true' ||
process.env.OAUTH2_ADFS_ENABLED === true ||
process.env.OAUTH2_B2C_ENABLED === 'true' ||
process.env.OAUTH2_B2C_ENABLED === true) || false;
if(claimsInAccessToken)
{
// hack when using custom claims in the accessToken. On premise ADFS
// hack when using custom claims in the accessToken. On premise ADFS. And Azure AD B2C.
userinfo = getTokenContent(accessToken);
}
else
@@ -64,6 +67,10 @@ OAuth.registerService('oidc', 2, null, function (query) {
serviceData.email = userinfo[process.env.OAUTH2_EMAIL_MAP]; // || userinfo["email"];
}
if (process.env.OAUTH2_B2C_ENABLED === 'true' || process.env.OAUTH2_B2C_ENABLED === true) {
serviceData.email = userinfo["emails"][0];
}
if (accessToken) {
var tokenContent = getTokenContent(accessToken);
var fields = _.pick(tokenContent, getConfiguration().idTokenWhitelistFields);
@@ -76,6 +83,11 @@ OAuth.registerService('oidc', 2, null, function (query) {
profile.name = userinfo[process.env.OAUTH2_FULLNAME_MAP]; // || userinfo["displayName"];
profile.email = userinfo[process.env.OAUTH2_EMAIL_MAP]; // || userinfo["email"];
if (process.env.OAUTH2_B2C_ENABLED === 'true' || process.env.OAUTH2_B2C_ENABLED === true) {
profile.email = userinfo["emails"][0];
}
if (debug) console.log('XXX: profile:', profile);
+15 -5
View File
@@ -7,7 +7,7 @@
<meta charset="utf-8">
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>Wekan REST API v7.22</title>
<title>Wekan REST API v7.30</title>
<style>
</style>
@@ -1548,7 +1548,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
<ul class="toc-list-h1">
<li>
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v7.22">Wekan REST API v7.22</a>
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v7.30">Wekan REST API v7.30</a>
</li>
@@ -2057,7 +2057,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
<div class="page-wrapper">
<div class="dark-box"></div>
<div class="content">
<h1 id="wekan-rest-api">Wekan REST API v7.22</h1>
<h1 id="wekan-rest-api">Wekan REST API v7.30</h1>
<blockquote>
<p>Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.</p>
</blockquote>
@@ -9670,7 +9670,8 @@ Accept: application/json
&quot;assignees&quot;: &quot;string&quot;,
&quot;swimlaneId&quot;: &quot;string&quot;,
&quot;listId&quot;: &quot;string&quot;,
&quot;authorId&quot;: &quot;string&quot;
&quot;authorId&quot;: &quot;string&quot;,
&quot;archive&quot;: &quot;string&quot;
}&#x27;</span>;
<span class="hljs-keyword">const</span> headers = {
<span class="hljs-string">&#x27;Content-Type&#x27;</span>:<span class="hljs-string">&#x27;multipart/form-data&#x27;</span>,
@@ -9717,7 +9718,8 @@ fetch(<span class="hljs-string">&#x27;/api/boards/{board}/lists/{list}/cards/{ca
<span class="hljs-string">&quot;assignees&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
<span class="hljs-string">&quot;swimlaneId&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
<span class="hljs-string">&quot;listId&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
<span class="hljs-string">&quot;authorId&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>
<span class="hljs-string">&quot;authorId&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>,
<span class="hljs-string">&quot;archive&quot;</span>: <span class="hljs-string">&quot;string&quot;</span>
};
<span class="hljs-keyword">const</span> headers = {
<span class="hljs-string">&#x27;Content-Type&#x27;</span>:<span class="hljs-string">&#x27;multipart/form-data&#x27;</span>,
@@ -9870,6 +9872,7 @@ System.out.println(response.toString());
<span class="hljs-attr">swimlaneId:</span> <span class="hljs-string">string</span>
<span class="hljs-attr">listId:</span> <span class="hljs-string">string</span>
<span class="hljs-attr">authorId:</span> <span class="hljs-string">string</span>
<span class="hljs-attr">archive:</span> <span class="hljs-string">string</span>
</code></pre>
<h3 id="edit_card-parameters">Parameters</h3>
@@ -10087,6 +10090,13 @@ System.out.println(response.toString());
<td>false</td>
<td>change the owner of the card</td>
</tr>
<tr>
<td>» archive</td>
<td>body</td>
<td>string</td>
<td>true</td>
<td>the archive value</td>
</tr>
</tbody>
</table>
<h4 id="detailed-descriptions-26">Detailed descriptions</h4>
+6 -1
View File
@@ -1,7 +1,7 @@
swagger: '2.0'
info:
title: Wekan REST API
version: v7.22
version: v7.30
description: |
The REST API allows you to control and extend Wekan with ease.
@@ -2077,6 +2077,11 @@ paths:
change the owner of the card
type: string
required: false
- name: archive
in: formData
description: the archive value
type: string
required: true
- name: board
in: path
description: |
+2
View File
@@ -154,6 +154,8 @@
#export OAUTH2_ENABLED=true
# Use OAuth2 ADFS additional changes. Also needs OAUTH2_ENABLED=true setting.
#export OAUTH2_ADFS_ENABLED=false
# Azure AD B2C. https://github.com/wekan/wekan/issues/5242
#- OAUTH2_B2C_ENABLED=false
# OAuth2 docs: https://github.com/wekan/wekan/wiki/OAuth2
# OAuth2 login style: popup or redirect.
#export OAUTH2_LOGIN_STYLE=redirect
+3 -2
View File
@@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
appTitle = (defaultText = "Wekan"),
# The name of the app as it is displayed to the user.
appVersion = 722,
appVersion = 730,
# Increment this for every release.
appMarketingVersion = (defaultText = "7.22.0~2023-12-01"),
appMarketingVersion = (defaultText = "7.30.0~2024-01-28"),
# Human-readable presentation of the app version.
minUpgradableAppVersion = 0,
@@ -258,6 +258,7 @@ const myCommand :Spk.Manifest.Command = (
(key = "OAUTH2_ENABLED", value="false"),
(key = "OAUTH2_CA_CERT", value=""),
(key = "OAUTH2_ADFS_ENABLED", value="false"),
(key = "OAUTH2_B2C_ENABLED", value="false"),
(key = "OAUTH2_CLIENT_ID", value="false"),
(key = "OAUTH2_SECRET", value=""),
(key = "OAUTH2_SERVER_URL", value=""),
+5 -1
View File
@@ -3,7 +3,7 @@
# All supported keys are defined here together with descriptions and default values
# list of supported keys
keys="DEBUG S3 MONGO_LOG_DESTINATION MONGO_URL MONGODB_BIND_UNIX_SOCKET MONGO_URL MONGODB_BIND_IP MONGODB_PORT MAIL_URL MAIL_FROM MAIL_SERVICE MAIL_SERVICE_USER MAIL_SERVICE_PASSWORD ROOT_URL PORT DISABLE_MONGODB CADDY_ENABLED CADDY_BIND_PORT WITH_API RICHER_CARD_COMMENT_EDITOR CARD_OPENED_WEBHOOK_ENABLED ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURES_BEFORE ACCOUNTS_LOCKOUT_KNOWN_USERS_PERIOD ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURE_WINDOW ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURES_BERORE ACCOUNTS_LOCKOUT_UNKNOWN_USERS_LOCKOUT_PERIOD ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURE_WINDOW ACCOUNTS_COMMON_LOGIN_EXPIRATION_IN_DAYS ATTACHMENTS_UPLOAD_EXTERNAL_PROGRAM ATTACHMENTS_UPLOAD_MIME_TYPES ATTACHMENTS_UPLOAD_MAX_SIZE AVATARS_UPLOAD_EXTERNAL_PROGRAM AVATARS_UPLOAD_MIME_TYPES AVATARS_UPLOAD_MAX_SIZE MAX_IMAGE_PIXEL IMAGE_COMPRESS_RATIO BIGEVENTS_PATTERN NOTIFICATION_TRAY_AFTER_READ_DAYS_BEFORE_REMOVE NOTIFY_DUE_DAYS_BEFORE_AND_AFTER NOTIFY_DUE_AT_HOUR_OF_DAY DEFAULT_BOARD_ID EMAIL_NOTIFICATION_TIMEOUT CORS CORS_ALLOW_HEADERS CORS_EXPOSE_HEADERS MATOMO_ADDRESS MATOMO_SITE_ID MATOMO_DO_NOT_TRACK MATOMO_WITH_USERNAME METRICS_ALLOWED_IP_ADDRESSES BROWSER_POLICY_ENABLED TRUSTED_URL WEBHOOKS_ATTRIBUTES OAUTH2_ENABLED OIDC_REDIRECTION_ENABLED OAUTH2_CA_CERT OAUTH2_LOGIN_STYLE OAUTH2_CLIENT_ID OAUTH2_SECRET OAUTH2_SERVER_URL OAUTH2_AUTH_ENDPOINT OAUTH2_USERINFO_ENDPOINT OAUTH2_TOKEN_ENDPOINT OAUTH2_ID_MAP OAUTH2_USERNAME_MAP OAUTH2_FULLNAME_MAP OAUTH2_ID_TOKEN_WHITELIST_FIELDS OAUTH2_EMAIL_MAP OAUTH2_REQUEST_PERMISSIONS OAUTH2_ADFS_ENABLED LDAP_ENABLE LDAP_PORT LDAP_HOST LDAP_AD_SIMPLE_AUTH LDAP_BASEDN LDAP_LOGIN_FALLBACK LDAP_RECONNECT LDAP_TIMEOUT LDAP_IDLE_TIMEOUT LDAP_CONNECT_TIMEOUT LDAP_AUTHENTIFICATION LDAP_AUTHENTIFICATION_USERDN LDAP_AUTHENTIFICATION_PASSWORD LDAP_LOG_ENABLED LDAP_BACKGROUND_SYNC LDAP_BACKGROUND_SYNC_INTERVAL LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS LDAP_ENCRYPTION LDAP_CA_CERT LDAP_REJECT_UNAUTHORIZED LDAP_USER_AUTHENTICATION LDAP_USER_AUTHENTICATION_FIELD LDAP_USER_SEARCH_FILTER LDAP_USER_SEARCH_SCOPE LDAP_USER_SEARCH_FIELD LDAP_SEARCH_PAGE_SIZE LDAP_SEARCH_SIZE_LIMIT LDAP_GROUP_FILTER_ENABLE LDAP_GROUP_FILTER_OBJECTCLASS LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT LDAP_GROUP_FILTER_GROUP_NAME LDAP_UNIQUE_IDENTIFIER_FIELD LDAP_UTF8_NAMES_SLUGIFY LDAP_USERNAME_FIELD LDAP_FULLNAME_FIELD LDAP_MERGE_EXISTING_USERS LDAP_SYNC_USER_DATA LDAP_SYNC_USER_DATA_FIELDMAP LDAP_SYNC_GROUP_ROLES LDAP_DEFAULT_DOMAIN LDAP_EMAIL_MATCH_ENABLE LDAP_EMAIL_MATCH_REQUIRE LDAP_EMAIL_MATCH_VERIFIED LDAP_EMAIL_FIELD LDAP_SYNC_ADMIN_STATUS LDAP_SYNC_ADMIN_GROUPS HEADER_LOGIN_ID HEADER_LOGIN_FIRSTNAME HEADER_LOGIN_LASTNAME HEADER_LOGIN_EMAIL LOGOUT_WITH_TIMER LOGOUT_IN LOGOUT_ON_HOURS LOGOUT_ON_MINUTES DEFAULT_AUTHENTICATION_METHOD PASSWORD_LOGIN_ENABLED CAS_ENABLED CAS_BASE_URL CAS_LOGIN_URL CAS_VALIDATE_URL SAML_ENABLED SAML_PROVIDER SAML_ENTRYPOINT SAML_ISSUER SAML_CERT SAML_IDPSLO_REDIRECTURL SAML_PRIVATE_KEYFILE SAML_PUBLIC_CERTFILE SAML_IDENTIFIER_FORMAT SAML_LOCAL_PROFILE_MATCH_ATTRIBUTE SAML_ATTRIBUTES ORACLE_OIM_ENABLED RESULTS_PER_PAGE WAIT_SPINNER NODE_OPTIONS"
keys="DEBUG S3 MONGO_LOG_DESTINATION MONGO_URL MONGODB_BIND_UNIX_SOCKET MONGO_URL MONGODB_BIND_IP MONGODB_PORT MAIL_URL MAIL_FROM MAIL_SERVICE MAIL_SERVICE_USER MAIL_SERVICE_PASSWORD ROOT_URL PORT DISABLE_MONGODB CADDY_ENABLED CADDY_BIND_PORT WITH_API RICHER_CARD_COMMENT_EDITOR CARD_OPENED_WEBHOOK_ENABLED ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURES_BEFORE ACCOUNTS_LOCKOUT_KNOWN_USERS_PERIOD ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURE_WINDOW ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURES_BERORE ACCOUNTS_LOCKOUT_UNKNOWN_USERS_LOCKOUT_PERIOD ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURE_WINDOW ACCOUNTS_COMMON_LOGIN_EXPIRATION_IN_DAYS ATTACHMENTS_UPLOAD_EXTERNAL_PROGRAM ATTACHMENTS_UPLOAD_MIME_TYPES ATTACHMENTS_UPLOAD_MAX_SIZE AVATARS_UPLOAD_EXTERNAL_PROGRAM AVATARS_UPLOAD_MIME_TYPES AVATARS_UPLOAD_MAX_SIZE MAX_IMAGE_PIXEL IMAGE_COMPRESS_RATIO BIGEVENTS_PATTERN NOTIFICATION_TRAY_AFTER_READ_DAYS_BEFORE_REMOVE NOTIFY_DUE_DAYS_BEFORE_AND_AFTER NOTIFY_DUE_AT_HOUR_OF_DAY DEFAULT_BOARD_ID EMAIL_NOTIFICATION_TIMEOUT CORS CORS_ALLOW_HEADERS CORS_EXPOSE_HEADERS MATOMO_ADDRESS MATOMO_SITE_ID MATOMO_DO_NOT_TRACK MATOMO_WITH_USERNAME METRICS_ALLOWED_IP_ADDRESSES BROWSER_POLICY_ENABLED TRUSTED_URL WEBHOOKS_ATTRIBUTES OAUTH2_ENABLED OIDC_REDIRECTION_ENABLED OAUTH2_CA_CERT OAUTH2_LOGIN_STYLE OAUTH2_CLIENT_ID OAUTH2_SECRET OAUTH2_SERVER_URL OAUTH2_AUTH_ENDPOINT OAUTH2_USERINFO_ENDPOINT OAUTH2_TOKEN_ENDPOINT OAUTH2_ID_MAP OAUTH2_USERNAME_MAP OAUTH2_FULLNAME_MAP OAUTH2_ID_TOKEN_WHITELIST_FIELDS OAUTH2_EMAIL_MAP OAUTH2_REQUEST_PERMISSIONS OAUTH2_ADFS_ENABLED OAUTH2_B2C_ENABLED LDAP_ENABLE LDAP_PORT LDAP_HOST LDAP_AD_SIMPLE_AUTH LDAP_BASEDN LDAP_LOGIN_FALLBACK LDAP_RECONNECT LDAP_TIMEOUT LDAP_IDLE_TIMEOUT LDAP_CONNECT_TIMEOUT LDAP_AUTHENTIFICATION LDAP_AUTHENTIFICATION_USERDN LDAP_AUTHENTIFICATION_PASSWORD LDAP_LOG_ENABLED LDAP_BACKGROUND_SYNC LDAP_BACKGROUND_SYNC_INTERVAL LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS LDAP_ENCRYPTION LDAP_CA_CERT LDAP_REJECT_UNAUTHORIZED LDAP_USER_AUTHENTICATION LDAP_USER_AUTHENTICATION_FIELD LDAP_USER_SEARCH_FILTER LDAP_USER_SEARCH_SCOPE LDAP_USER_SEARCH_FIELD LDAP_SEARCH_PAGE_SIZE LDAP_SEARCH_SIZE_LIMIT LDAP_GROUP_FILTER_ENABLE LDAP_GROUP_FILTER_OBJECTCLASS LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT LDAP_GROUP_FILTER_GROUP_NAME LDAP_UNIQUE_IDENTIFIER_FIELD LDAP_UTF8_NAMES_SLUGIFY LDAP_USERNAME_FIELD LDAP_FULLNAME_FIELD LDAP_MERGE_EXISTING_USERS LDAP_SYNC_USER_DATA LDAP_SYNC_USER_DATA_FIELDMAP LDAP_SYNC_GROUP_ROLES LDAP_DEFAULT_DOMAIN LDAP_EMAIL_MATCH_ENABLE LDAP_EMAIL_MATCH_REQUIRE LDAP_EMAIL_MATCH_VERIFIED LDAP_EMAIL_FIELD LDAP_SYNC_ADMIN_STATUS LDAP_SYNC_ADMIN_GROUPS HEADER_LOGIN_ID HEADER_LOGIN_FIRSTNAME HEADER_LOGIN_LASTNAME HEADER_LOGIN_EMAIL LOGOUT_WITH_TIMER LOGOUT_IN LOGOUT_ON_HOURS LOGOUT_ON_MINUTES DEFAULT_AUTHENTICATION_METHOD PASSWORD_LOGIN_ENABLED CAS_ENABLED CAS_BASE_URL CAS_LOGIN_URL CAS_VALIDATE_URL SAML_ENABLED SAML_PROVIDER SAML_ENTRYPOINT SAML_ISSUER SAML_CERT SAML_IDPSLO_REDIRECTURL SAML_PRIVATE_KEYFILE SAML_PUBLIC_CERTFILE SAML_IDENTIFIER_FORMAT SAML_LOCAL_PROFILE_MATCH_ATTRIBUTE SAML_ATTRIBUTES ORACLE_OIM_ENABLED RESULTS_PER_PAGE WAIT_SPINNER NODE_OPTIONS"
DESCRIPTION_S3='AWS S3 for files. Example: {"s3":{"key": "xxx", "secret": "xxx", "bucket": "xxx", "region": "eu-west-1"}}'
DEFAULT_S3=""
@@ -267,6 +267,10 @@ DESCRIPTION_OAUTH2_ADFS_ENABLED="Enable OAuth2 ADFS. Default: false"
DEFAULT_OAUTH2_ADFS_ENABLED="false"
KEY_OAUTH2_ADFS_ENABLED="oauth2-adfs-enabled"
DESCRIPTION_OAUTH2_B2C_ENABLED="Enable OAuth2 Azure AD B2C https://github.com/wekan/wekan/issues/5242. Default: false"
DEFAULT_OAUTH2_B2C_ENABLED="false"
KEY_OAUTH2_B2C_ENABLED="oauth2-b2c-enabled"
DESCRIPTION_OAUTH2_LOGIN_STYLE="OAuth2 login style: popup or redirect. Default: redirect"
DEFAULT_OAUTH2_LOGIN_STYLE="redirect"
KEY_OAUTH2_LOGIN_STYLE="oauth2-login-style"
+2 -1
View File
@@ -9,7 +9,8 @@ if [ -z "$LANG" ]; then
fi
export LC_ALL=C
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/snap/wekan/current/lib/x86_64-linux-gnu
export PATH=/snap/${SNAP_NAME}/current/usr/bin:/snap/${SNAP_NAME}/current/bin:$PATH
export LD_LIBRARY_PATH=/snap/${SNAP_NAME}/current/lib:/snap/${SNAP_NAME}/current/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
if [ -z $1 ]; then
DATE=`/bin/date +%Y%m%dT%H%M%S`
+64 -64
View File
@@ -15,54 +15,55 @@ if [ -z "$LANG" ]; then
fi
export LC_ALL=C
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/snap/${SNAP_NAME}/current/lib/x86_64-linux-gnu
export PATH=/snap/${SNAP_NAME}/current/usr/bin:/snap/${SNAP_NAME}/current/bin:$PATH
export LD_LIBRARY_PATH=/snap/${SNAP_NAME}/current/lib:/snap/${SNAP_NAME}/current/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
if test -f "$SNAP_COMMON/01-migrate-mongo3-to-mongo5.txt"; then
touch "$SNAP_COMMON/01-migrate-mongo3-to-mongo5.txt"
# Stop MongoDB
touch "$SNAP_COMMON/02-disable-mongo.txt"
snapctl stop --disable ${SNAP_NAME}.mongodb
touch "$SNAP_COMMON/03-eval-stop-mongo.txt"
mongo wekan --eval "db.getSiblingDB('admin').shutdownServer()" $BIND_OPTIONS
# Start MongoDB 4.4
touch "$SNAP_COMMON/04-start-mongo44.txt"
$SNAP/mongo44bin/mongod --dbpath $SNAP_COMMON --logpath $SNAP_COMMON/02_mongodb_log_while_migrate.txt --logappend --journal $MONGO_URL --quiet
# Wait MongoDB 4.4 to start
touch "$SNAP_COMMON/05-wait-2s-mongo44-start.txt"
sleep 2s
# Dump Old MongoDB 3.x database
touch "$SNAP_COMMON/06-dump-database.txt"
(cd $SNAP_COMMON && mongodump --port ${MONGODB_PORT})
# Stop MongoDB 4.4
touch "$SNAP_COMMON/07-stop-mongo44.txt"
$SNAP/mongo44bin/mongo wekan --eval "db.getSiblingDB('admin').shutdownServer()" $BIND_OPTIONS
# Wait MongoDB 4.4 to stop
touch "$SNAP_COMMON/08-wait-2s-mongo44-stop.txt"
sleep 2s
# Start MongoDB 5
touch "$SNAP_COMMON/09-start-mongo5.txt"
mongod --dbpath $SNAP_COMMON --logpath $SNAP_COMMON/10_mongodb_log_while_migrate.txt --logappend --journal $MONGO_URL --quiet
# Restore database
touch "$SNAP_COMMON/11-mongorestore-to-mongo5.txt"
(cd $SNAP_COMMON && mongorestore --port ${MONGODB_PORT})
# Wait 5s
touch "$SNAP_COMMON/12-wait-5s-after-restore.txt"
sleep 5s
# Shutdown mongodb
touch "$SNAP_COMMON/13-shutdown-mongodb.txt"
mongo wekan --eval "db.getSiblingDB('admin').shutdownServer()" $BIND_OPTIONS
touch "$SNAP_COMMON/14-wait-5s-after-mongo5-shutdown.txt"
sleep 5s
# Enable MongoDB 5
touch "$SNAP_COMMON/15-enable-mongo-5.txt"
snapctl start --enable ${SNAP_NAME}.mongodb
fi
#if test -f "$SNAP_COMMON/01-migrate-mongo3-to-mongo5.txt"; then
# touch "$SNAP_COMMON/01-migrate-mongo3-to-mongo5.txt"
# # Stop MongoDB
# touch "$SNAP_COMMON/02-disable-mongo.txt"
# snapctl stop --disable ${SNAP_NAME}.mongodb
# touch "$SNAP_COMMON/03-eval-stop-mongo.txt"
# mongo wekan --eval "db.getSiblingDB('admin').shutdownServer()" $BIND_OPTIONS
# # Start MongoDB 4.4
# touch "$SNAP_COMMON/04-start-mongo44.txt"
# $SNAP/mongo44bin/mongod --dbpath $SNAP_COMMON --logpath $SNAP_COMMON/02_mongodb_log_while_migrate.txt --logappend --journal $MONGO_URL --quiet
# # Wait MongoDB 4.4 to start
# touch "$SNAP_COMMON/05-wait-2s-mongo44-start.txt"
# sleep 2s
# # Dump Old MongoDB 3.x database
# touch "$SNAP_COMMON/06-dump-database.txt"
# (cd $SNAP_COMMON && mongodump --port ${MONGODB_PORT})
# # Stop MongoDB 4.4
# touch "$SNAP_COMMON/07-stop-mongo44.txt"
# $SNAP/mongo44bin/mongo wekan --eval "db.getSiblingDB('admin').shutdownServer()" $BIND_OPTIONS
# # Wait MongoDB 4.4 to stop
# touch "$SNAP_COMMON/08-wait-2s-mongo44-stop.txt"
# sleep 2s
# # Start MongoDB 5
# touch "$SNAP_COMMON/09-start-mongo5.txt"
# mongod --dbpath $SNAP_COMMON --logpath $SNAP_COMMON/10_mongodb_log_while_migrate.txt --logappend --journal $MONGO_URL --quiet
# # Restore database
# touch "$SNAP_COMMON/11-mongorestore-to-mongo5.txt"
# (cd $SNAP_COMMON && mongorestore --port ${MONGODB_PORT})
# # Wait 5s
# touch "$SNAP_COMMON/12-wait-5s-after-restore.txt"
# sleep 5s
# # Shutdown mongodb
# touch "$SNAP_COMMON/13-shutdown-mongodb.txt"
# mongo wekan --eval "db.getSiblingDB('admin').shutdownServer()" $BIND_OPTIONS
# touch "$SNAP_COMMON/14-wait-5s-after-mongo5-shutdown.txt"
# sleep 5s
# # Enable MongoDB 5
# touch "$SNAP_COMMON/15-enable-mongo-5.txt"
# snapctl start --enable ${SNAP_NAME}.mongodb
#fi
# When starting MongoDB, if logfile exist, delete it, because now uses syslog instead of logfile,
# because syslog usually already has log rotation.
# https://github.com/wekan/wekan-snap/issues/92
if test -f "$SNAP_COMMON/mongodb.log"; then
rm -f "$SNAP_COMMON/mongodb.log"
fi
#if test -f "$SNAP_COMMON/mongodb.log"; then
# rm -f "$SNAP_COMMON/mongodb.log"
#fi
# Alternative: When starting MongoDB, and using logfile, truncate log to last 1000 lines of text.
# 1) If file exists:
@@ -77,13 +78,6 @@ fi
if [ -z "$MONGO_URL" ]; then
# Disable MongoDB telemetry and free monitoring
mongo --eval "disableTelemetry()"
mongo --eval "db.disableFreeMonitoring()"
# Snap: Disable apparmor="DENIED" at syslog
# https://github.com/wekan/wekan/issues/4855
mongo wekan --eval 'db.adminCommand({ setParameter: 1, diagnosticDataCollectionEnabled: false});' $BIND_OPTIONS
# start mongo deamon
BIND_OPTIONS=""
if [ "nill" != "$MONGODB_BIND_UNIX_SOCKET" ] && [ "x" != "x${MONGODB_BIND_UNIX_SOCKET}" ]; then
@@ -113,20 +107,20 @@ if [ -z "$MONGO_URL" ]; then
mongod --dbpath $SNAP_COMMON --logpath /dev/null --journal $BIND_OPTIONS --quiet
fi
# Drop indexes on database upgrade, when starting MongoDB
#mongo wekan --eval "db.getCollectionNames().forEach(function(col_name) { var coll = db.getCollection(col_name); coll.dropIndexes(); });" $BIND_OPTIONS
mongo wekan --eval 'db.adminCommand({ setFeatureCompatibilityVersion: "4.4" });' $BIND_OPTIONS
# Delete incomplete uploads so that they would not prevent starting WeKan
mongo wekan --eval 'db.getCollection("cfs.attachments.filerecord").find( { "uploadedAt": { "$exists": true }, "copies.attachments" : null,"failures.copies.attachments.doneTrying" : {"$ne" : true}});' $BIND_OPTIONS
else
# Disable MongoDB telemetry and free monitoring
mongo --eval "disableTelemetry()"
mongo --eval "db.disableFreeMonitoring()"
mongosh wekan --eval 'disableTelemetry();' $BIND_OPTIONS
mongosh wekan --eval 'db.disableFreeMonitoring();' $BIND_OPTIONS
# Snap: Disable apparmor="DENIED" at syslog
# https://github.com/wekan/wekan/issues/4855
mongo wekan --eval 'db.adminCommand({ setParameter: 1, diagnosticDataCollectionEnabled: false});' $BIND_OPTIONS
mongosh wekan --eval 'db.adminCommand({ setParameter: 1, diagnosticDataCollectionEnabled: false});' $BIND_OPTIONS
# Drop indexes on database upgrade, when starting MongoDB
#mongosh wekan --eval "db.getCollectionNames().forEach(function(col_name) { var coll = db.getCollection(col_name); coll.dropIndexes(); });" $BIND_OPTIONS
mongosh wekan --eval 'db.adminCommand({ setFeatureCompatibilityVersion: "4.4" });' $BIND_OPTIONS
# Delete incomplete uploads so that they would not prevent starting WeKan
mongosh wekan --eval 'db.getCollection("cfs.attachments.filerecord").find( { "uploadedAt": { "$exists": true }, "copies.attachments" : null,"failures.copies.attachments.doneTrying" : {"$ne" : true}});' $BIND_OPTIONS
else
if [ "syslog" == "${MONGO_LOG_DESTINATION}" ]; then
echo "Sending mongodb logs to syslog"
@@ -143,10 +137,16 @@ else
mongod --dbpath $SNAP_COMMON --logpath /dev/null --journal $MONGO_URL --quiet
fi
# Disable MongoDB telemetry and free monitoring
mongosh wekan --eval 'disableTelemetry();' $BIND_OPTIONS
mongosh wekan --eval 'db.disableFreeMonitoring();' $BIND_OPTIONS
# Snap: Disable apparmor="DENIED" at syslog
# https://github.com/wekan/wekan/issues/4855
mongosh wekan --eval 'db.adminCommand({ setParameter: 1, diagnosticDataCollectionEnabled: false});' $BIND_OPTIONS
# Drop indexes on database upgrade, when starting MongoDB
#mongo wekan --eval "db.getCollectionNames().forEach(function(col_name) { var coll = db.getCollection(col_name); coll.dropIndexes(); });" $BIND_OPTIONS
mongo wekan --eval 'db.adminCommand({ setFeatureCompatibilityVersion: "4.2" });' $BIND_OPTIONS
#mongosh wekan --eval "db.getCollectionNames().forEach(function(col_name) { var coll = db.getCollection(col_name); coll.dropIndexes(); });" $BIND_OPTIONS
mongosh wekan --eval 'db.adminCommand({ setFeatureCompatibilityVersion: "4.2" });' $BIND_OPTIONS
# Delete incomplete uploads so that they would not prevent starting WeKan
mongo wekan --eval 'db.getCollection("cfs.attachments.filerecord").find( { "uploadedAt": { "$exists": true }, "copies.attachments" : null,"failures.copies.attachments.doneTrying" : {"$ne" : true}});' $BIND_OPTIONS
mongosh wekan --eval 'db.getCollection("cfs.attachments.filerecord").find( { "uploadedAt": { "$exists": true }, "copies.attachments" : null,"failures.copies.attachments.doneTrying" : {"$ne" : true}});' $BIND_OPTIONS
fi
+2 -1
View File
@@ -9,7 +9,8 @@ if [ -z "$LANG" ]; then
fi
export LC_ALL=C
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/snap/wekan/current/lib/x86_64-linux-gnu
export PATH=/snap/${SNAP_NAME}/current/usr/bin:/snap/${SNAP_NAME}/current/bin:$PATH
export LD_LIBRARY_PATH=/snap/${SNAP_NAME}/current/lib:/snap/${SNAP_NAME}/current/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
# start mongodb backup
[ "x" == "x${MONGODB_BIND_IP}" ] && MONGODB_BIND_IP="127.0.0.1"
+6
View File
@@ -310,6 +310,12 @@ echo -e "\t$ snap set $SNAP_NAME oauth2-adfs-enabled='true'"
echo -e "\t-Disable the OAuth2 ADFS of Wekan:"
echo -e "\t$ snap unset $SNAP_NAME oauth2-adfs-enabled"
echo -e "\n"
echo -e "OAuth2 Azure AD B2C Enabled. Also requires oauth2-enabled='true' . https://github.com/wekan/wekan/issues/5242."
echo -e "To enable the OAuth2 Azure AD B2C of Wekan:"
echo -e "\t$ snap set $SNAP_NAME oauth2-b2c-enabled='true'"
echo -e "\t-Disable the OAuth2 Azure AD B2C of Wekan:"
echo -e "\t$ snap unset $SNAP_NAME oauth2-b2c-enabled"
echo -e "\n"
echo -e "OAuth2 Client ID."
echo -e "To enable the OAuth2 Client ID of Wekan:"
echo -e "\t$ snap set $SNAP_NAME oauth2-client-id='54321abcde'"
+16 -9
View File
@@ -1,5 +1,5 @@
name: wekan
version: '7.22'
version: '7.30'
base: core20
summary: Open Source kanban
description: |
@@ -65,7 +65,7 @@ apps:
parts:
mongodb:
source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-6.0.12.tgz
source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-7.0.5.tgz
plugin: dump
stage-packages:
- libssl1.1
@@ -170,9 +170,9 @@ parts:
# Cleanup
mkdir .build
cd .build
wget https://github.com/wekan/wekan/releases/download/v7.22/wekan-7.22-amd64.zip
unzip wekan-7.22-amd64.zip
rm wekan-7.22-amd64.zip
wget https://github.com/wekan/wekan/releases/download/v7.30/wekan-7.30-amd64.zip
unzip wekan-7.30-amd64.zip
rm wekan-7.30-amd64.zip
cd ..
##cd .build/bundle
##find . -type d -name '*-garbage*' | xargs rm -rf
@@ -196,6 +196,13 @@ parts:
cp -r .build/bundle/* $SNAPCRAFT_PART_INSTALL/
cp .build/bundle/.node_version.txt $SNAPCRAFT_PART_INSTALL/
rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/wekan
# Migrate MongoDB 3 to 6
wget https://github.com/wekan/migratemongo/archive/refs/heads/main.zip
unzip main.zip
mv migratemongo-main migratemongo
cp -pR migratemongo $SNAPCRAFT_PART_INSTALL/
rm -rf migratemongo
rm main.zip
#rm -f $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/meteor/rajit_bootstrap3-datepicker/lib/bootstrap-datepicker/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs
# Delete phantomjs that is in accounts-lockout
#rm -rf $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/meteor/lucasantoniassi_accounts-lockout/node_modules/phantomjs-prebuilt
@@ -233,9 +240,9 @@ parts:
source-type: 7z
organize:
caddy: bin/caddy
CHANGES.txt: CADDY_CHANGES.txt
EULA.txt: CADDY_EULA.txt
LICENSES.txt: CADDY_LICENSES.txt
README.txt: CADDY_README.txt
CHANGES.txt: license/CADDY_CHANGES.txt
EULA.txt: license/CADDY_EULA.txt
LICENSES.txt: license/CADDY_LICENSES.txt
README.txt: license/CADDY_README.txt
stage:
- -init
+3
View File
@@ -194,6 +194,9 @@ REM SET OAUTH2_CA_CERT=ABCD1234
REM # Use OAuth2 ADFS additional changes. Also needs OAUTH2_ENABLED=true setting.
REM SET OAUTH2_ADFS_ENABLED=false
REM # Use OAuth2 Azure AD B2C. Also requires OAUTH2_ENABLED=true setting . https://github.com/wekan/wekan/issues/5242
REM SET DEFAULT_OAUTH2_B2C_ENABLED=false
REM # OAuth2 Client ID, for example from Rocket.Chat. Example: abcde12345
REM # example: OAUTH2_CLIENT_ID=abcde12345
REM SET OAUTH2_CLIENT_ID=
+3
View File
@@ -195,6 +195,9 @@
# Use OAuth2 ADFS additional changes. Also needs OAUTH2_ENABLED=true setting.
#export OAUTH2_ADFS_ENABLED=false
#
# Azure AD B2C. https://github.com/wekan/wekan/issues/5242
#export OAUTH2_B2C_ENABLED=false
#
# OAuth2 docs: https://github.com/wekan/wekan/wiki/OAuth2
# OAuth2 login style: popup or redirect.
#export OAUTH2_LOGIN_STYLE=redirect
+2
View File
@@ -394,6 +394,8 @@ services:
#- OAUTH2_CA_CERT=ABCD1234
# Use OAuth2 ADFS additional changes. Also needs OAUTH2_ENABLED=true setting.
#- OAUTH2_ADFS_ENABLED=false
# Azure AD B2C. https://github.com/wekan/wekan/issues/5242
#- OAUTH2_B2C_ENABLED=false
# OAuth2 docs: https://github.com/wekan/wekan/wiki/OAuth2
# OAuth2 Client ID, for example from Rocket.Chat. Example: abcde12345
# example: OAUTH2_CLIENT_ID=abcde12345