Skip to content

Commit a896450

Browse files
committed
Merge remote-tracking branch 'origin/develop' into release-candidate
2 parents e4a05e9 + 21fc380 commit a896450

38 files changed

Lines changed: 873 additions & 1122 deletions

File tree

‎.github/history-manual.json‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,5 +88,14 @@
8888
"KevLehman",
8989
"renatobecker"
9090
]
91+
}],
92+
"3.14.2": [{
93+
"title": "[FIX] Security Hotfix (https://docs.rocket.chat/guides/security/security-updates)",
94+
"userLogin": "sampaiodiego",
95+
"contributors": [
96+
"sampaiodiego",
97+
"KevLehman",
98+
"g-thome"
99+
]
91100
}]
92101
}

‎.github/history.json‎

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59613,6 +59613,26 @@
5961359613
}
5961459614
]
5961559615
},
59616+
"3.14.2": {
59617+
"node_version": "12.22.1",
59618+
"npm_version": "6.14.1",
59619+
"apps_engine_version": "1.25.0",
59620+
"mongo_versions": [
59621+
"3.4",
59622+
"3.6",
59623+
"4.0"
59624+
],
59625+
"pull_requests": [
59626+
{
59627+
"pr": "48",
59628+
"title": "Update README.md",
59629+
"userLogin": "hehsiao",
59630+
"contributors": [
59631+
"hehsiao"
59632+
]
59633+
}
59634+
]
59635+
},
5961659636
"3.15.0-rc.0": {
5961759637
"node_version": "12.22.1",
5961859638
"npm_version": "6.14.1",
@@ -60731,4 +60751,4 @@
6073160751
"pull_requests": []
6073260752
}
6073360753
}
60734-
}
60754+
}

‎HISTORY.md‎

Lines changed: 620 additions & 1046 deletions
Large diffs are not rendered by default.

‎app/api/server/lib/cleanQuery.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ export function clean(v: Query, allowList: string[] = []): Query {
1818
if (v instanceof Object) {
1919
/* eslint-disable guard-for-in */
2020
for (const key in typedParam) {
21-
if (/^$/.test(key) && !allowList.includes(key)) {
21+
if (key.startsWith('$') && !allowList.includes(key)) {
2222
delete typedParam[key];
2323
} else {
2424
clean(typedParam[key], allowList);

‎app/lib/lib/MessageTypes.js‎

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,16 @@ Meteor.startup(function() {
4747
};
4848
},
4949
});
50+
MessageTypes.registerType({
51+
id: 'ult',
52+
system: true,
53+
message: 'User_left_team',
54+
data(message) {
55+
return {
56+
user_left: message.u.username,
57+
};
58+
},
59+
});
5060
MessageTypes.registerType({
5161
id: 'uj',
5262
system: true,
@@ -57,6 +67,16 @@ Meteor.startup(function() {
5767
};
5868
},
5969
});
70+
MessageTypes.registerType({
71+
id: 'ujt',
72+
system: true,
73+
message: 'User_joined_team',
74+
data(message) {
75+
return {
76+
user: message.u.username,
77+
};
78+
},
79+
});
6080
MessageTypes.registerType({
6181
id: 'ut',
6282
system: true,

‎app/lib/server/functions/addUserToRoom.js‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@ export const addUserToRoom = function(rid, user, inviter, silenced) {
6868
});
6969
} else if (room.prid) {
7070
Messages.createUserJoinWithRoomIdAndUserDiscussion(rid, user, { ts: now });
71+
} else if (room.teamMain) {
72+
Messages.createUserJoinTeamWithRoomIdAndUser(rid, user, { ts: now });
7173
} else {
7274
Messages.createUserJoinWithRoomIdAndUser(rid, user, { ts: now });
7375
}

‎app/lib/server/functions/createRoom.js‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ export const createRoom = function(type, name, owner, members = [], readOnly, {
5151
}
5252

5353
let room = {
54+
...extraData,
5455
name: getValidRoomName(name, null, validRoomNameOptions),
5556
fname: name,
5657
t: type,
@@ -60,7 +61,6 @@ export const createRoom = function(type, name, owner, members = [], readOnly, {
6061
_id: owner._id,
6162
username: owner.username,
6263
},
63-
...extraData,
6464
ts: now,
6565
ro: readOnly === true,
6666
};

‎app/lib/server/functions/removeUserFromRoom.js‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ export const removeUserFromRoom = function(rid, user, options = {}) {
3030
Messages.createUserRemovedWithRoomIdAndUser(rid, user, {
3131
u: options.byUser,
3232
});
33+
} else if (room.teamMain) {
34+
Messages.createUserLeaveTeamWithRoomIdAndUser(rid, removedUser);
3335
} else {
3436
Messages.createUserLeaveWithRoomIdAndUser(rid, removedUser);
3537
}

‎app/lib/server/startup/settings.js‎

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -956,6 +956,37 @@ settings.addGroup('General', function() {
956956
public: true,
957957
multiline: true,
958958
});
959+
this.add('Default_Referrer_Policy', 'same-origin', {
960+
type: 'select',
961+
values: [
962+
{
963+
key: 'no-referrer',
964+
i18nLabel: 'No_Referrer',
965+
}, {
966+
key: 'no-referrer-when-downgrade',
967+
i18nLabel: 'No_Referrer_When_Downgrade',
968+
}, {
969+
key: 'origin',
970+
i18nLabel: 'Origin',
971+
}, {
972+
key: 'origin-when-cross-origin',
973+
i18nLabel: 'Origin_When_Cross_Origin',
974+
}, {
975+
key: 'same-origin',
976+
i18nLabel: 'Same_Origin',
977+
}, {
978+
key: 'strict-origin',
979+
i18nLabel: 'Strict_Origin',
980+
}, {
981+
key: 'strict-origin-when-cross-origin',
982+
i18nLabel: 'Strict_Origin_When_Cross_Origin',
983+
}, {
984+
key: 'unsafe-url',
985+
i18nLabel: 'Unsafe_Url',
986+
},
987+
],
988+
public: true,
989+
});
959990
this.section('UTF8', function() {
960991
this.add('UTF8_Names_Validation', '[0-9a-zA-Z-_.]+', {
961992
type: 'string',

‎app/livechat/imports/server/rest/departments.js‎

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,14 @@ API.v1.addRoute('livechat/department', { authRequired: true }, {
1010
get() {
1111
const { offset, count } = this.getPaginationItems();
1212
const { sort } = this.parseJsonQuery();
13-
const { text, enabled } = this.queryParams;
13+
14+
const { text, enabled, onlyMyDepartments } = this.queryParams;
1415

1516
const departments = Promise.await(findDepartments({
1617
userId: this.userId,
1718
text,
1819
enabled,
20+
onlyMyDepartments: onlyMyDepartments === 'true',
1921
pagination: {
2022
offset,
2123
count,
@@ -59,10 +61,13 @@ API.v1.addRoute('livechat/department/:_id', { authRequired: true }, {
5961
_id: String,
6062
});
6163

64+
const { onlyMyDepartments } = this.queryParams;
65+
6266
const { department, agents } = Promise.await(findDepartmentById({
6367
userId: this.userId,
6468
departmentId: this.urlParams._id,
6569
includeAgents: this.queryParams.includeAgents && this.queryParams.includeAgents === 'true',
70+
onlyMyDepartments: onlyMyDepartments === 'true',
6671
}));
6772

6873
const result = { department };
@@ -137,14 +142,15 @@ API.v1.addRoute('livechat/department/:_id', { authRequired: true }, {
137142

138143
API.v1.addRoute('livechat/department.autocomplete', { authRequired: true }, {
139144
get() {
140-
const { selector } = this.queryParams;
145+
const { selector, onlyMyDepartments } = this.queryParams;
141146
if (!selector) {
142147
return API.v1.failure('The \'selector\' param is required');
143148
}
144149

145150
return API.v1.success(Promise.await(findDepartmentsToAutocomplete({
146151
uid: this.userId,
147152
selector: JSON.parse(selector),
153+
onlyMyDepartments: onlyMyDepartments === 'true',
148154
})));
149155
},
150156
});

0 commit comments

Comments
 (0)