Compare commits

...
91 Commits
Author SHA1 Message Date
Lauri Ojansivu 975993dd6d v7.55 2024-08-08 17:32:35 +03:00
Lauri Ojansivu 43084eb664 Updated ChangeLog. 2024-08-08 17:25:16 +03:00
Lauri Ojansivu 0e770ac3b3 Merge pull request #5501 from walster001/main
Fix board backgrounds not showing correctly after V7.54
2024-08-08 17:20:08 +03:00
walster001 206abc8c68 Fix board backgrounds not showing correctly.
Fixed board backgrounds not showing correctly on the following themes. Various code modified as different themes have used different code to implement the background.

Have tried to stick with board-wrapper as a standard to apply the background colour to.
Board background image will override board-wrapper colour every time.

Dark
Relax
Natural
Modern
ModernDark
Exodark
CleanDark
CleanLight

- Updated pull due to original file I had stored on my pc 139 commits behind! So synced that and then redid code changes to bring it all up to date.
2024-08-08 23:34:09 +09:30
walster001 62b13cc343 Merge branch 'main' of https://github.com/walster001/wekan-atlanz 2024-08-08 23:23:00 +09:30
walster001 7822dd3b75 Fix board backgrounds not showing correctly
Fixed board backgrounds not showing correctly on the following themes.
Various code modified as different themes have used different code to implement the background.

Have tried to stick with board-wrapper as a standard to apply the background colour to.

Board background image will override this every time.

- Dark
- Relax
- Natural
- Modern
- ModernDark
- Exodark
- CleanDark
- CleanLight
2024-08-08 22:51:07 +09:30
Lauri Ojansivu a214cd64b6 v7.54 2024-08-07 17:51:01 +03:00
Lauri Ojansivu 8839a8ea39 Updated ChangeLog. 2024-08-07 17:26:47 +03:00
Lauri Ojansivu a4169f3da7 Fix LDAP login fails after upgrade.
Thanks to juppees !

Fixes #5499
2024-08-07 17:24:14 +03:00
Lauri Ojansivu 19d59b3ab4 Updated ChangeLog. 2024-08-07 00:25:57 +03:00
Lauri Ojansivu 27b2e2384c Merge pull request #5498 from mfilser/master
Bugfix, edit description didn't work if it was clicked
2024-08-07 00:24:58 +03:00
Lauri Ojansivu 49d2cbc2c1 Updated ChangeLog. 2024-08-07 00:23:49 +03:00
Martin Filser bf2b3b40cd Bugfix, edit description didn't work if it was clicked
- introduced by commit: 0cc63b810c
2024-08-06 23:22:58 +02:00
Lauri Ojansivu 1541c6ca23 Merge pull request #5497 from mfilser/master
listHeader, simpler code logic at collapsed if conditions
2024-08-07 00:22:23 +03:00
Lauri Ojansivu 42c1ff94e2 Updated ChangeLog. 2024-08-07 00:13:13 +03:00
Martin Filser 53aa5ebc17 listHeader, simpler code logic at collapsed if conditions 2024-08-06 23:12:31 +02:00
Lauri Ojansivu 0f43818757 Merge pull request #5496 from mfilser/master
Bugfix, Cards Count on mobile view was missing
2024-08-07 00:12:11 +03:00
Lauri Ojansivu f3c5b1eb07 Updated ChangeLog. 2024-08-07 00:11:36 +03:00
Martin Filser 517d1bb7fa Bugfix, Cards Count on mobile view was missing
introduced by:
a601ba542a
2024-08-06 23:10:30 +02:00
Lauri Ojansivu 6ee0919ead Merge pull request #5495 from mfilser/master
Editor, Bugfix, copy text is now at each editor (textarea) again
2024-08-07 00:10:03 +03:00
Martin Filser 13eb1a58e0 Editor, migrate to markdown at same line than copy text icon 2024-08-06 23:06:51 +02:00
Martin Filser 08f9c09484 Editor, Bugfix, copy text is now at each editor (textarea) again 2024-08-06 23:05:54 +02:00
Lauri Ojansivu 3f3abe26ee Updated ChangeLog. 2024-08-07 00:05:09 +03:00
Lauri Ojansivu e31c5b6d42 Merge pull request #5494 from mfilser/master
Minicard, show creator, defaultValue of schema and other code is now the same
2024-08-07 00:03:47 +03:00
Martin Filser 7bf77fa7cb Minicard, show creator, defaultValue of schema and other code is now the same 2024-08-06 23:00:42 +02:00
Lauri Ojansivu a2662f1366 Updated ChangeLog. 2024-08-06 23:57:40 +03:00
Lauri Ojansivu 116cf6aa21 Merge pull request #5493 from mfilser/master
board view, first column a bit smaller to save screen space
2024-08-06 23:56:20 +03:00
Lauri Ojansivu 79bb6d0c55 Updated ChangeLog. 2024-08-06 23:55:12 +03:00
Martin Filser c157ecec38 board view, first column to add a new list was too large 2024-08-06 22:53:53 +02:00
Martin Filser 28893cf637 Bugfix, in View "Lists" the first column only showed the first 10 minicards, now all minicards again 2024-08-06 22:53:53 +02:00
Lauri Ojansivu 73ffc99f37 Merge pull request #5492 from mfilser/master
sidebar xmark icon, add padding and background color
2024-08-06 23:53:24 +03:00
Martin Filser 35802c7c62 sidebar xmark-icon, background color on hover the icon 2024-08-06 22:45:51 +02:00
Martin Filser bc44fdf89c sidebar xmark icon, add padding to easier click 2024-08-06 22:45:51 +02:00
Lauri Ojansivu 030c3dd587 Updated ChangeLog. 2024-08-06 23:38:33 +03:00
Lauri Ojansivu 498be2759e Merge pull request #5491 from mfilser/master
fix empty parentId in cards
2024-08-06 23:37:38 +03:00
Lauri Ojansivu 649d00733a Updated ChangeLog. 2024-08-06 23:36:07 +03:00
Martin Filser 8a7a4f3033 fix empty parentId in cards
- if the parentId is undefined or empty, the code run in a infinite loop and
  the browser "hangs"
2024-08-06 22:35:16 +02:00
Lauri Ojansivu b6ce81dc79 Merge pull request #5490 from mfilser/master
change Meteor.user() to ReactiveCache.getCurrentUser()
2024-08-06 23:35:07 +03:00
Lauri Ojansivu 490c417cee Updated ChangeLog. 2024-08-06 23:33:59 +03:00
Martin Filser 2dfeb3924b reactiveCache, removing commented out code 2024-08-06 22:33:03 +02:00
Martin Filser bff96f6ae2 change Meteor.user() to ReactiveCache.getCurrentUser()
- see also: https://github.com/wekan/wekan/issues/5000
2024-08-06 22:33:03 +02:00
Lauri Ojansivu 4801e26b2f Merge pull request #5489 from mfilser/master
attachment popup back was broken since new attachment viewer, now fixed
2024-08-06 23:32:53 +03:00
Lauri Ojansivu 027997f7b3 Updated ChangeLog. 2024-08-06 23:32:29 +03:00
Martin Filser 76aaefbde1 attachment popup back was broken since new attachment viewer, now fixed 2024-08-06 22:30:51 +02:00
Lauri Ojansivu a01bc0f325 Merge pull request #5488 from mfilser/master
remove attachment storage name from attachment list
2024-08-06 23:30:23 +03:00
Martin Filser f6f4f5660e remove attachment storage name from attachment list
- this was for debugging, now not necessary anymore
2024-08-06 22:26:00 +02:00
Lauri Ojansivu 956925889a Updated ChangeLog. 2024-08-06 23:23:42 +03:00
Lauri Ojansivu 0bd49326d8 Merge pull request #5487 from mfilser/master
little opacity to minicards to see the background image a little bit
2024-08-06 23:22:32 +03:00
Lauri Ojansivu 64c4e8eca8 Updated ChangeLog. 2024-08-06 23:22:04 +03:00
Lauri Ojansivu 55fc342f6d Added info how with Caddy webserver config, PWA and Android app override icons, showing toolbars, etc.
Thanks to xet7 !
2024-08-06 23:19:43 +03:00
Martin Filser 3ae0d96760 little opacity to minicards to see the background image a little bit 2024-08-06 22:03:16 +02:00
Lauri Ojansivu fc1e55cc19 Updated ChangeLog. 2024-08-06 22:58:13 +03:00
Lauri Ojansivu 58fc810a43 Merge pull request #5486 from mfilser/master
Bugfix, variable "color" didn't exist
2024-08-06 22:55:58 +03:00
Martin Filser 3c477e9783 Bugfix, variable "color" didn't exist
- background-color is maybe wrong too, but better than throwing an exception
2024-08-06 21:50:57 +02:00
Lauri Ojansivu f2247ed86d Updated ChangeLog. 2024-08-06 22:48:32 +03:00
Lauri Ojansivu 0d9a9d1ed8 Merge branch 'main' of github.com:wekan/wekan 2024-08-06 22:46:00 +03:00
Lauri Ojansivu ca5a579e22 PWA, move to standalone (standard) to display the status bar.
Thanks to mfilser !

Related https://github.com/wekan/wekan/pull/5484
2024-08-06 22:44:51 +03:00
Lauri Ojansivu 53d97a593f Merge pull request #5485 from mfilser/master
don't set background image in .board-canvas too
2024-08-06 22:38:27 +03:00
Martin Filser 3641a8f389 don't set background image in .board-canvas too 2024-08-06 21:30:27 +02:00
Lauri Ojansivu 1dea1bd09d Merge pull request #5483 from mfilser/master
fix error on console when user logout
2024-08-06 19:09:22 +03:00
Martin Filser 3db265d57f fix error on console when user logout (Part 2) 2024-08-06 17:24:43 +02:00
Martin Filser 38a32824ea fix error on console when user logout (Part 1) 2024-08-06 17:24:43 +02:00
Lauri Ojansivu b0c94f7ff2 Updated ChangeLog. 2024-08-05 13:06:51 +03:00
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
47 changed files with 864 additions and 354 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 \
+90
View File
@@ -15,6 +15,96 @@ Fixing other platforms In Progress.
[How to upgrade WeKan](https://github.com/wekan/wekan/issues/4585)
# v7.55 2024-08-08 WeKan ® release
This release fixes the following bugs:
- [Fix board backgrounds not showing correctly after v7.54](https://github.com/wekan/wekan/pull/5501).
Thanks to walster001.
Thanks to above GitHub users for their contributions and translators for their translations.
# v7.54 2024-08-07 WeKan ® release
This release adds the following new features:
- [Helm Chart: Add Support for Overriding Image Registry in Airgapped Environments](https://github.com/wekan/charts/pull/35).
Thanks to geilername.
- [PWA, move to standalone (standard) to display the status bar](https://github.com/wekan/wekan/pull/5484)
Thanks to mfilser.
- [Added info how with Caddy webserver config, PWA and Android app override icons, showing toolbars, etc](https://github.com/wekan/wekan/commit/55fc342f6d90d8e30b70a8903ecead1c4370bd89).
Thanks to xet7.
and fixes the following bugs:
- [Don't set background image in .board-canvas too](https://github.com/wekan/wekan/pull/5485).
Thanks to mfilser.
- [Bugfix, variable "color" didn't exist](https://github.com/wekan/wekan/pull/5486).
Thanks to mfilser.
- [Little opacity to minicards to see the background image a little bit](https://github.com/wekan/wekan/pull/5487).
Thanks to mfilser.
- [Remove attachment storage name from attachment list](https://github.com/wekan/wekan/pull/5488).
Thanks to mfilser.
- [Attachment popup back was broken since new attachment viewer, now fixed](https://github.com/wekan/wekan/pull/5489).
Thanks to mfilser.
- [Change Meteor.user() to ReactiveCache.getCurrentUser()](https://github.com/wekan/wekan/pull/5490).
Thanks to mfilser.
- [Fix empty parentId in cards](https://github.com/wekan/wekan/pull/5491).
Thanks to mfilser.
- [Sidebar xmark icon, add padding and background color](https://github.com/wekan/wekan/pull/5492).
Thanks to mfilser.
- [Board view, first column a bit smaller to save screen space](https://github.com/wekan/wekan/pull/5493).
Thanks to mfilser.
- [Minicard, show creator, defaultValue of schema and other code is now the same](https://github.com/wekan/wekan/pull/5494).
Thanks to mfilser.
- [Editor, Bugfix, copy text is now at each editor (textarea) again](https://github.com/wekan/wekan/pull/5495).
Thanks to mfilser.
- [Bugfix, Cards Count on mobile view was missing](https://github.com/wekan/wekan/pull/5496).
Thanks to mfilser.
- [ListHeader, simpler code logic at collapsed if conditions](https://github.com/wekan/wekan/pull/5497).
Thanks to mfilser.
- [Bugfix, edit description didn't work if it was clicked](https://github.com/wekan/wekan/pull/5498).
Thanks to mfilser.
- [Fix LDAP login fails after upgrade](https://github.com/wekan/wekan/commit/a4169f3da773e4fd961acd0266260085a753cdab).
Thanks to juppees and xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# 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:
+1 -1
View File
@@ -1,5 +1,5 @@
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
appVersion: "v7.52.0"
appVersion: "v7.55.0"
files:
userUploads:
- README.md
+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();
},
+14 -18
View File
@@ -718,7 +718,12 @@
.board-color-dark#header-quick-access ul li.current {
border-bottom: 4px solid #476483;
}
.board-color-dark .ui-sortable,
/* Board Wrapper background fix for dark theme */
.board-color-dark.board-wrapper {
background-color: #2c3e50;
}
.board-color-dark .swimlane,
.board-color-dark .swimlane >.swimlane-header-wrap,
.board-color-dark .swimlane >.list.js-list,
@@ -887,7 +892,7 @@
.board-color-relax#header-quick-access ul li.current {
border-bottom: 4px solid #3dd37e;
}
.board-color-relax .ui-sortable {
.board-color-relax ..board-wrapper {
background-color: #a7e366;
}
.board-color-relax .list-header {
@@ -1054,7 +1059,7 @@
.board-color-clearblue .toggle-switch:checked ~ .toggle-label:after {
background-color: #197ddc;
}
.board-color-clearblue .board-canvas {
.board-color-clearblue.board-wrapper {
background: linear-gradient(135deg, #499bea 0%, #00aecc 100%);
}
.board-color-clearblue .swimlane {
@@ -1302,7 +1307,7 @@
.board-color-natural#header-quick-access {
background-color: #2d392b;
}
.board-color-natural .ui-sortable {
.board-color-natural.board-wrapper {
background-color: #dedede;
}
.board-color-natural .swimlane .swimlane-header-wrap {
@@ -1433,7 +1438,7 @@
height: 21px;
background: #f7f7f7;
}
.board-color-modern .board-canvas {
.board-color-modern.board-wrapper {
background: #f5f5f5;
}
.board-color-modern .swimlane {
@@ -1731,7 +1736,7 @@
line-height: 0.8em;
padding-top: 10px;
}
.board-color-moderndark .board-canvas {
.board-color-moderndark.board-wrapper {
background: #2a2a2a;
}
.board-color-moderndark .swimlane .swimlane-header-wrap {
@@ -2110,7 +2115,7 @@
color: #fff !important;
}
*/
.board-color-exodark .board-canvas {
.board-color-exodark.board-wrapper {
background: #222;
/* font-family: Poppins; */
}
@@ -2252,10 +2257,6 @@
color: #fff;
}
.board-color-cleandark {
background: #0A0A14
}
.board-color-cleandark#header ul li,
.board-color-cleandark#header-quick-access ul li {
color: rgba(255, 255, 255, 50%);
@@ -2286,7 +2287,7 @@
color: rgba(255, 255, 255, 1);
}
.board-color-cleandark .board-canvas {
.board-color-cleandark.board-wrapper {
background: #0A0A14;
}
@@ -2721,11 +2722,6 @@
color: rgba(10, 10, 20, 1) !important;
}
.board-color-cleanlight {
background: #FFFFFF !important;
color: #000000;
}
.board-color-cleanlight#header ul li.current,
.board-color-cleanlight#header-quick-access ul li.current {
color: rgba(10, 10, 20, 0.85) !important;
@@ -2739,7 +2735,7 @@
color: rgba(10, 10, 20, 1);
}
.board-color-cleanlight .board-canvas {
.board-color-cleanlight.board-wrapper {
background: #FFFFFF;
}
-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) {
+7 -10
View File
@@ -151,8 +151,8 @@ BlazeComponent.extendComponent({
}
const currUser = ReactiveCache.getCurrentUser();
let orgIdsUserBelongs = currUser !== undefined && currUser.teams !== 'undefined' ? currUser.orgIdsUserBelongs() : '';
if (orgIdsUserBelongs && orgIdsUserBelongs != '') {
let orgIdsUserBelongs = currUser?.orgIdsUserBelongs() || '';
if (orgIdsUserBelongs) {
let orgsIds = orgIdsUserBelongs.split(',');
// for(let i = 0; i < orgsIds.length; i++){
// query.$and[2].$or.push({'orgs.orgId': orgsIds[i]});
@@ -162,8 +162,8 @@ BlazeComponent.extendComponent({
query.$and[2].$or.push({ 'orgs.orgId': { $in: orgsIds } });
}
let teamIdsUserBelongs = currUser !== undefined && currUser.teams !== 'undefined' ? currUser.teamIdsUserBelongs() : '';
if (teamIdsUserBelongs && teamIdsUserBelongs != '') {
let teamIdsUserBelongs = currUser?.teamIdsUserBelongs() || '';
if (teamIdsUserBelongs) {
let teamsIds = teamIdsUserBelongs.split(',');
// for(let i = 0; i < teamsIds.length; i++){
// query.$or[2].$or.push({'teams.teamId': teamsIds[i]});
@@ -199,15 +199,12 @@ BlazeComponent.extendComponent({
},
boardMembers(boardId) {
let boardMembers = [];
/* Bug Board icons random dance https://github.com/wekan/wekan/issues/4214
const lists = ReactiveCache.getBoard(boardId)
let members = lists.members
members.forEach(member => {
boardMembers.push(member.userId);
});
*/
const boardMembers = lists?.members.map(member => member.userId);
return boardMembers;
*/
return [];
},
isStarred() {
-2
View File
@@ -117,8 +117,6 @@ template(name="attachmentActionsPopup")
| {{_ 'remove-background-image'}}
else
| {{_ 'add-background-image'}}
p.attachment-storage
| {{versions.original.storage}}
if $neq versions.original.storage "fs"
a.js-move-storage-fs
+2 -2
View File
@@ -39,7 +39,7 @@ Template.attachmentGallery.events({
'click .js-rename': Popup.open('attachmentRename'),
'click .js-confirm-delete': Popup.afterConfirm('attachmentDelete', function() {
Attachments.remove(this._id);
Popup.back(2);
Popup.back();
}),
});
@@ -501,7 +501,7 @@ BlazeComponent.extendComponent({
if (name === DOMPurify.sanitize(name)) {
Meteor.call('renameAttachment', this.data()._id, name);
}
Popup.back(2);
Popup.back();
},
}
]
+5 -4
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
@@ -527,9 +527,10 @@ template(name="cardDetails")
if currentBoard.allowsDescriptionText
a.js-open-inlined-form(title="{{_ 'edit'}}" value=title)
i.fa.fa-pencil-square-o
if getDescription
+viewer
= getDescription
a.js-open-inlined-form(title="{{_ 'edit'}}" value=title)
if getDescription
+viewer
= getDescription
if (hasUnsavedValue 'cardDescription' _id)
p.quiet
| {{_ 'unsaved-description'}}
+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 -5
View File
@@ -42,11 +42,7 @@ BlazeComponent.extendComponent({
const board = this.data().board();
let ret = false;
if (board) {
ret =
board.allowsCreatorOnMinicard === null ||
board.allowsCreatorOnMinicard === undefined ||
board.allowsCreatorOnMinicard
;
ret = board.allowsCreatorOnMinicard ?? false;
}
return ret;
},
+4 -10
View File
@@ -7,17 +7,11 @@
border-left: 1px solid #ccc;
padding: 0;
float: left;
/* min-width: 100px; TODO(mark-i-m): hardcoded? */
/*max-width: 270px;*/
/* Reverted incomplete change list width: */
/* https://github.com/wekan/wekan/issues/4558 */
/* Orinal width: 270px. Changes not saved yet: */
/*resize: both; - List width and height resizeable */
/* overflow: auto; - List width and height resizeable */
}
[id^="swimlane-"] .list:first-child {
min-width: 20px;
}
.list:first-child {
min-width: 20px;
margin-left: 5px;
border-left: none;
}
.card-details + .list {
@@ -48,7 +42,7 @@
}
.list-header-add {
flex: 0 0 auto;
padding: 20px 12px 4px;
padding: 12px;
position: relative;
min-height: 20px;
}
+1 -1
View File
@@ -196,7 +196,7 @@ BlazeComponent.extendComponent({
},
listWidth() {
const user = Meteor.user();
const user = ReactiveCache.getCurrentUser();
const list = Template.currentData();
return user.getListWidth(list.boardId, list._id);
},
+8 -8
View File
@@ -1,20 +1,18 @@
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
+editListTitleForm
else
unless isMiniScreen
if isMiniScreen
if currentList
a.list-header-left-icon.fa.fa-angle-left.js-unselect-list
else
if collapsed
a.js-collapse(title="{{_ 'uncollapse'}}")
i.fa.fa-arrow-left.list-header-uncollapse-left
i.fa.fa-arrow-right.list-header-uncollapse-right
if isMiniScreen
if currentList
a.list-header-left-icon.fa.fa-angle-left.js-unselect-list
unless isMiniScreen
if collapsed
if showCardsCountForList cards.length
br
span.cardCount {{cardsCount}}
@@ -28,7 +26,9 @@ template(name="listHeader")
|&nbsp;(
span(class="{{#if exceededWipLimit}}highlight{{/if}}") {{cards.length}}
|/#{wipLimit.value})
unless isMiniScreen
if showCardsCountForList cards.length
span.cardCount {{cardsCount}} {{cardsCountForListIsOne cards.length}}
else
div(class="{{#if collapsed}}list-rotated{{/if}}")
h2.list-header-name(
title="{{ moment modifiedAt 'LLL' }}"
+1 -1
View File
@@ -362,7 +362,7 @@ BlazeComponent.extendComponent({
listWidthValue() {
const list = Template.currentData();
const board = list.boardId;
return Meteor.user().getListWidth(board, list._id);
return ReactiveCache.getCurrentUser().getListWidth(board, list._id);
},
events() {
+4 -4
View File
@@ -2,15 +2,15 @@
.inlined-form a.fa.fa-brands.fa-markdown {
float: right;
position: absolute;
top: -20px;
top: -10px;
right: 60px;
}
.new-comment a.fa.fa-copy,
.inlined-form a.fa.fa-copy {
float: right;
position: absolute;
top: -20px;
right: 6px;
position: relative;
top: -10px;
right: 5px;
}
.js-inlined-form.viewer.btn-sm {
position: absolute;
+6 -2
View File
@@ -16,9 +16,13 @@
}
.sidebar-xmark {
position: absolute;
right: 10px;
top: 5px;
right: 0px;
top: 0px;
font-size: 25px;
padding: 10px;
}
.sidebar-xmark:hover {
background: rgba(0,0,0,0.15);
}
.sidebar .sidebar-content {
padding: 12px;
+2 -10
View File
@@ -913,19 +913,11 @@ BlazeComponent.extendComponent({
},
allowsCreator() {
return (
this.currentBoard.allowsCreator === null ||
this.currentBoard.allowsCreator === undefined ||
this.currentBoard.allowsCreator
);
return this.currentBoard.allowsCreator ?? false;
},
allowsCreatorOnMinicard() {
return (
this.currentBoard.allowsCreatorOnMinicard === null ||
this.currentBoard.allowsCreatorOnMinicard === undefined ||
this.currentBoard.allowsCreatorOnMinicard
);
return this.currentBoard.allowsCreatorOnMinicard ?? false;
},
allowsMembers() {
@@ -224,7 +224,7 @@ BlazeComponent.extendComponent({
swimlaneHeightValue() {
const swimlane = this.currentData();
const board = swimlane.boardId;
return Meteor.user().getSwimlaneHeight(board, swimlane._id);
return ReactiveCache.getCurrentUser().getSwimlaneHeight(board, swimlane._id);
},
events() {
+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}}"
+2 -2
View File
@@ -225,7 +225,7 @@ BlazeComponent.extendComponent({
},
swimlaneHeight() {
const user = Meteor.user();
const user = ReactiveCache.getCurrentUser();
const swimlane = Template.currentData();
const height = user.getSwimlaneHeight(swimlane.boardId, swimlane._id);
return height == -1 ? "auto" : (height + "px");
@@ -288,7 +288,7 @@ BlazeComponent.extendComponent({
Template.swimlane.helpers({
canSeeAddList() {
return Meteor.user().isBoardAdmin();
return ReactiveCache.getCurrentUser().isBoardAdmin();
},
});
+3 -3
View File
@@ -325,7 +325,7 @@ Template.changeSettingsPopup.helpers({
});
},
startDayOfWeek() {
currentUser = Meteor.user();
currentUser = ReactiveCache.getCurrentUser();
if (currentUser) {
return currentUser.getStartDayOfWeek();
} else {
@@ -343,7 +343,7 @@ Template.changeSettingsPopup.events({
return ret;
},
'click .js-toggle-desktop-drag-handles'() {
currentUser = Meteor.user();
const currentUser = ReactiveCache.getCurrentUser();
if (currentUser) {
Meteor.call('toggleDesktopDragHandles');
} else if (window.localStorage.getItem('showDesktopDragHandles')) {
@@ -375,7 +375,7 @@ Template.changeSettingsPopup.events({
templateInstance.$('#start-day-of-week').val(),
10,
);
const currentUser = Meteor.user();
const currentUser = ReactiveCache.getCurrentUser();
if (isNaN(minLimit) || minLimit < -1) {
minLimit = -1;
}
+4 -3
View File
@@ -4,10 +4,11 @@ Utils = {
setBackgroundImage(url) {
const currentBoard = Utils.getCurrentBoard();
if (currentBoard.backgroundImageURL !== undefined) {
$(".board-wrapper,.board-wrapper .board-canvas").css({"background":"url(" + currentBoard.backgroundImageURL + ")","background-size":"cover"});
$(".board-wrapper").css({"background":"url(" + currentBoard.backgroundImageURL + ")","background-size":"cover"});
$(".swimlane,.swimlane .list,.swimlane .list .list-body,.swimlane .list:first-child .list-body").css({"background-color":"transparent"});
} else if (currentBoard.color !== undefined) {
currentBoard.setColor(currentBoard.color);
$(".minicard").css({"opacity": "0.9"});
} else if (currentBoard["background-color"]) {
currentBoard.setColor(currentBoard["background-color"]);
}
},
/** returns the current board 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)
+4 -4
View File
@@ -8,19 +8,19 @@ 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.55-amd64-windows.zip](https://github.com/wekan/wekan/releases/download/v7.55/wekan-7.55-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)
5. Copy files from steps 1-4 with USB stick or DVD to offline Windows computer
6. Double click `mongodb-windows-x86_64-6.0.15-signed.msi` . In installer, uncheck downloading MongoDB compass.
6. Double click `mongodb-windows-x86_64-6.0.16-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.55-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/
+440
View File
@@ -76,6 +76,446 @@ Caddy commands list:
caddy help
```
***
### PWA site.webmanifest icons override Caddy example
PWABuilder settings to create Android app at https://pwabuilder.com
- Web view (not Custom Tabs)
- Fullscreen (When not showing top and bottom toolbars. If you like to show those toolbars, change fullscreen to standalone)
- Notifications [X] Enable
- Signing key [X] Use mine
PWABuilder upgrades:
- Android app upgrade to Android SDK 34 was made with help of this video https://github.com/pwa-builder/PWABuilder/issues/4766#issuecomment-2229867608
Icons override at site.webmanifest:
- These settings at Caddyfile override icon URLs etc
If you like to show toolbars at top and bottom, change also here `fullscreen` to `standalone`
```
boards.wekan.team {
tls {
alpn http/1.1
}
header /.well-known/* Content-Type application/json
header /.well-known/* Access-Control-Allow-Origin *
respond /.well-known/assetlinks.json `[ {
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "team.wekan.boards.twa",
"sha256_cert_fingerprints": ["AA:AA:ED:7D:4C:9C:5A:A3:B5:DA:10:66:14:34:07:5D:EB:BE:96:CD:82:7B:09:46:47:13:65:29:5B:EA:96:30","61:41:86:5B:05:13:9B:64:5F:39:75:5A:16:C3:F2:22:25:6C:DA:74:B9:B0:8C:5F:93:B0:D2:26:65:16:1B:E6"]
}
} ]`
header /site.webmanifest/* Content-Type application/json
header /site.webmanifest/* Access-Control-Allow-Origin *
respond /site.webmanifest ` {
"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",
"type": "image/png"
} , {
"src": "android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png"
} , {
"src": "Square150x150Logo.scale-100.png",
"sizes": "150x150",
"type": "image/png"
} , {
"src": "Square44x44Logo.scale-100.png",
"sizes": "44x44",
"type": "image/png"
} , {
"src": "StoreLogo.scale-100.png",
"sizes": "50x50",
"type": "image/png"
} , {
"src": "maskable_icon.png",
"sizes": "474x474",
"type": "image/png",
"purpose": "maskable"
} , {
"src": "monochrome-icon-512x512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "monochrome"
} , {
"src": "windows11/SmallTile.scale-100.png",
"sizes": "71x71"
} , {
"src": "windows11/SmallTile.scale-125.png",
"sizes": "89x89"
} , {
"src": "windows11/SmallTile.scale-150.png",
"sizes": "107x107"
} , {
"src": "windows11/SmallTile.scale-200.png",
"sizes": "142x142"
} , {
"src": "windows11/SmallTile.scale-400.png",
"sizes": "284x284"
} , {
"src": "windows11/Square150x150Logo.scale-100.png",
"sizes": "150x150"
} , {
"src": "windows11/Square150x150Logo.scale-125.png",
"sizes": "188x188"
} , {
"src": "windows11/Square150x150Logo.scale-150.png",
"sizes": "225x225"
} , {
"src": "windows11/Square150x150Logo.scale-200.png",
"sizes": "300x300"
} , {
"src": "windows11/Square150x150Logo.scale-400.png",
"sizes": "600x600"
} , {
"src": "windows11/Wide310x150Logo.scale-100.png",
"sizes": "310x150"
} , {
"src": "windows11/Wide310x150Logo.scale-125.png",
"sizes": "388x188"
} , {
"src": "windows11/Wide310x150Logo.scale-150.png",
"sizes": "465x225"
} , {
"src": "windows11/Wide310x150Logo.scale-200.png",
"sizes": "620x300"
} , {
"src": "windows11/Wide310x150Logo.scale-400.png",
"sizes": "1240x600"
} , {
"src": "windows11/LargeTile.scale-100.png",
"sizes": "310x310"
} , {
"src": "windows11/LargeTile.scale-125.png",
"sizes": "388x388"
} , {
"src": "windows11/LargeTile.scale-150.png",
"sizes": "465x465"
} , {
"src": "windows11/LargeTile.scale-200.png",
"sizes": "620x620"
} , {
"src": "windows11/LargeTile.scale-400.png",
"sizes": "1240x1240"
} , {
"src": "windows11/Square44x44Logo.scale-100.png",
"sizes": "44x44"
} , {
"src": "windows11/Square44x44Logo.scale-125.png",
"sizes": "55x55"
} , {
"src": "windows11/Square44x44Logo.scale-150.png",
"sizes": "66x66"
} , {
"src": "windows11/Square44x44Logo.scale-200.png",
"sizes": "88x88"
} , {
"src": "windows11/Square44x44Logo.scale-400.png",
"sizes": "176x176"
} , {
"src": "windows11/StoreLogo.scale-100.png",
"sizes": "50x50"
} , {
"src": "windows11/StoreLogo.scale-125.png",
"sizes": "63x63"
} , {
"src": "windows11/StoreLogo.scale-150.png",
"sizes": "75x75"
} , {
"src": "windows11/StoreLogo.scale-200.png",
"sizes": "100x100"
} , {
"src": "windows11/StoreLogo.scale-400.png",
"sizes": "200x200"
} , {
"src": "windows11/SplashScreen.scale-100.png",
"sizes": "620x300"
} , {
"src": "windows11/SplashScreen.scale-125.png",
"sizes": "775x375"
} , {
"src": "windows11/SplashScreen.scale-150.png",
"sizes": "930x450"
} , {
"src": "windows11/SplashScreen.scale-200.png",
"sizes": "1240x600"
} , {
"src": "windows11/SplashScreen.scale-400.png",
"sizes": "2480x1200"
} , {
"src": "windows11/Square44x44Logo.targetsize-16.png",
"sizes": "16x16"
} , {
"src": "windows11/Square44x44Logo.targetsize-20.png",
"sizes": "20x20"
} , {
"src": "windows11/Square44x44Logo.targetsize-24.png",
"sizes": "24x24"
} , {
"src": "windows11/Square44x44Logo.targetsize-30.png",
"sizes": "30x30"
} , {
"src": "windows11/Square44x44Logo.targetsize-32.png",
"sizes": "32x32"
} , {
"src": "windows11/Square44x44Logo.targetsize-36.png",
"sizes": "36x36"
} , {
"src": "windows11/Square44x44Logo.targetsize-40.png",
"sizes": "40x40"
} , {
"src": "windows11/Square44x44Logo.targetsize-44.png",
"sizes": "44x44"
} , {
"src": "windows11/Square44x44Logo.targetsize-48.png",
"sizes": "48x48"
} , {
"src": "windows11/Square44x44Logo.targetsize-60.png",
"sizes": "60x60"
} , {
"src": "windows11/Square44x44Logo.targetsize-64.png",
"sizes": "64x64"
} , {
"src": "windows11/Square44x44Logo.targetsize-72.png",
"sizes": "72x72"
} , {
"src": "windows11/Square44x44Logo.targetsize-80.png",
"sizes": "80x80"
} , {
"src": "windows11/Square44x44Logo.targetsize-96.png",
"sizes": "96x96"
} , {
"src": "windows11/Square44x44Logo.targetsize-256.png",
"sizes": "256x256"
} , {
"src": "windows11/Square44x44Logo.altform-unplated_targetsize-16.png",
"sizes": "16x16"
} , {
"src": "windows11/Square44x44Logo.altform-unplated_targetsize-20.png",
"sizes": "20x20"
} , {
"src": "windows11/Square44x44Logo.altform-unplated_targetsize-24.png",
"sizes": "24x24"
} , {
"src": "windows11/Square44x44Logo.altform-unplated_targetsize-30.png",
"sizes": "30x30"
} , {
"src": "windows11/Square44x44Logo.altform-unplated_targetsize-32.png",
"sizes": "32x32"
} , {
"src": "windows11/Square44x44Logo.altform-unplated_targetsize-36.png",
"sizes": "36x36"
} , {
"src": "windows11/Square44x44Logo.altform-unplated_targetsize-40.png",
"sizes": "40x40"
} , {
"src": "windows11/Square44x44Logo.altform-unplated_targetsize-44.png",
"sizes": "44x44"
} , {
"src": "windows11/Square44x44Logo.altform-unplated_targetsize-48.png",
"sizes": "48x48"
} , {
"src": "windows11/Square44x44Logo.altform-unplated_targetsize-60.png",
"sizes": "60x60"
} , {
"src": "windows11/Square44x44Logo.altform-unplated_targetsize-64.png",
"sizes": "64x64"
} , {
"src": "windows11/Square44x44Logo.altform-unplated_targetsize-72.png",
"sizes": "72x72"
} , {
"src": "windows11/Square44x44Logo.altform-unplated_targetsize-80.png",
"sizes": "80x80"
} , {
"src": "windows11/Square44x44Logo.altform-unplated_targetsize-96.png",
"sizes": "96x96"
} , {
"src": "windows11/Square44x44Logo.altform-unplated_targetsize-256.png",
"sizes": "256x256"
} , {
"src": "windows11/Square44x44Logo.altform-lightunplated_targetsize-16.png",
"sizes": "16x16"
} , {
"src": "windows11/Square44x44Logo.altform-lightunplated_targetsize-20.png",
"sizes": "20x20"
} , {
"src": "windows11/Square44x44Logo.altform-lightunplated_targetsize-24.png",
"sizes": "24x24"
} , {
"src": "windows11/Square44x44Logo.altform-lightunplated_targetsize-30.png",
"sizes": "30x30"
} , {
"src": "windows11/Square44x44Logo.altform-lightunplated_targetsize-32.png",
"sizes": "32x32"
} , {
"src": "windows11/Square44x44Logo.altform-lightunplated_targetsize-36.png",
"sizes": "36x36"
} , {
"src": "windows11/Square44x44Logo.altform-lightunplated_targetsize-40.png",
"sizes": "40x40"
} , {
"src": "windows11/Square44x44Logo.altform-lightunplated_targetsize-44.png",
"sizes": "44x44"
} , {
"src": "windows11/Square44x44Logo.altform-lightunplated_targetsize-48.png",
"sizes": "48x48"
} , {
"src": "windows11/Square44x44Logo.altform-lightunplated_targetsize-60.png",
"sizes": "60x60"
} , {
"src": "windows11/Square44x44Logo.altform-lightunplated_targetsize-64.png",
"sizes": "64x64"
} , {
"src": "windows11/Square44x44Logo.altform-lightunplated_targetsize-72.png",
"sizes": "72x72"
} , {
"src": "windows11/Square44x44Logo.altform-lightunplated_targetsize-80.png",
"sizes": "80x80"
} , {
"src": "windows11/Square44x44Logo.altform-lightunplated_targetsize-96.png",
"sizes": "96x96"
} , {
"src": "windows11/Square44x44Logo.altform-lightunplated_targetsize-256.png",
"sizes": "256x256"
} , {
"src": "android/android-launchericon-512-512.png",
"sizes": "512x512"
} , {
"src": "android/android-launchericon-192-192.png",
"sizes": "192x192"
} , {
"src": "android/android-launchericon-144-144.png",
"sizes": "144x144"
} , {
"src": "android/android-launchericon-96-96.png",
"sizes": "96x96"
} , {
"src": "android/android-launchericon-72-72.png",
"sizes": "72x72"
} , {
"src": "android/android-launchericon-48-48.png",
"sizes": "48x48"
} , {
"src": "ios/16.png",
"sizes": "16x16"
} , {
"src": "ios/20.png",
"sizes": "20x20"
} , {
"src": "ios/29.png",
"sizes": "29x29"
} , {
"src": "ios/32.png",
"sizes": "32x32"
} , {
"src": "ios/40.png",
"sizes": "40x40"
} , {
"src": "ios/50.png",
"sizes": "50x50"
} , {
"src": "ios/57.png",
"sizes": "57x57"
} , {
"src": "ios/58.png",
"sizes": "58x58"
} , {
"src": "ios/60.png",
"sizes": "60x60"
} , {
"src": "ios/64.png",
"sizes": "64x64"
} , {
"src": "ios/72.png",
"sizes": "72x72"
} , {
"src": "ios/76.png",
"sizes": "76x76"
} , {
"src": "ios/80.png",
"sizes": "80x80"
} , {
"src": "ios/87.png",
"sizes": "87x87"
} , {
"src": "ios/100.png",
"sizes": "100x100"
} , {
"src": "ios/114.png",
"sizes": "114x114"
} , {
"src": "ios/120.png",
"sizes": "120x120"
} , {
"src": "ios/128.png",
"sizes": "128x128"
} , {
"src": "ios/144.png",
"sizes": "144x144"
} , {
"src": "ios/152.png",
"sizes": "152x152"
} , {
"src": "ios/167.png",
"sizes": "167x167"
} , {
"src": "ios/180.png",
"sizes": "180x180"
} , {
"src": "ios/192.png",
"sizes": "192x192"
} , {
"src": "ios/256.png",
"sizes": "256x256"
} , {
"src": "ios/512.png",
"sizes": "512x512"
} , {
"src": "ios/1024.png",
"sizes": "1024x1024"
}
],
"screenshots": [ {
"src": "screenshot1.webp",
"sizes": "1280x720",
"type": "image/webp"
} , {
"src": "screenshot2.webp",
"sizes": "1280x720",
"type": "image/webp"
}
],
"theme_color": "#000000",
"background_color": "#000000",
"start_url": "sign-in",
"display": "fullscreen",
"orientation": "any",
"categories": [
"productivity"
],
"iarc_rating_id": "70d7c4a4-3e5a-4714-a7dc-fa006613ba96",
"description": "Open Source kanban with MIT license",
"dir": "auto",
"scope": "https://boards.wekan.team",
"prefer_related_applications": false,
"display_override": [
"fullscreen"
]
} `
reverse_proxy 127.0.0.1:3025
}
```
***
-3
View File
@@ -128,9 +128,6 @@ ReactiveCacheServer = {
return ret;
},
getUsers(selector = {}, options = {}, getQuery = false) {
// getUsers(selector, options, getQuery) {
// let ret = Users.find(undefined, {});
// console.log("getUser count: ", ret.count())
let ret = Users.find(selector, options);
if (getQuery !== true) {
ret = ret.fetch();
+14 -20
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': {
/**
@@ -993,15 +982,16 @@ Cards.helpers({
},
parentCard() {
if (this.parentId === '') {
return null;
let ret = null;
if (this.parentId) {
ret = ReactiveCache.getCard(this.parentId);
}
return ReactiveCache.getCard(this.parentId);
return ret;
},
parentCardName() {
let result = '';
if (this.parentId !== '') {
if (this.parentId) {
const card = ReactiveCache.getCard(this.parentId);
if (card) {
result = card.title;
@@ -1013,7 +1003,7 @@ Cards.helpers({
parentListId() {
const result = [];
let crtParentId = this.parentId;
while (crtParentId !== '') {
while (crtParentId) {
const crt = ReactiveCache.getCard(crtParentId);
if (crt === null || crt === undefined) {
// maybe it has been deleted
@@ -1033,7 +1023,7 @@ Cards.helpers({
const resultId = [];
const result = [];
let crtParentId = this.parentId;
while (crtParentId !== '') {
while (crtParentId) {
const crt = ReactiveCache.getCard(crtParentId);
if (crt === null || crt === undefined) {
// maybe it has been deleted
@@ -1059,7 +1049,11 @@ Cards.helpers({
},
isTopLevel() {
return this.parentId === '';
let ret = false;
if (this.parentId) {
ret = true;
}
return ret;
},
isLinkedCard() {
+8 -14
View File
@@ -687,14 +687,11 @@ Users.helpers({
return '';
},
orgIdsUserBelongs() {
let ret = '';
if (this.orgs) {
return this.orgs
.map(function (org) {
return org.orgId;
})
.join(',');
ret = this.orgs.map(org => org.orgId).join(',');
}
return '';
return ret;
},
teamsUserBelongs() {
if (this.teams) {
@@ -708,14 +705,11 @@ Users.helpers({
return '';
},
teamIdsUserBelongs() {
let ret = '';
if (this.teams) {
return this.teams
.map(function (team) {
return team.teamId;
})
.join(',');
ret = this.teams.map(team => team.teamId).join(',');
}
return '';
return ret;
},
boards() {
return Boards.userBoards(this._id, null, {}, { sort: { sort: 1 } });
@@ -1254,14 +1248,14 @@ Meteor.methods({
check(boardId, String);
check(listId, String);
check(width, Number);
const user = Meteor.user();
const user = ReactiveCache.getCurrentUser();
user.setListWidth(boardId, listId, width);
},
applySwimlaneHeight(boardId, swimlaneId, height) {
check(boardId, String);
check(swimlaneId, String);
check(height, Number);
const user = Meteor.user();
const user = ReactiveCache.getCurrentUser();
user.setSwimlaneHeight(boardId, swimlaneId, height);
},
});
+47 -112
View File
@@ -1,13 +1,13 @@
{
"name": "wekan",
"version": "v7.52.0",
"version": "v7.55.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,85 +39,6 @@
"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",
@@ -187,6 +108,10 @@
"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",
@@ -347,6 +272,14 @@
"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",
@@ -667,9 +600,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",
@@ -1244,25 +1177,27 @@
}
}
},
"ldapjs": {
"version": "3.0.7",
"resolved": "https://registry.npmjs.org/ldapjs/-/ldapjs-3.0.7.tgz",
"integrity": "sha512-1ky+WrN+4CFMuoekUOv7Y1037XWdjKpu0xAPwSP+9KdvmV9PG+qOKlssDV6a+U32apwxdD3is/BZcWOYzN30cg==",
"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": {
"@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"
}
},
"ldapjs": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/ldapjs/-/ldapjs-2.3.3.tgz",
"integrity": "sha512-75QiiLJV/PQqtpH+HGls44dXweviFwQ6SiIK27EqzKQ5jU/7UFrl2E5nLdQ3IYRBzJ/AVFJI66u0MZ0uofKYwg==",
"requires": {
"abstract-logging": "^2.0.0",
"asn1": "^0.2.4",
"assert-plus": "^1.0.0",
"backoff": "^2.5.0",
"ldap-filter": "^0.3.3",
"once": "^1.4.0",
"vasync": "^2.2.1",
"verror": "^1.10.1"
"vasync": "^2.2.0",
"verror": "^1.8.1"
}
},
"lie": {
@@ -2438,9 +2373,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",
@@ -2534,20 +2469,15 @@
"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"
}
@@ -2625,6 +2555,11 @@
"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",
+6 -5
View File
@@ -1,6 +1,6 @@
{
"name": "wekan",
"version": "v7.52.0",
"version": "v7.55.0",
"description": "Open-Source kanban",
"private": true,
"repository": {
@@ -17,9 +17,10 @@
"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",
@@ -27,7 +28,7 @@
"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",
"fibers": "^5.0.3",
@@ -38,7 +39,7 @@
"jquery": "^3.7.1",
"jquery-ui": "^1.13.3",
"jszip": "^3.7.1",
"ldapjs": "^3.0.7",
"ldapjs": "^2.3.3",
"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.52</title>
<title>Wekan REST API v7.55</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.52">Wekan REST API v7.52</a>
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v7.55">Wekan REST API v7.55</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.52</h1>
<h1 id="wekan-rest-api">Wekan REST API v7.55</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.52
version: v7.55
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:
+2 -2
View File
@@ -508,7 +508,7 @@
"theme_color": "#000000",
"background_color": "#000000",
"start_url": "sign-in",
"display": "fullscreen",
"display": "standalone",
"orientation": "any",
"categories": [
"productivity"
@@ -519,6 +519,6 @@
"scope": "https://boards.wekan.team",
"prefer_related_applications": false,
"display_override": [
"fullscreen"
"standalone"
]
}
+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 = 752,
appVersion = 755,
# Increment this for every release.
appMarketingVersion = (defaultText = "7.52.0~2024-08-03"),
appMarketingVersion = (defaultText = "7.55.0~2024-08-08"),
# 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.52'
version: '7.55'
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.52/wekan-7.52-amd64.zip
unzip wekan-7.52-amd64.zip
rm wekan-7.52-amd64.zip
wget https://github.com/wekan/wekan/releases/download/v7.55/wekan-7.55-amd64.zip
unzip wekan-7.55-amd64.zip
rm wekan-7.55-amd64.zip
cd ..
##cd .build/bundle
##find . -type d -name '*-garbage*' | xargs rm -rf