diff --git a/.meteor/packages b/.meteor/packages index e7be1c582..26b3988df 100644 --- a/.meteor/packages +++ b/.meteor/packages @@ -149,3 +149,4 @@ pascoual:pdfkit wekan-accounts-lockout lmieulet:meteor-coverage meteortesting:mocha +browser-policy-content diff --git a/.meteor/versions b/.meteor/versions index 8e372abdf..ba08e059e 100644 --- a/.meteor/versions +++ b/.meteor/versions @@ -19,6 +19,7 @@ blaze@2.5.0 blaze-tools@1.1.2 boilerplate-generator@1.7.1 browser-policy-common@1.0.11 +browser-policy-content@1.1.1 browser-policy-framing@1.1.0 caching-compiler@1.2.2 caching-html-compiler@1.2.0 diff --git a/CHANGELOG.md b/CHANGELOG.md index c3b5529c5..e94e130a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,15 @@ [Mac ChangeLog](https://github.com/wekan/wekan/wiki/Mac) -# Upcoming WeKan ® release +# v6.17 2022-04-06 WeKan ® release + +This release adds the following updates: + +- [Updated dependencies](https://github.com/wekan/wekan/commit/f613a5875fbc600292f6821776d957c7221bcd0a). + Thanks to xet7. + +Thanks to above GitHub users for their contributions and translators for their translations. + +# v6.16 2022-04-06 WeKan ® release This release fixes the following bugs: @@ -8,6 +17,16 @@ This release fixes the following bugs: Thanks to helioguardabaxo. - [Remove incomplete translated changelogs](https://github.com/wekan/wekan/pull/4455). Thanks to ocdtrekkie. +- [Fix Can't add attachments because of Content-Security-Policy](https://github.com/wekan/wekan/commit/0d9c37b0067d46669b7258bfff5dfc16d590e1d9). + Thanks to Ben0it-T and xet7. +- [Try to fix Duplicate Board](https://github.com/wekan/wekan/commit/e7a11c57338a15a8fc1e1b74a2446ffd7d4743a7). + Thanks to xet7. +- [Try to fix Trello import Attachment and links not defined. In Progress, does not work yet](https://github.com/wekan/wekan/commit/5eca3de00fea31721fa2e10b7d3a6f13ca87f39c). + Thanks to akhudushin, hatl, 2447254731 and xet7. +- [Comment out Trello attachment import until it's implemented with API key](https://github.com/wekan/wekan/commit/49a996624f3842c243bb72120b95c27d914e02a9). + Thanks to xet7. +- [Try to fix Snap WRITABLE_FILES](https://github.com/wekan/wekan/commit/4ca7b0dad733099cd6ad15acc69ec436539f7460). + Thanks to xet7. Thanks to above GitHub users for their contributions and translators for their translations. diff --git a/Stackerfile.yml b/Stackerfile.yml index 95c721ea8..9449f7c8f 100644 --- a/Stackerfile.yml +++ b/Stackerfile.yml @@ -1,5 +1,5 @@ appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928 -appVersion: "v6.15.0" +appVersion: "v6.17.0" files: userUploads: - README.md diff --git a/client/components/boards/boardsList.js b/client/components/boards/boardsList.js index 467e5686a..7f49df7ab 100644 --- a/client/components/boards/boardsList.js +++ b/client/components/boards/boardsList.js @@ -239,7 +239,7 @@ BlazeComponent.extendComponent({ }, (err, res) => { if (err) { - this.setError(err.error); + self.setError(err.error); } else { Session.set('fromBoard', null); subManager.subscribe('board', res, false); diff --git a/helm/wekan/Chart.yaml b/helm/wekan/Chart.yaml index 7b915719c..16068f8cc 100644 --- a/helm/wekan/Chart.yaml +++ b/helm/wekan/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v2 -appVersion: "6.15" +appVersion: "6.17" dependencies: - condition: mongodb.enabled name: mongodb diff --git a/helm/wekan/values.yaml b/helm/wekan/values.yaml index 63a47e7f0..4cfd6f782 100644 --- a/helm/wekan/values.yaml +++ b/helm/wekan/values.yaml @@ -14,7 +14,7 @@ serviceAccounts: ## image: repository: quay.io/wekan/wekan - tag: v6.15 + tag: v6.17 pullPolicy: IfNotPresent ## Configuration for wekan component diff --git a/i18n/de.i18n.json b/i18n/de.i18n.json index ffae36f7a..6b73aa7d6 100644 --- a/i18n/de.i18n.json +++ b/i18n/de.i18n.json @@ -282,7 +282,7 @@ "computer": "Computer", "confirm-subtask-delete-popup": "Wollen Sie die Teilaufgabe wirklich löschen?", "confirm-checklist-delete-popup": "Wollen Sie diese Checkliste wirklich löschen?", - "subtaskDeletePopup-title": "Delete Subtask?", + "subtaskDeletePopup-title": "Teilaufgabe löschen?", "checklistDeletePopup-title": "Checkliste löschen?", "copy-card-link-to-clipboard": "Kopiere Link zur Karte in die Zwischenablage", "copy-text-to-clipboard": "Text in die Zwischenablage kopieren", @@ -706,7 +706,7 @@ "deposit-subtasks-board": "Teilaufgaben in diesem Board ablegen:", "deposit-subtasks-list": "Zielliste für hier abgelegte Teilaufgaben:", "show-parent-in-minicard": "Übergeordnetes Element auf Minikarte anzeigen:", - "description-on-minicard": "Description on minicard", + "description-on-minicard": "Beschreibung auf Minikarte", "prefix-with-full-path": "Vollständiger Pfad über Titel", "prefix-with-parent": "Über Titel", "subtext-with-full-path": "Vollständiger Pfad unter Titel", @@ -1150,5 +1150,5 @@ "copyChecklist": "Checkliste kopieren", "copyChecklistPopup-title": "Checkliste kopieren", "card-show-lists": "Listen anzeigen", - "subtaskActionsPopup-title": "Subtask Actions" + "subtaskActionsPopup-title": "Teilaufgabenaktionen" } \ No newline at end of file diff --git a/i18n/fr.i18n.json b/i18n/fr.i18n.json index bc9b963f4..cdd495fb4 100644 --- a/i18n/fr.i18n.json +++ b/i18n/fr.i18n.json @@ -706,7 +706,7 @@ "deposit-subtasks-board": "Déposer des sous-tâches dans ce tableau :", "deposit-subtasks-list": "Liste de destination pour les sous-tâches déposées ici :", "show-parent-in-minicard": "Voir la carte parente dans la mini-carte :", - "description-on-minicard": "Description on minicard", + "description-on-minicard": "Description sur la mini-carte", "prefix-with-full-path": "Préfixer avec le chemin complet", "prefix-with-parent": "Préfixer avec le parent", "subtext-with-full-path": "Sous-titre avec le chemin complet", @@ -878,7 +878,7 @@ "delete-team-confirm-popup": "Êtes-vous sûr de vouloir supprimer cette équipe ? Cela est irréversible.", "delete-org-confirm-popup": "Êtes-vous sûr de vouloir supprimer cette organisation ? Cela est irréversible.", "accounts-allowUserDelete": "Autoriser les utilisateurs à supprimer leur compte", - "hide-minicard-label-text": "Cacher l'étiquette de la minicarte", + "hide-minicard-label-text": "Cacher l'étiquette de la mini-carte", "show-desktop-drag-handles": "Voir les poignées de déplacement du bureau", "assignee": "Personne assignée", "cardAssigneesPopup-title": "Personne assignée", diff --git a/models/cards.js b/models/cards.js index 166bbf0cb..5c4fa1762 100644 --- a/models/cards.js +++ b/models/cards.js @@ -4,6 +4,8 @@ import { TYPE_LINKED_BOARD, TYPE_LINKED_CARD, } from '../config/const'; +import Attachments from "./attachments"; + Cards = new Mongo.Collection('cards'); @@ -585,8 +587,8 @@ Cards.helpers({ // Copy attachments oldCard.attachments().forEach(att => { att.cardId = _id; - Attachments.insert(att); delete att._id; + return Attachments.insert(att); }); // copy checklists diff --git a/models/trelloCreator.js b/models/trelloCreator.js index b35b8d5d5..3a087565e 100644 --- a/models/trelloCreator.js +++ b/models/trelloCreator.js @@ -1,3 +1,5 @@ +import Attachments from "./attachments"; + const DateString = Match.Where(function(dateAsString) { check(dateAsString, String); return moment(dateAsString, moment.ISO_8601).isValid(); @@ -445,27 +447,31 @@ export class TrelloCreator { }); } }; - if (att.url) { - Attachment.load(att.url, opts, cb, true); - } else if (att.file) { - Attachment.write(att.file, opts, cb, true); - } + // TODO: Add import attachment with Trello API key + // like Python code at wekan/trello/ of https://github.com/wekan/wekan + //if (att.url) { + // Attachment.load(att.url, opts, cb, true); + //} else if (att.file) { + // Attachment.write(att.file, opts, cb, true); + //} }); - if (links.length) { - let desc = cardToCreate.description.trim(); - if (desc) { - desc += '\n\n'; + if (links) { + if (links.length) { + let desc = cardToCreate.description.trim(); + if (desc) { + desc += '\n\n'; + } + desc += `## ${TAPi18n.__('links-heading')}\n`; + links.forEach(link => { + desc += `* ${link}\n`; + }); + Cards.direct.update(cardId, { + $set: { + description: desc, + }, + }); } - desc += `## ${TAPi18n.__('links-heading')}\n`; - links.forEach(link => { - desc += `* ${link}\n`; - }); - Cards.direct.update(cardId, { - $set: { - description: desc, - }, - }); } } result.push(cardId); diff --git a/package-lock.json b/package-lock.json index 0215235c1..62057ccc5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "wekan", - "version": "v6.15.0", + "version": "v6.17.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -194,9 +194,9 @@ "integrity": "sha512-dcNwU1O4sx57ClvLBVFbEgx0UZWfd0JQX5X6fxFRCLHelFBGXFfSz6Y0FAq2PEwUqlqLkdVjVr4VASEOuUnLJw==" }, "@babel/runtime": { - "version": "7.16.3", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.3.tgz", - "integrity": "sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz", + "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==", "requires": { "regenerator-runtime": "^0.13.4" } diff --git a/package.json b/package.json index 1ab8f6577..b59d4df0c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wekan", - "version": "v6.15.0", + "version": "v6.17.0", "description": "Open-Source kanban", "private": true, "repository": { @@ -21,7 +21,7 @@ }, "dependencies": { "@babel/core": "^7.15.0", - "@babel/runtime": "^7.15.3", + "@babel/runtime": "^7.17.9", "@wekanteam/markdown-it-mermaid": "^0.5.3", "ajv": "^8.10.0", "babel-runtime": "^6.26.0", diff --git a/public/api/wekan.html b/public/api/wekan.html index efe03610c..95548b327 100644 --- a/public/api/wekan.html +++ b/public/api/wekan.html @@ -7,7 +7,7 @@ - Wekan REST API v6.15 + Wekan REST API v6.17 @@ -1558,7 +1558,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc