Compare commits

...
40 Commits
Author SHA1 Message Date
Lauri Ojansivu f1c962fbbc v6.78 2023-02-28 14:21:46 +02:00
Lauri Ojansivu 5d79c231ed Try to fix some security issue.
Thanks to Responsible Security Disclousure contributors and xet7 !
2023-02-28 14:16:08 +02:00
Lauri Ojansivu 972f0481e5 v6.77 2023-02-27 17:29:57 +02:00
Lauri Ojansivu 49781aae17 Updated ChangeLog. 2023-02-27 17:26:08 +02:00
Lauri Ojansivu 51f22f48dc Use MongoDB 5 at docker-compose.yml .
Thanks to xet7 !
2023-02-27 17:24:54 +02:00
Lauri Ojansivu a64381153f MongoDB to 5 for beta Snap. MongoDB 5 does not seem to show some errors that only MongoDB 6 has. 2023-02-27 17:03:47 +02:00
Lauri Ojansivu 10280966ac Updated ChangeLog. 2023-02-27 17:01:23 +02:00
Lauri Ojansivu 16ad6bf9fc Try to fix attachment migrations to ostrioFiles, allow existing files to be migrated. Part 2.
Thanks to xet7 !

Related #4780,
related https://github.com/wekan/wekan/pull/4648
2023-02-27 16:58:12 +02:00
Lauri Ojansivu 1aa5c23bba Updated ChangeLog. 2023-02-27 16:44:00 +02:00
Lauri Ojansivu 9216a69c05 Temporarily disable file validation, because it prevents migrating some attachments at wekan/server/migrations.js to ostrio Meteor-Files.
Thanks to xet7 !

Related #4780,
related https://github.com/wekan/wekan/pull/4648
2023-02-27 16:38:16 +02:00
Lauri Ojansivu 7b2cff4c5e Fix attachment migration error about avatarUrl startsWith undefined.
Thanks to xet7 !

Related #4780
2023-02-27 16:31:43 +02:00
Lauri Ojansivu bf42958059 Updated ChangeLog. 2023-02-26 01:38:01 +02:00
Lauri Ojansivu 1deccf2f4b Added "Move card to archive" to minicard ☰ menu.
Thanks to mohammadZahedian and xet7 !

Fixes #4303
2023-02-26 01:35:42 +02:00
Lauri Ojansivu 57755ef413 Updated ChangeLog. 2023-02-26 00:50:46 +02:00
Lauri Ojansivu c2cf850179 Made ☰ menu buttons bigger at minicard and list.
Thanks to mohammadZahedian and xet7 !

Fixes #4303
2023-02-26 00:47:59 +02:00
Lauri Ojansivu 67838ae29e Updated translations. 2023-02-26 00:47:02 +02:00
Lauri Ojansivu 4d22477477 Updated ChangeLog. 2023-02-26 00:26:45 +02:00
Lauri Ojansivu 96b5ed1df6 Merge pull request #4846 from Entepotenz/master
fix indentation for image  size and compression
2023-02-26 00:24:07 +02:00
Florian Kretschmer b9ec43c0f7 fix indentation for image size and compression 2023-02-25 23:00:13 +01:00
Lauri Ojansivu 8a0899a819 Updated ChangeLog. 2023-02-23 17:00:16 +02:00
Lauri Ojansivu e390852a67 Updated release scripts. 2023-02-23 16:56:55 +02:00
Lauri Ojansivu c4083c23d6 Back to Snap Candidate MongoDB 6.x 2023-02-22 02:47:42 +02:00
Lauri Ojansivu bdc751ac24 MongoDB 5.x to WeKan Snap Beta channel only. 2023-02-22 02:31:01 +02:00
Lauri Ojansivu 0e23975964 Updated ChangeLog. 2023-02-22 01:56:41 +02:00
Lauri Ojansivu ad53414c4d Updated release scripts.
Thanks to xet7 !
2023-02-22 01:52:57 +02:00
Lauri Ojansivu 23e01130e9 Updated release scripts.
Thanks to xet7 !
2023-02-22 01:20:42 +02:00
Lauri Ojansivu f779c35d0e Updated ChangeLog. 2023-02-22 00:44:07 +02:00
Lauri Ojansivu 6e5d260fd2 v6.76 2023-02-22 00:38:20 +02:00
Lauri Ojansivu 691efb7843 Updated ChangeLog. 2023-02-22 00:09:37 +02:00
Lauri Ojansivu 67500abcd4 Removed Mermaid, because newest Mermaid does not work anymore.
Thanks to xet7 !
2023-02-22 00:07:59 +02:00
Lauri Ojansivu 092b121c38 Updated ChangeLog. 2023-02-21 23:52:06 +02:00
Lauri Ojansivu c27a2b22c6 Part 2. Fix at bottom of list Add button to be higher, so that text Add is not over button borders.
Thanks to WeKan commercial support customer and xet7.
2023-02-21 23:50:22 +02:00
Lauri Ojansivu 9213451dca Updated ChangeLog. 2023-02-21 21:55:42 +02:00
Lauri Ojansivu 139a1c0f78 Fix at bottom of list Add button to be higher, so that text Add is not over button borders.
Thanks to WeKan commercial support customer and xet7.
2023-02-21 21:49:20 +02:00
Lauri Ojansivu 41d5ecd605 Updated ChangeLog. 2023-02-21 21:30:23 +02:00
Lauri Ojansivu fd9478dc57 Try to fix build errors on some platforms.
Thanks to xet7 !

Related #4842
2023-02-21 21:27:34 +02:00
Lauri Ojansivu f1092c6f40 Back to Snap Candidate MongoDB 6.x 2023-02-21 04:47:50 +02:00
Lauri Ojansivu 51b31df2c8 Snap Beta channel MongoDB 5.x 2023-02-21 04:11:22 +02:00
Lauri Ojansivu 2f46f2a888 Updated ChangeLog. 2023-02-21 02:54:26 +02:00
Lauri Ojansivu cae0b29500 Updated release scripts.
Thanks to xet7 !
2023-02-21 02:52:40 +02:00
32 changed files with 1518 additions and 2327 deletions

No files matched your search

+63
View File
@@ -10,6 +10,67 @@ Note:
[How to upgrade WeKan](https://github.com/wekan/wekan/issues/4585)
# v6.78 2023-02-28 WeKan ® release
This release fixes the following CRITICAL SECURITY ISSUES:
- [Try to fix some security issue](https://github.com/wekan/wekan/commit/5d79c231ed3cfc09636ab678b3f62ea9f36160f2).
Thanks to Responsible Security Disclousure contributors and xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v6.77 2023-02-27 WeKan ® release
This release adds the following updates:
- Updated release scripts
[Part 1](https://github.com/wekan/wekan/commit/23e01130e907f0068333046dc4b88a471b781ce7),
[Part 2](https://github.com/wekan/wekan/commit/ad53414c4d415b93e808ec88cc36af5a4741f681),
[Part 3](https://github.com/wekan/wekan/commit/e390852a673be25e00cb397acf4dbdc5a7d2a1f9).
Updated release scripts.
Thanks to xet7.
and fixes the following bugs:
- [Fixed indentation for image size and compression in docker-compose.yml](https://github.com/wekan/wekan/pull/4846).
Thanks to Entepotenz.
- [Made ☰ menu buttons bigger at minicard and list, they were too hard to click when they were small](https://github.com/wekan/wekan/commit/c2cf850179ad0079d83561675b6dc2c59825cc11).
Thanks to mohammadZahedian and xet7.
- [Added "Move card to archive" to minicard ☰ menu](https://github.com/wekan/wekan/commit/1deccf2f4b5ba1a72bc76d5ae83858e6c50b36ae).
Thanks to mohammadZahedian and xet7.
- [Fix attachment migration error about avatarUrl startsWith undefined](https://github.com/wekan/wekan/commit/7b2cff4c5e7bae4971776638b680696596edc7e6).
Thanks to xet7.
- Try to fix attachment migrations to ostrioFiles, allow existing files to be migrated.
[Part 1](https://github.com/wekan/wekan/commit/9216a69c0541325be6941c07d256b07627a8ec73),
[Part 2](https://github.com/wekan/wekan/commit/16ad6bf9fc75b39e6e8cedb8a5a98ec963ccf14a).
Thanks to xet7.
- [MongoDB to 5 for beta Snap. MongoDB 5 does not seem to show some errors that only MongoDB 6 has](https://github.com/wekan/wekan/commit/a64381153fd762b67f2a752b590b2cdd196bcfe5).
Thanks to xet7.
- [Use MongoDB 5 at docker-compose.yml](https://github.com/wekan/wekan/commit/51f22f48dc916717ed6be9502dc767798692f07b).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v6.76 2023-02-22 WeKan ® release
This release adds the following updates:
- [Updated release scripts](https://github.com/wekan/wekan/commit/cae0b29500ff417598690590f43bc1e1875a4b4e).
Thanks to xet7.
and fixes the following bugs:
- [Try to fix build errors on some platforms](https://github.com/wekan/wekan/commit/fd9478dc57a81aadb275a205766c44285efb4c61).
Thanks to xet7.
- Fix at bottom of list Add button to be higher, so that text Add is not over button borders.
[Part 1](https://github.com/wekan/wekan/commit/139a1c0f784443103397c9b6c8c17d5432ce9bdd),
[Part 2](https://github.com/wekan/wekan/commit/c27a2b22c604377170c34f30e4b5710e18ae47c8).
Thanks to WeKan commercial support customer and xet7.
- [Removed Mermaid, because newest Mermaid does not work anymore](https://github.com/wekan/wekan/commit/67500abcd4d034ebed2d13f5156123d5f70bd014).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v6.75 2023-02-21 WeKan ® release
This release fixes the following CRITICAL SECURITY ISSUES:
@@ -32,6 +93,8 @@ and fixes the following bugs:
Thanks to garciadavy.
- [Swipebox slide background gradient of black to blue, so that back SVG images are visible](https://github.com/wekan/wekan/commit/c3577aa434ac5330d664f17d0771ff9679cced86).
Thanks to xet7.
- [Fix typo](https://github.com/wekan/wekan/pull/4840).
Thanks to robert-scheck.
Thanks to above GitHub users for their contributions and translators for their translations.
+1 -1
View File
@@ -1,5 +1,5 @@
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
appVersion: "v6.75.0"
appVersion: "v6.78.0"
files:
userUploads:
- README.md
+3 -1
View File
@@ -228,7 +228,9 @@ BlazeComponent.extendComponent({
const name = this.$('.js-edit-attachment-name')[0]
.value
.trim() + this.data().extensionWithDot;
Meteor.call('renameAttachment', this.data()._id, name);
if (name === DOMPurify.sanitize(name)) {
Meteor.call('renameAttachment', this.data()._id, name);
}
Popup.back(2);
},
}
+2 -2
View File
@@ -45,12 +45,12 @@
}
.minicard-details-menu-with-handle {
float: right;
font-size: 14px;
font-size: 18px;
padding-right: 30px;
}
.minicard-details-menu {
float: right;
font-size: 14px;
font-size: 18px;
}
@media print {
.minicard-details-menu,
+6
View File
@@ -172,6 +172,12 @@ template(name="minicardDetailsActionsPopup")
i.fa.fa-copy
| {{_ 'copyCardPopup-title'}}
hr
li
a.js-archive
i.fa.fa-arrow-right
i.fa.fa-archive
| {{_ 'archive-card'}}
hr
li
a.js-move-card-to-top
i.fa.fa-arrow-up
+5
View File
@@ -168,4 +168,9 @@ Template.minicardDetailsActionsPopup.events({
this.move(this.boardId, this.swimlaneId, this.listId, maxOrder + 1);
Popup.back();
},
'click .js-archive': Popup.afterConfirm('cardArchive', function () {
Popup.close();
this.archive();
Utils.goBoardId(this.boardId);
}),
});
+6
View File
@@ -112,6 +112,9 @@
color: #4d4d4d;
padding-left: 4px;
}
.js-open-list-menu {
font-size: 18px;
}
.list-body {
flex: 1 1 auto;
flex-direction: column;
@@ -126,6 +129,9 @@
.list-body .minicards form {
margin-bottom: 9px;
}
.list-body .minicards .add-controls button {
min-height: 50px;
}
.list-body .open-minicard-composer {
border-radius: 2px;
color: #8c8c8c;
+3 -3
View File
@@ -98,7 +98,7 @@ services:
# Quay image does work:
# image: quay.io/wekan/mongo:4.4.2-bionic
# Docker Hub MongoDB image does work:
image: mongo:6
image: mongo:5
#-------------------------------------------------------------------------------------
container_name: wekan-db
restart: always
@@ -287,8 +287,8 @@ services:
#---------------------------------------------------------------
# ==== Allow to shrink attached/pasted image ====
# https://github.com/wekan/wekan/pull/2544
#-MAX_IMAGE_PIXEL=1024
#-IMAGE_COMPRESS_RATIO=80
#- MAX_IMAGE_PIXEL=1024
#- IMAGE_COMPRESS_RATIO=80
#---------------------------------------------------------------
# ==== NOTIFICATION TRAY AFTER READ DAYS BEFORE REMOVE =====
# Number of days after a notification is read before we remove it.
File diff suppressed because it is too large. Load diff
+3 -7
View File
@@ -6,7 +6,6 @@ import fs from 'fs';
import path from 'path';
import { AttachmentStoreStrategyFilesystem, AttachmentStoreStrategyGridFs, AttachmentStoreStrategyS3 } from '/models/lib/attachmentStoreStrategy';
import FileStoreStrategyFactory, {moveToStorage, rename, STORAGE_NAME_FILESYSTEM, STORAGE_NAME_GRIDFS, STORAGE_NAME_S3} from '/models/lib/fileStoreStrategy';
import DOMPurify from 'isomorphic-dompurify';
let attachmentUploadExternalProgram;
let attachmentUploadMimeTypes = [];
@@ -150,12 +149,9 @@ if (Meteor.isServer) {
renameAttachment(fileObjId, newName) {
check(fileObjId, String);
check(newName, String);
// If new name is same as sanitized name, does not have XSS, allow rename file
// Using isomorphic-dompurify that is isometric so it works also serverside.
if (newName === DOMPurify.sanitize(newName)) {
const fileObj = Attachments.findOne({_id: fileObjId});
rename(fileObj, newName, fileStoreStrategyFactory);
}
const fileObj = Attachments.findOne({_id: fileObjId});
rename(fileObj, newName, fileStoreStrategyFactory);
},
validateAttachment(fileObjId) {
check(fileObjId, String);
+34 -29
View File
@@ -1,4 +1,5 @@
import escapeForRegex from 'escape-string-regexp';
import DOMPurify from 'dompurify';
CardComments = new Mongo.Collection('card_comments');
@@ -101,39 +102,43 @@ CardComments.helpers({
},
toggleReaction(reactionCodepoint) {
const cardCommentReactions = CardCommentReactions.findOne({cardCommentId: this._id});
const reactions = !!cardCommentReactions ? cardCommentReactions.reactions : [];
const userId = Meteor.userId();
const reaction = reactions.find(r => r.reactionCodepoint === reactionCodepoint);
// If no reaction is set for the codepoint, add this
if (!reaction) {
reactions.push({ reactionCodepoint, userIds: [userId] });
if (reactionCodepoint !== DOMPurify.sanitize(reactionCodepoint)) {
return false;
} else {
// toggle user reaction upon previous reaction state
const userHasReacted = reaction.userIds.includes(userId);
if (userHasReacted) {
reaction.userIds.splice(reaction.userIds.indexOf(userId), 1);
if (reaction.userIds.length === 0) {
reactions.splice(reactions.indexOf(reaction), 1);
}
const cardCommentReactions = CardCommentReactions.findOne({cardCommentId: this._id});
const reactions = !!cardCommentReactions ? cardCommentReactions.reactions : [];
const userId = Meteor.userId();
const reaction = reactions.find(r => r.reactionCodepoint === reactionCodepoint);
// If no reaction is set for the codepoint, add this
if (!reaction) {
reactions.push({ reactionCodepoint, userIds: [userId] });
} else {
reaction.userIds.push(userId);
}
}
// If no reaction doc exists yet create otherwise update reaction set
if (!!cardCommentReactions) {
return CardCommentReactions.update({ _id: cardCommentReactions._id }, { $set: { reactions } });
} else {
return CardCommentReactions.insert({
boardId: this.boardId,
cardCommentId: this._id,
cardId: this.cardId,
reactions
});
// toggle user reaction upon previous reaction state
const userHasReacted = reaction.userIds.includes(userId);
if (userHasReacted) {
reaction.userIds.splice(reaction.userIds.indexOf(userId), 1);
if (reaction.userIds.length === 0) {
reactions.splice(reactions.indexOf(reaction), 1);
}
} else {
reaction.userIds.push(userId);
}
}
// If no reaction doc exists yet create otherwise update reaction set
if (!!cardCommentReactions) {
return CardCommentReactions.update({ _id: cardCommentReactions._id }, { $set: { reactions } });
} else {
return CardCommentReactions.insert({
boardId: this.boardId,
cardCommentId: this._id,
cardId: this.cardId,
reactions
});
}
}
}
});
+24 -22
View File
@@ -13,35 +13,37 @@ if (Meteor.isServer) {
export async function isFileValid(fileObj, mimeTypesAllowed, sizeAllowed, externalCommandLine) {
let isValid = true;
if (mimeTypesAllowed.length) {
const mimeTypeResult = await FileType.fromFile(fileObj.path);
if (Meteor.settings.public.ostrioFilesMigrationInProgress !== "true") {
if (mimeTypesAllowed.length) {
const mimeTypeResult = await FileType.fromFile(fileObj.path);
const mimeType = (mimeTypeResult ? mimeTypeResult.mime : fileObj.type);
const baseMimeType = mimeType.split('/', 1)[0];
const mimeType = (mimeTypeResult ? mimeTypeResult.mime : fileObj.type);
const baseMimeType = mimeType.split('/', 1)[0];
isValid = mimeTypesAllowed.includes(mimeType) || mimeTypesAllowed.includes(baseMimeType + '/*') || mimeTypesAllowed.includes('*');
isValid = mimeTypesAllowed.includes(mimeType) || mimeTypesAllowed.includes(baseMimeType + '/*') || mimeTypesAllowed.includes('*');
if (!isValid) {
console.log("Validation of uploaded file failed: file " + fileObj.path + " - mimetype " + mimeType);
if (!isValid) {
console.log("Validation of uploaded file failed: file " + fileObj.path + " - mimetype " + mimeType);
}
}
}
if (isValid && sizeAllowed && fileObj.size > sizeAllowed) {
console.log("Validation of uploaded file failed: file " + fileObj.path + " - size " + fileObj.size);
isValid = false;
}
if (isValid && externalCommandLine) {
await asyncExec(externalCommandLine.replace("{file}", '"' + fileObj.path + '"'));
isValid = fs.existsSync(fileObj.path);
if (!isValid) {
console.log("Validation of uploaded file failed: file " + fileObj.path + " has been deleted externally");
if (isValid && sizeAllowed && fileObj.size > sizeAllowed) {
console.log("Validation of uploaded file failed: file " + fileObj.path + " - size " + fileObj.size);
isValid = false;
}
}
if (isValid) {
console.debug("Validation of uploaded file successful: file " + fileObj.path);
if (isValid && externalCommandLine) {
await asyncExec(externalCommandLine.replace("{file}", '"' + fileObj.path + '"'));
isValid = fs.existsSync(fileObj.path);
if (!isValid) {
console.log("Validation of uploaded file failed: file " + fileObj.path + " has been deleted externally");
}
}
if (isValid) {
console.debug("Validation of uploaded file successful: file " + fileObj.path);
}
}
return isValid;
+106 -987
View File
File diff suppressed because it is too large. Load diff
+2 -5
View File
@@ -1,6 +1,6 @@
{
"name": "wekan",
"version": "v6.75.0",
"version": "v6.78.0",
"description": "Open-Source kanban",
"private": true,
"repository": {
@@ -24,14 +24,12 @@
"@babel/core": "^7.15.5",
"@babel/runtime": "^7.15.4",
"@mapbox/node-pre-gyp": "^1.0.8",
"@wekanteam/markdown-it-mermaid": "^0.6.2",
"@wekanteam/minio": "^7.0.34",
"ajv": "^6.12.6",
"babel-runtime": "^6.26.0",
"bcryptjs": "^2.4.3",
"bson": "^4.5.2",
"bunyan": "^1.8.15",
"canvas": "^2.11.0",
"core-js": "^3.18.2",
"dompurify": "^2.4.1",
"es6-promise": "^4.2.4",
@@ -42,7 +40,6 @@
"filesize": "^8.0.7",
"i18next": "^21.6.16",
"i18next-sprintf-postprocessor": "^0.2.2",
"isomorphic-dompurify": "^1.0.0",
"jquery": "^2.2.4",
"jquery-ui": "^1.13.0",
"jquery-ui-touch-punch": "^0.2.3",
@@ -52,7 +49,7 @@
"markdown-it-emoji": "^2.0.0",
"markdown-it-mathjax3": "^4.3.1",
"meteor-accounts-t9n": "^2.6.0",
"meteor-node-stubs": "^1.2.5",
"meteor-node-stubs": "^1.1.0",
"moment": "^2.29.4",
"nodemailer": "^6.6.3",
"os": "^0.1.2",
@@ -1,4 +1,4 @@
import DOMPurify from 'isomorphic-dompurify';
import DOMPurify from 'dompurify';
var Markdown = require('markdown-it')({
html: true,
@@ -7,7 +7,7 @@ var Markdown = require('markdown-it')({
breaks: true,
});
import markdownItMermaid from "@wekanteam/markdown-it-mermaid";
//import markdownItMermaid from "@wekanteam/markdown-it-mermaid";
// Static URL Scheme Listing
var urlschemes = [
@@ -48,9 +48,9 @@ Markdown.use(mathjax);
// https://github.com/wekan/cli-table3
// https://www.npmjs.com/package/@wekanteam/markdown-it-mermaid
// https://github.com/wekan/markdown-it-mermaid
Markdown.use(markdownItMermaid,{
maxTextSize: 200000,
});
//Markdown.use(markdownItMermaid,{
// maxTextSize: 200000,
//});
if (Package.ui) {
const Template = Package.templating.Template;
@@ -65,7 +65,6 @@ if (Package.ui) {
text = Blaze._toText(self.templateContentBlock, HTML.TEXTMODE.STRING);
}
// Using isomorphic-dompurify that is isometric so it works also serverside
return HTML.Raw(DOMPurify.sanitize(Markdown.render(text), {ALLOW_UNKNOWN_PROTOCOLS: true}));
}));
}
+3 -3
View File
@@ -7,7 +7,7 @@
<meta charset="utf-8">
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>Wekan REST API v6.75</title>
<title>Wekan REST API v6.78</title>
<style>
</style>
@@ -1558,7 +1558,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
<ul class="toc-list-h1">
<li>
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v6.75">Wekan REST API v6.75</a>
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v6.78">Wekan REST API v6.78</a>
</li>
@@ -2161,7 +2161,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
<div class="page-wrapper">
<div class="dark-box"></div>
<div class="content">
<h1 id="wekan-rest-api">Wekan REST API v6.75</h1>
<h1 id="wekan-rest-api">Wekan REST API v6.78</h1>
<blockquote>
<p>Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.</p>
</blockquote>
+1 -1
View File
@@ -1,7 +1,7 @@
swagger: '2.0'
info:
title: Wekan REST API
version: v6.75
version: v6.78
description: |
The REST API allows you to control and extend Wekan with ease.
+1 -1
View File
@@ -17,7 +17,7 @@ rm -rf bundle
rm wekan-$1-arm64.zip
#rm wekan-$1.zip
#wget https://releases.wekan.team/wekan-$1.zip
7z x wekan-$1.zip
7z x wekan-$1-amd64.zip
(cd bundle/programs/server && chmod u+w *.json && cd node_modules/fibers && node build.js)
#cd ../../../..
+1 -3
View File
@@ -15,9 +15,7 @@ sudo npm -g uninstall node-pre-gyp
sudo npm -g install @mapbox/node-pre-gyp
rm -rf bundle
rm wekan-$1-ppc64le.zip
#rm wekan-$1.zip
#wget https://releases.wekan.team/wekan-$1.zip
7z x wekan-$1.zip
7z x wekan-$1-amd64.zip
(cd bundle/programs/server && chmod u+w *.json && cd node_modules/fibers && node build.js)
#cd ../../../..
+2 -2
View File
@@ -29,8 +29,8 @@ rm -rf bundle
rm wekan-$1-s390x.zip
#rm wekan-$1.zip
#wget https://releases.wekan.team/wekan-$1.zip
7za x wekan-$1.zip
#wget https://releases.wekan.team/wekan-$1-amd64.zip
7za x wekan-$1-amd64.zip
(cd bundle/programs/server && chmod u+w *.json && cd node_modules/fibers && node build.js)
#cd ../../../..
+3 -3
View File
@@ -6,11 +6,11 @@ ECHO 1) Deleting old bundle
CALL DEL /F /S /Q bundle
ECHO 2) Downloading new WeKan.zip
CALL DEL wekan-%1.zip
CALL wget https://releases.wekan.team/wekan-%1.zip
CALL DEL wekan-%1-amd64.zip
CALL wget https://releases.wekan.team/wekan-%1-amd64.zip
ECHO 3) Unarchiving new WeKan
CALL 7z x wekan-%1.zip
CALL 7z x wekan-%1-amd64.zip
ECHO 4) Reinstalling bcrypt
cmd /c "CD bundle\programs\server\npm\node_modules\meteor\accounts-password && npm remove bcrypt && npm install bcrypt"
+1 -1
View File
@@ -11,4 +11,4 @@ fi
mkdir ~/rel$1
mv ~/repos/wekan/wekan-$1*.zip /home/wekan/rel$1/
mv ~/Julkinen/wekan-$1*.zip /home/wekan/rel$1/
mv /home/wekan/repos/wekan/.build/wekan-$1.zip /home/wekan/rel$1/wekan-$1-amd64.zip
mv /home/wekan/repos/wekan/.build/wekan-$1-amd64.zip /home/wekan/rel$1/wekan-$1-amd64.zip
+5 -5
View File
@@ -3,19 +3,19 @@ sudo apt-get -y install parallel
./releases/rebuild-release.sh
#./releases/delete-phantomjs.sh
cd ~/repos/wekan/.build
zip -r wekan-$1.zip bundle
zip -r wekan-$1-amd64.zip bundle
{
scp ~/repos/wekan/releases/build-bundle-arm64.sh a:/home/wekan/
scp ~/repos/wekan/releases/build-bundle-s390x.sh s:/home/linux1/
#scp ~/repos/wekan/releases/build-bundle-ppc64el.sh o:/home/ubuntu/
scp ~/repos/wekan/releases/release-x2.sh x2:/data/websites/
scp wekan-$1.zip x2:/data/websites/releases.wekan.team/public/
scp wekan-$1.zip a:/home/wekan/
scp wekan-$1.zip s:/home/linux1/
scp wekan-$1-amd64.zip x2:/data/websites/releases.wekan.team/
scp wekan-$1-amd64.zip a:/home/wekan/
scp wekan-$1-amd64.zip s:/home/linux1/
#scp wekan-$1.zip o:/home/ubuntu/
} | parallel -k
cd ..
echo "x64 bundle and arm64/s390x/ppc64le build scripts uploaded to x2/a/s."
echo "x64 bundle and arm64/s390x build scripts uploaded to x2/a/s."
+1 -1
View File
@@ -31,7 +31,7 @@ meteor-spk pack wekan-$1.spk
spk publish wekan-$1.spk
# Upload spk to https://releases.wekan.team/sandstorm/
scp wekan-$1.spk x2:/var/websites/releases.wekan.team/public/sandstorm/
scp wekan-$1.spk x2:/data/websites/releases.wekan.team/dev/sandstorm/
# Delete old temporary build directory
rm -rf ~/repos/wekan/.meteor-spk
+8 -21
View File
@@ -8,51 +8,38 @@ if [ $# -ne 2 ]
fi
echo "Release: x64"
cd /data/websites/releases.wekan.team/public
cd /data/websites/releases.wekan.team
mkdir -p /data/websites/old-releases
mv wekan-$1.zip /data/websites/old-releases/
#mv SHA256SUMS.txt x64-SHA256SUMS.txt
#cat x64-SHA256SUMS.txt | grep -v wekan-$1.zip > SHA256SUMS.txt
#rm x64-SHA256SUMS.txt
cp wekan-$2.zip wekan-latest-x64.zip
mv wekan-$1-amd64.zip /data/websites/old-releases/
cp wekan-$2-amd64.zip wekan-latest-amd64.zip
cp wekan-$2-amd64.zip wekan-$2.zip
sha256sum wekan-*.zip > SHA256SUMS.txt
echo "Release: x64 windows"
cd /data/websites/releases.wekan.team/public/windows
cd /data/websites/releases.wekan.team/windows
mkdir -p /data/websites/old-releases/windows
mv wekan-$1-amd64-windows.zip /data/websites/old-releases/windows/
#sha256sum wekan-$2-amd64-windows.zip >> SHA256SUMS.txt
#mv SHA256SUMS.txt x64-windows-SHA256SUMS.txt
#cat x64-windows-SHA256SUMS.txt | grep -v wekan-$1-amd64-windows.zip > SHA256SUMS.txt
#rm x64-windows-SHA256SUMS.txt
cp wekan-$2-amd64-windows.zip wekan-latest-amd64-windows.zip
sha256sum wekan-*.zip > SHA256SUMS.txt
echo "Release: arm64"
cd /data/websites/releases.wekan.team/public/raspi3
cd /data/websites/releases.wekan.team/raspi3
mkdir -p /data/websites/old-releases/raspi3/
mv wekan-$1-arm64.zip /data/websites/old-releases/raspi3/
#sha256sum wekan-$2-arm64.zip >> SHA256SUMS.txt
#mv SHA256SUMS.txt arm64-SHA256SUMS.txt
#cat arm64-SHA256SUMS.txt | grep -v wekan-$1-arm64.zip > SHA256SUMS.txt
#rm arm64-SHA256SUMS.txt
cp wekan-$2-arm64.zip wekan-latest-arm64.zip
sha256sum wekan-*.zip > SHA256SUMS.txt
echo "Release: s390x"
cd /data/websites/releases.wekan.team/public/s390x
cd /data/websites/releases.wekan.team/s390x
mkdir -p /data/websites/old-releases/s390x
mv wekan-$1-s390x.zip /data/websites/old-releases/s390x/
#sha256sum wekan-$2-s390x.zip >> SHA256SUMS.txt
#mv SHA256SUMS.txt s390x-SHA256SUMS.txt
#cat s390x-SHA256SUMS.txt | grep -v wekan-$1-s390x.zip > SHA256SUMS.txt
#rm s390x-SHA256SUMS.txt
cp wekan-$2-s390x.zip wekan-latest-s390x.zip
sha256sum wekan-*.zip > SHA256SUMS.txt
# OpenPower MiniCloud is discontinued, no ppc64le build server
#echo "Release: ppc64le"
#cd /data/websites/releases.wekan.team/public/ppc64le
#cd /data/websites/releases.wekan.team/ppc64le
#mkdir -p /data/websites/old-releases/ppc64le
#mv wekan-$1-ppc64le.zip /data/websites/old-releases/ppc64le/
#sha256sum wekan-$2-ppc64le.zip >> SHA256SUMS.txt
+1 -1
View File
@@ -14,4 +14,4 @@ fi
scp a:/home/wekan/wekan-$1-arm64.zip .
# 3) Upload arm64 release to download server
scp wekan-$1-arm64.zip x2:/data/websites/releases.wekan.team/public/raspi3/
scp wekan-$1-arm64.zip x2:/data/websites/releases.wekan.team/raspi3/
+1 -1
View File
@@ -14,4 +14,4 @@ fi
scp o:/home/ubuntu/wekan-$1-ppc64le.zip .
# 3) Upload ppc64le release to download server
scp wekan-$1-ppc64le.zip x2:/data/websites/releases.wekan.team/public/ppc64le/
scp wekan-$1-ppc64le.zip x2:/data/websites/releases.wekan.team/ppc64le/
+1 -1
View File
@@ -14,4 +14,4 @@ fi
scp s:/home/linux1/wekan-$1-s390x.zip .
# 3) Upload s390x release to download server
scp wekan-$1-s390x.zip x2:/data/websites/releases.wekan.team/public/s390x/
scp wekan-$1-s390x.zip x2:/data/websites/releases.wekan.team/s390x/
+1 -1
View File
@@ -11,4 +11,4 @@ if [ $# -ne 1 ]
fi
# 2) Upload windows release to download server
scp ../../Julkinen/wekan-$1-amd64-windows.zip x2:/data/websites/releases.wekan.team/public/windows/
scp ../../Julkinen/wekan-$1-amd64-windows.zip x2:/data/websites/releases.wekan.team/windows/
+2 -2
View File
@@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
appTitle = (defaultText = "Wekan"),
# The name of the app as it is displayed to the user.
appVersion = 675,
appVersion = 678,
# Increment this for every release.
appMarketingVersion = (defaultText = "6.75.0~2023-02-21"),
appMarketingVersion = (defaultText = "6.78.0~2023-02-28"),
# Human-readable presentation of the app version.
minUpgradableAppVersion = 0,
+14 -8
View File
@@ -1246,6 +1246,7 @@ Migrations.add('add-card-details-show-lists', () => {
});
Migrations.add('migrate-attachments-collectionFS-to-ostrioFiles', () => {
Meteor.settings.public.ostrioFilesMigrationInProgress = "true";
AttachmentsOld.find().forEach(function(fileObj) {
const newFileName = fileObj.name();
const storagePath = Attachments.storagePath({});
@@ -1306,9 +1307,11 @@ Migrations.add('migrate-attachments-collectionFS-to-ostrioFiles', () => {
readStream.pipe(writeStream);
});
Meteor.settings.public.ostrioFilesMigrationInProgress = "false";
});
Migrations.add('migrate-avatars-collectionFS-to-ostrioFiles', () => {
Meteor.settings.public.ostrioFilesMigrationInProgress = "true";
AvatarsOld.find().forEach(function(fileObj) {
const newFileName = fileObj.name();
const storagePath = Avatars.storagePath({});
@@ -1361,14 +1364,16 @@ Migrations.add('migrate-avatars-collectionFS-to-ostrioFiles', () => {
'original',
'/',
);
if (user.profile.avatarUrl.startsWith(old_url)) {
// Set avatar url to new url
Users.direct.update(
{ _id: user._id },
{ $set: { 'profile.avatarUrl': new_url } },
noValidate,
);
console.log('User avatar updated: ', user._id, new_url);
if (user.profile.avatarUrl !== undefined) {
if (user.profile.avatarUrl.startsWith(old_url)) {
// Set avatar url to new url
Users.direct.update(
{ _id: user._id },
{ $set: { 'profile.avatarUrl': new_url } },
noValidate,
);
console.log('User avatar updated: ', user._id, new_url);
}
}
});
fileObj.remove();
@@ -1384,6 +1389,7 @@ Migrations.add('migrate-avatars-collectionFS-to-ostrioFiles', () => {
readStream.pipe(writeStream);
});
Meteor.settings.public.ostrioFilesMigrationInProgress = "false";
});
Migrations.add('migrate-attachment-drop-index-cardId', () => {
+6 -6
View File
@@ -1,5 +1,5 @@
name: wekan
version: '6.75'
version: '6.78'
base: core20
summary: Open Source kanban
description: |
@@ -65,8 +65,8 @@ apps:
parts:
mongodb:
#source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-5.0.14.tgz
source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-6.0.4.tgz
source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-5.0.14.tgz
#source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-6.0.4.tgz
plugin: dump
stage-packages:
- libssl1.1
@@ -169,9 +169,9 @@ parts:
# Cleanup
mkdir .build
cd .build
wget https://github.com/wekan/wekan/releases/download/v6.75/wekan-6.75-amd64.zip
unzip wekan-6.75-amd64.zip
rm wekan-6.75-amd64.zip
wget https://github.com/wekan/wekan/releases/download/v6.78/wekan-6.78-amd64.zip
unzip wekan-6.78-amd64.zip
rm wekan-6.78-amd64.zip
cd ..
##cd .build/bundle
##find . -type d -name '*-garbage*' | xargs rm -rf