From 446e29e42244b33d83947eb0e2852c2926626325 Mon Sep 17 00:00:00 2001 From: Tobias Date: Mon, 12 Aug 2019 17:24:53 +0200 Subject: [PATCH 01/17] fix error when the sidebar is not visible --- client/components/sidebar/sidebar.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/client/components/sidebar/sidebar.js b/client/components/sidebar/sidebar.js index 8b98fd7e6..f7efb1e86 100644 --- a/client/components/sidebar/sidebar.js +++ b/client/components/sidebar/sidebar.js @@ -47,8 +47,11 @@ BlazeComponent.extendComponent({ }, calculateNextPeak() { - const altitude = this.find('.js-board-sidebar-content').scrollHeight; - this.callFirstWith(this, 'setNextPeak', altitude); + const sidebarElement = this.find('.js-board-sidebar-content'); + if (sidebarElement) { + const altitude = sidebarElement.scrollHeight; + this.callFirstWith(this, 'setNextPeak', altitude); + } }, reachNextPeak() { From 851246a59b6e16fc6511f174e084a546147adeeb Mon Sep 17 00:00:00 2001 From: James Byrne Date: Mon, 12 Aug 2019 17:47:04 +0100 Subject: [PATCH 02/17] Updated insert action for CustomFields API --- models/customFields.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/models/customFields.js b/models/customFields.js index a5eb89062..6b5697c1e 100644 --- a/models/customFields.js +++ b/models/customFields.js @@ -302,6 +302,7 @@ if (Meteor.isServer) { ) { Authentication.checkUserId(req.userId); const paramBoardId = req.params.boardId; + const board = Boards.findOne({ _id: paramBoardId }); const id = CustomFields.direct.insert({ name: req.body.name, type: req.body.type, @@ -309,7 +310,7 @@ if (Meteor.isServer) { showOnCard: req.body.showOnCard, automaticallyOnCard: req.body.automaticallyOnCard, showLabelOnMiniCard: req.body.showLabelOnMiniCard, - boardIds: { $in: [paramBoardId] }, + boardIds: [board._id], }); const customField = CustomFields.findOne({ From 7ea091215970283b510791e21144c2c3b11a5e99 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Mon, 12 Aug 2019 21:39:29 +0300 Subject: [PATCH 03/17] - [Fix scrollHeight error when the sidebar is not visible](https://github.com/wekan/wekan/pull/2609). Thanks to Trekky12. - [Fix insert action for CustomFields API](https://github.com/wekan/wekan/pull/2610). Thanks to JimCircadian. Closes #2586 --- CHANGELOG.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 264f860ea..3284f0df6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,14 @@ +# Upcoming Wekan release + +This release fixes the following bugs: + +- [Fix scrollHeight error when the sidebar is not visible](https://github.com/wekan/wekan/pull/2609). + Thanks to Trekky12. +- [Fix insert action for CustomFields API](https://github.com/wekan/wekan/pull/2610). + Thanks to JimCircadian. + +Thanks to above GitHub users for their contributions and translators for their translations. + # v3.15 2019-08-11 Wekan release This release fixes the following bugs: From 5aa090e91184764afeac8b7c7bf4b4cb947c8f17 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Mon, 12 Aug 2019 23:59:05 +0300 Subject: [PATCH 04/17] Make Admin Panel text like version etc selectable. Thanks to xet7 ! Closes #2180 --- client/components/settings/settingBody.styl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/client/components/settings/settingBody.styl b/client/components/settings/settingBody.styl index b93007827..bcbd2ea1d 100644 --- a/client/components/settings/settingBody.styl +++ b/client/components/settings/settingBody.styl @@ -52,10 +52,10 @@ .main-body padding: 0.1em 1em - -webkit-user-select: auto // Safari 3.1+ - -moz-user-select: auto // Firefox 2+ - -ms-user-select: auto // IE 10+ - user-select: auto // Standard syntax + -webkit-user-select: text // Safari 3.1+ + -moz-user-select: text // Firefox 2+ + -ms-user-select: text // IE 10+ + user-select: text // Standard syntax ul li From ad09cdb1d135e8a5831d7526a0aeb93d7c2a749e Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Tue, 13 Aug 2019 00:02:46 +0300 Subject: [PATCH 05/17] Update ChangeLog. --- CHANGELOG.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3284f0df6..b3d089a19 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,11 @@ # Upcoming Wekan release -This release fixes the following bugs: +This release adds the following new features: + +- [Make Admin Panel text like version etc selectable](https://github.com/wekan/wekan/commit/5aa090e91184764afeac8b7c7bf4b4cb947c8f17). + Thanks to xet7. + +and fixes the following bugs: - [Fix scrollHeight error when the sidebar is not visible](https://github.com/wekan/wekan/pull/2609). Thanks to Trekky12. From 20294d833a2bf0bd1720444f4ffe018b025dacca Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Tue, 13 Aug 2019 00:32:46 +0300 Subject: [PATCH 06/17] Add to Admin Panel / Version: Meteor version, MongoDB version, MongoDB storage engine, MongoDB Oplog enabled. Thanks to RocketChat developers for MongoDB detection code and xet7 for other code. --- .../components/settings/informationBody.jade | 12 +++++ i18n/ar.i18n.json | 4 ++ i18n/bg.i18n.json | 4 ++ i18n/br.i18n.json | 4 ++ i18n/ca.i18n.json | 4 ++ i18n/cs.i18n.json | 4 ++ i18n/da.i18n.json | 4 ++ i18n/de.i18n.json | 4 ++ i18n/el.i18n.json | 4 ++ i18n/en-GB.i18n.json | 4 ++ i18n/en.i18n.json | 4 ++ i18n/eo.i18n.json | 4 ++ i18n/es-AR.i18n.json | 4 ++ i18n/es.i18n.json | 4 ++ i18n/eu.i18n.json | 4 ++ i18n/fa.i18n.json | 4 ++ i18n/fi.i18n.json | 4 ++ i18n/fr.i18n.json | 4 ++ i18n/gl.i18n.json | 4 ++ i18n/he.i18n.json | 4 ++ i18n/hi.i18n.json | 4 ++ i18n/hu.i18n.json | 4 ++ i18n/hy.i18n.json | 4 ++ i18n/id.i18n.json | 4 ++ i18n/ig.i18n.json | 4 ++ i18n/it.i18n.json | 4 ++ i18n/ja.i18n.json | 6 ++- i18n/ka.i18n.json | 4 ++ i18n/km.i18n.json | 4 ++ i18n/ko.i18n.json | 4 ++ i18n/lv.i18n.json | 4 ++ i18n/mk.i18n.json | 4 ++ i18n/mn.i18n.json | 4 ++ i18n/nb.i18n.json | 4 ++ i18n/nl.i18n.json | 4 ++ i18n/oc.i18n.json | 4 ++ i18n/pl.i18n.json | 4 ++ i18n/pt-BR.i18n.json | 4 ++ i18n/pt.i18n.json | 4 ++ i18n/ro.i18n.json | 4 ++ i18n/ru.i18n.json | 4 ++ i18n/sr.i18n.json | 4 ++ i18n/sv.i18n.json | 4 ++ i18n/sw.i18n.json | 4 ++ i18n/ta.i18n.json | 4 ++ i18n/th.i18n.json | 4 ++ i18n/tr.i18n.json | 4 ++ i18n/uk.i18n.json | 4 ++ i18n/vi.i18n.json | 4 ++ i18n/zh-CN.i18n.json | 4 ++ i18n/zh-HK.i18n.json | 4 ++ i18n/zh-TW.i18n.json | 4 ++ server/statistics.js | 48 +++++++++++++++++-- 53 files changed, 262 insertions(+), 4 deletions(-) diff --git a/client/components/settings/informationBody.jade b/client/components/settings/informationBody.jade index feb7c0dc5..2c615ffd6 100644 --- a/client/components/settings/informationBody.jade +++ b/client/components/settings/informationBody.jade @@ -19,9 +19,21 @@ template(name='statistics') tr th Wekan {{_ 'info'}} td {{statistics.version}} + tr + th {{_ 'Meteor_version'}} + td {{statistics.meteor.meteorVersion}} tr th {{_ 'Node_version'}} td {{statistics.process.nodeVersion}} + tr + th {{_ 'MongoDB_version'}} + td {{statistics.mongo.mongoVersion}} + tr + th {{_ 'MongoDB_storage_engine'}} + td {{statistics.mongo.mongoStorageEngine}} + tr + th {{_ 'MongoDB_Oplog_enabled'}} + td {{statistics.mongo.mongoOplogEnabled}} tr th {{_ 'OS_Type'}} td {{statistics.os.type}} diff --git a/i18n/ar.i18n.json b/i18n/ar.i18n.json index 925b08a00..bc4c046f2 100644 --- a/i18n/ar.i18n.json +++ b/i18n/ar.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "ويبهوك جديدة ", "no-name": "(غير معروف)", "Node_version": "إصدار النود", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "معمارية نظام التشغيل", "OS_Cpus": "استهلاك وحدة المعالجة المركزية لنظام التشغيل", "OS_Freemem": "الذاكرة الحرة لنظام التشغيل", diff --git a/i18n/bg.i18n.json b/i18n/bg.i18n.json index 59548bc05..22970e4dd 100644 --- a/i18n/bg.i18n.json +++ b/i18n/bg.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "New Outgoing Webhook", "no-name": "(Unknown)", "Node_version": "Версия на Node", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "Архитектура на ОС", "OS_Cpus": "Брой CPU ядра", "OS_Freemem": "Свободна памет", diff --git a/i18n/br.i18n.json b/i18n/br.i18n.json index 9335eec4a..2db45c3fd 100644 --- a/i18n/br.i18n.json +++ b/i18n/br.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "New Outgoing Webhook", "no-name": "(Unknown)", "Node_version": "Node version", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "OS Arch", "OS_Cpus": "OS CPU Count", "OS_Freemem": "OS Free Memory", diff --git a/i18n/ca.i18n.json b/i18n/ca.i18n.json index a78172494..379c54d03 100644 --- a/i18n/ca.i18n.json +++ b/i18n/ca.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "Nou Webook sortint", "no-name": "Importa tauler des de Wekan", "Node_version": "Versió Node", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "Arquitectura SO", "OS_Cpus": "Plataforma SO", "OS_Freemem": "Memòria lliure", diff --git a/i18n/cs.i18n.json b/i18n/cs.i18n.json index 347c02cb1..1e96bb7bd 100644 --- a/i18n/cs.i18n.json +++ b/i18n/cs.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "Nové odchozí Webhooky", "no-name": "(Neznámé)", "Node_version": "Node verze", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "OS Architektura", "OS_Cpus": "OS Počet CPU", "OS_Freemem": "OS Volná paměť", diff --git a/i18n/da.i18n.json b/i18n/da.i18n.json index 45cecb81b..24387a11d 100644 --- a/i18n/da.i18n.json +++ b/i18n/da.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "New Outgoing Webhook", "no-name": "(Unknown)", "Node_version": "Node version", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "OS Arch", "OS_Cpus": "OS CPU Count", "OS_Freemem": "OS Free Memory", diff --git a/i18n/de.i18n.json b/i18n/de.i18n.json index 5e4037f2f..f0b1f04fd 100644 --- a/i18n/de.i18n.json +++ b/i18n/de.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "Neuer ausgehender Webhook", "no-name": "(Unbekannt)", "Node_version": "Node-Version", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "Betriebssystem-Architektur", "OS_Cpus": "Anzahl Prozessoren", "OS_Freemem": "Freier Arbeitsspeicher", diff --git a/i18n/el.i18n.json b/i18n/el.i18n.json index 5c7a4cccb..c549efc03 100644 --- a/i18n/el.i18n.json +++ b/i18n/el.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "New Outgoing Webhook", "no-name": "(Άγνωστο)", "Node_version": "Node version", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "OS Arch", "OS_Cpus": "OS CPU Count", "OS_Freemem": "OS Free Memory", diff --git a/i18n/en-GB.i18n.json b/i18n/en-GB.i18n.json index c1634a29e..2edf460e2 100644 --- a/i18n/en-GB.i18n.json +++ b/i18n/en-GB.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "New Outgoing Webhook", "no-name": "(Unknown)", "Node_version": "Node version", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "OS Arch", "OS_Cpus": "OS CPU Count", "OS_Freemem": "OS Free Memory", diff --git a/i18n/en.i18n.json b/i18n/en.i18n.json index 4501fffbc..a513004e0 100644 --- a/i18n/en.i18n.json +++ b/i18n/en.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "New Outgoing Webhook", "no-name": "(Unknown)", "Node_version": "Node version", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "OS Arch", "OS_Cpus": "OS CPU Count", "OS_Freemem": "OS Free Memory", diff --git a/i18n/eo.i18n.json b/i18n/eo.i18n.json index 03421f383..9a5194a40 100644 --- a/i18n/eo.i18n.json +++ b/i18n/eo.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "New Outgoing Webhook", "no-name": "(Unknown)", "Node_version": "Node version", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "OS Arch", "OS_Cpus": "OS CPU Count", "OS_Freemem": "OS Free Memory", diff --git a/i18n/es-AR.i18n.json b/i18n/es-AR.i18n.json index 6845e05d6..38c1c431f 100644 --- a/i18n/es-AR.i18n.json +++ b/i18n/es-AR.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "Nuevo Gancho Web", "no-name": "(desconocido)", "Node_version": "Versión de Node", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "Arch del SO", "OS_Cpus": "Cantidad de CPU del SO", "OS_Freemem": "Memoria Libre del SO", diff --git a/i18n/es.i18n.json b/i18n/es.i18n.json index 49d55355e..fb3934fc9 100644 --- a/i18n/es.i18n.json +++ b/i18n/es.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "Nuevo webhook saliente", "no-name": "(Desconocido)", "Node_version": "Versión de Node", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "Arquitectura del sistema", "OS_Cpus": "Número de CPUs del sistema", "OS_Freemem": "Memoria libre del sistema", diff --git a/i18n/eu.i18n.json b/i18n/eu.i18n.json index 8dff29718..4a7b589db 100644 --- a/i18n/eu.i18n.json +++ b/i18n/eu.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "Irteera-webhook berria", "no-name": "(Ezezaguna)", "Node_version": "Nodo bertsioa", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "SE Arkitektura", "OS_Cpus": "SE PUZ kopurua", "OS_Freemem": "SE Memoria librea", diff --git a/i18n/fa.i18n.json b/i18n/fa.i18n.json index b3967af2c..d83e0e5ef 100644 --- a/i18n/fa.i18n.json +++ b/i18n/fa.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "New Outgoing Webhook", "no-name": "(ناشناخته)", "Node_version": "نسخه Node", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "OS Arch", "OS_Cpus": "OS CPU Count", "OS_Freemem": "OS Free Memory", diff --git a/i18n/fi.i18n.json b/i18n/fi.i18n.json index 0b5f26f42..dc12d9683 100644 --- a/i18n/fi.i18n.json +++ b/i18n/fi.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "Uusi lähtevä Webkoukku", "no-name": "(Tuntematon)", "Node_version": "Node-versio", + "Meteor_version": "Meteor-versio", + "MongoDB_version": "MongoDB-versio", + "MongoDB_storage_engine": "MongoDB tallennusmoottori", + "MongoDB_Oplog_enabled": "MongoDB Oplog käytössä", "OS_Arch": "Käyttöjärjestelmän arkkitehtuuri", "OS_Cpus": "Käyttöjärjestelmän CPU-määrä", "OS_Freemem": "Käyttöjärjestelmän vapaa muisti", diff --git a/i18n/fr.i18n.json b/i18n/fr.i18n.json index 8f3a10d4c..19e655a62 100644 --- a/i18n/fr.i18n.json +++ b/i18n/fr.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "Nouveau webhook sortant", "no-name": "(Inconnu)", "Node_version": "Version de Node", + "Meteor_version": "Version de Meteor", + "MongoDB_version": "Version de MongoDB", + "MongoDB_storage_engine": "Moteur de stockage MongoDB", + "MongoDB_Oplog_enabled": "MongoDB Oplog activé", "OS_Arch": "OS Architecture", "OS_Cpus": "OS Nombre CPU", "OS_Freemem": "OS Mémoire libre", diff --git a/i18n/gl.i18n.json b/i18n/gl.i18n.json index e6aa96666..69087900f 100644 --- a/i18n/gl.i18n.json +++ b/i18n/gl.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "New Outgoing Webhook", "no-name": "(Unknown)", "Node_version": "Node version", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "OS Arch", "OS_Cpus": "OS CPU Count", "OS_Freemem": "OS Free Memory", diff --git a/i18n/he.i18n.json b/i18n/he.i18n.json index 28c422f11..aca91853c 100644 --- a/i18n/he.i18n.json +++ b/i18n/he.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "קרסי רשת יוצאים חדשים", "no-name": "(לא ידוע)", "Node_version": "גרסת Node", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "ארכיטקטורת מערכת הפעלה", "OS_Cpus": "מספר מעבדים", "OS_Freemem": "זיכרון (RAM) פנוי", diff --git a/i18n/hi.i18n.json b/i18n/hi.i18n.json index 0668d2b2e..0fb2f89d9 100644 --- a/i18n/hi.i18n.json +++ b/i18n/hi.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "New Outgoing Webhook", "no-name": "(Unknown)", "Node_version": "Node version", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "OS Arch", "OS_Cpus": "OS CPU Count", "OS_Freemem": "OS Free Memory", diff --git a/i18n/hu.i18n.json b/i18n/hu.i18n.json index 3fef808df..63b9ab0b6 100644 --- a/i18n/hu.i18n.json +++ b/i18n/hu.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "Új kimenő webhurok", "no-name": "(Ismeretlen)", "Node_version": "Node verzió", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "Operációs rendszer architektúrája", "OS_Cpus": "Operációs rendszer CPU száma", "OS_Freemem": "Operációs rendszer szabad memóriája", diff --git a/i18n/hy.i18n.json b/i18n/hy.i18n.json index b5bda644e..8eeeaca62 100644 --- a/i18n/hy.i18n.json +++ b/i18n/hy.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "New Outgoing Webhook", "no-name": "(Unknown)", "Node_version": "Node version", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "OS Arch", "OS_Cpus": "OS CPU Count", "OS_Freemem": "OS Free Memory", diff --git a/i18n/id.i18n.json b/i18n/id.i18n.json index ce41998eb..32d4f889a 100644 --- a/i18n/id.i18n.json +++ b/i18n/id.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "New Outgoing Webhook", "no-name": "(Unknown)", "Node_version": "Node version", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "OS Arch", "OS_Cpus": "OS CPU Count", "OS_Freemem": "OS Free Memory", diff --git a/i18n/ig.i18n.json b/i18n/ig.i18n.json index 17a499b37..fdc515223 100644 --- a/i18n/ig.i18n.json +++ b/i18n/ig.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "New Outgoing Webhook", "no-name": "(Unknown)", "Node_version": "Node version", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "OS Arch", "OS_Cpus": "OS CPU Count", "OS_Freemem": "OS Free Memory", diff --git a/i18n/it.i18n.json b/i18n/it.i18n.json index cabe312b9..db4938906 100644 --- a/i18n/it.i18n.json +++ b/i18n/it.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "Nuovo webhook in uscita", "no-name": "(Sconosciuto)", "Node_version": "Versione di Node", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "Architettura del sistema operativo", "OS_Cpus": "Conteggio della CPU del sistema operativo", "OS_Freemem": "Memoria libera del sistema operativo", diff --git a/i18n/ja.i18n.json b/i18n/ja.i18n.json index 5be4a9fe5..4b2102682 100644 --- a/i18n/ja.i18n.json +++ b/i18n/ja.i18n.json @@ -77,7 +77,7 @@ "add-board": "ボードを追加", "add-card": "カードを追加", "add-swimlane": "スイムレーンを追加", - "add-subtask": "Add Subtask", + "add-subtask": "サブタスクを追加", "add-checklist": "チェックリストを追加", "add-checklist-item": "チェックリストに項目を追加", "add-cover": "カバーの追加", @@ -512,6 +512,10 @@ "new-outgoing-webhook": "発信Webフックの作成", "no-name": "(Unknown)", "Node_version": "Nodeバージョン", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "OSアーキテクチャ", "OS_Cpus": "OS CPU数", "OS_Freemem": "OSフリーメモリ", diff --git a/i18n/ka.i18n.json b/i18n/ka.i18n.json index a91a5503a..eb22ba971 100644 --- a/i18n/ka.i18n.json +++ b/i18n/ka.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "New Outgoing Webhook", "no-name": "(უცნობი)", "Node_version": "Node ვერსია", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "OS Arch", "OS_Cpus": "OS CPU Count", "OS_Freemem": "OS თავისუფალი მეხსიერება", diff --git a/i18n/km.i18n.json b/i18n/km.i18n.json index fd26eb789..13824180d 100644 --- a/i18n/km.i18n.json +++ b/i18n/km.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "New Outgoing Webhook", "no-name": "(Unknown)", "Node_version": "Node version", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "OS Arch", "OS_Cpus": "OS CPU Count", "OS_Freemem": "OS Free Memory", diff --git a/i18n/ko.i18n.json b/i18n/ko.i18n.json index ca21dfd5f..ea9f8469d 100644 --- a/i18n/ko.i18n.json +++ b/i18n/ko.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "New Outgoing Webhook", "no-name": "(Unknown)", "Node_version": "Node version", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "OS Arch", "OS_Cpus": "OS CPU Count", "OS_Freemem": "OS Free Memory", diff --git a/i18n/lv.i18n.json b/i18n/lv.i18n.json index 8a4d0665c..f8660c7ba 100644 --- a/i18n/lv.i18n.json +++ b/i18n/lv.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "New Outgoing Webhook", "no-name": "(Unknown)", "Node_version": "Node version", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "OS Arch", "OS_Cpus": "OS CPU Count", "OS_Freemem": "OS Free Memory", diff --git a/i18n/mk.i18n.json b/i18n/mk.i18n.json index 6bd89ee1f..328f8f622 100644 --- a/i18n/mk.i18n.json +++ b/i18n/mk.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "New Outgoing Webhook", "no-name": "(Unknown)", "Node_version": "Версия на Node", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "Архитектура на ОС", "OS_Cpus": "Брой CPU ядра", "OS_Freemem": "Свободна памет", diff --git a/i18n/mn.i18n.json b/i18n/mn.i18n.json index 9c23f6643..5e47fcd4f 100644 --- a/i18n/mn.i18n.json +++ b/i18n/mn.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "New Outgoing Webhook", "no-name": "(Unknown)", "Node_version": "Node version", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "OS Arch", "OS_Cpus": "OS CPU Count", "OS_Freemem": "OS Free Memory", diff --git a/i18n/nb.i18n.json b/i18n/nb.i18n.json index ad2b781b1..0c7fa2115 100644 --- a/i18n/nb.i18n.json +++ b/i18n/nb.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "New Outgoing Webhook", "no-name": "(Unknown)", "Node_version": "Node version", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "OS Arch", "OS_Cpus": "OS CPU Count", "OS_Freemem": "OS Free Memory", diff --git a/i18n/nl.i18n.json b/i18n/nl.i18n.json index 9fe48a8fc..7d8460214 100644 --- a/i18n/nl.i18n.json +++ b/i18n/nl.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "Nieuwe webhook", "no-name": "(Onbekend)", "Node_version": "Node versie", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "OS Arch", "OS_Cpus": "OS CPU Count", "OS_Freemem": "OS Vrij Geheugen", diff --git a/i18n/oc.i18n.json b/i18n/oc.i18n.json index 8f14c8b44..1aadb3960 100644 --- a/i18n/oc.i18n.json +++ b/i18n/oc.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "New Outgoing Webhook", "no-name": "(Desconegut)", "Node_version": "Node version", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "OS Arch", "OS_Cpus": "OS CPU Count", "OS_Freemem": "OS Free Memory", diff --git a/i18n/pl.i18n.json b/i18n/pl.i18n.json index db001a983..957ea4697 100644 --- a/i18n/pl.i18n.json +++ b/i18n/pl.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "Nowy wychodzący webhook", "no-name": "(nieznany)", "Node_version": "Wersja Node", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "Architektura systemu", "OS_Cpus": "Ilość rdzeni systemu", "OS_Freemem": "Wolna pamięć RAM", diff --git a/i18n/pt-BR.i18n.json b/i18n/pt-BR.i18n.json index bb7460351..2a8620cb9 100644 --- a/i18n/pt-BR.i18n.json +++ b/i18n/pt-BR.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "Novo Webhook de saída", "no-name": "(Desconhecido)", "Node_version": "Versão do Node", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "Arquitetura do SO", "OS_Cpus": "Quantidade de CPUS do SO", "OS_Freemem": "Memória Disponível do SO", diff --git a/i18n/pt.i18n.json b/i18n/pt.i18n.json index 7f784dc3d..f4b273108 100644 --- a/i18n/pt.i18n.json +++ b/i18n/pt.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "Novo Webhook de saída", "no-name": "(Desconhecido)", "Node_version": "Versão do Node", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "Arquitectura do SO", "OS_Cpus": "Quantidade de CPUs do SO", "OS_Freemem": "Memória Disponível do SO", diff --git a/i18n/ro.i18n.json b/i18n/ro.i18n.json index 5d237199a..492c9c782 100644 --- a/i18n/ro.i18n.json +++ b/i18n/ro.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "New Outgoing Webhook", "no-name": "(Unknown)", "Node_version": "Node version", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "OS Arch", "OS_Cpus": "OS CPU Count", "OS_Freemem": "OS Free Memory", diff --git a/i18n/ru.i18n.json b/i18n/ru.i18n.json index 279b9b653..ef33f5fac 100644 --- a/i18n/ru.i18n.json +++ b/i18n/ru.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "Новый исходящий Веб-хук", "no-name": "(Неизвестный)", "Node_version": "Версия NodeJS", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "Архитектура", "OS_Cpus": "Количество процессоров", "OS_Freemem": "Свободная память", diff --git a/i18n/sr.i18n.json b/i18n/sr.i18n.json index c3263f314..1d8bcb72d 100644 --- a/i18n/sr.i18n.json +++ b/i18n/sr.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "New Outgoing Webhook", "no-name": "(Unknown)", "Node_version": "Node version", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "OS Arch", "OS_Cpus": "OS CPU Count", "OS_Freemem": "OS Free Memory", diff --git a/i18n/sv.i18n.json b/i18n/sv.i18n.json index 4797a49ec..e3294edd1 100644 --- a/i18n/sv.i18n.json +++ b/i18n/sv.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "Ny utgående webhook", "no-name": "(Okänd)", "Node_version": "Nodversion", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "OS Arch", "OS_Cpus": "OS CPU-räkning", "OS_Freemem": "OS ledigt minne", diff --git a/i18n/sw.i18n.json b/i18n/sw.i18n.json index 573b30455..20db5d9de 100644 --- a/i18n/sw.i18n.json +++ b/i18n/sw.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "New Outgoing Webhook", "no-name": "(Unknown)", "Node_version": "Node version", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "OS Arch", "OS_Cpus": "OS CPU Count", "OS_Freemem": "OS Free Memory", diff --git a/i18n/ta.i18n.json b/i18n/ta.i18n.json index a248c669f..0f3298247 100644 --- a/i18n/ta.i18n.json +++ b/i18n/ta.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "New Outgoing Webhook", "no-name": "(Unknown)", "Node_version": "Node version", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "OS Arch", "OS_Cpus": "OS CPU Count", "OS_Freemem": "OS Free Memory", diff --git a/i18n/th.i18n.json b/i18n/th.i18n.json index a7aa75269..758f6b0f5 100644 --- a/i18n/th.i18n.json +++ b/i18n/th.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "New Outgoing Webhook", "no-name": "(Unknown)", "Node_version": "Node version", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "OS Arch", "OS_Cpus": "OS CPU Count", "OS_Freemem": "OS Free Memory", diff --git a/i18n/tr.i18n.json b/i18n/tr.i18n.json index d51eecd1b..3fec88f0c 100644 --- a/i18n/tr.i18n.json +++ b/i18n/tr.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "Yeni Dışarı Giden Web Bağlantısı", "no-name": "(Bilinmeyen)", "Node_version": "Node sürümü", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "İşletim Sistemi Mimarisi", "OS_Cpus": "İşletim Sistemi İşlemci Sayısı", "OS_Freemem": "İşletim Sistemi Kullanılmayan Bellek", diff --git a/i18n/uk.i18n.json b/i18n/uk.i18n.json index eaa3f6b53..0b22e6397 100644 --- a/i18n/uk.i18n.json +++ b/i18n/uk.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "New Outgoing Webhook", "no-name": "(Unknown)", "Node_version": "Node version", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "OS Arch", "OS_Cpus": "OS CPU Count", "OS_Freemem": "OS Free Memory", diff --git a/i18n/vi.i18n.json b/i18n/vi.i18n.json index b9775dec9..ca075a811 100644 --- a/i18n/vi.i18n.json +++ b/i18n/vi.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "New Outgoing Webhook", "no-name": "(Unknown)", "Node_version": "Node version", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "OS Arch", "OS_Cpus": "OS CPU Count", "OS_Freemem": "OS Free Memory", diff --git a/i18n/zh-CN.i18n.json b/i18n/zh-CN.i18n.json index f98eeeb9c..8f66ea13f 100644 --- a/i18n/zh-CN.i18n.json +++ b/i18n/zh-CN.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "新建外部Web挂钩", "no-name": "(未知)", "Node_version": "Node.js版本", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "系统架构", "OS_Cpus": "系统 CPU数量", "OS_Freemem": "系统可用内存", diff --git a/i18n/zh-HK.i18n.json b/i18n/zh-HK.i18n.json index 6f9676348..e2179ae56 100644 --- a/i18n/zh-HK.i18n.json +++ b/i18n/zh-HK.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "New Outgoing Webhook", "no-name": "(Unknown)", "Node_version": "Node version", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "OS Arch", "OS_Cpus": "OS CPU Count", "OS_Freemem": "OS Free Memory", diff --git a/i18n/zh-TW.i18n.json b/i18n/zh-TW.i18n.json index d3ba37130..dcf8e52d9 100644 --- a/i18n/zh-TW.i18n.json +++ b/i18n/zh-TW.i18n.json @@ -512,6 +512,10 @@ "new-outgoing-webhook": "New Outgoing Webhook", "no-name": "(未知)", "Node_version": "Node 版本", + "Meteor_version": "Meteor version", + "MongoDB_version": "MongoDB version", + "MongoDB_storage_engine": "MongoDB storage engine", + "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", "OS_Arch": "系統架構", "OS_Cpus": "系統\b CPU 數", "OS_Freemem": "undefined", diff --git a/server/statistics.js b/server/statistics.js index 1fbaecc9d..288a50898 100644 --- a/server/statistics.js +++ b/server/statistics.js @@ -1,9 +1,13 @@ +import { MongoInternals } from 'meteor/mongo'; + Meteor.methods({ getStatistics() { const os = require('os'); const pjson = require('/package.json'); const statistics = {}; - statistics.version = pjson.version; + let wekanVersion = pjson.version; + wekanVersion = wekanVersion.replace('v', ''); + statistics.version = wekanVersion; statistics.os = { type: os.type(), platform: os.platform(), @@ -15,12 +19,50 @@ Meteor.methods({ freemem: os.freemem(), cpus: os.cpus(), }; + let nodeVersion = process.version; + nodeVersion = nodeVersion.replace('v', ''); statistics.process = { - nodeVersion: process.version, + nodeVersion: nodeVersion, pid: process.pid, uptime: process.uptime(), }; - + // Remove beginning of Meteor release text METEOR@ + let meteorVersion = Meteor.release; + meteorVersion = meteorVersion.replace('METEOR@', ''); + statistics.meteor = { + meteorVersion: meteorVersion, + }; + // Thanks to RocketChat for MongoDB version detection ! + // https://github.com/RocketChat/Rocket.Chat/blob/develop/app/utils/server/functions/getMongoInfo.js + let mongoVersion; + let mongoStorageEngine; + let mongoOplogEnabled; + try { + const { mongo } = MongoInternals.defaultRemoteCollectionDriver(); + oplogEnabled = Boolean( + mongo._oplogHandle && mongo._oplogHandle.onOplogEntry, + ); + const { version, storageEngine } = Promise.await( + mongo.db.command({ serverStatus: 1 }), + ); + mongoVersion = version; + mongoStorageEngine = storageEngine.name; + mongoOplogEnabled = oplogEnabled; + } catch (e) { + try { + const { version } = Promise.await(mongo.db.command({ buildinfo: 1 })); + mongoVersion = version; + mongoStorageEngine = 'unknown'; + } catch (e) { + mongoVersion = 'unknown'; + mongoStorageEngine = 'unknown'; + } + } + statistics.mongo = { + mongoVersion: mongoVersion, + mongoStorageEngine: mongoStorageEngine, + mongoOplogEnabled: mongoOplogEnabled, + }; return statistics; }, }); From 351319841653d3a19ddb8aed00fba925c8e152cc Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Tue, 13 Aug 2019 00:37:35 +0300 Subject: [PATCH 07/17] Update ChangeLog. --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b3d089a19..64f695d0d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,9 @@ This release adds the following new features: - [Make Admin Panel text like version etc selectable](https://github.com/wekan/wekan/commit/5aa090e91184764afeac8b7c7bf4b4cb947c8f17). Thanks to xet7. +- [Add to Admin Panel / Version: Meteor version, MongoDB version, MongoDB storage engine, MongoDB Oplog + enabled](https://github.com/wekan/wekan/commit/20294d833a2bf0bd1720444f4ffe018b025dacca). + Thanks to RocketChat developers for MongoDB detection code and xet7 for other code. and fixes the following bugs: From 39ffe1d80dad5759b338d4ed2d6c576717af2a07 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Tue, 13 Aug 2019 00:40:33 +0300 Subject: [PATCH 08/17] Use Meteor 1.8.1 and MongoDB 3.2.22 in Snap. Thanks to xet7 ! --- .meteor-1.6-snap/.meteor/.finished-upgraders | 18 -- .meteor-1.6-snap/.meteor/.gitignore | 2 - .meteor-1.6-snap/.meteor/.id | 7 - .meteor-1.6-snap/.meteor/cordova-plugins | 0 .meteor-1.6-snap/.meteor/packages | 98 ---------- .meteor-1.6-snap/.meteor/platforms | 2 - .meteor-1.6-snap/.meteor/release | 1 - .meteor-1.6-snap/.meteor/versions | 193 ------------------- .meteor-1.6-snap/package.json | 73 ------- .meteor-1.6-snap/rebuild-wekan.sh | 161 ---------------- snapcraft.yaml | 8 - 11 files changed, 563 deletions(-) delete mode 100644 .meteor-1.6-snap/.meteor/.finished-upgraders delete mode 100644 .meteor-1.6-snap/.meteor/.gitignore delete mode 100644 .meteor-1.6-snap/.meteor/.id delete mode 100644 .meteor-1.6-snap/.meteor/cordova-plugins delete mode 100644 .meteor-1.6-snap/.meteor/packages delete mode 100644 .meteor-1.6-snap/.meteor/platforms delete mode 100644 .meteor-1.6-snap/.meteor/release delete mode 100644 .meteor-1.6-snap/.meteor/versions delete mode 100644 .meteor-1.6-snap/package.json delete mode 100755 .meteor-1.6-snap/rebuild-wekan.sh diff --git a/.meteor-1.6-snap/.meteor/.finished-upgraders b/.meteor-1.6-snap/.meteor/.finished-upgraders deleted file mode 100644 index 2a56593d3..000000000 --- a/.meteor-1.6-snap/.meteor/.finished-upgraders +++ /dev/null @@ -1,18 +0,0 @@ -# This file contains information which helps Meteor properly upgrade your -# app when you run 'meteor update'. You should check it into version control -# with your project. - -notices-for-0.9.0 -notices-for-0.9.1 -0.9.4-platform-file -notices-for-facebook-graph-api-2 -1.2.0-standard-minifiers-package -1.2.0-meteor-platform-split -1.2.0-cordova-changes -1.2.0-breaking-changes -1.3.0-split-minifiers-package -1.3.5-remove-old-dev-bundle-link -1.4.0-remove-old-dev-bundle-link -1.4.1-add-shell-server-package -1.4.3-split-account-service-packages -1.5-add-dynamic-import-package diff --git a/.meteor-1.6-snap/.meteor/.gitignore b/.meteor-1.6-snap/.meteor/.gitignore deleted file mode 100644 index 501f92e4b..000000000 --- a/.meteor-1.6-snap/.meteor/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -dev_bundle -local diff --git a/.meteor-1.6-snap/.meteor/.id b/.meteor-1.6-snap/.meteor/.id deleted file mode 100644 index 0556ccf7b..000000000 --- a/.meteor-1.6-snap/.meteor/.id +++ /dev/null @@ -1,7 +0,0 @@ -# This file contains a token that is unique to your project. -# Check it into your repository along with the rest of this directory. -# It can be used for purposes such as: -# - ensuring you don't accidentally deploy one app on top of another -# - providing package authors with aggregated statistics - -dvyihgykyzec6y1dpg diff --git a/.meteor-1.6-snap/.meteor/cordova-plugins b/.meteor-1.6-snap/.meteor/cordova-plugins deleted file mode 100644 index e69de29bb..000000000 diff --git a/.meteor-1.6-snap/.meteor/packages b/.meteor-1.6-snap/.meteor/packages deleted file mode 100644 index 7030dd39a..000000000 --- a/.meteor-1.6-snap/.meteor/packages +++ /dev/null @@ -1,98 +0,0 @@ -# Meteor packages used by this project, one per line. -# -# 'meteor add' and 'meteor remove' will edit this file for you, -# but you can also edit it by hand. - -meteor-base@1.2.0 - -# Build system -ecmascript -stylus@2.513.13 -standard-minifier-css@1.3.5 -standard-minifier-js@2.2.0 -mquandalle:jade - -# Polyfills -es5-shim@4.6.15 - -# Collections -aldeed:collection2 -cfs:standard-packages -cottz:publish-relations -dburles:collection-helpers -idmontie:migrations -matb33:collection-hooks -matteodem:easy-search -mongo@1.3.1 -mquandalle:collection-mutations - -# Account system -kenton:accounts-sandstorm -service-configuration@1.0.11 -useraccounts:unstyled -useraccounts:flow-routing -wekan-ldap -wekan-accounts-cas -wekan-accounts-oidc - -# Utilities -check@1.2.5 -jquery@1.11.10 -random@1.0.10 -reactive-dict@1.2.0 -session@1.1.7 -tracker@1.1.3 -underscore@1.0.10 -3stack:presence -alethes:pages -arillo:flow-router-helpers -audit-argument-checks@1.0.7 -kadira:blaze-layout -kadira:dochead -meteorhacks:picker -meteorhacks:subs-manager -mquandalle:autofocus -ongoworks:speakingurl -raix:handlebar-helpers -tap:i18n -http@1.3.0 - -# UI components -blaze -reactive-var@1.0.11 -fortawesome:fontawesome -mousetrap:mousetrap -mquandalle:jquery-textcomplete -mquandalle:jquery-ui-drag-drop-sort -mquandalle:mousetrap-bindglobal -peerlibrary:blaze-components@=0.15.1 -templates:tabs -verron:autosize -simple:json-routes -rajit:bootstrap3-datepicker -shell-server@0.3.0 -simple:rest-accounts-password -useraccounts:core -email@1.2.3 -horka:swipebox -dynamic-import@0.2.0 -staringatlights:fast-render - -accounts-password@1.5.0 -cfs:gridfs -rzymek:fullcalendar -momentjs:moment@2.22.2 -browser-policy-framing -mquandalle:moment -msavin:usercache -wekan-scrollbar -mquandalle:perfect-scrollbar -mdg:meteor-apm-agent -meteorhacks:unblock -lucasantoniassi:accounts-lockout -wekan-markdown -konecty:mongo-counter -percolate:synced-cron -easylogic:summernote -cfs:filesystem - diff --git a/.meteor-1.6-snap/.meteor/platforms b/.meteor-1.6-snap/.meteor/platforms deleted file mode 100644 index efeba1b50..000000000 --- a/.meteor-1.6-snap/.meteor/platforms +++ /dev/null @@ -1,2 +0,0 @@ -server -browser diff --git a/.meteor-1.6-snap/.meteor/release b/.meteor-1.6-snap/.meteor/release deleted file mode 100644 index 56a7a07fe..000000000 --- a/.meteor-1.6-snap/.meteor/release +++ /dev/null @@ -1 +0,0 @@ -METEOR@1.6.0.1 diff --git a/.meteor-1.6-snap/.meteor/versions b/.meteor-1.6-snap/.meteor/versions deleted file mode 100644 index 896a91776..000000000 --- a/.meteor-1.6-snap/.meteor/versions +++ /dev/null @@ -1,193 +0,0 @@ -3stack:presence@1.1.2 -accounts-base@1.4.0 -accounts-oauth@1.1.15 -accounts-password@1.5.0 -aldeed:collection2@2.10.0 -aldeed:collection2-core@1.2.0 -aldeed:schema-deny@1.1.0 -aldeed:schema-index@1.1.1 -aldeed:simple-schema@1.5.3 -alethes:pages@1.8.6 -allow-deny@1.1.0 -arillo:flow-router-helpers@0.5.2 -audit-argument-checks@1.0.7 -autoupdate@1.3.12 -babel-compiler@6.24.7 -babel-runtime@1.1.1 -base64@1.0.10 -binary-heap@1.0.10 -blaze@2.3.2 -blaze-tools@1.0.10 -boilerplate-generator@1.3.1 -browser-policy-common@1.0.11 -browser-policy-framing@1.1.0 -caching-compiler@1.1.9 -caching-html-compiler@1.1.2 -callback-hook@1.0.10 -cfs:access-point@0.1.49 -cfs:base-package@0.0.30 -cfs:collection@0.5.5 -cfs:collection-filters@0.2.4 -cfs:data-man@0.0.6 -cfs:file@0.1.17 -cfs:filesystem@0.1.2 -cfs:gridfs@0.0.34 -cfs:http-methods@0.0.32 -cfs:http-publish@0.0.13 -cfs:power-queue@0.9.11 -cfs:reactive-list@0.0.9 -cfs:reactive-property@0.0.4 -cfs:standard-packages@0.5.9 -cfs:storage-adapter@0.2.3 -cfs:tempstore@0.1.5 -cfs:upload-http@0.0.20 -cfs:worker@0.1.4 -check@1.2.5 -chuangbo:cookie@1.1.0 -coffeescript@1.12.7_3 -coffeescript-compiler@1.12.7_3 -cottz:publish-relations@2.0.8 -dburles:collection-helpers@1.1.0 -ddp@1.4.0 -ddp-client@2.2.0 -ddp-common@1.3.0 -ddp-rate-limiter@1.0.7 -ddp-server@2.1.1 -deps@1.0.12 -diff-sequence@1.0.7 -dynamic-import@0.2.1 -easylogic:summernote@0.8.8 -ecmascript@0.9.0 -ecmascript-runtime@0.5.0 -ecmascript-runtime-client@0.5.0 -ecmascript-runtime-server@0.5.0 -ejson@1.1.0 -email@1.2.3 -es5-shim@4.6.15 -fastclick@1.0.13 -fortawesome:fontawesome@4.7.0 -geojson-utils@1.0.10 -horka:swipebox@1.0.2 -hot-code-push@1.0.4 -html-tools@1.0.11 -htmljs@1.0.11 -http@1.3.0 -id-map@1.0.9 -idmontie:migrations@1.0.3 -jquery@1.11.10 -kadira:blaze-layout@2.3.0 -kadira:dochead@1.5.0 -kadira:flow-router@2.12.1 -kenton:accounts-sandstorm@0.7.0 -konecty:mongo-counter@0.0.5_3 -lamhieu:meteorx@2.0.1 -launch-screen@1.1.1 -livedata@1.0.18 -localstorage@1.2.0 -logging@1.1.19 -lucasantoniassi:accounts-lockout@1.0.0 -matb33:collection-hooks@0.8.4 -matteodem:easy-search@1.6.4 -mdg:meteor-apm-agent@3.1.2 -mdg:validation-error@0.5.1 -meteor@1.8.0 -meteor-base@1.2.0 -meteor-platform@1.2.6 -meteorhacks:aggregate@1.3.0 -meteorhacks:collection-utils@1.2.0 -meteorhacks:meteorx@1.4.1 -meteorhacks:picker@1.0.3 -meteorhacks:subs-manager@1.6.4 -meteorhacks:unblock@1.1.0 -meteorspark:util@0.2.0 -minifier-css@1.2.16 -minifier-js@2.2.2 -minifiers@1.1.8-faster-rebuild.0 -minimongo@1.4.3 -mobile-status-bar@1.0.14 -modules@0.11.0 -modules-runtime@0.9.1 -momentjs:moment@2.22.2 -mongo@1.3.1 -mongo-dev-server@1.1.0 -mongo-id@1.0.6 -mongo-livedata@1.0.12 -mousetrap:mousetrap@1.4.6_1 -mquandalle:autofocus@1.0.0 -mquandalle:collection-mutations@0.1.0 -mquandalle:jade@0.4.9 -mquandalle:jade-compiler@0.4.5 -mquandalle:jquery-textcomplete@0.8.0_1 -mquandalle:jquery-ui-drag-drop-sort@0.2.0 -mquandalle:moment@1.0.1 -mquandalle:mousetrap-bindglobal@0.0.1 -mquandalle:perfect-scrollbar@0.6.5_2 -msavin:usercache@1.0.0 -npm-bcrypt@0.9.3 -npm-mongo@2.2.33 -oauth@1.2.1 -oauth2@1.2.0 -observe-sequence@1.0.16 -ongoworks:speakingurl@1.1.0 -ordered-dict@1.0.9 -peerlibrary:assert@0.2.5 -peerlibrary:base-component@0.16.0 -peerlibrary:blaze-components@0.15.1 -peerlibrary:computed-field@0.7.0 -peerlibrary:reactive-field@0.3.0 -percolate:synced-cron@1.1.1 -promise@0.10.0 -raix:eventemitter@0.1.3 -raix:handlebar-helpers@0.2.5 -rajit:bootstrap3-datepicker@1.7.1 -random@1.0.10 -rate-limit@1.0.8 -reactive-dict@1.2.0 -reactive-var@1.0.11 -reload@1.1.11 -retry@1.0.9 -routepolicy@1.0.12 -rzymek:fullcalendar@3.8.0 -service-configuration@1.0.11 -session@1.1.7 -sha@1.0.9 -shell-server@0.3.1 -simple:authenticate-user-by-token@1.0.1 -simple:json-routes@2.1.0 -simple:rest-accounts-password@1.1.2 -simple:rest-bearer-token-parser@1.0.1 -simple:rest-json-error-handler@1.0.1 -softwarerero:accounts-t9n@1.3.11 -spacebars@1.0.15 -spacebars-compiler@1.1.3 -srp@1.0.10 -standard-minifier-css@1.3.5 -standard-minifier-js@2.2.3 -staringatlights:fast-render@2.16.5 -staringatlights:inject-data@2.0.5 -stylus@2.513.13 -tap:i18n@1.8.2 -templates:tabs@2.3.0 -templating@1.3.2 -templating-compiler@1.3.3 -templating-runtime@1.3.2 -templating-tools@1.1.2 -tracker@1.1.3 -twbs:bootstrap@3.3.6 -ui@1.0.13 -underscore@1.0.10 -url@1.1.0 -useraccounts:core@1.14.2 -useraccounts:flow-routing@1.14.2 -useraccounts:unstyled@1.14.2 -verron:autosize@3.0.8 -webapp@1.4.0 -webapp-hashing@1.0.9 -wekan-accounts-cas@0.1.0 -wekan-accounts-oidc@1.0.10 -wekan-ldap@0.0.2 -wekan-markdown@1.0.7 -wekan-oidc@1.0.12 -wekan-scrollbar@3.1.3 -yasaricli:slugify@0.0.7 -zimme:active-route@2.3.2 diff --git a/.meteor-1.6-snap/package.json b/.meteor-1.6-snap/package.json deleted file mode 100644 index e2194990a..000000000 --- a/.meteor-1.6-snap/package.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "name": "wekan", - "version": "v3.15.0", - "description": "Open-Source kanban", - "private": true, - "scripts": { - "lint": "eslint --cache --ext .js --ignore-path .eslintignore .", - "lint:eslint:fix": "eslint --ext .js --ignore-path .eslintignore --fix .", - "lint:staged": "lint-staged", - "prettify": "prettier --write '**/*.js' '**/*.jsx'", - "test": "npm run lint" - }, - "lint-staged": { - "*.js": [ - "meteor npm run prettify", - "meteor npm run lint:eslint:fix", - "git add --force" - ], - "*.jsx": [ - "meteor npm run prettify", - "meteor npm run lint:eslint:fix", - "git add --force" - ], - "*.json": [ - "prettier --write", - "git add --force" - ] - }, - "pre-commit": "lint:staged", - "eslintConfig": { - "extends": "@meteorjs/eslint-config-meteor" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/wekan/wekan.git" - }, - "license": "MIT", - "bugs": { - "url": "https://github.com/wekan/wekan/issues" - }, - "homepage": "https://wekan.github.io", - "devDependencies": { - "eslint": "^5.16.0", - "eslint-config-meteor": "0.0.9", - "eslint-config-prettier": "^3.6.0", - "eslint-import-resolver-meteor": "^0.4.0", - "eslint-plugin-import": "^2.18.0", - "eslint-plugin-meteor": "^5.1.0", - "eslint-plugin-prettier": "^3.1.0", - "lint-staged": "^7.3.0", - "pre-commit": "^1.2.2", - "prettier": "^1.18.2", - "prettier-eslint": "^8.8.2" - }, - "dependencies": { - "@babel/runtime": "^7.5.4", - "ajv": "^5.0.0", - "babel-runtime": "^6.26.0", - "bcrypt": "^3.0.2", - "bson": "^4.0.0", - "bunyan": "^1.8.12", - "es6-promise": "^4.2.4", - "gridfs-stream": "^0.5.3", - "ldapjs": "^1.0.2", - "meteor-node-stubs": "^0.4.1", - "mongodb": "^2.2.19", - "os": "^0.1.1", - "page": "^1.8.6", - "qs": "^6.5.2", - "source-map-support": "^0.5.12", - "xss": "^1.0.6" - } -} diff --git a/.meteor-1.6-snap/rebuild-wekan.sh b/.meteor-1.6-snap/rebuild-wekan.sh deleted file mode 100755 index c473f414f..000000000 --- a/.meteor-1.6-snap/rebuild-wekan.sh +++ /dev/null @@ -1,161 +0,0 @@ -#!/bin/bash - -echo "Note: If you use other locale than en_US.UTF-8 , you need to additionally install en_US.UTF-8" -echo " with 'sudo dpkg-reconfigure locales' , so that MongoDB works correctly." -echo " You can still use any other locale as your main locale." - -#Below script installs newest node 8.x for Debian/Ubuntu/Mint. -#NODE_VERSION=8.16.0 -#X64NODE="https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.gz" - -function pause(){ - read -p "$*" -} - -function cprec(){ - if [[ -d "$1" ]]; then - if [[ ! -d "$2" ]]; then - sudo mkdir -p "$2" - fi - - for i in $(ls -A "$1"); do - cprec "$1/$i" "$2/$i" - done - else - sudo cp "$1" "$2" - fi -} - -# sudo npm doesn't work right, so this is a workaround -function npm_call(){ - TMPDIR="/tmp/tmp_npm_prefix" - if [[ -d "$TMPDIR" ]]; then - rm -rf $TMPDIR - fi - mkdir $TMPDIR - NPM_PREFIX="$(npm config get prefix)" - npm config set prefix $TMPDIR - npm "$@" - npm config set prefix "$NPM_PREFIX" - - echo "Moving files to $NPM_PREFIX" - for i in $(ls -A $TMPDIR); do - cprec "$TMPDIR/$i" "$NPM_PREFIX/$i" - done - rm -rf $TMPDIR -} - -#function wekan_repo_check(){ -## UNCOMMENTING, IT'S NOT REQUIRED THAT /HOME/USERNAME IS /HOME/WEKAN -# git_remotes="$(git remote show 2>/dev/null)" -# res="" -# for i in $git_remotes; do -# res="$(git remote get-url $i | sed 's/.*wekan\/wekan.*/wekan\/wekan/')" -# if [[ "$res" == "wekan/wekan" ]]; then -# break -# fi -# done -# -# if [[ "$res" != "wekan/wekan" ]]; then -# echo "$PWD is not a wekan repository" -# exit; -# fi -#} - -echo -PS3='Please enter your choice: ' -options=("Install Wekan dependencies" "Build Wekan" "Quit") -select opt in "${options[@]}" -do - case $opt in - "Install Wekan dependencies") - - if [[ "$OSTYPE" == "linux-gnu" ]]; then - echo "Linux"; - # Debian, Ubuntu, Mint - sudo apt-get install -y build-essential gcc g++ make git curl wget - curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - - sudo apt-get install -y nodejs - elif [[ "$OSTYPE" == "darwin"* ]]; then - echo "macOS"; - pause '1) Install XCode 2) Install Node 8.x from https://nodejs.org/en/ 3) Press [Enter] key to continue.' - elif [[ "$OSTYPE" == "cygwin" ]]; then - # POSIX compatibility layer and Linux environment emulation for Windows - echo "TODO: Add Cygwin"; - exit; - elif [[ "$OSTYPE" == "msys" ]]; then - # Lightweight shell and GNU utilities compiled for Windows (part of MinGW) - echo "TODO: Add msys on Windows"; - exit; - elif [[ "$OSTYPE" == "win32" ]]; then - # I'm not sure this can happen. - echo "TODO: Add Windows"; - exit; - elif [[ "$OSTYPE" == "freebsd"* ]]; then - echo "TODO: Add FreeBSD"; - exit; - else - echo "Unknown" - echo ${OSTYPE} - exit; - fi - - ## Latest npm with Meteor 1.6 - npm_call -g install npm - npm_call -g install node-gyp - # Latest fibers for Meteor 1.6 - npm_call -g install fibers@2.0.0 - # Install Meteor, if it's not yet installed - curl https://install.meteor.com | bash - break - ;; - "Build Wekan") - echo "Building Wekan." - #wekan_repo_check - # REPOS BELOW ARE INCLUDED TO WEKAN REPO - #rm -rf packages/kadira-flow-router packages/meteor-useraccounts-core packages/meteor-accounts-cas packages/wekan-ldap packages/wekan-ldap packages/wekan-scrfollbar packages/meteor-accounts-oidc packages/markdown - #mkdir packages - #cd packages - #git clone --depth 1 -b master https://github.com/wekan/flow-router.git kadira-flow-router - #git clone --depth 1 -b master https://github.com/meteor-useraccounts/core.git meteor-useraccounts-core - #git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-cas.git - #git clone --depth 1 -b master https://github.com/wekan/wekan-ldap.git - #git clone --depth 1 -b master https://github.com/wekan/wekan-scrollbar.git - #git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-oidc.git - #git clone --depth 1 -b master --recurse-submodules https://github.com/wekan/markdown.git - #mv meteor-accounts-oidc/packages/switch_accounts-oidc wekan_accounts-oidc - #mv meteor-accounts-oidc/packages/switch_oidc wekan_oidc - #rm -rf meteor-accounts-oidc - #if [[ "$OSTYPE" == "darwin"* ]]; then - # echo "sed at macOS"; - # sed -i '' 's/api\.versionsFrom/\/\/api.versionsFrom/' ~/repos/wekan/packages/meteor-useraccounts-core/package.js - #else - # echo "sed at ${OSTYPE}" - # sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' ~/repos/wekan/packages/meteor-useraccounts-core/package.js - #fi - #cd .. - rm -rf node_modules - meteor npm install - rm -rf .build - meteor build .build --directory - cp -f fix-download-unicode/cfs_access-point.txt .build/bundle/programs/server/packages/cfs_access-point.js - #Removed binary version of bcrypt because of security vulnerability that is not fixed yet. - #https://github.com/wekan/wekan/commit/4b2010213907c61b0e0482ab55abb06f6a668eac - #https://github.com/wekan/wekan/commit/7eeabf14be3c63fae2226e561ef8a0c1390c8d3c - #cd ~/repos/wekan/.build/bundle/programs/server/npm/node_modules/meteor/npm-bcrypt - #rm -rf node_modules/bcrypt - #meteor npm install bcrypt - cd .build/bundle/programs/server - rm -rf node_modules - meteor npm install - #meteor npm install bcrypt - cd ../../../.. - echo Done. - break - ;; - "Quit") - break - ;; - *) echo invalid option;; - esac -done diff --git a/snapcraft.yaml b/snapcraft.yaml index ebb21b7cf..2dfb3bbbe 100644 --- a/snapcraft.yaml +++ b/snapcraft.yaml @@ -102,14 +102,6 @@ parts: override-build: | echo "Cleaning environment first" rm -rf ~/.meteor ~/.npm /usr/local/lib/node_modules - # Delete meteor 1.8.x dependencies and - # move Snap's working meteor 1.6.0.1 dependencies to be used at Wekan Snap - #rm -rf .meteor - #mv .meteor-1.6-snap/.meteor . - #mv .meteor-1.6-snap/package.json . - #mv .meteor-1.6-snap/package-lock.json . - #mv .meteor-1.6-snap/rebuild-wekan.sh . - rm -rf .meteor-1.6-snap # Create the OpenAPI specification rm -rf .build #mkdir -p .build/python From 861868fa295fb549c64484eb79707e93ab79bc0c Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Tue, 13 Aug 2019 00:43:09 +0300 Subject: [PATCH 09/17] Update ChangeLog. --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 64f695d0d..f7da21068 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,9 @@ This release adds the following new features: - [Add to Admin Panel / Version: Meteor version, MongoDB version, MongoDB storage engine, MongoDB Oplog enabled](https://github.com/wekan/wekan/commit/20294d833a2bf0bd1720444f4ffe018b025dacca). Thanks to RocketChat developers for MongoDB detection code and xet7 for other code. +- [Use Meteor 1.8.1 and MongoDB 3.2.22 in Snap](https://github.com/wekan/wekan/commit/39ffe1d80dad5759b338d4ed2d6c576717af2a07). + Removed Meteor 1.6.x files. + Thanks to xet7. and fixes the following bugs: From 46176f5cec1ebbd2351269fb8b36cd160c893819 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Tue, 13 Aug 2019 01:13:57 +0300 Subject: [PATCH 10/17] Update ChangeLog. --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f7da21068..19da3b518 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ This release adds the following new features: - [Use Meteor 1.8.1 and MongoDB 3.2.22 in Snap](https://github.com/wekan/wekan/commit/39ffe1d80dad5759b338d4ed2d6c576717af2a07). Removed Meteor 1.6.x files. Thanks to xet7. +- [Enable HTML email content for richer comment](https://github.com/wekan/wekan/pull/2611). + Thanks to whowillcare. and fixes the following bugs: @@ -17,6 +19,9 @@ and fixes the following bugs: Thanks to Trekky12. - [Fix insert action for CustomFields API](https://github.com/wekan/wekan/pull/2610). Thanks to JimCircadian. +- [Fixed a few issues related summernote enabled: 1) @ user couldn't send out email sometime, due to html format. + 2) @ user link wasn't able to show user info by clicking](https://github.com/wekan/wekan/pull/2611). + Thanks to whowillcare. Thanks to above GitHub users for their contributions and translators for their translations. From 0cf8996df905281dbd5ffcae2465478da9d4ed93 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Tue, 13 Aug 2019 01:18:37 +0300 Subject: [PATCH 11/17] Update translations. --- i18n/fr.i18n.json | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/i18n/fr.i18n.json b/i18n/fr.i18n.json index 19e655a62..10ca6a8c2 100644 --- a/i18n/fr.i18n.json +++ b/i18n/fr.i18n.json @@ -708,23 +708,23 @@ "delete-all": "Tout supprimer", "loading": "Chargement, merci de patienter.", "previous_as": "dernière heure était", - "act-a-dueAt": "modified due time to \nWhen: __timeValue__\nWhere: __card__\n previous due was __timeOldValue__", - "act-a-endAt": "modified ending time to __timeValue__ from (__timeOldValue__)", - "act-a-startAt": "modified starting time to __timeValue__ from (__timeOldValue__)", - "act-a-receivedAt": "modified received time to __timeValue__ from (__timeOldValue__)", - "a-dueAt": "modified due time to be", - "a-endAt": "modified ending time to be", - "a-startAt": "modified starting time to be", - "a-receivedAt": "modified received time to be", - "almostdue": "current due time %s is approaching", - "pastdue": "current due time %s is past", - "duenow": "current due time %s is today", - "act-withDue": "__card__ due reminders [__board__]", - "act-almostdue": "was reminding the current due (__timeValue__) of __card__ is approaching", - "act-pastdue": "was reminding the current due (__timeValue__) of __card__ is past", - "act-duenow": "was reminding the current due (__timeValue__) of __card__ is now", + "act-a-dueAt": "Echéance modifiée à\nQuand: __timeValue__\nOù: __card__\n L'échéance précédente était __timeOldValue__", + "act-a-endAt": "Modification de la date de fin de __timeOldValue__ à __timeValue__", + "act-a-startAt": "Modification de la date de début de __timeOldValue__ à __timeValue__", + "act-a-receivedAt": "Modification de la date de réception de __timeOldValue__ à __timeValue__", + "a-dueAt": "Echéance modifiée à ", + "a-endAt": "Date de fin modifiée à", + "a-startAt": "Date de début modifiée à", + "a-receivedAt": "Date de réception modifiée à", + "almostdue": "La date d'échéance %s approche", + "pastdue": "La date d'échéance %s est passée", + "duenow": "La date d'échéance %s est aujourd'hui", + "act-withDue": "__card__ rappel d'échéance [__board__]", + "act-almostdue": "rappelle que l'échéance (__timeValue__) de __card__ approche", + "act-pastdue": "rappelle que l'échéance (__timeValue__) de __card__ est passée", + "act-duenow": "rappelle que l'échéance (__timeValue__) de __card__ est maintenant", "act-atUserComment": "Vous avez été mentionné dans [__board__] __card__", "delete-user-confirm-popup": "Êtes-vous sûr de vouloir supprimer ce compte ? Cette opération ne peut pas être annulée. ", "accounts-allowUserDelete": "Autoriser les utilisateurs à supprimer leur compte", - "hide-minicard-label-text": "Hide minicard label text" + "hide-minicard-label-text": "Cacher le label de la minicarte" } From c12496e91dd34903b3959880b57d54f91c8aad3a Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Tue, 13 Aug 2019 01:23:30 +0300 Subject: [PATCH 12/17] v3.16 --- CHANGELOG.md | 2 +- Stackerfile.yml | 2 +- package.json | 2 +- public/api/wekan.html | 17 ++++++++++++++--- public/api/wekan.yml | 8 ++++++-- sandstorm-pkgdef.capnp | 4 ++-- 6 files changed, 25 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 19da3b518..521e3094e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# Upcoming Wekan release +# v3.16 2019-08-13 Wekan release This release adds the following new features: diff --git a/Stackerfile.yml b/Stackerfile.yml index beee233bc..3e05f8a0b 100644 --- a/Stackerfile.yml +++ b/Stackerfile.yml @@ -1,5 +1,5 @@ appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928 -appVersion: "v3.15.0" +appVersion: "v3.16.0" files: userUploads: - README.md diff --git a/package.json b/package.json index e2194990a..9efffcb93 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wekan", - "version": "v3.15.0", + "version": "v3.16.0", "description": "Open-Source kanban", "private": true, "scripts": { diff --git a/public/api/wekan.html b/public/api/wekan.html index ec8b7e783..37e7fc84a 100644 --- a/public/api/wekan.html +++ b/public/api/wekan.html @@ -1524,7 +1524,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
  • - Wekan REST API v3.11 + Wekan REST API v3.15
  • @@ -2017,7 +2017,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
    -

    Wekan REST API v3.11

    +

    Wekan REST API v3.15

    Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

    @@ -11594,6 +11594,7 @@ System.out.println(response.toString()); ], "fullname": "string", "hiddenSystemMessages": true, + "hiddenMinicardLabelText": true, "initials": "string", "invitedBoards": [ "string" @@ -12246,6 +12247,7 @@ System.out.println(response.toString()); ], "fullname": "string", "hiddenSystemMessages": true, + "hiddenMinicardLabelText": true, "initials": "string", "invitedBoards": [ "string" @@ -15385,6 +15387,7 @@ UserSecurity ], "fullname": "string", "hiddenSystemMessages": true, + "hiddenMinicardLabelText": true, "initials": "string", "invitedBoards": [ "string" @@ -15550,6 +15553,7 @@ UserSecurity ], "fullname": "string", "hiddenSystemMessages": true, + "hiddenMinicardLabelText": true, "initials": "string", "invitedBoards": [ "string" @@ -15609,7 +15613,14 @@ UserSecurity boolean false none -does the user wants to hide system messages? +does the user want to hide system messages? + + +hiddenMinicardLabelText +boolean +false +none +does the user want to hide minicard label texts? initials diff --git a/public/api/wekan.yml b/public/api/wekan.yml index 539b0f61e..af568d3e3 100644 --- a/public/api/wekan.yml +++ b/public/api/wekan.yml @@ -1,7 +1,7 @@ swagger: '2.0' info: title: Wekan REST API - version: v3.11 + version: v3.15 description: | The REST API allows you to control and extend Wekan with ease. @@ -2867,7 +2867,11 @@ definitions: type: string hiddenSystemMessages: description: | - does the user wants to hide system messages? + does the user want to hide system messages? + type: boolean + hiddenMinicardLabelText: + description: | + does the user want to hide minicard label texts? type: boolean initials: description: | diff --git a/sandstorm-pkgdef.capnp b/sandstorm-pkgdef.capnp index e13b6e845..74d6001e3 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 = 317, + appVersion = 318, # Increment this for every release. - appMarketingVersion = (defaultText = "3.15.0~2019-08-11"), + appMarketingVersion = (defaultText = "3.16.0~2019-08-13"), # Human-readable presentation of the app version. minUpgradableAppVersion = 0, From 411ded513d6cf7fed2f0fa1a58390bb365c79adb Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Tue, 13 Aug 2019 01:34:10 +0300 Subject: [PATCH 13/17] Fix typos. --- releases/release.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release.sh b/releases/release.sh index 72acc8605..aca9775d8 100755 --- a/releases/release.sh +++ b/releases/release.sh @@ -4,7 +4,7 @@ ~/repos/wekan/releases/release-bundle.sh $1 # Build Sandstorm -~/repos/wekan/release-sandstorm.sh $1 +~/repos/wekan/releases/release-sandstorm.sh $1 # Build Snap #./release-snap.sh $1 From 306301e881b2637750b1aa3ff66a0d90a9568474 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Tue, 13 Aug 2019 02:33:41 +0300 Subject: [PATCH 14/17] Assignee field. In Progress. Thanks to xet7 ! Related #2452 --- client/lib/filter.js | 3 +- models/cards.js | 162 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 164 insertions(+), 1 deletion(-) diff --git a/client/lib/filter.js b/client/lib/filter.js index f19dc617a..940d54806 100644 --- a/client/lib/filter.js +++ b/client/lib/filter.js @@ -451,10 +451,11 @@ Filter = { // before changing the schema. labelIds: new SetFilter(), members: new SetFilter(), + assignees: new SetFilter(), customFields: new SetFilter('_id'), advanced: new AdvancedFilter(), - _fields: ['labelIds', 'members', 'customFields'], + _fields: ['labelIds', 'members', 'assignees', 'customFields'], // We don't filter cards that have been added after the last filter change. To // implement this we keep the id of these cards in this `_exceptions` fields diff --git a/models/cards.js b/models/cards.js index d92d003c8..121d4a0f5 100644 --- a/models/cards.js +++ b/models/cards.js @@ -201,6 +201,14 @@ Cards.attachSchema( optional: true, defaultValue: [], }, + assignees: { + /** + * list of assignees (user IDs) who are responsible for completing card + */ + type: [String], + optional: true, + defaultValue: [], + }, receivedAt: { /** * Date the card was received @@ -409,6 +417,10 @@ Cards.helpers({ return _.contains(this.getMembers(), memberId); }, + isAssignee(assigneeId) { + return _.contains(this.getAssignee(), assigneeId); + }, + activities() { if (this.isLinkedCard()) { return Activities.find( @@ -743,6 +755,20 @@ Cards.helpers({ } }, + getAssignees() { + if (this.isLinkedCard()) { + const card = Cards.findOne({ _id: this.linkedId }); + return card.assignees; + } else if (this.isLinkedBoard()) { + const board = Boards.findOne({ _id: this.linkedId }); + return board.activeAssignees().map(assignee => { + return assignee.userId; + }); + } else { + return this.assignees; + } + }, + assignMember(memberId) { if (this.isLinkedCard()) { return Cards.update( @@ -760,6 +786,23 @@ Cards.helpers({ } }, + assignAssignee(assigneeId) { + if (this.isLinkedCard()) { + return Cards.update( + { _id: this.linkedId }, + { $addToSet: { assignees: assigneeId } }, + ); + } else if (this.isLinkedBoard()) { + const board = Boards.findOne({ _id: this.linkedId }); + return board.addAssignee(assigneeId); + } else { + return Cards.update( + { _id: this._id }, + { $addToSet: { assignees: assigneeId } }, + ); + } + }, + unassignMember(memberId) { if (this.isLinkedCard()) { return Cards.update( @@ -774,6 +817,23 @@ Cards.helpers({ } }, + unassignAssignee(assigneeId) { + if (this.isLinkedCard()) { + return Cards.update( + { _id: this.linkedId }, + { $pull: { assignees: assigneeId } }, + ); + } else if (this.isLinkedBoard()) { + const board = Boards.findOne({ _id: this.linkedId }); + return board.removeAssignee(assigneeId); + } else { + return Cards.update( + { _id: this._id }, + { $pull: { assignees: assigneeId } }, + ); + } + }, + toggleMember(memberId) { if (this.getMembers() && this.getMembers().indexOf(memberId) > -1) { return this.unassignMember(memberId); @@ -782,6 +842,14 @@ Cards.helpers({ } }, + toggleAssignee(assigneeId) { + if (this.getAssignees() && this.getAssignees().indexOf(assigneeId) > -1) { + return this.unassignAssignee(assigneeId); + } else { + return this.assignAssignee(assigneeId); + } + }, + getReceived() { if (this.isLinkedCard()) { const card = Cards.findOne({ _id: this.linkedId }); @@ -1124,6 +1192,14 @@ Cards.mutations({ }; }, + assignAssignee(assigneeId) { + return { + $addToSet: { + assignees: assigneeId, + }, + }; + }, + unassignMember(memberId) { return { $pull: { @@ -1132,6 +1208,14 @@ Cards.mutations({ }; }, + unassignAssignee(assigneeId) { + return { + $pull: { + assignee: assigneeId, + }, + }; + }, + toggleMember(memberId) { if (this.members && this.members.indexOf(memberId) > -1) { return this.unassignMember(memberId); @@ -1140,6 +1224,14 @@ Cards.mutations({ } }, + toggleAssignee(assigneeId) { + if (this.assignees && this.assignees.indexOf(assigneeId) > -1) { + return this.unassignAssignee(assigneeId); + } else { + return this.assignAssignee(assigneeId); + } + }, + assignCustomField(customFieldId) { return { $addToSet: { @@ -1414,6 +1506,28 @@ function cardMembers(userId, doc, fieldNames, modifier) { } } + function cardAssignees(userId, doc, fieldNames, modifier) { + if (!_.contains(fieldNames, 'assignees')) return; + let assigneeId; + // Say hello to the new assignee + if (modifier.$addToSet && modifier.$addToSet.assignees) { + assigneeId = modifier.$addToSet.assignees; + const username = Users.findOne(assigneeId).username; + if (!_.contains(doc.assignees, assigneeId)) { + Activities.insert({ + userId, + username, + activityType: 'joinAssignee', + boardId: doc.boardId, + cardId: doc._id, + assigneeId, + listId: doc.listId, + swimlaneId: doc.swimlaneId, + }); + } + } + } + // Say goodbye to the former member if (modifier.$pull && modifier.$pull.members) { memberId = modifier.$pull.members; @@ -1432,6 +1546,25 @@ function cardMembers(userId, doc, fieldNames, modifier) { }); } } + + // Say goodbye to the former assignee + if (modifier.$pull && modifier.$pull.assignees) { + assigneeId = modifier.$pull.assignees; + const username = Users.findOne(assigneeId).username; + // Check that the former assignee is assignee of the card + if (_.contains(doc.assignees, assigneeId)) { + Activities.insert({ + userId, + username, + activityType: 'unjoinAssignee', + boardId: doc.boardId, + cardId: doc._id, + assigneeId, + listId: doc.listId, + swimlaneId: doc.swimlaneId, + }); + } + } } function cardLabels(userId, doc, fieldNames, modifier) { @@ -1650,6 +1783,12 @@ if (Meteor.isServer) { updateActivities(doc, fieldNames, modifier); }); + // Add a new activity if we add or remove a assignee to the card + Cards.before.update((userId, doc, fieldNames, modifier) => { + cardAssignees(userId, doc, fieldNames, modifier); + updateActivities(doc, fieldNames, modifier); + }); + // Add a new activity if we add or remove a label to the card Cards.before.update((userId, doc, fieldNames, modifier) => { cardLabels(userId, doc, fieldNames, modifier); @@ -1809,6 +1948,7 @@ if (Meteor.isServer) { * @param {string} description the description of the new card * @param {string} swimlaneId the swimlane ID of the new card * @param {string} [members] the member IDs list of the new card + * @param {string} [assignees] the assignee IDs list of the new card * @return_type {_id: string} */ JsonRoutes.add('POST', '/api/boards/:boardId/lists/:listId/cards', function( @@ -1830,6 +1970,7 @@ if (Meteor.isServer) { _id: req.body.authorId, }); const members = req.body.members || [req.body.authorId]; + const assignees = req.body.assignees; if (typeof check !== 'undefined') { const id = Cards.direct.insert({ title: req.body.title, @@ -1841,6 +1982,7 @@ if (Meteor.isServer) { swimlaneId: req.body.swimlaneId, sort: currentCards.count(), members, + assignees, }); JsonRoutes.sendResult(res, { code: 200, @@ -1892,6 +2034,7 @@ if (Meteor.isServer) { * @param {string} [labelIds] the new list of label IDs attached to the card * @param {string} [swimlaneId] the new swimlane ID of the card * @param {string} [members] the new list of member IDs attached to the card + * @param {string} [assignees] the new list of assignee IDs attached to the card * @param {string} [requestedBy] the new requestedBy field of the card * @param {string} [assignedBy] the new assignedBy field of the card * @param {string} [receivedAt] the new receivedAt field of the card @@ -2152,6 +2295,25 @@ if (Meteor.isServer) { { $set: { members: newmembers } }, ); } + if (req.body.hasOwnProperty('assignees')) { + let newassignees = req.body.assignees; + if (_.isString(newassignees)) { + if (newassignees === '') { + newassignees = null; + } else { + newassignees = [newassignees]; + } + } + Cards.direct.update( + { + _id: paramCardId, + listId: paramListId, + boardId: paramBoardId, + archived: false, + }, + { $set: { assignees: newassignees } }, + ); + } if (req.body.hasOwnProperty('swimlaneId')) { const newParamSwimlaneId = req.body.swimlaneId; Cards.direct.update( From ee0fb094e6a754809b3b465eb0ef2da9d48a510b Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Tue, 13 Aug 2019 11:45:30 +0300 Subject: [PATCH 15/17] Revert In-Progress Assignee field, moving it to feature branch. Thanks to xet7 ! Fixes #2612 --- client/lib/filter.js | 3 +- models/cards.js | 162 ------------------------------------------- 2 files changed, 1 insertion(+), 164 deletions(-) diff --git a/client/lib/filter.js b/client/lib/filter.js index 940d54806..f19dc617a 100644 --- a/client/lib/filter.js +++ b/client/lib/filter.js @@ -451,11 +451,10 @@ Filter = { // before changing the schema. labelIds: new SetFilter(), members: new SetFilter(), - assignees: new SetFilter(), customFields: new SetFilter('_id'), advanced: new AdvancedFilter(), - _fields: ['labelIds', 'members', 'assignees', 'customFields'], + _fields: ['labelIds', 'members', 'customFields'], // We don't filter cards that have been added after the last filter change. To // implement this we keep the id of these cards in this `_exceptions` fields diff --git a/models/cards.js b/models/cards.js index 121d4a0f5..d92d003c8 100644 --- a/models/cards.js +++ b/models/cards.js @@ -201,14 +201,6 @@ Cards.attachSchema( optional: true, defaultValue: [], }, - assignees: { - /** - * list of assignees (user IDs) who are responsible for completing card - */ - type: [String], - optional: true, - defaultValue: [], - }, receivedAt: { /** * Date the card was received @@ -417,10 +409,6 @@ Cards.helpers({ return _.contains(this.getMembers(), memberId); }, - isAssignee(assigneeId) { - return _.contains(this.getAssignee(), assigneeId); - }, - activities() { if (this.isLinkedCard()) { return Activities.find( @@ -755,20 +743,6 @@ Cards.helpers({ } }, - getAssignees() { - if (this.isLinkedCard()) { - const card = Cards.findOne({ _id: this.linkedId }); - return card.assignees; - } else if (this.isLinkedBoard()) { - const board = Boards.findOne({ _id: this.linkedId }); - return board.activeAssignees().map(assignee => { - return assignee.userId; - }); - } else { - return this.assignees; - } - }, - assignMember(memberId) { if (this.isLinkedCard()) { return Cards.update( @@ -786,23 +760,6 @@ Cards.helpers({ } }, - assignAssignee(assigneeId) { - if (this.isLinkedCard()) { - return Cards.update( - { _id: this.linkedId }, - { $addToSet: { assignees: assigneeId } }, - ); - } else if (this.isLinkedBoard()) { - const board = Boards.findOne({ _id: this.linkedId }); - return board.addAssignee(assigneeId); - } else { - return Cards.update( - { _id: this._id }, - { $addToSet: { assignees: assigneeId } }, - ); - } - }, - unassignMember(memberId) { if (this.isLinkedCard()) { return Cards.update( @@ -817,23 +774,6 @@ Cards.helpers({ } }, - unassignAssignee(assigneeId) { - if (this.isLinkedCard()) { - return Cards.update( - { _id: this.linkedId }, - { $pull: { assignees: assigneeId } }, - ); - } else if (this.isLinkedBoard()) { - const board = Boards.findOne({ _id: this.linkedId }); - return board.removeAssignee(assigneeId); - } else { - return Cards.update( - { _id: this._id }, - { $pull: { assignees: assigneeId } }, - ); - } - }, - toggleMember(memberId) { if (this.getMembers() && this.getMembers().indexOf(memberId) > -1) { return this.unassignMember(memberId); @@ -842,14 +782,6 @@ Cards.helpers({ } }, - toggleAssignee(assigneeId) { - if (this.getAssignees() && this.getAssignees().indexOf(assigneeId) > -1) { - return this.unassignAssignee(assigneeId); - } else { - return this.assignAssignee(assigneeId); - } - }, - getReceived() { if (this.isLinkedCard()) { const card = Cards.findOne({ _id: this.linkedId }); @@ -1192,14 +1124,6 @@ Cards.mutations({ }; }, - assignAssignee(assigneeId) { - return { - $addToSet: { - assignees: assigneeId, - }, - }; - }, - unassignMember(memberId) { return { $pull: { @@ -1208,14 +1132,6 @@ Cards.mutations({ }; }, - unassignAssignee(assigneeId) { - return { - $pull: { - assignee: assigneeId, - }, - }; - }, - toggleMember(memberId) { if (this.members && this.members.indexOf(memberId) > -1) { return this.unassignMember(memberId); @@ -1224,14 +1140,6 @@ Cards.mutations({ } }, - toggleAssignee(assigneeId) { - if (this.assignees && this.assignees.indexOf(assigneeId) > -1) { - return this.unassignAssignee(assigneeId); - } else { - return this.assignAssignee(assigneeId); - } - }, - assignCustomField(customFieldId) { return { $addToSet: { @@ -1506,28 +1414,6 @@ function cardMembers(userId, doc, fieldNames, modifier) { } } - function cardAssignees(userId, doc, fieldNames, modifier) { - if (!_.contains(fieldNames, 'assignees')) return; - let assigneeId; - // Say hello to the new assignee - if (modifier.$addToSet && modifier.$addToSet.assignees) { - assigneeId = modifier.$addToSet.assignees; - const username = Users.findOne(assigneeId).username; - if (!_.contains(doc.assignees, assigneeId)) { - Activities.insert({ - userId, - username, - activityType: 'joinAssignee', - boardId: doc.boardId, - cardId: doc._id, - assigneeId, - listId: doc.listId, - swimlaneId: doc.swimlaneId, - }); - } - } - } - // Say goodbye to the former member if (modifier.$pull && modifier.$pull.members) { memberId = modifier.$pull.members; @@ -1546,25 +1432,6 @@ function cardMembers(userId, doc, fieldNames, modifier) { }); } } - - // Say goodbye to the former assignee - if (modifier.$pull && modifier.$pull.assignees) { - assigneeId = modifier.$pull.assignees; - const username = Users.findOne(assigneeId).username; - // Check that the former assignee is assignee of the card - if (_.contains(doc.assignees, assigneeId)) { - Activities.insert({ - userId, - username, - activityType: 'unjoinAssignee', - boardId: doc.boardId, - cardId: doc._id, - assigneeId, - listId: doc.listId, - swimlaneId: doc.swimlaneId, - }); - } - } } function cardLabels(userId, doc, fieldNames, modifier) { @@ -1783,12 +1650,6 @@ if (Meteor.isServer) { updateActivities(doc, fieldNames, modifier); }); - // Add a new activity if we add or remove a assignee to the card - Cards.before.update((userId, doc, fieldNames, modifier) => { - cardAssignees(userId, doc, fieldNames, modifier); - updateActivities(doc, fieldNames, modifier); - }); - // Add a new activity if we add or remove a label to the card Cards.before.update((userId, doc, fieldNames, modifier) => { cardLabels(userId, doc, fieldNames, modifier); @@ -1948,7 +1809,6 @@ if (Meteor.isServer) { * @param {string} description the description of the new card * @param {string} swimlaneId the swimlane ID of the new card * @param {string} [members] the member IDs list of the new card - * @param {string} [assignees] the assignee IDs list of the new card * @return_type {_id: string} */ JsonRoutes.add('POST', '/api/boards/:boardId/lists/:listId/cards', function( @@ -1970,7 +1830,6 @@ if (Meteor.isServer) { _id: req.body.authorId, }); const members = req.body.members || [req.body.authorId]; - const assignees = req.body.assignees; if (typeof check !== 'undefined') { const id = Cards.direct.insert({ title: req.body.title, @@ -1982,7 +1841,6 @@ if (Meteor.isServer) { swimlaneId: req.body.swimlaneId, sort: currentCards.count(), members, - assignees, }); JsonRoutes.sendResult(res, { code: 200, @@ -2034,7 +1892,6 @@ if (Meteor.isServer) { * @param {string} [labelIds] the new list of label IDs attached to the card * @param {string} [swimlaneId] the new swimlane ID of the card * @param {string} [members] the new list of member IDs attached to the card - * @param {string} [assignees] the new list of assignee IDs attached to the card * @param {string} [requestedBy] the new requestedBy field of the card * @param {string} [assignedBy] the new assignedBy field of the card * @param {string} [receivedAt] the new receivedAt field of the card @@ -2295,25 +2152,6 @@ if (Meteor.isServer) { { $set: { members: newmembers } }, ); } - if (req.body.hasOwnProperty('assignees')) { - let newassignees = req.body.assignees; - if (_.isString(newassignees)) { - if (newassignees === '') { - newassignees = null; - } else { - newassignees = [newassignees]; - } - } - Cards.direct.update( - { - _id: paramCardId, - listId: paramListId, - boardId: paramBoardId, - archived: false, - }, - { $set: { assignees: newassignees } }, - ); - } if (req.body.hasOwnProperty('swimlaneId')) { const newParamSwimlaneId = req.body.swimlaneId; Cards.direct.update( From a7b7fd874d463fd199147d6e8e4403cb66020b9a Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Tue, 13 Aug 2019 12:01:04 +0300 Subject: [PATCH 16/17] Update translations. --- i18n/de.i18n.json | 8 ++++---- i18n/tr.i18n.json | 4 ++-- i18n/zh-CN.i18n.json | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/i18n/de.i18n.json b/i18n/de.i18n.json index f0b1f04fd..a8b904857 100644 --- a/i18n/de.i18n.json +++ b/i18n/de.i18n.json @@ -512,10 +512,10 @@ "new-outgoing-webhook": "Neuer ausgehender Webhook", "no-name": "(Unbekannt)", "Node_version": "Node-Version", - "Meteor_version": "Meteor version", - "MongoDB_version": "MongoDB version", - "MongoDB_storage_engine": "MongoDB storage engine", - "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", + "Meteor_version": "Meteor-Version", + "MongoDB_version": "MongoDB-Version", + "MongoDB_storage_engine": "MongoDB-Speicher-Engine", + "MongoDB_Oplog_enabled": "MongoDB-Oplog aktiviert", "OS_Arch": "Betriebssystem-Architektur", "OS_Cpus": "Anzahl Prozessoren", "OS_Freemem": "Freier Arbeitsspeicher", diff --git a/i18n/tr.i18n.json b/i18n/tr.i18n.json index 3fec88f0c..fc3084c18 100644 --- a/i18n/tr.i18n.json +++ b/i18n/tr.i18n.json @@ -109,8 +109,8 @@ "restore-board": "Panoyu Geri Getir", "no-archived-boards": "Arşivde Pano Yok.", "archives": "Arşivle", - "template": "Template", - "templates": "Templates", + "template": "Şablon", + "templates": "Şablonlar", "assign-member": "Üye ata", "attached": "dosya(sı) eklendi", "attachment": "Ek Dosya", diff --git a/i18n/zh-CN.i18n.json b/i18n/zh-CN.i18n.json index 8f66ea13f..4fef18809 100644 --- a/i18n/zh-CN.i18n.json +++ b/i18n/zh-CN.i18n.json @@ -512,10 +512,10 @@ "new-outgoing-webhook": "新建外部Web挂钩", "no-name": "(未知)", "Node_version": "Node.js版本", - "Meteor_version": "Meteor version", - "MongoDB_version": "MongoDB version", - "MongoDB_storage_engine": "MongoDB storage engine", - "MongoDB_Oplog_enabled": "MongoDB Oplog enabled", + "Meteor_version": "Meteor版本", + "MongoDB_version": "MongoDB版本", + "MongoDB_storage_engine": "MongoDB存储引擎", + "MongoDB_Oplog_enabled": "MongoDB Oplog已启用", "OS_Arch": "系统架构", "OS_Cpus": "系统 CPU数量", "OS_Freemem": "系统可用内存", From 76dbadf1bad1a7ecf59b111df34751c04277db5b Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Tue, 13 Aug 2019 12:04:58 +0300 Subject: [PATCH 17/17] v3.17 --- CHANGELOG.md | 10 ++++++++++ Stackerfile.yml | 2 +- package.json | 2 +- public/api/wekan.html | 4 ++-- public/api/wekan.yml | 2 +- sandstorm-pkgdef.capnp | 4 ++-- 6 files changed, 17 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 521e3094e..d56396bc8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ +# v3.17 2019-08-13 Wekan release + +This release fixes the following bugs: + +- [Fix ReferenceError: cardAssignees is not defined](https://github.com/wekan/wekan/issues/2612). + Reverted In-Progress Assignee field, moving it to feature branch. + Thanks to saschafoerster and to xet7. + +Thanks to above GitHub users for their contributions and translators for their translations. + # v3.16 2019-08-13 Wekan release This release adds the following new features: diff --git a/Stackerfile.yml b/Stackerfile.yml index 3e05f8a0b..f3f798a7e 100644 --- a/Stackerfile.yml +++ b/Stackerfile.yml @@ -1,5 +1,5 @@ appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928 -appVersion: "v3.16.0" +appVersion: "v3.17.0" files: userUploads: - README.md diff --git a/package.json b/package.json index 9efffcb93..4b65ad980 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wekan", - "version": "v3.16.0", + "version": "v3.17.0", "description": "Open-Source kanban", "private": true, "scripts": { diff --git a/public/api/wekan.html b/public/api/wekan.html index 37e7fc84a..d19dac6c7 100644 --- a/public/api/wekan.html +++ b/public/api/wekan.html @@ -1524,7 +1524,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
    • - Wekan REST API v3.15 + Wekan REST API v3.16
    • @@ -2017,7 +2017,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
      -

      Wekan REST API v3.15

      +

      Wekan REST API v3.16

      Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

      diff --git a/public/api/wekan.yml b/public/api/wekan.yml index af568d3e3..891f7f857 100644 --- a/public/api/wekan.yml +++ b/public/api/wekan.yml @@ -1,7 +1,7 @@ swagger: '2.0' info: title: Wekan REST API - version: v3.15 + version: v3.16 description: | The REST API allows you to control and extend Wekan with ease. diff --git a/sandstorm-pkgdef.capnp b/sandstorm-pkgdef.capnp index 74d6001e3..59dca6d86 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 = 318, + appVersion = 319, # Increment this for every release. - appMarketingVersion = (defaultText = "3.16.0~2019-08-13"), + appMarketingVersion = (defaultText = "3.17.0~2019-08-13"), # Human-readable presentation of the app version. minUpgradableAppVersion = 0,