Compare commits

...
110 Commits
Author SHA1 Message Date
Lauri Ojansivu f1c962fbbc v6.78 2023-02-28 14:21:46 +02:00
Lauri Ojansivu 5d79c231ed Try to fix some security issue.
Thanks to Responsible Security Disclousure contributors and xet7 !
2023-02-28 14:16:08 +02:00
Lauri Ojansivu 972f0481e5 v6.77 2023-02-27 17:29:57 +02:00
Lauri Ojansivu 49781aae17 Updated ChangeLog. 2023-02-27 17:26:08 +02:00
Lauri Ojansivu 51f22f48dc Use MongoDB 5 at docker-compose.yml .
Thanks to xet7 !
2023-02-27 17:24:54 +02:00
Lauri Ojansivu a64381153f MongoDB to 5 for beta Snap. MongoDB 5 does not seem to show some errors that only MongoDB 6 has. 2023-02-27 17:03:47 +02:00
Lauri Ojansivu 10280966ac Updated ChangeLog. 2023-02-27 17:01:23 +02:00
Lauri Ojansivu 16ad6bf9fc Try to fix attachment migrations to ostrioFiles, allow existing files to be migrated. Part 2.
Thanks to xet7 !

Related #4780,
related https://github.com/wekan/wekan/pull/4648
2023-02-27 16:58:12 +02:00
Lauri Ojansivu 1aa5c23bba Updated ChangeLog. 2023-02-27 16:44:00 +02:00
Lauri Ojansivu 9216a69c05 Temporarily disable file validation, because it prevents migrating some attachments at wekan/server/migrations.js to ostrio Meteor-Files.
Thanks to xet7 !

Related #4780,
related https://github.com/wekan/wekan/pull/4648
2023-02-27 16:38:16 +02:00
Lauri Ojansivu 7b2cff4c5e Fix attachment migration error about avatarUrl startsWith undefined.
Thanks to xet7 !

Related #4780
2023-02-27 16:31:43 +02:00
Lauri Ojansivu bf42958059 Updated ChangeLog. 2023-02-26 01:38:01 +02:00
Lauri Ojansivu 1deccf2f4b Added "Move card to archive" to minicard ☰ menu.
Thanks to mohammadZahedian and xet7 !

Fixes #4303
2023-02-26 01:35:42 +02:00
Lauri Ojansivu 57755ef413 Updated ChangeLog. 2023-02-26 00:50:46 +02:00
Lauri Ojansivu c2cf850179 Made ☰ menu buttons bigger at minicard and list.
Thanks to mohammadZahedian and xet7 !

Fixes #4303
2023-02-26 00:47:59 +02:00
Lauri Ojansivu 67838ae29e Updated translations. 2023-02-26 00:47:02 +02:00
Lauri Ojansivu 4d22477477 Updated ChangeLog. 2023-02-26 00:26:45 +02:00
Lauri Ojansivu 96b5ed1df6 Merge pull request #4846 from Entepotenz/master
fix indentation for image  size and compression
2023-02-26 00:24:07 +02:00
Florian Kretschmer b9ec43c0f7 fix indentation for image size and compression 2023-02-25 23:00:13 +01:00
Lauri Ojansivu 8a0899a819 Updated ChangeLog. 2023-02-23 17:00:16 +02:00
Lauri Ojansivu e390852a67 Updated release scripts. 2023-02-23 16:56:55 +02:00
Lauri Ojansivu c4083c23d6 Back to Snap Candidate MongoDB 6.x 2023-02-22 02:47:42 +02:00
Lauri Ojansivu bdc751ac24 MongoDB 5.x to WeKan Snap Beta channel only. 2023-02-22 02:31:01 +02:00
Lauri Ojansivu 0e23975964 Updated ChangeLog. 2023-02-22 01:56:41 +02:00
Lauri Ojansivu ad53414c4d Updated release scripts.
Thanks to xet7 !
2023-02-22 01:52:57 +02:00
Lauri Ojansivu 23e01130e9 Updated release scripts.
Thanks to xet7 !
2023-02-22 01:20:42 +02:00
Lauri Ojansivu f779c35d0e Updated ChangeLog. 2023-02-22 00:44:07 +02:00
Lauri Ojansivu 6e5d260fd2 v6.76 2023-02-22 00:38:20 +02:00
Lauri Ojansivu 691efb7843 Updated ChangeLog. 2023-02-22 00:09:37 +02:00
Lauri Ojansivu 67500abcd4 Removed Mermaid, because newest Mermaid does not work anymore.
Thanks to xet7 !
2023-02-22 00:07:59 +02:00
Lauri Ojansivu 092b121c38 Updated ChangeLog. 2023-02-21 23:52:06 +02:00
Lauri Ojansivu c27a2b22c6 Part 2. Fix at bottom of list Add button to be higher, so that text Add is not over button borders.
Thanks to WeKan commercial support customer and xet7.
2023-02-21 23:50:22 +02:00
Lauri Ojansivu 9213451dca Updated ChangeLog. 2023-02-21 21:55:42 +02:00
Lauri Ojansivu 139a1c0f78 Fix at bottom of list Add button to be higher, so that text Add is not over button borders.
Thanks to WeKan commercial support customer and xet7.
2023-02-21 21:49:20 +02:00
Lauri Ojansivu 41d5ecd605 Updated ChangeLog. 2023-02-21 21:30:23 +02:00
Lauri Ojansivu fd9478dc57 Try to fix build errors on some platforms.
Thanks to xet7 !

Related #4842
2023-02-21 21:27:34 +02:00
Lauri Ojansivu f1092c6f40 Back to Snap Candidate MongoDB 6.x 2023-02-21 04:47:50 +02:00
Lauri Ojansivu 51b31df2c8 Snap Beta channel MongoDB 5.x 2023-02-21 04:11:22 +02:00
Lauri Ojansivu 2f46f2a888 Updated ChangeLog. 2023-02-21 02:54:26 +02:00
Lauri Ojansivu cae0b29500 Updated release scripts.
Thanks to xet7 !
2023-02-21 02:52:40 +02:00
Lauri Ojansivu aa0e1955b0 v6.75 2023-02-21 02:43:03 +02:00
Lauri Ojansivu 78bac6ca99 Updated ChangeLog. 2023-02-20 16:49:08 -05:00
Lauri Ojansivu 382168a5b4 Try to fix some security issues. Part 2.
Thanks to responsible security disclosure contributors and xet7 !
2023-02-20 16:48:02 -05:00
Lauri Ojansivu e34cfad06b Merge pull request #4840 from robert-scheck/typo
Fix typo
2023-02-20 15:25:18 +02:00
Lauri Ojansivu 71f6697f55 Updated ChangeLog. 2023-02-20 01:26:08 +02:00
Lauri Ojansivu ff993e7c91 Try to fix some security issues.
Thanks to responsible security disclosure contributors and xet7 !
2023-02-20 01:21:33 +02:00
Lauri Ojansivu b349ecbdf7 Updated ChangeLog. 2023-02-20 01:03:59 +02:00
Lauri Ojansivu c3577aa434 Swipebox slide background gradient of black to blue, so that back SVG images are visible.
Thanks to xet7 !
2023-02-20 01:02:02 +02:00
Lauri Ojansivu ed5ab735b4 Updated ChangeLog. 2023-02-20 00:34:43 +02:00
Lauri Ojansivu ed058914b5 Updated webmanifest to have PWA as fullscreen.
Thanks to xet7 !
2023-02-20 00:13:48 +02:00
Robert Scheck c730dd1523 Fix typo 2023-02-19 03:34:51 +01:00
Lauri Ojansivu ba418cb0e7 Updated ChangeLog. 2023-02-18 01:22:41 +02:00
Lauri Ojansivu dd6e7372b7 Updated to Node.js v14.21.3. Thanks to Node.js developers. 2023-02-18 01:21:28 +02:00
Lauri Ojansivu 32bce898f4 Updated contributing 2023-02-16 00:22:52 +02:00
Lauri Ojansivu aca50e7dda Updated contributing 2023-02-16 00:19:39 +02:00
Lauri Ojansivu 42550c2637 Updated contributing. 2023-02-16 00:16:00 +02:00
Lauri Ojansivu 7cd4271881 Updated ChangeLog. 2023-02-15 12:51:55 +02:00
Lauri Ojansivu b04f504adc Merge pull request #4835 from garciadavy/garciadavy-fix-top10-metric
Fix "Top 10 boards" metric order
2023-02-15 12:49:42 +02:00
garciadavy f8bc186252 Fix "Top 10 boards" metric order 2023-02-15 11:27:59 +01:00
Lauri Ojansivu 3083302e14 Updated ChangeLog. 2023-02-14 01:14:51 +02:00
Lauri Ojansivu 6f3e187dfb Updated ChangeLog. 2023-02-14 01:12:48 +02:00
Lauri Ojansivu bc61e6c4f0 And back. 2023-02-14 01:09:25 +02:00
Lauri Ojansivu 3bdbc80c30 MongoDB 5 to Snap Beta Channel for Meridiana.
Thanks to Meridiana and xet7 !
2023-02-13 22:16:44 +02:00
Lauri Ojansivu d7554fc585 v6.74 2023-02-10 14:56:07 +02:00
Lauri Ojansivu a909ddfca8 Updated ChangeLog. 2023-02-10 14:52:41 +02:00
Lauri Ojansivu 7ca4894789 Fix typos in Snap config.
Thanks to urmel1960 and xet7 !

Fixes #4824
2023-02-10 14:50:43 +02:00
Lauri Ojansivu e2b94c9bcb v6.73 2023-02-10 13:00:15 +02:00
Lauri Ojansivu c16f7eaf22 Updated ChangeLog. 2023-02-10 12:56:16 +02:00
Lauri Ojansivu d9a7e135d3 Try to fix building WeKan. 2023-02-10 12:49:12 +02:00
Lauri Ojansivu 4bb63a147e Updated ChangeLog. 2023-02-10 12:34:00 +02:00
Lauri Ojansivu 10c1df7af4 Updated dependencies.
Thanks to developers of dependencies !
2023-02-10 12:32:09 +02:00
Lauri Ojansivu fbd2b7e46b Updated translations. 2023-02-10 12:31:25 +02:00
Lauri Ojansivu 11151b2359 Updated ChangeLog. 2023-02-10 12:30:47 +02:00
Lauri Ojansivu b5d35d4645 Back to MongoDB 6.x
Thanks to urmel1960 and xet7 !

Fixes #4824
2023-02-10 12:29:09 +02:00
Lauri Ojansivu 953a355e63 Merge pull request #4831 from garciadavy/garciadavy-fix-metrics-label
Fix double quotes around metric label
2023-02-10 12:07:09 +02:00
garciadavy 962fb70b16 Fix double quotes around metric label 2023-02-09 17:20:17 +01:00
Lauri Ojansivu 27971e6a66 Updated ChangeLog. 2023-02-07 04:58:17 -05:00
Lauri Ojansivu 3c5ab1ad72 Merge pull request #4829 from q16marvin/master
Update docker-compose.yml
2023-02-07 09:10:28 +02:00
q16marvin b7b8b05661 Update docker-compose.yml 2023-02-07 07:52:59 +01:00
Lauri Ojansivu d8bbcd8e03 Try to fix Snap. 2023-02-02 16:08:32 +02:00
Lauri Ojansivu 9946cb60fa Try to fix Snap. 2023-02-02 16:03:42 +02:00
Lauri Ojansivu a22319f3ab v6.72 2023-02-02 15:05:40 +02:00
Lauri Ojansivu 7a00f3628a Try to fix Snap plugins. 2023-02-02 14:51:29 +02:00
Lauri Ojansivu de49900961 Fix snapcraft plugins. 2023-02-02 14:50:29 +02:00
Lauri Ojansivu 1733203f8e Try MongoDB 5, shell and tool.
Thanks to xet7 !
2023-02-02 14:48:04 +02:00
Lauri Ojansivu e3f4049943 Updated translations. 2023-02-02 14:25:49 +02:00
Lauri Ojansivu 2ae344e685 Updated translations. 2023-02-02 14:18:22 +02:00
Lauri Ojansivu f049a44280 Updated dependencies.
Thanks to developers of dependencies !
2023-02-01 21:05:14 +02:00
Lauri Ojansivu d8593c68e9 Updated translations. 2023-02-01 20:54:36 +02:00
Lauri Ojansivu c1261baaee Updated translations. 2023-02-01 15:54:44 +02:00
Lauri Ojansivu c78ed0828f Updated translations. 2023-02-01 15:50:36 +02:00
Lauri Ojansivu 9b31604c0c Updated ChangeLog. 2023-02-01 15:39:19 +02:00
Lauri Ojansivu a9c66d1883 Updated ChangeLog. 2023-02-01 15:37:23 +02:00
Lauri Ojansivu 362fb66b84 Updated dependencies.
Thanks to developers of dependencies !
2023-02-01 15:36:19 +02:00
Lauri Ojansivu a3e3e70a3a Merge pull request #4818 from wekan/dependabot/github_actions/docker/build-push-action-4.0.0
Bump docker/build-push-action from 3.3.0 to 4.0.0
2023-01-30 22:31:37 +02:00
dependabot[bot] b4963d872b Bump docker/build-push-action from 3.3.0 to 4.0.0
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 3.3.0 to 4.0.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/37abcedcc1da61a57767b7588cb9d03eb57e28b3...3b5e8027fcad23fda98b2e3ac259d8d67585f671)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-30 20:10:05 +00:00
Lauri Ojansivu e108dbd02c Updated translations. 2023-01-30 15:11:33 +02:00
Lauri Ojansivu 2442e2a372 Updated translations. 2023-01-30 15:11:05 +02:00
Lauri Ojansivu cfbbab6b86 Updated ChangeLog. 2023-01-30 15:08:24 +02:00
Lauri Ojansivu d32d46d22d Updated ChangeLog. 2023-01-30 14:53:26 +02:00
Lauri Ojansivu 0043fe010f Upgrade Snap Candidate to MongoDB 6.0.4.
Thanks to MongoDB developers.
2023-01-30 14:51:54 +02:00
Lauri Ojansivu b13ebcea12 Updated ChangeLog. 2023-01-30 14:25:28 +02:00
Lauri Ojansivu 38af077a94 Upgraded to Meteor 2.11.0-beta.0 for MongoDB 6.x support https://github.com/meteor/meteor/pull/12470.
Thanks to Meteor developers!
2023-01-30 14:17:15 +02:00
Lauri Ojansivu bed2669ff8 Updated translations. 2023-01-30 14:15:22 +02:00
Lauri Ojansivu 7d7c45c33f Updated translations. 2023-01-30 14:10:07 +02:00
Lauri Ojansivu c7330a47a0 Updated translations. 2023-01-30 14:08:05 +02:00
Lauri Ojansivu 2d7639262f Updated translations. 2023-01-23 03:57:08 +02:00
Lauri Ojansivu f93219c293 Merge pull request #4813 from jghaanstra/master
Small improvements modern-dark theme
2023-01-22 17:36:23 +02:00
Jelger Haanstra 1124117f0c Small improvements modern-dark theme 2023-01-21 09:53:26 +01:00
Jelger Haanstra 133a81b08c Small improvements modern-dark theme 2023-01-21 09:46:03 +01:00
61 changed files with 10615 additions and 2340 deletions

No files matched your search

+1 -1
View File
@@ -10,7 +10,7 @@ ENV DEBIAN_FRONTEND=noninteractive
ENV \
DEBUG=false \
NODE_VERSION=v14.21.2 \
NODE_VERSION=v14.21.3 \
METEOR_RELEASE=1.10.2 \
USE_EDGE=false \
METEOR_EDGE=1.5-beta.17 \
+1 -1
View File
@@ -81,7 +81,7 @@ parts:
wekan:
source: .
plugin: nodejs
node-engine: 14.21.2
node-engine: 14.21.3
node-packages:
- node-gyp
- node-pre-gyp
+1 -1
View File
@@ -55,7 +55,7 @@ jobs:
# Build and push Docker image with Buildx (don't push on PR)
# https://github.com/docker/build-push-action
- name: Build and push Docker image
uses: docker/build-push-action@37abcedcc1da61a57767b7588cb9d03eb57e28b3
uses: docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
+1 -1
View File
@@ -3,7 +3,7 @@ sudo: required
env:
TRAVIS_DOCKER_COMPOSE_VERSION: 1.24.0
TRAVIS_NODE_VERSION: 14.21.2
TRAVIS_NODE_VERSION: 14.21.3
TRAVIS_NPM_VERSION: latest
before_install:
+5 -50
View File
@@ -1,55 +1,10 @@
# This is the configuration of the Transifex tool that we use to manage the
# translations on Wekan. Documentation at: http://docs.transifex.com/client.
#
# Push
# ====
#
# It is recommended that contributors use the Transifex web UI to create and
# edit translated strings. However in case a contributor has directly jumped
# into the code and made its translations in the corresponding i18n.json file
# we can push it using
#
# > tx push -t -l ar
#
# Where `ar` is the language identifier. In addition, the project maintainer
# should push the English source file to Transifex at least before each release
# candidate using:
#
# > tx push -s
#
# Pull
# ====
#
# The set of accepted language is directly managed in Transifex, the only
# restriction we define to bundle a new language in the application, is that its
# completion is at least at 75%.
#
# We use:
#
# > tx pull
#
# to download new versions of existing translations, and
#
# > tx pull -a --minimum-perc=75
#
# to download new sufficiently advanced translations.
[main]
host = https://www.transifex.com
# tap:i18n requires us to use `-` separator in the language identifiers whereas
# Transifex uses a `_` separator, without an option to customize it on one side
# or the other, so we need to do a Manual mapping.
lang_map = ar_DZ:ar-DZ, ar_EG:ar-EG, az_AZ:az-AZ, az@latin:az-LA, bg_BG:bg, cs_CZ:cs-CZ, cy_GB:cy-GB, de_AT:de-AT, de_CH:de-CH, en_BR:en-BR, en_DE:en-DE, en_IT:en-IT, en_GB:en-GB, en_MY:en-MY, et_EE:et-EE, ast_ES:ast-ES, es_AR:es-AR, en@ysv:en-YS, es_CL:es-CL, es_419:es-LA, es_PE:es-PE, es_MX:es-MX, es_TX:es-TX, es_PY:es-PY, el_GR:el-GR, fa_IR:fa-IR, ja-Hira:ja-HI, ja_JP:ja, fi_FI:fi, fr_FR:fr-FR, fr_CH:fr-CH, fy_NL:fy-NL, gl_ES:gl-ES, gu_IN:gu-IN, he_IL:he-IL, hi_IN:hi-IN, hu_HU:hu, id_ID:id, mn_MN:mn, ms_MY:ms-MY, nl_NL:nl-NL, ko_KR:ko-KR, lv_LV:lv, pl_PL:pl-PL, pt_BR:pt-BR, ro_RO:ro-RO, ru_UA:ru-UA, sl_SI:sl, uk_UA:uk-UA, uz@Arab:uz-AR, uz@Latn:uz-LA, uz_UZ:uz-UZ, vec:ve-CC, vep:ve-PP, vls:vl-SS, war:wa-RR, vi_VN:vi-VN, zh_CN:zh-CN, zh_TW:zh-TW, zh_Hans:zh-Hans, zh_HK:zh-HK, zu_ZA:zu-ZA
host = https://www.transifex.com
lang_map = es_AR: es-AR, es_419: es-LA, es_TX: es-TX, he_IL: he-IL, zh_CN: zh-CN, ar_EG: ar-EG, cs_CZ: cs-CZ, fa_IR: fa-IR, ms_MY: ms-MY, nl_NL: nl-NL, de_CH: de-CH, en_IT: en-IT, uz_UZ: uz-UZ, fr_CH: fr-CH, hi_IN: hi-IN, et_EE: et-EE, es_PE: es-PE, es_MX: es-MX, gl_ES: gl-ES, mn_MN: mn, sl_SI: sl, zh_TW: zh-TW, ast_ES: ast-ES, es_CL: es-CL, ja_JP: ja, lv_LV: lv, ro_RO: ro-RO, az_AZ: az-AZ, cy_GB: cy-GB, gu_IN: gu-IN, pl_PL: pl-PL, vep: ve-PP, en_BR: en-BR, en@ysv: en-YS, hu_HU: hu, ko_KR: ko-KR, pt_BR: pt-BR, zh_HK: zh-HK, zu_ZA: zu-ZA, en_MY: en-MY, ja-Hira: ja-HI, fi_FI: fi, vec: ve-CC, vi_VN: vi-VN, fr_FR: fr-FR, id_ID: id, zh_Hans: zh-Hans, en_DE: en-DE, en_GB: en-GB, el_GR: el-GR, uk_UA: uk-UA, az@latin: az-LA, de_AT: de-AT, uz@Latn: uz-LA, vls: vl-SS, ar_DZ: ar-DZ, bg_BG: bg, es_PY: es-PY, fy_NL: fy-NL, uz@Arab: uz-AR, ru_UA: ru-UA, war: wa-RR
[wekan.application]
[o:wekan:p:wekan:r:application]
file_filter = imports/i18n/data/<lang>.i18n.json
source_file = imports/i18n/data/en.i18n.json
source_lang = en
type = KEYVALUEJSON
type = KEYVALUEJSON
# We might have a dedicated second resource later to translate the “Welcome
# Board” data.
#
# [wekan.welcomeBoard]
# file_filter = private/welcomeBoard/<lang>.json
# source_lang = en
# type = KEYVALUEJSON
+55
View File
@@ -0,0 +1,55 @@
# This is the configuration of the Transifex tool that we use to manage the
# translations on Wekan. Documentation at: http://docs.transifex.com/client.
#
# Push
# ====
#
# It is recommended that contributors use the Transifex web UI to create and
# edit translated strings. However in case a contributor has directly jumped
# into the code and made its translations in the corresponding i18n.json file
# we can push it using
#
# > tx push -t -l ar
#
# Where `ar` is the language identifier. In addition, the project maintainer
# should push the English source file to Transifex at least before each release
# candidate using:
#
# > tx push -s
#
# Pull
# ====
#
# The set of accepted language is directly managed in Transifex, the only
# restriction we define to bundle a new language in the application, is that its
# completion is at least at 75%.
#
# We use:
#
# > tx pull
#
# to download new versions of existing translations, and
#
# > tx pull -a --minimum-perc=75
#
# to download new sufficiently advanced translations.
[main]
host = https://www.transifex.com
# tap:i18n requires us to use `-` separator in the language identifiers whereas
# Transifex uses a `_` separator, without an option to customize it on one side
# or the other, so we need to do a Manual mapping.
lang_map = ar_DZ:ar-DZ, ar_EG:ar-EG, az_AZ:az-AZ, az@latin:az-LA, bg_BG:bg, cs_CZ:cs-CZ, cy_GB:cy-GB, de_AT:de-AT, de_CH:de-CH, en_BR:en-BR, en_DE:en-DE, en_IT:en-IT, en_GB:en-GB, en_MY:en-MY, et_EE:et-EE, ast_ES:ast-ES, es_AR:es-AR, en@ysv:en-YS, es_CL:es-CL, es_419:es-LA, es_PE:es-PE, es_MX:es-MX, es_TX:es-TX, es_PY:es-PY, el_GR:el-GR, fa_IR:fa-IR, ja-Hira:ja-HI, ja_JP:ja, fi_FI:fi, fr_FR:fr-FR, fr_CH:fr-CH, fy_NL:fy-NL, gl_ES:gl-ES, gu_IN:gu-IN, he_IL:he-IL, hi_IN:hi-IN, hu_HU:hu, id_ID:id, mn_MN:mn, ms_MY:ms-MY, nl_NL:nl-NL, ko_KR:ko-KR, lv_LV:lv, pl_PL:pl-PL, pt_BR:pt-BR, ro_RO:ro-RO, ru_UA:ru-UA, sl_SI:sl, uk_UA:uk-UA, uz@Arab:uz-AR, uz@Latn:uz-LA, uz_UZ:uz-UZ, vec:ve-CC, vep:ve-PP, vls:vl-SS, war:wa-RR, vi_VN:vi-VN, zh_CN:zh-CN, zh_TW:zh-TW, zh_Hans:zh-Hans, zh_HK:zh-HK, zu_ZA:zu-ZA
[wekan.application]
file_filter = imports/i18n/data/<lang>.i18n.json
source_lang = en
type = KEYVALUEJSON
# We might have a dedicated second resource later to translate the “Welcome
# Board” data.
#
# [wekan.welcomeBoard]
# file_filter = private/welcomeBoard/<lang>.json
# source_lang = en
# type = KEYVALUEJSON
+143
View File
@@ -3,8 +3,151 @@
Required versions of Node.js, MongoDB etc are listed at https://wekan.github.io
Download section.
Note:
- Snap Candidate has newest WeKan with MongoDB 6 https://github.com/wekan/wekan/issues/4824#issuecomment-1425753485
- Snap Beta has newest WeKan with MongoDB 5 https://github.com/wekan/wekan/issues/4780#issuecomment-1427625571
- Snap Stable has old WeKan 6.09 with MongoDB 3.2.2
[How to upgrade WeKan](https://github.com/wekan/wekan/issues/4585)
# v6.78 2023-02-28 WeKan ® release
This release fixes the following CRITICAL SECURITY ISSUES:
- [Try to fix some security issue](https://github.com/wekan/wekan/commit/5d79c231ed3cfc09636ab678b3f62ea9f36160f2).
Thanks to Responsible Security Disclousure contributors and xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v6.77 2023-02-27 WeKan ® release
This release adds the following updates:
- Updated release scripts
[Part 1](https://github.com/wekan/wekan/commit/23e01130e907f0068333046dc4b88a471b781ce7),
[Part 2](https://github.com/wekan/wekan/commit/ad53414c4d415b93e808ec88cc36af5a4741f681),
[Part 3](https://github.com/wekan/wekan/commit/e390852a673be25e00cb397acf4dbdc5a7d2a1f9).
Updated release scripts.
Thanks to xet7.
and fixes the following bugs:
- [Fixed indentation for image size and compression in docker-compose.yml](https://github.com/wekan/wekan/pull/4846).
Thanks to Entepotenz.
- [Made ☰ menu buttons bigger at minicard and list, they were too hard to click when they were small](https://github.com/wekan/wekan/commit/c2cf850179ad0079d83561675b6dc2c59825cc11).
Thanks to mohammadZahedian and xet7.
- [Added "Move card to archive" to minicard ☰ menu](https://github.com/wekan/wekan/commit/1deccf2f4b5ba1a72bc76d5ae83858e6c50b36ae).
Thanks to mohammadZahedian and xet7.
- [Fix attachment migration error about avatarUrl startsWith undefined](https://github.com/wekan/wekan/commit/7b2cff4c5e7bae4971776638b680696596edc7e6).
Thanks to xet7.
- Try to fix attachment migrations to ostrioFiles, allow existing files to be migrated.
[Part 1](https://github.com/wekan/wekan/commit/9216a69c0541325be6941c07d256b07627a8ec73),
[Part 2](https://github.com/wekan/wekan/commit/16ad6bf9fc75b39e6e8cedb8a5a98ec963ccf14a).
Thanks to xet7.
- [MongoDB to 5 for beta Snap. MongoDB 5 does not seem to show some errors that only MongoDB 6 has](https://github.com/wekan/wekan/commit/a64381153fd762b67f2a752b590b2cdd196bcfe5).
Thanks to xet7.
- [Use MongoDB 5 at docker-compose.yml](https://github.com/wekan/wekan/commit/51f22f48dc916717ed6be9502dc767798692f07b).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v6.76 2023-02-22 WeKan ® release
This release adds the following updates:
- [Updated release scripts](https://github.com/wekan/wekan/commit/cae0b29500ff417598690590f43bc1e1875a4b4e).
Thanks to xet7.
and fixes the following bugs:
- [Try to fix build errors on some platforms](https://github.com/wekan/wekan/commit/fd9478dc57a81aadb275a205766c44285efb4c61).
Thanks to xet7.
- Fix at bottom of list Add button to be higher, so that text Add is not over button borders.
[Part 1](https://github.com/wekan/wekan/commit/139a1c0f784443103397c9b6c8c17d5432ce9bdd),
[Part 2](https://github.com/wekan/wekan/commit/c27a2b22c604377170c34f30e4b5710e18ae47c8).
Thanks to WeKan commercial support customer and xet7.
- [Removed Mermaid, because newest Mermaid does not work anymore](https://github.com/wekan/wekan/commit/67500abcd4d034ebed2d13f5156123d5f70bd014).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v6.75 2023-02-21 WeKan ® release
This release fixes the following CRITICAL SECURITY ISSUES:
- Try to fix some security issues.
[Part 1](https://github.com/wekan/wekan/commit/ff993e7c917b5650a790238e95c78001e4f0e039),
[Part 2](https://github.com/wekan/wekan/commit/382168a5b428a7124d368c4fcb37e7e140e7ec8b).
Thanks to responsible security disclosure contributors and xet7.
and adds the following updates:
- [Updated to Node.js v14.21.3. Thanks to Node.js developers](https://github.com/wekan/wekan/commit/dd6e7372b77ec963c3623953a7613f1e468e5745).
Thanks to Node.js developers.
- [Updated webmanifest to have PWA as fullscreen](https://github.com/wekan/wekan/commit/ed058914b53e3575b6e8036fed45fba5e0893001).
Thanks to xet7.
and fixes the following bugs:
- [Fix "Top 10 boards" metric order](https://github.com/wekan/wekan/pull/4835).
Thanks to garciadavy.
- [Swipebox slide background gradient of black to blue, so that back SVG images are visible](https://github.com/wekan/wekan/commit/c3577aa434ac5330d664f17d0771ff9679cced86).
Thanks to xet7.
- [Fix typo](https://github.com/wekan/wekan/pull/4840).
Thanks to robert-scheck.
Thanks to above GitHub users for their contributions and translators for their translations.
# v6.74 2023-02-10 WeKan ® release
This release fixes the following bugs:
- [Fix typos in Snap config](https://github.com/wekan/wekan/commit/7ca489478950094177f93574d259af61a5ae00c0).
Thanks to urmel1960 and xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v6.73 2023-02-10 WeKan ® release
This release fixes the following bugs:
- [Update docker-compose.yml: removes quotes, with quotes this setting is not working](https://github.com/wekan/wekan/pull/4829).
Thanks to q16marvin.
- [Fix double quotes around metric label](https://github.com/wekan/wekan/pull/4831).
Thanks to garciadavy.
- [Back to MongoDB 6.x](https://github.com/wekan/wekan/commit/b5d35d464501cbca4dc4e4ee403c8bb205024b21).
Thanks to urmel1960 and xet7.
- [Try to fix building WeKan](https://github.com/wekan/wekan/commit/d9a7e135d33339aedf23875b67ac29c6f11f1bdb).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v6.72 2023-02-02 WeKan ® release
This release adds the following updates:
- [Change back to MongoDB 5, shell and tool](https://github.com/wekan/wekan/commit/1733203f8e236bd62ef34ea1878d3a63db5eccc4).
Thanks to xet7.
- Updated translations to use new Go-based transifex-client https://developers.transifex.com/docs/cli ,
but it seems now all translations look like 100% translated, maybe something is wrong,
so discussing about it with Transifex Support.
[Part 1](https://github.com/wekan/wekan/commit/2d7639262f266810fd863e3339485371e03cb8e6),
[Part 2](https://github.com/wekan/wekan/commit/c7330a47a02efc609a383ddf8d4ad6f409595e01),
[Part 3](https://github.com/wekan/wekan/commit/7d7c45c33f9eaa3e4db90758d97c49363f47d0f3),
[Part 4](https://github.com/wekan/wekan/commit/bed2669ff8e136d4aedbd66bc2dfd73c38e18469).
- Updated dependencies
[Part 1](https://github.com/wekan/wekan/commit/362fb66b84e7200c3f7482ab8b79ae8ac0b11832),
[Part 1](https://github.com/wekan/wekan/commit/b4963d872b9dc2f19dd3fe418fdbf4f7364a7a47),
[Part 1](https://github.com/wekan/wekan/commit/a3e3e70a3abb28948c5ad62745d15f142107bb8d).
Thanks to developers of dependencies.
and fixes the following bugs:
- [Small improvements modern-dark theme](https://github.com/wekan/wekan/pull/4813).
Thanks to jghaanstra.
Thanks to above GitHub users for their contributions and translators for their translations.
# v6.71 2023-01-18 WeKan ® release
This release adds the following updates:
+42 -4
View File
@@ -1,4 +1,11 @@
## Contributing to wiki
## Contributing Security related
For responsible security disclosure, please follow this process:
https://github.com/wekan/wekan/blob/master/SECURITY.md
CVE Hall of Fame is at https://wekan.github.io/hall-of-fame/
## Contributing to Documentation Wiki
Please clone wiki:
```
@@ -12,13 +19,32 @@ https://github.com/wekan/wekan/issues
[Building WeKan and sending PR](https://github.com/wekan/wekan/wiki/Emoji).
Also see other docs at wiki.
WeKan code contributors Hall of Fame is at ChangeLog, where
GitHub usernames are mentioned with changes added:
Do not use code formattung or linting like eslist
or prettier.
https://github.com/wekan/wekan/blob/master/CHANGELOG.md
Changes can be like typo fixes, bugfixes, features, or anything else
like for example at open GitHub issues https://github.com/wekan/wekan/issues .
Closed issues are already fixed or implemented.
Also see other docs at wiki, for example:
https://github.com/wekan/wekan/wiki/Developer-Documentation
Do not use code formatting or linting like eslist or prettier.
Only send minimal changed code lines, that are related to feature or fix.
WeKan code has MIT license.
About 300 persons have contributed to WeKan, stats at:
https://www.openhub.net/p/wekan
WeKan maintainer xet7 checks PR for typos etc before accepting to WeKan,
so that WeKan code will still work OK.
## Contributing translations
Non-English translations are contributed only at
@@ -33,3 +59,15 @@ Maintainer of WeKan xet7 downloads all newest
translations from Transifex and adds
them to WeKan repo before making
new release.
## About WeKan Organization https://github.com/wekan
xet7 rarely adds any new members to GitHub Organization,
because xet7 prefers to check PRs.
For some repos (other than https://github.com/wekan/wekan ),
some contributors have direct commit access.
Some contributors are mentioned at this outdated page:
https://github.com/wekan/wekan/wiki/Team
+1 -1
View File
@@ -21,7 +21,7 @@ ARG DEBIAN_FRONTEND=noninteractive
ENV BUILD_DEPS="apt-utils libarchive-tools gnupg gosu wget curl bzip2 g++ build-essential git ca-certificates python3" \
DEBUG=false \
NODE_VERSION=v14.21.2 \
NODE_VERSION=v14.21.3 \
METEOR_RELEASE=2.8.1 \
USE_EDGE=false \
METEOR_EDGE=1.5-beta.17 \
+2 -2
View File
@@ -4,7 +4,7 @@ FROM amd64/alpine:3.7 AS builder
ENV QEMU_VERSION=v4.2.0-6 \
QEMU_ARCHITECTURE=aarch64 \
NODE_ARCHITECTURE=linux-arm64 \
NODE_VERSION=v14.21.2 \
NODE_VERSION=v14.21.3 \
WEKAN_VERSION=latest \
WEKAN_ARCHITECTURE=arm64 \
NODE_OPTIONS="--max_old_space_size=4096"
@@ -49,7 +49,7 @@ LABEL maintainer="wekan"
# Set the environment variables (defaults where required)
ENV QEMU_ARCHITECTURE=aarch64 \
NODE_ARCHITECTURE=linux-arm64 \
NODE_VERSION=v14.21.2 \
NODE_VERSION=v14.21.3 \
NODE_ENV=production \
NPM_VERSION=latest \
WITH_API=true \
+1 -1
View File
@@ -105,7 +105,7 @@ a security issue, we'd like to know about it, and also how to fix it:
Typical already known or "no impact" bugs such as:
- Brute force password guessign. Currently there is
- Brute force password guessing. Currently there is
[brute force protection with eluck:accounts-lockout](https://github.com/wekan/wekan/blob/master/CHANGELOG.md#v080-2018-04-04-wekan-release).
- Security issues related to that Wekan uses Meteor 1.6.0.1 related packages, and upgrading to newer
Meteor 1.6.1 is complicated process that requires lots of changes to many dependency packages.
+1 -1
View File
@@ -1,5 +1,5 @@
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
appVersion: "v6.71.0"
appVersion: "v6.78.0"
files:
userUploads:
- README.md
+30 -4
View File
@@ -1595,6 +1595,11 @@
background: #262626;
color: #fff;
}
@media screen and (min-width: 801px) {
.board-color-moderndark .js-toggle-desktop-drag-handles {
padding-top: 6px
}
}
.board-color-moderndark#header #header-main-bar .board-header-btn.emphasis {
background: #2a2a2a;
}
@@ -1629,6 +1634,9 @@
background: #2a2a2a;
color: #fff;
}
#header.board-color-moderndark #header-main-bar .board-header-btn i.fa {
margin: 0 8px;
}
}
.board-color-moderndark#header ul li.current,
.board-color-moderndark#header-quick-access ul li.current {
@@ -1704,7 +1712,6 @@
background: rgba(255,255,255,0.2);
}
.board-color-moderndark#header #header-main-bar h1 {
/* font-family: Poppins; */
font-weight: bold;
line-height: 0.8em;
padding-top: 10px;
@@ -1717,9 +1724,6 @@
color: #ccc;
padding: 4px 0;
}
.board-color-moderndark .swimlane .swimlane-header-wrap .swimlane-header {
/* font-family: Poppins; */
}
.board-color-moderndark .swimlane .swimlane-header-wrap .swimlane-header-menu {
padding: 6px;
font-size: 16px;
@@ -1760,6 +1764,19 @@
line-height: 14px;
color: #eee;
}
@media screen and (max-width: 800px) {
.board-color-moderndark .list-header .list-header-name {
line-height: 40px;
}
}
@media screen and (min-width: 801px) {
.board-color-moderndark .list-header .list-header-name {
float: left;
}
.board-color-moderndark .list-header .list-header-menu {
padding: 0 10px 10px;
}
}
.board-color-moderndark .list-header .list-header-menu {
padding: 10px;
top: 0;
@@ -1858,6 +1875,15 @@
.board-color-moderndark .card-details {
width: 98%;
}
.card-details-popup {
padding: 0px;
}
.card-details-left, .card-details-right {
padding: 0px 10px;
}
.card-details .card-details-header .card-details-menu-mobile-web {
margin-right: 0;
}
}
@media screen and (min-width: 801px) {
.board-color-moderndark .card-details {
+5
View File
@@ -1,3 +1,8 @@
.slide {
/* swipebox slide background gradient of black to blue, so that back SVG images are visible */
background: rgb(2,0,36);
background: linear-gradient(90deg, rgba(2,0,36,1) 0%, rgba(9,9,121,1) 14%, rgba(0,212,255,1) 100%);
}
.attachment-upload {
text-align: center;
font-weight: bold;
+10 -10
View File
@@ -34,22 +34,22 @@ template(name="attachmentsGalery")
.attachments-galery
each attachments
.attachment-item
a.attachment-thumbnail.swipebox(href="{{link}}" title="{{name}}")
a.attachment-thumbnail.swipebox(href="{{link}}" title="{{sanitize name}}")
if link
if isImage
img.attachment-thumbnail-img(src="{{link}}")
img.attachment-thumbnail-img(src="{{link}}" title="{{sanitize name}}")
else if($eq extension 'mp3')
video(width="100%" height="100%" controls="true")
source(src="{{link}}" type="audio/mpeg")
video(width="100%" height="100%" title="{{sanitize name}}" controls="true")
source(src="{{link}}" type="audio/mpeg")
else if($eq extension 'ogg')
video(width="100%" height="100%" controls="true")
source(src="{{link}}" type="video/ogg")
video(width="100%" height="100%" title="{{sanitize name}}" controls="true")
source(src="{{link}}" type="video/ogg")
else if($eq extension 'webm')
video(width="100%" height="100%" controls="true")
source(src="{{link}}" type="video/webm")
video(width="100%" height="100%" title="{{sanitize name}}" controls="true")
source(src="{{link}}" type="video/webm")
else if($eq extension 'mp4')
video(width="100%" height="100%" controls="true")
source(src="{{link}}" type="video/mp4")
video(width="100%" height="100%" title="{{sanitize name}}" controls="true")
source(src="{{link}}" type="video/mp4")
else
span.attachment-thumbnail-ext= extension
p.attachment-details
+11 -1
View File
@@ -1,4 +1,5 @@
import { ObjectID } from 'bson';
import DOMPurify from 'dompurify';
const filesize = require('filesize');
const prettyMilliseconds = require('pretty-ms');
@@ -21,6 +22,9 @@ Template.attachmentsGalery.helpers({
const ret = filesize(size);
return ret;
},
sanitize(value) {
return DOMPurify.sanitize(value);
},
});
Template.cardAttachmentsPopup.onCreated(function() {
@@ -49,6 +53,10 @@ Template.cardAttachmentsPopup.events({
let uploads = [];
for (const file of files) {
const fileId = new ObjectID().toString();
// If filename is not same as sanitized filename, has XSS, then cancel upload
if (file.name !== DOMPurify.sanitize(file.name)) {
return false;
}
const config = {
file: file,
fileId: fileId,
@@ -220,7 +228,9 @@ BlazeComponent.extendComponent({
const name = this.$('.js-edit-attachment-name')[0]
.value
.trim() + this.data().extensionWithDot;
Meteor.call('renameAttachment', this.data()._id, name);
if (name === DOMPurify.sanitize(name)) {
Meteor.call('renameAttachment', this.data()._id, name);
}
Popup.back(2);
},
}
+2 -2
View File
@@ -45,12 +45,12 @@
}
.minicard-details-menu-with-handle {
float: right;
font-size: 14px;
font-size: 18px;
padding-right: 30px;
}
.minicard-details-menu {
float: right;
font-size: 14px;
font-size: 18px;
}
@media print {
.minicard-details-menu,
+6
View File
@@ -172,6 +172,12 @@ template(name="minicardDetailsActionsPopup")
i.fa.fa-copy
| {{_ 'copyCardPopup-title'}}
hr
li
a.js-archive
i.fa.fa-arrow-right
i.fa.fa-archive
| {{_ 'archive-card'}}
hr
li
a.js-move-card-to-top
i.fa.fa-arrow-up
+5
View File
@@ -168,4 +168,9 @@ Template.minicardDetailsActionsPopup.events({
this.move(this.boardId, this.swimlaneId, this.listId, maxOrder + 1);
Popup.back();
},
'click .js-archive': Popup.afterConfirm('cardArchive', function () {
Popup.close();
this.archive();
Utils.goBoardId(this.boardId);
}),
});
+6
View File
@@ -112,6 +112,9 @@
color: #4d4d4d;
padding-left: 4px;
}
.js-open-list-menu {
font-size: 18px;
}
.list-body {
flex: 1 1 auto;
flex-direction: column;
@@ -126,6 +129,9 @@
.list-body .minicards form {
margin-bottom: 9px;
}
.list-body .minicards .add-controls button {
min-height: 50px;
}
.list-body .open-minicard-composer {
border-radius: 2px;
color: #8c8c8c;
+4 -4
View File
@@ -98,7 +98,7 @@ services:
# Quay image does work:
# image: quay.io/wekan/mongo:4.4.2-bionic
# Docker Hub MongoDB image does work:
image: mongo:6
image: mongo:5
#-------------------------------------------------------------------------------------
container_name: wekan-db
restart: always
@@ -287,8 +287,8 @@ services:
#---------------------------------------------------------------
# ==== Allow to shrink attached/pasted image ====
# https://github.com/wekan/wekan/pull/2544
#-MAX_IMAGE_PIXEL=1024
#-IMAGE_COMPRESS_RATIO=80
#- MAX_IMAGE_PIXEL=1024
#- IMAGE_COMPRESS_RATIO=80
#---------------------------------------------------------------
# ==== NOTIFICATION TRAY AFTER READ DAYS BEFORE REMOVE =====
# Number of days after a notification is read before we remove it.
@@ -569,7 +569,7 @@ services:
# At which interval does the background task sync.
# The format must be as specified in:
# https://bunkat.github.io/later/parsers.html#text
#- LDAP_BACKGROUND_SYNC_INTERVAL='every 1 hour'
#- LDAP_BACKGROUND_SYNC_INTERVAL=every 1 hour
#
#- LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED=false
#
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+34 -29
View File
@@ -1,4 +1,5 @@
import escapeForRegex from 'escape-string-regexp';
import DOMPurify from 'dompurify';
CardComments = new Mongo.Collection('card_comments');
@@ -101,39 +102,43 @@ CardComments.helpers({
},
toggleReaction(reactionCodepoint) {
const cardCommentReactions = CardCommentReactions.findOne({cardCommentId: this._id});
const reactions = !!cardCommentReactions ? cardCommentReactions.reactions : [];
const userId = Meteor.userId();
const reaction = reactions.find(r => r.reactionCodepoint === reactionCodepoint);
// If no reaction is set for the codepoint, add this
if (!reaction) {
reactions.push({ reactionCodepoint, userIds: [userId] });
if (reactionCodepoint !== DOMPurify.sanitize(reactionCodepoint)) {
return false;
} else {
// toggle user reaction upon previous reaction state
const userHasReacted = reaction.userIds.includes(userId);
if (userHasReacted) {
reaction.userIds.splice(reaction.userIds.indexOf(userId), 1);
if (reaction.userIds.length === 0) {
reactions.splice(reactions.indexOf(reaction), 1);
}
const cardCommentReactions = CardCommentReactions.findOne({cardCommentId: this._id});
const reactions = !!cardCommentReactions ? cardCommentReactions.reactions : [];
const userId = Meteor.userId();
const reaction = reactions.find(r => r.reactionCodepoint === reactionCodepoint);
// If no reaction is set for the codepoint, add this
if (!reaction) {
reactions.push({ reactionCodepoint, userIds: [userId] });
} else {
reaction.userIds.push(userId);
}
}
// If no reaction doc exists yet create otherwise update reaction set
if (!!cardCommentReactions) {
return CardCommentReactions.update({ _id: cardCommentReactions._id }, { $set: { reactions } });
} else {
return CardCommentReactions.insert({
boardId: this.boardId,
cardCommentId: this._id,
cardId: this.cardId,
reactions
});
// toggle user reaction upon previous reaction state
const userHasReacted = reaction.userIds.includes(userId);
if (userHasReacted) {
reaction.userIds.splice(reaction.userIds.indexOf(userId), 1);
if (reaction.userIds.length === 0) {
reactions.splice(reactions.indexOf(reaction), 1);
}
} else {
reaction.userIds.push(userId);
}
}
// If no reaction doc exists yet create otherwise update reaction set
if (!!cardCommentReactions) {
return CardCommentReactions.update({ _id: cardCommentReactions._id }, { $set: { reactions } });
} else {
return CardCommentReactions.insert({
boardId: this.boardId,
cardCommentId: this._id,
cardId: this.cardId,
reactions
});
}
}
}
});
+24 -22
View File
@@ -13,35 +13,37 @@ if (Meteor.isServer) {
export async function isFileValid(fileObj, mimeTypesAllowed, sizeAllowed, externalCommandLine) {
let isValid = true;
if (mimeTypesAllowed.length) {
const mimeTypeResult = await FileType.fromFile(fileObj.path);
if (Meteor.settings.public.ostrioFilesMigrationInProgress !== "true") {
if (mimeTypesAllowed.length) {
const mimeTypeResult = await FileType.fromFile(fileObj.path);
const mimeType = (mimeTypeResult ? mimeTypeResult.mime : fileObj.type);
const baseMimeType = mimeType.split('/', 1)[0];
const mimeType = (mimeTypeResult ? mimeTypeResult.mime : fileObj.type);
const baseMimeType = mimeType.split('/', 1)[0];
isValid = mimeTypesAllowed.includes(mimeType) || mimeTypesAllowed.includes(baseMimeType + '/*') || mimeTypesAllowed.includes('*');
isValid = mimeTypesAllowed.includes(mimeType) || mimeTypesAllowed.includes(baseMimeType + '/*') || mimeTypesAllowed.includes('*');
if (!isValid) {
console.log("Validation of uploaded file failed: file " + fileObj.path + " - mimetype " + mimeType);
if (!isValid) {
console.log("Validation of uploaded file failed: file " + fileObj.path + " - mimetype " + mimeType);
}
}
}
if (isValid && sizeAllowed && fileObj.size > sizeAllowed) {
console.log("Validation of uploaded file failed: file " + fileObj.path + " - size " + fileObj.size);
isValid = false;
}
if (isValid && externalCommandLine) {
await asyncExec(externalCommandLine.replace("{file}", '"' + fileObj.path + '"'));
isValid = fs.existsSync(fileObj.path);
if (!isValid) {
console.log("Validation of uploaded file failed: file " + fileObj.path + " has been deleted externally");
if (isValid && sizeAllowed && fileObj.size > sizeAllowed) {
console.log("Validation of uploaded file failed: file " + fileObj.path + " - size " + fileObj.size);
isValid = false;
}
}
if (isValid) {
console.debug("Validation of uploaded file successful: file " + fileObj.path);
if (isValid && externalCommandLine) {
await asyncExec(externalCommandLine.replace("{file}", '"' + fileObj.path + '"'));
isValid = fs.existsSync(fileObj.path);
if (!isValid) {
console.log("Validation of uploaded file failed: file " + fileObj.path + " has been deleted externally");
}
}
if (isValid) {
console.debug("Validation of uploaded file successful: file " + fileObj.path);
}
}
return isValid;
+26 -19
View File
@@ -9,21 +9,27 @@ function acceptedIpAddress(ipAddress) {
);
}
const getBoardIdWithMostActivities = (dateWithXdaysAgo, nbLimit) => {
const getBoardTitleWithMostActivities = (dateWithXdaysAgo, nbLimit) => {
return Promise.await(
Activities.rawCollection()
.aggregate([
{
$match: {
modifiedAt: { $gte: dateWithXdaysAgo },
},
},
{ $group: { _id: '$boardId', count: { $sum: 1 } } },
{ $sort: { count: -1 } },
])
.limit(nbLimit)
.toArray(),
);
{
$match: { modifiedAt: { $gte: dateWithXdaysAgo }}
},
{
$group: { _id: '$boardId', count: { $sum: 1 } }
},
{
$sort: { count: -1 }
},
{
$lookup: { from: 'boards', localField: '_id', foreignField: '_id', as: 'lookup'}
},
{
$project: { "lookup.title":1, "count":1}
}])
.limit(nbLimit).toArray()
);
};
const getBoards = (boardIds) => {
@@ -163,21 +169,22 @@ Meteor.startup(() => {
metricsRes +=
'# Top 10 boards with most activities dated 30 days ago\n';
//Get top 10 table with most activities in current month
const boardIdWithMostActivities = getBoardIdWithMostActivities(
//Get top 10 table with most activities in current month
const boardTitleWithMostActivities = getBoardTitleWithMostActivities(
dateWithXdaysAgo,
xdays,
);
const boardWithMostActivities = boardIdWithMostActivities.map(
(board) => board._id,
const boardWithMostActivities = boardTitleWithMostActivities.map(
(board) => board.lookup[0].title,
);
getBoards(boardWithMostActivities).forEach((board, index) => {
boardWithMostActivities.forEach((title, index) => {
metricsRes +=
`wekan_top10BoardsWithMostActivities{n=${board.title}} ${
`wekan_top10BoardsWithMostActivities{n="${title}"} ${
index + 1
}` + '\n';
});
});
res.writeHead(200); // HTTP status
res.end(metricsRes);
+1
View File
@@ -2499,6 +2499,7 @@ if (Meteor.isServer) {
Accounts.destroyToken(userId, token);
data.message = 'Delete token: [' + token + '] from user: ' + userId;
} else if (userId) {
check(userId, String);
Users.update(
{
_id: userId,
+102 -532
View File
@@ -1,6 +1,6 @@
{
"name": "wekan",
"version": "v6.71.0",
"version": "v6.78.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -22,25 +22,25 @@
}
},
"@babel/compat-data": {
"version": "7.20.10",
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz",
"integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg=="
"version": "7.21.0",
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.0.tgz",
"integrity": "sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g=="
},
"@babel/core": {
"version": "7.20.12",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz",
"integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==",
"version": "7.21.0",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.0.tgz",
"integrity": "sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA==",
"requires": {
"@ampproject/remapping": "^2.1.0",
"@ampproject/remapping": "^2.2.0",
"@babel/code-frame": "^7.18.6",
"@babel/generator": "^7.20.7",
"@babel/generator": "^7.21.0",
"@babel/helper-compilation-targets": "^7.20.7",
"@babel/helper-module-transforms": "^7.20.11",
"@babel/helpers": "^7.20.7",
"@babel/parser": "^7.20.7",
"@babel/helper-module-transforms": "^7.21.0",
"@babel/helpers": "^7.21.0",
"@babel/parser": "^7.21.0",
"@babel/template": "^7.20.7",
"@babel/traverse": "^7.20.12",
"@babel/types": "^7.20.7",
"@babel/traverse": "^7.21.0",
"@babel/types": "^7.21.0",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -49,12 +49,13 @@
}
},
"@babel/generator": {
"version": "7.20.7",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz",
"integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==",
"version": "7.21.1",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.1.tgz",
"integrity": "sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==",
"requires": {
"@babel/types": "^7.20.7",
"@babel/types": "^7.21.0",
"@jridgewell/gen-mapping": "^0.3.2",
"@jridgewell/trace-mapping": "^0.3.17",
"jsesc": "^2.5.1"
},
"dependencies": {
@@ -88,12 +89,12 @@
"integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg=="
},
"@babel/helper-function-name": {
"version": "7.19.0",
"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz",
"integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==",
"version": "7.21.0",
"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz",
"integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==",
"requires": {
"@babel/template": "^7.18.10",
"@babel/types": "^7.19.0"
"@babel/template": "^7.20.7",
"@babel/types": "^7.21.0"
}
},
"@babel/helper-hoist-variables": {
@@ -113,9 +114,9 @@
}
},
"@babel/helper-module-transforms": {
"version": "7.20.11",
"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz",
"integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==",
"version": "7.21.0",
"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.0.tgz",
"integrity": "sha512-eD/JQ21IG2i1FraJnTMbUarAUkA7G988ofehG5MDCRXaUU91rEBJuCeSoou2Sk1y4RbLYXzqEg1QLwEmRU4qcQ==",
"requires": {
"@babel/helper-environment-visitor": "^7.18.9",
"@babel/helper-module-imports": "^7.18.6",
@@ -123,8 +124,8 @@
"@babel/helper-split-export-declaration": "^7.18.6",
"@babel/helper-validator-identifier": "^7.19.1",
"@babel/template": "^7.20.7",
"@babel/traverse": "^7.20.10",
"@babel/types": "^7.20.7"
"@babel/traverse": "^7.21.0",
"@babel/types": "^7.21.0"
}
},
"@babel/helper-plugin-utils": {
@@ -160,18 +161,18 @@
"integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w=="
},
"@babel/helper-validator-option": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz",
"integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw=="
"version": "7.21.0",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz",
"integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ=="
},
"@babel/helpers": {
"version": "7.20.7",
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.7.tgz",
"integrity": "sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==",
"version": "7.21.0",
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz",
"integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==",
"requires": {
"@babel/template": "^7.20.7",
"@babel/traverse": "^7.20.7",
"@babel/types": "^7.20.7"
"@babel/traverse": "^7.21.0",
"@babel/types": "^7.21.0"
}
},
"@babel/highlight": {
@@ -185,14 +186,14 @@
}
},
"@babel/parser": {
"version": "7.20.7",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz",
"integrity": "sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg=="
"version": "7.21.1",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.1.tgz",
"integrity": "sha512-JzhBFpkuhBNYUY7qs+wTzNmyCWUHEaAFpQQD2YfU1rPL38/L43Wvid0fFkiOCnHvsGncRZgEPyGnltABLcVDTg=="
},
"@babel/runtime": {
"version": "7.20.7",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz",
"integrity": "sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==",
"version": "7.21.0",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz",
"integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==",
"requires": {
"regenerator-runtime": "^0.13.11"
}
@@ -208,37 +209,32 @@
}
},
"@babel/traverse": {
"version": "7.20.12",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.12.tgz",
"integrity": "sha512-MsIbFN0u+raeja38qboyF8TIT7K0BFzz/Yd/77ta4MsUsmP2RAnidIlwq7d5HFQrH/OZJecGV6B71C4zAgpoSQ==",
"version": "7.21.0",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.0.tgz",
"integrity": "sha512-Xdt2P1H4LKTO8ApPfnO1KmzYMFpp7D/EinoXzLYN/cHcBNrVCAkAtGUcXnHXrl/VGktureU6fkQrHSBE2URfoA==",
"requires": {
"@babel/code-frame": "^7.18.6",
"@babel/generator": "^7.20.7",
"@babel/generator": "^7.21.0",
"@babel/helper-environment-visitor": "^7.18.9",
"@babel/helper-function-name": "^7.19.0",
"@babel/helper-function-name": "^7.21.0",
"@babel/helper-hoist-variables": "^7.18.6",
"@babel/helper-split-export-declaration": "^7.18.6",
"@babel/parser": "^7.20.7",
"@babel/types": "^7.20.7",
"@babel/parser": "^7.21.0",
"@babel/types": "^7.21.0",
"debug": "^4.1.0",
"globals": "^11.1.0"
}
},
"@babel/types": {
"version": "7.20.7",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz",
"integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==",
"version": "7.21.0",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.0.tgz",
"integrity": "sha512-uR7NWq2VNFnDi7EYqiRz2Jv/VQIu38tu64Zy8TX2nQFQ6etJ9V/Rr2msW8BS132mum2rL645qpDrLtAJtVpuow==",
"requires": {
"@babel/helper-string-parser": "^7.19.4",
"@babel/helper-validator-identifier": "^7.19.1",
"to-fast-properties": "^2.0.0"
}
},
"@braintree/sanitize-url": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.2.tgz",
"integrity": "sha512-Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg=="
},
"@fast-csv/format": {
"version": "4.3.5",
"resolved": "https://registry.npmjs.org/@fast-csv/format/-/format-4.3.5.tgz",
@@ -402,53 +398,6 @@
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.36.tgz",
"integrity": "sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ=="
},
"@wekanteam/cli-table3": {
"version": "0.8.0",
"resolved": "https://registry.npmjs.org/@wekanteam/cli-table3/-/cli-table3-0.8.0.tgz",
"integrity": "sha512-Oruue4A7mMpTUvMsXS9YClcfLyKRRVB+he3wG3WgbOlb7AwzEJQ3Y5PUTjcKrJpbf+V/6i5O1xrgjt/J+m4jog==",
"requires": {
"string-width": "^5.1.2"
},
"dependencies": {
"ansi-regex": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
"integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA=="
},
"emoji-regex": {
"version": "9.2.2",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="
},
"string-width": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
"integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
"requires": {
"eastasianwidth": "^0.2.0",
"emoji-regex": "^9.2.2",
"strip-ansi": "^7.0.1"
}
},
"strip-ansi": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz",
"integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==",
"requires": {
"ansi-regex": "^6.0.1"
}
}
}
},
"@wekanteam/markdown-it-mermaid": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/@wekanteam/markdown-it-mermaid/-/markdown-it-mermaid-0.6.2.tgz",
"integrity": "sha512-u/RELB3iGg+nMqs2UTFoQhGVQGte2loK+s0UWzmIYoZHOvV8yj1vqvi+LHK+sNzbzR1NOs/gwzyQ/sTQY66J8Q==",
"requires": {
"@wekanteam/cli-table3": "^0.8.0",
"mermaid": "^9.3.0"
}
},
"@wekanteam/minio": {
"version": "7.0.34",
"resolved": "https://registry.npmjs.org/@wekanteam/minio/-/minio-7.0.34.tgz",
@@ -834,14 +783,14 @@
}
},
"browserslist": {
"version": "4.21.4",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
"integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
"version": "4.21.5",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz",
"integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==",
"requires": {
"caniuse-lite": "^1.0.30001400",
"electron-to-chromium": "^1.4.251",
"node-releases": "^2.0.6",
"update-browserslist-db": "^1.0.9"
"caniuse-lite": "^1.0.30001449",
"electron-to-chromium": "^1.4.284",
"node-releases": "^2.0.8",
"update-browserslist-db": "^1.0.10"
}
},
"bson": {
@@ -913,9 +862,9 @@
"dev": true
},
"caniuse-lite": {
"version": "1.0.30001445",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001445.tgz",
"integrity": "sha512-8sdQIdMztYmzfTMO6KfLny878Ln9c2M0fc7EH60IjlP4Dc4PiCy7K2Vl3ITmWgOyPgVQKa5x+UP/KqFsxj4mBg=="
"version": "1.0.30001457",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001457.tgz",
"integrity": "sha512-SDIV6bgE1aVbK6XyxdURbUE89zY7+k1BBBaOwYwkNCglXlel/E7mELiHC64HQ+W0xSKlqWhV9Wh7iHxUjMs4fA=="
},
"chai": {
"version": "4.3.7",
@@ -1036,9 +985,9 @@
"integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg=="
},
"commander": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
"integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw=="
"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.1",
@@ -1067,9 +1016,9 @@
"integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="
},
"core-js": {
"version": "3.27.1",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.27.1.tgz",
"integrity": "sha512-GutwJLBChfGCpwwhbYoqfv03LAfmiz7e7D/BNxzeMxwQf10GRSzqiOjx7AmtEk+heiD/JWmBuyBPgFtx0Sg1ww=="
"version": "3.28.0",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.28.0.tgz",
"integrity": "sha512-GiZn9D4Z/rSYvTeg1ljAIsEqFm0LaN9gVtwDCrKL80zHtS31p9BAjmTxVqTQDMpwlMolJZOFntUG2uwyj7DAqw=="
},
"core-util-is": {
"version": "1.0.3",
@@ -1166,278 +1115,6 @@
"resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
"integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw=="
},
"d3": {
"version": "7.8.1",
"resolved": "https://registry.npmjs.org/d3/-/d3-7.8.1.tgz",
"integrity": "sha512-fdipulGWUYTZTxxU9gDJ2P4mpZL2u7Oqe6n2FI95Q8UY0AjbKNYjPHvhLOsvR+HcSao4vo3YYy4Bk9CWOrt1Vw==",
"requires": {
"d3-array": "3",
"d3-axis": "3",
"d3-brush": "3",
"d3-chord": "3",
"d3-color": "3",
"d3-contour": "4",
"d3-delaunay": "6",
"d3-dispatch": "3",
"d3-drag": "3",
"d3-dsv": "3",
"d3-ease": "3",
"d3-fetch": "3",
"d3-force": "3",
"d3-format": "3",
"d3-geo": "3",
"d3-hierarchy": "3",
"d3-interpolate": "3",
"d3-path": "3",
"d3-polygon": "3",
"d3-quadtree": "3",
"d3-random": "3",
"d3-scale": "4",
"d3-scale-chromatic": "3",
"d3-selection": "3",
"d3-shape": "3",
"d3-time": "3",
"d3-time-format": "4",
"d3-timer": "3",
"d3-transition": "3",
"d3-zoom": "3"
}
},
"d3-array": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.1.tgz",
"integrity": "sha512-gUY/qeHq/yNqqoCKNq4vtpFLdoCdvyNpWoC/KNjhGbhDuQpAM9sIQQKkXSNpXa9h5KySs/gzm7R88WkUutgwWQ==",
"requires": {
"internmap": "1 - 2"
}
},
"d3-axis": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz",
"integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw=="
},
"d3-brush": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz",
"integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==",
"requires": {
"d3-dispatch": "1 - 3",
"d3-drag": "2 - 3",
"d3-interpolate": "1 - 3",
"d3-selection": "3",
"d3-transition": "3"
}
},
"d3-chord": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz",
"integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==",
"requires": {
"d3-path": "1 - 3"
}
},
"d3-color": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz",
"integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA=="
},
"d3-contour": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz",
"integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==",
"requires": {
"d3-array": "^3.2.0"
}
},
"d3-delaunay": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.2.tgz",
"integrity": "sha512-IMLNldruDQScrcfT+MWnazhHbDJhcRJyOEBAJfwQnHle1RPh6WDuLvxNArUju2VSMSUuKlY5BGHRJ2cYyoFLQQ==",
"requires": {
"delaunator": "5"
}
},
"d3-dispatch": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz",
"integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg=="
},
"d3-drag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz",
"integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==",
"requires": {
"d3-dispatch": "1 - 3",
"d3-selection": "3"
}
},
"d3-dsv": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz",
"integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==",
"requires": {
"commander": "7",
"iconv-lite": "0.6",
"rw": "1"
}
},
"d3-ease": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz",
"integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w=="
},
"d3-fetch": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz",
"integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==",
"requires": {
"d3-dsv": "1 - 3"
}
},
"d3-force": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz",
"integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==",
"requires": {
"d3-dispatch": "1 - 3",
"d3-quadtree": "1 - 3",
"d3-timer": "1 - 3"
}
},
"d3-format": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz",
"integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA=="
},
"d3-geo": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.0.tgz",
"integrity": "sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==",
"requires": {
"d3-array": "2.5.0 - 3"
}
},
"d3-hierarchy": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz",
"integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA=="
},
"d3-interpolate": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz",
"integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==",
"requires": {
"d3-color": "1 - 3"
}
},
"d3-path": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz",
"integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ=="
},
"d3-polygon": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz",
"integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg=="
},
"d3-quadtree": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz",
"integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw=="
},
"d3-random": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz",
"integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ=="
},
"d3-scale": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz",
"integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==",
"requires": {
"d3-array": "2.10.0 - 3",
"d3-format": "1 - 3",
"d3-interpolate": "1.2.0 - 3",
"d3-time": "2.1.1 - 3",
"d3-time-format": "2 - 4"
}
},
"d3-scale-chromatic": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz",
"integrity": "sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==",
"requires": {
"d3-color": "1 - 3",
"d3-interpolate": "1 - 3"
}
},
"d3-selection": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz",
"integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ=="
},
"d3-shape": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz",
"integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==",
"requires": {
"d3-path": "^3.1.0"
}
},
"d3-time": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz",
"integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==",
"requires": {
"d3-array": "2 - 3"
}
},
"d3-time-format": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz",
"integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==",
"requires": {
"d3-time": "1 - 3"
}
},
"d3-timer": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz",
"integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA=="
},
"d3-transition": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz",
"integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==",
"requires": {
"d3-color": "1 - 3",
"d3-dispatch": "1 - 3",
"d3-ease": "1 - 3",
"d3-interpolate": "1 - 3",
"d3-timer": "1 - 3"
}
},
"d3-zoom": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz",
"integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==",
"requires": {
"d3-dispatch": "1 - 3",
"d3-drag": "2 - 3",
"d3-interpolate": "1 - 3",
"d3-selection": "2 - 3",
"d3-transition": "2 - 3"
}
},
"dagre-d3-es": {
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.6.tgz",
"integrity": "sha512-CaaE/nZh205ix+Up4xsnlGmpog5GGm81Upi2+/SBHxwNwrccBb3K51LzjZ1U6hgvOlAEUsVWf1xSTzCyKpJ6+Q==",
"requires": {
"d3": "^7.7.0",
"lodash-es": "^4.17.21"
}
},
"dayjs": {
"version": "1.11.7",
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz",
@@ -1465,14 +1142,6 @@
"type-detect": "^4.0.0"
}
},
"delaunator": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.0.tgz",
"integrity": "sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==",
"requires": {
"robust-predicates": "^3.0.0"
}
},
"delegates": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
@@ -1539,9 +1208,9 @@
}
},
"dompurify": {
"version": "2.4.3",
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.3.tgz",
"integrity": "sha512-q6QaLcakcRjebxjg8/+NP+h0rPfatOgOzc46Fst9VAA3jF2ApfKBNKMzdP4DYTqtUMXSCd5pRS/8Po/OmoCHZQ=="
"version": "2.4.4",
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.4.tgz",
"integrity": "sha512-1e2SpqHiRx4DPvmRuXU5J0di3iQACwJM+mFGE2HAkkK7Tbnfk9WcghcAmyWc9CRrjyRRUpmuhPUH6LphQQR3EQ=="
},
"domutils": {
"version": "2.8.0",
@@ -1599,15 +1268,10 @@
}
}
},
"eastasianwidth": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
"integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="
},
"electron-to-chromium": {
"version": "1.4.284",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz",
"integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA=="
"version": "1.4.305",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.305.tgz",
"integrity": "sha512-WETy6tG0CT5gm1O+xCbyapWNsCcmIvrn4NHViIGYo2AT8FV2qUCXdaB+WqYxSv/vS5mFqhBYnfZAAkVArjBmUg=="
},
"elliptic": {
"version": "6.5.4",
@@ -1895,9 +1559,9 @@
"dev": true
},
"get-intrinsic": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
"integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz",
"integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==",
"requires": {
"function-bind": "^1.1.1",
"has": "^1.0.3",
@@ -2034,14 +1698,6 @@
"resolved": "https://registry.npmjs.org/i18next-sprintf-postprocessor/-/i18next-sprintf-postprocessor-0.2.2.tgz",
"integrity": "sha512-c/IT9xuMyTfJ/3Ds+DPtb0vYVuykbMyGChZ5OGZTzFDV7Kgst1nrNOwdbZ+PkcA5kLXEE3U0RKkNbabj07261w=="
},
"iconv-lite": {
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
"integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
"requires": {
"safer-buffer": ">= 2.1.2 < 3.0.0"
}
},
"ieee754": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
@@ -2066,11 +1722,6 @@
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"internmap": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz",
"integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg=="
},
"ipaddr.js": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz",
@@ -2253,13 +1904,6 @@
"mensch": "^0.3.4",
"slick": "^1.12.2",
"web-resource-inliner": "^6.0.1"
},
"dependencies": {
"commander": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
"integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA=="
}
}
},
"just-extend": {
@@ -2268,11 +1912,6 @@
"integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==",
"dev": true
},
"khroma": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/khroma/-/khroma-2.0.0.tgz",
"integrity": "sha512-2J8rDNlQWbtiNYThZRvmMv5yt44ZakX+Tz5ZIp/mN1pt4snn+m030Va5Z4v8xA0cQFDXBwO/8i42xL4QPsVk3g=="
},
"lazystream": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz",
@@ -2368,11 +2007,6 @@
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"lodash-es": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
"integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
},
"lodash._reinterpolate": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
@@ -2548,35 +2182,6 @@
"resolved": "https://registry.npmjs.org/mensch/-/mensch-0.3.4.tgz",
"integrity": "sha512-IAeFvcOnV9V0Yk+bFhYR07O3yNina9ANIN5MoXBKYJ/RLYPurd2d0yw14MDhpr9/momp0WofT1bPUh3hkzdi/g=="
},
"mermaid": {
"version": "9.3.0",
"resolved": "https://registry.npmjs.org/mermaid/-/mermaid-9.3.0.tgz",
"integrity": "sha512-mGl0BM19TD/HbU/LmlaZbjBi//tojelg8P/mxD6pPZTAYaI+VawcyBdqRsoUHSc7j71PrMdJ3HBadoQNdvP5cg==",
"requires": {
"@braintree/sanitize-url": "^6.0.0",
"d3": "^7.0.0",
"dagre-d3-es": "7.0.6",
"dompurify": "2.4.1",
"khroma": "^2.0.0",
"lodash-es": "^4.17.21",
"moment-mini": "^2.24.0",
"non-layered-tidy-tree-layout": "^2.0.2",
"stylis": "^4.1.2",
"uuid": "^9.0.0"
},
"dependencies": {
"dompurify": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.1.tgz",
"integrity": "sha512-ewwFzHzrrneRjxzmK6oVz/rZn9VWspGFRDb4/rRtIsM1n36t9AKma/ye8syCpcw+XJ25kOK/hOG7t1j2I2yBqA=="
},
"uuid": {
"version": "9.0.0",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
"integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg=="
}
}
},
"message-box": {
"version": "0.2.7",
"resolved": "https://registry.npmjs.org/message-box/-/message-box-0.2.7.tgz",
@@ -3425,24 +3030,14 @@
}
},
"minimist": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
"integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g=="
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="
},
"minipass": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.0.tgz",
"integrity": "sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==",
"requires": {
"yallist": "^4.0.0"
},
"dependencies": {
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
}
}
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.3.tgz",
"integrity": "sha512-OW2r4sQ0sI+z5ckEt5c1Tri4xTgZwYDxpE54eqWlQloQRoWtXjqt9udJ5Z4dSv7wK+nfFI7FRXyCpBSft+gpFw=="
},
"minizlib": {
"version": "2.1.2",
@@ -3483,11 +3078,6 @@
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
"integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w=="
},
"moment-mini": {
"version": "2.29.4",
"resolved": "https://registry.npmjs.org/moment-mini/-/moment-mini-2.29.4.tgz",
"integrity": "sha512-uhXpYwHFeiTbY9KSgPPRoo1nt8OxNVdMVoTBYHfSEKeRkIkwGpO+gERmhuhBtzfaeOyTkykSrm2+noJBgqt3Hg=="
},
"mongo-object": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/mongo-object/-/mongo-object-0.1.4.tgz",
@@ -3603,27 +3193,22 @@
}
},
"node-fetch": {
"version": "2.6.8",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.8.tgz",
"integrity": "sha512-RZ6dBYuj8dRSfxpUSu+NsdF1dpPpluJxwOp+6IoDp/sH2QNDSvurYsAa+F1WxY2RjA1iP93xhcsUoYbF2XBqVg==",
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz",
"integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==",
"requires": {
"whatwg-url": "^5.0.0"
}
},
"node-releases": {
"version": "2.0.8",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz",
"integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A=="
"version": "2.0.10",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz",
"integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w=="
},
"nodemailer": {
"version": "6.9.0",
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.0.tgz",
"integrity": "sha512-jFaCEGTeT3E/m/5R2MHWiyQH3pSARECRUDM+1hokOYc3lQAAG7ASuy+2jIsYVf+RVa9zePopSQwKNVFH8DKUpA=="
},
"non-layered-tidy-tree-layout": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz",
"integrity": "sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw=="
"version": "6.9.1",
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.1.tgz",
"integrity": "sha512-qHw7dOiU5UKNnQpXktdgQ1d3OFgRAekuvbJLcdG5dnEo/GtcTHRYM7+UfJARdOFU9WUQO8OiIamgWPmiSFHYAA=="
},
"nopt": {
"version": "5.0.0",
@@ -3845,9 +3430,9 @@
}
},
"punycode": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.2.0.tgz",
"integrity": "sha512-LN6QV1IJ9ZhxWTNdktaPClrNfp8xdSAYS0Zk2ddX7XsXZAxckMHPCBcHRo0cTcEIgYPRiGEkmji3Idkh2yFtYw=="
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
"integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA=="
},
"qs": {
"version": "6.11.0",
@@ -3920,9 +3505,9 @@
}
},
"minimatch": {
"version": "5.1.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.4.tgz",
"integrity": "sha512-U0iNYXt9wALljzfnGkhFSy5sAC6/SCR3JrHrlsdJz4kF8MvhTRQNiC59iUi1iqsitV7abrNAJWElVL9pdnoUgw==",
"version": "5.1.6",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
"integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
"requires": {
"brace-expansion": "^2.0.1"
}
@@ -3957,16 +3542,6 @@
"inherits": "^2.0.1"
}
},
"robust-predicates": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.1.tgz",
"integrity": "sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g=="
},
"rw": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz",
"integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ=="
},
"safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
@@ -4174,11 +3749,6 @@
"peek-readable": "^4.1.0"
}
},
"stylis": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz",
"integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA=="
},
"supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
@@ -4272,9 +3842,9 @@
"integrity": "sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ=="
},
"tslib": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz",
"integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA=="
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz",
"integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg=="
},
"type-detect": {
"version": "4.0.8",
+1 -2
View File
@@ -1,6 +1,6 @@
{
"name": "wekan",
"version": "v6.71.0",
"version": "v6.78.0",
"description": "Open-Source kanban",
"private": true,
"repository": {
@@ -24,7 +24,6 @@
"@babel/core": "^7.15.5",
"@babel/runtime": "^7.15.4",
"@mapbox/node-pre-gyp": "^1.0.8",
"@wekanteam/markdown-it-mermaid": "^0.6.2",
"@wekanteam/minio": "^7.0.34",
"ajv": "^6.12.6",
"babel-runtime": "^6.26.0",
@@ -7,7 +7,7 @@ var Markdown = require('markdown-it')({
breaks: true,
});
import markdownItMermaid from "@wekanteam/markdown-it-mermaid";
//import markdownItMermaid from "@wekanteam/markdown-it-mermaid";
// Static URL Scheme Listing
var urlschemes = [
@@ -48,9 +48,9 @@ Markdown.use(mathjax);
// https://github.com/wekan/cli-table3
// https://www.npmjs.com/package/@wekanteam/markdown-it-mermaid
// https://github.com/wekan/markdown-it-mermaid
Markdown.use(markdownItMermaid,{
maxTextSize: 200000,
});
//Markdown.use(markdownItMermaid,{
// maxTextSize: 200000,
//});
if (Package.ui) {
const Template = Package.templating.Template;
+3 -3
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 v6.71</title>
<title>Wekan REST API v6.78</title>
<style>
</style>
@@ -1558,7 +1558,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 v6.71">Wekan REST API v6.71</a>
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v6.78">Wekan REST API v6.78</a>
</li>
@@ -2161,7 +2161,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 v6.71</h1>
<h1 id="wekan-rest-api">Wekan REST API v6.78</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>
+1 -1
View File
@@ -1,7 +1,7 @@
swagger: '2.0'
info:
title: Wekan REST API
version: v6.71
version: v6.78
description: |
The REST API allows you to control and extend Wekan with ease.
+4 -1
View File
@@ -512,5 +512,8 @@
"description": "Open Source kanban with MIT license",
"dir": "auto",
"scope": "https://boards.wekan.team",
"prefer_related_applications": false
"prefer_related_applications": false,
"display_override": [
"fullscreen"
]
}
+2 -2
View File
@@ -15,8 +15,8 @@ REM Install chocolatey
choco install -y git curl python2 dotnet4.5.2 nano mongodb-4 mongoclient
curl -O https://nodejs.org/dist/v14.21.2/node-v14.21.2-x64.msi
call node-v14.21.2-x64.msi
curl -O https://nodejs.org/dist/v14.21.3/node-v14.21.3-x64.msi
call node-v14.21.3-x64.msi
call npm config -g set msvs_version 2015
call meteor npm config -g set msvs_version 2015
+2 -2
View File
@@ -39,7 +39,7 @@ do
#curl -0 -L https://npmjs.org/install.sh | sudo sh
#sudo chown -R $(id -u):$(id -g) $HOME/.npm
sudo npm -g install n
sudo n 14.21.2
sudo n 14.21.3
sudo npm -g install npm
#sudo npm -g install npm
## Latest npm with Meteor 2.2
@@ -91,7 +91,7 @@ do
#sudo chown -R $(id -u):$(id -g) $HOME/.npm $HOME/.meteor
rm -rf .build/bundle node_modules .meteor/local .build
meteor npm install
meteor build .build --directory
meteor build .build --directory --platforms=web.browser
rm -rf .build/bundle/programs/web.browser.legacy
(cd .build/bundle/programs/server && rm -rf node_modules && chmod u+w *.json && meteor npm install)
(cd .build/bundle/programs/server/node_modules/fibers && node build.js)
+1 -1
View File
@@ -17,7 +17,7 @@ rm -rf bundle
rm wekan-$1-arm64.zip
#rm wekan-$1.zip
#wget https://releases.wekan.team/wekan-$1.zip
7z x wekan-$1.zip
7z x wekan-$1-amd64.zip
(cd bundle/programs/server && chmod u+w *.json && cd node_modules/fibers && node build.js)
#cd ../../../..
+1 -3
View File
@@ -15,9 +15,7 @@ sudo npm -g uninstall node-pre-gyp
sudo npm -g install @mapbox/node-pre-gyp
rm -rf bundle
rm wekan-$1-ppc64le.zip
#rm wekan-$1.zip
#wget https://releases.wekan.team/wekan-$1.zip
7z x wekan-$1.zip
7z x wekan-$1-amd64.zip
(cd bundle/programs/server && chmod u+w *.json && cd node_modules/fibers && node build.js)
#cd ../../../..
+2 -2
View File
@@ -29,8 +29,8 @@ rm -rf bundle
rm wekan-$1-s390x.zip
#rm wekan-$1.zip
#wget https://releases.wekan.team/wekan-$1.zip
7za x wekan-$1.zip
#wget https://releases.wekan.team/wekan-$1-amd64.zip
7za x wekan-$1-amd64.zip
(cd bundle/programs/server && chmod u+w *.json && cd node_modules/fibers && node build.js)
#cd ../../../..
+3 -3
View File
@@ -6,11 +6,11 @@ ECHO 1) Deleting old bundle
CALL DEL /F /S /Q bundle
ECHO 2) Downloading new WeKan.zip
CALL DEL wekan-%1.zip
CALL wget https://releases.wekan.team/wekan-%1.zip
CALL DEL wekan-%1-amd64.zip
CALL wget https://releases.wekan.team/wekan-%1-amd64.zip
ECHO 3) Unarchiving new WeKan
CALL 7z x wekan-%1.zip
CALL 7z x wekan-%1-amd64.zip
ECHO 4) Reinstalling bcrypt
cmd /c "CD bundle\programs\server\npm\node_modules\meteor\accounts-password && npm remove bcrypt && npm install bcrypt"
+1 -1
View File
@@ -9,7 +9,7 @@ sudo chown -R $(id -u):$(id -g) $HOME/.npm $HOME/.meteor
rm -rf node_modules
meteor npm install
rm -rf .build
METEOR_PROFILE=100 meteor build .build --directory
METEOR_PROFILE=100 meteor build .build --directory --platforms=web.browser
# Remove legacy webbroser bundle, so that Wekan works also at Android Firefox, iOS Safari, etc.
rm -rf .build/bundle/programs/web.browser.legacy
cd .build/bundle/programs/server
+1 -1
View File
@@ -11,4 +11,4 @@ fi
mkdir ~/rel$1
mv ~/repos/wekan/wekan-$1*.zip /home/wekan/rel$1/
mv ~/Julkinen/wekan-$1*.zip /home/wekan/rel$1/
mv /home/wekan/repos/wekan/.build/wekan-$1.zip /home/wekan/rel$1/wekan-$1-amd64.zip
mv /home/wekan/repos/wekan/.build/wekan-$1-amd64.zip /home/wekan/rel$1/wekan-$1-amd64.zip
+5 -5
View File
@@ -3,19 +3,19 @@ sudo apt-get -y install parallel
./releases/rebuild-release.sh
#./releases/delete-phantomjs.sh
cd ~/repos/wekan/.build
zip -r wekan-$1.zip bundle
zip -r wekan-$1-amd64.zip bundle
{
scp ~/repos/wekan/releases/build-bundle-arm64.sh a:/home/wekan/
scp ~/repos/wekan/releases/build-bundle-s390x.sh s:/home/linux1/
#scp ~/repos/wekan/releases/build-bundle-ppc64el.sh o:/home/ubuntu/
scp ~/repos/wekan/releases/release-x2.sh x2:/data/websites/
scp wekan-$1.zip x2:/data/websites/releases.wekan.team/public/
scp wekan-$1.zip a:/home/wekan/
scp wekan-$1.zip s:/home/linux1/
scp wekan-$1-amd64.zip x2:/data/websites/releases.wekan.team/
scp wekan-$1-amd64.zip a:/home/wekan/
scp wekan-$1-amd64.zip s:/home/linux1/
#scp wekan-$1.zip o:/home/ubuntu/
} | parallel -k
cd ..
echo "x64 bundle and arm64/s390x/ppc64le build scripts uploaded to x2/a/s."
echo "x64 bundle and arm64/s390x build scripts uploaded to x2/a/s."
+1 -1
View File
@@ -31,7 +31,7 @@ meteor-spk pack wekan-$1.spk
spk publish wekan-$1.spk
# Upload spk to https://releases.wekan.team/sandstorm/
scp wekan-$1.spk x2:/var/websites/releases.wekan.team/public/sandstorm/
scp wekan-$1.spk x2:/data/websites/releases.wekan.team/dev/sandstorm/
# Delete old temporary build directory
rm -rf ~/repos/wekan/.meteor-spk
+8 -21
View File
@@ -8,51 +8,38 @@ if [ $# -ne 2 ]
fi
echo "Release: x64"
cd /data/websites/releases.wekan.team/public
cd /data/websites/releases.wekan.team
mkdir -p /data/websites/old-releases
mv wekan-$1.zip /data/websites/old-releases/
#mv SHA256SUMS.txt x64-SHA256SUMS.txt
#cat x64-SHA256SUMS.txt | grep -v wekan-$1.zip > SHA256SUMS.txt
#rm x64-SHA256SUMS.txt
cp wekan-$2.zip wekan-latest-x64.zip
mv wekan-$1-amd64.zip /data/websites/old-releases/
cp wekan-$2-amd64.zip wekan-latest-amd64.zip
cp wekan-$2-amd64.zip wekan-$2.zip
sha256sum wekan-*.zip > SHA256SUMS.txt
echo "Release: x64 windows"
cd /data/websites/releases.wekan.team/public/windows
cd /data/websites/releases.wekan.team/windows
mkdir -p /data/websites/old-releases/windows
mv wekan-$1-amd64-windows.zip /data/websites/old-releases/windows/
#sha256sum wekan-$2-amd64-windows.zip >> SHA256SUMS.txt
#mv SHA256SUMS.txt x64-windows-SHA256SUMS.txt
#cat x64-windows-SHA256SUMS.txt | grep -v wekan-$1-amd64-windows.zip > SHA256SUMS.txt
#rm x64-windows-SHA256SUMS.txt
cp wekan-$2-amd64-windows.zip wekan-latest-amd64-windows.zip
sha256sum wekan-*.zip > SHA256SUMS.txt
echo "Release: arm64"
cd /data/websites/releases.wekan.team/public/raspi3
cd /data/websites/releases.wekan.team/raspi3
mkdir -p /data/websites/old-releases/raspi3/
mv wekan-$1-arm64.zip /data/websites/old-releases/raspi3/
#sha256sum wekan-$2-arm64.zip >> SHA256SUMS.txt
#mv SHA256SUMS.txt arm64-SHA256SUMS.txt
#cat arm64-SHA256SUMS.txt | grep -v wekan-$1-arm64.zip > SHA256SUMS.txt
#rm arm64-SHA256SUMS.txt
cp wekan-$2-arm64.zip wekan-latest-arm64.zip
sha256sum wekan-*.zip > SHA256SUMS.txt
echo "Release: s390x"
cd /data/websites/releases.wekan.team/public/s390x
cd /data/websites/releases.wekan.team/s390x
mkdir -p /data/websites/old-releases/s390x
mv wekan-$1-s390x.zip /data/websites/old-releases/s390x/
#sha256sum wekan-$2-s390x.zip >> SHA256SUMS.txt
#mv SHA256SUMS.txt s390x-SHA256SUMS.txt
#cat s390x-SHA256SUMS.txt | grep -v wekan-$1-s390x.zip > SHA256SUMS.txt
#rm s390x-SHA256SUMS.txt
cp wekan-$2-s390x.zip wekan-latest-s390x.zip
sha256sum wekan-*.zip > SHA256SUMS.txt
# OpenPower MiniCloud is discontinued, no ppc64le build server
#echo "Release: ppc64le"
#cd /data/websites/releases.wekan.team/public/ppc64le
#cd /data/websites/releases.wekan.team/ppc64le
#mkdir -p /data/websites/old-releases/ppc64le
#mv wekan-$1-ppc64le.zip /data/websites/old-releases/ppc64le/
#sha256sum wekan-$2-ppc64le.zip >> SHA256SUMS.txt
+362
View File
@@ -0,0 +1,362 @@
cd ~/repos/wekan
echo "Arabic:"
tx pull -f -l ar
echo "Arabic (Egypt), simply Masri (مَصرى, [ˈmɑsˤɾi], Egyptian, Masr refers to Cairo):"
tx pull -f -l ar_EG
echo "Arabic (Moroccan):"
tx pull -f -l ary
echo "Arabic (Algeria):"
tx pull -f -l ar_DZ
echo "Azerbaijani:"
tx pull -f -l az
echo "Azerbaijani (Azerbaijan):"
tx pull -f -l az_AZ
echo "Azerbaijani (Latin):"
tx pull -f -l az@latin
echo "Armenian:"
tx pull -f -l hy
echo "Basque:"
tx pull -f -l eu
echo "Bulgarian:"
tx pull -f -l bg_BG
echo "Breton:"
tx pull -f -l br
echo "Catalan:"
tx pull -f -l ca
echo "Chinese (China):"
tx pull -f -l zh_CN
echo "Chinese (Hong Kong):"
tx pull -f -l zh_HK
echo "Chinese Simplified (zh-Hans):"
tx pull -f -l zh_Hans
echo "Chinese (Taiwan):"
tx pull -f -l zh_TW
echo "Croatian:"
tx pull -f -l hr
echo "Czech:"
tx pull -f -l cs
echo "Czech (Czech Republic):"
tx pull -f -l cs_CZ
echo "Danish:"
tx pull -f -l da
echo "Dutch:"
tx pull -f -l nl
echo "Dutch (Netherlands):"
tx pull -f -l nl_NL
echo "Esperanto:"
tx pull -f -l eo
echo "Estonian (Estonia):"
tx pull -f -l et_EE
echo "English (Brazil):"
tx pull -f -l en_BR
echo "English (Germany):"
tx pull -f -l en_DE
echo "English (Italy):"
tx pull -f -l en_IT
echo "English (Malaysia) (en_MY):"
tx pull -f -l en_MY
echo "English (United Kingdom):"
tx pull -f -l en_GB
echo "Finnish:"
tx pull -f -l fi
echo "French:"
tx pull -f -l fr
echo "French (Switzerland):"
tx pull -f -l fr_CH
echo "Galician:"
tx pull -f -l gl
echo "Galician (Spain):"
tx pull -f -l gl_ES
echo "Georgian:"
tx pull -f -l ka
echo "German:"
tx pull -f -l de
echo "German (Austria):"
tx pull -f -l de_AT
echo "German (Switzerland) => Deutsch (Schweiz):"
tx pull -f -l de_CH
#echo "Greek:"
#tx pull -f -l el
echo "Greek (Greece):"
tx pull -f -l el_GR
echo "Gurajati (India):"
tx pull -f -l gu_IN
echo "Hebrew:"
tx pull -f -l he
echo "Hebrew (Israel):"
tx pull -f -l he_IL
echo "Hungarian:"
tx pull -f -l hu_HU
echo "Hindi:"
tx pull -f -l hi
echo "Hindi (India)":
tx pull -f -l hi_IN
echo "Khmer (km)":
tx pull -f -l km
echo "Lithuanian:"
tx pull -f -l lt
echo "Persian:"
tx pull -f -l fa
echo "Persian (Iran) فارسی/پارسی (ایران‎):"
tx pull -f -l fa_IR
echo "Indonesian (Indonesia):"
tx pull -f -l id_ID
echo "Igbo:"
tx pull -f -l ig
echo "Italian:"
tx pull -f -l it
echo "Japanese:"
tx pull -f -l ja
echo "Japanese (Hiragana):"
tx pull -f -l ja-Hira
echo "Khmer:"
tx pull -f -l km
echo "Korean:"
tx pull -f -l ko
echo "Korean (Korea):"
tx pull -f -l ko_KR
echo "Latvian (Latvia):"
tx pull -f -l lv_LV
echo "Macedonian:"
tx pull -f -l mk
echo "Malay (ms):"
tx pull -f -l ms
echo "Malay (Malaysia) (ms_MY):"
tx pull -f -l ms_MY
echo "Mongolian (Mongolia):"
tx pull -f -l mn_MN
#echo "Norwegian:"
#tx pull -f -l no
# This is same as no below
echo "Norwegian Bokmål:"
tx pull -f -l nb
echo "Occitan (post 1500):"
tx pull -f -l oc
echo "Persian:"
tx pull -f -l fa
echo "Panjabi (Punjabi):"
tx pull -f -l pa
echo "Polish:"
tx pull -f -l pl
echo "Polish (Poland):"
tx pull -f -l pl_PL
echo "Portuguese:"
tx pull -f -l pt
echo "Portuguese (Brazil):"
tx pull -f -l pt_BR
echo "Romanian:"
tx pull -f -l ro
echo "Romanian (Romania):"
tx pull -f -l ro_RO
echo "Russian:"
tx pull -f -l ru
echo "Russian (Ukraine):"
tx pull -f -l ru_UA
echo "Spanish:"
tx pull -f -l es
echo "Spanish (Argentina):"
tx pull -f -l es_AR
echo "Spanish (Asturia):"
tx pull -f -l ast_ES
echo "Spanish (Chile):"
tx pull -f -l es_CL
echo "Spanish (Latin America)":
tx pull -f -l es_419
echo "Spanish (Mexico)":
tx pull -f -l es_MX
echo "Spanish (Paraguay):"
tx pull -f -l es_PY
echo "Spanish (Peru):"
tx pull -f -l es_PE
echo "Serbian:"
tx pull -f -l sr
echo "Slovak:"
tx pull -f -l sk
echo "Slovenian:"
tx pull -f -l sl_SI
echo "Standard Moroccan Tamazight"
tx pull -f -l zgh
echo "Swahili:"
tx pull -f -l sw
echo "Swedish:"
tx pull -f -l sv
echo "Tamil:"
tx pull -f -l ta
echo "Thai:"
tx pull -f -l th
echo "Turkish:"
tx pull -f -l tr
echo "Ukrainian:"
tx pull -f -l uk
echo "Ukrainian (Ukraine):"
tx pull -f -l uk_UA
echo "Uyghur (ug):"
tx pull -f -l ug
echo "Uzbek (uz):"
tx pull -f -l uz
echo "Uzbek (Arabic) (uz@Arab):"
tx pull -f -l uz@Arab
echo "Uzbek (Latin) (uz@Latn):"
tx pull -f -l uz@Latn
echo "Uzbek (Uzbekistan) (uz_UZ):"
tx pull -f -l uz_UZ
echo "Venda (ve):"
tx pull -f -l ve
echo "Venetian (vec):"
tx pull -f -l vec
echo "Vepsian (vep):"
tx pull -f -l vep
echo "Vietnamese:"
tx pull -f -l vi
echo "Vietnamese (Viet Nam) (vi_VN):"
tx pull -f -l vi_VN
echo "Vlaams (vls):"
tx pull -f -l vls
echo "Volapük (vo):"
tx pull -f -l vo
echo "Walloon (wa):"
tx pull -f -l wa
echo "Welsh (cy):"
tx pull -f -l cy
echo "Welsh (United Kingdom) (cy_GB):"
tx pull -f -l cy_GB
echo "Western Frisian (fy):"
tx pull -f -l fy
echo "Western Frisian (Netherlands) (fy_NL):"
tx pull -f -l fy_NL
echo "Wolof (wo):"
tx pull -f -l wo
echo "Wáray-Wáray (war):"
tx pull -f -l war
echo "Xhosa (xh):"
tx pull -f -l xh
echo "Yeshivish English (en@ysv):"
tx pull -f -l en@ysv
echo "Yiddish (yi):"
tx pull -f -l yi
echo "Yoruba (yo):"
tx pull -f -l yo
echo "Zulu (zu):"
tx pull -f -l zu
echo "Zulu (South Africa) (zu_ZA):"
tx pull -f -l zu_ZA
+9 -360
View File
@@ -1,362 +1,11 @@
cd ~/repos/wekan
echo "Arabic:"
tx pull -f -l ar
echo "Arabic (Egypt), simply Masri (مَصرى, [ˈmɑsˤɾi], Egyptian, Masr refers to Cairo):"
tx pull -f -l ar_EG
echo "Arabic (Moroccan):"
tx pull -f -l ary
echo "Arabic (Algeria):"
tx pull -f -l ar_DZ
echo "Azerbaijani:"
tx pull -f -l az
echo "Azerbaijani (Azerbaijan):"
tx pull -f -l az_AZ
echo "Azerbaijani (Latin):"
tx pull -f -l az@latin
echo "Armenian:"
tx pull -f -l hy
echo "Basque:"
tx pull -f -l eu
echo "Bulgarian:"
tx pull -f -l bg_BG
echo "Breton:"
tx pull -f -l br
echo "Catalan:"
tx pull -f -l ca
echo "Chinese (China):"
tx pull -f -l zh_CN
echo "Chinese (Hong Kong):"
tx pull -f -l zh_HK
echo "Chinese Simplified (zh-Hans):"
tx pull -f -l zh_Hans
echo "Chinese (Taiwan):"
tx pull -f -l zh_TW
echo "Croatian:"
tx pull -f -l hr
echo "Czech:"
tx pull -f -l cs
echo "Czech (Czech Republic):"
tx pull -f -l cs_CZ
echo "Danish:"
tx pull -f -l da
echo "Dutch:"
tx pull -f -l nl
echo "Dutch (Netherlands):"
tx pull -f -l nl_NL
echo "Esperanto:"
tx pull -f -l eo
echo "Estonian (Estonia):"
tx pull -f -l et_EE
echo "English (Brazil):"
tx pull -f -l en_BR
echo "English (Germany):"
tx pull -f -l en_DE
echo "English (Italy):"
tx pull -f -l en_IT
echo "English (Malaysia) (en_MY):"
tx pull -f -l en_MY
echo "English (United Kingdom):"
tx pull -f -l en_GB
echo "Finnish:"
tx pull -f -l fi
echo "French:"
tx pull -f -l fr
echo "French (Switzerland):"
tx pull -f -l fr_CH
echo "Galician:"
tx pull -f -l gl
echo "Galician (Spain):"
tx pull -f -l gl_ES
echo "Georgian:"
tx pull -f -l ka
echo "German:"
tx pull -f -l de
echo "German (Austria):"
tx pull -f -l de_AT
echo "German (Switzerland) => Deutsch (Schweiz):"
tx pull -f -l de_CH
#echo "Greek:"
#tx pull -f -l el
echo "Greek (Greece):"
tx pull -f -l el_GR
echo "Gurajati (India):"
tx pull -f -l gu_IN
echo "Hebrew:"
tx pull -f -l he
echo "Hebrew (Israel):"
tx pull -f -l he_IL
echo "Hungarian:"
tx pull -f -l hu_HU
echo "Hindi:"
tx pull -f -l hi
echo "Hindi (India)":
tx pull -f -l hi_IN
echo "Khmer (km)":
tx pull -f -l km
echo "Lithuanian:"
tx pull -f -l lt
echo "Persian:"
tx pull -f -l fa
echo "Persian (Iran) فارسی/پارسی (ایران‎):"
tx pull -f -l fa_IR
echo "Indonesian (Indonesia):"
tx pull -f -l id_ID
echo "Igbo:"
tx pull -f -l ig
echo "Italian:"
tx pull -f -l it
echo "Japanese:"
tx pull -f -l ja
echo "Japanese (Hiragana):"
tx pull -f -l ja-Hira
echo "Khmer:"
tx pull -f -l km
echo "Korean:"
tx pull -f -l ko
echo "Korean (Korea):"
tx pull -f -l ko_KR
echo "Latvian (Latvia):"
tx pull -f -l lv_LV
echo "Macedonian:"
tx pull -f -l mk
echo "Malay (ms):"
tx pull -f -l ms
echo "Malay (Malaysia) (ms_MY):"
tx pull -f -l ms_MY
echo "Mongolian (Mongolia):"
tx pull -f -l mn_MN
#echo "Norwegian:"
#tx pull -f -l no
# This is same as no below
echo "Norwegian Bokmål:"
tx pull -f -l nb
echo "Occitan (post 1500):"
tx pull -f -l oc
echo "Persian:"
tx pull -f -l fa
echo "Panjabi (Punjabi):"
tx pull -f -l pa
echo "Polish:"
tx pull -f -l pl
echo "Polish (Poland):"
tx pull -f -l pl_PL
echo "Portuguese:"
tx pull -f -l pt
echo "Portuguese (Brazil):"
tx pull -f -l pt_BR
echo "Romanian:"
tx pull -f -l ro
echo "Romanian (Romania):"
tx pull -f -l ro_RO
echo "Russian:"
tx pull -f -l ru
echo "Russian (Ukraine):"
tx pull -f -l ru_UA
echo "Spanish:"
tx pull -f -l es
echo "Spanish (Argentina):"
tx pull -f -l es_AR
echo "Spanish (Asturia):"
tx pull -f -l ast_ES
echo "Spanish (Chile):"
tx pull -f -l es_CL
echo "Spanish (Latin America)":
tx pull -f -l es_419
echo "Spanish (Mexico)":
tx pull -f -l es_MX
echo "Spanish (Paraguay):"
tx pull -f -l es_PY
echo "Spanish (Peru):"
tx pull -f -l es_PE
echo "Serbian:"
tx pull -f -l sr
echo "Slovak:"
tx pull -f -l sk
echo "Slovenian:"
tx pull -f -l sl_SI
echo "Standard Moroccan Tamazight"
tx pull -f -l zgh
echo "Swahili:"
tx pull -f -l sw
echo "Swedish:"
tx pull -f -l sv
echo "Tamil:"
tx pull -f -l ta
echo "Thai:"
tx pull -f -l th
echo "Turkish:"
tx pull -f -l tr
echo "Ukrainian:"
tx pull -f -l uk
echo "Ukrainian (Ukraine):"
tx pull -f -l uk_UA
echo "Uyghur (ug):"
tx pull -f -l ug
echo "Uzbek (uz):"
tx pull -f -l uz
echo "Uzbek (Arabic) (uz@Arab):"
tx pull -f -l uz@Arab
echo "Uzbek (Latin) (uz@Latn):"
tx pull -f -l uz@Latn
echo "Uzbek (Uzbekistan) (uz_UZ):"
tx pull -f -l uz_UZ
echo "Venda (ve):"
tx pull -f -l ve
echo "Venetian (vec):"
tx pull -f -l vec
echo "Vepsian (vep):"
tx pull -f -l vep
echo "Vietnamese:"
tx pull -f -l vi
echo "Vietnamese (Viet Nam) (vi_VN):"
tx pull -f -l vi_VN
echo "Vlaams (vls):"
tx pull -f -l vls
echo "Volapük (vo):"
tx pull -f -l vo
echo "Walloon (wa):"
tx pull -f -l wa
echo "Welsh (cy):"
tx pull -f -l cy
echo "Welsh (United Kingdom) (cy_GB):"
tx pull -f -l cy_GB
echo "Western Frisian (fy):"
tx pull -f -l fy
echo "Western Frisian (Netherlands) (fy_NL):"
tx pull -f -l fy_NL
echo "Wolof (wo):"
tx pull -f -l wo
echo "Wáray-Wáray (war):"
tx pull -f -l war
echo "Xhosa (xh):"
tx pull -f -l xh
echo "Yeshivish English (en@ysv):"
tx pull -f -l en@ysv
echo "Yiddish (yi):"
tx pull -f -l yi
echo "Yoruba (yo):"
tx pull -f -l yo
echo "Zulu (zu):"
tx pull -f -l zu
echo "Zulu (South Africa) (zu_ZA):"
tx pull -f -l zu_ZA
tx pull -a
# https://developers.transifex.com/docs/cli
# New Go-based transifex client.
# 1. Migrated: tx migrate
# 2. Pushed all: tx push -a -l
# 3. Pulled all: tx pull -a -l
# Although now all show as translated, maybe I did something wrong.
+1 -1
View File
@@ -14,4 +14,4 @@ fi
scp a:/home/wekan/wekan-$1-arm64.zip .
# 3) Upload arm64 release to download server
scp wekan-$1-arm64.zip x2:/data/websites/releases.wekan.team/public/raspi3/
scp wekan-$1-arm64.zip x2:/data/websites/releases.wekan.team/raspi3/
+1 -1
View File
@@ -14,4 +14,4 @@ fi
scp o:/home/ubuntu/wekan-$1-ppc64le.zip .
# 3) Upload ppc64le release to download server
scp wekan-$1-ppc64le.zip x2:/data/websites/releases.wekan.team/public/ppc64le/
scp wekan-$1-ppc64le.zip x2:/data/websites/releases.wekan.team/ppc64le/
+1 -1
View File
@@ -14,4 +14,4 @@ fi
scp s:/home/linux1/wekan-$1-s390x.zip .
# 3) Upload s390x release to download server
scp wekan-$1-s390x.zip x2:/data/websites/releases.wekan.team/public/s390x/
scp wekan-$1-s390x.zip x2:/data/websites/releases.wekan.team/s390x/
+1 -1
View File
@@ -11,4 +11,4 @@ if [ $# -ne 1 ]
fi
# 2) Upload windows release to download server
scp ../../Julkinen/wekan-$1-amd64-windows.zip x2:/data/websites/releases.wekan.team/public/windows/
scp ../../Julkinen/wekan-$1-amd64-windows.zip x2:/data/websites/releases.wekan.team/windows/
+2 -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 = 671,
appVersion = 678,
# Increment this for every release.
appMarketingVersion = (defaultText = "6.71.0~2023-01-18"),
appMarketingVersion = (defaultText = "6.78.0~2023-02-28"),
# Human-readable presentation of the app version.
minUpgradableAppVersion = 0,
+14 -8
View File
@@ -1246,6 +1246,7 @@ Migrations.add('add-card-details-show-lists', () => {
});
Migrations.add('migrate-attachments-collectionFS-to-ostrioFiles', () => {
Meteor.settings.public.ostrioFilesMigrationInProgress = "true";
AttachmentsOld.find().forEach(function(fileObj) {
const newFileName = fileObj.name();
const storagePath = Attachments.storagePath({});
@@ -1306,9 +1307,11 @@ Migrations.add('migrate-attachments-collectionFS-to-ostrioFiles', () => {
readStream.pipe(writeStream);
});
Meteor.settings.public.ostrioFilesMigrationInProgress = "false";
});
Migrations.add('migrate-avatars-collectionFS-to-ostrioFiles', () => {
Meteor.settings.public.ostrioFilesMigrationInProgress = "true";
AvatarsOld.find().forEach(function(fileObj) {
const newFileName = fileObj.name();
const storagePath = Avatars.storagePath({});
@@ -1361,14 +1364,16 @@ Migrations.add('migrate-avatars-collectionFS-to-ostrioFiles', () => {
'original',
'/',
);
if (user.profile.avatarUrl.startsWith(old_url)) {
// Set avatar url to new url
Users.direct.update(
{ _id: user._id },
{ $set: { 'profile.avatarUrl': new_url } },
noValidate,
);
console.log('User avatar updated: ', user._id, new_url);
if (user.profile.avatarUrl !== undefined) {
if (user.profile.avatarUrl.startsWith(old_url)) {
// Set avatar url to new url
Users.direct.update(
{ _id: user._id },
{ $set: { 'profile.avatarUrl': new_url } },
noValidate,
);
console.log('User avatar updated: ', user._id, new_url);
}
}
});
fileObj.remove();
@@ -1384,6 +1389,7 @@ Migrations.add('migrate-avatars-collectionFS-to-ostrioFiles', () => {
readStream.pipe(writeStream);
});
Meteor.settings.public.ostrioFilesMigrationInProgress = "false";
});
Migrations.add('migrate-attachment-drop-index-cardId', () => {
+3 -3
View File
@@ -33,8 +33,8 @@ KEY_S3="s3"
#
# CMD ["node", "/build/main.js"]
DESCRIPTION_NODE_OPTIONS="Add more Node heap. https://github.com/wekan/wekan/issues/3585#issuecomment-1021522132 . Default: node-options=\"--max_old_space_size=4096\""
DEFAULT_NODE_OPTIONS="--max_old_space_size=4096"
KEYS_NODE_OPTIONS="node-options"
DEFAULT_NODE_OPTIONS=""
KEY_NODE_OPTIONS="node-options"
# default values
DESCRIPTION_DEBUG="Debug OIDC OAuth2 etc. Example: sudo snap set wekan debug='true'"
@@ -227,7 +227,7 @@ KEY_MATOMO_WITH_USERNAME="matomo-with-username"
DESCRIPTION_METRICS_ALLOWED_IP_ADDRESSES="Metrics allowed IP addresses, separated by ',' . https://github.com/wekan/wekan/wiki/Metrics"
DEFAULT_METRICS_ALLOWED_IP_ADDRESSES=""
KEY_METRICS_ALLOWED_IP_ADDRESSES"metrics-allowed-ip-addresses"
KEY_METRICS_ALLOWED_IP_ADDRESSES="metrics-allowed-ip-addresses"
DESCRIPTION_BROWSER_POLICY_ENABLED="Enable browser policy and allow one trusted URL that can have iframe that has Wekan embedded inside.\n"\
"\t\t\t Setting this to false is not recommended, it also disables all other browser policy protections\n"\
+29 -20
View File
@@ -1,5 +1,5 @@
name: wekan
version: '6.71'
version: '6.78'
base: core20
summary: Open Source kanban
description: |
@@ -65,7 +65,8 @@ apps:
parts:
mongodb:
source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-6.0.3.tgz
source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-5.0.14.tgz
#source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-6.0.4.tgz
plugin: dump
stage-packages:
- libssl1.1
@@ -90,19 +91,27 @@ parts:
prime:
- $mongo
mongodb44:
source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-4.4.16.tgz
plugin: dump
organize:
bin: mongo44bin
usr: mongo44usr
stage:
- -init
# mongosh:
# source: https://downloads.mongodb.com/compass/mongodb-mongosh_1.6.2_amd64.deb
# plugin: dump
# mongotools:
# source: https://fastdl.mongodb.org/tools/db/mongodb-database-tools-ubuntu2004-x86_64-100.6.1.tgz
# plugin: dump
# mongodb44:
# source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-4.4.18.tgz
# plugin: dump
# organize:
# bin: mongo44bin
# usr: mongo44usr
# stage:
# - -init
wekan:
source: .
plugin: npm
npm-node-version: 14.21.2
npm-node-version: 14.21.3
#npm-packages:
# - node-gyp
# - node-pre-gyp
@@ -132,7 +141,7 @@ parts:
#echo "registry=http://registry.npmjs.org/" > ~/.npmrc
#echo "Installing npm, node-gyp, node-pre-gyp, fibers"
#npm -g install n --unsafe-perm
#n 14.21.2
#n 14.21.3
#npm -g install node-gyp --unsafe-perm
#npm -g install node-pre-gyp --unsafe-perm
#npm -g install fibers --unsafe-perm
@@ -160,9 +169,9 @@ parts:
# Cleanup
mkdir .build
cd .build
wget https://github.com/wekan/wekan/releases/download/v6.71/wekan-6.71-amd64.zip
unzip wekan-6.71-amd64.zip
rm wekan-6.71-amd64.zip
wget https://github.com/wekan/wekan/releases/download/v6.78/wekan-6.78-amd64.zip
unzip wekan-6.78-amd64.zip
rm wekan-6.78-amd64.zip
cd ..
##cd .build/bundle
##find . -type d -name '*-garbage*' | xargs rm -rf
@@ -177,12 +186,12 @@ parts:
#rm fibers-multi.7z
#cd ../../../../../../..
# Copy to Snap
wget https://nodejs.org/dist/latest-v14.x/node-v14.21.2-linux-x64.tar.xz
tar -xf node-v14.21.2-linux-x64.tar.xz node-v14.21.2-linux-x64/bin/node
rm node-v14.21.2-linux-x64.tar.xz
wget https://nodejs.org/dist/latest-v14.x/node-v14.21.3-linux-x64.tar.xz
tar -xf node-v14.21.3-linux-x64.tar.xz node-v14.21.3-linux-x64/bin/node
rm node-v14.21.3-linux-x64.tar.xz
mkdir $SNAPCRAFT_PART_INSTALL/bin
cp -p node-v14.21.2-linux-x64/bin/node $SNAPCRAFT_PART_INSTALL/bin/
rm -rf node-v14.21.2-linux-x64
cp -p node-v14.21.3-linux-x64/bin/node $SNAPCRAFT_PART_INSTALL/bin/
rm -rf node-v14.21.3-linux-x64
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
+1 -1
View File
@@ -2,7 +2,7 @@
set -euxo pipefail
BUILD_DEPS="bsdtar gnupg wget curl bzip2 python git ca-certificates perl-Digest-SHA"
NODE_VERSION=v14.21.2
NODE_VERSION=v14.21.3
#METEOR_RELEASE=1.6.0.1 - for Stacksmith, meteor-1.8 branch that could have METEOR@1.8.1-beta.8 or newer
USE_EDGE=false
METEOR_EDGE=1.5-beta.17