diff options
-rw-r--r-- | CHANGELOG.md | 5 | ||||
-rw-r--r-- | Dockerfile | 25 | ||||
-rw-r--r-- | package.json | 2 | ||||
-rw-r--r-- | sandstorm-pkgdef.capnp | 4 | ||||
-rw-r--r-- | server/authentication.js | 7 | ||||
-rw-r--r-- | snapcraft.yaml | 20 |
6 files changed, 56 insertions, 7 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 859ffe4b..d9fa04d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# Upcoming Wekan release +# v0.84 2018-04-16 Wekan release This release adds the following new features: @@ -6,13 +6,14 @@ This release adds the following new features: and fixes the following bugs: +- [Fix Node Fibers 100% CPU issue](https://github.com/wekan/wekan/commit/e26a4824cfb119a15767c4827190a6b9ab65b904); - [Plus button on a Swimlane row, always add an element on the first row](https://github.com/wekan/wekan/issues/1577); - [Fix Checklist REST API](https://github.com/wekan/wekan/commit/9eef5112dc1c1c30590d19fbfd2f615714112a3f); - [Fix Disabling "show cards count" not possible, now zero means disable](https://github.com/wekan/wekan/issues/1570); - [Fix Checklist not copied when copied a card and Copy Checklist Template to Many Cards](https://github.com/wekan/wekan/issues/1565); - [Fix Filter cards hides checklist items](https://github.com/wekan/wekan/issues/1561). -Thanks to GitHub user andresmanelli for contributions. +Thanks to GitHub users andresmanelli, kentonv and xet7 for their contributions. # v0.83 2018-04-12 Wekan release @@ -14,7 +14,7 @@ ARG SRC_PATH # Set the environment variables (defaults where required) # paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303 ENV BUILD_DEPS="apt-utils gnupg gosu wget curl bzip2 build-essential python git ca-certificates gcc-7 paxctl" -ENV NODE_VERSION ${NODE_VERSION:-v8.9.3} +ENV NODE_VERSION ${NODE_VERSION:-v8.11.1} ENV METEOR_RELEASE ${METEOR_RELEASE:-1.6.0.1} ENV USE_EDGE ${USE_EDGE:-false} ENV METEOR_EDGE ${METEOR_EDGE:-1.5-beta.17} @@ -68,6 +68,29 @@ RUN \ tar xvzf node-${NODE_VERSION}-${ARCHITECTURE}.tar.gz && \ rm node-${NODE_VERSION}-${ARCHITECTURE}.tar.gz && \ mv node-${NODE_VERSION}-${ARCHITECTURE} /opt/nodejs && \ + \ + # Remove original node, use Fibers 100% CPU usage issue patched node + rm /opt/nodejs/bin/node && \ + # Node Fibers 100% CPU usage issue: + # https://github.com/wekan/wekan-mongodb/issues/2#issuecomment-381453161 + # https://github.com/meteor/meteor/issues/9796#issuecomment-381676326 + # https://github.com/sandstorm-io/sandstorm/blob/0f1fec013fe7208ed0fd97eb88b31b77e3c61f42/shell/server/00-startup.js#L99-L129 + # Also see beginning of wekan/server/authentication.js + # import Fiber from "fibers"; + # Fiber.poolSize = 1e9; + # Download node version 8.11.1 that has fix included, node binary copied from Sandstorm + # Description at https://releases.wekan.team/node.txt + # SHA256SUM: 18c99d5e79e2fe91e75157a31be30e5420787213684d4048eb91e602e092725d + echo "18c99d5e79e2fe91e75157a31be30e5420787213684d4048eb91e602e092725d node" >> node-SHASUMS256.txt.asc && \ + wget https://releases.wekan.team/node && \ + # Verify Fibers patched node authenticity + echo "Fibers patched node authenticity:" && \ + grep node node-SHASUMS256.txt.asc | shasum -a 256 -c - && \ + rm -f node-SHASUMS256.txt.asc && \ + chmod +x node && \ + mv node /opt/nodejs/bin/ && \ + \ + # Create symlinks ln -s /opt/nodejs/bin/node /usr/bin/node && \ ln -s /opt/nodejs/bin/npm /usr/bin/npm && \ \ diff --git a/package.json b/package.json index 3e979ec4..a0053ca2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wekan", - "version": "0.83.0", + "version": "0.84.0", "description": "The open-source Trello-like kanban", "private": true, "scripts": { diff --git a/sandstorm-pkgdef.capnp b/sandstorm-pkgdef.capnp index 066bb3cb..554f5cc6 100644 --- a/sandstorm-pkgdef.capnp +++ b/sandstorm-pkgdef.capnp @@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = ( appTitle = (defaultText = "Wekan"), # The name of the app as it is displayed to the user. - appVersion = 68, + appVersion = 69, # Increment this for every release. - appMarketingVersion = (defaultText = "0.83.0~2018-04-12"), + appMarketingVersion = (defaultText = "0.84.0~2018-04-16"), # Human-readable presentation of the app version. minUpgradableAppVersion = 0, diff --git a/server/authentication.js b/server/authentication.js index acc101cc..efe95015 100644 --- a/server/authentication.js +++ b/server/authentication.js @@ -1,5 +1,12 @@ Meteor.startup(() => { + // Node Fibers 100% CPU usage issue + // https://github.com/wekan/wekan-mongodb/issues/2#issuecomment-381453161 + // https://github.com/meteor/meteor/issues/9796#issuecomment-381676326 + // https://github.com/sandstorm-io/sandstorm/blob/0f1fec013fe7208ed0fd97eb88b31b77e3c61f42/shell/server/00-startup.js#L99-L129 + import Fiber from "fibers"; + Fiber.poolSize = 1e9; + Accounts.validateLoginAttempt(function (options) { const user = options.user || {}; return !user.loginDisabled; diff --git a/snapcraft.yaml b/snapcraft.yaml index fd123b21..abcd1cc6 100644 --- a/snapcraft.yaml +++ b/snapcraft.yaml @@ -81,7 +81,7 @@ parts: wekan: source: . plugin: nodejs - node-engine: 8.9.3 + node-engine: 8.11.1 node-packages: - npm@5.5.1 - node-gyp @@ -100,6 +100,24 @@ parts: prepare: | echo "Cleaning environment first" rm -rf ~/.meteor ~/.npm /usr/local/lib/node_modules + # Node Fibers 100% CPU usage issue: + # https://github.com/wekan/wekan-mongodb/issues/2#issuecomment-381453161 + # https://github.com/meteor/meteor/issues/9796#issuecomment-381676326 + # https://github.com/sandstorm-io/sandstorm/blob/0f1fec013fe7208ed0fd97eb88b31b77e3c61f42/shell/server/00-startup.js#L99-L129 + # Also see beginning of wekan/server/authentication.js + # import Fiber from "fibers"; + # Fiber.poolSize = 1e9; + # Download node version 8.11.1 that has fix included, node binary copied from Sandstorm + # Description at https://releases.wekan.team/node.txt + # SHA256SUM: 18c99d5e79e2fe91e75157a31be30e5420787213684d4048eb91e602e092725d + echo "18c99d5e79e2fe91e75157a31be30e5420787213684d4048eb91e602e092725d node" >> node-SHASUMS256.txt.asc + wget https://releases.wekan.team/node + # Verify Fibers patched node authenticity + echo "Fibers 100% CPU issue patched node authenticity:" + grep node node-SHASUMS256.txt.asc | shasum -a 256 -c - + rm -f node-SHASUMS256.txt.asc + chmod +x node + mv node `which node` echo "Applying paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303" paxctl -mC `which node` echo "Installing meteor" |