"title":"[FIX] Threads List being requested more than expected",
"userLogin":"ggazzo",
"contributors":[
"ggazzo"
]
},
{
"pr":"20907",
"title":"[IMPROVE] Create thumbnails from uploaded images",
"userLogin":"KevLehman",
"contributors":[
"KevLehman",
"sampaiodiego",
"web-flow",
"tassoevan",
"ggazzo"
]
},
{
"pr":"22914",
"title":"[FIX] Threads and discussions searches don't display proper results",
"userLogin":"matheusbsilva137",
"description":"- _Fix_ issue in discussions search (which wasn't working after a search with no results was made);\r\n - _Improve_ discussions and threads searches: both searches (`chat.getDiscussions` and `chat.getThreadsList`) are now case insensitive (do NOT differ capital from lower letters) and match incomplete words or terms.",
"contributors":[
"matheusbsilva137",
"web-flow"
]
},
{
"pr":"23016",
"title":"[FIX] QuickActions for mobile screen",
"userLogin":"tiagoevanp",
"contributors":[
"ggazzo",
"tiagoevanp",
"web-flow",
"MartinSchoeler"
]
},
{
"pr":"22398",
"title":"Chore: Script to start Rocket.Chat in HA mode during development",
"userLogin":"d-gubert",
"description":"Sometimes we need to start Rocket.Chat in High-Availability mode (cluster) during development to test how a feature behaves or hunt down a bug. Currently, this involves a lot of commands with details that might be lost if you haven't done it in a while.\r\n\r\nThis PR intends to provide a really simple way for us to start many instances of Rocket.Chat connected in a cluster.",
"contributors":[
"d-gubert",
"web-flow"
]
},
{
"pr":"22577",
"title":"[IMPROVE] Add default permission 'start-discussion' and 'start-discussion-other-user' to app user",
"userLogin":"marceloschmidt",
"contributors":[
"marceloschmidt",
"sampaiodiego"
]
},
{
"pr":"23007",
"title":"i18n: Language update from LingoHub 🤖 on 2021-08-23Z",
"userLogin":"lingohub[bot]",
"contributors":[
null
]
},
{
"pr":"23015",
"title":"Regression: Fix creation of self-DMs",
"userLogin":"sampaiodiego",
"contributors":[
"sampaiodiego"
]
},
{
"pr":"22976",
"title":"[FIX] Error getting default agent when routing system algorithm is Auto Selection",
"userLogin":"renatobecker",
"milestone":"3.18",
"contributors":[
"renatobecker",
"KevLehman",
"web-flow"
]
},
{
"pr":"22996",
"title":"[FIX] Atlassian Crowd connection not working",
"userLogin":"pierre-lehnen-rc",
"contributors":[
"piotrkochan",
"pierre-lehnen-rc",
"ggazzo",
"web-flow"
]
},
{
"pr":"22997",
"title":"Regression: no-js-action bump version",
"userLogin":"ggazzo",
"contributors":[
"ggazzo",
"web-flow"
]
},
{
"pr":"22972",
"title":"Chore: Prevent new JS files being added",
"userLogin":"ggazzo",
"description":"We are moving our code base to TS, one way to help developers remember this is create a task that will notify you every time a new file is created.",
"contributors":[
"ggazzo",
"web-flow"
]
},
{
"pr":"22953",
"title":"Regression: File upload name suggestion",
"title":"[IMPROVE] Increase the verbosity of Omnichannel routing system debugging outputs",
"userLogin":"KevLehman",
"milestone":"3.18",
"contributors":[
"KevLehman",
"web-flow"
]
},
{
"pr":"22930",
"title":"[FIX] Bad words falling if message is empty",
"userLogin":"ggazzo",
"contributors":[
"ggazzo",
"web-flow"
]
},
{
"pr":"22990",
"title":"Chore: Update Livechat widget to 1.9.4",
"userLogin":"MartinSchoeler",
"contributors":[
"MartinSchoeler"
]
},
{
"pr":"18022",
"title":"[NEW] REST endpoint to delete a DM and allow DM for two other users",
"userLogin":"abrom",
"description":"[NEW] Improve DM create/delete API management",
"contributors":[
"abrom",
"web-flow"
]
},
{
"pr":"21937",
"title":"[NEW] Separate RegEx Settings for Channels and Usernames validation",
"userLogin":"aditya-mitra",
"description":"Now, there are 2 separate settings for validating names - One for **channels** and another for **usernames**.\r\n\r\nThis change also removes the old `UTF8_Names_Validation` setting and adds 2 new settings `UTF8_User_Names_Validation` and `UTF8_Channel_Names_Validation`.\r\n\r\nhttps://user-images.githubusercontent.com/55396651/116969904-af5bb800-acd4-11eb-9fc4-dacac60cb08f.mp4",
"contributors":[
"aditya-mitra"
]
},
{
"pr":"22955",
"title":"[NEW][ENTERPRISE] Maximum waiting time for chats in Omnichannel queue",
"userLogin":"KevLehman",
"description":"- Add new settings to support closing chats that have been too long on waiting queue\r\n- Moved old settings to new \"Queue Management\" section\r\n- Fix issue when closing a livechat room that caused client to not to know if room was open or not",
"contributors":[
"KevLehman",
"web-flow",
"renatobecker"
]
},
{
"pr":"22967",
"title":"[IMPROVE] Types from currentChatsPage.tsx",
"userLogin":"tiagoevanp",
"contributors":[
"tiagoevanp",
"web-flow",
"MartinSchoeler"
]
},
{
"pr":"22796",
"title":"[FIX] Go command duplicating subfolder path on iframes.",
"userLogin":"gabriellsh",
"contributors":[
"gabriellsh",
"ostjen",
"web-flow"
]
},
{
"pr":"22515",
"title":"[IMPROVE] Exclude archived rooms from unread-message count",
"userLogin":"nmagedman",
"contributors":[
"nmagedman"
]
},
{
"pr":"22672",
"title":"Chore: Fix RHEL container build issue due to gpg keyserver deprecation",
"userLogin":"jsm84",
"description":"Changed gpg keyserver in RHEL Dockerfile to openpgp.org due to deprecation of the SKS keyserver network.",
"contributors":[
"jsm84",
"web-flow"
]
},
{
"pr":"22902",
"title":"[IMPROVE] Use tag autocomplete in more places",
"userLogin":"MartinSchoeler",
"description":"Use the proper autocomplete component for omnichannel tags, this adds proper sorting of results and better consistency.",
"contributors":[
"MartinSchoeler",
"tiagoevanp",
"web-flow"
]
},
{
"pr":"22850",
"title":"[FIX] Return transcript/dashboards based on timezone settings",
"userLogin":"KevLehman",
"description":"- Added new setting to manage timezones\r\n- Applied new setting to omnichannel dashboards (realtime, analytics) [NOTE: Other dashboards aren't using this setting actually)\r\n- Change getAnalyticsBetweenDate query to filter out system messages instead of substracting them",
"contributors":[
"KevLehman",
"renatobecker",
"web-flow",
"tiagoevanp"
]
},
{
"pr":"22952",
"title":"Regression: readNow blocked by a invalid condition",
"userLogin":"dougfabris",
"contributors":[
"dougfabris"
]
},
{
"pr":"22927",
"title":"[FIX] User presence being processes even if presence monitor was disabled",
"userLogin":"sampaiodiego",
"contributors":[
"sampaiodiego"
]
},
{
"pr":"22937",
"title":"i18n: Language update from LingoHub 🤖 on 2021-08-16Z",
"userLogin":"lingohub[bot]",
"contributors":[
null
]
},
{
"pr":"22917",
"title":"[FIX] Close omnichannel conversations when agent is deactivated",
"userLogin":"KevLehman",
"milestone":"3.17.1",
"contributors":[
"KevLehman",
"renatobecker",
"web-flow"
]
},
{
"pr":"22750",
"title":"[IMPROVE] Rewrite File Upload Modal",
"userLogin":"gabriellsh",
"description":"Image preview:\r\n\r\n\r\nVideo preview:\r\n\r\n\r\nFiles larger than 10mb:\r\n",
"contributors":[
"gabriellsh",
"dougfabris",
"web-flow"
]
},
{
"pr":"22882",
"title":"[FIX] Apps-Engine's scheduler failing to update run tasks",
"userLogin":"thassiov",
"description":"[Agenda](https://github.com/agenda/agenda), the library that manages scheduling, depended on setting a job property named `nextRunAt` as `undefined` to signal whether it should be run on schedule or not. [Rocket.Chat's current Mongo driver](https://github.com/RocketChat/Rocket.Chat/pull/22399) ignores `undefined` values when updating documents and this was causing jobs to never stop running as Agenda couldn't clear that property (set them as `undefined`). \r\nThis updates Rocket.Chat's dependency on Agenda.js to point to [a fork that fixes the problem](https://github.com/RocketChat/agenda/releases/tag/3.1.2).",
"milestone":"3.17.1",
"contributors":[
"thassiov",
"web-flow",
"d-gubert"
]
},
{
"pr":"22835",
"title":"[FIX] Use correct param on saveBusinessHour method",
"userLogin":"KevLehman",
"milestone":"3.17.1",
"contributors":[
"KevLehman",
"web-flow",
"renatobecker",
"murtaza98"
]
},
{
"pr":"22870",
"title":"[FIX] Can't access other administration menus after opening Engagement Dashboard",
"userLogin":"ostjen",
"contributors":[
"ostjen",
"web-flow"
]
},
{
"pr":"21868",
"title":"[FIX] \"Read Only\" field description is incorrect when the option is checked",
"userLogin":"epif4nio",
"contributors":[
"epif4nio",
"web-flow",
"dougfabris"
]
},
{
"pr":"22431",
"title":"Chore: Fix typo in rtl.css",
"userLogin":"eltociear",
"contributors":[
"eltociear",
"web-flow",
"tassoevan"
]
},
{
"pr":"22880",
"title":"[FIX] Audio recording doesn't stop in direct messages on channel switch",
"userLogin":"matheusbsilva137",
"description":"- Cancel audio recordings on message bar destroy event.\r\n",
"contributors":[
"matheusbsilva137",
"gabriellsh",
"web-flow"
]
},
{
"pr":"22888",
"title":"i18n: Language update from LingoHub 🤖 on 2021-08-09Z",
"userLogin":"lingohub[bot]",
"contributors":[
null,
"sampaiodiego",
"web-flow"
]
},
{
"pr":"22823",
"title":"[FIX] Manually approve new users is not applied to SAML users",
"userLogin":"ostjen",
"contributors":[
"ostjen",
"web-flow"
]
},
{
"pr":"22839",
"title":"[FIX] applyChatRestictions callback not working for community version",
"userLogin":"murtaza98",
"description":"Building on top of https://github.com/RocketChat/Rocket.Chat/pull/22838",
"contributors":[
"Shailesh351",
"murtaza98",
"web-flow"
]
},
{
"pr":"22856",
"title":"[FIX] Message update not working in some cases",
"userLogin":"murtaza98",
"milestone":"3.17.1",
"contributors":[
"murtaza98",
"KevLehman",
"web-flow"
]
},
{
"pr":"22848",
"title":"[FIX] Broken download link on uploaded files",
"userLogin":"ostjen",
"description":"Uploaded files had wrong download links when the deploy had a sub directory. This misbehavior was caused by the wrong usage of the rtrim method, the 2nd parameter is a list of chars, [not a string](https://www.php.net/manual/pt_BR/function.rtrim.php) (this method was inspired by php)",
"contributors":[
"ostjen",
"web-flow"
]
},
{
"pr":"22801",
"title":"[FIX] User is still asked for 2FA confirmation even if it is deactivated",
"userLogin":"pierre-lehnen-rc",
"contributors":[
"pierre-lehnen-rc",
"ostjen",
"web-flow"
]
},
{
"pr":"22778",
"title":"[FIX] Registration not possible with TOTP and email verification",
"userLogin":"ostjen",
"contributors":[
"ostjen",
"tassoevan",
"web-flow"
]
},
{
"pr":"22396",
"title":"[FIX] users registered via third party apps bypass custom required fields",
"userLogin":"g-thome",
"description":"moves the custom fields from the initial registration form to the \"pick a username\" screen so that everyone is forced to fill the custom required fields",
"contributors":[
"g-thome",
"gabriellsh",
"web-flow",
"tassoevan"
]
},
{
"pr":"22871",
"title":"[FIX] \"Click to Join\" button is not working if there are no muted users in the room",
"userLogin":"matheusbsilva137",
"description":"- Add check to `room.muted` array so as to cover the case in which it is `undefined`;",
"milestone":"3.17.1",
"contributors":[
"matheusbsilva137",
"web-flow",
"tassoevan"
]
},
{
"pr":"22836",
"title":"[FIX] \"Users By Time of the Day\" chart displays incorrect data for Local Timezone",
"userLogin":"matheusbsilva137",
"description":"- Add local timezone conversion to the \"Users By Time of the Day\" chart in the Engagement Dashboard;\r\n - Simplify date creations by using `endOf` and `startOf` methods.",
- **ENTERPRISE:** Maximum waiting time for chats in Omnichannel queue ([#22955](https://github.com/RocketChat/Rocket.Chat/pull/22955))
- Add new settings to support closing chats that have been too long on waiting queue
- Moved old settings to new "Queue Management" section
- Fix issue when closing a livechat room that caused client to not to know if room was open or not
- REST endpoint to delete a DM and allow DM for two other users ([#18022](https://github.com/RocketChat/Rocket.Chat/pull/18022) by [@abrom](https://github.com/abrom))
[NEW] Improve DM create/delete API management
- Separate RegEx Settings for Channels and Usernames validation ([#21937](https://github.com/RocketChat/Rocket.Chat/pull/21937) by [@aditya-mitra](https://github.com/aditya-mitra))
Now, there are 2 separate settings for validating names - One for **channels** and another for **usernames**.
This change also removes the old `UTF8_Names_Validation` setting and adds 2 new settings `UTF8_User_Names_Validation` and `UTF8_Channel_Names_Validation`.
- Add default permission 'start-discussion' and 'start-discussion-other-user' to app user ([#22577](https://github.com/RocketChat/Rocket.Chat/pull/22577))
- Create thumbnails from uploaded images ([#20907](https://github.com/RocketChat/Rocket.Chat/pull/20907))
- Exclude archived rooms from unread-message count ([#22515](https://github.com/RocketChat/Rocket.Chat/pull/22515) by [@nmagedman](https://github.com/nmagedman))
- Increase the verbosity of Omnichannel routing system debugging outputs ([#22977](https://github.com/RocketChat/Rocket.Chat/pull/22977))
- Types from currentChatsPage.tsx ([#22967](https://github.com/RocketChat/Rocket.Chat/pull/22967))
- Use tag autocomplete in more places ([#22902](https://github.com/RocketChat/Rocket.Chat/pull/22902))
Use the proper autocomplete component for omnichannel tags, this adds proper sorting of results and better consistency.
### 🐛 Bug fixes
- "Click to Join" button is not working if there are no muted users in the room ([#22871](https://github.com/RocketChat/Rocket.Chat/pull/22871))
- Add check to `room.muted` array so as to cover the case in which it is `undefined`;
- "Read Only" field description is incorrect when the option is checked ([#21868](https://github.com/RocketChat/Rocket.Chat/pull/21868) by [@epif4nio](https://github.com/epif4nio))
- "Users By Time of the Day" chart displays incorrect data for Local Timezone ([#22836](https://github.com/RocketChat/Rocket.Chat/pull/22836))
- Add local timezone conversion to the "Users By Time of the Day" chart in the Engagement Dashboard;
- Simplify date creations by using `endOf` and `startOf` methods.
- applyChatRestictions callback not working for community version ([#22839](https://github.com/RocketChat/Rocket.Chat/pull/22839) by [@Shailesh351](https://github.com/Shailesh351))
Building on top of https://github.com/RocketChat/Rocket.Chat/pull/22838
- Apps-Engine's scheduler failing to update run tasks ([#22882](https://github.com/RocketChat/Rocket.Chat/pull/22882))
[Agenda](https://github.com/agenda/agenda), the library that manages scheduling, depended on setting a job property named `nextRunAt` as `undefined` to signal whether it should be run on schedule or not. [Rocket.Chat's current Mongo driver](https://github.com/RocketChat/Rocket.Chat/pull/22399) ignores `undefined` values when updating documents and this was causing jobs to never stop running as Agenda couldn't clear that property (set them as `undefined`).
This updates Rocket.Chat's dependency on Agenda.js to point to [a fork that fixes the problem](https://github.com/RocketChat/agenda/releases/tag/3.1.2).
- Atlassian Crowd connection not working ([#22996](https://github.com/RocketChat/Rocket.Chat/pull/22996) by [@piotrkochan](https://github.com/piotrkochan))
- Audio recording doesn't stop in direct messages on channel switch ([#22880](https://github.com/RocketChat/Rocket.Chat/pull/22880))
- Cancel audio recordings on message bar destroy event.
- Bad words falling if message is empty ([#22930](https://github.com/RocketChat/Rocket.Chat/pull/22930))
- Broken download link on uploaded files ([#22848](https://github.com/RocketChat/Rocket.Chat/pull/22848))
Uploaded files had wrong download links when the deploy had a sub directory. This misbehavior was caused by the wrong usage of the rtrim method, the 2nd parameter is a list of chars, [not a string](https://www.php.net/manual/pt_BR/function.rtrim.php) (this method was inspired by php)
- Can't access other administration menus after opening Engagement Dashboard ([#22870](https://github.com/RocketChat/Rocket.Chat/pull/22870))
- Close omnichannel conversations when agent is deactivated ([#22917](https://github.com/RocketChat/Rocket.Chat/pull/22917))
- Error getting default agent when routing system algorithm is Auto Selection ([#22976](https://github.com/RocketChat/Rocket.Chat/pull/22976))
- Go command duplicating subfolder path on iframes. ([#22796](https://github.com/RocketChat/Rocket.Chat/pull/22796))
- Manually approve new users is not applied to SAML users ([#22823](https://github.com/RocketChat/Rocket.Chat/pull/22823))
- Message update not working in some cases ([#22856](https://github.com/RocketChat/Rocket.Chat/pull/22856))
- Threads and discussions searches don't display proper results ([#22914](https://github.com/RocketChat/Rocket.Chat/pull/22914))
- _Fix_ issue in discussions search (which wasn't working after a search with no results was made);
- _Improve_ discussions and threads searches: both searches (`chat.getDiscussions` and `chat.getThreadsList`) are now case insensitive (do NOT differ capital from lower letters) and match incomplete words or terms.
- Threads List being requested more than expected ([#22879](https://github.com/RocketChat/Rocket.Chat/pull/22879))
- TypeError on Callout type prop ([#22790](https://github.com/RocketChat/Rocket.Chat/pull/22790) by [@hrahul2605](https://github.com/hrahul2605))
- Use correct param on saveBusinessHour method ([#22835](https://github.com/RocketChat/Rocket.Chat/pull/22835))
- User is still asked for 2FA confirmation even if it is deactivated ([#22801](https://github.com/RocketChat/Rocket.Chat/pull/22801))
- User presence being processes even if presence monitor was disabled ([#22927](https://github.com/RocketChat/Rocket.Chat/pull/22927))
- users registered via third party apps bypass custom required fields ([#22396](https://github.com/RocketChat/Rocket.Chat/pull/22396))
moves the custom fields from the initial registration form to the "pick a username" screen so that everyone is forced to fill the custom required fields
- Chore: Fix RHEL container build issue due to gpg keyserver deprecation ([#22672](https://github.com/RocketChat/Rocket.Chat/pull/22672) by [@jsm84](https://github.com/jsm84))
Changed gpg keyserver in RHEL Dockerfile to openpgp.org due to deprecation of the SKS keyserver network.
- Chore: Fix typo in rtl.css ([#22431](https://github.com/RocketChat/Rocket.Chat/pull/22431) by [@eltociear](https://github.com/eltociear))
- Chore: Prevent new JS files being added ([#22972](https://github.com/RocketChat/Rocket.Chat/pull/22972))
We are moving our code base to TS, one way to help developers remember this is create a task that will notify you every time a new file is created.
- Chore: Script to start Rocket.Chat in HA mode during development ([#22398](https://github.com/RocketChat/Rocket.Chat/pull/22398))
Sometimes we need to start Rocket.Chat in High-Availability mode (cluster) during development to test how a feature behaves or hunt down a bug. Currently, this involves a lot of commands with details that might be lost if you haven't done it in a while.
This PR intends to provide a really simple way for us to start many instances of Rocket.Chat connected in a cluster.
- Chore: Update Livechat widget to 1.9.4 ([#22990](https://github.com/RocketChat/Rocket.Chat/pull/22990))
- i18n: Language update from LingoHub 🤖 on 2021-08-09Z ([#22888](https://github.com/RocketChat/Rocket.Chat/pull/22888))
- i18n: Language update from LingoHub 🤖 on 2021-08-16Z ([#22937](https://github.com/RocketChat/Rocket.Chat/pull/22937))
- i18n: Language update from LingoHub 🤖 on 2021-08-23Z ([#23007](https://github.com/RocketChat/Rocket.Chat/pull/23007))
- Merge master into develop & Set version to 3.18.0-develop ([#22834](https://github.com/RocketChat/Rocket.Chat/pull/22834))
- Regression: File upload name suggestion ([#22953](https://github.com/RocketChat/Rocket.Chat/pull/22953))