summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md5
-rw-r--r--Dockerfile25
-rw-r--r--package.json2
-rw-r--r--sandstorm-pkgdef.capnp4
-rw-r--r--server/authentication.js7
-rw-r--r--snapcraft.yaml20
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
diff --git a/Dockerfile b/Dockerfile
index cb323ab0..38a81cef 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -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"