Compare commits

...
61 Commits
Author SHA1 Message Date
Lauri Ojansivu 2415aa3d2b v7.53 2024-08-03 22:16:18 +03:00
Lauri Ojansivu 1af1844f37 Updated Snap Candidate to MongoDB 6.0.16.
Thanks to MongoDB developers !
2024-08-03 22:13:08 +03:00
Lauri Ojansivu 75bb247c2b Updated ChangeLog. 2024-08-03 21:52:34 +03:00
Lauri Ojansivu 5a1b517733 Merge pull request #5481 from mfilser/master
reducing card size in database if no planning poker was started
2024-08-03 21:50:27 +03:00
Lauri Ojansivu 0fbc8754f7 Updated ChangeLog. 2024-08-03 21:49:12 +03:00
Lauri Ojansivu aaca60b676 Copied changes from wiki to docs.
Thanks to xet7 !
2024-08-03 21:47:10 +03:00
Martin Filser a929d1e3a4 reducing card size in database if no planning poker was started
reducing:
- cards collection size
- database size
- size to transfer from server to client (publish / subscribe)
2024-08-03 20:40:29 +02:00
Lauri Ojansivu 4a7fa7c396 Updated ChangeLog. 2024-08-03 21:36:22 +03:00
Lauri Ojansivu 45674806d7 Fix dragscroll package name.
Thanks to xet7 !
2024-08-03 21:35:04 +03:00
Lauri Ojansivu 8905bc7dfe Updated ChangeLog. 2024-08-03 21:21:19 +03:00
Lauri Ojansivu dd6aec1ba9 Merge pull request #5480 from mfilser/master
changing card color now closes the popup and doesn't refresh the whole boards page
2024-08-03 21:12:05 +03:00
Lauri Ojansivu aca5fa4d0a Merge branch 'main' of github.com:wekan/wekan 2024-08-03 21:11:23 +03:00
Lauri Ojansivu 0d1f45b8a2 Updated ChangeLog. 2024-08-03 21:11:01 +03:00
Lauri Ojansivu 3f9ae57144 Updated dependencies.
Thanks to developers of dependencies.
2024-08-03 21:09:30 +03:00
Martin Filser 45c2f1007b changing card color now closes the popup and doesn't refresh the whole boards page 2024-08-03 20:06:51 +02:00
Lauri Ojansivu 83adaa3074 Merge pull request #5479 from mfilser/master
fixing of "mode is undefined" on first activity component creation
2024-08-03 21:06:33 +03:00
Martin Filser 1951b279c0 fixing of "mode is undefined" on first activity component creation 2024-08-03 20:03:46 +02:00
Lauri Ojansivu 50406ad683 Merge pull request #5478 from mfilser/master
Board Menu Popup's were opened twice because of 2 same event creation
2024-08-03 21:03:15 +03:00
Martin Filser 95740eaa01 Board Menu Popup's were opened twice because of 2 same event creation 2024-08-03 19:58:25 +02:00
Lauri Ojansivu 08f2c1c735 Merge pull request #5477 from mfilser/dragscroll
adding Dragscroll to scroll the board
2024-08-03 20:54:03 +03:00
Martin Filser 32459ec405 No dragscroll on card details 2024-08-03 19:45:55 +02:00
Martin Filser c7ac0cbce1 No dragscroll while sorting swimlanes 2024-08-03 19:45:55 +02:00
Martin Filser 711fb5754e No dragscroll while sorting checklists 2024-08-03 19:45:55 +02:00
Martin Filser 24fffd8bfa Dragscroll, change cursor while scrolling + support summernote compatibily 2024-08-03 19:45:55 +02:00
Martin Filser 52556aff68 Dragscroll, disable scroll on input, textarea and select 2024-08-03 19:45:55 +02:00
Martin Filser c76959ff25 Dragscroll possible, scroll the screen with the mouse at desktop view
- click on a empty list area and drag the view left/right to scroll
2024-08-03 19:45:45 +02:00
Lauri Ojansivu a141871e60 Updated ChangeLog. 2024-08-03 20:42:30 +03:00
Lauri Ojansivu 5e639a7c2d Updated release script: New install webpage location.
Thanks to xet7 !
2024-08-03 20:39:49 +03:00
Lauri Ojansivu f9654d17d5 Updated ChangeLog. 2024-08-03 20:21:42 +03:00
Lauri Ojansivu c89f3ba3da Revert forking ldapjs.
Thanks to xet7 !
2024-08-03 20:18:53 +03:00
Lauri Ojansivu 1dc5ae444e Merge branch 'update' 2024-08-03 19:55:22 +03:00
Lauri Ojansivu 5db67e47a8 v7.52 2024-08-03 19:43:07 +03:00
Lauri Ojansivu 3877e5feb9 Updated ChangeLog. 2024-08-03 16:56:08 +03:00
Lauri Ojansivu 7456186265 Updated WeKan app webmanifest.
Thanks to xet7 !
2024-08-03 16:53:46 +03:00
Lauri Ojansivu 952f7feb49 Updates 2024-08-03 02:24:49 +03:00
Lauri Ojansivu 3983d750f3 Updated ChangeLog. 2024-08-03 01:38:17 +03:00
Lauri Ojansivu b4f2a8ab5b Updated ChangeLog. 2024-08-03 01:20:47 +03:00
Lauri Ojansivu e8a4554789 Updated ChangeLog. 2024-08-03 01:04:49 +03:00
Lauri Ojansivu de3bc9cb4d Fix typos at attachments code. 2024-08-03 00:52:51 +03:00
Lauri Ojansivu e09f028cd1 Merge pull request #5473 from wekan/dependabot/npm_and_yarn/fast-xml-parser-4.4.1
Bump fast-xml-parser from 4.3.2 to 4.4.1
2024-08-03 00:46:38 +03:00
Lauri Ojansivu ea9f597685 Merge pull request #5476 from mfilser/activities_add_back_created_at_field
Activities, adding back "created at" field
2024-08-03 00:46:01 +03:00
Martin Filser e538fb9514 Activities, adding back "created at" field
Fixes #5459
2024-08-02 23:27:03 +02:00
dependabot[bot] 32fed3d048 Bump fast-xml-parser from 4.3.2 to 4.4.1
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 4.3.2 to 4.4.1.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v4.3.2...v4.4.1)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-29 21:43:29 +00:00
Lauri Ojansivu c6b6d1aa40 Updated translations. 2024-07-28 22:26:54 +03:00
Lauri Ojansivu b9615ccbad Merge pull request #5471 from wekan/dependabot/github_actions/docker/build-push-action-6.5.0
Bump docker/build-push-action from 6.4.0 to 6.5.0
2024-07-23 12:11:31 +03:00
Lauri Ojansivu 0032a91f66 Merge pull request #5470 from wekan/dependabot/github_actions/docker/login-action-3.3.0
Bump docker/login-action from 3.2.0 to 3.3.0
2024-07-23 12:11:20 +03:00
dependabot[bot] 88f6076422 Bump docker/build-push-action from 6.4.0 to 6.5.0
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.4.0 to 6.5.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/a254f8ca60a858f3136a2f1f23a60969f2c402dd...5176d81f87c23d6fc96624dfdbcd9f3830bbe445)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-22 20:53:03 +00:00
dependabot[bot] 8e11ecf799 Bump docker/login-action from 3.2.0 to 3.3.0
Bumps [docker/login-action](https://github.com/docker/login-action) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/0d4c9c5ea7693da7b068278f7b52bda2a190a446...9780b0c442fbb1117ed29e0efdff1e18412f7567)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-22 20:52:59 +00:00
Lauri Ojansivu d04c5c9846 Merge pull request #5469 from wekan/dependabot/github_actions/docker/build-push-action-6.4.0
Bump docker/build-push-action from 6.3.0 to 6.4.0
2024-07-16 21:31:52 +03:00
Lauri Ojansivu e46a66904f Removed old PGP key.
Thanks to xet7 !
2024-07-16 13:56:57 +03:00
dependabot[bot] d038cb4a2d Bump docker/build-push-action from 6.3.0 to 6.4.0
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.3.0 to 6.4.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/1a162644f9a7e87d8f4b053101d1d9a712edc18c...a254f8ca60a858f3136a2f1f23a60969f2c402dd)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-15 20:34:56 +00:00
Lauri Ojansivu 78e68c7fea Merge pull request #5464 from wekan/dependabot/github_actions/docker/build-push-action-6.3.0
Bump docker/build-push-action from 6.2.0 to 6.3.0
2024-07-11 16:04:28 +03:00
dependabot[bot] 700f345576 Bump docker/build-push-action from 6.2.0 to 6.3.0
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.2.0 to 6.3.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/15560696de535e4014efeff63c48f16952e52dd1...1a162644f9a7e87d8f4b053101d1d9a712edc18c)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-08 20:16:21 +00:00
Lauri Ojansivu 22067198ab Updated ChangeLog. 2024-07-05 11:59:56 +03:00
Lauri Ojansivu 21d6dfd790 Added RepoCloud.svg .
Related https://github.com/wekan/wekan/pull/5463
2024-07-05 10:43:07 +03:00
Lauri Ojansivu e663ce038a Added RepoCloud.
Related https://github.com/wekan/wekan/pull/5463
2024-07-05 10:38:58 +03:00
Lauri Ojansivu 367b7778fd Merge pull request #5460 from wekan/dependabot/github_actions/docker/build-push-action-6.2.0
Bump docker/build-push-action from 6.1.0 to 6.2.0
2024-07-02 22:55:51 +03:00
dependabot[bot] 989e0a5326 Bump docker/build-push-action from 6.1.0 to 6.2.0
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.1.0 to 6.2.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/31159d49c0d4756269a0940a750801a1ea5d7003...15560696de535e4014efeff63c48f16952e52dd1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-01 20:21:29 +00:00
Lauri Ojansivu 13940f0663 Merge pull request #5458 from abramchikd/clean-theme
Clean theme fixes
2024-06-29 16:05:54 +03:00
Dmitrij Abramov 09e87f207c Some tweaks to clean light and clean dark themes 2024-06-28 00:38:45 +03:00
Dmitrij Abramov 954ec05d41 Clean themes tweaks 2024-06-25 01:57:31 +03:00
42 changed files with 1041 additions and 750 deletions

No files matched your search

+2 -2
View File
@@ -8,8 +8,8 @@ LABEL org.opencontainers.image.source="https://github.com/wekan/wekan"
# - gyp does not yet work with Ubuntu 22.04 ubuntu:rolling,
# so changing to 21.10. https://github.com/wekan/wekan/issues/4488
ENV BUILD_DEPS="apt-utils gnupg gosu wget bzip2 g++ iproute2 apt-transport-https libarchive-tools git"
ENV DEV_DEPS="curl python3 ca-certificates build-essential"
ENV BUILD_DEPS="apt-utils gnupg gosu wget bzip2 g++ iproute2 apt-transport-https libarchive-tools"
ENV DEV_DEPS="curl python3 ca-certificates build-essential git"
ARG DEBIAN_FRONTEND=noninteractive
ENV \
+2 -2
View File
@@ -38,7 +38,7 @@ jobs:
# https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }}
if: github.event_name != 'pull_request'
uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
@@ -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@31159d49c0d4756269a0940a750801a1ea5d7003
uses: docker/build-push-action@5176d81f87c23d6fc96624dfdbcd9f3830bbe445
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
+78
View File
@@ -15,6 +15,84 @@ Fixing other platforms In Progress.
[How to upgrade WeKan](https://github.com/wekan/wekan/issues/4585)
# v7.53 2024-08-03 WeKan ® release
This release adds the following new features:
- [Added Dragscroll to scroll the board](https://github.com/wekan/wekan/pull/5477).
Click on an empty space in the board, hold the left mouse and move left and right
to scroll the board easily.
Thanks to mfilser.
and adds the following updates:
- [Updated release script: New install webpage location](https://github.com/wekan/wekan/commit/5e639a7c2d6dc1182ba95e44875ac8a6798a62be).
Thanks to xet7.
- [Updated dependencies](https://github.com/wekan/wekan/commit/3f9ae57144dc9befd674c784896d68b5db9df146).
Thanks to developers of dependencies.
- [Copied changes from wiki to docs](https://github.com/wekan/wekan/commit/aaca60b6760cc84b56a24fc15c93f23b4a34f06e).
Thanks to xet7.
- [Updated Snap Candidate to MongoDB 6.0.16](https://github.com/wekan/wekan/commit/1af1844f37d17f9f54ca358ccf0f44eed1dfbef4).
Thanks to MongoDB developers.
and fixes the following bugs:
- [Board Menu Popup's were opened twice because of 2 same event creation](https://github.com/wekan/wekan/pull/5478).
Thanks to mfilser.
- [Fixing of "mode is undefined" on first activity component creation](https://github.com/wekan/wekan/pull/5479).
Thanks to mfilser.
- [Changing card color now closes the popup and doesn't refresh the whole board page](https://github.com/wekan/wekan/pull/5480).
Thanks to mfilser.
- [Fix dragscroll package name](https://github.com/wekan/wekan/commit/45674806d78fddb8a3b8a75890e5059cc1a680ea).
Thanks to xet7.
- [Reducing card size in database if no planning poker was started](https://github.com/wekan/wekan/pull/5481).
Thanks to mfilser.
Thanks to above GitHub users for their contributions and translators for their translations.
# v7.52 2024-08-03 WeKan ® release
This release adds the following new features:
- [Helm Chart: Add option to set resource limits for initContainer](https://github.com/wekan/charts/pull/33).
Thanks to mreichelt-dicos.
- [Helm Chart: Fixes for mongodb persistence. Please test is this correct](https://github.com/wekan/charts/commit/7efb071dd91d76c3971e1865fd18f9d43d8c6891).
Thanks to emoritzx.
- [Helm Chart: Added info about rarely used running WeKan at subpath](https://github.com/wekan/charts/commit/7d4176c7b328c5477c1fa29a323574aac78616a9).
Thanks to emoritzx.
and adds the following updates:
- Updated dependencies.
[Part 1](https://github.com/wekan/wekan/pull/5460),
[Part 2](https://github.com/wekan/wekan/pull/5464),
[Part 3](https://github.com/wekan/wekan/pull/5460),
[Part 4](https://github.com/wekan/wekan/pull/5469),
[Part 5](https://github.com/wekan/wekan/pull/5470),
[Part 6](https://github.com/wekan/wekan/pull/5471),
[Part 7](https://github.com/wekan/wekan/pull/5473).
Thanks to dependabot.
- Added RepoCloud SaaS.
[Part 1](https://github.com/wekan/wekan/commit/21d6dfd79090f9885635f55537bd9fa1ef8539e1),
[Part 2](https://github.com/wekan/wekan/commit/e663ce038af397f547e8823d61ce5dc2e3cea84d),
[Part 3](https://github.com/wekan/wekan.github.io/commit/e9e0550824cdda31daae42df7c497fbd037fd78f).
Thanks to RepoCloud.
- [Updated WeKan app webmanifest](https://github.com/wekan/wekan/commit/745618626535743938b9d2e8c88afe6345807a85).
Thanks to xet7.
- [Revert forking of ldapjs](https://github.com/wekan/wekan/commit/c89f3ba3da6512169e033d76377a9190b35a92d2).
Thanks to xet7.
and fixes the following bugs:
- [Fixes to Clean light and Clean dark themes](https://github.com/wekan/wekan/pull/5458).
Thanks to abramchikd.
- [Activities, adding back "created at" field](https://github.com/wekan/wekan/pull/5476).
Thanks to mfilser.
- [Fix typos at attachments code](https://github.com/wekan/wekan/commit/de3bc9cb4d20590c45ff72ef7749d830ea3fc16c).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v7.51 2024-06-27 WeKan ® release
This release adds the following updates:
+3 -3
View File
@@ -202,7 +202,7 @@ ln -s "/usr/local/bin/node" "/usr/local/bin/nodejs"
mkdir -p "/opt/nodejs/lib/node_modules/fibers/.node-gyp" "/root/.node-gyp/${NODE_VERSION} /home/wekan/.config"
# Install node dependencies
npm install -g npm@${NPM_VERSION}
npm install -g npm@${NPM_VERSION} --production
chown --recursive wekan:wekan /home/wekan/.config
# Install Meteor
@@ -222,11 +222,11 @@ cd /home/wekan/app
mkdir -p /home/wekan/.npm
chown --recursive wekan:wekan /home/wekan/.npm
chmod u+w *.json
gosu wekan:wekan meteor npm install
gosu wekan:wekan meteor npm install --production
gosu wekan:wekan /home/wekan/.meteor/meteor build --directory /home/wekan/app_build
cd /home/wekan/app_build/bundle/programs/server/
chmod u+w *.json
gosu wekan:wekan meteor npm install
gosu wekan:wekan meteor npm install --production
cd node_modules/fibers
node build.js
cd ../..
+1 -2
View File
@@ -1,8 +1,7 @@
About money, see [CONTRIBUTING.md](CONTRIBUTING.md)
Security is very important to us. If you discover any issue regarding security, please disclose
the information responsibly by sending an email to support (at) wekan.team using
[this PGP public key](support-at-wekan.team_pgp-publickey.asc) and not by
the information responsibly by sending an email to support@wekan.team and not by
creating a GitHub issue. We will respond swiftly to fix verifiable security issues.
We thank you with a place at our hall of fame page, that is
+1 -1
View File
@@ -1,5 +1,5 @@
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
appVersion: "v7.51.0"
appVersion: "v7.53.0"
files:
userUploads:
- README.md
+6 -6
View File
@@ -16,7 +16,6 @@ template(name="cardActivities")
+activity(activity=activityData card=card mode=mode)
template(name="editOrDeleteComment")
= ' - '
a.js-open-inlined-form {{_ "edit"}}
= ' - '
a.js-delete-comment {{_ "delete"}}
@@ -145,11 +144,10 @@ template(name="activity")
+viewer
= activity.comment.text
+commentReactions(reactions=activity.comment.reactions commentId=activity.comment._id)
span(title=activity.createdAt).activity-meta {{ moment activity.createdAt }}
if($eq currentUser._id activity.comment.userId)
+editOrDeleteComment
else if currentUser.isBoardAdmin
+editOrDeleteComment
if($eq currentUser._id activity.comment.userId)
+editOrDeleteComment
else if currentUser.isBoardAdmin
+editOrDeleteComment
if($eq activity.activityType 'deleteComment')
| {{{_ 'activity-deleteComment' activity.commentId}}}.
@@ -242,3 +240,5 @@ template(name="activity")
= ' @'
else if(currentData.timeValue)
| {{_ activity.activityType currentData.timeValue}}
div(title=activity.createdAt).activity-meta {{ moment activity.createdAt }}
+34 -32
View File
@@ -13,39 +13,41 @@ BlazeComponent.extendComponent({
const sidebar = Sidebar;
sidebar && sidebar.callFirstWith(null, 'resetNextPeak');
this.autorun(() => {
let mode = this.data().mode;
const capitalizedMode = Utils.capitalize(mode);
let searchId;
if (mode === 'linkedcard' || mode === 'linkedboard') {
searchId = Utils.getCurrentCard().linkedId;
mode = mode.replace('linked', '');
} else if (mode === 'card') {
searchId = Utils.getCurrentCardId();
} else {
searchId = Session.get(`current${capitalizedMode}`);
}
const limit = this.page.get() * activitiesPerPage;
const user = ReactiveCache.getCurrentUser();
const hideSystem = user ? user.hasHiddenSystemMessages() : false;
if (searchId === null) return;
this.subscribe('activities', mode, searchId, limit, hideSystem, () => {
this.loadNextPageLocked = false;
// TODO the guard can be removed as soon as the TODO above is resolved
if (!sidebar) return;
// If the sibear peak hasn't increased, that mean that there are no more
// activities, and we can stop calling new subscriptions.
// XXX This is hacky! We need to know excatly and reactively how many
// activities there are, we probably want to denormalize this number
// dirrectly into card and board documents.
const nextPeakBefore = sidebar.callFirstWith(null, 'getNextPeak');
sidebar.calculateNextPeak();
const nextPeakAfter = sidebar.callFirstWith(null, 'getNextPeak');
if (nextPeakBefore === nextPeakAfter) {
sidebar.callFirstWith(null, 'resetNextPeak');
let mode = this.data()?.mode;
if (mode) {
const capitalizedMode = Utils.capitalize(mode);
let searchId;
if (mode === 'linkedcard' || mode === 'linkedboard') {
searchId = Utils.getCurrentCard().linkedId;
mode = mode.replace('linked', '');
} else if (mode === 'card') {
searchId = Utils.getCurrentCardId();
} else {
searchId = Session.get(`current${capitalizedMode}`);
}
});
const limit = this.page.get() * activitiesPerPage;
const user = ReactiveCache.getCurrentUser();
const hideSystem = user ? user.hasHiddenSystemMessages() : false;
if (searchId === null) return;
this.subscribe('activities', mode, searchId, limit, hideSystem, () => {
this.loadNextPageLocked = false;
// TODO the guard can be removed as soon as the TODO above is resolved
if (!sidebar) return;
// If the sibear peak hasn't increased, that mean that there are no more
// activities, and we can stop calling new subscriptions.
// XXX This is hacky! We need to know excatly and reactively how many
// activities there are, we probably want to denormalize this number
// dirrectly into card and board documents.
const nextPeakBefore = sidebar.callFirstWith(null, 'getNextPeak');
sidebar.calculateNextPeak();
const nextPeakAfter = sidebar.callFirstWith(null, 'getNextPeak');
if (nextPeakBefore === nextPeakAfter) {
sidebar.callFirstWith(null, 'resetNextPeak');
}
});
}
});
},
loadNextPage() {
+1 -1
View File
@@ -18,7 +18,7 @@ template(name="boardBody")
else
.board-wrapper(class=currentBoard.colorClass)
+sidebar
.board-canvas.js-swimlanes(
.board-canvas.js-swimlanes.dragscroll(
class="{{#if Sidebar.isOpen}}is-sibling-sidebar-open{{/if}}"
class="{{#if MultiSelection.isActive}}is-multiselection-active{{/if}}"
class="{{#if draggingActive.get}}is-dragging-active{{/if}}")
+2
View File
@@ -1,5 +1,6 @@
import { ReactiveCache } from '/imports/reactiveCache';
import { TAPi18n } from '/imports/i18n';
import dragscroll from '@wekanteam/dragscroll';
const subManager = new SubsManager();
const { calculateIndex } = Utils;
@@ -219,6 +220,7 @@ BlazeComponent.extendComponent({
boardComponent.openNewListForm();
}
dragscroll.reset();
Utils.setBackgroundImage();
},
File diff suppressed because it is too large. Load diff
-31
View File
@@ -6,37 +6,6 @@ const DOWNCLS = 'fa-sort-down';
const UPCLS = 'fa-sort-up';
*/
const sortCardsBy = new ReactiveVar('');
Template.boardMenuPopup.events({
'click .js-rename-board': Popup.open('boardChangeTitle'),
'click .js-custom-fields'() {
Sidebar.setView('customFields');
Popup.back();
},
'click .js-open-archives'() {
Sidebar.setView('archives');
Popup.back();
},
'click .js-change-board-color': Popup.open('boardChangeColor'),
'click .js-change-language': Popup.open('changeLanguage'),
'click .js-archive-board ': Popup.afterConfirm('archiveBoard', function() {
const currentBoard = Utils.getCurrentBoard();
currentBoard.archive();
// XXX We should have some kind of notification on top of the page to
// confirm that the board was successfully archived.
FlowRouter.go('home');
}),
'click .js-delete-board': Popup.afterConfirm('deleteBoard', function() {
const currentBoard = Utils.getCurrentBoard();
Popup.back();
Boards.remove(currentBoard._id);
FlowRouter.go('home');
}),
'click .js-outgoing-webhooks': Popup.open('outgoingWebhooks'),
'click .js-import-board': Popup.open('chooseBoardSource'),
'click .js-subtask-settings': Popup.open('boardSubtaskSettings'),
'click .js-card-settings': Popup.open('boardCardSettings'),
'click .js-minicard-settings': Popup.open('boardMinicardSettings'),
});
Template.boardChangeTitlePopup.events({
submit(event, templateInstance) {
+1 -1
View File
@@ -5,7 +5,7 @@ template(name="cardDetails")
+attachmentViewer
section.card-details.js-card-details(class='{{#if cardMaximized}}card-details-maximized{{/if}}' class='{{#if isPopup}}card-details-popup{{/if}}'): .card-details-canvas
section.card-details.js-card-details.nodragscroll(class='{{#if cardMaximized}}card-details-maximized{{/if}}' class='{{#if isPopup}}card-details-popup{{/if}}'): .card-details-canvas
.card-details-header(class='{{#if colorClass}}card-details-{{colorClass}}{{/if}}')
+inlinedForm(classNames="js-card-details-title")
+editCardTitleForm
+6 -4
View File
@@ -846,13 +846,15 @@ BlazeComponent.extendComponent({
'click .js-palette-color'() {
this.currentColor.set(this.currentData().color);
},
'click .js-submit'() {
'click .js-submit'(event) {
event.preventDefault();
this.currentCard.setColor(this.currentColor.get());
Popup.close();
Popup.back();
},
'click .js-remove-color'() {
'click .js-remove-color'(event) {
event.preventDefault();
this.currentCard.setColor(null);
Popup.close();
Popup.back();
},
},
];
+1 -1
View File
@@ -22,7 +22,7 @@ template(name="checklists")
i.fa.fa-plus
template(name="checklistDetail")
.js-checklist.checklist
.js-checklist.checklist.nodragscroll
+inlinedForm(classNames="js-edit-checklist-title" checklist = checklist)
+editChecklistItemForm(checklist = checklist)
else
+1 -1
View File
@@ -1,5 +1,5 @@
template(name="minicard")
.minicard(
.minicard.nodragscroll(
class="{{#if isLinkedCard}}linked-card{{/if}}"
class="{{#if isLinkedBoard}}linked-board{{/if}}"
class="{{#if colorClass}}minicard-{{colorClass}}{{/if}}")
+1 -1
View File
@@ -1,5 +1,5 @@
template(name="listHeader")
.list-header.js-list-header(
.list-header.js-list-header.nodragscroll(
class="{{#if limitToShowCardsCount}}list-header-card-count{{/if}}"
class=colorClass)
+inlinedForm
+1 -1
View File
@@ -1,5 +1,5 @@
template(name="swimlane")
.swimlane
.swimlane.nodragscroll
+swimlaneHeader
unless collapseSwimlane
.swimlane.js-lists.js-swimlane(id="swimlane-{{_id}}"
+67 -14
View File
@@ -1,18 +1,71 @@
## Upgrading Meteor
## Videos about upgrading to Meteor 3
- Disclaimer:
- These are opinions about upgrading, from xet7, maintainer of WeKan Open Source kanban https://wekan.github.io
- xet7 thinks, that it is good to keep using current frontend and backend frameworks, upgrade them when possible. If there is any problems, ask at https://forums.meteor.com
- xet7 thinks, that upgrading to newest Meteor 2 and Meteor 3 is being made more easier all the time, when new dependencies become available, any bugs are fixed, etc. So it is good to make all possible upgrading steps available.
- Upgrade to newest 2.14 https://guide.meteor.com/2.14-migration . Currently xet7 is using newest 2.14.1-beta.0 in production release of WeKan https://forums.meteor.com/t/meteor-v2-14-1-beta-0-is-out/61142
- Prepare for 3.0 https://guide.meteor.com/3.0-migration
- Migrate Async
- Helper tool https://forums.meteor.com/t/blaze-async-migration-helper-babel-plugin-tracker-async-enhance-for-the-client-side-released/60842
- https://guide.meteor.com/prepare-meteor-3.0
- Look at progress of migrated packages https://forums.meteor.com/t/looking-for-help-migrating-packages-to-meteor-3-0/60985
- Storyteller
- 2024-07-15: WeKan Upgrades https://www.youtube.com/watch?v=Zjb3m9JsAD0
- 2024-07-08: Upgrading Meteor examples https://www.youtube.com/watch?v=jzWXxOe93t4
- Upcoming and past: https://www.youtube.com/@storytellercz/streams
- React.js
- WeKan uses Blaze and Jade, not React.
- 2024-08-02:
- https://www.youtube.com/watch?v=NnT7AbVMnj4
- https://thenewstack.io/after-a-decade-of-react-is-frontend-a-post-react-world-now/
- https://thenewstack.io/pivoting-from-react-to-native-dom-apis-a-real-world-example/
- https://thenewstack.io/how-web-components-are-used-at-github-and-salesforce/
- https://devclass.com/2024/07/22/react-community-splitting-into-full-stack-and-client-only-camps-suggests-survey/
- https://news.ycombinator.com/item?id=41068685
- 2024-07-10: Storyteller at React Wroclaw Meetup, talking about Meteor.js and React: https://www.youtube.com/watch?v=4dnM6bXZCz4&t=741s
- How A Small Team of Developers Created React at Facebook | React.js: The Documentary https://www.youtube.com/watch?v=8pDqJVdNa44
https://www.youtube.com/watch?v=8pDqJVdNa44
- Meteor Dispatches Podcast
- 46: 2024-07-12: Packages you need in every app https://www.youtube.com/watch?v=S2YkZfKN0DI
- 25: 2024-02-09: WeKan Security https://www.youtube.com/watch?v=zic-h8jG6F8
- 16: 2023-12-08: WeKan interview https://www.youtube.com/watch?v=ke-mbnZM3zE
- Upcoming and past: https://www.youtube.com/@meteorjscommunity/streams
- Playlists: https://www.youtube.com/@meteorjscommunity/playlists
- Some recent also had info, how to make dependencies compatible with both Meteor 2 and Meteor 3
- Add Eslint 3 and fix anything found
- https://youtu.be/rFjNNNc_7-E
- https://www.youtube.com/watch?v=rFjNNNc_7-E
- https://github.com/quavedev/eslint-plugin
- https://github.com/quavedev/meteor-template/pull/8
- Watch Meteor Dispatches etc Podcasts https://www.youtube.com/@meteorjscommunity/playlists
- Some recent also had info, how to make dependencies compatible with both Meteor 2 and Meteor 3
## Upgrading to Meteor 3
- Meteor 3 migration guide: https://v3-migration-docs.meteor.com ( older pages at https://guide.meteor.com/3.0-migration or https://guide.meteor.com/prepare-meteor-3.0 )
- Look at progress of migrated packages https://forums.meteor.com/t/looking-for-help-migrating-packages-to-meteor-3-0/60985
- Migrate from Fibers (works only at Meteor 2 and Node.js 14) to Async/Await (works with Meteor 3 and Node.js 20)
- Helper tool https://forums.meteor.com/t/blaze-async-migration-helper-babel-plugin-tracker-async-enhance-for-the-client-side-released/60842
- Info how Async/Await works, from Storyteller: https://github.com/wekan/wekan/wiki/AsyncAwait
- Forums posts about migrating: https://forums.meteor.com
- ( Older version upgrade to newest 2.14 https://guide.meteor.com/2.14-migration )
## Removing unused files
From Meteor Discord chat from someone:
> Nice tool that I found out about today. I was able to remove 58 unused files, functions, exports, types and dependencies 😄
>
> https://knip.dev
## Lint
From Meteor Discord chat from someone:
> We started using https://biomejs.dev to replace eslint and prettier on Galaxy 2, and it's been amazing. It's speedy, easy to configure, and has fewer packages to care about.
>
> Just sharing it here in case someone has never heard about it before
## Building WeKan
- https://github.com/wekan/wekan/wiki/Emoji
- Docs: https://github.com/wekan/wekan/tree/main/docs
## Similar technology
- https://en.wikipedia.org/wiki/JavaScript_engine
- https://en.wikipedia.org/wiki/Single-page_application
- https://en.wikipedia.org/wiki/Web_framework
- https://en.wikipedia.org/wiki/Progressive_web_app
- https://en.wikipedia.org/wiki/Web_2.0
- https://en.wikipedia.org/wiki/Meteor_(web_framework)
- https://en.wikipedia.org/wiki/Next.js
+2 -2
View File
@@ -1,5 +1,5 @@
Some Python etc code in WeKan, that is not yet added directly to WeKan:
- [LDAP sync script, that also correctly removes users](https://github.com/wekan/wekan/blob/main/ldap-sync/ldap-sync.py)
- [LDAP sync script, that also correctly removes users](https://github.com/wekan/wekan/blob/main/docs/Login/ldap-sync/ldap-sync.py)
- [Email notifications to AWS SES](https://github.com/wekan/wekan/issues/3543#issuecomment-1199897164)
- [Prometheus Exporter](https://github.com/wekan/wekan-prometheus-exporter)
- [Burndown Chart](Burndown-and-Velocity-Chart)
@@ -12,4 +12,4 @@ Some Python etc code in WeKan, that is not yet added directly to WeKan:
- [Logstash and ElasticSearch](https://github.com/wekan/wekan-logstash)
- iCal server in [Python](https://github.com/wekan/wekan-ical-server) and [PHP](https://github.com/wekan/wekan-ical-php)
- [Sandstorm CSV related Python code](Wekan-Sandstorm-cards-to-CSV-using-Python)
- [Trello API test code](https://github.com/wekan/wekan/tree/main/trello)
- [Trello API test code](https://github.com/wekan/wekan/tree/main/docs/ImportExport/trello)
+12
View File
@@ -0,0 +1,12 @@
Q: ​​Is Multi-tenancy like ability to configure multiple ROOT_URL for same Meteor app? Or having relative URLs?
A: Yes
https://www.youtube.com/watch?v=917v1a01-Ko
https://github.com/Meteor-Community-Packages/meteor-partitioner
Related:
- https://www.enterpriseready.io
- https://github.com/clinical-meteor/hipaa-audit-log
+29 -1
View File
@@ -1,4 +1,32 @@
Related SAML code, not in WeKan yet: https://forums.meteor.com/t/what-are-you-working-on/59187
Related Meteor SAML code, not in WeKan yet:
- New: https://forums.meteor.com/t/meteor-and-saml/61561
- Old link: https://forums.meteor.com/t/what-are-you-working-on/59187
Sandstorm has SAML login, and old WeKan that will be updated someday:
- https://github.com/wekan/wekan/wiki/Sandstorm
How SAML works:
- https://ssoready.com/blog/engineering/a-gentle-intro-to-saml/
- https://news.ycombinator.com/item?id=41036982
- https://www.sheshbabu.com/posts/visual-explanation-of-saml-authentication/
- https://news.ycombinator.com/item?id=41057814
Ruby on Rails OmniAuth, that has Shibboleth and SAML:
- https://github.com/omniauth/omniauth/wiki/List-of-Strategies
- https://github.com/omniauth/omniauth
SAML at SSOReady:
- https://github.com/ssoready/ssoready
- https://news.ycombinator.com/item?id=41110850
The SSO Wall of Shame:
- https://sso.tax
[SAML Issue](https://github.com/wekan/wekan/issues/708)
@@ -0,0 +1,3 @@
https://repocloud.io
[![Deploy on RepoCloud](RepoCloud.svg)](https://repocloud.io/details/?app_id=34)
@@ -0,0 +1,11 @@
<svg version="1.2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 185 42" width="185" height="42">
<title>New Project</title>
<defs>
<image width="185" height="42" id="img1" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALkAAAAqCAMAAADYgQqDAAAAAXNSR0IB2cksfwAAAiVQTFRFAAAAADbzADb0ADf0ADf0AEP+ADb0ADf0ADf0ADf0ADb0ADn1ADb0ADfzADr0ADb0ACn+ADX0ADb1ADf1ADb1AjjwFD3FIUCmKEKVJ0KYHT+wDTvWDzvPMESDQElcVFljaG11XGNtSE9aPUhkJkKZBznkHD+yREpUeHyE29vg9fX59vb67O/1x9Xenqy2TlVeDDrXRE1fpaeu8/P38PL31uHpu8rVaXF7CzrZCTrfPkhilpqg9PX5usnUMkV9JUGeHj+sDTvVYGVt3N3i8vP4ws7XY2t1TlRdVVxlSE5YIkGjAzjuBDjrMUWAnaCncnd+VlxkwsTJ5+zyxNTelqOtR01WAjfwGT66PUhjnJ+l5OXpzM3S4+To4unwx9fiorC6SlFcHT+vEzzGN0ZzTlNdY2hwT1VeV11lv8HHz9zmxtbhf4mTO0hnBjnnBjnlOUdsz9HW4uLn0dLXiIyTiY2U2OLqnqu2QklXDDrYHD+xWV5n2tvf2+TsqLXADTvUJ0KXg4iP8vL21eDpk6CqQEldCTreJUGcfICH7u7z8fL3y9nkxNTfZG12NEV6FT3DTFJdvL7D1uHqwtLdeIOMQUpeL0SESE5XlJeevb/EwcLIqbK6hZCaVl5nQ0pUFj2/BTjpIUCnOkdrOkdqLUSKAzjsBznjBzniADfzADf1ADv4AP7+ADbzADf0ADb0AEn+ADbzADn2ADf0ADb0ADb2ADf1ADfzADX1vF/DlwAAALd0Uk5TAESj1f8Mkf6QuLBgWNAS/QhIQFJR////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////KCAB9eiABc8v/PkuheA9q/Y6cAAAAetJREFUeJzt2E0oBGEcx/Hnl2g3djNtxEFpU/aipBycXDcRdm1LXo6Su5ODcpDEWdoLIWvLtltKzi6UknKhJOWwSvL+krSemd0ZuzNqXg7z39V+LzM9T1OfpmeemV0wHnisaErz+IGLy4Fvao25yvD9JcqdX9QS81W8cXnlJzXDSo4XMNc7tcJKzme48UqtsFIlIDxTI6zlhueR2mCt6pLc9kpy+1PLBUjdUnmMp5LXQe6KjGSwfLlXgb+4zuhQhsqTe/mL6YMfnZx+V3NMpzJSrrwdeMicCZ+Om4ZzH3BA5dIvV17rQyp7Wg9cNwIXzdgngumWI/cDl8p4EyDecxx2xGlguv3K/XyR41Qeb8UJY23is7pORdNJkY9l9pS8hS20iEPLJDDdZPkkkn0icy9vtuu1Clgkgekmy6eAhHa2/94TC8/ZbTKWLJ8GYtrZcIpvMjN2m4wly2f/ehSltX9UoJuLLF8AIuo5IcTh8yntRQWRLA90av/nkjabcQqVkZRdMQKsqCcnsFS4310579BV9T1Pbw2P2g4y3P/5TVQ8leT2V5LbXzWiI9QGa20ihiFqhJWiA2A7YWqFlbaDYHGEqBnmc64F+Bs/gSA1xGxx9DDpW2UXvdQWMyXT3Yyx7FeWu3i2mI3BJ+n4A1vsbia38Q0EAAAAAElFTkSuQmCC"/>
</defs>
<style>
.s0 { fill: #ffffff }
</style>
<use id="Layer 3" href="#img1" x="0" y="0"/>
<path id="Deploy on RepoCloud " class="s0" aria-label="Deploy on RepoCloud " d="m41.3 25h-2.7v-1.8h2.6q0.9 0 1.6-0.4 0.6-0.3 1-1 0.3-0.8 0.3-1.9 0-1.1-0.3-1.8-0.4-0.8-1-1.1-0.7-0.3-1.6-0.3h-2.6v-1.9h2.7q1.5 0 2.6 0.6 1.2 0.6 1.7 1.8 0.6 1.1 0.6 2.7 0 1.6-0.6 2.7-0.6 1.2-1.7 1.8-1.1 0.6-2.6 0.6zm-3.6-10.2h2.1v10.2h-2.1zm13.1 10.3q-1.2 0-2-0.4-0.9-0.5-1.3-1.4-0.5-0.9-0.5-2.1 0-1.2 0.5-2.1 0.4-0.9 1.3-1.4 0.8-0.5 1.9-0.5 0.8 0 1.4 0.3 0.7 0.2 1.2 0.7 0.5 0.5 0.7 1.2 0.3 0.8 0.3 1.7v0.6h-6.4v-1.3h5.4l-1 0.3q0-0.5-0.2-1-0.1-0.4-0.5-0.6-0.3-0.3-0.9-0.3-0.5 0-0.8 0.3-0.4 0.2-0.6 0.6-0.2 0.4-0.2 1v0.9q0 0.6 0.2 1 0.3 0.5 0.6 0.7 0.4 0.3 0.9 0.3 0.4 0 0.7-0.1 0.3-0.1 0.5-0.3 0.2-0.2 0.3-0.5l2 0.1q-0.2 0.7-0.6 1.2-0.5 0.6-1.2 0.8-0.7 0.3-1.7 0.3zm6.5 2.7h-2.1v-10.5h2.1v1.3h0.1q0.1-0.3 0.4-0.6 0.3-0.3 0.7-0.5 0.4-0.3 1.1-0.3 0.8 0 1.5 0.5 0.7 0.4 1.1 1.3 0.5 0.9 0.5 2.2 0 1.2-0.4 2.1-0.5 0.9-1.2 1.4-0.7 0.4-1.5 0.4-0.6 0-1.1-0.2-0.4-0.2-0.7-0.5-0.3-0.3-0.4-0.6h-0.1zm1.6-4.5q0.5 0 0.9-0.2 0.3-0.3 0.5-0.8 0.2-0.5 0.2-1.2 0-0.7-0.2-1.2-0.2-0.5-0.5-0.8-0.4-0.3-0.9-0.3-0.5 0-0.9 0.3-0.3 0.3-0.5 0.8-0.2 0.5-0.2 1.2 0 0.7 0.2 1.2 0.2 0.5 0.5 0.8 0.4 0.2 0.9 0.2zm4.7-8.6h2.1v10.2h-2.1zm6.8 10.3q-1.2 0-2-0.5-0.9-0.5-1.3-1.3-0.5-0.9-0.5-2.1 0-1.2 0.5-2.1 0.4-0.9 1.3-1.3 0.8-0.5 2-0.5 1.1 0 2 0.5 0.8 0.4 1.3 1.3 0.4 0.9 0.4 2.1 0 1.2-0.4 2.1-0.5 0.8-1.3 1.3-0.9 0.5-2 0.5zm0-1.6q0.5 0 0.9-0.3 0.3-0.3 0.5-0.8 0.2-0.5 0.2-1.2 0-0.7-0.2-1.2-0.2-0.5-0.5-0.8-0.4-0.3-0.9-0.3-0.5 0-0.9 0.3-0.4 0.3-0.5 0.8-0.2 0.5-0.2 1.2 0 0.7 0.2 1.2 0.1 0.5 0.5 0.8 0.4 0.3 0.9 0.3zm5.7 4.3q-0.4 0.1-0.7 0-0.4-0.1-0.6-0.2l0.5-1.5q0.6 0.1 1 0 0.3 0 0.5-0.6l0.2-0.3-2.8-7.9h2.3l1.5 5.7h0.1l1.6-5.7h2.2l-2.9 8.5q-0.2 0.6-0.6 1.1-0.4 0.4-0.9 0.7-0.6 0.2-1.4 0.2zm12.7-2.7q-1.1 0-2-0.5-0.8-0.5-1.3-1.3-0.4-0.9-0.4-2.1 0-1.2 0.4-2.1 0.5-0.9 1.3-1.3 0.9-0.5 2-0.5 1.2 0 2 0.5 0.9 0.4 1.3 1.3 0.5 0.9 0.5 2.1 0 1.2-0.5 2.1-0.4 0.8-1.3 1.3-0.8 0.5-2 0.5zm0-1.6q0.5 0 0.9-0.3 0.4-0.3 0.5-0.8 0.2-0.5 0.2-1.2 0-0.7-0.2-1.2-0.1-0.5-0.5-0.8-0.4-0.3-0.9-0.3-0.5 0-0.9 0.3-0.3 0.3-0.5 0.8-0.2 0.5-0.2 1.2 0 0.7 0.2 1.2 0.2 0.5 0.5 0.8 0.4 0.3 0.9 0.3zm6.8-2.9v4.4h-2.1v-7.7h2.1v1.4h0.1q0.2-0.7 0.8-1.1 0.6-0.3 1.4-0.3 0.8 0 1.4 0.3 0.6 0.3 0.9 1 0.3 0.6 0.3 1.5v4.9h-2.1v-4.5q0-0.7-0.3-1.1-0.4-0.4-1-0.4-0.5 0-0.8 0.2-0.3 0.2-0.5 0.5-0.2 0.4-0.2 0.9zm11.2 4.4h-2.2v-10.2h4q1.2 0 2 0.4 0.8 0.4 1.2 1.2 0.5 0.7 0.5 1.7 0 1-0.5 1.8-0.4 0.7-1.2 1.1-0.9 0.4-2 0.4h-2.7v-1.7h2.3q0.6 0 1-0.2 0.5-0.2 0.7-0.5 0.2-0.4 0.2-0.9 0-0.5-0.2-0.8-0.2-0.4-0.7-0.5-0.4-0.2-1-0.2h-1.4zm5.8 0h-2.3l-2.5-4.7h2.3zm4 0.2q-1.1 0-2-0.5-0.9-0.5-1.3-1.4-0.5-0.8-0.5-2.1 0-1.1 0.5-2 0.4-0.9 1.3-1.4 0.8-0.5 1.9-0.5 0.8 0 1.4 0.2 0.7 0.3 1.2 0.8 0.5 0.4 0.8 1.2 0.2 0.7 0.2 1.7v0.6h-6.4v-1.4h5.4l-1 0.4q0-0.6-0.2-1-0.1-0.5-0.5-0.7-0.3-0.2-0.9-0.2-0.5 0-0.8 0.2-0.4 0.3-0.6 0.7-0.2 0.4-0.2 0.9v0.9q0 0.7 0.2 1.1 0.3 0.4 0.6 0.7 0.4 0.2 1 0.2 0.3 0 0.6-0.1 0.3-0.1 0.5-0.3 0.2-0.2 0.3-0.5l2 0.2q-0.2 0.7-0.6 1.2-0.5 0.5-1.2 0.8-0.7 0.3-1.7 0.3zm6.5 2.7h-2.1v-10.5h2.1v1.3h0.1q0.1-0.3 0.4-0.7 0.3-0.3 0.7-0.5 0.4-0.2 1.1-0.2 0.8 0 1.5 0.4 0.7 0.5 1.1 1.3 0.5 0.9 0.5 2.2 0 1.3-0.4 2.2-0.5 0.9-1.2 1.3-0.7 0.5-1.5 0.5-0.6 0-1.1-0.2-0.4-0.3-0.7-0.6-0.2-0.3-0.4-0.6h-0.1zm1.6-4.4q0.5 0 0.9-0.3 0.3-0.3 0.5-0.8 0.2-0.5 0.2-1.2 0-0.6-0.2-1.1-0.2-0.5-0.5-0.8-0.4-0.3-0.9-0.3-0.5 0-0.9 0.3-0.3 0.2-0.5 0.8-0.2 0.5-0.2 1.1 0 0.7 0.2 1.2 0.2 0.5 0.5 0.8 0.4 0.3 0.9 0.3zm8.1 1.7q-1.1 0-2-0.5-0.8-0.5-1.3-1.4-0.4-0.9-0.4-2 0-1.2 0.4-2.1 0.5-0.9 1.3-1.4 0.9-0.5 2-0.5 1.2 0 2 0.5 0.9 0.5 1.3 1.4 0.5 0.9 0.5 2.1 0 1.1-0.5 2-0.4 0.9-1.3 1.4-0.8 0.5-2 0.5zm0.1-1.7q0.5 0 0.8-0.2 0.4-0.3 0.6-0.9 0.2-0.5 0.2-1.1 0-0.7-0.2-1.2-0.2-0.5-0.6-0.8-0.3-0.3-0.8-0.3-0.6 0-0.9 0.3-0.4 0.3-0.6 0.8-0.2 0.5-0.2 1.2 0 0.6 0.2 1.1 0.2 0.6 0.6 0.9 0.3 0.2 0.9 0.2zm9.2 1.7q-1.3 0-2.4-0.6-1.1-0.6-1.7-1.8-0.6-1.2-0.6-2.8 0-1.7 0.6-2.9 0.6-1.1 1.7-1.8 1.1-0.6 2.4-0.6 0.9 0 1.7 0.3 0.7 0.2 1.3 0.7 0.6 0.5 1 1.2 0.3 0.7 0.4 1.5h-2.1q-0.1-0.4-0.3-0.7-0.2-0.4-0.4-0.6-0.3-0.2-0.7-0.3-0.4-0.2-0.8-0.2-0.8 0-1.4 0.4-0.6 0.4-0.9 1.2-0.3 0.7-0.3 1.8 0 1.1 0.3 1.8 0.3 0.7 0.9 1.1 0.6 0.4 1.4 0.4 0.4 0 0.8-0.1 0.3-0.1 0.6-0.4 0.3-0.2 0.5-0.5 0.2-0.3 0.3-0.7h2.1q0 0.7-0.4 1.3-0.3 0.7-0.9 1.2-0.5 0.5-1.3 0.8-0.8 0.3-1.8 0.3zm5.5-10.3h2.1v10.2h-2.1zm6.8 10.3q-1.2 0-2-0.5-0.8-0.5-1.3-1.4-0.5-0.9-0.5-2 0-1.2 0.5-2.1 0.5-0.9 1.3-1.4 0.8-0.5 2-0.5 1.2 0 2 0.5 0.8 0.5 1.3 1.4 0.5 0.9 0.5 2.1 0 1.1-0.5 2-0.5 0.9-1.3 1.4-0.8 0.5-2 0.5zm0-1.7q0.5 0 0.9-0.3 0.3-0.3 0.5-0.8 0.2-0.5 0.2-1.2 0-0.6-0.2-1.1-0.2-0.6-0.5-0.9-0.4-0.2-0.9-0.2-0.5 0-0.9 0.2-0.3 0.3-0.5 0.9-0.2 0.5-0.2 1.1 0 0.7 0.2 1.2 0.2 0.5 0.5 0.8 0.4 0.3 0.9 0.3zm9.6-1.7v-4.4h2.1v7.6h-2v-1.3h-0.1q-0.3 0.6-0.9 1-0.6 0.4-1.4 0.4-0.8 0-1.4-0.3-0.6-0.4-0.9-1-0.3-0.6-0.3-1.5v-4.9h2.1v4.5q0 0.7 0.4 1.1 0.3 0.3 0.9 0.3 0.4 0 0.7-0.1 0.4-0.2 0.6-0.6 0.2-0.3 0.2-0.8zm6.1 3.4q-0.8 0-1.5-0.5-0.7-0.4-1.2-1.3-0.4-0.9-0.4-2.2 0-1.3 0.5-2.2 0.4-0.8 1.1-1.3 0.7-0.4 1.5-0.4 0.7 0 1.1 0.2 0.4 0.2 0.7 0.6 0.3 0.3 0.4 0.6h0.1v-3.8h2.1v10.1h-2.1v-1.2h-0Line truncated
</svg>

After

Width:  |  Height:  |  Size: 7.1 KiB

+3 -3
View File
@@ -8,11 +8,11 @@ This is without container (without Docker or Snap).
Right click and download files 1-4:
1. [wekan-7.49-amd64-windows.zip](https://github.com/wekan/wekan/releases/download/v7.49/wekan-7.49-amd64-windows.zip)
1. [wekan-7.53-amd64-windows.zip](https://github.com/wekan/wekan/releases/download/v7.53/wekan-7.53-amd64-windows.zip)
2. [node.exe](https://nodejs.org/dist/latest-v14.x/win-x64/node.exe)
3. [mongodb-windows-x86_64-6.0.15-signed.msi](https://fastdl.mongodb.org/windows/mongodb-windows-x86_64-6.0.15-signed.msi)
3. [mongodb-windows-x86_64-6.0.16-signed.msi](https://fastdl.mongodb.org/windows/mongodb-windows-x86_64-6.0.16-signed.msi)
4. [start-wekan.bat](https://raw.githubusercontent.com/wekan/wekan/main/start-wekan.bat)
@@ -20,7 +20,7 @@ Right click and download files 1-4:
6. Double click `mongodb-windows-x86_64-6.0.15-signed.msi` . In installer, uncheck downloading MongoDB compass.
7. Unzip `wekan-7.49-amd64-windows.zip` , inside it is directory `bundle`, to it copy other files:
7. Unzip `wekan-7.53-amd64-windows.zip` , inside it is directory `bundle`, to it copy other files:
```
bundle (directory)
+1
View File
@@ -0,0 +1 @@
https://arstechnica.com/security/2024/07/secure-boot-is-completely-compromised-on-200-models-from-5-big-device-makers/
+56 -56
View File
@@ -85,14 +85,14 @@
"add-card": "Přidat kartu",
"add-card-to-top-of-list": "Přidat kartu na začátek seznamu",
"add-card-to-bottom-of-list": "Přidat kartu na konec seznamu",
"setListWidthPopup-title": "Set List Width",
"set-list-width": "Set List Width",
"set-list-width-value": "List Width (pixels)",
"list-width-error-message": "List width must be a positive integer",
"setSwimlaneHeightPopup-title": "Set Swimlane Height",
"set-swimlane-height": "Set Swimlane Height",
"set-swimlane-height-value": "Swimlane Height (pixels)",
"swimlane-height-error-message": "Swimlane height must be a positive integer",
"setListWidthPopup-title": "Nastavit šířku seznamu",
"set-list-width": "Nastavit šířku seznamu",
"set-list-width-value": "Šířka seznamu (pixely)",
"list-width-error-message": "Šířka seznamu musí být kladné celé číslo",
"setSwimlaneHeightPopup-title": "Nastavit výšku swimlane",
"set-swimlane-height": "Nastavit výšku swimlane",
"set-swimlane-height-value": "Výška swimlane (pixely)",
"swimlane-height-error-message": "Výška swimlane musí být celé kladné číslo",
"add-swimlane": "Přidat Swimlane",
"add-subtask": "Přidat Podúkol",
"add-checklist": "Přidat zaškrtávací seznam",
@@ -100,10 +100,10 @@
"close-add-checklist-item": "Close add an item to checklist form",
"close-edit-checklist-item": "Close edit an item to checklist form",
"convertChecklistItemToCardPopup-title": "Převést na kartu",
"add-cover": "Add cover image to minicard",
"add-cover": "Přidat titulní obrázek k minikartě",
"add-label": "Přidat štítek",
"add-list": "Přidat sloupec",
"add-after-list": "Add After List",
"add-after-list": "Přidat za seznam",
"add-members": "Přidat členy",
"added": "Přidán",
"addMemberPopup-title": "Členové",
@@ -143,13 +143,13 @@
"attachmentDeletePopup-title": "Smazat přílohu?",
"attachments": "Přílohy",
"auto-watch": "Automaticky sleduj tabla když jsou vytvořena",
"avatar-too-big": "The avatar is too large (__size__ max)",
"avatar-too-big": "Avatar je příliš velký (__size__ max)",
"back": "Zpět",
"board-change-color": "Změnit barvu",
"board-change-background-image": "Change Background Image",
"board-background-image-url": "Background Image URL",
"add-background-image": "Add Background Image",
"remove-background-image": "Remove Background Image",
"board-change-background-image": "Změnit obrázek na pozadí",
"board-background-image-url": "URL obrázku na pozadí",
"add-background-image": "Přidat obrázek na pozadí",
"remove-background-image": "Odstranit obrázek z pozadí",
"show-at-all-boards-page" : "Show at All Boards page",
"board-info-on-my-boards" : "All Boards Settings",
"boardInfoOnMyBoardsPopup-title" : "All Boards Settings",
@@ -162,9 +162,9 @@
"board-public-info": "Toto tablo bude <strong>veřejné</strong>.",
"board-drag-drop-reorder-or-click-open": "Přetažením změníte pořadí ikon tabel. Kliknutím otevřete tablo.",
"boardChangeColorPopup-title": "Změnit pozadí tabla",
"boardChangeBackgroundImagePopup-title": "Change Background Image",
"boardChangeBackgroundImagePopup-title": "Změnit obrázek na pozadí",
"allBoardsChangeColorPopup-title": "Změnit barvu",
"allBoardsChangeBackgroundImagePopup-title": "Change Background Image",
"allBoardsChangeBackgroundImagePopup-title": "Změnit obrázek na pozadí",
"boardChangeTitlePopup-title": "Přejmenovat tablo",
"boardChangeVisibilityPopup-title": "Upravit viditelnost",
"boardChangeWatchPopup-title": "Změnit sledování",
@@ -532,8 +532,8 @@
"normal": "Normální",
"normal-desc": "Může zobrazovat a upravovat karty. Nemůže měnit nastavení.",
"not-accepted-yet": "Pozvánka ještě nebyla přijmuta",
"notify-participate": "Receive updates to any cards you participate as creator or member",
"notify-watch": "Dostane aktualitace to všech tabel, sloupců nebo karet, které sledujete",
"notify-participate": "Dostanete aktualizace o všech kartách, kterých se účastníte jako tvůrce nebo člen",
"notify-watch": "Dostane aktualizace o všech tabel, sloupců nebo karet, které sledujete",
"optional": "volitelný",
"or": "nebo",
"page-maybe-private": "Tato stránka může být soukromá. Můžete ji zobrazit po <a href='%s'>přihlášení</a>.",
@@ -550,7 +550,7 @@
"public": "Veřejný",
"public-desc": "Toto tablo je veřejné. Je viditelné pro každého, kdo na něj má odkaz a bude zobrazeno ve vyhledávačích jako je Google. Pouze vybraní uživatelé ho mohou upravovat.",
"quick-access-description": "Pro přidání odkazu do této lišty označ tablo hvězdičkou.",
"remove-cover": "Remove cover image from minicard",
"remove-cover": "Odstranit titulní obrázek z minikarty",
"remove-from-board": "Odstranit z tabla",
"remove-label": "Odstranit štítek",
"listDeletePopup-title": "Smazat sloupec?",
@@ -703,8 +703,8 @@
"accounts": "Účty",
"accounts-allowEmailChange": "Povolit změnu Emailu",
"accounts-allowUserNameChange": "Povolit změnu uživatelského jména",
"tableVisibilityMode-allowPrivateOnly": "Boards visibility: Allow private boards only",
"tableVisibilityMode" : "Boards visibility",
"tableVisibilityMode-allowPrivateOnly": "Viditelnost tabel: Povolit pouze soukromé tabla",
"tableVisibilityMode" : "Viditelnost tabel",
"createdAt": "Vytvořeno v",
"modifiedAt": "Modifikováno",
"verified": "Ověřen",
@@ -739,10 +739,10 @@
"deposit-subtasks-board": "Vložit podúkoly do tohoto tabla",
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
"show-parent-in-minicard": "Ukázat předka na minikartě",
"description-on-minicard": "Description on minicard",
"cover-attachment-on-minicard": "Cover image on minicard",
"badge-attachment-on-minicard": "Count of attachments on minicard",
"card-sorting-by-number-on-minicard": "Card sorting by number on minicard",
"description-on-minicard": "Popis na minikartě",
"cover-attachment-on-minicard": "Titulní obrázek na minikartě",
"badge-attachment-on-minicard": "Počet příloh na minikartě",
"card-sorting-by-number-on-minicard": "Řazení karet podle čísla na minikartě",
"prefix-with-full-path": "Prefix s celou cestou",
"prefix-with-parent": "Prefix s předkem",
"subtext-with-full-path": "Podtext s celou cestou",
@@ -884,7 +884,7 @@
"error-ldap-login": "Během přihlašování nastala chyba",
"display-authentication-method": "Zobraz způsob ověřování",
"oidc-button-text": "Customize the OIDC button text",
"default-authentication-method": "Zobraz způsob ověřování",
"default-authentication-method": "Výchozí způsob ověřování",
"duplicate-board": "Duplikovat tablo",
"org-number": "Počet organizací je:",
"team-number": "Počet týmů je:",
@@ -974,7 +974,7 @@
"myCardsViewChange-title": "My Cards View",
"myCardsViewChangePopup-title": "My Cards View",
"myCardsViewChange-choice-boards": "Tabla",
"myCardsViewChange-choice-table": "Table",
"myCardsViewChange-choice-table": "Tabulka",
"myCardsSortChange-title": "Pořadí mých karet",
"myCardsSortChangePopup-title": "Pořadí mých karet",
"myCardsSortChange-choice-board": "Podle tabla",
@@ -1100,13 +1100,13 @@
"label-names": "Štítek jména",
"archived-at": "archivováno",
"sort-cards": "Třídit",
"sort-is-on": "Sort is on",
"sort-is-on": "Řazení je zapnuté",
"cardsSortPopup-title": "Třídit",
"due-date": "Požadovaný termín",
"server-error": "Chyba na serveru",
"server-error-troubleshooting": "Odešlete prosím chybu, kterou server vygeneroval.\nV případě instalace přes snap spusťte: `sudo snap logs wekan.wekan`\nV případě instalace přes Docker spusťte: `sudo docker logs wekan-app`",
"title-alphabetically": "Nadpis (Abecedně)",
"created-at-newest-first": "Vyvtořeno (Od nejnovějších)",
"created-at-newest-first": "Vytvořeno (Od nejnovějších)",
"created-at-oldest-first": "Vytvořeno (Od nejstarších)",
"links-heading": "Odkazy",
"hide-system-messages-of-all-users": "Skrýt systémové zprávy všech uživatelů",
@@ -1118,7 +1118,7 @@
"custom-field-stringtemplate-separator": "Oddělovač (pro mezeru použijte &#32; nebo &nbsp;)",
"custom-field-stringtemplate-item-placeholder": "Stiskněte enter pro přidání více položek",
"creator": "Tvůrce",
"creator-on-minicard": "Creator on minicard",
"creator-on-minicard": "Tvůrce na minikartě",
"filesReportTitle": "Report souborů",
"reports": "Reporty",
"rulesReportTitle": "Report pravidel",
@@ -1141,7 +1141,7 @@
"delete-org-warning-message": "Tuto organizaci není možné smazat, protože do ní patří uživatel(é)",
"delete-team-warning-message": "Tento tým není možné smazat, protože do nej patří uživatel(é)",
"subject": "Subject",
"details": "Details",
"details": "Podrobnosti",
"carbon-copy": "Carbon Copy (Cc:)",
"ticket": "Ticket",
"tickets": "Tickets",
@@ -1155,17 +1155,17 @@
"request": "Request",
"requests": "Requests",
"help-request": "Help Request",
"editCardSortOrderPopup-title": "Change Sorting",
"cardDetailsPopup-title": "Card Details",
"add-teams": "Add teams",
"add-teams-label": "Added teams are displayed below:",
"remove-team-from-table": "Are you sure you want to remove this team from the board ?",
"confirm-btn": "Confirm",
"editCardSortOrderPopup-title": "Změnit řazení",
"cardDetailsPopup-title": "Podrobnosti karty",
"add-teams": "Přidat týmy",
"add-teams-label": "Přidané týmy jsou zobrazeny zde:",
"remove-team-from-table": "Opravdu chcete odstranit tento tým z tabla ?",
"confirm-btn": "Potvrdit",
"remove-btn": "Odstranit",
"filter-card-title-label": "Filter by card title",
"filter-card-title-label": "Filtrovat pomocí názvů karet",
"invite-people-success": "Invitation to register sent with success",
"invite-people-error": "Error while sending invitation to register",
"can-invite-if-same-mailDomainName": "Email domain name",
"can-invite-if-same-mailDomainName": "Emailová doména",
"to-create-teams-contact-admin": "To create teams, please contact the administrator.",
"Node_heap_total_heap_size": "Node heap: total heap size",
"Node_heap_total_heap_size_executable": "Node heap: total heap size executable",
@@ -1224,29 +1224,29 @@
"if-you-already-have-an-account": "If you already have an account",
"register": "Register",
"forgot-password": "Forgot password",
"minicardDetailsActionsPopup-title": "Card Details",
"minicardDetailsActionsPopup-title": "Podrobnosti karty",
"Mongo_sessions_count": "Mongo sessions count",
"change-visibility": "Upravit viditelnost",
"max-upload-filesize": "Max upload filesize in bytes:",
"allowed-upload-filetypes": "Allowed upload filetypes:",
"max-avatar-filesize": "Max avatar filesize in bytes:",
"max-upload-filesize": "Maximální velikost nahraného souboru v bajtech:",
"allowed-upload-filetypes": "Povolené typy nahraných souborů:",
"max-avatar-filesize": "Maximální velikost avatara v bajtech:",
"allowed-avatar-filetypes": "Allowed avatar filetypes:",
"invalid-file": "If filename is invalid, upload or rename is cancelled.",
"preview-pdf-not-supported": "Your device does not support previewing PDF. Try downloading instead.",
"drag-board": "Drag board",
"translation-number": "The number of custom translation strings is:",
"delete-translation-confirm-popup": "Are you sure you want to delete this custom translation string? There is no undo.",
"newTranslationPopup-title": "New custom translation string",
"editTranslationPopup-title": "Edit custom translation string",
"settingsTranslationPopup-title": "Delete this custom translation string?",
"translation": "Translation",
"invalid-file": "Pokud je název souboru neplatný, nahrávání nebo přejmenovávání se zruší.",
"preview-pdf-not-supported": "Vaše zařízení nepodporuje zobrazení PDF. Zkuste soubor stáhnout.",
"drag-board": "Přetáhnout tablo",
"translation-number": "Počet vlastní překladů je:",
"delete-translation-confirm-popup": "Opravdu chcete smazat tento vlastní překlad? Tuto akci nelze vrátit zpět.",
"newTranslationPopup-title": "Nový vlastní překlad",
"editTranslationPopup-title": "Upravit vlastní překlad",
"settingsTranslationPopup-title": "Smazat tento vlastní překlad?",
"translation": "Překlad",
"text": "Text",
"translation-text": "Translation text",
"show-at-minicard": "Show at minicard",
"translation-text": "Text překladu",
"show-at-minicard": "Zobrazit na minikartě",
"show-checklist-at-minicard": "Show checklist at minicard",
"show-subtasks-field": "Show subtasks field",
"convert-to-markdown": "Convert to markdown",
"import-board-zip": "Add .zip file that has board JSON files, and board name subdirectories with attachments",
"collapse": "Sbalit",
"uncollapse": "Uncollapse"
"uncollapse": "Rozbalit"
}
+2 -13
View File
@@ -351,7 +351,7 @@ Cards.attachSchema(
},
'poker.question': {
type: Boolean,
defaultValue: false,
optional: true,
},
'poker.one': {
/**
@@ -359,7 +359,6 @@ Cards.attachSchema(
*/
type: [String],
optional: true,
defaultValue: [],
},
'poker.two': {
/**
@@ -367,7 +366,6 @@ Cards.attachSchema(
*/
type: [String],
optional: true,
defaultValue: [],
},
'poker.three': {
/**
@@ -375,7 +373,6 @@ Cards.attachSchema(
*/
type: [String],
optional: true,
defaultValue: [],
},
'poker.five': {
/**
@@ -383,7 +380,6 @@ Cards.attachSchema(
*/
type: [String],
optional: true,
defaultValue: [],
},
'poker.eight': {
/**
@@ -391,7 +387,6 @@ Cards.attachSchema(
*/
type: [String],
optional: true,
defaultValue: [],
},
'poker.thirteen': {
/**
@@ -399,7 +394,6 @@ Cards.attachSchema(
*/
type: [String],
optional: true,
defaultValue: [],
},
'poker.twenty': {
/**
@@ -407,7 +401,6 @@ Cards.attachSchema(
*/
type: [String],
optional: true,
defaultValue: [],
},
'poker.forty': {
/**
@@ -415,7 +408,6 @@ Cards.attachSchema(
*/
type: [String],
optional: true,
defaultValue: [],
},
'poker.oneHundred': {
/**
@@ -423,7 +415,6 @@ Cards.attachSchema(
*/
type: [String],
optional: true,
defaultValue: [],
},
'poker.unsure': {
/**
@@ -431,16 +422,14 @@ Cards.attachSchema(
*/
type: [String],
optional: true,
defaultValue: [],
},
'poker.end': {
type: Date,
optional: true,
defaultValue: null,
},
'poker.allowNonBoardMembers': {
type: Boolean,
defaultValue: false,
optional: true,
},
'poker.estimation': {
/**
+1 -1
View File
@@ -1,4 +1,4 @@
import Excel from 'exceljs';
import Excel from '@wekanteam/exceljs';
export const createWorkbook = function() {
return new Excel.Workbook();
+2 -2
View File
@@ -450,9 +450,9 @@ export class TrelloCreator {
}
};
if (att.url) {
Attachment.load(att.url, opts, cb, true);
Attachments.load(att.url, opts, cb, true);
} else if (att.file) {
Attachment.write(att.file, opts, cb, true);
Attachments.insert(att.file, opts, cb, true);
}
});
+2 -2
View File
@@ -471,9 +471,9 @@ export class WekanCreator {
}
};
if (att.url) {
Attachment.load(att.url, opts, cb, true);
Attachments.load(att.url, opts, cb, true);
} else if (att.file) {
Attachment.write(att.file, opts, cb, true);
Attachments.insert(att.file, opts, cb, true);
}
});
}
+136 -63
View File
@@ -1,13 +1,13 @@
{
"name": "wekan",
"version": "v7.51.0",
"version": "v7.53.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@babel/runtime": {
"version": "7.24.7",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz",
"integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==",
"version": "7.25.0",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.0.tgz",
"integrity": "sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==",
"requires": {
"regenerator-runtime": "^0.14.0"
}
@@ -39,6 +39,85 @@
"lodash.uniq": "^4.5.0"
}
},
"@ldapjs/asn1": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@ldapjs/asn1/-/asn1-2.0.0.tgz",
"integrity": "sha512-G9+DkEOirNgdPmD0I8nu57ygQJKOOgFEMKknEuQvIHbGLwP3ny1mY+OTUYLCbCaGJP4sox5eYgBJRuSUpnAddA=="
},
"@ldapjs/attribute": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@ldapjs/attribute/-/attribute-1.0.0.tgz",
"integrity": "sha512-ptMl2d/5xJ0q+RgmnqOi3Zgwk/TMJYG7dYMC0Keko+yZU6n+oFM59MjQOUht5pxJeS4FWrImhu/LebX24vJNRQ==",
"requires": {
"@ldapjs/asn1": "2.0.0",
"@ldapjs/protocol": "^1.2.1",
"process-warning": "^2.1.0"
}
},
"@ldapjs/change": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@ldapjs/change/-/change-1.0.0.tgz",
"integrity": "sha512-EOQNFH1RIku3M1s0OAJOzGfAohuFYXFY4s73wOhRm4KFGhmQQ7MChOh2YtYu9Kwgvuq1B0xKciXVzHCGkB5V+Q==",
"requires": {
"@ldapjs/asn1": "2.0.0",
"@ldapjs/attribute": "1.0.0"
}
},
"@ldapjs/controls": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@ldapjs/controls/-/controls-2.1.0.tgz",
"integrity": "sha512-2pFdD1yRC9V9hXfAWvCCO2RRWK9OdIEcJIos/9cCVP9O4k72BY1bLDQQ4KpUoJnl4y/JoD4iFgM+YWT3IfITWw==",
"requires": {
"@ldapjs/asn1": "^1.2.0",
"@ldapjs/protocol": "^1.2.1"
},
"dependencies": {
"@ldapjs/asn1": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@ldapjs/asn1/-/asn1-1.2.0.tgz",
"integrity": "sha512-KX/qQJ2xxzvO2/WOvr1UdQ+8P5dVvuOLk/C9b1bIkXxZss8BaR28njXdPgFCpj5aHaf1t8PmuVnea+N9YG9YMw=="
}
}
},
"@ldapjs/dn": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@ldapjs/dn/-/dn-1.1.0.tgz",
"integrity": "sha512-R72zH5ZeBj/Fujf/yBu78YzpJjJXG46YHFo5E4W1EqfNpo1UsVPqdLrRMXeKIsJT3x9dJVIfR6OpzgINlKpi0A==",
"requires": {
"@ldapjs/asn1": "2.0.0",
"process-warning": "^2.1.0"
}
},
"@ldapjs/filter": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/@ldapjs/filter/-/filter-2.1.1.tgz",
"integrity": "sha512-TwPK5eEgNdUO1ABPBUQabcZ+h9heDORE4V9WNZqCtYLKc06+6+UAJ3IAbr0L0bYTnkkWC/JEQD2F+zAFsuikNw==",
"requires": {
"@ldapjs/asn1": "2.0.0",
"@ldapjs/protocol": "^1.2.1",
"process-warning": "^2.1.0"
}
},
"@ldapjs/messages": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/@ldapjs/messages/-/messages-1.3.0.tgz",
"integrity": "sha512-K7xZpXJ21bj92jS35wtRbdcNrwmxAtPwy4myeh9duy/eR3xQKvikVycbdWVzkYEAVE5Ce520VXNOwCHjomjCZw==",
"requires": {
"@ldapjs/asn1": "^2.0.0",
"@ldapjs/attribute": "^1.0.0",
"@ldapjs/change": "^1.0.0",
"@ldapjs/controls": "^2.1.0",
"@ldapjs/dn": "^1.1.0",
"@ldapjs/filter": "^2.1.1",
"@ldapjs/protocol": "^1.2.1",
"process-warning": "^2.2.0"
}
},
"@ldapjs/protocol": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@ldapjs/protocol/-/protocol-1.2.1.tgz",
"integrity": "sha512-O89xFDLW2gBoZWNXuXpBSM32/KealKCTb3JGtJdtUQc7RjAk8XzrRgyz02cPAwGKwKPxy0ivuC7UP9bmN87egQ=="
},
"@mapbox/node-pre-gyp": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz",
@@ -108,6 +187,25 @@
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz",
"integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ=="
},
"@wekanteam/dragscroll": {
"version": "github:wekan/dragscroll#6ea215c8cdbde9362ecba8ffb72ce9f9fde842d2",
"from": "github:wekan/dragscroll"
},
"@wekanteam/exceljs": {
"version": "github:wekan/exceljs#e0229907e7a81bc3fe6daf4e42b1fdfbecdcb7cb",
"from": "github:wekan/exceljs",
"requires": {
"archiver": "^5.0.0",
"dayjs": "^1.8.34",
"fast-csv": "^4.3.1",
"jszip": "^3.10.1",
"readable-stream": "^3.6.0",
"saxes": "^5.0.1",
"tmp": "^0.2.0",
"unzipper": "^0.10.11",
"uuid": "^8.3.0"
}
},
"@wekanteam/html-to-markdown": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@wekanteam/html-to-markdown/-/html-to-markdown-1.0.2.tgz",
@@ -253,14 +351,6 @@
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
},
"asn1": {
"version": "0.2.6",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
"integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
"requires": {
"safer-buffer": "~2.1.0"
}
},
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
@@ -514,9 +604,9 @@
"integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw=="
},
"dayjs": {
"version": "1.11.11",
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.11.tgz",
"integrity": "sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg=="
"version": "1.11.12",
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.12.tgz",
"integrity": "sha512-Rt2g+nTbLlDWZTwwrIXjy9MeiZmSDI375FvZs72ngxx8PDC6YXOeR3q5LAuPzjZQxhiWdRKac7RKV+YyQYfYIg=="
},
"debug": {
"version": "4.3.4",
@@ -581,9 +671,9 @@
}
},
"dompurify": {
"version": "2.5.5",
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.5.5.tgz",
"integrity": "sha512-FgbqnEPiv5Vdtwt6Mxl7XSylttCC03cqP5ldNT2z+Kj0nLxPHJH4+1Cyf5Jasxhw93Rl4Oo11qRoUV72fmya2Q=="
"version": "2.5.6",
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.5.6.tgz",
"integrity": "sha512-zUTaUBO8pY4+iJMPE1B9XlO2tXVYIcEA4SNGtvDELzTSCQO7RzH+j7S180BmhmJId78lqGU2z19vgVx2Sxs/PQ=="
},
"domutils": {
"version": "2.8.0",
@@ -697,21 +787,6 @@
"resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz",
"integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA=="
},
"exceljs": {
"version": "git+https://github.com/exceljs/exceljs.git#5bed18b45e824f409b08456b59b87430ded023ab",
"from": "git+https://github.com/exceljs/exceljs.git",
"requires": {
"archiver": "^5.0.0",
"dayjs": "^1.8.34",
"fast-csv": "^4.3.1",
"jszip": "^3.10.1",
"readable-stream": "^3.6.0",
"saxes": "^5.0.1",
"tmp": "^0.2.0",
"unzipper": "^0.10.11",
"uuid": "^8.3.0"
}
},
"extsprintf": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.1.tgz",
@@ -737,9 +812,9 @@
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
},
"fast-xml-parser": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.2.tgz",
"integrity": "sha512-rmrXUXwbJedoXkStenj1kkljNF7ugn5ZjR9FJcwmCfcCbtOMDghPajbc+Tck6vE6F5XsDmx+Pr2le9fw8+pXBg==",
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz",
"integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==",
"requires": {
"strnum": "^1.0.5"
}
@@ -1173,27 +1248,25 @@
}
}
},
"ldap-filter": {
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/ldap-filter/-/ldap-filter-0.3.3.tgz",
"integrity": "sha512-/tFkx5WIn4HuO+6w9lsfxq4FN3O+fDZeO9Mek8dCD8rTUpqzRa766BOBO7BcGkn3X86m5+cBm1/2S/Shzz7gMg==",
"requires": {
"assert-plus": "^1.0.0"
}
},
"ldapjs": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/ldapjs/-/ldapjs-2.3.3.tgz",
"integrity": "sha512-75QiiLJV/PQqtpH+HGls44dXweviFwQ6SiIK27EqzKQ5jU/7UFrl2E5nLdQ3IYRBzJ/AVFJI66u0MZ0uofKYwg==",
"version": "3.0.7",
"resolved": "https://registry.npmjs.org/ldapjs/-/ldapjs-3.0.7.tgz",
"integrity": "sha512-1ky+WrN+4CFMuoekUOv7Y1037XWdjKpu0xAPwSP+9KdvmV9PG+qOKlssDV6a+U32apwxdD3is/BZcWOYzN30cg==",
"requires": {
"abstract-logging": "^2.0.0",
"asn1": "^0.2.4",
"@ldapjs/asn1": "^2.0.0",
"@ldapjs/attribute": "^1.0.0",
"@ldapjs/change": "^1.0.0",
"@ldapjs/controls": "^2.1.0",
"@ldapjs/dn": "^1.1.0",
"@ldapjs/filter": "^2.1.1",
"@ldapjs/messages": "^1.3.0",
"@ldapjs/protocol": "^1.2.1",
"abstract-logging": "^2.0.1",
"assert-plus": "^1.0.0",
"backoff": "^2.5.0",
"ldap-filter": "^0.3.3",
"once": "^1.4.0",
"vasync": "^2.2.0",
"verror": "^1.8.1"
"vasync": "^2.2.1",
"verror": "^1.10.1"
}
},
"lie": {
@@ -2369,9 +2442,9 @@
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="
},
"object-inspect": {
"version": "1.13.1",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
"integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ=="
"version": "1.13.2",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz",
"integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g=="
},
"once": {
"version": "1.4.0",
@@ -2465,15 +2538,20 @@
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
},
"process-warning": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/process-warning/-/process-warning-2.3.2.tgz",
"integrity": "sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA=="
},
"punycode": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
"integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="
},
"qs": {
"version": "6.12.1",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz",
"integrity": "sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==",
"version": "6.13.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
"integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
"requires": {
"side-channel": "^1.0.6"
}
@@ -2551,11 +2629,6 @@
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
},
"safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"sax": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz",
+7 -6
View File
@@ -1,6 +1,6 @@
{
"name": "wekan",
"version": "v7.51.0",
"version": "v7.53.0",
"description": "Open-Source kanban",
"private": true,
"repository": {
@@ -17,19 +17,20 @@
"sinon": "^13.0.2"
},
"dependencies": {
"@babel/runtime": "^7.24.7",
"@babel/runtime": "^7.25.0",
"@mapbox/node-pre-gyp": "^1.0.10",
"@rwap/jquery-ui-touch-punch": "^1.0.11",
"@wekanteam/dragscroll": "github:wekan/dragscroll",
"@wekanteam/exceljs": "github:wekan/exceljs",
"@wekanteam/html-to-markdown": "^1.0.2",
"@wekanteam/meteor-globals": "^1.1.4",
"@wekanteam/meteor-reactive-cache": "^1.0.6",
"ajv": "^6.12.6",
"bcryptjs": "^2.4.3",
"bson": "^4.5.2",
"dompurify": "^2.5.5",
"dompurify": "^2.5.6",
"es6-promise": "^4.2.4",
"escape-string-regexp": "^5.0.0",
"exceljs": "git+https://github.com/exceljs/exceljs.git",
"fibers": "^5.0.3",
"file-type": "^16.5.4",
"filesize": "^8.0.7",
@@ -38,7 +39,7 @@
"jquery": "^3.7.1",
"jquery-ui": "^1.13.3",
"jszip": "^3.7.1",
"ldapjs": "^2.3.3",
"ldapjs": "^3.0.7",
"markdown-it": "^12.3.2",
"markdown-it-emoji": "^2.0.0",
"markdown-it-mathjax3": "^4.3.2",
@@ -50,7 +51,7 @@
"page": "^1.11.6",
"papaparse": "^5.3.1",
"pretty-ms": "^7.0.1",
"qs": "^6.12.1",
"qs": "^6.13.0",
"simpl-schema": "^3.4.6",
"source-map-support": "^0.5.20",
"uuid": "^8.3.2"
+5 -5
View File
@@ -7,7 +7,7 @@
<meta charset="utf-8">
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>Wekan REST API v7.51</title>
<title>Wekan REST API v7.53</title>
<style>
</style>
@@ -1548,7 +1548,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
<ul class="toc-list-h1">
<li>
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v7.51">Wekan REST API v7.51</a>
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v7.53">Wekan REST API v7.53</a>
</li>
@@ -2067,7 +2067,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
<div class="page-wrapper">
<div class="dark-box"></div>
<div class="content">
<h1 id="wekan-rest-api">Wekan REST API v7.51</h1>
<h1 id="wekan-rest-api">Wekan REST API v7.53</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>
@@ -19387,7 +19387,7 @@ UserSecurity
<tr>
<td>question</td>
<td>boolean</td>
<td>true</td>
<td>false</td>
<td>none</td>
<td>none</td>
</tr>
@@ -19471,7 +19471,7 @@ UserSecurity
<tr>
<td>allowNonBoardMembers</td>
<td>boolean</td>
<td>true</td>
<td>false</td>
<td>none</td>
<td>none</td>
</tr>
+1 -4
View File
@@ -1,7 +1,7 @@
swagger: '2.0'
info:
title: Wekan REST API
version: v7.51
version: v7.53
description: |
The REST API allows you to control and extend Wekan with ease.
@@ -3436,9 +3436,6 @@ definitions:
description: |
poker estimation value
type: number
required:
- question
- allowNonBoardMembers
CardsCustomfields:
type: object
ChecklistItems:
+5
View File
@@ -2,6 +2,11 @@
"name": "Wekan",
"short_name": "Wekan",
"icons": [
{
"src": "svg-etc/wekan-logo-512.svg",
"sizes": "any",
"type": "image/svg"
},
{
"src": "android-chrome-192x192.png",
"sizes": "192x192",
+3 -3
View File
@@ -95,12 +95,12 @@ do
#cd ..
#sudo chown -R $(id -u):$(id -g) $HOME/.npm $HOME/.meteor
rm -rf .build/bundle node_modules .meteor/local .build
meteor npm install
meteor npm install --production
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 && rm -rf node_modules && chmod u+w *.json && meteor npm install --production)
(cd .build/bundle/programs/server/node_modules/fibers && node build.js)
(cd .build/bundle/programs/server/npm/node_modules/meteor/accounts-password && meteor npm remove bcrypt && meteor npm install bcrypt)
(cd .build/bundle/programs/server/npm/node_modules/meteor/accounts-password && meteor npm remove bcrypt && meteor npm install bcrypt --production)
# Cleanup
cd .build/bundle
find . -type d -name '*-garbage*' | xargs rm -rf
+1 -1
View File
@@ -20,7 +20,7 @@ cd ~/repos/w/wekan.github.io
git pull
# 4) Change version number in website
sed -i "s|>v$1<\/span>|>v$2<\/span>|g" index.html
sed -i "s|>v$1<\/span>|>v$2<\/span>|g" install/index.html
# 5) Change version number in API docs index page
cd api
+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 = 751,
appVersion = 753,
# Increment this for every release.
appMarketingVersion = (defaultText = "7.51.0~2024-06-27"),
appMarketingVersion = (defaultText = "7.53.0~2024-08-03"),
# Human-readable presentation of the app version.
minUpgradableAppVersion = 0,
+14
View File
@@ -1443,3 +1443,17 @@ Migrations.add('attachment-cardCopy-fix-boardId-etc', () => {
});
});
*/
Migrations.add('remove-unused-planning-poker', () => {
Cards.update(
{
"poker.question": false,
},
{
$unset: {
"poker": 1,
},
},
noValidateMulti,
);
});
+5 -5
View File
@@ -1,5 +1,5 @@
name: wekan
version: '7.51'
version: '7.53'
base: core20
summary: Open Source kanban
description: |
@@ -65,7 +65,7 @@ apps:
parts:
mongodb:
source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-6.0.15.tgz
source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-6.0.16.tgz
plugin: dump
stage-packages:
- libssl1.1
@@ -170,9 +170,9 @@ parts:
# Cleanup
mkdir .build
cd .build
wget https://github.com/wekan/wekan/releases/download/v7.51/wekan-7.51-amd64.zip
unzip wekan-7.51-amd64.zip
rm wekan-7.51-amd64.zip
wget https://github.com/wekan/wekan/releases/download/v7.53/wekan-7.53-amd64.zip
unzip wekan-7.53-amd64.zip
rm wekan-7.53-amd64.zip
cd ..
##cd .build/bundle
##find . -type d -name '*-garbage*' | xargs rm -rf
-16
View File
@@ -1,16 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: OpenPGP.js v4.10.8
Comment: https://openpgpjs.org
xjMEX3HbABYJKwYBBAHaRw8BAQdAQ2UBWCK1H3/z7gMgwVudRL+NlwJVCPw+
Vsp9PGSLh9jNJ3N1cHBvcnRAd2VrYW4udGVhbSA8c3VwcG9ydEB3ZWthbi50
ZWFtPsKPBBAWCgAgBQJfcdsABgsJBwgDAgQVCAoCBBYCAQACGQECGwMCHgEA
IQkQRkG8ZpPn6f4WIQRI5gPihwJLiXfveDBGQbxmk+fp/kCXAQD/JXsgVq4d
9sKmYDGHpCaIfsO//6cmiCGz3Mf5SDc0ygD/WpJO31Fyu6pfr3nWe4n50H93
lXXz937+K1bB9rfqugDOOARfcdsAEgorBgEEAZdVAQUBAQdALydXPub/n7hx
8qYjZa2tzBvcz5KkdnIxOoB+vaQZFQwDAQgHwngEGBYIAAkFAl9x2wACGwwA
IQkQRkG8ZpPn6f4WIQRI5gPihwJLiXfveDBGQbxmk+fp/uyXAQCRLPksHCJ6
RTl7HrtSS9lkeOmh32u+Rnjijn970PYIIQEAiGgXoJGBTzyVil9aPeqfWFK+
0hvTsnNY3JT3K84OmQQ=
=SNk3
-----END PGP PUBLIC KEY BLOCK-----