Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d5ea44a760 | ||
|
|
0638d43cae | ||
|
|
c5d133aaff | ||
|
|
067c2a6fe0 | ||
|
|
9e73a72b8b | ||
|
|
ae23b7611d | ||
|
|
e34a284036 | ||
|
|
116aae0828 | ||
|
|
f33c31aa83 | ||
|
|
c7a742d1de | ||
|
|
d0df3a2915 | ||
|
|
1c494803b0 | ||
|
|
0bd0a70564 | ||
|
|
5cd6470358 | ||
|
|
a7d0576736 | ||
|
|
76e9e2076e | ||
|
|
dcec5b5cb0 | ||
|
|
b4352ada27 | ||
|
|
76047e5351 | ||
|
|
60fedad3fe | ||
|
|
d57eb6a2fc | ||
|
|
c33d39f5d0 | ||
|
|
81aa17f3f0 | ||
|
|
8475201db8 | ||
|
|
40907ef1d8 | ||
|
|
b79fc53265 | ||
|
|
2972351e79 | ||
|
|
c82de08886 | ||
|
|
7806945965 | ||
|
|
9a6a0b0047 | ||
|
|
e0c94e3cbb | ||
|
|
9f328bdee3 | ||
|
|
7a96adf957 | ||
|
|
2111e19d59 | ||
|
|
d93cf08a27 | ||
|
|
a24b64f7ca | ||
|
|
625577f145 | ||
|
|
e13fa0d2d1 | ||
|
|
d470281a5e | ||
|
|
6021438e2e | ||
|
|
737b425aca | ||
|
|
d2a35453ef | ||
|
|
77160a76e8 | ||
|
|
f012a67182 | ||
|
|
2c5e4fad79 | ||
|
|
1486f5f620 | ||
|
|
eb1209cb00 | ||
|
|
bcdaf77a9c | ||
|
|
e8e97838ef | ||
|
|
bec3f309bd | ||
|
|
39bfbbbe0a | ||
|
|
57a98e7a5d | ||
|
|
ea697f2238 | ||
|
|
fd20a9218f | ||
|
|
b47794cbc1 | ||
|
|
c3ce44562e | ||
|
|
4f7803c384 | ||
|
|
6e313d1760 | ||
|
|
0f7a8a25ad | ||
|
|
c692b7847b | ||
|
|
207893fee8 | ||
|
|
9ec3574ff6 | ||
|
|
b0522836e6 |
No files matched your search
+1
-1
@@ -52,7 +52,6 @@ mquandalle:autofocus
|
||||
ongoworks:speakingurl
|
||||
raix:handlebar-helpers
|
||||
tap:i18n
|
||||
http@1.4.2
|
||||
|
||||
# UI components
|
||||
blaze
|
||||
@@ -145,3 +144,4 @@ rajit:bootstrap3-datepicker-zh-cn
|
||||
rajit:bootstrap3-datepicker-zh-tw
|
||||
staringatlights:fast-render
|
||||
spacebars
|
||||
jkuester:http
|
||||
@@ -76,6 +76,7 @@ http@1.4.3
|
||||
id-map@1.1.0
|
||||
idmontie:migrations@1.0.3
|
||||
inter-process-messaging@0.1.1
|
||||
jkuester:http@2.0.1
|
||||
jquery@1.11.11
|
||||
kadira:blaze-layout@2.3.0
|
||||
kadira:dochead@1.5.0
|
||||
|
||||
@@ -1,3 +1,75 @@
|
||||
# v4.95 2021-02-08 Wekan release
|
||||
|
||||
This release adds back the following features:
|
||||
|
||||
- [Added back Custom Fields sorting, because it now does not prevent loading boards](https://github.com/wekan/wekan/pull/3547).
|
||||
Thanks to mfilser.
|
||||
|
||||
and adds the following updates:
|
||||
|
||||
- [Updated dependencies](https://github.com/wekan/wekan/commit/1c494803b091d987e26ccb783432434e7fee15a5).
|
||||
Thanks to xet7.
|
||||
- [Fix typo](https://github.com/wekan/wekan/commit/0bd0a70564d3dda67706deb1bbfbd1d5a96f811f).
|
||||
Thanks to xet7.
|
||||
- Updated release scripts
|
||||
[Part 1](https://github.com/wekan/wekan/commit/d0df3a2915d08b255d7ab92f9bcac195a1e7f442),
|
||||
[Part 2](https://github.com/wekan/wekan/commit/e34a2840366351c0e069515ac2210db3911dbc0f).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v4.94 2021-02-08 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Settings, "Show cards count" now works at mobile view too](https://github.com/wekan/wekan/pull/3545).
|
||||
Thanks to mfilser.
|
||||
|
||||
and adds the following updates:
|
||||
|
||||
- [Updated dependencies](https://github.com/wekan/wekan/commit/b4352ada27545fadc425ca7024532aede3cc1a6f).
|
||||
Thanks to developers of dependencies.
|
||||
- [Update release scripts](https://github.com/wekan/wekan/commit/dcec5b5cb05ac9e0dfae8f360def169f5f9b6fa2).
|
||||
Thanks to xet7.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fix bug in adding new users](https://github.com/wekan/wekan/pull/3544).
|
||||
Thanks to jrsupplee.
|
||||
- [Fixed Board does not load, by disabling Custom Fields sorting](https://github.com/wekan/wekan/commit/d57eb6a2fc73c7b25c957ad42b5f7a06f680e1a1).
|
||||
Thanks to marcungeschikts, olivierlambert and xet7.
|
||||
- [Fixed lint](https://github.com/wekan/wekan/commit/60fedad3fe384a2b0652941e57ecaa5fc4b7897a).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# 4.93 2021-02-06 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Add the ability to call get_user operation with username](https://github.com/wekan/wekan/pull/3530).
|
||||
Thanks to magicbelette.
|
||||
|
||||
and adds the following updates:
|
||||
|
||||
- [Updated Ubuntu base image in Dockerfile](https://github.com/wekan/wekan/commit/bcdaf77a9c675530cfa21d038e8abd7c62aef70d).
|
||||
Thanks to Ubuntu and xet7.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Set the language on `TAPi18n` when user selects language](https://github.com/wekan/wekan/pull/3525).
|
||||
Thanks to jrsupplee.
|
||||
- [Fix bug in `uniqueTitle`](https://github.com/wekan/wekan/pull/3526).
|
||||
Thanks to jrsupplee.
|
||||
- [Fixed file permissions in build scripts](https://github.com/wekan/wekan/commit/ea697f2238842893953dee76bed03ffd5b4a107e).
|
||||
Thanks to xet7.
|
||||
- [Red line below the avatar now correctly on FireFox](https://github.com/wekan/wekan/pull/3532).
|
||||
Thanks to mfilser.
|
||||
- [Notifications, enable line wrapping](https://github.com/wekan/wekan/pull/3533).
|
||||
Thanks to mfilser.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v4.92 2021-02-03 Wekan release
|
||||
|
||||
This release adds the following improvements:
|
||||
|
||||
+6
-4
@@ -1,4 +1,4 @@
|
||||
FROM quay.io/wekan/ubuntu:groovy-20201125.2
|
||||
FROM quay.io/wekan/ubuntu:groovy-20210115
|
||||
LABEL maintainer="wekan"
|
||||
|
||||
# 2020-12-03:
|
||||
@@ -274,11 +274,12 @@ RUN \
|
||||
mkdir -p /home/wekan/.npm && \
|
||||
chown wekan --recursive /home/wekan/.npm /home/wekan/.config /home/wekan/.meteor && \
|
||||
#gosu wekan:wekan /home/wekan/.meteor/meteor add standard-minifier-js && \
|
||||
chmod u+w *.json && \
|
||||
gosu wekan:wekan npm install && \
|
||||
gosu wekan:wekan /home/wekan/.meteor/meteor build --directory /home/wekan/app_build && \
|
||||
cp /home/wekan/app/fix-download-unicode/cfs_access-point.txt /home/wekan/app_build/bundle/programs/server/packages/cfs_access-point.js && \
|
||||
#cp /home/wekan/app/fix-download-unicode/cfs_access-point.txt /home/wekan/app_build/bundle/programs/server/packages/cfs_access-point.js && \
|
||||
#rm /home/wekan/app_build/bundle/programs/server/npm/node_modules/meteor/rajit_bootstrap3-datepicker/lib/bootstrap-datepicker/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs && \
|
||||
chown wekan /home/wekan/app_build/bundle/programs/server/packages/cfs_access-point.js && \
|
||||
#chown wekan /home/wekan/app_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
|
||||
@@ -291,10 +292,11 @@ RUN \
|
||||
#find . -name "*phantomjs*" | xargs rm -rf && \
|
||||
#
|
||||
cd /home/wekan/app_build/bundle/programs/server/ && \
|
||||
chmod u+w *.json && \
|
||||
gosu wekan:wekan npm install && \
|
||||
#gosu wekan:wekan npm install bcrypt && \
|
||||
# Remove legacy webbroser bundle, so that Wekan works also at Android Firefox, iOS Safari, etc.
|
||||
rm -rf /home/wekan/app_build/bundle/programs/web.browser.legacy && \
|
||||
rm -rf /home/wekan/app_build/bundle/programs/web.browser.legacy && \
|
||||
mv /home/wekan/app_build/bundle /build && \
|
||||
\
|
||||
# Put back the original tar
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
|
||||
appVersion: "v4.92.0"
|
||||
appVersion: "v4.95.0"
|
||||
files:
|
||||
userUploads:
|
||||
- README.md
|
||||
|
||||
@@ -90,7 +90,6 @@ template(name="minicard")
|
||||
.minicard-assignees.js-minicard-assignees
|
||||
each getAssignees
|
||||
+userAvatar(userId=this)
|
||||
hr(class="assigneehr" title="{{_ 'assignee'}}")
|
||||
|
||||
if getMembers
|
||||
.minicard-members.js-minicard-members
|
||||
|
||||
@@ -166,17 +166,15 @@
|
||||
.minicard-assignees
|
||||
float: right
|
||||
margin-left: 5px
|
||||
|
||||
.assigneehr
|
||||
border-top: 1px solid red
|
||||
margin-bottom: 4px
|
||||
border-bottom: 1px solid red
|
||||
margin-bottom: 4px
|
||||
|
||||
.member
|
||||
float: right
|
||||
border-radius: 50%
|
||||
height: 28px
|
||||
width: @height
|
||||
margin: 0px 0px 4px 0px
|
||||
margin-bottom: 4px
|
||||
|
||||
.assignee
|
||||
float: right
|
||||
|
||||
@@ -82,7 +82,7 @@ BlazeComponent.extendComponent({
|
||||
|
||||
showCardsCountForList(count) {
|
||||
const limit = this.limitToShowCardsCount();
|
||||
return limit > 0 && count > limit;
|
||||
return limit >= 0 && count > limit;
|
||||
},
|
||||
|
||||
events() {
|
||||
|
||||
@@ -11,7 +11,7 @@ template(name="header")
|
||||
a(href="{{pathFor 'home'}}")
|
||||
span.fa.fa-home
|
||||
|
||||
ul
|
||||
ul.header-quick-access-list
|
||||
if currentList
|
||||
each currentBoard.lists
|
||||
li(class="{{#if $.Session.equals 'currentList' _id}}current{{/if}}")
|
||||
@@ -41,7 +41,7 @@ template(name="header")
|
||||
a(href="{{pathFor 'home'}}")
|
||||
span.fa.fa-home
|
||||
| {{_ 'all-boards'}}
|
||||
ul
|
||||
ul.header-quick-access-list
|
||||
//li
|
||||
// a(href="{{pathFor 'public'}}")
|
||||
// span.fa.fa-globe
|
||||
|
||||
@@ -113,7 +113,7 @@
|
||||
a:hover, a.is-active
|
||||
color: white
|
||||
|
||||
ul
|
||||
ul.header-quick-access-list
|
||||
transition: opacity 0.2s
|
||||
overflow-x: auto
|
||||
overflow-y: hidden
|
||||
|
||||
@@ -29,10 +29,7 @@
|
||||
color: #bbb
|
||||
|
||||
.details
|
||||
|
||||
.activity
|
||||
display: flex
|
||||
|
||||
a.member
|
||||
margin: 0px 0px 0px 0px
|
||||
padding: 0px
|
||||
|
||||
@@ -567,9 +567,9 @@ Template.newUserPopup.events({
|
||||
const isAdmin = templateInstance.find('.js-profile-isadmin').value.trim();
|
||||
const isActive = templateInstance.find('.js-profile-isactive').value.trim();
|
||||
const email = templateInstance.find('.js-profile-email').value.trim();
|
||||
const importUsernames = templateInstance
|
||||
.find('.js-import-usernames')
|
||||
.value.trim();
|
||||
const importUsernames = Users.parseImportUsernames(
|
||||
templateInstance.find('.js-import-usernames').value,
|
||||
);
|
||||
|
||||
Meteor.call(
|
||||
'setCreateUser',
|
||||
|
||||
@@ -31,30 +31,39 @@ BlazeComponent.extendComponent({
|
||||
},
|
||||
|
||||
archivedCards() {
|
||||
return Cards.find({
|
||||
archived: true,
|
||||
boardId: Session.get('currentBoard'),
|
||||
}, {
|
||||
sort: { archivedAt: -1, modifiedAt: -1 },
|
||||
});
|
||||
return Cards.find(
|
||||
{
|
||||
archived: true,
|
||||
boardId: Session.get('currentBoard'),
|
||||
},
|
||||
{
|
||||
sort: { archivedAt: -1, modifiedAt: -1 },
|
||||
},
|
||||
);
|
||||
},
|
||||
|
||||
archivedLists() {
|
||||
return Lists.find({
|
||||
archived: true,
|
||||
boardId: Session.get('currentBoard'),
|
||||
}, {
|
||||
sort: { archivedAt: -1, modifiedAt: -1 },
|
||||
});
|
||||
return Lists.find(
|
||||
{
|
||||
archived: true,
|
||||
boardId: Session.get('currentBoard'),
|
||||
},
|
||||
{
|
||||
sort: { archivedAt: -1, modifiedAt: -1 },
|
||||
},
|
||||
);
|
||||
},
|
||||
|
||||
archivedSwimlanes() {
|
||||
return Swimlanes.find({
|
||||
archived: true,
|
||||
boardId: Session.get('currentBoard'),
|
||||
}, {
|
||||
sort: { archivedAt: -1, modifiedAt: -1 },
|
||||
});
|
||||
return Swimlanes.find(
|
||||
{
|
||||
archived: true,
|
||||
boardId: Session.get('currentBoard'),
|
||||
},
|
||||
{
|
||||
sort: { archivedAt: -1, modifiedAt: -1 },
|
||||
},
|
||||
);
|
||||
},
|
||||
|
||||
cardIsInArchivedList() {
|
||||
|
||||
@@ -9,7 +9,6 @@ avatar-radius = 50%
|
||||
float: left
|
||||
height: 30px
|
||||
width: @height
|
||||
margin: 0 4px 4px 0
|
||||
cursor: pointer
|
||||
user-select: none
|
||||
z-index: 1
|
||||
|
||||
@@ -143,7 +143,7 @@ template(name="changeSettingsPopup")
|
||||
label.bold.clear
|
||||
i.fa.fa-sort-numeric-asc
|
||||
| {{_ 'show-cards-minimum-count'}}
|
||||
input#show-cards-count-at.inline-input.left(type="number" value="#{showCardsCountAt}" min="0" max="99" onkeydown="return false")
|
||||
input#show-cards-count-at.inline-input.left(type="number" value="#{showCardsCountAt}" min="-1")
|
||||
label.bold.clear
|
||||
i.fa.fa-calendar
|
||||
| {{_ 'start-day-of-week'}}
|
||||
|
||||
@@ -213,6 +213,7 @@ Template.changeLanguagePopup.events({
|
||||
'profile.language': this.tag,
|
||||
},
|
||||
});
|
||||
TAPi18n.setLanguage(this.tag);
|
||||
event.preventDefault();
|
||||
},
|
||||
});
|
||||
@@ -270,6 +271,13 @@ Template.changeSettingsPopup.helpers({
|
||||
});
|
||||
|
||||
Template.changeSettingsPopup.events({
|
||||
'keypress/paste #show-cards-count-at'() {
|
||||
let keyCode = event.keyCode;
|
||||
let charCode = String.fromCharCode(keyCode);
|
||||
let regex = new RegExp('[-0-9]');
|
||||
let ret = regex.test(charCode);
|
||||
return ret;
|
||||
},
|
||||
'click .js-toggle-desktop-drag-handles'() {
|
||||
currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
@@ -292,7 +300,7 @@ Template.changeSettingsPopup.events({
|
||||
},
|
||||
'click .js-apply-user-settings'(event, templateInstance) {
|
||||
event.preventDefault();
|
||||
const minLimit = parseInt(
|
||||
let minLimit = parseInt(
|
||||
templateInstance.$('#show-cards-count-at').val(),
|
||||
10,
|
||||
);
|
||||
@@ -301,6 +309,9 @@ Template.changeSettingsPopup.events({
|
||||
10,
|
||||
);
|
||||
const currentUser = Meteor.user();
|
||||
if (isNaN(minLimit) || minLimit < -1) {
|
||||
minLimit = -1;
|
||||
}
|
||||
if (!isNaN(minLimit)) {
|
||||
if (currentUser) {
|
||||
Meteor.call('changeLimitToShowCardsCount', minLimit);
|
||||
|
||||
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+3
-3
@@ -928,7 +928,7 @@
|
||||
"globalSearch-instructions-operator-board": "`__operator_board__:title` - cards in boards matching the specified title",
|
||||
"globalSearch-instructions-operator-list": "`__operator_list__:title` - cards in lists matching the specified title",
|
||||
"globalSearch-instructions-operator-swimlane": "`__operator_swimlane__:title` - cards in swimlanes matching the specified title",
|
||||
"globalSearch-instructions-operator-comment": "`__operator_comment__:text` - cards with with a comment containing *text*.",
|
||||
"globalSearch-instructions-operator-comment": "`__operator_comment__:text` - cards with a comment containing *text*.",
|
||||
"globalSearch-instructions-operator-label": "`__operator_label__:color` `__operator_label__:name` - cards that have a label matching the given color or name",
|
||||
"globalSearch-instructions-operator-hash": "`__operator_label_abbrev__label` - shorthand for `__operator_label__:label`",
|
||||
"globalSearch-instructions-operator-user": "`__operator_user__:username` - cards where the specified user is a *member* or *assignee*",
|
||||
@@ -936,8 +936,8 @@
|
||||
"globalSearch-instructions-operator-member": "`__operator_member__:username` - cards where the specified user is a *member*",
|
||||
"globalSearch-instructions-operator-assignee": "`__operator_assignee__:username` - cards where the specified user is an *assignee*",
|
||||
"globalSearch-instructions-operator-due": "`__operator_due__:n` - cards which are due *n* days from now. `__operator_due__:__predicate_overdue__ lists all cards past their due date.",
|
||||
"globalSearch-instructions-operator-created": "`__operator_created__:n` - cards which which were created *n* days ago",
|
||||
"globalSearch-instructions-operator-modified": "`__operator_modified__:n` - cards which which were modified *n* days ago",
|
||||
"globalSearch-instructions-operator-created": "`__operator_created__:n` - cards which were created *n* days ago",
|
||||
"globalSearch-instructions-operator-modified": "`__operator_modified__:n` - cards which were modified *n* days ago",
|
||||
"globalSearch-instructions-status-archived": "`__operator_status__:__predicate_archived__` - cards that are archived.",
|
||||
"globalSearch-instructions-status-all": "`__operator_status__:__predicate_all__` - all archived and unarchived cards.",
|
||||
"globalSearch-instructions-status-ended": "`__operator_status__:__predicate_ended__` - cards with an end date.",
|
||||
|
||||
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+954
-953
File diff suppressed because it is too large.
Load diff
+5
-1
@@ -1287,7 +1287,11 @@ Boards.uniqueTitle = title => {
|
||||
},
|
||||
);
|
||||
|
||||
return `${base} [${num + 1}]`;
|
||||
if (num > 0) {
|
||||
return `${base} [${num + 1}]`;
|
||||
}
|
||||
|
||||
return title;
|
||||
};
|
||||
|
||||
Boards.userSearch = (
|
||||
|
||||
+7
-2
@@ -702,7 +702,9 @@ Cards.helpers({
|
||||
const definitions = CustomFields.find({
|
||||
boardIds: { $in: [this.boardId] },
|
||||
}).fetch();
|
||||
|
||||
if (!definitions) {
|
||||
return {};
|
||||
}
|
||||
// match right definition to each field
|
||||
if (!this.customFields) return [];
|
||||
const ret = this.customFields.map(customField => {
|
||||
@@ -731,11 +733,14 @@ Cards.helpers({
|
||||
definition,
|
||||
};
|
||||
});
|
||||
// at linked cards custom fields definition is not found
|
||||
ret.sort(
|
||||
(a, b) =>
|
||||
a.definition !== undefined &&
|
||||
b.definition !== undefined &&
|
||||
a.definition.name !== undefined &&
|
||||
b.definition.name !== undefined &&
|
||||
a.definition.name.localeCompare(b.definition.name),
|
||||
a.definition.name.localeCompare(b.definition.name)
|
||||
);
|
||||
return ret;
|
||||
},
|
||||
|
||||
+7
-3
@@ -1460,13 +1460,18 @@ if (Meteor.isServer) {
|
||||
*
|
||||
* @description Only the admin user (the first user) can call the REST API.
|
||||
*
|
||||
* @param {string} userId the user ID
|
||||
* @param {string} userId the user ID or username
|
||||
* @return_type Users
|
||||
*/
|
||||
JsonRoutes.add('GET', '/api/users/:userId', function(req, res) {
|
||||
try {
|
||||
Authentication.checkUserId(req.userId);
|
||||
const id = req.params.userId;
|
||||
let id = req.params.userId;
|
||||
let user = Meteor.users.findOne({ _id: id });
|
||||
if (!user) {
|
||||
user = Meteor.users.findOne({ username: id });
|
||||
id = user._id;
|
||||
}
|
||||
|
||||
// get all boards where the user is member of
|
||||
let boards = Boards.find(
|
||||
@@ -1485,7 +1490,6 @@ if (Meteor.isServer) {
|
||||
return u;
|
||||
});
|
||||
|
||||
const user = Meteor.users.findOne({ _id: id });
|
||||
user.boards = boards;
|
||||
JsonRoutes.sendResult(res, {
|
||||
code: 200,
|
||||
|
||||
Generated
+2167
-1505
File diff suppressed because it is too large.
Load diff
+8
-5
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "wekan",
|
||||
"version": "v4.92.0",
|
||||
"version": "v4.95.0",
|
||||
"description": "Open-Source kanban",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
@@ -40,13 +40,12 @@
|
||||
},
|
||||
"homepage": "https://wekan.github.io",
|
||||
"devDependencies": {
|
||||
"babel-eslint": "^10.1.0",
|
||||
"eslint": "^5.16.0",
|
||||
"eslint": "^7.19.0",
|
||||
"eslint-config-meteor": "0.0.9",
|
||||
"eslint-config-prettier": "^3.6.0",
|
||||
"eslint-import-resolver-meteor": "^0.4.0",
|
||||
"eslint-plugin-import": "^2.22.1",
|
||||
"eslint-plugin-meteor": "^5.1.0",
|
||||
"eslint-plugin-meteor": "^7.2.2",
|
||||
"eslint-plugin-prettier": "^3.3.1",
|
||||
"lint-staged": "^7.3.0",
|
||||
"pre-commit": "^1.2.2",
|
||||
@@ -55,13 +54,15 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/core": "^7.12.10",
|
||||
"@babel/eslint-parser": "^7.12.13",
|
||||
"@babel/runtime": "^7.12.5",
|
||||
"@root/request": "^1.7.0",
|
||||
"@typescript-eslint/parser": "^4.14.2",
|
||||
"ajv": "^7.0.4",
|
||||
"babel-runtime": "^6.26.0",
|
||||
"bcrypt": "^5.0.0",
|
||||
"bson": "^4.2.2",
|
||||
"bunyan": "^1.8.15",
|
||||
"core-js": "^3.8.3",
|
||||
"es6-promise": "^4.2.4",
|
||||
"exceljs": "^4.2.0",
|
||||
"fibers": "^5.0.0",
|
||||
@@ -77,7 +78,9 @@
|
||||
"page": "^1.11.5",
|
||||
"papaparse": "^5.3.0",
|
||||
"qs": "^6.9.6",
|
||||
"source-map-resolve": "^0.6.0",
|
||||
"source-map-support": "^0.5.19",
|
||||
"typescript": "^4.1.3",
|
||||
"xss": "^1.0.8"
|
||||
}
|
||||
}
|
||||
+4149
-2644
File diff suppressed because it is too large.
Load diff
@@ -1,7 +1,7 @@
|
||||
swagger: '2.0'
|
||||
info:
|
||||
title: Wekan REST API
|
||||
version: v4.92
|
||||
version: v4.95
|
||||
description: |
|
||||
The REST API allows you to control and extend Wekan with ease.
|
||||
|
||||
@@ -2262,7 +2262,7 @@ paths:
|
||||
- name: user
|
||||
in: path
|
||||
description: |
|
||||
the user ID
|
||||
the user ID or username
|
||||
type: string
|
||||
required: true
|
||||
produces:
|
||||
|
||||
+17
-12
@@ -22,7 +22,7 @@ do
|
||||
if [[ "$OSTYPE" == "linux-gnu" ]]; then
|
||||
echo "Linux";
|
||||
# Debian, Ubuntu, Mint
|
||||
sudo apt-get install -y build-essential gcc g++ make git curl wget npm
|
||||
sudo apt-get install -y build-essential gcc g++ make git curl wget npm p7zip-full
|
||||
# npm nodejs
|
||||
#sudo npm -g install npm
|
||||
#curl -0 -L https://npmjs.org/install.sh | sudo sh
|
||||
@@ -78,24 +78,29 @@ do
|
||||
#fi
|
||||
#cd ..
|
||||
#sudo chown -R $(id -u):$(id -g) $HOME/.npm $HOME/.meteor
|
||||
rm -rf node_modules .meteor/local
|
||||
rm -rf node_modules .meteor/local .build
|
||||
chmod u+w *.json
|
||||
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
|
||||
# Remove legacy webbroser bundle, so that Wekan works also at Android Firefox, iOS Safari, etc.
|
||||
rm -rf .build/bundle/programs/web.browser.legacy
|
||||
#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
|
||||
chmod u+w *.json
|
||||
npm install
|
||||
#meteor npm install bcrypt
|
||||
cd ../../../..
|
||||
# Cleanup
|
||||
cd .build/bundle
|
||||
find . -type d -name '*-garbage*' | xargs rm -rf
|
||||
find . -name '*phantom*' | xargs rm -rf
|
||||
find . -name '.*.swp' | xargs rm -f
|
||||
find . -name '*.swp' | xargs rm -f
|
||||
cd ../..
|
||||
# Add fibers multi arch
|
||||
#cd .build/bundle/programs/server/node_modules/fibers/bin
|
||||
#curl https://releases.wekan.team/fibers-multi.7z -o fibers-multi.7z
|
||||
#7z x fibers-multi.7z
|
||||
#rm fibers-multi.7z
|
||||
#cd ../../../../../../..
|
||||
echo Done.
|
||||
break
|
||||
;;
|
||||
|
||||
+32
-5
@@ -1,12 +1,39 @@
|
||||
## Wekan release scripts
|
||||
|
||||
Sorry about the mess. I try to cleanup it sometime.
|
||||
Release process, for example version 4.94:
|
||||
|
||||
1) Build x64 bundle and upload to x2/a/s/o:
|
||||
===========================================
|
||||
./release.sh 4.94
|
||||
|
||||
|
||||
2) Build bundles at servers
|
||||
===========================
|
||||
arm64:
|
||||
ssh a
|
||||
./maintainer-make-release-a.sh 4.94
|
||||
|
||||
s390x:
|
||||
ssh s
|
||||
./maintainer-make-release-s.sh 4.94
|
||||
|
||||
openpower:
|
||||
ssh o
|
||||
./maintainer-make-release-o.sh 4.94
|
||||
|
||||
|
||||
3) Download bundles and upload to x2 releases:
|
||||
==============================================
|
||||
./releases/up.sh
|
||||
|
||||
4) At x2, do release:
|
||||
=====================
|
||||
ssh x2
|
||||
cd /var/snap/wekan/common
|
||||
./release-x2.sh 4.93 4.94
|
||||
|
||||
I usually use these:
|
||||
- release.sh
|
||||
- release-sandstorm.sh
|
||||
- release-snap.sh
|
||||
|
||||
https://github.com/wekan/wekan-snap/wiki/Making-releases-from-source
|
||||
|
||||
https://github.com/wekan/wekan-maintainer/wiki/Building-Wekan-for-Sandstorm
|
||||
|
||||
Executable
+4
@@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
sudo sandstorm stop
|
||||
sudo systemctl disable sandstorm
|
||||
Executable
+13
@@ -0,0 +1,13 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "INSTALLING WEKAN SANDSTORM VERSION RELATED FILES:"
|
||||
sudo apt-get -y install p7zip-full wget curl
|
||||
cd ~
|
||||
wget https://releases.wekan.team/meteor-spk/projects.7z
|
||||
7z x projects.7z
|
||||
rm projects.7z
|
||||
echo "export PATH=$PATH:~/projects/meteor-spk/meteor-spk-0.5.1" >> ~/.bashrc
|
||||
source ~/.bashrc
|
||||
echo "INSTALL DEV VERSION OF SANDSTORM:"
|
||||
curl https://install.sandstorm.io | bash
|
||||
cd ~/repos/wekan
|
||||
Executable
+40
@@ -0,0 +1,40 @@
|
||||
#!/bin/bash
|
||||
|
||||
# This script is only for Wekan maintainer to
|
||||
# convert x64 bundle to arm64 bundle.
|
||||
|
||||
cd ~/repos
|
||||
rm -rf bundle
|
||||
|
||||
unzip wekan-$1.zip
|
||||
|
||||
sudo chown wekan:wekan bundle -R
|
||||
sudo apt -y install libcurl4-openssl-dev
|
||||
|
||||
sudo rm -f /home/wekan/repos/bundle/programs/server/node_modules/.bin/node-pre-gyp
|
||||
sudo rm -f /home/wekan/repos/bundle/programs/server/node_modules/.bin/node-gyp
|
||||
sudo rm -rf /home/wekan/repos/bundle/programs/server/npm/node_modules/meteor/lucasantoniassi_accounts-lockout/node_modules/.phantomjs-prebuilt-garbage-*
|
||||
sudo rm -rf /home/wekan/repos/bundle/programs/server/node_modules/.bin/*
|
||||
sudo rm -rf /home/wekan/repos/bundle/programs/server/node_modules/node-pre-gyp/node_modules/.bin/*
|
||||
sudo rm -rf /home/wekan/repos/bundle/programs/server/node_modules/node-gyp/node_modules/.bin/*
|
||||
sudo rm -rf /home/wekan/repos/bundle/programs/server/npm/node_modules/meteor/ostrio_files/node_modules/request-libcurl/.node_modules-garbage*
|
||||
|
||||
cd bundle/programs/server
|
||||
chmod u+w *.json
|
||||
npm uninstall fibers node-gyp node-pre-gyp
|
||||
npm install node-gyp@5.0.4 node-pre-gyp fibers
|
||||
npm install
|
||||
npm uninstall fibers node-gyp node-pre-gyp
|
||||
npm install node-pre-gyp
|
||||
npm install fibers
|
||||
npm install node-gyp@5.0.4
|
||||
|
||||
cd /home/wekan/repos/bundle
|
||||
find . -type d -name '*-garbage*' | xargs rm -rf
|
||||
find . -name '*phantom*' | xargs rm -rf
|
||||
find . -name '.*.swp' | xargs rm -f
|
||||
find . -name '*.swp' | xargs rm -f
|
||||
|
||||
cd /home/wekan/repos
|
||||
|
||||
zip -r wekan-$1-arm64.zip bundle
|
||||
Executable
+17
@@ -0,0 +1,17 @@
|
||||
cd /home/ubuntu
|
||||
rm -rf bundle
|
||||
#wget https://releases.wekan.team/wekan-$1.zip
|
||||
unzip wekan-$1.zip
|
||||
cd /home/ubuntu/bundle/programs/server
|
||||
chmod u+w *.json
|
||||
cd /home/ubuntu/bundle/programs/server/node_modules/fibers
|
||||
node build.js
|
||||
cd /home/ubuntu
|
||||
cp -pR /home/ubuntu/node-fibers/bin/linux-ppc64-72-glibc bundle/programs/server/node_modules/fibers/bin/
|
||||
cd bundle
|
||||
find . -type d -name '*-garbage*' | xargs rm -rf
|
||||
find . -name '*phantom*' | xargs rm -rf
|
||||
find . -name '.*.swp' | xargs rm -f
|
||||
find . -name '*.swp' | xargs rm -f
|
||||
cd ..
|
||||
zip -r wekan-$1-ppc64le.zip bundle
|
||||
Executable
+16
@@ -0,0 +1,16 @@
|
||||
cd /home/linux1
|
||||
rm -rf bundle
|
||||
unzip wekan-$1.zip
|
||||
cd /home/linux1/bundle/programs/server
|
||||
chmod u+w *.json
|
||||
cd /home/linux1/bundle/programs/server/node_modules/fibers
|
||||
node build.js
|
||||
cd /home/linux1
|
||||
#cp -pR /home/linux1/node-fibers/bin/linux-s390x-83-glibc bundle/programs/server/node_modules/fibers/bin/
|
||||
cd bundle
|
||||
find . -type d -name '*-garbage*' | xargs rm -rf
|
||||
find . -name '*phantom*' | xargs rm -rf
|
||||
find . -name '.*.swp' | xargs rm -f
|
||||
find . -name '*.swp' | xargs rm -f
|
||||
cd ..
|
||||
zip -r wekan-$1-s390x.zip bundle
|
||||
@@ -1,16 +1,17 @@
|
||||
cd ~/repos/wekan
|
||||
sudo apt -y install parallel
|
||||
sudo apt-get -y install parallel
|
||||
./releases/rebuild-release.sh
|
||||
#./releases/delete-phantomjs.sh
|
||||
cd ~/repos/wekan/.build
|
||||
zip -r wekan-$1.zip bundle
|
||||
|
||||
#{
|
||||
# scp wekan-$1.zip x2:/var/snap/wekan/common/releases.wekan.team/
|
||||
# scp wekan-$1.zip a:/home/wekan/repos/ && ssh a ' sudo npm -g install npm' && ssh a './maintainer-make-release.sh $1' && scp a:/home/wekan/repos/wekan-$1-arm64.zip . && scp wekan-$1-arm64.zip x2:/var/snap/wekan/common/releases.wekan.team/raspi3/
|
||||
# scp wekan-$1.zip s:/home/linux1/ && ssh s 'sudo npm -g install npm ' && ssh s './maintainer-make-release.sh $1' && scp s:/home/linux1/wekan-$1-s390x.zip . && scp wekan-$1-s390x.zip x2:/var/snap/wekan/common/releases.wekan.team/s390x/
|
||||
# scp wekan-$1.zip openpower:/home/ubuntu/ && ssh openpower './maintainer-make-release.sh $1' && scp openpower:/home/ubuntu/wekan-$1-ppc64le.zip . && scp wekan-$1-ppc64le.zip x2:/var/snap/wekan/common/releases.wekan.team/ppc64le/
|
||||
# sudo systemctl enable sandstorm && sudo sandstorm start && rm -rf ~/sandbuild && sudo mkdir -p /usr/local/lib/node_modules/fibers/.node-gyp && mkdir -p ~/sandbuild && cp -pR ~/repos/wekan ~/sandbuild/ && rm -rf ~/sandbuild/wekan/.meteor-spk && cd ~/sandbuild/wekan/.build/bundle/programs/server && npm install node-gyp node-pre-gyp fibers && cd ~/sandbuild/wekan && meteor-spk pack wekan-$1.spk && spk publish wekan-$1.spk && cd ~/repos/wekan && sudo sandstorm stop && sudo systemctl disable sandstorm && cd ~/repos/wekan
|
||||
#} | parallel -k
|
||||
{
|
||||
scp wekan-$1.zip x2:/var/snap/wekan/common/releases.wekan.team/
|
||||
scp wekan-$1.zip a:/home/wekan/repos/
|
||||
scp wekan-$1.zip s:/home/linux1/
|
||||
scp wekan-$1.zip o:/home/ubuntu/
|
||||
} | parallel -k
|
||||
|
||||
cd ..
|
||||
|
||||
echo "Bundle uploaded to x2/a/s/o."
|
||||
@@ -13,19 +13,24 @@ WEKANDIR=/home/wekan/repos/wekan
|
||||
|
||||
# Ensure sudo access
|
||||
sudo echo .
|
||||
rm -rf ~/repos/wekan/.meteor-spk
|
||||
sudo systemctl enable sandstorm
|
||||
sudo sandstorm start
|
||||
sudo sandstorm update
|
||||
# Build Sandstorm
|
||||
cd $REPODIR
|
||||
rm -rf $WEKANDIR
|
||||
git clone git@github.com:wekan/wekan.git
|
||||
cd $WEKANDIR
|
||||
sudo n 12.20.1
|
||||
sudo mkdir -p /usr/local/lib/node_modules/fibers/.node-gyp
|
||||
#cd $REPODIR
|
||||
#rm -rf $WEKANDIR
|
||||
#git clone git@github.com:wekan/wekan.git
|
||||
#cd $WEKANDIR
|
||||
#sudo n 12.20.1
|
||||
#sudo mkdir -p /usr/local/lib/node_modules/fibers/.node-gyp
|
||||
# Build Wekan
|
||||
./releases/rebuild-release.sh
|
||||
cd .build/bundle/programs/server
|
||||
npm install node-gyp node-pre-gyp fibers
|
||||
#./releases/rebuild-release.sh
|
||||
#cd .build/bundle/programs/server
|
||||
#npm install node-gyp node-pre-gyp fibers
|
||||
cd $WEKANDIR
|
||||
# Build Sandstorm
|
||||
meteor-spk pack wekan-$1.spk
|
||||
#spk publish wekan-$1.spk
|
||||
spk publish wekan-$1.spk
|
||||
rm -rf ~/repos/wekan/.meteor-spk
|
||||
#scp wekan-$1.spk x2:/var/snap/wekan/common/releases.wekan.team/
|
||||
Executable
+37
@@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
|
||||
## Syntax: ./release.sh oldversion newversion
|
||||
## Example: ./release.sh 3.87 3.88
|
||||
|
||||
echo "Release: x64"
|
||||
cd releases.wekan.team
|
||||
mv wekan-$1.zip /data2/old-releases/
|
||||
sha256sum wekan-$2.zip >> SHA256SUMS.txt
|
||||
mv SHA256SUMS.txt ../x64-SHA256SUMS.txt
|
||||
cat ../x64-SHA256SUMS.txt | grep -v wekan-$1.zip > SHA256SUMS.txt
|
||||
cd ..
|
||||
|
||||
echo "Release: arm64"
|
||||
cd releases.wekan.team/raspi3
|
||||
mv wekan-$1-arm64.zip /data2/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
|
||||
cd ../..
|
||||
|
||||
echo "Release: s390x"
|
||||
cd releases.wekan.team/s390x
|
||||
mv wekan-$1-s390x.zip /data2/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
|
||||
cd ../..
|
||||
|
||||
echo "Release: ppc64le"
|
||||
cd releases.wekan.team/ppc64le
|
||||
mkdir -p /data2/old-releases/ppc64le
|
||||
mv wekan-$1-ppc64le.zip /data2/old-releases/ppc64le/
|
||||
sha256sum wekan-$2-ppc64le.zip >> SHA256SUMS.txt
|
||||
mv SHA256SUMS.txt ../../ppc64le-SHA256SUMS.txt
|
||||
cat ../../ppc64le-SHA256SUMS.txt | grep -v wekan-$1-ppc64le.zip > SHA256SUMS.txt
|
||||
cd ../..
|
||||
Executable
+2
@@ -0,0 +1,2 @@
|
||||
scp a:/home/wekan/repos/wekan-$1-arm64.zip .
|
||||
scp wekan-$1-arm64.zip x2:/var/snap/wekan/common/releases.wekan.team/raspi3/
|
||||
Executable
+2
@@ -0,0 +1,2 @@
|
||||
scp o:/home/ubuntu/wekan-$1-ppc64le.zip .
|
||||
scp wekan-$1-ppc64le.zip x2:/var/snap/wekan/common/releases.wekan.team/ppc64le/
|
||||
Executable
+2
@@ -0,0 +1,2 @@
|
||||
scp s:/home/linux1/wekan-$1-s390x.zip .
|
||||
scp wekan-$1-s390x.zip x2:/var/snap/wekan/common/releases.wekan.team/s390x/
|
||||
Executable
+9
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
sudo apt-get -y install parallel
|
||||
|
||||
{
|
||||
~/repos/wekan/releases/up-a.sh $1
|
||||
~/repos/wekan/releases/up-s.sh $1
|
||||
~/repos/wekan/releases/up-o.sh $1
|
||||
} | parallel -k
|
||||
@@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
|
||||
appTitle = (defaultText = "Wekan"),
|
||||
# The name of the app as it is displayed to the user.
|
||||
|
||||
appVersion = 492,
|
||||
appVersion = 495,
|
||||
# Increment this for every release.
|
||||
|
||||
appMarketingVersion = (defaultText = "4.92.0~2021-02-03"),
|
||||
appMarketingVersion = (defaultText = "4.95.0~2021-02-08"),
|
||||
# Human-readable presentation of the app version.
|
||||
|
||||
minUpgradableAppVersion = 0,
|
||||
|
||||
+26
-117
@@ -97,150 +97,59 @@ parts:
|
||||
- execstack
|
||||
- nodejs
|
||||
- npm
|
||||
- p7zip-full
|
||||
stage-packages:
|
||||
- libfontconfig1
|
||||
override-build: |
|
||||
echo "Cleaning environment first"
|
||||
rm -rf ~/.meteor ~/.npm /usr/local/lib/node_modules
|
||||
# Create the OpenAPI specification
|
||||
rm -rf .build
|
||||
## Use Meteor 1.8.x on Snap
|
||||
#rm -rf .meteor
|
||||
#mv .snap-meteor-1.8/.meteor .
|
||||
#mv .snap-meteor-1.8/package.json .
|
||||
#mv .snap-meteor-1.8/package-lock.json .
|
||||
## Meteor 1.9.x has changes to Buffer() => Buffer.alloc(), so reverting those
|
||||
#mv .snap-meteor-1.8/cfs_access-point.txt fix-download-unicode/
|
||||
#mv .snap-meteor-1.8/export.js models/
|
||||
#mv .snap-meteor-1.8/wekanCreator.js models/
|
||||
#mv .snap-meteor-1.8/ldap.js packages/wekan-ldap/server/ldap.js
|
||||
#mv .snap-meteor-1.8/oidc_server.js packages/wekan-oidc/oidc_server.js
|
||||
rm -rf .snap-meteor-1.8
|
||||
#mkdir -p .build/python
|
||||
#cd .build/python
|
||||
#git clone --depth 1 -b master https://github.com/Kronuz/esprima-python
|
||||
#cd esprima-python
|
||||
#python3 setup.py install
|
||||
#cd ../../..
|
||||
#mkdir -p ./public/api
|
||||
#python3 ./openapi/generate_openapi.py --release $(git describe --tags --abbrev=0) > ./public/api/wekan.yml
|
||||
# we temporary need api2html and mkdirp
|
||||
#npm install -g api2html@0.3.0
|
||||
#npm install -g mkdirp
|
||||
#api2html -c ./public/logo-header.png -o ./public/api/wekan.html ./public/api/wekan.yml
|
||||
#npm uninstall -g mkdirp
|
||||
#npm uninstall -g api2html
|
||||
# Node Fibers 100% CPU usage issue:
|
||||
# https://github.com/wekan/wekan-mongodb/issues/2#issuecomment-381453161
|
||||
# https://github.com/meteor/meteor/issues/9796#issuecomment-381676326
|
||||
# https://github.com/sandstorm-io/sandstorm/blob/0f1fec013fe7208ed0fd97eb88b31b77e3c61f42/shell/server/00-startup.js#L99-L129
|
||||
# Also see beginning of wekan/server/authentication.js
|
||||
# import Fiber from "fibers";
|
||||
# Fiber.poolSize = 1e9;
|
||||
# OLD: Download node version 8.12.0 prerelease build => Official node 8.12.0 has been released
|
||||
# Description at https://releases.wekan.team/node.txt
|
||||
##echo "375bd8db50b9c692c0bbba6e96d4114cd29bee3770f901c1ff2249d1038f1348 node" >> node-SHASUMS256.txt.asc
|
||||
##curl https://releases.wekan.team/node -o node
|
||||
# Verify Fibers patched node authenticity
|
||||
##echo "Fibers 100% CPU issue patched node authenticity:"
|
||||
##grep node node-SHASUMS256.txt.asc | shasum -a 256 -c -
|
||||
##rm -f node-SHASUMS256.txt.asc
|
||||
##chmod +x node
|
||||
##mv node `which node`
|
||||
# DOES NOT WORK: paxctl fix.
|
||||
# Removed from build-packages: - paxctl
|
||||
#echo "Applying paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303"
|
||||
#paxctl -mC `which node`
|
||||
#echo "Installing npm"
|
||||
#curl -L https://www.npmjs.com/install.sh | sh
|
||||
echo "Installing meteor"
|
||||
curl https://install.meteor.com/ -o install_meteor.sh
|
||||
#sed -i "s|RELEASE=.*|RELEASE=\"1.8.1-beta.0\"|g" install_meteor.sh
|
||||
chmod +x install_meteor.sh
|
||||
sh install_meteor.sh
|
||||
rm install_meteor.sh
|
||||
# REPOS BELOW ARE INCLUDED TO WEKAN REPO
|
||||
#if [ ! -d "packages" ]; then
|
||||
# mkdir packages
|
||||
#fi
|
||||
#if [ ! -d "packages/kadira-flow-router" ]; then
|
||||
# cd packages
|
||||
# git clone --depth 1 -b master https://github.com/wekan/flow-router.git kadira-flow-router
|
||||
# cd ..
|
||||
#fi
|
||||
#if [ ! -d "packages/meteor-useraccounts-core" ]; then
|
||||
# cd packages
|
||||
# git clone --depth 1 -b master https://github.com/meteor-useraccounts/core.git meteor-useraccounts-core
|
||||
# sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' meteor-useraccounts-core/package.js
|
||||
# cd ..
|
||||
#fi
|
||||
#if [ ! -d "packages/meteor-accounts-cas" ]; then
|
||||
# cd packages
|
||||
# git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-cas.git meteor-accounts-cas
|
||||
# cd ..
|
||||
#fi
|
||||
#if [ ! -d "packages/wekan-ldap" ]; then
|
||||
# cd packages
|
||||
# git clone --depth 1 -b master https://github.com/wekan/wekan-ldap.git
|
||||
# cd ..
|
||||
#fi
|
||||
#if [ ! -d "packages/wekan-scrollbar" ]; then
|
||||
# cd packages
|
||||
# git clone --depth 1 -b master https://github.com/wekan/wekan-scrollbar.git
|
||||
# cd ..
|
||||
#fi
|
||||
#if [ ! -d "packages/wekan_accounts-oidc" ]; then
|
||||
# cd packages
|
||||
# git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-oidc.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
|
||||
# cd ..
|
||||
#fi
|
||||
#if [ ! -d "packages/markdown" ]; then
|
||||
# cd packages
|
||||
# git clone --depth 1 -b master --recurse-submodules https://github.com/wekan/markdown.git
|
||||
# cd ..
|
||||
#fi
|
||||
rm -rf .build
|
||||
meteor add standard-minifier-js --allow-superuser
|
||||
meteor npm install --allow-superuser
|
||||
meteor npm install --allow-superuser --save babel-runtime
|
||||
chmod u+w *.json
|
||||
npm install
|
||||
meteor build .build --directory --allow-superuser
|
||||
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 .build/bundle/programs/server/npm/node_modules/meteor/npm-bcrypt
|
||||
#rm -rf node_modules/bcrypt
|
||||
#meteor npm install --save bcrypt
|
||||
# Change from npm-bcrypt directory back to .build/bundle/programs/server directory.
|
||||
#cd ../../../../
|
||||
# Remove legacy webbroser bundle, so that Wekan works also at Android Firefox, iOS Safari, etc.
|
||||
rm -rf .build/bundle/programs/web.browser.legacy
|
||||
# Change to directory .build/bundle/programs/server
|
||||
cd .build/bundle/programs/server
|
||||
chmod u+w *.json
|
||||
npm install
|
||||
npm install --allow-superuser --save babel-runtime
|
||||
#meteor npm install --save bcrypt
|
||||
# Change back to Wekan source directory
|
||||
cd ../../../..
|
||||
# Cleanup
|
||||
cd .build/bundle
|
||||
find . -type d -name '*-garbage*' | xargs rm -rf
|
||||
find . -name '*phantom*' | xargs rm -rf
|
||||
find . -name '.*.swp' | xargs rm -f
|
||||
find . -name '*.swp' | xargs rm -f
|
||||
cd ../..
|
||||
# Add fibers multi arch
|
||||
cd .build/bundle/programs/server/node_modules/fibers/bin
|
||||
curl https://releases.wekan.team/fibers-multi.7z -o fibers-multi.7z
|
||||
7z x fibers-multi.7z
|
||||
rm fibers-multi.7z
|
||||
cd ../../../../../../..
|
||||
# Copy to Snap
|
||||
cp -r .build/bundle/* $SNAPCRAFT_PART_INSTALL/
|
||||
cp .build/bundle/.node_version.txt $SNAPCRAFT_PART_INSTALL/
|
||||
rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/wekan
|
||||
rm -f $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/meteor/rajit_bootstrap3-datepicker/lib/bootstrap-datepicker/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs
|
||||
#rm -f $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/meteor/rajit_bootstrap3-datepicker/lib/bootstrap-datepicker/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs
|
||||
# Delete phantomjs that is in accounts-lockout
|
||||
rm -rf $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/meteor/lucasantoniassi_accounts-lockout/node_modules/phantomjs-prebuilt
|
||||
#rm -rf $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/meteor/lucasantoniassi_accounts-lockout/node_modules/phantomjs-prebuilt
|
||||
# Delete temporary files
|
||||
rm -f $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/tar/lib/.mkdir.js.swp
|
||||
rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/node-pre-gyp/node_modules/tar/lib/.mkdir.js.swp
|
||||
rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/node-gyp/node_modules/tar/lib/.mkdir.js.swp
|
||||
#rm -f $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/tar/lib/.mkdir.js.swp
|
||||
#rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/node-pre-gyp/node_modules/tar/lib/.mkdir.js.swp
|
||||
#rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/node-gyp/node_modules/tar/lib/.mkdir.js.swp
|
||||
# Meteor 1.8.x additional .swp remove
|
||||
rm -f $SNAPCRAFT_PART_INSTALL/programs/server/node_modules/node-pre-gyp/node_modules/tar/lib/.mkdir.js.swp
|
||||
#rm -f $SNAPCRAFT_PART_INSTALL/programs/server/node_modules/node-pre-gyp/node_modules/tar/lib/.mkdir.js.swp
|
||||
# Delete fibers for other archs
|
||||
rm -rf $SNAPCRAFT_PART_INSTALL/programs/server/node_modules/fibers/bin/linux-ia32*
|
||||
#rm -rf $SNAPCRAFT_PART_INSTALL/programs/server/node_modules/fibers/bin/linux-ia32*
|
||||
# ostrio tmp remove
|
||||
rm -rf $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/meteor/ostrio_files/node_modules/request-libcurl/.node_modules-garbage*
|
||||
#rm -rf $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/meteor/ostrio_files/node_modules/request-libcurl/.node_modules-garbage*
|
||||
|
||||
organize:
|
||||
README: README.wekan
|
||||
|
||||
Reference in new issue
Block a user