diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index c2e17e602..031fe5da3 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -195,6 +195,10 @@ COPY \ settings.json \ /home/wekan/app/ +COPY \ + tests \ + /home/wekan/app/tests/ + COPY \ packages \ /home/wekan/app/packages/ @@ -226,6 +230,19 @@ RUN \ chmod u+w package.json npm-shrinkwrap.json && \ npm install +USER root +# Cleanup +RUN \ + set -o xtrace && \ + apt-get clean -y && \ + apt-get autoremove -y && \ + rm -Rf /tmp* && \ + rm -Rf /home/wekan/app_build && \ + rm -Rf /var/cache/apt /var/lib/apt/lists && \ + rm -Rf /var/lib/apt/lists/* + +USER wekan + ENV PORT=3000 EXPOSE $PORT WORKDIR /home/wekan/app diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml index d1e91b858..af38558c0 100644 --- a/.devcontainer/docker-compose.yml +++ b/.devcontainer/docker-compose.yml @@ -12,9 +12,10 @@ services: expose: - 27017 volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro - ./volumes/wekan-db:/data/db - ./volumes/wekan-db-dump:/dump - - /etc/localtime:/etc/localtime:ro wekan-dev: container_name: wekan-dev-app @@ -36,13 +37,14 @@ services: depends_on: - wekandb-dev volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro - ../client:/home/wekan/app/client - ../models:/home/wekan/app/models - ../config:/home/wekan/app/config - ../i18n:/home/wekan/app/i18n - ../server:/home/wekan/app/server - ../public:/home/wekan/app/public - - /etc/localtime:/etc/localtime:ro volumes: wekan-dev-db: diff --git a/client/components/boards/boardBody.js b/client/components/boards/boardBody.js index b0a9e2050..0195bb545 100644 --- a/client/components/boards/boardBody.js +++ b/client/components/boards/boardBody.js @@ -216,7 +216,7 @@ BlazeComponent.extendComponent({ $swimlanesDom.sortable( 'option', 'disabled', - !Meteor.user().isBoardAdmin(), + !Meteor.user() || !Meteor.user().isBoardAdmin(), ); }); diff --git a/client/components/lists/listBody.js b/client/components/lists/listBody.js index f29ba74ca..fcd28b644 100644 --- a/client/components/lists/listBody.js +++ b/client/components/lists/listBody.js @@ -789,17 +789,12 @@ BlazeComponent.extendComponent({ return false; } + const spinnerViewPosition = this.spinner.offsetTop - this.container.offsetTop + this.spinner.clientHeight; + const parentViewHeight = this.container.clientHeight; const bottomViewPosition = this.container.scrollTop + parentViewHeight; - let spinnerOffsetTop = this.spinner.offsetTop; - - const addCard = $(this.container).find("a.open-minicard-composer").first()[0]; - if (addCard !== undefined) { - spinnerOffsetTop -= addCard.clientHeight; - } - - return bottomViewPosition > spinnerOffsetTop; + return bottomViewPosition > spinnerViewPosition; } getSkSpinnerName() { diff --git a/client/components/swimlanes/swimlanes.js b/client/components/swimlanes/swimlanes.js index 6d72fbfef..b6fe744b5 100644 --- a/client/components/swimlanes/swimlanes.js +++ b/client/components/swimlanes/swimlanes.js @@ -123,7 +123,7 @@ function initSortable(boardComponent, $listsDom) { 'disabled', // Disable drag-dropping when user is not member/is worker //!userIsMember() || Meteor.user().isWorker(), - !Meteor.user().isBoardAdmin(), + !Meteor.user() || !Meteor.user().isBoardAdmin(), // Not disable drag-dropping while in multi-selection mode // MultiSelection.isActive() || !userIsMember(), ); diff --git a/docker-compose.yml b/docker-compose.yml index ce0b47677..9d92b5321 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -111,6 +111,8 @@ services: expose: - 27017 volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro - wekan-db:/data/db - wekan-db-dump:/dump @@ -657,6 +659,9 @@ services: #--------------------------------------------------------------------- depends_on: - wekandb + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro #--------------------------------------------------------------------------------- # ==== OPTIONAL: SHARE DATABASE TO OFFICE LAN AND REMOTE VPN ====