From 2626662b7151e36dc8e627358b6247b8fe56ee08 Mon Sep 17 00:00:00 2001 From: vickyokrm Date: Fri, 8 Mar 2019 09:01:38 +0100 Subject: [PATCH] Release/v0.73.0 0.9.9 (#581) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Added imports for global variables in rocketchat-google-natural-language package (#12647) * Added imports for global variables in rocketchat-google-natural-language package * fix lint * [NEW] New API Endpoints for the new version of JS SDK (#12623) * Added rooms.info endpoint * Added rooms.leave endpoint and tests * Add support to fields in room.info endpoint * fix broken tests, removed "lm" property from expected keys * Removed RocketChatFile from globals (#12650) * Convert rocketchat-google-vision to main module structure (#12649) * [FIX] Fix favico error (#12643) * Fix favico error * Fix favico export, remove iife * [IMPROVE] Update the 'keyboard shortcuts' documentation (#12564) This change adds a description of `[Shift|Ctrl] ESC` to the keyboard shortcuts sidebar. It also adds some more information on the description of the function. * Convert rocketchat-graphql to main module structure (#12658) * Convert rocketchat-grant to main module structure (#12657) * Exposing t function to the server side too * Convert rocketchat-grant to main module structure * Convert rocketchat-highlight-words to main module structure (#12659) * Convert rocketchat-importer-hipchat to main module structure (#12664) * Convert rocketchat-importer-csv to main module structure (#12663) * Convert rocketchat-importer to main module structure (#12662) * Convert rocketchat-iframe-login to main module structure (#12661) * Convert rocketchat-iframe-login to main module structure * Revert some global variables removed * Convert rocketchat-importer-slack to main module structure (#12666) * Exposing getAvatarUrlFromUsername function * Convert rocketchat-importer-slack to main module structure * Convert rocketchat-importer-slack-users to main module structure (#12669) * Convert rocketchat-importer-hipchat-enterprise to main module structure (#12665) * Convert rocketchat-internal-hubot to main module structure (#12671) * Convert rocketchat-irc to main module structure (#12672) * Convert rocketchat-integrations to main module structure (#12670) * Convert rocketchat-integrations to main module structure * import processWebhookMessage where it was missing * Conver rocketchat-issuelinks to main module structure (#12674) * Convert rocketchat-ldap to main module structure (#12678) * [NEW] /api/v1/spotlight: return joinCodeRequired field for rooms (#12651) * Spotlight: return joinCodeRequired for rooms * add missing trailing comma * Added "npm install" to quick start for developers (#12374) * Added "npm install" to quick start for developers * Changed npm install to meteor npm install * [FIX] high cpu usage ~ svg icon (#12677) Closes https://github.com/RocketChat/Rocket.Chat.Electron/issues/740 Colleagues of mine found the issue why the CPU usage of rocket.chat is so high. It's because of `animateTransform` inside `./packages/rocketchat-ui-master/public/icons.svg`. I've removed it and replaced by a CSS animation. * [IMPROVE] border-radius to use --border-radius (#12675) * fix multiple border-radius to use --border-radius * fix multiple border-radius to use --border-radius * fix multiple border-radius to use --border-radius * Convert rocketchat-livestream to main module structure (#12679) * Exposing popout global variable * Convert rocketchat-livestream to main module structure * disable eslint in popout file * Adding file that was forgotten * Convert rocketchat-mail-messages to main module structure (#12682) * Convert rocketchat-mail-messages to main module structure * Add missed semicolon * [IMPROVE] Add rooms property in user object, if the user has the permission, with rooms roles (#12105) * Add rooms property in user object, if he has the permission, with your rooms roles * Add option to return user's rooms only when requested * Fixed Anonymous Registration (#12633) Fix for #8982 * [NEW] Option to reset e2e key (#12483) * Added option to reset e2e key * Reset e2e key * [IMPROVE] Improve unreads and unreadsFrom response, prevent it to be equal null (#12563) * Improve unreads and unreadsFrom response, prevent it to be equal null * Add timestamp or last seen in groups.counter Co-Authored-By: MarcosSpessatto * [NEW] Add permission to enable personal access token to specific roles (#12309) * Add permission to enable personal access token to specific roles * Update v136.js * Update v136.js * LingoHub Update :rocket: (#12684) Manual push by LingoHub User: Rodrigo Nascimento. Project: Rocket.Chat Made with :heart: by https://lingohub.com * no message * Changed subscription query to only load subscriptions that don't have E2E keys (#12692) * stylelint --fix "packages/**/*.css" * stylelint --fix "packages/**/*.css" * [IMPROVE] Rocket.Chat.Apps (#12680) * Allow apps to create direct messages * Implement getMembers; * Adds ability to search direct rooms by usernames * Updating admin style * [FIX] Try to fix tests increasing window size (#12707) * Try to fix tests increasing window size * skip set avatar test case * fixed DE translation for idle-time-limit - the value needs to be in seconds (instead of ms) (#12637) * Set username before try to set user avatar to avoid username undefined (#12699) Fix: Exception when registering a user with gravatar * Bump Apps Engine to 1.3.0 (#12705) * Add missing translation keys. (#12708) * Improve apps (#12714) * Allow apps to create direct messages * Implement getMembers; * Adds ability to search direct rooms by usernames * Allow apps to update persistence by association (#12681) * Update caret position on insert a new line in message box (#12713) * Fix some Ukrainian translations (#12712) * Inherit font-family for message box (#12729) * Regression: Account pages layout (#12735) * Remove duplicated .eslintignore entry * Add missing i18n string * Make Account Preferences layout match Administration layout * Make Account Security layout match Administration layout * Make Account Integrations layout match Administration layout * Make Account Personal Access Tokens layout match Administration layout * Adjust margins for buttons * Fix Safari detection in PDF previewing (#12737) * Regression: Expand Administration sections by toggling section title (#12736) * Expand Administration sections by toggling section title * Update E2E tests * Update E2E tests * Update Apps Engine to 1.3.1 (#12741) * Create LIMITATION_OF_RESPONSIBILITY.md * Release 0.72.0 (#12742) * Bump version to 0.73.0-develop * Add check to make sure releases actually was updated (#12791) * Convert tocketchat-mapview to main module structure (#12701) * Convert rocketchat-markdown to main module structure (#12755) * Convert rocketchat-markdown to main module structure * fix wrong path in tests * Convert rocketchat-mentions to main module structure (#12756) * Convert rocketchat-mentions to main module structure * Fix wrong path in rocketchat-mentions tests * Convert rocketchat-mentions-flextab to main module structure (#12757) * Exposing RoomHistoryManager * Convert rocketchat-mentions-flextab to main module structure * Convert rocketchat-message-action to main module structure (#12759) * Convert rocketchat-message-attachments to main module structure (#12760) * Remove conventional changelog cli, we are using our own cli now (Houston) (#12798) * Convert rocketchat-message-mark-as-unread to main module structure (#12766) * Convert rocketchat-migrations to main-module structure (#12772) * Convert rocketchat-oembed to main module structure (#12775) * Convert rocketchat-otr to main module structure (#12777) * Convert rocketchat-push-notifications to main module structure (#12778) * Exposing popover * Convert rocketchat-push-notifications to main module structure * Convert rocketchat-retention-policy to main module structure (#12797) * Fix CI deploy job (#12803) * [IMPROVE] Username suggestion logic (#12779) * [FIX] Emoji as avatar (#12805) * Move emojiButton code from rocketchat:emoji to rocketchat:ui-message * Export renderMessageBody via main module * Convert rocketchat-message-snippet to main module structure (#12768) * Convert rocketchat-oauth2-server-config to main module structure (#12773) * Convert rocketchat-sandstorm to main module structure (#12799) * Convert rocketchat-setup-wizard to main module structure (#12806) * Convert rocketchat-slackbridge to main module structure (#12807) * Convert rocketchat-slashcommands-asciiarts to main module structure (#12808) * Convert rocketchat-slashcomands-archiveroom to main module structure (#12810) * Convert rocketchat-slashcommands-create to main module structure (#12811) * Convert rocketchat-slashcommands-help to main module structure (#12812) * Convert rocketchat-slashcommands-hide to main module structure (#12813) * Convert rocketchat-slashcommands to main module structure (#12814) * Convert rocketchat-slashcommands-inviteall to main module structure (#12815) * Convert rocketchat-slashcommands-join to main module structure (#12816) * Convert rocketchat-slashcommands-kick to main module structure (#12817) * Convert rocketchat-slashcommands-leave to main module structure (#12821) * Convert rocketchat-slashcommands-me to main module structure (#12822) * Convert rocketchat-slashcommands-mute to main module structure (#12824) * Convert rocketchat-slashcommands-mute to main module structure * fix lint * Convert rocketchat-slashcommands-open to main module structure (#12825) * Convert rocketchat-slashcommands-topic to main module structure (#12826) * Dependencies update (#12624) * Updating admin style * Updating admin style * update mongodb test to use 4.0 * using trusty * Running wiredTiger without journaling in a replica set is not supported. Make sure you are not using --nojournal and that storage.journal.enabled is not set to 'false'. * E: The method driver /usr/lib/apt/methods/https could not be found. N: Is the package apt-transport-https installed? Exited with code 100 * update dependencies * eslint fix * eslint fix * update dependencies * Fix saml broken by packages update * Convert rocketchat-slashcommands-unarchiveroom to main module structure (#12827) * Convert rocketchat-slider to main module structure (#12828) * Convert rocketchat-smarsh-connector to main module structure (#12830) * Convert rocketchat-slashcommands-msg to main module structure (#12823) * Convert rocketchat-slashcommands-msg to main module structure * Update package.js * Convert rocketchat-message-star to main module structure (#12770) * Convert rocketchat-message-star to main module structure * Fixed export StarredMessage * Convert rocketchat-message-pin to main module structure (#12767) * Exposing RoomHistoryManager * Exposing ChatMessage * Convert rocketchat-message-pin to main module structure * Convert rocketchat-search to main module structure (#12801) * Convert rocketchat-sms to main module structure (#12831) * Convert rocketchat-spotify to main module structure (#12832) * Convert rocketchat-statistics to main module structure (#12833) * [IMPROVE] Use MongoBD aggregation to get users from a room (#12566) * Convert rocketchat-token-login to main module structure (#12837) * Convert rocketchat-tooltip to main module structure (#12839) * Remove rocketchat-tutum package (#12840) * Convert rocketchat-tokenpass to main module structure (#12838) * Fix Google Cloud Storage (#12843) * Convert rocketchat-ui-admin to main module structure (#12844) * Convert rocketchat-ui-clean-history to main module structure (#12846) * Missing HipChat Enterprise Importer (#12847) * Change file order in rocketchat-cors (#12804) * fixes #12726 (#12727) [FIX] API users.info returns caller rooms and not requested user ones * Convert rocketchat-ui-account to main module structure (#12842) * Exposing KonchatNotification * Convert rocketchat-ui-account to main module structure * fix lint * [FIX] Change spread operator to Array.from for Edge browser (#12818) * Change spread operator to Array.from for Edge browser- closes #12809 * fat finger fix * Edge fix for spread operator additional files * revert package-lock * Bump Apps-Engine version (#12848) * [FIX] Emoji as avatar (#12805) * Move emojiButton code from rocketchat:emoji to rocketchat:ui-message * Export renderMessageBody via main module * Missing HipChat Enterprise Importer (#12847) * Change file order in rocketchat-cors (#12804) * fixes #12726 (#12727) [FIX] API users.info returns caller rooms and not requested user ones * [FIX] Change spread operator to Array.from for Edge browser (#12818) * Change spread operator to Array.from for Edge browser- closes #12809 * fat finger fix * Edge fix for spread operator additional files * revert package-lock * Bump Apps-Engine version (#12848) # Conflicts: # package-lock.json # package.json * Fix render of message attachments * Bump version to 0.72.1 * German translation fix Reacted_with (#12761) * [FIX] Autotranslate icon on message action menu (#12585) * [FIX] Incorrect parameter name in Livechat stream (#12851) * [NEW] Include message type & id in push notification payload (#12771) * [FIX] Data Import not working (#12866) * Convert rocketchat-ui-flextab to main module structure (#12859) * Exposing isRtl and UserRoles * Convert rocketchat-ui-flextab to main module structure * Convert rocketchat-ui-login to main module structure (#12861) * Convert rocketchat-ui-vrecord to main module structure (#12875) * Convert rocketchat-user-data-dowload to main module structure (#12877) * [NEW] Livechat registration form message (#12597) * [NEW] Config hooks for snap (#12351) * adding hooks and config for Caddyfile * fixing comments, deleting snapcraft.yaml from rootdir * fixes for initcaddy * remove snapcraft.yaml from root dir * Check dns resolution with https enable, fix regex, add env to change siteUrl at start * Adding file in to read env vars, change key names, try to add support for path in url in caddy * removing option for url with path * Changed regex in configure hook, switch to caddy-url and caddy enable, fix hooks * Convert rocketchat-version-check to main module structure (#12879) * Syncloud deploy option (#12867) * [IMPROVE] Returning an open room object in the Livechat config endpoint (#12865) * Fix snap build (#12883) * Convert rocketchat-wordpress to main module structure (#12887) * Convert rocketchat-reactions to main module structure (#12888) * Convert rocketchat-reactions to main module structure * Convert rocketchat-reactions to main module structure * [FIX] Reset password email (#12898) * Fix PDF view loading indicator (#12882) * Fix line-height for unread bar buttons (jump to first and mark as read) (#12900) * Fix PDF view loading indicator (#12882) * [FIX] Reset password email (#12898) * Fix line-height for unread bar buttons (jump to first and mark as read) (#12900) * Bump version to 0.72.2 * [FIX] Version check update notification (#12905) * [IMPROVE] Do not emit settings if there are no changes (#12904) * [FIX] cannot reset password (#12903) * Update debug.js * Temporary hotfix solution for the resetpassword issue * fix temporary my_message extra data (#12914) * [FIX] CAS Login not working with renamed users (#12860) * Fixed invalid emails being marked as verified * Changed CAS login to support renamed users * Fixed issue that prevented download from user data when a room no longer existed (#12829) * [FIX] Lost icons (#12913) [FIX] Some icons were missing * Crowd sync fix (#12930) [FIX] Crowd sync was being stopped when a user was not found * Fix padding for message box in embedded layout (#12556) * Convert rocketchat-videobridge to main module structure (#12881) * Convert rocketchat-videobridge to main module structure * Remove duplicated import * Convert rocketchat-ui-message to main module structure (#12871) * Convert rocketchat-ui-message to main module structure * Fix lint * Change chatMessages to import style * Convert rocketchat-webdav to main module structure (#12886) * Convert rocketchat-webdav to main module structure * Fix Handlebars import * Convert rocketchat-katex to main module structure (#12895) * Convert rocketchat-katex to main module structure * fix lint * Convert rocketchat-theme to main module structure (#12896) * Revert imports of css, reAdd them to the addFiles function (#12934) * Release 0.72.3 (#12932) * [FIX] Version check update notification (#12905) * [FIX] cannot reset password (#12903) * Update debug.js * Temporary hotfix solution for the resetpassword issue * fix temporary my_message extra data (#12914) * [FIX] CAS Login not working with renamed users (#12860) * Fixed invalid emails being marked as verified * Changed CAS login to support renamed users * Fixed issue that prevented download from user data when a room no longer existed (#12829) * [FIX] Lost icons (#12913) [FIX] Some icons were missing * Crowd sync fix (#12930) [FIX] Crowd sync was being stopped when a user was not found * Fix padding for message box in embedded layout (#12556) * Bump version to 0.72.3 * changed maxRoomsOpen (#12949) Allow users/developers to change the max number of rooms opened using `localStorage` its temporary and if results in some benefit we gonna remove and develop changes based on that data * [FIX] Spotlight being called while in background (#12957) Currently there are many situations where `spotlight` can be called even if it's closed. This PR fixes it by adding the reactivity only to the template, so when it's destroyed, the reactivity is destroyed as well. There are still other times that it's called unnecessarily, like if you click on a result from a toolbar search it will be called again after you click. But this fix prevent many calls like when you search from someone it will call `spotlight` on background for every message you receive. * Convert rocketchat-livechat to main module structure (#12942) * Exposing some globals variables * Convert rocketchat-livechat to main module structure * Fix lint, and move some file to another folders to be able to fix lint * Removed commented imports from package.js * Remove from index.js files imported by another files * Add eslint inside .app folder and fix lint errors * Unified LivechatInquiry in one file * Fix livechat requested changes * Remove global toastr (#12961) * Remove global ServiceConfiguration (#12960) * Move globals of test to a specific eslintrc file (#12959) * [FIX] Check for object falsehood before referencing properties in saveRoomSettings (#12972) * [IMPROVE] Adding debugging instructions in README (#12989) * Fix readable validation on the apps engine environment bridge (#12994) * [FIX] multiple rooms-changed (#12940) * streamer was sending multiple times the streamer was using a method to emit the data, which emit to the user for all connections, result: we are emitting for each client n(connection number) times. * Remove /* globals */ from files wave-1 (#12984) * Remove /* globals */ from files wave 1 * Fix lint * Remove /* globals */ wave 2 (#12988) * Remove /* globals */ from files wave 1 * Fix lint * Remove /* globals */ wave 2 * [FIX] Exception in getSingleMessage (#12970) * fixed the fuckfuck ok * do the doing * [FIX] Revert Jitsi external API to an asset (#12954) * Remove Jitsi script load * Revert external_api.js to an asset * Use web.browser.legacy bundle for Livechat script (#12975) * Use sharp new API for resize image previews (#12980) * Change field checks in RocketChat.saveStreamingOptions (#12973) * Stop click event propagation on mention link or user card (#12983) * [FIX] Some deprecation issues for media recording (#12948) * Fix some deprecation issues for media recording * Update condition for video message recording * Update condition for audio message recording * Convert rocketchat-logger to main module structure and remove Logger from eslintrc (#12995) * Remove Logger from eslintrc * Add global variables to eslintrc * Convert rocketchat-logger to main module structure * Remove /* globals */ wave 3 (#12997) * Remove /* globals */ from files wave 1 * Fix lint * Remove /* globals */ wave 2 * remove-globals-wave-3 * Remove /* globals */ wave 4 (#12999) * Remove /* globals */ from files wave 1 * Fix lint * Remove /* globals */ wave 2 * remove-globals-wave-3 * Remove /* globals */ wave 4 * Remove some // eslint comments * Inherit font family in message user card (#13004) * Move tapi18n t and isRtl functions from ui to utils (#13005) * Move t, isRtl from rocektchat-ui to rocketchat-utils * Change imports t and isRtl from ui to utils * Change JSON to EJSON.parse query to support type Date (#12706) * [IMPROVE] Allow transfer Livechats to online agents only (#13008) * Improvement in the filter of the list of agents online, which will allow the transfer of Livechat only to agents online. * [IMPROVE] Accept Slash Commands via Action Buttons when `msg_in_chat_window: true` (#13009) * [FIX] Nested Markdown blocks not parsed properly (#12998) * Fix markdown tokens not restored properly * Add tests * Move isFirefox and isChrome functions to rocketchat-utils (#13011) * [NEW] Download button for each file in fileslist (#12874) * Add menu icon to fileslist items and implement download-action. * Import global popover * [Fix]E2E`s password reaveal text is always `>%S` when language is zh (#12795) [FIX] E2E`s password reaveal text is always `>%S` when language is zh * [FIX] Provide better Dutch translations 🇳🇱 (#12792) * Provide better Dutch translations Refs #12716 * Update nl.i18n.json * Update packages/rocketchat-livechat/.app/i18n/nl.i18n.json Co-Authored-By: mathysie * Capitalize last two only lowercase translations. Refs #12792 #12716 * Provide two extra better translations Refs #12716 #12792 * Add missing translation keys. (#12722) * if webdav not enabled, do not show webdav integration account settings (#12569) [FIX] Webdav integration account settings were being shown even when Webdav was disabled * Added chat.getDeletedMessages since specific date (#13010) * [NEW] Added a link to contributing.md (#12856) * Added a link to contributing.md fixes - #12845 * Modified link to relative * Added link to Contributing docs * Fix set avatar http call, to avoid SSL errors (#12790) * Add query parameter support to emoji-custom endpoint (#12754) * [FIX] Fix users.setPreferences endpoint, set language correctly (#12734) * Fix users.setPreferences endpoint, set language correctly * Fix tests * Fix lint * [FIX] Pin and unpin message were not checking permissions (#12739) * Fix pin and unpin message without permissions * Update 05-chat.js * Fix lint * [NEW] Mandatory 2fa for role (#9748) * Added setting to force user roles to use 2fa * Added conditional check to force user to configure 2fa when needed * Added Missing String; Improved Code Quality * Update permissionsRole.js * [NEW] Create new permission.listAll endpoint to be able to use updatedSince parameter (#12748) * Create new permission.listAll endpoint to be able to use updatedSince parameter * fix lint * Change deprecation version * Issue #11248: Avoiding links with highlighted words (#12123) * LingoHub Update :rocket: (#13014) Manual push by LingoHub User: Rodrigo Nascimento. Project: Rocket.Chat Made with :heart: by https://lingohub.com * [IMPROVE] Hipchat Enterprise Importer (#12985) * Added message showing the file size limit on the importers * Importer improvements * Added missing reference * Removed globals * Fixed data importers * Fixed import * Removed log * Changed hipchat enterprise importer to prepare files from the file system * Use a file URL on the importer * Avoid duplicated emails * Prevent duplicated emails from crashing the import process * Identify errors on the import process * Fixed attachment import * Fixed problem with invalid users when creating channels * Added labels for checkboxes * Bump version to 0.73.0-rc.0 * Improved code quality (#13020) * Fix get deleted messages, change the method to get messages and return only _ids (#13021) Change `chat.getDeletedMessages` to get messages after informed date and return only message's _id * Bump version to 0.73.0-rc.1 * Fallback content-type as application/octet-stream for uploaded files (#13033) * Add default to options parameter in listCustomEmoji (#13031) Regression: List of custom emojis wasn't working * Bump version to 0.73.0-rc.2 * Bump version to 0.73.0 * Fix default importer path (#13045) * Regression: Get room's members list not working on MongoDB 3.2 (#13051) * Revert status filter for members list * Get MongoDB version on statistics * Execute tests with versions 3.2, 3.4, 3.6 and 4.0 of MongoDB (#13049) * Execute tests with versions 3.2, 3.4, 3.6 and 4.0 of MongoDB * Reduce duplicated configuration * Fix image inherintence * Fix test of mongo 4 without oplog * Bump version to 0.73.1 * [NEW] Cloud Integration (#13013) * Cloud package inside of rocket.chat, enforcing a few items now * Implementing more of the requirements to get cloud up * Fix the linter error. Really should have the linter run on commit, not push. * Switch callback to webview and rename some of the variables * fix additional lint * clean up * remove console log * use check for register server on statistics * Implement calling the server-to-cloud and store the tokens * Add the workspace token to various services Rocket.Chat, the company, provides * Clean up the html spacing in the cloud.html * Remove the check on stats for sending the organization email * Cloud workspace and user connected * Update to include refresh token now that cloud does * Add a license api and try/catches * Add support for the token in the url of the admin/cloud page * Change redirectUrl var to redirectUri. dont save scope, and remove workspace scope * fix messy looking if * try increasing wait time on test * add missing import after merge with develop * Check users email * Don't save the org email from the wizard * Fix the review issues, adding i18n * Remove console.log Co-Authored-By: geekgonecrazy * Bump version to 0.73.2 * Adhere to latest linter-restrictions - remove globals * update CircleCI-config as per RC core * fix linting errors * remove duplicate script * fix permissions unit tests * fix message popup test scripts * update the rc versio * fix inbox icon on sidebar (#580) * bump to version to v0.73.0-0.9.9 --- .circleci/config.yml | 229 +- .circleci/setartname.sh | 2 +- .circleci/snap.sh | 6 +- .circleci/update-releases.sh | 3 + .docker/Dockerfile.rhel | 2 +- .eslintignore | 4 +- .eslintrc | 82 +- .github/ISSUE_TEMPLATE/feature_request.md | 17 - .github/changelog.js | 116 - .github/history-manual.json | 5 + .github/history.json | 4152 +++++ .github/templates/commit.hbs | 40 - .github/templates/footer.hbs | 11 - .github/templates/header.hbs | 26 - .github/templates/template.hbs | 22 - .meteor/packages | 53 +- .meteor/platforms | 1 - .meteor/release | 2 +- .meteor/versions | 125 +- .postcssrc | 18 +- .sandstorm/sandstorm-pkgdef.capnp | 4 +- .scripts/seperateTesting.sh | 23 - .scripts/set-version.js | 2 - .scripts/translationDiff.js | 38 + .scripts/version.js | 2 - .snapcraft/resources/Caddyfile | 4 +- .snapcraft/resources/initcaddy | 49 +- .snapcraft/resources/startRocketChat | 16 +- .snapcraft/snap/hooks/configure | 122 + .snapcraft/snap/hooks/install | 16 + .snapcraft/{ => snap}/snapcraft.yaml | 14 +- .stylelintignore | 2 +- .travis/snap.sh | 2 +- HISTORY.md | 474 +- LIMITATION_OF_RESPONSIBILITY.md | 19 + README.md | 51 +- client/helpers/escapeCssUrl.js | 2 + client/helpers/log.js | 2 + client/helpers/not.js | 2 + client/methods/deleteMessage.js | 2 + client/methods/hideOldSubscriptions.js | 3 + client/methods/hideRoom.js | 1 + client/methods/openRoom.js | 1 + client/methods/setUserActiveStatus.js | 1 + client/methods/toggleFavorite.js | 1 + client/methods/updateMessage.js | 4 + client/notifications/UsersNameChanged.js | 2 + client/notifications/notification.js | 6 +- client/notifications/updateAvatar.js | 3 +- client/notifications/updateUserState.js | 3 +- client/routes/adminRouter.js | 3 + client/routes/roomRoute.js | 3 + client/routes/router.js | 9 +- client/startup/emailVerification.js | 5 + client/startup/i18n.js | 7 +- client/startup/loginViaQuery.js | 3 + client/startup/roomObserve.js | 3 + client/startup/startup.js | 8 +- client/startup/unread.js | 11 +- client/startup/userSetUtcOffset.js | 2 + client/startup/usersObserve.js | 3 + imports/message-read-receipt/client/main.js | 2 + .../client/readReceipts.js | 2 + imports/message-read-receipt/client/room.js | 2 + .../server/lib/ReadReceipt.js | 1 + .../client/personalAccessTokens.html | 34 +- .../client/personalAccessTokens.js | 9 +- .../server/api/methods/generateToken.js | 4 +- .../server/api/methods/regenerateToken.js | 4 +- .../server/api/methods/removeToken.js | 4 +- .../personal-access-tokens/server/index.js | 1 - .../publications/personalAccessTokens.js | 2 +- .../personal-access-tokens/server/settings.js | 5 - lib/francocatena_fix.js | 2 + package-lock.json | 15330 ++++++++-------- package.json | 145 +- .../assistify-ai/client/chatpalAdoption.js | 1 + .../assistify-ai/client/hooks/openAiTab.js | 2 + packages/assistify-ai/client/smartiLoader.js | 3 +- .../client/views/app/tabbar/smarti.js | 5 +- packages/assistify-ai/config.js | 4 +- .../assistify-ai/models/AssistifySmarti.js | 2 + packages/assistify-ai/server/SmartiProxy.js | 4 +- packages/assistify-ai/server/SmartiRouter.js | 5 +- .../hooks/sendMessageToKnowledgeAdapter.js | 1 + .../assistify-ai/server/lib/AiApiAdapter.js | 3 +- .../assistify-ai/server/lib/SmartiAdapter.js | 1 + .../server/methods/SmartiReload.js | 4 +- .../server/methods/SmartiWidgetBackend.js | 1 + .../assistify-configuration/server/config.js | 3 +- .../assistify-configuration/server/roles.js | 3 + .../server/startup/migrations.js | 3 + packages/assistify-threading/auth.js | 2 +- .../client/createThreadMessageAction.js | 2 + .../client/views/ThreadList.js | 5 + .../views/creationDialog/ChannelNotFound.js | 4 + .../views/creationDialog/ChannelSelection.js | 2 +- .../views/creationDialog/CreateThread.js | 9 +- packages/assistify-threading/config.js | 2 + .../lib/messageTypes/threadMessage.js | 2 + .../assistify-threading/lib/threadRoomType.js | 1 + .../server/methods/createThread.js | 1 + .../server/methods/getParentChannelId.js | 2 + .../server/methods/getParentChannelList.js | 3 + .../publications/threadParentAutocomplete.js | 2 + packages/autoupdate/.gitignore | 1 - packages/autoupdate/QA.md | 115 - packages/autoupdate/README.md | 13 - packages/autoupdate/autoupdate_client.js | 176 - packages/autoupdate/autoupdate_cordova.js | 85 - packages/autoupdate/autoupdate_server.js | 198 - packages/autoupdate/package.js | 30 - packages/chatpal-search/client/index.js | 7 + packages/chatpal-search/client/route.js | 4 + .../chatpal-search/client/template/admin.js | 5 + .../chatpal-search/client/template/result.js | 5 + .../client/template/suggestion.js | 2 + packages/chatpal-search/package.js | 33 +- .../chatpal-search/server/asset/config.js | 2 +- packages/chatpal-search/server/index.js | 3 + .../chatpal-search/server/provider/index.js | 3 + .../server/provider/provider.js | 2 + .../chatpal-search/server/utils/logger.js | 2 + packages/chatpal-search/server/utils/utils.js | 3 + packages/meteor-accounts-saml/client/index.js | 1 + .../{ => client}/saml_client.js | 5 +- packages/meteor-accounts-saml/package.js | 20 +- packages/meteor-accounts-saml/server/index.js | 2 + .../{ => server}/saml_rocketchat.js | 6 + .../{ => server}/saml_server.js | 13 +- .../{ => server}/saml_utils.js | 6 +- .../client/autocomplete-client.js | 10 +- .../meteor-autocomplete/client/collection.js | 2 + packages/meteor-autocomplete/client/index.js | 7 + .../meteor-autocomplete/client/templates.js | 4 +- packages/meteor-autocomplete/package.js | 31 +- .../server/autocomplete-server.js | 2 + packages/meteor-autocomplete/server/index.js | 1 + packages/meteor-timesync/client/index.js | 6 + .../meteor-timesync/client/timesync-client.js | 9 +- packages/meteor-timesync/package.js | 40 +- packages/meteor-timesync/server/index.js | 1 + .../meteor-timesync/server/timesync-server.js | 2 +- .../rocketchat-2fa/client/TOTPPassword.js | 4 + .../client/accountSecurity.html | 59 +- .../rocketchat-2fa/client/accountSecurity.js | 6 + packages/rocketchat-2fa/client/index.js | 3 + packages/rocketchat-2fa/package.js | 20 +- packages/rocketchat-2fa/server/index.js | 9 + packages/rocketchat-2fa/server/lib/totp.js | 3 + .../rocketchat-2fa/server/loginHandler.js | 4 + .../server/methods/checkCodesRemaining.js | 2 + .../rocketchat-2fa/server/methods/disable.js | 3 + .../rocketchat-2fa/server/methods/enable.js | 3 + .../server/methods/regenerateCodes.js | 3 + .../server/methods/validateTempToken.js | 3 + .../rocketchat-2fa/server/models/users.js | 2 + .../rocketchat-2fa/server/startup/settings.js | 2 + .../both/lib/actionLinks.js | 3 + .../rocketchat-action-links/client/index.js | 3 + .../rocketchat-action-links/client/init.js | 6 +- .../client/lib/actionLinks.js | 2 + packages/rocketchat-action-links/package.js | 22 +- .../server/actionLinkHandler.js | 2 + .../rocketchat-action-links/server/index.js | 2 + packages/rocketchat-analytics/client/index.js | 2 + .../rocketchat-analytics/client/loadScript.js | 5 + .../client/trackEvents.js | 8 +- packages/rocketchat-analytics/package.js | 15 +- packages/rocketchat-analytics/server/index.js | 1 + .../rocketchat-analytics/server/settings.js | 2 + packages/rocketchat-api/package.js | 42 +- packages/rocketchat-api/server/api.js | 11 +- .../rocketchat-api/server/default/info.js | 2 + .../helpers/composeRoomWithLastMessage.js | 2 + .../server/helpers/deprecationWarning.js | 2 + .../server/helpers/getLoggedInUser.js | 3 + .../server/helpers/getPaginationItems.js | 1 + .../server/helpers/getUserFromParams.js | 3 + .../server/helpers/getUserInfo.js | 2 + .../server/helpers/insertUserObject.js | 2 + .../server/helpers/isUserFromParams.js | 2 + .../server/helpers/parseJsonQuery.js | 6 +- .../server/helpers/requestParams.js | 2 + packages/rocketchat-api/server/index.js | 32 + packages/rocketchat-api/server/settings.js | 2 + packages/rocketchat-api/server/v1/assets.js | 2 + packages/rocketchat-api/server/v1/channels.js | 2 + packages/rocketchat-api/server/v1/chat.js | 40 +- packages/rocketchat-api/server/v1/commands.js | 4 + packages/rocketchat-api/server/v1/e2e.js | 3 + .../rocketchat-api/server/v1/emoji-custom.js | 6 +- packages/rocketchat-api/server/v1/groups.js | 8 +- packages/rocketchat-api/server/v1/im.js | 3 + packages/rocketchat-api/server/v1/import.js | 42 + .../rocketchat-api/server/v1/integrations.js | 4 + packages/rocketchat-api/server/v1/misc.js | 4 + .../rocketchat-api/server/v1/permissions.js | 43 +- packages/rocketchat-api/server/v1/push.js | 5 +- packages/rocketchat-api/server/v1/roles.js | 4 + packages/rocketchat-api/server/v1/rooms.js | 24 + packages/rocketchat-api/server/v1/settings.js | 4 + packages/rocketchat-api/server/v1/stats.js | 3 + .../rocketchat-api/server/v1/subscriptions.js | 4 + packages/rocketchat-api/server/v1/users.js | 51 +- .../client/admin/appInstall.js | 3 + .../rocketchat-apps/client/admin/appLogs.html | 2 +- .../rocketchat-apps/client/admin/appLogs.js | 4 + .../client/admin/appManage.html | 4 +- .../rocketchat-apps/client/admin/appManage.js | 6 + .../client/admin/appWhatIsIt.js | 5 + packages/rocketchat-apps/client/admin/apps.js | 6 +- .../client/communication/websockets.js | 2 + .../rocketchat-apps/client/orchestrator.js | 4 + packages/rocketchat-apps/package.js | 3 +- .../rocketchat-apps/server/bridges/api.js | 1 + .../server/bridges/commands.js | 1 + .../server/bridges/environmental.js | 12 +- .../rocketchat-apps/server/bridges/http.js | 2 + .../server/bridges/messages.js | 3 + .../server/bridges/persistence.js | 15 + .../rocketchat-apps/server/bridges/rooms.js | 29 +- .../server/communication/methods.js | 2 + .../server/communication/rest.js | 2 + .../server/communication/websockets.js | 1 + .../server/converters/messages.js | 2 + .../rocketchat-apps/server/orchestrator.js | 1 + packages/rocketchat-assets/package.js | 2 +- packages/rocketchat-assets/server/assets.js | 13 +- packages/rocketchat-assets/server/index.js | 1 + .../client/hasPermission.js | 8 +- .../client/hasRole.js | 2 + .../rocketchat-authorization/client/index.js | 14 + .../client/lib/ChatPermissions.js | 4 +- .../client/lib/models/Roles.js | 3 + .../client/lib/models/Subscriptions.js | 1 + .../client/lib/models/Users.js | 1 + .../rocketchat-authorization/client/route.js | 4 + .../client/startup.js | 3 + .../client/usersNameChanged.js | 5 +- .../client/views/permissions.js | 9 +- .../client/views/permissionsRole.html | 5 + .../client/views/permissionsRole.js | 9 + .../lib/rocketchat.js | 2 + packages/rocketchat-authorization/package.js | 68 +- .../server/functions/addUserRoles.js | 2 + .../server/functions/canAccessRoom.js | 11 +- .../server/functions/getRoles.js | 2 + .../server/functions/getUsersInRole.js | 2 + .../server/functions/hasPermission.js | 14 +- .../server/functions/hasRole.js | 2 + .../server/functions/removeUserFromRoles.js | 2 + .../rocketchat-authorization/server/index.js | 24 + .../server/methods/addPermissionToRole.js | 3 + .../server/methods/addUserToRole.js | 2 + .../server/methods/deleteRole.js | 3 + .../methods/removeRoleFromPermission.js | 2 + .../server/methods/removeUserFromRole.js | 2 + .../server/methods/saveRole.js | 5 +- .../server/models/Base.js | 2 + .../server/models/Permissions.js | 2 + .../server/models/Roles.js | 8 +- .../server/models/Subscriptions.js | 1 + .../server/models/Users.js | 2 + .../server/publications/permissions.js | 3 + .../server/publications/roles.js | 3 + .../server/publications/usersInRole.js | 3 + .../server/startup.js | 7 +- .../rocketchat-autolinker/client/client.js | 2 + .../rocketchat-autolinker/client/index.js | 1 + packages/rocketchat-autolinker/package.js | 12 +- .../rocketchat-autolinker/server/index.js | 1 + .../rocketchat-autolinker/server/settings.js | 3 + .../rocketchat-autotranslate/client/index.js | 5 + .../client/lib/actionButton.js | 5 +- .../client/lib/autotranslate.js | 4 +- .../client/lib/tabBar.js | 4 + .../client/views/autoTranslateFlexTab.js | 8 +- packages/rocketchat-autotranslate/package.js | 4 + .../server/autotranslate.js | 8 +- .../server/dbsTranslate.js | 5 + .../server/deeplTranslate.js | 2 + .../server/googleTranslate.js | 2 + .../rocketchat-autotranslate/server/index.js | 14 + .../server/methods/getProviderUiMetadata.js | 1 + .../server/methods/getSupportedLanguages.js | 4 + .../server/methods/saveSettings.js | 4 + .../server/methods/translateMessage.js | 3 + .../server/models/Subscriptions.js | 3 + .../server/permissions.js | 3 + .../server/settings.js | 3 + packages/rocketchat-bot-helpers/package.js | 15 +- .../rocketchat-bot-helpers/server/index.js | 3 + .../rocketchat-bot-helpers/server/settings.js | 3 + packages/rocketchat-cas/client/cas_client.js | 5 + packages/rocketchat-cas/client/index.js | 1 + packages/rocketchat-cas/package.js | 28 +- .../rocketchat-cas/server/cas_rocketchat.js | 8 +- packages/rocketchat-cas/server/cas_server.js | 31 +- packages/rocketchat-cas/server/index.js | 3 + .../server/models/CredentialTokens.js | 2 + .../client/index.js | 3 + .../client/lib/startup.js | 3 + .../client/resetSelection.js | 2 + .../client/views/mailMessagesInstructions.js | 13 +- .../package.js | 16 +- .../server/index.js | 2 + .../server/lib/startup.js | 3 + .../server/methods/mailMessages.js | 3 + .../client/index.js | 6 + .../client/lib/ChannelSettings.js | 4 + .../client/startup/messageTypes.js | 3 + .../client/startup/tabBar.js | 3 + .../client/startup/trackSettingsChange.js | 7 + .../client/views/channelSettings.js | 7 +- .../rocketchat-channel-settings/package.js | 31 +- .../server/functions/saveReactWhenReadOnly.js | 4 + .../server/functions/saveRoomAnnouncement.js | 4 + .../server/functions/saveRoomCustomFields.js | 4 + .../server/functions/saveRoomDescription.js | 4 + .../server/functions/saveRoomName.js | 2 + .../server/functions/saveRoomReadOnly.js | 4 + .../functions/saveRoomSystemMessages.js | 4 + .../server/functions/saveRoomTopic.js | 4 + .../server/functions/saveRoomType.js | 4 + .../server/index.js | 13 + .../server/methods/saveRoomSettings.js | 14 +- .../server/models/Messages.js | 2 + .../server/models/Rooms.js | 2 + .../server/startup.js | 3 + .../client/admin/callback.html | 16 + .../rocketchat-cloud/client/admin/callback.js | 37 + .../rocketchat-cloud/client/admin/cloud.html | 83 + .../rocketchat-cloud/client/admin/cloud.js | 93 + packages/rocketchat-cloud/client/index.js | 28 + packages/rocketchat-cloud/package.js | 17 + .../server/functions/connectWorkspace.js | 70 + .../functions/finishOAuthAuthorization.js | 50 + .../functions/getOAuthAuthorizationUrl.js | 15 + .../server/functions/getRedirectUri.js | 3 + .../functions/getWorkspaceAccessTokens.js | 50 + .../server/functions/getWorkspaceLicense.js | 34 + .../functions/retrieveRegistrationStatus.js | 18 + packages/rocketchat-cloud/server/index.js | 11 + packages/rocketchat-cloud/server/methods.js | 72 + packages/rocketchat-colors/client/client.js | 1 + packages/rocketchat-colors/client/index.js | 1 + packages/rocketchat-colors/package.js | 11 +- packages/rocketchat-colors/server/index.js | 1 + packages/rocketchat-colors/server/settings.js | 2 + packages/rocketchat-cors/client/index.js | 1 + packages/rocketchat-cors/{ => lib}/common.js | 3 + packages/rocketchat-cors/package.js | 5 +- packages/rocketchat-cors/{ => server}/cors.js | 9 +- packages/rocketchat-cors/server/index.js | 2 + packages/rocketchat-crowd/client/index.js | 1 + .../rocketchat-crowd/client/loginHelper.js | 3 + packages/rocketchat-crowd/package.js | 26 +- packages/rocketchat-crowd/server/crowd.js | 242 +- packages/rocketchat-crowd/server/index.js | 7 + packages/rocketchat-crowd/server/settings.js | 8 + .../client/custom_oauth_client.js | 7 +- packages/rocketchat-custom-oauth/package.js | 1 + .../server/custom_oauth_server.js | 8 +- .../client/admin/adminSounds.js | 9 +- .../client/admin/route.js | 4 + .../client/admin/soundEdit.js | 5 + .../client/admin/soundInfo.js | 7 + .../client/admin/startup.js | 2 + .../rocketchat-custom-sounds/client/index.js | 14 + .../client/lib/CustomSounds.js | 3 + .../client/models/CustomSounds.js | 2 + .../client/notifications/deleteCustomSound.js | 3 + .../client/notifications/updateCustomSound.js | 3 + packages/rocketchat-custom-sounds/package.js | 38 +- .../rocketchat-custom-sounds/server/index.js | 9 + .../server/methods/deleteCustomSound.js | 5 +- .../server/methods/insertOrUpdateSound.js | 4 +- .../server/methods/listCustomSounds.js | 3 + .../server/methods/uploadCustomSound.js | 6 +- .../server/models/CustomSounds.js | 2 + .../server/publications/customSounds.js | 2 + .../server/startup/custom-sounds.js | 11 +- .../server/startup/permissions.js | 3 + .../server/startup/settings.js | 2 + packages/rocketchat-dolphin/client/index.js | 1 + .../{ => client}/login-button.css | 0 .../rocketchat-dolphin/{ => lib}/common.js | 7 +- packages/rocketchat-dolphin/package.js | 19 +- packages/rocketchat-dolphin/server/index.js | 2 + .../{ => server}/startup.js | 2 + packages/rocketchat-drupal/client/index.js | 1 + .../{ => client}/login-button.css | 0 .../rocketchat-drupal/{ => lib}/common.js | 5 +- packages/rocketchat-drupal/package.js | 22 +- packages/rocketchat-drupal/server/index.js | 2 + .../rocketchat-drupal/{ => server}/startup.js | 2 + packages/rocketchat-e2e/.eslintrc | 4 - .../client/accountEncryption.js | 4 +- .../rocketchat-e2e/client/rocketchat.e2e.js | 25 +- packages/rocketchat-e2e/package.js | 5 +- packages/rocketchat-e2e/server/index.js | 2 + .../server/methods/requestSubscriptionKeys.js | 33 + .../server/methods/resetUserE2EKey.js | 25 + .../server/models/Subscriptions.js | 21 + .../rocketchat-e2e/server/models/Users.js | 8 + .../{ => client}/admin/adminEmoji.html | 0 .../{ => client}/admin/adminEmoji.js | 8 +- .../{ => client}/admin/adminEmojiEdit.html | 0 .../{ => client}/admin/adminEmojiInfo.html | 0 .../{ => client}/admin/emojiEdit.html | 0 .../{ => client}/admin/emojiEdit.js | 5 + .../{ => client}/admin/emojiInfo.html | 0 .../{ => client}/admin/emojiInfo.js | 7 + .../{ => client}/admin/emojiPreview.html | 0 .../{ => client}/admin/route.js | 4 + .../{ => client}/admin/startup.js | 4 +- .../rocketchat-emoji-custom/client/index.js | 15 + .../client/lib/emojiCustom.js | 78 +- .../{ => client/lib}/function-isSet.js | 7 +- .../client/models/EmojiCustom.js | 2 + .../client/notifications/deleteEmojiCustom.js | 5 +- .../client/notifications/updateEmojiCustom.js | 5 +- packages/rocketchat-emoji-custom/package.js | 44 +- .../rocketchat-emoji-custom/server/index.js | 8 + .../server/methods/deleteEmojiCustom.js | 5 +- .../server/methods/insertOrUpdateEmoji.js | 4 +- .../server/methods/listEmojiCustom.js | 7 +- .../server/methods/uploadEmojiCustom.js | 6 +- .../server/models/EmojiCustom.js | 2 + .../server/publications/fullEmojiData.js | 2 + .../server/startup/emoji-custom.js | 10 +- .../server/startup/settings.js | 2 + .../rocketchat-emoji-emojione/client/index.js | 1 + .../{ => lib}/emojiPicker.js | 10 +- .../{ => lib}/generateEmojiIndex.js | 1 + .../{ => lib}/rocketchat.js | 7 +- packages/rocketchat-emoji-emojione/package.js | 8 +- .../server/callbacks.js | 5 +- .../rocketchat-emoji-emojione/server/index.js | 2 + .../rocketchat-emoji/client/emojiButton.js | 37 - .../rocketchat-emoji/client/emojiParser.js | 4 +- .../rocketchat-emoji/client/emojiPicker.js | 7 +- .../rocketchat-emoji/client/function-isSet.js | 7 +- packages/rocketchat-emoji/client/index.js | 11 + .../rocketchat-emoji/client/keyboardFix.js | 3 +- .../client/lib/EmojiPicker.js | 13 +- .../client/lib/emojiRenderer.js | 11 +- .../{client => lib}/rocketchat.js | 2 + packages/rocketchat-emoji/package.js | 18 +- packages/rocketchat-emoji/server/index.js | 1 + packages/rocketchat-error-handler/package.js | 3 +- .../rocketchat-error-handler/server/index.js | 2 + .../server/lib/RocketChat.ErrorHandler.js | 3 + .../server/startup/settings.js | 2 + packages/rocketchat-favico/client/favico.js | 20 +- packages/rocketchat-favico/client/index.js | 4 + packages/rocketchat-favico/package.js | 5 +- .../client/lib/fileUploadHandler.js | 7 +- .../globalFileRestrictions.js | 4 +- .../rocketchat-file-upload/lib/FileUpload.js | 6 +- .../lib/FileUploadBase.js | 9 +- packages/rocketchat-file-upload/package.js | 2 +- .../server/config/AmazonS3.js | 2 - .../server/config/FileSystem.js | 4 +- .../server/config/GoogleStorage.js | 2 - .../server/config/GridFS.js | 6 +- .../server/config/Slingshot_DEPRECATED.js | 3 +- .../server/config/Webdav.js | 2 - .../server/config/_configUploadStorage.js | 3 +- .../server/lib/FileUpload.js | 7 +- .../server/lib/proxy.js | 7 +- .../server/lib/requests.js | 3 +- .../server/methods/getS3FileUrl.js | 3 +- .../server/methods/sendFileMessage.js | 3 + .../ufs/AmazonS3/server.js | 2 + .../ufs/GoogleStorage/server.js | 6 +- .../ufs/Webdav/server.js | 2 + packages/rocketchat-file/package.js | 11 +- .../{ => server}/file.server.js | 7 +- packages/rocketchat-file/server/index.js | 3 + .../github-enterprise-login-button.css | 0 .../client/index.js | 1 + .../{ => lib}/common.js | 5 +- .../rocketchat-github-enterprise/package.js | 18 +- .../server/index.js | 2 + .../{ => server}/startup.js | 2 + .../{ => client}/gitlab-login-button.css | 0 packages/rocketchat-gitlab/client/index.js | 1 + .../rocketchat-gitlab/{ => lib}/common.js | 6 +- packages/rocketchat-gitlab/package.js | 18 +- packages/rocketchat-gitlab/server/index.js | 2 + .../rocketchat-gitlab/{ => server}/startup.js | 2 + .../client/index.js | 4 + .../package.js | 16 +- .../server/index.js | 2 + .../server/models/Rooms.js | 2 + .../server/settings.js | 3 + .../client/googlevision.js | 4 + .../rocketchat-google-vision/client/index.js | 1 + packages/rocketchat-google-vision/package.js | 5 +- .../server/googlevision.js | 6 + .../rocketchat-google-vision/server/index.js | 3 + .../server/models/Messages.js | 2 + .../server/settings.js | 3 + packages/rocketchat-grant/package.js | 2 + .../rocketchat-grant/server/authenticate.js | 2 +- packages/rocketchat-grant/server/index.js | 1 + packages/rocketchat-grant/server/providers.js | 5 +- packages/rocketchat-grant/server/settings.js | 2 +- packages/rocketchat-graphql/package.js | 5 +- packages/rocketchat-graphql/server/api.js | 1 + packages/rocketchat-graphql/server/index.js | 2 + .../server/resolvers/messages/sendMessage.js | 3 +- .../server/resolvers/users/User-type.js | 1 + .../rocketchat-graphql/server/settings.js | 2 + .../client/client.js | 13 +- .../client/helper.js | 42 + .../client/index.js | 1 + .../rocketchat-highlight-words/package.js | 3 +- .../tests/helper.test.js | 36 + packages/rocketchat-i18n/i18n/af.i18n.json | 36 +- packages/rocketchat-i18n/i18n/ar.i18n.json | 36 +- packages/rocketchat-i18n/i18n/az.i18n.json | 36 +- packages/rocketchat-i18n/i18n/be-BY.i18n.json | 48 +- packages/rocketchat-i18n/i18n/bg.i18n.json | 36 +- packages/rocketchat-i18n/i18n/ca.i18n.json | 36 +- packages/rocketchat-i18n/i18n/cs.i18n.json | 36 +- packages/rocketchat-i18n/i18n/cy.i18n.json | 35 +- packages/rocketchat-i18n/i18n/da.i18n.json | 40 +- packages/rocketchat-i18n/i18n/de-AT.i18n.json | 42 +- packages/rocketchat-i18n/i18n/de-IN.i18n.json | 73 +- packages/rocketchat-i18n/i18n/de.i18n.json | 1412 +- packages/rocketchat-i18n/i18n/el.i18n.json | 36 +- packages/rocketchat-i18n/i18n/en.i18n.json | 136 +- packages/rocketchat-i18n/i18n/eo.i18n.json | 36 +- packages/rocketchat-i18n/i18n/es.i18n.json | 55 +- packages/rocketchat-i18n/i18n/et.i18n.json | 65 + packages/rocketchat-i18n/i18n/eu.i18n.json | 95 + packages/rocketchat-i18n/i18n/fa.i18n.json | 55 +- packages/rocketchat-i18n/i18n/fi.i18n.json | 36 +- packages/rocketchat-i18n/i18n/fr.i18n.json | 37 +- packages/rocketchat-i18n/i18n/he.i18n.json | 35 +- packages/rocketchat-i18n/i18n/hr.i18n.json | 36 +- packages/rocketchat-i18n/i18n/hu.i18n.json | 36 +- packages/rocketchat-i18n/i18n/id.i18n.json | 36 +- packages/rocketchat-i18n/i18n/it.i18n.json | 36 +- packages/rocketchat-i18n/i18n/ja.i18n.json | 1095 +- packages/rocketchat-i18n/i18n/km.i18n.json | 189 +- packages/rocketchat-i18n/i18n/ko.i18n.json | 1132 +- packages/rocketchat-i18n/i18n/ku.i18n.json | 35 +- packages/rocketchat-i18n/i18n/lo.i18n.json | 36 +- packages/rocketchat-i18n/i18n/lt.i18n.json | 36 +- packages/rocketchat-i18n/i18n/lv.i18n.json | 35 +- packages/rocketchat-i18n/i18n/mn.i18n.json | 36 +- packages/rocketchat-i18n/i18n/ms-MY.i18n.json | 36 +- packages/rocketchat-i18n/i18n/nl.i18n.json | 65 +- packages/rocketchat-i18n/i18n/no.i18n.json | 39 +- packages/rocketchat-i18n/i18n/pl.i18n.json | 44 +- packages/rocketchat-i18n/i18n/pt-BR.i18n.json | 57 +- packages/rocketchat-i18n/i18n/pt.i18n.json | 61 +- packages/rocketchat-i18n/i18n/ro.i18n.json | 36 +- packages/rocketchat-i18n/i18n/ru.i18n.json | 169 +- packages/rocketchat-i18n/i18n/sk-SK.i18n.json | 35 +- packages/rocketchat-i18n/i18n/sl-SI.i18n.json | 36 +- packages/rocketchat-i18n/i18n/sq.i18n.json | 36 +- packages/rocketchat-i18n/i18n/sr.i18n.json | 36 +- packages/rocketchat-i18n/i18n/sv.i18n.json | 231 +- packages/rocketchat-i18n/i18n/ta-IN.i18n.json | 36 +- packages/rocketchat-i18n/i18n/th-TH.i18n.json | 35 +- packages/rocketchat-i18n/i18n/tr.i18n.json | 121 +- packages/rocketchat-i18n/i18n/ug.i18n.json | 23 +- packages/rocketchat-i18n/i18n/uk.i18n.json | 40 +- packages/rocketchat-i18n/i18n/vi-VN.i18n.json | 36 +- packages/rocketchat-i18n/i18n/zh-HK.i18n.json | 35 +- packages/rocketchat-i18n/i18n/zh-TW.i18n.json | 36 +- packages/rocketchat-i18n/i18n/zh.i18n.json | 234 +- packages/rocketchat-i18n/package.js | 28 +- .../{ => client}/iframe_client.js | 10 +- .../rocketchat-iframe-login/client/index.js | 1 + packages/rocketchat-iframe-login/package.js | 44 +- .../{ => server}/iframe_rocketchat.js | 3 + .../{ => server}/iframe_server.js | 5 +- .../rocketchat-iframe-login/server/index.js | 2 + .../rocketchat-importer-csv/client/adder.js | 2 +- .../rocketchat-importer-csv/client/index.js | 1 + .../rocketchat-importer-csv/{ => lib}/info.js | 0 packages/rocketchat-importer-csv/package.js | 14 +- .../rocketchat-importer-csv/server/adder.js | 2 +- .../server/importer.js | 4 + .../rocketchat-importer-csv/server/index.js | 1 + .../client/adder.js | 2 +- .../client/index.js | 1 + .../{ => lib}/info.js | 0 .../package.js | 13 +- .../server/adder.js | 2 +- .../server/importer.js | 478 +- .../server/index.js | 1 + .../client/adder.js | 2 +- .../client/index.js | 1 + .../{ => lib}/info.js | 0 .../rocketchat-importer-hipchat/package.js | 14 +- .../server/adder.js | 2 +- .../server/importer.js | 9 +- .../server/index.js | 1 + .../client/adder.js | 2 +- .../client/index.js | 1 + .../{ => lib}/info.js | 0 .../package.js | 14 +- .../server/adder.js | 2 +- .../server/importer.js | 5 + .../server/index.js | 1 + .../rocketchat-importer-slack/client/adder.js | 2 +- .../rocketchat-importer-slack/client/index.js | 1 + .../{ => lib}/info.js | 0 packages/rocketchat-importer-slack/package.js | 14 +- .../rocketchat-importer-slack/server/adder.js | 2 +- .../server/importer.js | 5 + .../rocketchat-importer-slack/server/index.js | 1 + .../client/ImporterWebsocketReceiver.js | 3 + .../client/admin/adminImport.html | 1 + .../client/admin/adminImport.js | 6 + .../client/admin/adminImportPrepare.html | 17 +- .../client/admin/adminImportPrepare.js | 125 +- .../client/admin/adminImportProgress.js | 7 +- packages/rocketchat-importer/client/index.js | 6 + .../lib/ImporterProgressStep.js | 3 + packages/rocketchat-importer/package.js | 40 +- .../server/classes/ImporterBase.js | 73 +- .../server/classes/ImporterSelectionUser.js | 4 +- .../server/classes/ImporterWebsocket.js | 2 + packages/rocketchat-importer/server/index.js | 11 + .../methods/downloadPublicImportFile.js | 45 + .../server/methods/getImportFileData.js | 55 + .../server/methods/getImportProgress.js | 2 + .../server/methods/getSelectionData.js | 2 + .../server/methods/prepareImport.js | 3 + .../server/methods/restartImport.js | 2 + .../server/methods/setupImporter.js | 2 + .../server/methods/startImport.js | 2 + .../server/methods/uploadImportFile.js | 35 + .../server/models/Imports.js | 25 + .../server/models/RawImports.js | 2 + .../server/startup/setImportsToInvalid.js | 1 + .../server/startup/store.js | 20 + .../client/collections.js | 6 +- .../rocketchat-integrations/client/index.js | 15 + .../rocketchat-integrations/client/route.js | 5 + .../rocketchat-integrations/client/startup.js | 2 + .../client/views/integrations.html | 2 +- .../client/views/integrations.js | 5 +- .../client/views/integrationsIncoming.html | 4 +- .../client/views/integrationsIncoming.js | 12 +- .../client/views/integrationsNew.html | 2 +- .../client/views/integrationsNew.js | 3 + .../client/views/integrationsOutgoing.html | 6 +- .../client/views/integrationsOutgoing.js | 12 +- .../views/integrationsOutgoingHistory.html | 2 +- .../views/integrationsOutgoingHistory.js | 9 +- .../rocketchat-integrations/lib/rocketchat.js | 2 + packages/rocketchat-integrations/package.js | 77 +- .../rocketchat-integrations/server/api/api.js | 10 +- .../rocketchat-integrations/server/index.js | 23 + .../server/lib/triggerHandler.js | 7 +- .../server/lib/validation.js | 7 +- .../rocketchat-integrations/server/logger.js | 5 +- .../server/methods/clearIntegrationHistory.js | 3 + .../incoming/addIncomingIntegration.js | 7 +- .../incoming/deleteIncomingIntegration.js | 3 + .../incoming/updateIncomingIntegration.js | 6 +- .../outgoing/addOutgoingIntegration.js | 3 + .../outgoing/deleteOutgoingIntegration.js | 3 + .../outgoing/replayOutgoingIntegration.js | 3 + .../outgoing/updateOutgoingIntegration.js | 3 + .../server/models/IntegrationHistory.js | 3 + .../server/models/Integrations.js | 3 + .../server/processWebhookMessage.js | 4 +- .../server/publications/integrationHistory.js | 3 + .../server/publications/integrations.js | 3 + .../server/triggers.js | 2 + packages/rocketchat-internal-hubot/package.js | 16 +- .../{ => server}/hubot.js | 15 +- .../rocketchat-internal-hubot/server/index.js | 10 + .../{ => server}/settings.js | 2 + packages/rocketchat-irc/package.js | 7 +- packages/rocketchat-irc/server/index.js | 3 + .../rocketchat-irc/server/irc-bridge/index.js | 1 + .../irc-bridge/localHandlers/onCreateRoom.js | 2 + .../irc-bridge/localHandlers/onCreateUser.js | 3 + .../irc-bridge/localHandlers/onLogin.js | 3 + .../irc-bridge/localHandlers/onSaveMessage.js | 2 + .../irc-bridge/peerHandlers/disconnected.js | 3 + .../irc-bridge/peerHandlers/joinedChannel.js | 2 + .../irc-bridge/peerHandlers/leftChannel.js | 2 + .../irc-bridge/peerHandlers/nickChanged.js | 2 + .../irc-bridge/peerHandlers/sentMessage.js | 1 + .../irc-bridge/peerHandlers/userRegistered.js | 3 + .../rocketchat-irc/server/irc-settings.js | 3 + packages/rocketchat-irc/server/irc.js | 2 + .../server/methods/resetIrcConnection.js | 3 + .../{ => client}/client.js | 1 + .../rocketchat-issuelinks/client/index.js | 1 + packages/rocketchat-issuelinks/package.js | 11 +- .../rocketchat-issuelinks/server/index.js | 1 + .../{ => server}/settings.js | 2 + packages/rocketchat-katex/client/index.js | 1 + packages/rocketchat-katex/{ => lib}/katex.js | 4 + packages/rocketchat-katex/package-lock.json | 2 +- packages/rocketchat-katex/package.js | 15 +- packages/rocketchat-katex/server/index.js | 2 + .../rocketchat-katex/{ => server}/settings.js | 3 + packages/rocketchat-lazy-load/client/index.js | 6 +- .../client/lazyloadImage.js | 2 + packages/rocketchat-ldap/client/index.js | 1 + .../rocketchat-ldap/client/loginHelper.js | 3 + packages/rocketchat-ldap/package.js | 26 +- packages/rocketchat-ldap/server/ldap.js | 3 + .../rocketchat-ldap/server/loginHandler.js | 7 +- packages/rocketchat-ldap/server/settings.js | 2 + packages/rocketchat-ldap/server/sync.js | 10 +- packages/rocketchat-ldap/server/syncUsers.js | 2 + .../rocketchat-ldap/server/testConnection.js | 2 + packages/rocketchat-lib/README.md | 10 +- packages/rocketchat-lib/client/AdminBox.js | 2 + .../client/CustomTranslations.js | 8 +- .../rocketchat-lib/client/MessageAction.js | 9 +- .../rocketchat-lib/client/Notifications.js | 3 + packages/rocketchat-lib/client/OAuthProxy.js | 2 +- packages/rocketchat-lib/client/UserDeleted.js | 2 + .../rocketchat-lib/client/defaultTabBars.js | 2 + .../client/lib/ChannelActions.js | 4 + packages/rocketchat-lib/client/lib/Layout.js | 3 + .../client/lib/LoginPresence.js | 2 + .../client/lib/RocketChatAnnouncement.js | 4 + .../client/lib/RocketChatTabBar.js | 3 + packages/rocketchat-lib/client/lib/TabBar.js | 1 + .../client/lib/cachedCollection.js | 6 + .../rocketchat-lib/client/lib/callMethod.js | 2 + .../rocketchat-lib/client/lib/formatDate.js | 1 + .../rocketchat-lib/client}/lib/handleError.js | 3 +- .../rocketchat-lib/client/lib/openRoom.js | 14 +- .../rocketchat-lib/client/lib/roomExit.js | 7 +- .../rocketchat-lib/client/lib/roomTypes.js | 5 +- .../rocketchat-lib/client/lib/settings.js | 6 +- .../client/lib/startup/commands.js | 5 +- .../rocketchat-lib/client/lib/userRoles.js | 3 +- .../client/methods/sendMessage.js | 2 + .../rocketchat-lib/client/models/_Base.js | 3 + .../client/views/customFieldsForm.js | 4 + packages/rocketchat-lib/lib/Message.js | 1 + packages/rocketchat-lib/lib/MessageTypes.js | 2 + packages/rocketchat-lib/lib/RoomTypeConfig.js | 11 +- .../rocketchat-lib/lib/RoomTypesCommon.js | 3 +- packages/rocketchat-lib/lib/callbacks.js | 2 + packages/rocketchat-lib/lib/getURL.js | 1 + .../rocketchat-lib/lib/getValidRoomName.js | 1 + packages/rocketchat-lib/lib/promises.js | 2 + .../lib/roomTypes/conversation.js | 1 + .../rocketchat-lib/lib/roomTypes/direct.js | 5 +- .../rocketchat-lib/lib/roomTypes/favorite.js | 1 + .../rocketchat-lib/lib/roomTypes/private.js | 4 +- .../rocketchat-lib/lib/roomTypes/public.js | 2 +- .../rocketchat-lib/lib/roomTypes/unread.js | 1 + packages/rocketchat-lib/lib/settings.js | 1 + packages/rocketchat-lib/lib/slashCommand.js | 2 + .../lib/startup/settingsOnLoadSiteUrl.js | 4 +- .../rocketchat-lib/lib/templateVarHandler.js | 3 + packages/rocketchat-lib/package.js | 12 + packages/rocketchat-lib/rocketchat.info | 2 +- .../server/functions/Notifications.js | 56 +- .../server/functions/addUserToRoom.js | 2 + .../server/functions/archiveRoom.js | 2 + .../functions/checkEmailAvailability.js | 1 + .../functions/checkUsernameAvailability.js | 1 + .../server/functions/cleanRoomHistory.js | 2 + .../server/functions/createRoom.js | 2 +- .../server/functions/deleteMessage.js | 3 +- .../server/functions/deleteUser.js | 3 + .../server/functions/getFullUserData.js | 2 +- .../getRoomByNameOrIdWithOptionToJoin.js | 2 +- .../server/functions/notifications/email.js | 2 + .../server/functions/notifications/index.js | 2 + .../server/functions/notifications/mobile.js | 4 + .../server/functions/removeUserFromRoom.js | 2 + .../saveCustomFieldsWithoutValidation.js | 1 + .../server/functions/saveUser.js | 10 +- .../server/functions/sendMessage.js | 3 + .../server/functions/setEmail.js | 1 + .../server/functions/setRealName.js | 1 + .../server/functions/setUserAvatar.js | 5 +- .../server/functions/setUsername.js | 6 +- .../server/functions/settings.js | 1 + .../server/functions/updateMessage.js | 2 + .../server/functions/validateCustomFields.js | 1 + .../server/lib/PasswordPolicyClass.js | 2 + .../server/lib/PushNotification.js | 3 +- .../rocketchat-lib/server/lib/RateLimiter.js | 4 +- packages/rocketchat-lib/server/lib/bugsnag.js | 1 + .../rocketchat-lib/server/lib/configLogger.js | 4 +- packages/rocketchat-lib/server/lib/debug.js | 17 +- .../server/lib/interceptDirectReplyEmails.js | 1 + .../server/lib/loginErrorMessageOverride.js | 3 + packages/rocketchat-lib/server/lib/metrics.js | 1 + .../server/lib/processDirectEmail.js | 1 + .../rocketchat-lib/server/lib/roomTypes.js | 1 + .../server/lib/sendNotificationsOnMessage.js | 1 + .../server/lib/validateEmailDomain.js | 1 + .../server/methods/addOAuthService.js | 2 + .../server/methods/addUserToRoom.js | 2 + .../server/methods/addUsersToRoom.js | 3 + .../server/methods/archiveRoom.js | 3 + .../server/methods/blockUser.js | 3 + .../methods/checkRegistrationSecretURL.js | 3 + .../methods/checkUsernameAvailability.js | 3 + .../server/methods/cleanRoomHistory.js | 3 +- .../server/methods/createChannel.js | 3 + .../server/methods/createPrivateGroup.js | 3 + .../server/methods/createToken.js | 3 + .../server/methods/deleteMessage.js | 2 + .../server/methods/deleteUserOwnAccount.js | 3 + .../methods/executeSlashCommandPreview.js | 2 + .../server/methods/filterATAllTag.js | 3 + .../server/methods/filterATHereTag.js | 3 + .../server/methods/getChannelHistory.js | 2 + .../server/methods/getFullUserData.js | 2 + .../server/methods/getRoomJoinCode.js | 3 + .../server/methods/getRoomRoles.js | 2 + .../server/methods/getServerInfo.js | 2 + .../server/methods/getSingleMessage.js | 9 +- .../server/methods/getSlashCommandPreviews.js | 2 + .../server/methods/getUserRoles.js | 1 + .../server/methods/insertOrUpdateUser.js | 3 + .../server/methods/joinDefaultChannels.js | 3 + .../rocketchat-lib/server/methods/joinRoom.js | 3 + .../server/methods/leaveRoom.js | 3 + .../server/methods/refreshOAuthService.js | 3 + .../server/methods/removeOAuthService.js | 2 + .../server/methods/restartServer.js | 2 + .../server/methods/robotMethods.js | 2 + .../server/methods/saveSetting.js | 3 +- .../server/methods/sendInvitationEmail.js | 3 + .../server/methods/sendMessage.js | 4 + .../server/methods/sendSMTPTestEmail.js | 2 + .../server/methods/setAdminStatus.js | 3 + .../rocketchat-lib/server/methods/setEmail.js | 3 + .../server/methods/setRealName.js | 3 + .../server/methods/setUsername.js | 2 + .../server/methods/unarchiveRoom.js | 3 + .../server/methods/unblockUser.js | 3 + .../server/methods/updateMessage.js | 2 + .../rocketchat-lib/server/models/Avatars.js | 2 +- .../rocketchat-lib/server/models/Messages.js | 2 + .../rocketchat-lib/server/models/Rooms.js | 9 + .../server/models/Subscriptions.js | 2 + .../rocketchat-lib/server/models/Uploads.js | 2 +- .../rocketchat-lib/server/models/Users.js | 12 + .../rocketchat-lib/server/models/_Base.js | 1 + .../rocketchat-lib/server/models/_BaseDb.js | 3 +- .../rocketchat-lib/server/oauth/facebook.js | 2 + .../rocketchat-lib/server/oauth/google.js | 4 +- packages/rocketchat-lib/server/oauth/oauth.js | 4 + packages/rocketchat-lib/server/oauth/proxy.js | 2 +- .../rocketchat-lib/server/oauth/twitter.js | 2 + .../server/publications/settings.js | 7 +- .../server/startup/oAuthServicesUpdate.js | 5 +- .../rocketchat-lib/server/startup/robots.js | 9 + .../rocketchat-lib/server/startup/settings.js | 134 + .../server/startup/settingsOnLoadCdnPrefix.js | 3 +- .../startup/settingsOnLoadDirectReply.js | 1 + .../server/startup/settingsOnLoadSMTP.js | 1 + packages/rocketchat-lib/tests/server.mocks.js | 9 + packages/rocketchat-lib/tests/server.tests.js | 1 + packages/rocketchat-livechat/.app/.eslintrc | 21 + .../rocketchat-livechat/.app/.meteor/packages | 30 +- .../rocketchat-livechat/.app/.meteor/release | 2 +- .../rocketchat-livechat/.app/.meteor/versions | 87 +- .../.app/client/lib/CustomFields.js | 2 + .../.app/client/lib/LivechatFileUpload.js | 1 + .../.app/client/lib/LivechatVideoCall.js | 2 + .../.app/client/lib/_livechat.js | 11 + .../.app/client/lib/chatMessages.js | 2 + .../.app/client/lib/collections.js | 2 + .../.app/client/lib/commands.js | 4 + .../.app/client/lib/fromApp/Notifications.js | 2 + .../client/lib/fromApp/RoomHistoryManager.js | 3 + .../.app/client/lib/fromApp/avatar.js | 3 + .../.app/client/lib/hooks.js | 3 + .../.app/client/lib/msgTyping.js | 3 + .../.app/client/lib/tapi18n.js | 1 + .../.app/client/lib/triggers.js | 3 + .../client/methods/sendMessageExternal.js | 2 + .../.app/client/routes/router.js | 2 + .../.app/client/startup/customFields.js | 1 + .../.app/client/startup/visitor.js | 3 + .../.app/client/stylesheets/main.less | 24 +- .../.app/client/views/avatar.js | 3 + .../.app/client/views/livechatWindow.js | 34 + .../.app/client/views/message.js | 2 + .../.app/client/views/messageAttachment.js | 2 + .../.app/client/views/messages.js | 3 + .../.app/client/views/offlineForm.js | 4 + .../.app/client/views/options.js | 2 + .../.app/client/views/register.js | 6 +- .../.app/client/views/survey.js | 2 + .../.app/client/views/switchDepartment.js | 3 + .../.app/client/views/videoCall.js | 2 + .../.app/i18n/af.i18n.json | 1 + .../.app/i18n/ar.i18n.json | 1 + .../.app/i18n/az.i18n.json | 1 + .../.app/i18n/be-BY.i18n.json | 2 + .../.app/i18n/bg.i18n.json | 1 + .../.app/i18n/ca.i18n.json | 1 + .../.app/i18n/cs.i18n.json | 1 + .../.app/i18n/cy.i18n.json | 1 + .../.app/i18n/da.i18n.json | 1 + .../.app/i18n/de-AT.i18n.json | 1 + .../.app/i18n/de.i18n.json | 4 +- .../.app/i18n/el.i18n.json | 1 + .../.app/i18n/en.i18n.json | 3 +- .../.app/i18n/eo.i18n.json | 1 + .../.app/i18n/es.i18n.json | 4 + .../.app/i18n/et.i18n.json | 44 + .../.app/i18n/eu.i18n.json | 36 + .../.app/i18n/fa.i18n.json | 23 +- .../.app/i18n/fi.i18n.json | 1 + .../.app/i18n/fr.i18n.json | 2 + .../.app/i18n/he.i18n.json | 29 +- .../.app/i18n/hr.i18n.json | 1 + .../.app/i18n/hu.i18n.json | 1 + .../.app/i18n/id.i18n.json | 1 + .../.app/i18n/it.i18n.json | 2 + .../.app/i18n/ja.i18n.json | 6 +- .../.app/i18n/km.i18n.json | 14 +- .../.app/i18n/ko.i18n.json | 17 +- .../.app/i18n/ku.i18n.json | 1 + .../.app/i18n/lo.i18n.json | 1 + .../.app/i18n/lt.i18n.json | 1 + .../.app/i18n/lv.i18n.json | 1 + .../.app/i18n/mn.i18n.json | 1 + .../.app/i18n/ms-MY.i18n.json | 1 + .../.app/i18n/nl.i18n.json | 30 +- .../.app/i18n/no.i18n.json | 4 +- .../.app/i18n/pl.i18n.json | 1 + .../.app/i18n/pt-BR.i18n.json | 3 +- .../.app/i18n/pt.i18n.json | 3 + .../.app/i18n/ro.i18n.json | 1 + .../.app/i18n/ru.i18n.json | 2 + .../.app/i18n/sk-SK.i18n.json | 1 + .../.app/i18n/sl-SI.i18n.json | 1 + .../.app/i18n/sq.i18n.json | 1 + .../.app/i18n/sr.i18n.json | 1 + .../.app/i18n/sv.i18n.json | 3 + .../.app/i18n/ta-IN.i18n.json | 1 + .../.app/i18n/th-TH.i18n.json | 1 + .../.app/i18n/tr.i18n.json | 5 +- .../.app/i18n/ug.i18n.json | 1 + .../.app/i18n/uk.i18n.json | 1 + .../.app/i18n/vi-VN.i18n.json | 1 + .../.app/i18n/zh-HK.i18n.json | 1 + .../.app/i18n/zh-TW.i18n.json | 1 + .../.app/i18n/zh.i18n.json | 3 + .../.app/imports/client/visitor.js | 5 + .../.app/package-lock.json | 1676 +- .../rocketchat-livechat/.app/package.json | 16 +- .../assets/rocket-livechat.js | 31 +- .../client/collections/AgentUsers.js | 4 +- .../client/collections/LivechatCustomField.js | 4 +- .../client/collections/LivechatDepartment.js | 4 +- .../collections/LivechatDepartmentAgents.js | 4 +- .../client/collections/LivechatInquiry.js | 1 - .../client/collections/LivechatIntegration.js | 4 +- .../client/collections/LivechatMonitoring.js | 4 +- .../client/collections/LivechatPageVisited.js | 1 - .../client/collections/LivechatQueueUser.js | 4 +- .../client/collections/LivechatTrigger.js | 4 +- .../client/collections/LivechatVisitor.js | 4 +- .../client/collections/livechatOfficeHour.js | 4 +- packages/rocketchat-livechat/client/index.js | 66 + .../client/lib/chartHandler.js | 1 + .../client/lib/dateHandler.js | 1 + .../client/methods/changeLivechatStatus.js | 2 + .../rocketchat-livechat/client/roomType.js | 3 +- packages/rocketchat-livechat/client/route.js | 5 +- .../client/startup/notifyUnreadRooms.js | 4 + packages/rocketchat-livechat/client/ui.js | 3 + .../views/app/analytics/livechatAnalytics.js | 8 +- .../livechatAnalyticsCustomDaterange.js | 5 +- .../analytics/livechatAnalyticsDaterange.js | 4 +- .../analytics/livechatRealTimeMonitoring.js | 7 +- .../livechatIntegrationFacebook.js | 7 + .../livechatIntegrationWebhook.js | 8 +- .../client/views/app/livechatAppearance.html | 8 +- .../client/views/app/livechatAppearance.js | 24 +- .../client/views/app/livechatCurrentChats.js | 9 + .../views/app/livechatCustomFieldForm.js | 8 + .../client/views/app/livechatCustomFields.js | 8 + .../views/app/livechatDepartmentForm.js | 9 + .../client/views/app/livechatDepartments.js | 8 + .../client/views/app/livechatInstallation.js | 2 + .../client/views/app/livechatOfficeHours.js | 8 +- .../client/views/app/livechatQueue.js | 8 +- .../client/views/app/livechatTriggers.js | 8 + .../client/views/app/livechatTriggersForm.js | 7 + .../client/views/app/livechatUsers.js | 7 + .../client/views/app/tabbar/externalSearch.js | 3 + .../client/views/app/tabbar/visitorEdit.js | 9 +- .../client/views/app/tabbar/visitorForward.js | 17 +- .../client/views/app/tabbar/visitorHistory.js | 4 + .../client/views/app/tabbar/visitorInfo.js | 11 +- .../views/app/tabbar/visitorNavigation.js | 5 + .../app/triggers/livechatTriggerAction.js | 4 + .../app/triggers/livechatTriggerCondition.js | 2 + .../client/views/sideNav/livechat.js | 11 +- .../client/views/sideNav/livechatFlex.js | 5 + .../imports/server/rest/departments.js | 3 + .../imports/server/rest/facebook.js | 2 + .../imports/server/rest/sms.js | 3 + .../imports/server/rest/upload.js | 4 + .../imports/server/rest/users.js | 2 + .../models => lib}/LivechatExternalMessage.js | 3 + .../lib/LivechatInquiry.js | 106 + .../{imports => lib}/LivechatRoomType.js | 9 +- .../{ => lib}/messageTypes.js | 4 + packages/rocketchat-livechat/package.js | 256 +- packages/rocketchat-livechat/plugin/build.sh | 2 +- .../server/api/lib/livechat.js | 32 +- .../server/api/v1/agent.js | 10 +- .../server/api/v1/config.js | 12 +- .../server/api/v1/customField.js | 3 + .../server/api/v1/message.js | 8 +- .../server/api/v1/offlineMessage.js | 4 + .../server/api/v1/pageVisited.js | 3 + .../rocketchat-livechat/server/api/v1/room.js | 5 + .../server/api/v1/transcript.js | 4 + .../server/api/v1/videoCall.js | 4 + .../server/api/v1/visitor.js | 12 +- .../{ => server}/config.js | 10 + .../server/hooks/RDStation.js | 3 + .../server/hooks/externalMessage.js | 5 +- .../server/hooks/leadCapture.js | 1 + .../server/hooks/markRoomResponded.js | 3 + .../server/hooks/offlineMessage.js | 2 + .../server/hooks/saveAnalyticsData.js | 3 + .../server/hooks/sendToCRM.js | 2 + .../server/hooks/sendToFacebook.js | 1 + packages/rocketchat-livechat/server/index.js | 97 + .../server/lib/Analytics.js | 1 + .../server/lib/Livechat.js | 22 +- .../server/lib/OfficeClock.js | 3 + .../server/lib/OmniChannel.js | 3 + .../server/lib/QueueMethods.js | 3 + .../{ => server}/livechat.js | 5 +- .../server/methods/addAgent.js | 3 + .../server/methods/addManager.js | 3 + .../server/methods/changeLivechatStatus.js | 3 + .../server/methods/closeByVisitor.js | 3 + .../server/methods/closeRoom.js | 3 + .../server/methods/facebook.js | 2 + .../server/methods/getAgentData.js | 3 + .../server/methods/getAgentOverviewData.js | 3 + .../server/methods/getAnalyticsChartData.js | 3 + .../methods/getAnalyticsOverviewData.js | 3 + .../server/methods/getCustomFields.js | 3 + .../server/methods/getInitialData.js | 4 + .../server/methods/getNextAgent.js | 4 + .../server/methods/loadHistory.js | 2 + .../server/methods/loginByToken.js | 1 + .../server/methods/pageVisited.js | 3 + .../server/methods/registerGuest.js | 2 + .../server/methods/removeAgent.js | 3 + .../server/methods/removeCustomField.js | 4 + .../server/methods/removeDepartment.js | 3 + .../server/methods/removeManager.js | 3 + .../server/methods/removeRoom.js | 3 + .../server/methods/removeTrigger.js | 4 + .../server/methods/returnAsInquiry.js | 3 + .../server/methods/saveAppearance.js | 4 + .../server/methods/saveCustomField.js | 4 +- .../server/methods/saveDepartment.js | 3 + .../server/methods/saveInfo.js | 4 +- .../server/methods/saveIntegration.js | 2 + .../server/methods/saveOfficeHours.js | 3 + .../server/methods/saveSurveyFeedback.js | 4 +- .../server/methods/saveTrigger.js | 4 + .../server/methods/searchAgent.js | 2 + .../server/methods/sendFileLivechatMessage.js | 5 + .../server/methods/sendMessageLivechat.js | 3 + .../server/methods/sendOfflineMessage.js | 5 +- .../server/methods/sendTranscript.js | 5 +- .../server/methods/setCustomField.js | 2 + .../server/methods/setDepartmentForVisitor.js | 3 + .../server/methods/startFileUploadRoom.js | 3 + .../server/methods/startVideoCall.js | 5 +- .../server/methods/takeInquiry.js | 3 + .../server/methods/transfer.js | 5 +- .../server/methods/webhookTest.js | 5 +- .../server/models/LivechatCustomField.js | 1 + .../server/models/LivechatDepartment.js | 1 + .../server/models/LivechatDepartmentAgents.js | 2 + .../server/models/LivechatInquiry.js | 93 - .../server/models/LivechatOfficeHour.js | 1 + .../server/models/LivechatPageVisited.js | 2 + .../server/models/LivechatTrigger.js | 2 + .../server/models/LivechatVisitors.js | 2 + .../server/models/Messages.js | 2 + .../server/models/Rooms.js | 2 + .../server/models/Users.js | 21 + .../server/models/indexes.js | 3 + .../{ => server}/permissions.js | 2 + .../server/publications/customFields.js | 2 + .../server/publications/departmentAgents.js | 3 + .../server/publications/externalMessages.js | 3 + .../server/publications/livechatAgents.js | 3 + .../server/publications/livechatAppearance.js | 4 + .../publications/livechatDepartments.js | 3 + .../server/publications/livechatInquiries.js | 3 + .../publications/livechatIntegration.js | 3 + .../server/publications/livechatManagers.js | 3 + .../server/publications/livechatMonitoring.js | 4 + .../publications/livechatOfficeHours.js | 3 + .../server/publications/livechatQueue.js | 3 + .../server/publications/livechatRooms.js | 4 + .../server/publications/livechatTriggers.js | 3 + .../server/publications/livechatVisitors.js | 3 + .../server/publications/visitorHistory.js | 3 + .../server/publications/visitorInfo.js | 2 + .../server/publications/visitorPageVisited.js | 3 + .../rocketchat-livechat/server/roomType.js | 3 +- .../server/sendMessageBySMS.js | 1 + .../rocketchat-livechat/server/startup.js | 4 + .../server/unclosedLivechats.js | 4 +- .../server/visitorStatus.js | 5 +- .../rocketchat-livestream/client/index.js | 9 + .../rocketchat-livestream/client/oauth.js | 3 + .../rocketchat-livestream/client/tabBar.js | 5 + .../client/views/broadcastView.js | 6 + .../client/views/liveStreamTab.js | 12 +- .../client/views/liveStreamView.js | 2 + packages/rocketchat-livestream/package.js | 27 +- .../server/functions/saveStreamingOptions.js | 7 +- .../rocketchat-livestream/server/index.js | 3 + .../rocketchat-livestream/server/methods.js | 1 + .../server/models/Rooms.js | 2 + .../rocketchat-livestream/server/routes.js | 2 + .../rocketchat-livestream/server/settings.js | 3 + packages/rocketchat-logger/client/ansispan.js | 4 +- packages/rocketchat-logger/client/index.js | 4 + packages/rocketchat-logger/client/viewLogs.js | 7 +- .../client/views/viewLogs.js | 6 +- packages/rocketchat-logger/package.js | 34 +- packages/rocketchat-logger/server/index.js | 7 + packages/rocketchat-logger/server/server.js | 20 +- .../rocketchat-mail-messages/client/index.js | 6 + .../rocketchat-mail-messages/client/router.js | 4 + .../client/startup.js | 2 + .../client/views/mailer.js | 5 + .../client/views/mailerUnsubscribe.js | 2 + .../rocketchat-mail-messages/lib/Mailer.js | 1 - packages/rocketchat-mail-messages/package.js | 28 +- .../server/functions/sendMail.js | 7 +- .../server/functions/unsubscribe.js | 5 +- .../rocketchat-mail-messages/server/index.js | 9 + .../server/lib/Mailer.js | 7 + .../server/methods/sendMail.js | 5 +- .../server/methods/unsubscribe.js | 5 +- .../server/models/Users.js | 2 + .../server/startup.js | 3 + packages/rocketchat-mailer/package.js | 1 + packages/rocketchat-mailer/server/api.js | 3 + packages/rocketchat-mapview/client/index.js | 1 + packages/rocketchat-mapview/client/mapview.js | 2 + packages/rocketchat-mapview/package.js | 8 +- packages/rocketchat-mapview/server/index.js | 1 + .../rocketchat-mapview/server/settings.js | 3 + packages/rocketchat-markdown/client/index.js | 1 + .../rocketchat-markdown/{ => lib}/markdown.js | 28 +- .../{ => lib}/parser/marked/marked.js | 0 .../{ => lib}/parser/original/code.js | 2 +- .../{ => lib}/parser/original/markdown.js | 0 .../{ => lib}/parser/original/original.js | 0 packages/rocketchat-markdown/package.js | 5 +- packages/rocketchat-markdown/server/index.js | 2 + .../{ => server}/settings.js | 0 .../rocketchat-markdown/tests/client.mocks.js | 14 + .../rocketchat-markdown/tests/client.tests.js | 114 +- .../client/actionButton.js | 5 + .../client/index.js | 4 + .../client/lib/MentionedMessage.js | 4 +- .../client/tabBar.js | 3 + .../client/views/mentionsFlexTab.js | 4 +- .../rocketchat-mentions-flextab/package.js | 19 +- .../server/index.js | 1 + .../server/publications/mentionedMessages.js | 6 + packages/rocketchat-mentions/client/client.js | 5 +- packages/rocketchat-mentions/client/index.js | 1 + .../rocketchat-mentions/{ => lib}/Mentions.js | 0 packages/rocketchat-mentions/package.js | 6 +- .../rocketchat-mentions/server/Mentions.js | 3 +- packages/rocketchat-mentions/server/index.js | 2 + .../methods/getUserMentionsByChannel.js | 4 + packages/rocketchat-mentions/server/server.js | 4 + .../rocketchat-mentions/tests/client.tests.js | 2 +- .../rocketchat-message-action/client/index.js | 2 + .../client/messageAction.js | 2 + packages/rocketchat-message-action/package.js | 6 +- .../client/index.js | 2 + .../client/messageAttachment.js | 6 +- .../client/stylesheets/messageAttachments.css | 4 + .../rocketchat-message-attachments/package.js | 7 +- .../client/actionButton.js | 5 + .../client/index.js | 1 + .../package.js | 14 +- .../server/index.js | 1 + .../server/logger.js | 2 + .../server/unreadMessages.js | 3 + .../client/actionButton.js | 5 + .../rocketchat-message-pin/client/index.js | 6 + .../client/lib/PinnedMessage.js | 4 +- .../client/messageType.js | 3 + .../client/pinMessage.js | 4 + .../rocketchat-message-pin/client/tabBar.js | 4 + .../client/views/pinnedMessages.js | 4 +- packages/rocketchat-message-pin/package.js | 25 +- .../rocketchat-message-pin/server/index.js | 5 + .../server/models/Rooms.js | 2 + .../server/pinMessage.js | 12 + .../server/publications/pinnedMessages.js | 6 + .../rocketchat-message-pin/server/settings.js | 3 + .../server/startup/indexes.js | 3 + .../client/actionButton.js | 5 + .../client/index.js | 9 + .../client/lib/collections.js | 4 +- .../client/messageType.js | 2 + .../client/page/snippetPage.js | 7 +- .../client/router.js | 5 +- .../client/snippetMessage.js | 4 + .../client/tabBar/tabBar.js | 4 + .../client/tabBar/views/snippetedMessages.js | 4 +- .../rocketchat-message-snippet/package.js | 38 +- .../server/index.js | 6 + .../server/methods/snippetMessage.js | 3 + .../server/models/Rooms.js | 2 + .../server/publications/snippetedMessage.js | 7 + .../publications/snippetedMessagesByRoom.js | 7 + .../server/requests.js | 5 +- .../server/startup/settings.js | 3 + .../client/actionButton.js | 5 + .../rocketchat-message-star/client/index.js | 5 + .../client/lib/StarredMessage.js | 4 +- .../client/starMessage.js | 4 + .../rocketchat-message-star/client/tabBar.js | 3 + .../client/views/starredMessages.js | 4 +- packages/rocketchat-message-star/package.js | 24 +- .../rocketchat-message-star/server/index.js | 5 + .../server/models/Rooms.js | 2 + .../server/publications/starredMessages.js | 6 + .../server/settings.js | 3 + .../server/starMessage.js | 3 + .../server/startup/indexes.js | 3 + packages/rocketchat-migrations/package.js | 16 +- .../rocketchat-migrations/server/index.js | 1 + .../{ => server}/migrations.js | 6 +- packages/rocketchat-nrr/nrr.js | 1 + .../admin/client/collection.js | 1 - .../client/admin/collection.js | 3 + .../{admin/client => client/admin}/route.js | 4 + .../{admin/client => client/admin}/startup.js | 2 + .../admin}/views/oauthApp.html | 0 .../client => client/admin}/views/oauthApp.js | 10 +- .../admin}/views/oauthApps.html | 0 .../admin}/views/oauthApps.js | 4 +- .../client/index.js | 8 + .../oauth}/oauth2-client.html | 0 .../client => client/oauth}/oauth2-client.js | 8 +- .../oauth}/stylesheets/oauth2.css | 0 .../package.js | 58 +- .../admin}/methods/addOAuthApp.js | 3 + .../admin}/methods/deleteOAuthApp.js | 3 + .../admin}/methods/updateOAuthApp.js | 2 + .../admin}/publications/oauthApps.js | 3 + .../server/index.js | 7 + .../server/models/OAuthApps.js | 2 + .../oauth}/default-services.js | 2 + .../server => server/oauth}/oauth2-server.js | 5 +- .../rocketchat-oembed/client/baseWidget.js | 2 + packages/rocketchat-oembed/client/index.js | 16 + .../client/oembedAudioWidget.js | 4 + .../client/oembedFrameWidget.js | 4 + .../client/oembedImageWidget.js | 4 + .../client/oembedSandstormGrain.js | 3 + .../client/oembedUrlWidget.js | 4 + .../client/oembedVideoWidget.js | 4 + .../client/oembedYoutubeWidget.js | 4 + packages/rocketchat-oembed/package.js | 33 +- packages/rocketchat-oembed/server/index.js | 8 + .../rocketchat-oembed/server/jumpToMessage.js | 4 +- .../server/models/OEmbedCache.js | 1 + .../rocketchat-oembed/server/providers.js | 3 +- packages/rocketchat-oembed/server/server.js | 7 +- packages/rocketchat-otr/client/index.js | 5 + .../rocketchat-otr/client/rocketchat.otr.js | 6 + .../client/rocketchat.otr.room.js | 11 +- packages/rocketchat-otr/client/tabBar.js | 4 + .../rocketchat-otr/client/views/otrFlexTab.js | 5 + packages/rocketchat-otr/package.js | 24 +- packages/rocketchat-otr/server/index.js | 4 + .../server/methods/deleteOldOTRMessages.js | 3 + .../server/methods/updateOTRAck.js | 3 + .../rocketchat-otr/server/models/Messages.js | 2 + packages/rocketchat-otr/server/settings.js | 2 + .../.npm/plugin/minifier-postcss/.gitignore | 1 - .../.npm/plugin/minifier-postcss/README | 7 - .../minifier-postcss/npm-shrinkwrap.json | 62 - packages/rocketchat-postcss/package.js | 25 - .../rocketchat-postcss/plugin/minify-css.js | 198 - .../client/index.js | 3 + .../client/tabBar.js | 3 + .../views/pushNotificationsFlexTab.html | 2 +- .../client/views/pushNotificationsFlexTab.js | 8 +- .../rocketchat-push-notifications/package.js | 19 +- .../server/index.js | 2 + .../methods/saveNotificationSettings.js | 4 + .../server/models/Subscriptions.js | 2 + packages/rocketchat-reactions/client/index.js | 4 + packages/rocketchat-reactions/client/init.js | 5 + .../client/methods/setReaction.js | 2 + .../{server => lib}/models/Messages.js | 2 + .../{server => lib}/models/Rooms.js | 2 + packages/rocketchat-reactions/package.js | 22 +- packages/rocketchat-reactions/server/index.js | 3 + .../{ => server}/setReaction.js | 5 +- .../rocketchat-retention-policy/package.js | 6 +- .../server/cronPruneMessages.js | 4 +- .../server/index.js | 2 + .../server/startup/settings.js | 2 + packages/rocketchat-sandstorm/client/index.js | 2 + .../client/powerboxListener.js | 3 + .../rocketchat-sandstorm/client/setPath.js | 3 + packages/rocketchat-sandstorm/package.js | 12 +- .../rocketchat-sandstorm/server/events.js | 5 +- packages/rocketchat-sandstorm/server/index.js | 3 + packages/rocketchat-sandstorm/server/lib.js | 7 +- .../rocketchat-sandstorm/server/powerbox.js | 4 +- packages/rocketchat-search/client/index.js | 5 + .../client/provider/result.js | 8 +- .../rocketchat-search/client/search/search.js | 6 +- packages/rocketchat-search/package.js | 12 +- .../rocketchat-search/server/events/events.js | 1 + .../rocketchat-search/server/logger/logger.js | 2 + .../server/model/provider.js | 1 + .../server/provider/defaultProvider.js | 1 + .../server/service/providerService.js | 4 +- .../server/service/validationService.js | 2 + .../rocketchat-setup-wizard/client/final.js | 5 + .../rocketchat-setup-wizard/client/index.js | 4 + .../client/setupWizard.js | 19 + packages/rocketchat-setup-wizard/package.js | 18 +- .../server/getSetupWizardParameters.js | 3 + .../rocketchat-setup-wizard/server/index.js | 1 + .../rocketchat-slackbridge/client/index.js | 1 + .../client/slackbridge_import.client.js | 2 + packages/rocketchat-slackbridge/package.js | 18 +- .../server/RocketAdapter.js | 8 +- .../server/SlackAdapter.js | 8 +- .../rocketchat-slackbridge/server/index.js | 3 + .../rocketchat-slackbridge/server/logger.js | 5 +- .../rocketchat-slackbridge/server/settings.js | 3 + .../server/slackbridge.js | 4 +- .../server/slackbridge_import.server.js | 7 +- .../client/index.js | 5 + .../{ => lib}/gimme.js | 2 + .../{ => lib}/lenny.js | 2 + .../{ => lib}/shrug.js | 2 + .../{ => lib}/tableflip.js | 2 + .../{ => lib}/unflip.js | 2 + .../package.js | 11 +- .../server/index.js | 5 + .../client/client.js | 2 + .../client/index.js | 1 + .../package.js | 8 +- .../server/index.js | 2 + .../server/messages.js | 2 + .../server/server.js | 6 + .../server/server.js | 3 + .../client/client.js | 2 + .../client/index.js | 1 + .../package.js | 8 +- .../server/index.js | 1 + .../server/server.js | 6 + .../rocketchat-slashcommands-help/package.js | 7 +- .../server/index.js | 1 + .../{ => server}/server.js | 7 + .../client/hide.js | 2 + .../client/index.js | 1 + .../rocketchat-slashcommands-hide/package.js | 5 +- .../server/hide.js | 5 + .../server/index.js | 1 + .../client/client.js | 2 + .../client/index.js | 1 + .../package.js | 8 +- .../server/index.js | 1 + .../server/server.js | 5 + .../client/client.js | 2 + .../client/index.js | 1 + .../package.js | 9 +- .../server/index.js | 1 + .../server/server.js | 5 + .../client/client.js | 2 + .../client/index.js | 1 + .../rocketchat-slashcommands-join/package.js | 9 +- .../server/index.js | 1 + .../server/server.js | 6 +- .../client/client.js | 2 + .../client/index.js | 1 + .../rocketchat-slashcommands-kick/package.js | 8 +- .../server/index.js | 1 + .../server/server.js | 5 + .../rocketchat-slashcommands-leave/package.js | 3 +- .../server/index.js | 1 + .../{ => server}/leave.js | 4 + .../rocketchat-slashcommands-me/package.js | 3 +- .../server/index.js | 1 + .../{ => server}/me.js | 2 + .../rocketchat-slashcommands-msg/package.js | 6 +- .../server/index.js | 1 + .../{ => server}/server.js | 5 + .../rocketchat-slashcommands-mute/package.js | 3 +- .../server/index.js | 2 + .../server/mute.js | 5 + .../server/unmute.js | 5 + .../client/client.js | 6 + .../client/index.js | 1 + .../rocketchat-slashcommands-open/package.js | 7 +- .../client/index.js | 1 + .../{ => lib}/topic.js | 5 +- .../rocketchat-slashcommands-topic/package.js | 8 +- .../server/index.js | 1 + .../client/client.js | 2 + .../client/index.js | 1 + .../package.js | 9 +- .../server/index.js | 2 + .../server/messages.js | 2 + .../server/server.js | 6 + packages/rocketchat-slider/client/index.js | 2 + .../{ => client}/rocketchat-slider.html | 0 .../{ => client}/rocketchat-slider.js | 2 + packages/rocketchat-slider/package.js | 12 +- .../client/index.js | 1 + .../lib/rocketchat.js | 2 + .../rocketchat-smarsh-connector/package.js | 11 +- .../server/functions/generateEml.js | 3 + .../server/functions/sendEmail.js | 4 +- .../server/index.js | 6 + .../server/models/SmarshHistory.js | 2 + .../server/settings.js | 1 + .../server/startup.js | 4 +- packages/rocketchat-sms/package.js | 11 +- packages/rocketchat-sms/{ => server}/SMS.js | 4 +- packages/rocketchat-sms/server/index.js | 3 + .../{ => server}/services/twilio.js | 2 +- .../rocketchat-sms/{ => server}/settings.js | 3 + packages/rocketchat-spotify/client/index.js | 3 + .../rocketchat-spotify/lib/client/widget.js | 2 + packages/rocketchat-spotify/lib/spotify.js | 1 + packages/rocketchat-spotify/package.js | 7 +- packages/rocketchat-spotify/server/index.js | 1 + .../rocketchat-statistics/client/index.js | 1 + .../rocketchat-statistics/lib/rocketchat.js | 2 + packages/rocketchat-statistics/package.js | 13 +- .../server/functions/get.js | 26 +- .../server/functions/getUsages.js | 2 + .../server/functions/save.js | 2 + .../rocketchat-statistics/server/index.js | 6 + .../server/methods/getStatistics.js | 3 + .../server/models/Statistics.js | 2 + .../rocketchat-token-login/client/index.js | 1 + .../client/login_token_client.js | 5 + packages/rocketchat-token-login/package.js | 25 +- .../rocketchat-token-login/server/index.js | 1 + .../server/login_token_server.js | 3 +- packages/rocketchat-tokenpass/client/index.js | 7 + .../rocketchat-tokenpass/client/roomType.js | 2 + .../rocketchat-tokenpass/client/startup.js | 3 + .../client/tokenChannelsList.js | 6 + .../client/tokenpassChannelSettings.js | 9 + .../rocketchat-tokenpass/{ => lib}/common.js | 5 +- packages/rocketchat-tokenpass/package.js | 53 +- .../rocketchat-tokenpass/server/Tokenpass.js | 2 + .../server/cronRemoveUsers.js | 5 +- .../getProtectedTokenpassBalances.js | 4 + .../functions/getPublicTokenpassBalances.js | 4 + .../server/functions/saveRoomTokens.js | 4 + .../functions/saveRoomTokensMinimumBalance.js | 3 + .../functions/updateUserTokenpassBalances.js | 1 + packages/rocketchat-tokenpass/server/index.js | 15 + .../server/methods/findTokenChannels.js | 3 + .../server/methods/getChannelTokenpass.js | 4 + .../server/models/Rooms.js | 2 + .../server/models/Subscriptions.js | 2 + .../server/models/Users.js | 2 + .../server/models/indexes.js | 3 + .../rocketchat-tokenpass/server/startup.js | 4 + packages/rocketchat-tooltip/client/index.js | 3 + packages/rocketchat-tooltip/client/init.js | 3 + .../client/rocketchat-tooltip.js | 5 +- packages/rocketchat-tooltip/package.js | 19 +- packages/rocketchat-tutum/package.js | 11 - packages/rocketchat-tutum/startup.js | 25 - .../rocketchat-ui-account/client/account.js | 4 + .../client/accountFlex.html | 6 +- .../client/accountFlex.js | 10 +- .../client/accountIntegrations.html | 32 +- .../client/accountIntegrations.js | 7 +- .../client/accountPreferences.html | 537 +- .../client/accountPreferences.js | 10 +- .../client/accountProfile.js | 9 + .../client/avatar/avatar.js | 5 + .../client/avatar/prompt.js | 11 +- .../rocketchat-ui-account/client/index.js | 14 + packages/rocketchat-ui-account/package.js | 20 +- .../rocketchat-ui-admin/client/admin.html | 32 +- packages/rocketchat-ui-admin/client/admin.js | 38 +- .../rocketchat-ui-admin/client/adminFlex.js | 6 + .../rocketchat-ui-admin/client/adminInfo.js | 7 + packages/rocketchat-ui-admin/client/index.js | 20 + .../client/rooms/adminRoomInfo.js | 11 +- .../client/rooms/adminRooms.js | 15 +- .../client/rooms/channelSettingsDefault.js | 8 +- .../client/users/adminInviteUser.js | 5 + .../client/users/adminUserChannels.js | 3 + .../client/users/adminUsers.js | 7 + packages/rocketchat-ui-admin/package.js | 34 +- packages/rocketchat-ui-admin/server/index.js | 1 + .../{ => server}/publications/adminRooms.js | 2 + .../client/index.js | 3 + .../client/lib/startup.js | 4 + .../client/views/cleanHistory.js | 12 +- .../rocketchat-ui-clean-history/package.js | 10 +- .../client/flexTabBar.js | 9 +- .../rocketchat-ui-flextab/client/index.js | 13 + .../client/tabs/inviteUsers.js | 11 +- .../client/tabs/keyboardShortcuts.html | 6 + .../client/tabs/membersList.js | 10 +- .../client/tabs/uploadedFilesList.html | 3 + .../client/tabs/uploadedFilesList.js | 41 + .../client/tabs/userActions.js | 25 +- .../client/tabs/userEdit.js | 7 + .../client/tabs/userInfo.js | 10 +- packages/rocketchat-ui-flextab/package.js | 19 +- packages/rocketchat-ui-login/client/index.js | 19 + .../client/login/footer.js | 5 + .../client/login/form.html | 9 +- .../rocketchat-ui-login/client/login/form.js | 12 +- .../client/login/header.js | 3 + .../client/login/layout.js | 3 + .../client/login/services.js | 5 +- .../client/reset-password/resetPassword.js | 8 + packages/rocketchat-ui-login/client/routes.js | 3 + .../client/username/layout.js | 3 + .../client/username/username.js | 4 + packages/rocketchat-ui-login/package.js | 31 +- .../rocketchat-ui-master/client/main.html | 33 +- packages/rocketchat-ui-master/client/main.js | 27 +- packages/rocketchat-ui-master/package.js | 1 + .../rocketchat-ui-master/public/icons.svg | 1208 +- .../rocketchat-ui-master/server/inject.js | 3 +- .../rocketchat-ui-message/client/index.js | 23 + .../rocketchat-ui-message/client/message.js | 46 +- .../client/messageBox.js | 66 +- .../client/popup/messagePopup.js | 19 +- .../client/popup/messagePopupChannel.js | 3 + .../client/popup/messagePopupConfig.js | 11 +- .../client/popup/messagePopupEmoji.js | 2 + .../popup/messagePopupSlashCommandPreview.js | 10 +- .../client/renderMessageBody.js | 6 +- .../{ => client}/startup/messageBoxActions.js | 19 +- packages/rocketchat-ui-message/package.js | 29 +- .../client/chatRoomItem.js | 5 + .../client/createCombinedFlex.js | 4 + .../client/listChannelsFlex.js | 3 + .../client/listCombinedFlex.js | 3 + .../client/listPrivateGroupsFlex.js | 2 + .../rocketchat-ui-sidenav/client/roomList.js | 5 +- .../rocketchat-ui-sidenav/client/sideNav.js | 5 +- .../client/sidebarHeader.html | 4 +- .../client/sidebarHeader.js | 42 +- .../client/sidebarItem.js | 8 +- .../rocketchat-ui-sidenav/client/sortlist.js | 4 +- .../rocketchat-ui-sidenav/client/toolbar.html | 2 +- .../rocketchat-ui-sidenav/client/toolbar.js | 80 +- packages/rocketchat-ui-sidenav/package.js | 3 + .../client/VRecDialog.js | 3 + .../rocketchat-ui-vrecord/client/index.js | 7 + .../rocketchat-ui-vrecord/client/vrecord.js | 4 +- packages/rocketchat-ui-vrecord/package.js | 10 +- .../rocketchat-ui-vrecord/server/index.js | 1 + .../rocketchat-ui-vrecord/server/settings.js | 2 + .../client/components/contextualBar.js | 2 + .../client/components/header/header.js | 5 +- .../rocketchat-ui/client/components/icon.js | 4 +- .../client/components/popupList.js | 2 + .../client/components/selectDropdown.js | 3 + .../rocketchat-ui/client/components/table.js | 1 + .../rocketchat-ui/client/components/tabs.js | 3 + .../client/lib/RoomHistoryManager.js | 7 +- .../rocketchat-ui/client/lib/RoomManager.js | 25 +- .../rocketchat-ui/client/lib/accountBox.js | 8 +- packages/rocketchat-ui/client/lib/accounts.js | 4 + packages/rocketchat-ui/client/lib/avatar.js | 8 +- .../rocketchat-ui/client/lib/chatMessages.js | 151 +- .../lib/codeMirror/codeMirrorComponent.js | 6 +- .../rocketchat-ui/client/lib/collections.js | 27 +- .../client/lib/cordova/facebook-login.js | 5 +- .../client/lib/cordova/keyboard-fix.js | 3 +- .../rocketchat-ui/client/lib/cordova/push.js | 6 +- .../rocketchat-ui/client/lib/cordova/urls.js | 2 + .../client/lib/cordova/user-state.js | 3 +- .../rocketchat-ui/client/lib/fileUpload.js | 10 +- .../rocketchat-ui/client/lib/fireEvent.js | 4 +- .../client/lib/iframeCommands.js | 4 + packages/rocketchat-ui/client/lib/menu.js | 3 +- packages/rocketchat-ui/client/lib/modal.js | 2 + .../rocketchat-ui/client/lib/msgTyping.js | 4 + .../rocketchat-ui/client/lib/notification.js | 12 +- .../client/lib/parentTemplate.js | 2 + .../rocketchat-ui/client/lib/readMessages.js | 20 +- .../client/lib/recorderjs/audioRecorder.js | 53 +- .../client/lib/recorderjs/recorder.js | 10 - .../client/lib/recorderjs/videoRecorder.js | 110 +- packages/rocketchat-ui/client/lib/rocket.js | 1 - packages/rocketchat-ui/client/lib/sideNav.js | 7 +- .../client/views/404/roomNotFound.js | 5 + .../rocketchat-ui/client/views/app/alerts.js | 6 +- .../rocketchat-ui/client/views/app/burger.js | 3 + .../client/views/app/createChannel.js | 10 +- .../client/views/app/directory.js | 5 + .../client/views/app/fullModal.js | 4 + .../rocketchat-ui/client/views/app/home.js | 2 + .../rocketchat-ui/client/views/app/modal.js | 7 +- .../client/views/app/photoswipe.js | 1 + .../rocketchat-ui/client/views/app/popout.js | 6 +- .../rocketchat-ui/client/views/app/popover.js | 9 +- .../rocketchat-ui/client/views/app/room.js | 21 +- .../client/views/app/roomSearch.js | 2 + .../client/views/app/secretURL.js | 7 +- .../views/app/videoCall/videoButtons.js | 5 +- .../client/views/app/videoCall/videoCall.js | 8 +- .../rocketchat-ui/client/views/cmsPage.js | 8 +- packages/rocketchat-ui/client/views/fxos.js | 3 + packages/rocketchat-ui/client/views/modal.js | 2 + .../rocketchat-ui/getAvatarUrlFromUsername.js | 5 +- packages/rocketchat-ui/package.js | 30 +- .../rocketchat-user-data-download/package.js | 4 +- .../server/cronProcessDownloads.js | 9 +- .../server/index.js | 2 + .../server/startup/settings.js | 2 + packages/rocketchat-utils/client/index.js | 9 + .../rocketchat-utils/client/lib/browsers.js | 2 + .../lib/tapi18n.js | 16 +- packages/rocketchat-utils/package.js | 14 + packages/rocketchat-utils/server/index.js | 6 + .../rocketchat-version-check/client/client.js | 5 +- packages/rocketchat-version-check/package.js | 3 +- .../server/addSettings.js | 2 + .../server/functions/checkVersionUpdate.js | 21 +- .../server/functions/getNewUpdates.js | 11 +- .../rocketchat-version-check/server/logger.js | 2 + .../server/methods/banner_dismiss.js | 3 + .../rocketchat-version-check/server/server.js | 4 +- .../client/actionLink.js | 4 + .../rocketchat-videobridge/client/index.js | 8 + .../rocketchat-videobridge/client/tabBar.js | 5 + .../client/views/videoFlexTab.js | 8 +- .../client/views/videoFlexTabBbb.js | 6 +- .../rocketchat-videobridge/lib/messageType.js | 4 + packages/rocketchat-videobridge/package.js | 24 +- .../server/actionLink.js | 2 + .../rocketchat-videobridge/server/index.js | 6 + .../server/methods/bbb.js | 2 + .../server/methods/jitsiSetTimeout.js | 4 + .../server/models/Rooms.js | 2 + .../rocketchat-videobridge/server/settings.js | 3 + .../rocketchat-webdav/client/actionButton.js | 5 +- .../client/addWebdavAccount.js | 5 + .../client/collections/WebdavAccounts.js | 3 + packages/rocketchat-webdav/client/index.js | 10 + .../client/selectWebdavAccount.js | 6 +- .../{ => client}/startup/messageBoxActions.js | 7 +- .../{ => client}/startup/subscription.js | 2 + .../client/webdavFilePicker.js | 8 +- packages/rocketchat-webdav/package.js | 41 +- packages/rocketchat-webdav/server/index.js | 8 + .../server/methods/addWebdavAccount.js | 3 + .../server/methods/getFileFromWebdav.js | 2 + .../server/methods/getWebdavFileList.js | 2 + .../server/methods/removeWebdavAccount.js | 4 + .../server/methods/uploadFileToWebdav.js | 2 + .../server/models/WebdavAccounts.js | 2 + .../server/publications/webdavAccounts.js | 3 + .../{ => server}/startup/settings.js | 2 + .../rocketchat-webrtc/client/WebRTCClass.js | 9 +- .../rocketchat-webrtc/client/screenShare.js | 3 +- packages/rocketchat-webrtc/package.js | 1 + packages/rocketchat-wordpress/client/index.js | 1 + .../rocketchat-wordpress/{ => lib}/common.js | 6 +- packages/rocketchat-wordpress/package.js | 16 +- packages/rocketchat-wordpress/server/index.js | 2 + .../{ => server}/startup.js | 2 + .../client/imports/components/alerts.css | 0 .../client/imports/components/avatar.css | 0 .../client/imports/components/badge.css | 0 .../client/imports/components/chip.css | 0 .../imports/components/contextual-bar.css | 24 + .../client/imports/components/emojiPicker.css | 6 - .../client/imports/components/flex-nav.css | 0 .../client/imports/components/header.css | 2 +- .../imports/components/main-content.css | 0 .../client/imports/components/memberlist.css | 0 .../client/imports/components/message-box.css | 5 +- .../client/imports/components/messages.css | 2 + .../client/imports/components/modal.css | 0 .../components/modal/create-channel.css | 0 .../imports/components/modal/directory.css | 0 .../imports/components/modal/full-modal.css | 0 .../client/imports/components/popout.css | 0 .../client/imports/components/popover.css | 0 .../imports/components/setup-wizard.css | 0 .../imports/components/sidebar/rooms-list.css | 1 - .../components/sidebar/sidebar-flex.css | 0 .../components/sidebar/sidebar-header.css | 0 .../components/sidebar/sidebar-item.css | 0 .../imports/components/sidebar/sidebar.css | 0 .../imports/components/sidebar/toolbar.css | 2 - .../client/imports/components/slider.css | 0 .../client/imports/components/table.css | 0 .../client/imports/components/tabs.css | 6 +- .../client/imports/components/tooltip.css | 0 .../client/imports/components/userInfo.css | 0 .../client/imports/forms/button.css | 1 - .../client/imports/forms/checkbox.css | 0 .../client/imports/forms/input.css | 13 +- .../client/imports/forms/popup-list.css | 0 .../client/imports/forms/select-avatar.css | 0 .../client/imports/forms/select.css | 17 +- .../client/imports/forms/switch.css | 0 .../client/imports/forms/tags.css | 0 .../client/imports/general/animations.css | 0 .../client/imports/general/apps.css | 0 .../client/imports/general/base.css | 0 .../client/imports/general/base_old.css | 173 +- .../client/imports/general/forms.css | 0 .../client/imports/general/reset.css | 0 .../client/imports/general/rtl.css | 0 .../client/imports/general/typography.css | 0 .../client/imports/general/variables.css | 0 packages/rocketchat_theme/client/index.js | 1 + .../client/main.css | 0 .../client/vendor/fontello/config.json | 0 .../client/vendor/fontello/css/fontello.css | 0 .../client/vendor/fontello/demo.html | 0 .../client/vendor/fontello/font/fontello.eot | Bin .../client/vendor/fontello/font/fontello.svg | 0 .../client/vendor/fontello/font/fontello.ttf | Bin .../client/vendor/fontello/font/fontello.woff | Bin .../vendor/fontello/font/fontello.woff2 | Bin .../client/vendor/fontello/utf8-rtl.html | 0 .../client/vendor/jscolor.js | 0 .../client/vendor/photoswipe.css | 0 .../package.js | 33 +- .../server/colors.less | 0 packages/rocketchat_theme/server/index.js | 2 + .../server/server.js | 7 +- .../server/variables.js | 2 +- packages/tap-i18n/lib/globals.js | 1 - .../tap-i18n/lib/plugin/etc/language_names.js | 1 - .../lib/tap_i18next/tap_i18next_init.js | 2 - server/configuration/accounts_meld.js | 1 + server/lib/accounts.js | 4 + server/lib/cordova.js | 14 +- server/lib/cordova/facebook-login.js | 2 + server/lib/roomFiles.js | 6 + server/methods/OEmbedCacheCleanup.js | 2 + server/methods/addAllUserToRoom.js | 3 + server/methods/addRoomLeader.js | 3 + server/methods/addRoomModerator.js | 3 + server/methods/addRoomOwner.js | 3 + server/methods/afterVerifyEmail.js | 1 + server/methods/browseChannels.js | 2 + server/methods/canAccessRoom.js | 3 + server/methods/channelsList.js | 2 + server/methods/createDirectMessage.js | 3 + server/methods/deleteFileMessage.js | 5 +- server/methods/deleteUser.js | 3 + server/methods/eraseRoom.js | 4 +- server/methods/getAvatarSuggestion.js | 5 +- server/methods/getRoomIdByNameOrId.js | 3 + server/methods/getRoomNameAndTypeById.js | 3 + server/methods/getRoomNameById.js | 3 + server/methods/getTotalChannels.js | 2 + server/methods/getUsernameSuggestion.js | 70 +- server/methods/getUsersOfRoom.js | 43 +- server/methods/hideOldSubscriptions.js | 3 + server/methods/hideRoom.js | 3 + server/methods/ignoreUser.js | 4 +- server/methods/loadHistory.js | 3 + server/methods/loadLocale.js | 3 + server/methods/loadMissedMessages.js | 3 + server/methods/loadNextMessages.js | 3 + server/methods/loadSurroundingMessages.js | 3 + server/methods/logoutCleanUp.js | 3 + server/methods/messageSearch.js | 2 + server/methods/migrate.js | 3 + server/methods/muteUserInRoom.js | 3 + server/methods/openRoom.js | 3 + server/methods/readMessages.js | 2 + server/methods/registerUser.js | 8 +- server/methods/removeRoomLeader.js | 3 + server/methods/removeRoomModerator.js | 3 + server/methods/removeRoomOwner.js | 3 + server/methods/removeUserFromRoom.js | 3 + server/methods/reportMessage.js | 3 + server/methods/requestDataDownload.js | 1 + server/methods/resetAvatar.js | 3 + server/methods/roomNameExists.js | 3 + server/methods/saveUserPreferences.js | 3 + server/methods/saveUserProfile.js | 4 + server/methods/sendConfirmationEmail.js | 3 + server/methods/sendForgotPasswordEmail.js | 5 +- server/methods/setAvatarFromService.js | 4 + server/methods/setUserActiveStatus.js | 3 + server/methods/setUserPassword.js | 4 + server/methods/toogleFavorite.js | 3 + server/methods/unmuteUserInRoom.js | 3 + server/methods/userSetUtcOffset.js | 4 + server/publications/activeUsers.js | 2 + .../channelAndPrivateAutocomplete.js | 2 + server/publications/fullUserData.js | 2 + server/publications/messages.js | 3 + server/publications/room.js | 5 +- server/publications/roomFiles.js | 1 + .../publications/roomFilesWithSearchText.js | 1 + .../publications/roomSubscriptionsByRole.js | 2 + server/publications/spotlight.js | 3 + server/publications/subscription.js | 8 +- server/publications/userAutocomplete.js | 1 + server/publications/userChannels.js | 2 + server/publications/userData.js | 2 + server/startup/appcache.js | 2 + server/startup/avatar.js | 4 +- server/startup/cron.js | 14 +- server/startup/i18n-validation.js | 1 + server/startup/initialData.js | 3 + server/startup/migrations/v002.js | 2 +- server/startup/migrations/v004.js | 2 + server/startup/migrations/v007.js | 2 +- server/startup/migrations/v009.js | 3 + server/startup/migrations/v012.js | 2 + server/startup/migrations/v015.js | 3 + server/startup/migrations/v018.js | 2 + server/startup/migrations/v019.js | 1 + server/startup/migrations/v036.js | 2 + server/startup/migrations/v042.js | 2 + server/startup/migrations/v075.js | 2 + server/startup/migrations/v099.js | 7 +- server/startup/migrations/v106.js | 1 + server/startup/migrations/v123.js | 2 + server/startup/migrations/v130.js | 1 + server/startup/migrations/v136.js | 15 + server/startup/migrations/v137.js | 10 + server/startup/presence.js | 5 +- server/startup/serverRunning.js | 5 +- server/stream/messages.js | 58 +- server/stream/streamBroadcast.js | 7 +- tests/.eslintrc | 12 + tests/chimp-config.js | 66 +- tests/data/chat.helper.js | 32 + tests/data/permissions.helper.js | 19 + tests/data/rooms.helper.js | 44 + tests/end-to-end/api/00-miscellaneous.js | 5 - tests/end-to-end/api/01-users.js | 175 +- tests/end-to-end/api/02-channels.js | 12 +- tests/end-to-end/api/03-groups.js | 8 +- tests/end-to-end/api/04-direct-message.js | 9 +- tests/end-to-end/api/05-chat.js | 341 +- .../api/06-outgoing-integrations.js | 8 +- .../api/07-incoming-integrations.js | 2 - tests/end-to-end/api/08-settings.js | 3 - tests/end-to-end/api/09-rooms.js | 330 +- tests/end-to-end/api/10-subscriptions.js | 3 - tests/end-to-end/api/11-graphql.js | 2 - tests/end-to-end/api/11-permissions.js | 44 +- tests/end-to-end/api/12-emoji-custom.js | 16 +- tests/end-to-end/api/13-roles.js | 3 - tests/end-to-end/api/14-assets.js | 4 - tests/end-to-end/ui/00-login.js | 4 +- tests/end-to-end/ui/01-register.js | 2 - tests/end-to-end/ui/02-forgot-password.js | 2 - tests/end-to-end/ui/03-user-creation.js | 3 - .../end-to-end/ui/04-main-elements-render.js | 3 - tests/end-to-end/ui/05-channel-creation.js | 3 - tests/end-to-end/ui/06-messaging.js | 3 - tests/end-to-end/ui/07-emoji.js | 3 - tests/end-to-end/ui/08-resolutions.js | 3 - tests/end-to-end/ui/09-channel.js | 3 - tests/end-to-end/ui/10-user-preferences.js | 3 - tests/end-to-end/ui/11-admin.js | 4 +- tests/end-to-end/ui/12-settings.js | 17 - tests/end-to-end/ui/13-permissions.js | 3 - tests/end-to-end/ui/14-message-popup.js | 1 + tests/pageobjects/Page.js | 4 +- tests/pageobjects/administration.page.js | 22 +- 1911 files changed, 28878 insertions(+), 17665 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/feature_request.md delete mode 100644 .github/changelog.js delete mode 100755 .github/templates/commit.hbs delete mode 100755 .github/templates/footer.hbs delete mode 100755 .github/templates/header.hbs delete mode 100755 .github/templates/template.hbs delete mode 100755 .scripts/seperateTesting.sh create mode 100644 .scripts/translationDiff.js create mode 100755 .snapcraft/snap/hooks/configure create mode 100755 .snapcraft/snap/hooks/install rename .snapcraft/{ => snap}/snapcraft.yaml (90%) create mode 100644 LIMITATION_OF_RESPONSIBILITY.md delete mode 100644 imports/personal-access-tokens/server/settings.js delete mode 100644 packages/autoupdate/.gitignore delete mode 100644 packages/autoupdate/QA.md delete mode 100644 packages/autoupdate/README.md delete mode 100644 packages/autoupdate/autoupdate_client.js delete mode 100644 packages/autoupdate/autoupdate_cordova.js delete mode 100644 packages/autoupdate/autoupdate_server.js delete mode 100644 packages/autoupdate/package.js create mode 100644 packages/chatpal-search/client/index.js create mode 100644 packages/chatpal-search/server/index.js create mode 100644 packages/meteor-accounts-saml/client/index.js rename packages/meteor-accounts-saml/{ => client}/saml_client.js (96%) create mode 100644 packages/meteor-accounts-saml/server/index.js rename packages/meteor-accounts-saml/{ => server}/saml_rocketchat.js (95%) rename packages/meteor-accounts-saml/{ => server}/saml_server.js (96%) rename packages/meteor-accounts-saml/{ => server}/saml_utils.js (99%) create mode 100644 packages/meteor-autocomplete/client/index.js create mode 100644 packages/meteor-autocomplete/server/index.js create mode 100644 packages/meteor-timesync/client/index.js create mode 100644 packages/meteor-timesync/server/index.js create mode 100644 packages/rocketchat-2fa/client/index.js create mode 100644 packages/rocketchat-2fa/server/index.js create mode 100644 packages/rocketchat-action-links/client/index.js create mode 100644 packages/rocketchat-action-links/server/index.js create mode 100644 packages/rocketchat-analytics/client/index.js create mode 100644 packages/rocketchat-analytics/server/index.js create mode 100644 packages/rocketchat-api/server/index.js create mode 100644 packages/rocketchat-api/server/v1/import.js create mode 100644 packages/rocketchat-assets/server/index.js create mode 100644 packages/rocketchat-authorization/client/index.js create mode 100644 packages/rocketchat-authorization/server/index.js create mode 100644 packages/rocketchat-autolinker/client/index.js create mode 100644 packages/rocketchat-autolinker/server/index.js create mode 100644 packages/rocketchat-autotranslate/client/index.js create mode 100644 packages/rocketchat-cas/client/index.js create mode 100644 packages/rocketchat-cas/server/index.js create mode 100644 packages/rocketchat-channel-settings-mail-messages/client/index.js create mode 100644 packages/rocketchat-channel-settings-mail-messages/server/index.js create mode 100644 packages/rocketchat-channel-settings/client/index.js create mode 100644 packages/rocketchat-channel-settings/server/index.js create mode 100644 packages/rocketchat-cloud/client/admin/callback.html create mode 100644 packages/rocketchat-cloud/client/admin/callback.js create mode 100644 packages/rocketchat-cloud/client/admin/cloud.html create mode 100644 packages/rocketchat-cloud/client/admin/cloud.js create mode 100644 packages/rocketchat-cloud/client/index.js create mode 100644 packages/rocketchat-cloud/package.js create mode 100644 packages/rocketchat-cloud/server/functions/connectWorkspace.js create mode 100644 packages/rocketchat-cloud/server/functions/finishOAuthAuthorization.js create mode 100644 packages/rocketchat-cloud/server/functions/getOAuthAuthorizationUrl.js create mode 100644 packages/rocketchat-cloud/server/functions/getRedirectUri.js create mode 100644 packages/rocketchat-cloud/server/functions/getWorkspaceAccessTokens.js create mode 100644 packages/rocketchat-cloud/server/functions/getWorkspaceLicense.js create mode 100644 packages/rocketchat-cloud/server/functions/retrieveRegistrationStatus.js create mode 100644 packages/rocketchat-cloud/server/index.js create mode 100644 packages/rocketchat-cloud/server/methods.js create mode 100644 packages/rocketchat-colors/client/index.js create mode 100644 packages/rocketchat-colors/server/index.js create mode 100644 packages/rocketchat-cors/client/index.js rename packages/rocketchat-cors/{ => lib}/common.js (62%) rename packages/rocketchat-cors/{ => server}/cors.js (96%) create mode 100644 packages/rocketchat-cors/server/index.js create mode 100644 packages/rocketchat-crowd/client/index.js create mode 100644 packages/rocketchat-crowd/server/index.js create mode 100644 packages/rocketchat-custom-sounds/client/index.js create mode 100644 packages/rocketchat-custom-sounds/server/index.js create mode 100644 packages/rocketchat-dolphin/client/index.js rename packages/rocketchat-dolphin/{ => client}/login-button.css (100%) rename packages/rocketchat-dolphin/{ => lib}/common.js (88%) create mode 100644 packages/rocketchat-dolphin/server/index.js rename packages/rocketchat-dolphin/{ => server}/startup.js (96%) create mode 100644 packages/rocketchat-drupal/client/index.js rename packages/rocketchat-drupal/{ => client}/login-button.css (100%) rename packages/rocketchat-drupal/{ => lib}/common.js (84%) create mode 100644 packages/rocketchat-drupal/server/index.js rename packages/rocketchat-drupal/{ => server}/startup.js (92%) delete mode 100644 packages/rocketchat-e2e/.eslintrc create mode 100644 packages/rocketchat-e2e/server/methods/requestSubscriptionKeys.js create mode 100644 packages/rocketchat-e2e/server/methods/resetUserE2EKey.js rename packages/rocketchat-emoji-custom/{ => client}/admin/adminEmoji.html (100%) rename packages/rocketchat-emoji-custom/{ => client}/admin/adminEmoji.js (90%) rename packages/rocketchat-emoji-custom/{ => client}/admin/adminEmojiEdit.html (100%) rename packages/rocketchat-emoji-custom/{ => client}/admin/adminEmojiInfo.html (100%) rename packages/rocketchat-emoji-custom/{ => client}/admin/emojiEdit.html (100%) rename packages/rocketchat-emoji-custom/{ => client}/admin/emojiEdit.js (93%) rename packages/rocketchat-emoji-custom/{ => client}/admin/emojiInfo.html (100%) rename packages/rocketchat-emoji-custom/{ => client}/admin/emojiInfo.js (89%) rename packages/rocketchat-emoji-custom/{ => client}/admin/emojiPreview.html (100%) rename packages/rocketchat-emoji-custom/{ => client}/admin/route.js (63%) rename packages/rocketchat-emoji-custom/{ => client}/admin/startup.js (54%) create mode 100644 packages/rocketchat-emoji-custom/client/index.js rename packages/rocketchat-emoji-custom/{ => client/lib}/function-isSet.js (70%) create mode 100644 packages/rocketchat-emoji-custom/server/index.js create mode 100644 packages/rocketchat-emoji-emojione/client/index.js rename packages/rocketchat-emoji-emojione/{ => lib}/emojiPicker.js (99%) rename packages/rocketchat-emoji-emojione/{ => lib}/generateEmojiIndex.js (97%) rename packages/rocketchat-emoji-emojione/{ => lib}/rocketchat.js (84%) create mode 100644 packages/rocketchat-emoji-emojione/server/index.js delete mode 100644 packages/rocketchat-emoji/client/emojiButton.js create mode 100644 packages/rocketchat-emoji/client/index.js rename packages/rocketchat-emoji/{client => lib}/rocketchat.js (80%) create mode 100644 packages/rocketchat-emoji/server/index.js create mode 100644 packages/rocketchat-error-handler/server/index.js create mode 100644 packages/rocketchat-favico/client/index.js rename packages/rocketchat-file/{ => server}/file.server.js (98%) create mode 100644 packages/rocketchat-file/server/index.js rename packages/rocketchat-github-enterprise/{ => client}/github-enterprise-login-button.css (100%) create mode 100644 packages/rocketchat-github-enterprise/client/index.js rename packages/rocketchat-github-enterprise/{ => lib}/common.js (84%) create mode 100644 packages/rocketchat-github-enterprise/server/index.js rename packages/rocketchat-github-enterprise/{ => server}/startup.js (93%) rename packages/rocketchat-gitlab/{ => client}/gitlab-login-button.css (100%) create mode 100644 packages/rocketchat-gitlab/client/index.js rename packages/rocketchat-gitlab/{ => lib}/common.js (79%) create mode 100644 packages/rocketchat-gitlab/server/index.js rename packages/rocketchat-gitlab/{ => server}/startup.js (92%) create mode 100644 packages/rocketchat-google-vision/client/index.js create mode 100644 packages/rocketchat-google-vision/server/index.js create mode 100644 packages/rocketchat-graphql/server/index.js create mode 100644 packages/rocketchat-highlight-words/client/helper.js create mode 100644 packages/rocketchat-highlight-words/client/index.js create mode 100644 packages/rocketchat-highlight-words/tests/helper.test.js create mode 100644 packages/rocketchat-i18n/i18n/et.i18n.json create mode 100644 packages/rocketchat-i18n/i18n/eu.i18n.json mode change 100755 => 100644 packages/rocketchat-i18n/i18n/pt-BR.i18n.json mode change 100755 => 100644 packages/rocketchat-i18n/i18n/pt.i18n.json rename packages/rocketchat-iframe-login/{ => client}/iframe_client.js (95%) create mode 100644 packages/rocketchat-iframe-login/client/index.js rename packages/rocketchat-iframe-login/{ => server}/iframe_rocketchat.js (83%) rename packages/rocketchat-iframe-login/{ => server}/iframe_server.js (74%) create mode 100644 packages/rocketchat-iframe-login/server/index.js create mode 100644 packages/rocketchat-importer-csv/client/index.js rename packages/rocketchat-importer-csv/{ => lib}/info.js (100%) create mode 100644 packages/rocketchat-importer-csv/server/index.js create mode 100644 packages/rocketchat-importer-hipchat-enterprise/client/index.js rename packages/rocketchat-importer-hipchat-enterprise/{ => lib}/info.js (100%) create mode 100644 packages/rocketchat-importer-hipchat-enterprise/server/index.js create mode 100644 packages/rocketchat-importer-hipchat/client/index.js rename packages/rocketchat-importer-hipchat/{ => lib}/info.js (100%) create mode 100644 packages/rocketchat-importer-hipchat/server/index.js create mode 100644 packages/rocketchat-importer-slack-users/client/index.js rename packages/rocketchat-importer-slack-users/{ => lib}/info.js (100%) create mode 100644 packages/rocketchat-importer-slack-users/server/index.js create mode 100644 packages/rocketchat-importer-slack/client/index.js rename packages/rocketchat-importer-slack/{ => lib}/info.js (100%) create mode 100644 packages/rocketchat-importer-slack/server/index.js create mode 100644 packages/rocketchat-importer/server/methods/downloadPublicImportFile.js create mode 100644 packages/rocketchat-importer/server/methods/getImportFileData.js create mode 100644 packages/rocketchat-importer/server/methods/uploadImportFile.js create mode 100644 packages/rocketchat-importer/server/startup/store.js create mode 100644 packages/rocketchat-integrations/client/index.js create mode 100644 packages/rocketchat-integrations/server/index.js rename packages/rocketchat-internal-hubot/{ => server}/hubot.js (96%) create mode 100644 packages/rocketchat-internal-hubot/server/index.js rename packages/rocketchat-internal-hubot/{ => server}/settings.js (93%) create mode 100644 packages/rocketchat-irc/server/index.js rename packages/rocketchat-issuelinks/{ => client}/client.js (92%) create mode 100644 packages/rocketchat-issuelinks/client/index.js create mode 100644 packages/rocketchat-issuelinks/server/index.js rename packages/rocketchat-issuelinks/{ => server}/settings.js (89%) create mode 100644 packages/rocketchat-katex/client/index.js rename packages/rocketchat-katex/{ => lib}/katex.js (97%) create mode 100644 packages/rocketchat-katex/server/index.js rename packages/rocketchat-katex/{ => server}/settings.js (88%) create mode 100644 packages/rocketchat-ldap/client/index.js rename {client => packages/rocketchat-lib/client}/lib/handleError.js (87%) create mode 100644 packages/rocketchat-lib/server/startup/robots.js create mode 100644 packages/rocketchat-lib/tests/server.mocks.js create mode 100644 packages/rocketchat-livechat/.app/.eslintrc create mode 100644 packages/rocketchat-livechat/.app/i18n/et.i18n.json create mode 100644 packages/rocketchat-livechat/.app/i18n/eu.i18n.json delete mode 100644 packages/rocketchat-livechat/client/collections/LivechatInquiry.js delete mode 100644 packages/rocketchat-livechat/client/collections/LivechatPageVisited.js create mode 100644 packages/rocketchat-livechat/client/index.js rename packages/rocketchat-livechat/{server/models => lib}/LivechatExternalMessage.js (81%) create mode 100644 packages/rocketchat-livechat/lib/LivechatInquiry.js rename packages/rocketchat-livechat/{imports => lib}/LivechatRoomType.js (82%) rename packages/rocketchat-livechat/{ => lib}/messageTypes.js (90%) rename packages/rocketchat-livechat/{ => server}/config.js (97%) create mode 100644 packages/rocketchat-livechat/server/index.js rename packages/rocketchat-livechat/{ => server}/livechat.js (92%) delete mode 100644 packages/rocketchat-livechat/server/models/LivechatInquiry.js rename packages/rocketchat-livechat/{ => server}/permissions.js (93%) create mode 100644 packages/rocketchat-livestream/client/index.js create mode 100644 packages/rocketchat-logger/client/index.js create mode 100644 packages/rocketchat-logger/server/index.js create mode 100644 packages/rocketchat-mail-messages/client/index.js delete mode 100644 packages/rocketchat-mail-messages/lib/Mailer.js create mode 100644 packages/rocketchat-mail-messages/server/index.js create mode 100644 packages/rocketchat-mail-messages/server/lib/Mailer.js create mode 100644 packages/rocketchat-mapview/client/index.js create mode 100644 packages/rocketchat-mapview/server/index.js create mode 100644 packages/rocketchat-markdown/client/index.js rename packages/rocketchat-markdown/{ => lib}/markdown.js (67%) rename packages/rocketchat-markdown/{ => lib}/parser/marked/marked.js (100%) rename packages/rocketchat-markdown/{ => lib}/parser/original/code.js (98%) rename packages/rocketchat-markdown/{ => lib}/parser/original/markdown.js (100%) rename packages/rocketchat-markdown/{ => lib}/parser/original/original.js (100%) create mode 100644 packages/rocketchat-markdown/server/index.js rename packages/rocketchat-markdown/{ => server}/settings.js (100%) create mode 100644 packages/rocketchat-mentions-flextab/client/index.js create mode 100644 packages/rocketchat-mentions-flextab/server/index.js create mode 100644 packages/rocketchat-mentions/client/index.js rename packages/rocketchat-mentions/{ => lib}/Mentions.js (100%) create mode 100644 packages/rocketchat-mentions/server/index.js create mode 100644 packages/rocketchat-message-action/client/index.js create mode 100644 packages/rocketchat-message-attachments/client/index.js create mode 100644 packages/rocketchat-message-mark-as-unread/client/index.js create mode 100644 packages/rocketchat-message-mark-as-unread/server/index.js create mode 100644 packages/rocketchat-message-pin/client/index.js create mode 100644 packages/rocketchat-message-pin/server/index.js create mode 100644 packages/rocketchat-message-snippet/client/index.js create mode 100644 packages/rocketchat-message-snippet/server/index.js create mode 100644 packages/rocketchat-message-star/client/index.js create mode 100644 packages/rocketchat-message-star/server/index.js create mode 100644 packages/rocketchat-migrations/server/index.js rename packages/rocketchat-migrations/{ => server}/migrations.js (98%) delete mode 100644 packages/rocketchat-oauth2-server-config/admin/client/collection.js create mode 100644 packages/rocketchat-oauth2-server-config/client/admin/collection.js rename packages/rocketchat-oauth2-server-config/{admin/client => client/admin}/route.js (75%) rename packages/rocketchat-oauth2-server-config/{admin/client => client/admin}/startup.js (79%) rename packages/rocketchat-oauth2-server-config/{admin/client => client/admin}/views/oauthApp.html (100%) rename packages/rocketchat-oauth2-server-config/{admin/client => client/admin}/views/oauthApp.js (85%) rename packages/rocketchat-oauth2-server-config/{admin/client => client/admin}/views/oauthApps.html (100%) rename packages/rocketchat-oauth2-server-config/{admin/client => client/admin}/views/oauthApps.js (70%) create mode 100644 packages/rocketchat-oauth2-server-config/client/index.js rename packages/rocketchat-oauth2-server-config/{oauth/client => client/oauth}/oauth2-client.html (100%) rename packages/rocketchat-oauth2-server-config/{oauth/client => client/oauth}/oauth2-client.js (82%) rename packages/rocketchat-oauth2-server-config/{oauth/client => client/oauth}/stylesheets/oauth2.css (100%) rename packages/rocketchat-oauth2-server-config/{admin/server => server/admin}/methods/addOAuthApp.js (89%) rename packages/rocketchat-oauth2-server-config/{admin/server => server/admin}/methods/deleteOAuthApp.js (85%) rename packages/rocketchat-oauth2-server-config/{admin/server => server/admin}/methods/updateOAuthApp.js (93%) rename packages/rocketchat-oauth2-server-config/{admin/server => server/admin}/publications/oauthApps.js (76%) create mode 100644 packages/rocketchat-oauth2-server-config/server/index.js rename packages/rocketchat-oauth2-server-config/{oauth/server => server/oauth}/default-services.js (88%) rename packages/rocketchat-oauth2-server-config/{oauth/server => server/oauth}/oauth2-server.js (91%) create mode 100644 packages/rocketchat-oembed/client/index.js create mode 100644 packages/rocketchat-oembed/server/index.js create mode 100644 packages/rocketchat-otr/client/index.js create mode 100644 packages/rocketchat-otr/server/index.js delete mode 100644 packages/rocketchat-postcss/.npm/plugin/minifier-postcss/.gitignore delete mode 100644 packages/rocketchat-postcss/.npm/plugin/minifier-postcss/README delete mode 100644 packages/rocketchat-postcss/.npm/plugin/minifier-postcss/npm-shrinkwrap.json delete mode 100644 packages/rocketchat-postcss/package.js delete mode 100644 packages/rocketchat-postcss/plugin/minify-css.js create mode 100644 packages/rocketchat-push-notifications/client/index.js create mode 100644 packages/rocketchat-push-notifications/server/index.js create mode 100644 packages/rocketchat-reactions/client/index.js rename packages/rocketchat-reactions/{server => lib}/models/Messages.js (84%) rename packages/rocketchat-reactions/{server => lib}/models/Rooms.js (85%) create mode 100644 packages/rocketchat-reactions/server/index.js rename packages/rocketchat-reactions/{ => server}/setReaction.js (94%) create mode 100644 packages/rocketchat-retention-policy/server/index.js create mode 100644 packages/rocketchat-sandstorm/client/index.js create mode 100644 packages/rocketchat-sandstorm/server/index.js create mode 100644 packages/rocketchat-search/client/index.js create mode 100644 packages/rocketchat-setup-wizard/client/index.js create mode 100644 packages/rocketchat-setup-wizard/server/index.js create mode 100644 packages/rocketchat-slackbridge/client/index.js create mode 100644 packages/rocketchat-slackbridge/server/index.js create mode 100644 packages/rocketchat-slashcommand-asciiarts/client/index.js rename packages/rocketchat-slashcommand-asciiarts/{ => lib}/gimme.js (82%) rename packages/rocketchat-slashcommand-asciiarts/{ => lib}/lenny.js (82%) rename packages/rocketchat-slashcommand-asciiarts/{ => lib}/shrug.js (81%) rename packages/rocketchat-slashcommand-asciiarts/{ => lib}/tableflip.js (83%) rename packages/rocketchat-slashcommand-asciiarts/{ => lib}/unflip.js (82%) create mode 100644 packages/rocketchat-slashcommand-asciiarts/server/index.js create mode 100644 packages/rocketchat-slashcommands-archiveroom/client/index.js create mode 100644 packages/rocketchat-slashcommands-archiveroom/server/index.js create mode 100644 packages/rocketchat-slashcommands-create/client/index.js create mode 100644 packages/rocketchat-slashcommands-create/server/index.js create mode 100644 packages/rocketchat-slashcommands-help/server/index.js rename packages/rocketchat-slashcommands-help/{ => server}/server.js (82%) create mode 100644 packages/rocketchat-slashcommands-hide/client/index.js create mode 100644 packages/rocketchat-slashcommands-hide/server/index.js create mode 100644 packages/rocketchat-slashcommands-invite/client/index.js create mode 100644 packages/rocketchat-slashcommands-invite/server/index.js create mode 100644 packages/rocketchat-slashcommands-inviteall/client/index.js create mode 100644 packages/rocketchat-slashcommands-inviteall/server/index.js create mode 100644 packages/rocketchat-slashcommands-join/client/index.js create mode 100644 packages/rocketchat-slashcommands-join/server/index.js create mode 100644 packages/rocketchat-slashcommands-kick/client/index.js create mode 100644 packages/rocketchat-slashcommands-kick/server/index.js create mode 100644 packages/rocketchat-slashcommands-leave/server/index.js rename packages/rocketchat-slashcommands-leave/{ => server}/leave.js (79%) create mode 100644 packages/rocketchat-slashcommands-me/server/index.js rename packages/rocketchat-slashcommands-me/{ => server}/me.js (82%) create mode 100644 packages/rocketchat-slashcommands-msg/server/index.js rename packages/rocketchat-slashcommands-msg/{ => server}/server.js (86%) create mode 100644 packages/rocketchat-slashcommands-mute/server/index.js create mode 100644 packages/rocketchat-slashcommands-open/client/index.js create mode 100644 packages/rocketchat-slashcommands-topic/client/index.js rename packages/rocketchat-slashcommands-topic/{ => lib}/topic.js (65%) create mode 100644 packages/rocketchat-slashcommands-topic/server/index.js create mode 100644 packages/rocketchat-slashcommands-unarchiveroom/client/index.js create mode 100644 packages/rocketchat-slashcommands-unarchiveroom/server/index.js create mode 100644 packages/rocketchat-slider/client/index.js rename packages/rocketchat-slider/{ => client}/rocketchat-slider.html (100%) rename packages/rocketchat-slider/{ => client}/rocketchat-slider.js (87%) create mode 100644 packages/rocketchat-smarsh-connector/client/index.js create mode 100644 packages/rocketchat-smarsh-connector/server/index.js rename packages/rocketchat-sms/{ => server}/SMS.js (83%) create mode 100644 packages/rocketchat-sms/server/index.js rename packages/rocketchat-sms/{ => server}/services/twilio.js (97%) rename packages/rocketchat-sms/{ => server}/settings.js (88%) create mode 100644 packages/rocketchat-spotify/client/index.js create mode 100644 packages/rocketchat-spotify/server/index.js create mode 100644 packages/rocketchat-statistics/client/index.js create mode 100644 packages/rocketchat-statistics/server/index.js create mode 100644 packages/rocketchat-token-login/client/index.js create mode 100644 packages/rocketchat-token-login/server/index.js create mode 100644 packages/rocketchat-tokenpass/client/index.js rename packages/rocketchat-tokenpass/{ => lib}/common.js (81%) create mode 100644 packages/rocketchat-tokenpass/server/index.js create mode 100644 packages/rocketchat-tooltip/client/index.js delete mode 100644 packages/rocketchat-tutum/package.js delete mode 100644 packages/rocketchat-tutum/startup.js create mode 100644 packages/rocketchat-ui-account/client/index.js create mode 100644 packages/rocketchat-ui-admin/client/index.js create mode 100644 packages/rocketchat-ui-admin/server/index.js rename packages/rocketchat-ui-admin/{ => server}/publications/adminRooms.js (91%) create mode 100644 packages/rocketchat-ui-clean-history/client/index.js create mode 100644 packages/rocketchat-ui-flextab/client/index.js create mode 100644 packages/rocketchat-ui-login/client/index.js create mode 100644 packages/rocketchat-ui-message/client/index.js rename packages/rocketchat-ui-message/{ => client}/startup/messageBoxActions.js (74%) create mode 100644 packages/rocketchat-ui-vrecord/client/index.js create mode 100644 packages/rocketchat-ui-vrecord/server/index.js create mode 100644 packages/rocketchat-user-data-download/server/index.js create mode 100644 packages/rocketchat-utils/client/index.js create mode 100644 packages/rocketchat-utils/client/lib/browsers.js rename packages/{rocketchat-ui/client => rocketchat-utils}/lib/tapi18n.js (57%) create mode 100644 packages/rocketchat-utils/package.js create mode 100644 packages/rocketchat-utils/server/index.js create mode 100644 packages/rocketchat-videobridge/client/index.js create mode 100644 packages/rocketchat-videobridge/server/index.js create mode 100644 packages/rocketchat-webdav/client/index.js rename packages/rocketchat-webdav/{ => client}/startup/messageBoxActions.js (86%) rename packages/rocketchat-webdav/{ => client}/startup/subscription.js (76%) create mode 100644 packages/rocketchat-webdav/server/index.js rename packages/rocketchat-webdav/{ => server}/startup/settings.js (74%) create mode 100644 packages/rocketchat-wordpress/client/index.js rename packages/rocketchat-wordpress/{ => lib}/common.js (91%) create mode 100644 packages/rocketchat-wordpress/server/index.js rename packages/rocketchat-wordpress/{ => server}/startup.js (97%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/components/alerts.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/components/avatar.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/components/badge.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/components/chip.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/components/contextual-bar.css (93%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/components/emojiPicker.css (97%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/components/flex-nav.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/components/header.css (99%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/components/main-content.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/components/memberlist.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/components/message-box.css (97%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/components/messages.css (98%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/components/modal.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/components/modal/create-channel.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/components/modal/directory.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/components/modal/full-modal.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/components/popout.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/components/popover.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/components/setup-wizard.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/components/sidebar/rooms-list.css (99%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/components/sidebar/sidebar-flex.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/components/sidebar/sidebar-header.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/components/sidebar/sidebar-item.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/components/sidebar/sidebar.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/components/sidebar/toolbar.css (99%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/components/slider.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/components/table.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/components/tabs.css (76%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/components/tooltip.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/components/userInfo.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/forms/button.css (99%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/forms/checkbox.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/forms/input.css (94%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/forms/popup-list.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/forms/select-avatar.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/forms/select.css (79%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/forms/switch.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/forms/tags.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/general/animations.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/general/apps.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/general/base.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/general/base_old.css (97%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/general/forms.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/general/reset.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/general/rtl.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/general/typography.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/imports/general/variables.css (100%) create mode 100644 packages/rocketchat_theme/client/index.js rename packages/{rocketchat-theme => rocketchat_theme}/client/main.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/vendor/fontello/config.json (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/vendor/fontello/css/fontello.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/vendor/fontello/demo.html (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/vendor/fontello/font/fontello.eot (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/vendor/fontello/font/fontello.svg (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/vendor/fontello/font/fontello.ttf (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/vendor/fontello/font/fontello.woff (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/vendor/fontello/font/fontello.woff2 (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/vendor/fontello/utf8-rtl.html (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/vendor/jscolor.js (100%) rename packages/{rocketchat-theme => rocketchat_theme}/client/vendor/photoswipe.css (100%) rename packages/{rocketchat-theme => rocketchat_theme}/package.js (67%) rename packages/{rocketchat-theme => rocketchat_theme}/server/colors.less (100%) create mode 100644 packages/rocketchat_theme/server/index.js rename packages/{rocketchat-theme => rocketchat_theme}/server/server.js (95%) rename packages/{rocketchat-theme => rocketchat_theme}/server/variables.js (98%) create mode 100644 server/startup/migrations/v136.js create mode 100644 server/startup/migrations/v137.js create mode 100644 tests/.eslintrc create mode 100644 tests/data/chat.helper.js create mode 100644 tests/data/permissions.helper.js create mode 100644 tests/data/rooms.helper.js diff --git a/.circleci/config.yml b/.circleci/config.yml index e38364f9653e..9b106572acf0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,12 +1,81 @@ defaults: &defaults working_directory: ~/repo +attach_workspace: &attach_workspace + at: /tmp + +test-install-dependencies: &test-install-dependencies + name: Install dependencies + command: | + wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add - + sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 + echo "deb [ arch=amd64 ] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google.list + echo "deb [ arch=amd64 ] http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list + sudo apt-get update + sudo apt-get install -y mongodb-org-shell google-chrome-stable + +test-run: &test-run + name: Run Tests + command: | + if [[ $DISABLE_SMARTI ]]; then rm -rf ./tests/end-to-end/ui_smarti; fi; + npm test + +test-npm-install: &test-npm-install + name: NPM install + command: | + npm install + +test-store_artifacts: &test-store_artifacts + path: .screenshots/ + +test-configure-replicaset: &test-configure-replicaset + name: Configure Replica Set + command: | + mongo --eval 'rs.initiate({_id:"rs0", members: [{"_id":1, "host":"localhost:27017"}]})' + mongo --eval 'rs.status()' + +test-docker-image: &test-docker-image + circleci/node:8.11-browsers + +test: &test + <<: *defaults + environment: &test-environment + TEST_MODE: "true" + MONGO_URL: mongodb://localhost:27017/rocketchat + RETRY_TESTS: 5 + +test-with-oplog: &test-with-oplog + <<: *test + environment: + <<: *test-environment + MONGO_OPLOG_URL: mongodb://localhost:27017/local + + steps: + - attach_workspace: *attach_workspace + - checkout + - run: *test-install-dependencies + - run: *test-configure-replicaset + - run: *test-npm-install + - run: *test-run + - store_artifacts: *test-store_artifacts + +test-without-oplog: &test-without-oplog + <<: *test + steps: + - attach_workspace: *attach_workspace + - checkout + - run: *test-install-dependencies + - run: *test-npm-install + - run: *test-run + - store_artifacts: *test-store_artifacts + + version: 2 jobs: build: <<: *defaults docker: - - image: circleci/node:8.9 + - image: circleci/node:8.11 steps: - checkout @@ -132,100 +201,65 @@ jobs: - store_artifacts: path: /tmp/build - test-with-oplog: - <<: *defaults - docker: - - image: circleci/node:8.9-browsers - - image: mongo:3.4 - command: [mongod, --nojournal, --noprealloc, --smallfiles, --replSet=rs0] - - environment: - TEST_MODE: "true" - MONGO_URL: mongodb://localhost:27017/rocketchat - MONGO_OPLOG_URL: mongodb://localhost:27017/local - RETRY_TESTS: 5 - - steps: - - attach_workspace: - at: /tmp - - - checkout - - - run: - name: Install dependencies - command: | - wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add - - sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6 - echo "deb [ arch=amd64 ] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google.list - echo "deb [ arch=amd64 ] http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list - sudo apt-get update - sudo apt-get install -y mongodb-org-shell google-chrome-stable - - - run: - name: Configure Replica Set - command: | - mongo --eval 'rs.initiate({_id:"rs0", members: [{"_id":1, "host":"localhost:27017"}]})' - mongo --eval 'rs.status()' - - - run: - name: NPM install - command: | - npm install - - run: - name: Run Tests - command: | - if [[ $DISABLE_SMARTI ]]; then rm -rf ./tests/end-to-end/ui_smarti; fi; - npm test + test-with-oplog-mongo-3-2: + <<: *test-with-oplog + docker: + - image: *test-docker-image + - image: mongo:3.2 + command: [mongod, --noprealloc, --smallfiles, --replSet=rs0] - - store_artifacts: - path: .screenshots/ + test-with-oplog-mongo-3-4: + <<: *test-with-oplog + docker: + - image: *test-docker-image + - image: mongo:3.4 + command: [mongod, --noprealloc, --smallfiles, --replSet=rs0] - test-without-oplog: - <<: *defaults + test-with-oplog-mongo-3-6: + <<: *test-with-oplog docker: - - image: circleci/node:8.9-browsers - - image: circleci/mongo:3.4 + - image: *test-docker-image + - image: mongo:3.6 + command: [mongod, --noprealloc, --smallfiles, --replSet=rs0] - environment: - TEST_MODE: "true" - MONGO_URL: mongodb://localhost:27017/testwithoplog - RETRY_TESTS: 5 + test-with-oplog-mongo-4-0: + <<: *test-with-oplog + docker: + - image: *test-docker-image + - image: mongo:4.0 + command: [mongod, --noprealloc, --smallfiles, --replSet=rs0] - steps: - - attach_workspace: - at: /tmp - - checkout + test-without-oplog-mongo-3-2: + <<: *test-without-oplog + docker: + - image: *test-docker-image + - image: mongo:3.2 - - run: - name: Install dependencies - command: | - wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add - - sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6 - echo "deb [ arch=amd64 ] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google.list - echo "deb [ arch=amd64 ] http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list - sudo apt-get update - sudo apt-get install -y mongodb-org-shell google-chrome-stable + test-without-oplog-mongo-3-4: + <<: *test-without-oplog + docker: + - image: *test-docker-image + - image: mongo:3.4 - - run: - name: NPM install - command: | - npm install + test-without-oplog-mongo-3-6: + <<: *test-without-oplog + docker: + - image: *test-docker-image + - image: mongo:3.6 - - run: - name: Run Tests - command: | - if [[ $DISABLE_SMARTI ]]; then rm -rf ./tests/end-to-end/ui_smarti; fi; - npm test + test-without-oplog-mongo-4-0: + <<: *test-without-oplog + docker: + - image: *test-docker-image + - image: mongo:4.0 - - store_artifacts: - path: .screenshots/ deploy: <<: *defaults docker: - - image: circleci/node:8.9 + - image: circleci/node:8.11 steps: - attach_workspace: @@ -281,7 +315,7 @@ jobs: docker build -t assistify/chat:$CIRCLE_TAG . docker push assistify/chat:$CIRCLE_TAG - # # echo "Build preview Docker image" + # # echo "Build preview Docker image" # # cp ~/repo/.docker-mongo/Dockerfile . # # cp ~/repo/.docker-mongo/entrypoint.sh . # # docker build -t assistify/chat.preview:$CIRCLE_TAG . @@ -362,32 +396,45 @@ jobs: workflows: version: 2 - build: + build-and-test: jobs: - build: filters: tags: - only: /^v[0-9]+\.[0-9]+\.[0-9]-[0-9]+\.[0-9]+\.[0-9]+$/ - - test-with-oplog: + only: /^[0-9]+\.[0-9]+\.[0-9]+(-rc\.[0-9]+)?$/ + - test-with-oplog-mongo-3-2: &test-mongo requires: - build filters: tags: - only: /^v[0-9]+\.[0-9]+\.[0-9]-[0-9]+\.[0-9]+\.[0-9]+$/ - - test-without-oplog: + only: /^[0-9]+\.[0-9]+\.[0-9]+(-rc\.[0-9]+)?$/ + - test-with-oplog-mongo-3-4: &test-mongo-no-pr requires: - build filters: + branches: + only: develop tags: - only: /^v[0-9]+\.[0-9]+\.[0-9]-[0-9]+\.[0-9]+\.[0-9]+$/ + only: /^[0-9]+\.[0-9]+\.[0-9]+(-rc\.[0-9]+)?$/ + - test-with-oplog-mongo-3-6: *test-mongo-no-pr + - test-with-oplog-mongo-4-0: *test-mongo + - test-without-oplog-mongo-3-2: *test-mongo-no-pr + - test-without-oplog-mongo-3-4: *test-mongo-no-pr + - test-without-oplog-mongo-3-6: *test-mongo-no-pr + - test-without-oplog-mongo-4-0: *test-mongo-no-pr - deploy: requires: - - image-build + - test-with-oplog-mongo-3-2 + - test-with-oplog-mongo-3-4 + - test-with-oplog-mongo-3-6 + - test-with-oplog-mongo-4-0 + - test-without-oplog-mongo-3-2 + - test-without-oplog-mongo-3-4 + - test-without-oplog-mongo-3-6 + - test-without-oplog-mongo-4-0 filters: branches: - only: - - develop - - master + only: develop tags: only: /^v[0-9]+\.[0-9]+\.[0-9]-[0-9]+\.[0-9]+\.[0-9]+$/ - image-build: diff --git a/.circleci/setartname.sh b/.circleci/setartname.sh index e61fd52f1a41..acfdb3e032e6 100644 --- a/.circleci/setartname.sh +++ b/.circleci/setartname.sh @@ -15,7 +15,7 @@ elif [[ $CIRCLE_TAG =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then else SNAP_CHANNEL=edge RC_RELEASE=develop - RC_VERSION=0.66.0-develop + RC_VERSION="$(npm run version --silent)" fi export SNAP_CHANNEL diff --git a/.circleci/snap.sh b/.circleci/snap.sh index 38850daa1938..190358750bae 100644 --- a/.circleci/snap.sh +++ b/.circleci/snap.sh @@ -16,12 +16,12 @@ echo -e "Tag: $CIRCLE_TAG\r\nBranch: $CIRCLE_BRANCH\r\nBuild: $CIRCLE_BUILD_NUM\ git clone -b $SNAP_CHANNEL git+ssh://rocket.chat.buildmaster@git.launchpad.net/rocket.chat launchpad # Rarely will change, but just incase we copy it all -cp -r resources buildinfo launchpad/ -sed s/#{RC_VERSION}/$RC_VERSION/ snapcraft.yaml > launchpad/snapcraft.yaml +cp -r resources buildinfo snap launchpad/ +sed s/#{RC_VERSION}/$RC_VERSION/ snap/snapcraft.yaml > launchpad/snap/snapcraft.yaml sed s/#{RC_VERSION}/$RC_VERSION/ resources/prepareRocketChat > launchpad/resources/prepareRocketChat cd launchpad -git add resources snapcraft.yaml buildinfo +git add resources snap buildinfo # Set commit author details git config user.email "buildmaster@rocket.chat" diff --git a/.circleci/update-releases.sh b/.circleci/update-releases.sh index 4e133c304fed..3d831115b441 100644 --- a/.circleci/update-releases.sh +++ b/.circleci/update-releases.sh @@ -5,3 +5,6 @@ IFS=$'\n\t' curl -X POST \ -H "X-Update-Token: ${UPDATE_TOKEN}" \ https://releases.rocket.chat/update + +# Makes build fail if the release isn't there +curl --fail https://releases.rocket.chat/$RC_VERSION/info diff --git a/.docker/Dockerfile.rhel b/.docker/Dockerfile.rhel index 3b8967f78965..33c8647d81c9 100644 --- a/.docker/Dockerfile.rhel +++ b/.docker/Dockerfile.rhel @@ -1,6 +1,6 @@ FROM registry.access.redhat.com/rhscl/nodejs-8-rhel7 -ENV RC_VERSION 0.71.1 +ENV RC_VERSION 0.73.2 MAINTAINER buildmaster@rocket.chat diff --git a/.eslintignore b/.eslintignore index f8e66c28c01d..a557dee6c2f5 100644 --- a/.eslintignore +++ b/.eslintignore @@ -9,12 +9,12 @@ packages/rocketchat-livechat/.app/node_modules packages/rocketchat-livechat/.app/.meteor packages/rocketchat-livechat/assets/rocketchat-livechat.min.js packages/rocketchat-livechat/assets/rocket-livechat.js -packages/rocketchat-theme/client/minicolors/jquery.minicolors.js +packages/rocketchat_theme/client/minicolors/jquery.minicolors.js +packages/rocketchat_theme/client/vendor/ packages/rocketchat-ui/client/lib/customEventPolyfill.js packages/rocketchat-ui/client/lib/Modernizr.js packages/rocketchat-ui/client/lib/recorderjs/recorder.js packages/rocketchat-videobridge/client/public/external_api.js -packages/rocketchat-theme/client/vendor/ packages/tap-i18n/lib/tap_i18next/tap_i18next-1.7.3.js private/moment-locales/ public/livechat/ diff --git a/.eslintrc b/.eslintrc index 75450d624d50..5b79d7417304 100644 --- a/.eslintrc +++ b/.eslintrc @@ -2,73 +2,61 @@ "extends": ["@rocket.chat/eslint-config"], "parser": "babel-eslint", "globals": { + "__meteor_bootstrap__" : false, "__meteor_runtime_config__" : false, "AccountBox" : false, - "Accounts" : false, - "AgentUsers" : false, + "alerts" : false, "Apps" : false, "Assets" : false, - "Blaze" : false, - "BlazeLayout" : false, - "browser" : false, + "AudioRecorder" : false, + "CachedChatSubscription" : false, "ChatMessage" : false, "ChatMessages" : false, + "chatMessages" : false, "ChatRoom" : false, "ChatSubscription" : false, - "check" : false, - "CryptoJS" : false, - "Department" : false, - "DDPRateLimiter" : false, - "EJSON" : false, - "Email" : false, - "FlowRouter" : false, + "chrome" : false, + "cordova" : false, + "device" : false, + "DynamicCss" : false, + "facebookConnectPlugin" : false, "FileUpload" : false, - "HTTP" : false, - "getNextAgent" : false, + "fileUpload" : false, + "fileUploadHandler" : false, + "fireGlobalEvent" : false, "handleError" : false, "getAvatarUrlFromUsername" : false, - "LivechatCustomField" : false, - "LivechatDepartment" : false, - "LivechatDepartmentAgents" : false, - "livechatManagerRoutes" : true, - "LivechatMonitoring" : false, - "LivechatPageVisited" : false, - "LivechatTrigger" : false, - "Logger" : false, - "Match" : false, - "Meteor" : false, + "getAvatarSuggestionForUser" : false, + "globals" : true, + "JitsiMeetExternalAPI" : false, + "jscolor" : false, + "KonchatNotification" : false, + "language_names" : true, + "msgStream" : false, + "MsgTyping" : false, "modal" : false, - "moment" : false, - "Mongo" : false, + "Modernizr" : false, + "menu" : false, "Npm" : false, + "openRoom" : false, + "OnePassword" : false, "Package" : false, - "parentCall" : false, - "Promise" : false, - "Random" : false, - "ReactiveDict" : false, - "ReactiveVar" : false, - "Reload" : false, + "popout" : false, + "popover" : false, + "readMessage" : false, "RocketChat" : true, - "RocketChatFile" : false, + "roomExit" : true, "RoomHistoryManager" : false, "RoomManager" : false, - "ServiceConfiguration" : false, - "Session" : false, + "RoomRoles" : false, + "Servers" : false, "Settings" : false, - "SHA256" : false, "SideNav" : false, - "t" : false, - "TAPi18n" : false, "TAPi18next" : false, - "Template" : false, - "TimeSync" : false, - "toastr" : false, - "Tracker" : false, - "Trigger" : false, - "Triggers" : false, - "UAParser" : false, - "visitor" : false, - "WebApp" : false, + "toolbarSearch" : false, + "TwitterConnect" : false, + "updateAvatarOfUsername" : false, + "UserRoles" : false, "VideoRecorder" : false, "VRecDialog" : false } diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index 066b2d920a28..000000000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project - ---- - -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -**Describe the solution you'd like** -A clear and concise description of what you want to happen. - -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. - -**Additional context** -Add any other context or screenshots about the feature request here. diff --git a/.github/changelog.js b/.github/changelog.js deleted file mode 100644 index 438d194d23ab..000000000000 --- a/.github/changelog.js +++ /dev/null @@ -1,116 +0,0 @@ -/* eslint no-var: 0, object-shorthand: 0, prefer-template: 0 */ - -'use strict'; -var readFile = require('fs').readFileSync; -var resolve = require('path').resolve; -var gitUrl = 'https://github.com/RocketChat/Rocket.Chat'; - -var parserOpts = { - headerPattern: /^(\[([A-z]+)\] )?(.*)$/m, - headerCorrespondence: [ - 'stype', - 'type', - 'subject' - ], - mergePattern: /^Merge pull request #(.*) from .*$/, - mergeCorrespondence: ['pr'] - // noteKeywords: ['BREAKING CHANGE', 'BREAKING CHANGES'], - // revertPattern: /^revert:\s([\s\S]*?)\s*This reverts commit (\w*)\./, - // revertCorrespondence: ['header', 'hash'], - // mergePattern: /^Merge pull request #(\d+) from (.*)$/, - // mergeCorrespondence: ['id', 'source'] -}; - -var LABELS = { - BREAK: { - title: 'BREAKING CHANGES', - collapse: false - }, - NEW: { - title: 'New Features', - collapse: false - }, - FIX: { - title: 'Bug Fixes', - collapse: false - }, - DOC: { - title: 'Documentation', - collapse: true - }, - OTHER: { - title: 'Others', - collapse: true - } -}; - -var sort = Object.keys(LABELS); - -var writerOpts = { - transform: function(commit) { - if (!commit.pr) { - return; - } - - // console.log(commit); - commit.type = (commit.type || 'OTHER').toUpperCase(); - if (LABELS[commit.type] == null) { - return; - } - - commit.pr_url = gitUrl + '/pull/' + commit.pr; - - var issues = []; - - if (typeof commit.hash === 'string') { - commit.hash = commit.hash.substring(0, 7); - } - - if (typeof commit.subject === 'string') { - // GitHub issue URLs. - commit.subject = commit.subject.replace(/#([0-9]+)/g, function(_, issue) { - issues.push(issue); - return '[#' + issue + '](' + gitUrl + '/issues/' + issue + ')'; - }); - // GitHub user URLs. - commit.subject = commit.subject.replace(/@([a-zA-Z0-9_]+)/g, '[@$1](https://github.com/$1)'); - } - - // remove references that already appear in the subject - commit.references = commit.references.filter(function(reference) { - if (issues.indexOf(reference.issue) === -1) { - return true; - } - - return false; - }); - - return commit; - }, - groupBy: 'type', - commitGroupsSort: function(a, b) { - return sort.indexOf(a.title) > sort.indexOf(b.title); - }, - finalizeContext: function(context) { - context.commitGroups.forEach(function(group) { - Object.assign(group, LABELS[group.title.toUpperCase()]); - }); - - // console.log(context); - return context; - }, - commitsSort: ['subject'] -}; - -writerOpts.mainTemplate = readFile(resolve(__dirname, 'templates/template.hbs'), 'utf-8'); -writerOpts.headerPartial = readFile(resolve(__dirname, 'templates/header.hbs'), 'utf-8'); -writerOpts.commitPartial = readFile(resolve(__dirname, 'templates/commit.hbs'), 'utf-8'); -writerOpts.footerPartial = readFile(resolve(__dirname, 'templates/footer.hbs'), 'utf-8'); - -module.exports = { - gitRawCommitsOpts: { - merges: null - }, - parserOpts: parserOpts, - writerOpts: writerOpts -}; diff --git a/.github/history-manual.json b/.github/history-manual.json index 394af77f43a0..d3783a7b48e2 100644 --- a/.github/history-manual.json +++ b/.github/history-manual.json @@ -11,5 +11,10 @@ "title": "[FIX] Removed Deprecated Package rocketchat:sharedsecret`", "userLogin": "rodrigok", "contributors": [] + }], + "0.72.0-rc.0": [{ + "title": "[BREAK] Support for Cordova (Rocket.Chat Legacy app) has reached End-of-life, support has been discontinued", + "userLogin": "sampaiodiego", + "contributors": [] }] } diff --git a/.github/history.json b/.github/history.json index 6e93977d8328..e230a06e7817 100644 --- a/.github/history.json +++ b/.github/history.json @@ -20370,6 +20370,14 @@ "node_version": "8.11.3", "npm_version": "5.6.0", "pull_requests": [ + { + "pr": "12499", + "title": "Release 0.71.1", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, { "pr": "12487", "title": "[FIX] Email sending with GDPR user data", @@ -20379,6 +20387,4150 @@ ] } ] + }, + "0.72.0-rc.0": { + "pull_requests": [ + { + "pr": "12684", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "milestone": "0.72.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "12309", + "title": "[NEW] Add permission to enable personal access token to specific roles", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12563", + "title": "[IMPROVE] Improve unreads and unreadsFrom response, prevent it to be equal null", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12483", + "title": "[NEW] Option to reset e2e key", + "userLogin": "Hudell", + "milestone": "0.72.0", + "contributors": [ + "Hudell", + "web-flow", + "engelgabriel" + ] + }, + { + "pr": "12633", + "title": "[FIX] Fixed Anonymous Registration", + "userLogin": "wreiske", + "milestone": "0.72.0", + "contributors": [ + "wreiske", + "web-flow", + "engelgabriel", + "rodrigok" + ] + }, + { + "pr": "12105", + "title": "[IMPROVE] Add rooms property in user object, if the user has the permission, with rooms roles", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12682", + "title": "Convert rocketchat-mail-messages to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12679", + "title": " Convert rocketchat-livestream to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12675", + "title": "[IMPROVE] border-radius to use --border-radius", + "userLogin": "engelgabriel", + "milestone": "0.72.0", + "contributors": [ + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "12677", + "title": "[FIX] high cpu usage ~ svg icon", + "userLogin": "ph1p", + "contributors": [ + null, + "ph1p" + ] + }, + { + "pr": "12374", + "title": "Added \"npm install\" to quick start for developers", + "userLogin": "wreiske", + "milestone": "0.72.0", + "contributors": [ + "wreiske", + "web-flow" + ] + }, + { + "pr": "12651", + "title": "[NEW] /api/v1/spotlight: return joinCodeRequired field for rooms", + "userLogin": "cardoso", + "milestone": "0.72.0", + "contributors": [ + "cardoso", + "web-flow" + ] + }, + { + "pr": "12678", + "title": "Convert rocketchat-ldap to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12674", + "title": "Convert rocketchat-issuelinks to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12670", + "title": "Convert rocketchat-integrations to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12672", + "title": "Convert rocketchat-irc to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12671", + "title": "Convert rocketchat-internal-hubot to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12665", + "title": "Convert rocketchat-importer-hipchat-enterprise to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12669", + "title": "Convert rocketchat-importer-slack-users to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12666", + "title": " Convert rocketchat-importer-slack to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12661", + "title": "Convert rocketchat-iframe-login to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12662", + "title": "Convert rocketchat-importer to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12663", + "title": "Convert rocketchat-importer-csv to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12664", + "title": "Convert rocketchat-importer-hipchat to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12659", + "title": "Convert rocketchat-highlight-words to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12657", + "title": "Convert rocketchat-grant to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12658", + "title": "Convert rocketchat-graphql to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12564", + "title": "[IMPROVE] Update the 'keyboard shortcuts' documentation", + "userLogin": "nicolasbock", + "milestone": "0.72.0", + "contributors": [ + "nicolasbock", + "tassoevan", + "web-flow" + ] + }, + { + "pr": "12643", + "title": "[FIX] Fix favico error", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12649", + "title": "Convert rocketchat-google-vision to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12650", + "title": "Removed RocketChatFile from globals", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12623", + "title": "[NEW] New API Endpoints for the new version of JS SDK", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto", + "engelgabriel", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "12647", + "title": "Added imports for global variables in rocketchat-google-natural-language package", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12646", + "title": "Convert rocketchat-gitlab to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12644", + "title": "Convert rocketchat-file to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12642", + "title": "Convert rocketchat-github-enterprise to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12645", + "title": "Fix: Add email dependency in package.js", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12561", + "title": "[IMPROVE] Add new acceptable header for Livechat REST requests", + "userLogin": "renatobecker", + "milestone": "0.72.0", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "12599", + "title": "Convert rocketchat-custom-sounds to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12641", + "title": "Fix crowd error with import of SyncedCron", + "userLogin": "rodrigok", + "milestone": "0.72.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "12605", + "title": "Convert emoji-emojione to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12607", + "title": "Convert rocketchat-favico to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12604", + "title": " Convert rocketchat-emoji-custom to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12632", + "title": "[FIX] Condition to not render PDF preview", + "userLogin": "tassoevan", + "milestone": "0.72.0", + "contributors": [ + "tassoevan", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "12606", + "title": "Convert rocketchat-error-handler to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12601", + "title": "Convert rocketchat-drupal to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12596", + "title": "Convert rocketchat-crowd to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12603", + "title": "Convert rocketchat-emoji to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12625", + "title": "Fix users.setAvatar endpoint tests and logic", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12616", + "title": "[IMPROVE] Atlassian Crowd settings and option to sync user data", + "userLogin": "rodrigok", + "milestone": "0.72.0", + "contributors": [ + null, + "rodrigok", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "12583", + "title": "[DOCS] Remove Cordova links, include F-Droid download button and few other adjustments", + "userLogin": "rafaelks", + "contributors": [ + "rafaelks", + "web-flow" + ] + }, + { + "pr": "12600", + "title": "Convert rocketchat-dolphin to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12594", + "title": " Convert rocketchat-channel-settings to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12595", + "title": "Convert rocketchat-cors to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12618", + "title": "[IMPROVE] CircleCI to use MongoDB 4.0 for testing", + "userLogin": "engelgabriel", + "milestone": "0.72.0", + "contributors": [ + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "12614", + "title": "[FIX] Admin styles", + "userLogin": "engelgabriel", + "milestone": "0.72.0", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "12602", + "title": "[FIX] Admin styles", + "userLogin": "engelgabriel", + "milestone": "0.72.0", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "9336", + "title": "[FIX] Change registration message when user need to confirm email", + "userLogin": "karlprieb", + "milestone": "0.72.0", + "contributors": [ + "karlprieb", + "tassoevan", + "ggazzo", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "12570", + "title": "[FIX] Import missed file in rocketchat-authorization", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12558", + "title": "[FIX] Prevent subscriptions and calls to rooms events that the user is not participating", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12382", + "title": "[IMPROVE] Japanese translations", + "userLogin": "ura14h", + "contributors": [ + "ura14h", + "web-flow" + ] + }, + { + "pr": "12525", + "title": "[IMPROVE] Add CTRL modifier for keyboard shortcut", + "userLogin": "nicolasbock", + "milestone": "0.72.0", + "contributors": [ + "nicolasbock" + ] + }, + { + "pr": "12530", + "title": "Convert rocketchat-autotranslate to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12537", + "title": "Convert rocketchat-channel-settings-mail-messages to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12538", + "title": "Convert rocketchat-colors to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12532", + "title": "Convert rocketchat-cas to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12531", + "title": "Convert rocketchat-bot-helpers to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12529", + "title": "Convert rocketchat-autolinker to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12523", + "title": "Convert rocketchat-authorization to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12547", + "title": "[NEW] Setting to configure robots.txt content", + "userLogin": "Hudell", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "12539", + "title": "[FIX] Wrong test case for `users.setAvatar` endpoint", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto", + "sampaiodiego" + ] + }, + { + "pr": "12536", + "title": "[FIX] Spotlight method being called multiple times", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "12524", + "title": "Fix CSS import order", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "12518", + "title": "[FIX] German translation for for API_EmbedIgnoredHosts label", + "userLogin": "mbrodala", + "milestone": "0.72.0", + "contributors": [ + "mbrodala" + ] + }, + { + "pr": "12426", + "title": "Remove template for feature requests as issues", + "userLogin": "tassoevan", + "contributors": [ + "tassoevan", + "web-flow" + ] + }, + { + "pr": "12451", + "title": "Fix punctuation, spelling, and grammar", + "userLogin": "imronras", + "milestone": "0.72.0", + "contributors": [ + "imronras", + "web-flow" + ] + }, + { + "pr": "12522", + "title": "[IMPROVE] Ignore non-existent Livechat custom fields on Livechat API", + "userLogin": "renatobecker", + "milestone": "0.72.0", + "contributors": [ + "renatobecker", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12507", + "title": "[FIX] Handle all events for enter key in message box", + "userLogin": "tassoevan", + "milestone": "0.72.0", + "contributors": [ + "tassoevan", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12378", + "title": "[NEW] Make Livechat's widget draggable", + "userLogin": "tassoevan", + "milestone": "0.72.0", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "12408", + "title": "[FIX] Fix wrong parameter in chat.delete endpoint and add some test cases", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12452", + "title": "[IMPROVE] Emoji search on messageBox behaving like emojiPicker's search (#9607)", + "userLogin": "vinade", + "milestone": "0.72.0", + "contributors": [ + "vinade" + ] + }, + { + "pr": "12521", + "title": "Convert rocketchat-assets to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12510", + "title": "Convert rocketchat-api to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "rodrigok", + "MarcosSpessatto" + ] + }, + { + "pr": "12506", + "title": "Convert rocketchat-analytics to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "rodrigok", + "MarcosSpessatto" + ] + }, + { + "pr": "12503", + "title": "Convert rocketchat-action-links to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "rodrigok", + "MarcosSpessatto" + ] + }, + { + "pr": "12501", + "title": "Convert rocketchat-2fa to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "rodrigok", + "MarcosSpessatto" + ] + }, + { + "pr": "12495", + "title": "Convert meteor-timesync to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "rodrigok", + "MarcosSpessatto" + ] + }, + { + "pr": "12491", + "title": "Convert meteor-autocomplete package to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "rodrigok", + "MarcosSpessatto" + ] + }, + { + "pr": "12486", + "title": "Convert meteor-accounts-saml to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "rodrigok", + "MarcosSpessatto" + ] + }, + { + "pr": "12485", + "title": "Convert chatpal search package to modular structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "rodrigok", + "MarcosSpessatto" + ] + }, + { + "pr": "12467", + "title": "Removal of TAPi18n and TAPi18next global variables", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "rodrigok", + "MarcosSpessatto" + ] + }, + { + "pr": "12433", + "title": "Removal of Template, Blaze, BlazeLayout, FlowRouter, DDPRateLimiter, Session, UAParser, Promise, Reload and CryptoJS global variables", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "rodrigok", + "MarcosSpessatto", + "web-flow" + ] + }, + { + "pr": "12410", + "title": "Removal of Match, check, moment, Tracker and Mongo global variables", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "rodrigok", + "MarcosSpessatto", + "web-flow" + ] + }, + { + "pr": "12377", + "title": "Removal of EJSON, Accounts, Email, HTTP, Random, ReactiveDict, ReactiveVar, SHA256 and WebApp global variables", + "userLogin": "rodrigok", + "milestone": "0.72.0", + "contributors": [ + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12371", + "title": "Removal of Meteor global variable", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12468", + "title": "[BREAK] Update to Meteor to 1.8", + "userLogin": "ggazzo", + "contributors": [ + "ggazzo", + "web-flow", + "sampaiodiego" + ] + }, + { + "pr": "12509", + "title": "Fix ES translation", + "userLogin": "tassoevan", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "12487", + "title": "[FIX] Email sending with GDPR user data", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "12471", + "title": "[IMPROVE] German translations", + "userLogin": "mrsimpson", + "contributors": [ + "mrsimpson", + "web-flow" + ] + }, + { + "pr": "12470", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "contributors": [ + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "12397", + "title": "[FIX] Manage own integrations permissions check", + "userLogin": "ggazzo", + "milestone": "0.72.0", + "contributors": [ + "ggazzo", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "12411", + "title": "[FIX] stream room-changed", + "userLogin": "ggazzo", + "milestone": "0.72.0", + "contributors": [ + "ggazzo", + "sampaiodiego" + ] + }, + { + "pr": "12457", + "title": "[FIX] Emoji picker is not in viewport on small screens", + "userLogin": "ramrami", + "milestone": "0.72.0", + "contributors": [ + "ramrami" + ] + }, + { + "pr": "12400", + "title": "[IMPROVE] Limit the number of typing users shown (#8722)", + "userLogin": "vinade", + "contributors": [ + "vinade", + "tassoevan", + "web-flow" + ] + }, + { + "pr": "12406", + "title": "[FIX] `Disabled` word translation to Spanish", + "userLogin": "Ismaw34", + "contributors": [ + "Ismaw34", + "web-flow" + ] + }, + { + "pr": "12260", + "title": "[FIX] `Disabled` word translation to Chinese", + "userLogin": "AndreamApp", + "milestone": "0.72.0", + "contributors": [ + "AndreamApp", + "web-flow" + ] + }, + { + "pr": "12465", + "title": "Update npm dependencies", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "12440", + "title": "Fix: Developers not being able to debug root files in VSCode", + "userLogin": "mrsimpson", + "contributors": [ + "mrsimpson" + ] + }, + { + "pr": "12453", + "title": "[FIX] Correct roomName value in Mail Messages (#12363)", + "userLogin": "vinade", + "milestone": "0.72.0", + "contributors": [ + "vinade" + ] + }, + { + "pr": "12460", + "title": "Merge master into develop & Set version to 0.72.0-develop", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego", + "web-flow", + "Hudell" + ] + }, + { + "pr": "12499", + "title": "Release 0.71.1", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "12487", + "title": "[FIX] Email sending with GDPR user data", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + } + ] + }, + "0.72.0-rc.1": { + "pull_requests": [ + { + "pr": "12712", + "title": "Fix some Ukrainian translations", + "userLogin": "zdumitru", + "milestone": "0.72.0", + "contributors": [ + "zdumitru", + "web-flow" + ] + }, + { + "pr": "12713", + "title": "[FIX] Update caret position on insert a new line in message box", + "userLogin": "tassoevan", + "milestone": "0.72.0", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "12714", + "title": "[IMPROVE] Allow apps to update persistence by association", + "userLogin": "marceloschmidt", + "contributors": [ + "marceloschmidt", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12708", + "title": "Improve: Add missing translation keys.", + "userLogin": "ura14h", + "milestone": "0.72.0", + "contributors": [ + "ura14h", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12705", + "title": "Bump Apps Engine to 1.3.0", + "userLogin": "rodrigok", + "milestone": "0.72.0", + "contributors": [ + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12699", + "title": "Fix: Exception when registering a user with gravatar", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto", + "engelgabriel", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "12637", + "title": "[FIX] DE translation for idle-time-limit", + "userLogin": "pfuender", + "milestone": "0.72.0", + "contributors": [ + null, + "engelgabriel", + "web-flow", + "pfuender" + ] + }, + { + "pr": "12707", + "title": "Fix: Fix tests by increasing window size", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12680", + "title": "[IMPROVE] Add more methods to deal with rooms via Rocket.Chat.Apps", + "userLogin": "marceloschmidt", + "milestone": "0.72.0", + "contributors": [ + "marceloschmidt" + ] + }, + { + "pr": "12692", + "title": "[IMPROVE] Better query for finding subscriptions that need a new E2E Key", + "userLogin": "Hudell", + "milestone": "0.72.0", + "contributors": [ + "Hudell" + ] + } + ] + }, + "0.72.0-rc.2": { + "pull_requests": [ + { + "pr": "12741", + "title": "Update Apps Engine to 1.3.1", + "userLogin": "rodrigok", + "milestone": "0.72.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "12736", + "title": "Regression: Expand Administration sections by toggling section title", + "userLogin": "tassoevan", + "milestone": "0.72.0", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "12737", + "title": "Regression: Fix Safari detection in PDF previewing", + "userLogin": "tassoevan", + "milestone": "0.72.0", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "12735", + "title": "Regression: Account pages layout", + "userLogin": "tassoevan", + "milestone": "0.72.0", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "12729", + "title": "Regression: Inherit font-family for message box", + "userLogin": "tassoevan", + "milestone": "0.72.0", + "contributors": [ + "tassoevan" + ] + } + ] + }, + "0.72.0": { + "pull_requests": [ + { + "pr": "12499", + "title": "Release 0.71.1", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "12487", + "title": "[FIX] Email sending with GDPR user data", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + } + ] + }, + "0.70.5": { + "node_version": "8.11.3", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "12898", + "title": "[FIX] Reset password email", + "userLogin": "sampaiodiego", + "milestone": "0.72.2", + "contributors": [ + "sampaiodiego" + ] + } + ] + }, + "0.71.2": { + "node_version": "8.11.3", + "npm_version": "5.6.0", + "pull_requests": [ + { + "pr": "12898", + "title": "[FIX] Reset password email", + "userLogin": "sampaiodiego", + "milestone": "0.72.2", + "contributors": [ + "sampaiodiego" + ] + } + ] + }, + "0.73.0-rc.0": { + "node_version": "8.11.4", + "npm_version": "6.4.1", + "pull_requests": [ + { + "pr": "12985", + "title": "[IMPROVE] Hipchat Enterprise Importer", + "userLogin": "Hudell", + "milestone": "0.73.0", + "contributors": [ + "Hudell", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "13014", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "milestone": "0.73.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "12123", + "title": "[FIX] Avoiding links with highlighted words", + "userLogin": "rssilva", + "milestone": "0.73.0", + "contributors": [ + "rssilva", + "tassoevan", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12748", + "title": "[NEW] Create new permission.listAll endpoint to be able to use updatedSince parameter", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "9748", + "title": "[NEW] Mandatory 2fa for role", + "userLogin": "Hudell", + "milestone": "0.73.0", + "contributors": [ + "Hudell", + "karlprieb", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "12739", + "title": "[FIX] Pin and unpin message were not checking permissions", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12734", + "title": "[FIX] Fix users.setPreferences endpoint, set language correctly", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12754", + "title": "[NEW] Add query parameter support to emoji-custom endpoint", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12790", + "title": "[FIX] Fix set avatar http call, to avoid SSL errors", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12856", + "title": "[NEW] Added a link to contributing.md", + "userLogin": "sanketsingh24", + "milestone": "0.73.0", + "contributors": [ + "sanketsingh24", + "web-flow" + ] + }, + { + "pr": "13010", + "title": "[NEW] Added chat.getDeletedMessages since specific date", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12569", + "title": "[FIX] Webdav integration account settings were being shown even when Webdav was disabled", + "userLogin": "karakayasemi", + "milestone": "0.73.0", + "contributors": [ + "karakayasemi" + ] + }, + { + "pr": "12722", + "title": "[IMPROVE] Add missing translation keys.", + "userLogin": "ura14h", + "milestone": "0.73.0", + "contributors": [ + "ura14h", + "web-flow" + ] + }, + { + "pr": "12792", + "title": "[FIX] Provide better Dutch translations 🇳🇱", + "userLogin": "mathysie", + "milestone": "0.73.0", + "contributors": [ + "mathysie", + "tassoevan", + "web-flow" + ] + }, + { + "pr": "12795", + "title": "[FIX] E2E`s password reaveal text is always `>%S` when language is zh", + "userLogin": "lvyue", + "milestone": "0.73.0", + "contributors": [ + "lvyue", + "web-flow" + ] + }, + { + "pr": "12874", + "title": "[NEW] Download button for each file in fileslist", + "userLogin": "alexbartsch", + "milestone": "0.73.0", + "contributors": [ + "alexbartsch", + "web-flow", + "tassoevan" + ] + }, + { + "pr": "13011", + "title": "Move isFirefox and isChrome functions to rocketchat-utils", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12998", + "title": "[FIX] Nested Markdown blocks not parsed properly", + "userLogin": "Hudell", + "milestone": "0.73.0", + "contributors": [ + "Hudell", + "rodrigok" + ] + }, + { + "pr": "13009", + "title": "[IMPROVE] Accept Slash Commands via Action Buttons when `msg_in_chat_window: true`", + "userLogin": "rodrigok", + "milestone": "0.73.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "13008", + "title": "[IMPROVE] Allow transfer Livechats to online agents only", + "userLogin": "renatobecker", + "milestone": "0.73.0", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "12706", + "title": "[FIX] Change JSON to EJSON.parse query to support type Date", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "13005", + "title": "Move tapi18n t and isRtl functions from ui to utils", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "13004", + "title": "[FIX] Inherit font family in message user card", + "userLogin": "tassoevan", + "milestone": "0.73.0", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "12999", + "title": "Remove /* globals */ wave 4", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12997", + "title": "Remove /* globals */ wave 3", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12995", + "title": "Convert rocketchat-logger to main module structure and remove Logger from eslintrc", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12948", + "title": "[FIX] Some deprecation issues for media recording", + "userLogin": "tassoevan", + "milestone": "0.72.4", + "contributors": [ + "tassoevan", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12983", + "title": "[FIX] Stop click event propagation on mention link or user card", + "userLogin": "tassoevan", + "milestone": "0.73.0", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "12973", + "title": "[FIX] Change field checks in RocketChat.saveStreamingOptions", + "userLogin": "tassoevan", + "milestone": "0.73.0", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "12980", + "title": "[FIX] Remove sharp's deprecation warnings on image upload", + "userLogin": "tassoevan", + "milestone": "0.73.0", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "12975", + "title": "[FIX] Use web.browser.legacy bundle for Livechat script", + "userLogin": "tassoevan", + "milestone": "0.72.4", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "12954", + "title": "[FIX] Revert Jitsi external API to an asset", + "userLogin": "sampaiodiego", + "milestone": "0.72.4", + "contributors": [ + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "12970", + "title": "[FIX] Exception in getSingleMessage", + "userLogin": "tsukiRep", + "milestone": "0.72.4", + "contributors": [ + "tsukiRep", + "web-flow" + ] + }, + { + "pr": "12988", + "title": "Remove /* globals */ wave 2", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12984", + "title": "Remove /* globals */ from files wave-1", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12940", + "title": "[FIX] multiple rooms-changed", + "userLogin": "ggazzo", + "milestone": "0.72.4", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "12994", + "title": "[FIX] Readable validation on the apps engine environment bridge", + "userLogin": "d-gubert", + "milestone": "0.73.0", + "contributors": [ + "d-gubert", + "web-flow" + ] + }, + { + "pr": "12989", + "title": "[IMPROVE] Adding debugging instructions in README", + "userLogin": "hypery2k", + "contributors": [ + "hypery2k", + "web-flow" + ] + }, + { + "pr": "12972", + "title": "[FIX] Check for object falsehood before referencing properties in saveRoomSettings", + "userLogin": "tassoevan", + "milestone": "0.72.4", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "12959", + "title": "Move globals of test to a specific eslintrc file", + "userLogin": "rodrigok", + "milestone": "0.73.0", + "contributors": [ + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12960", + "title": "Remove global ServiceConfiguration", + "userLogin": "rodrigok", + "milestone": "0.73.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "12961", + "title": "Remove global toastr", + "userLogin": "rodrigok", + "milestone": "0.73.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "12942", + "title": "Convert rocketchat-livechat to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12957", + "title": "[FIX] Spotlight being called while in background", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "12949", + "title": "changed maxRoomsOpen", + "userLogin": "ggazzo", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "12934", + "title": "Revert imports of css, reAdd them to the addFiles function", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12896", + "title": "Convert rocketchat-theme to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12895", + "title": "Convert rocketchat-katex to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12886", + "title": "Convert rocketchat-webdav to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12871", + "title": "Convert rocketchat-ui-message to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12881", + "title": "Convert rocketchat-videobridge to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12556", + "title": "[FIX] Padding for message box in embedded layout", + "userLogin": "tassoevan", + "milestone": "0.72.3", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "12930", + "title": "[FIX] Crowd sync was being stopped when a user was not found", + "userLogin": "piotrkochan", + "milestone": "0.72.3", + "contributors": [ + "piotrkochan", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "12913", + "title": "[FIX] Some icons were missing", + "userLogin": "tassoevan", + "milestone": "0.72.3", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "12829", + "title": "[FIX] User data download fails when a room has been deleted.", + "userLogin": "Hudell", + "milestone": "0.72.3", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "12860", + "title": "[FIX] CAS Login not working with renamed users", + "userLogin": "Hudell", + "milestone": "0.72.3", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "12914", + "title": "[FIX] Stream of my_message wasn't sending the room information", + "userLogin": "ggazzo", + "milestone": "0.72.3", + "contributors": [ + "ggazzo" + ] + }, + { + "pr": "12903", + "title": "[FIX] cannot reset password", + "userLogin": "ggazzo", + "milestone": "0.72.3", + "contributors": [ + "ggazzo", + "web-flow", + "Hudell" + ] + }, + { + "pr": "12904", + "title": "[IMPROVE] Do not emit settings if there are no changes", + "userLogin": "ggazzo", + "contributors": [ + "ggazzo", + "web-flow", + "sampaiodiego" + ] + }, + { + "pr": "12905", + "title": "[FIX] Version check update notification", + "userLogin": "rodrigok", + "milestone": "0.72.3", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "12900", + "title": "[FIX] line-height for unread bar buttons (jump to first and mark as read)", + "userLogin": "tassoevan", + "milestone": "0.72.2", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "12882", + "title": "[FIX] PDF view loading indicator", + "userLogin": "tassoevan", + "milestone": "0.72.2", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "12898", + "title": "[FIX] Reset password email", + "userLogin": "sampaiodiego", + "milestone": "0.72.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "12888", + "title": " Convert rocketchat-reactions to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12887", + "title": "Convert rocketchat-wordpress to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12883", + "title": "Fix: snap push from ci", + "userLogin": "geekgonecrazy", + "contributors": [ + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "12865", + "title": "[IMPROVE] Returning an open room object in the Livechat config endpoint", + "userLogin": "renatobecker", + "milestone": "0.73.0", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "12867", + "title": " [NEW] Syncloud deploy option", + "userLogin": "cyberb", + "contributors": [ + "cyberb", + "web-flow", + "geekgonecrazy" + ] + }, + { + "pr": "12879", + "title": "Convert rocketchat-version-check to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12351", + "title": "[NEW] Config hooks for snap", + "userLogin": "LuluGO", + "contributors": [ + "LuluGO", + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "12597", + "title": "[NEW] Livechat registration form message", + "userLogin": "renatobecker", + "milestone": "0.73.0", + "contributors": [ + "renatobecker", + "web-flow" + ] + }, + { + "pr": "12877", + "title": "Convert rocketchat-user-data-dowload to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12875", + "title": "Convert rocketchat-ui-vrecord to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12861", + "title": "Convert rocketchat-ui-login to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12859", + "title": " Convert rocketchat-ui-flextab to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12866", + "title": "[FIX] Data Import not working", + "userLogin": "Hudell", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "12771", + "title": "[NEW] Include message type & id in push notification payload", + "userLogin": "cardoso", + "contributors": [ + "cardoso", + "web-flow" + ] + }, + { + "pr": "12851", + "title": "[FIX] Incorrect parameter name in Livechat stream", + "userLogin": "renatobecker", + "milestone": "0.73.0", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "12585", + "title": "[FIX] Autotranslate icon on message action menu", + "userLogin": "marceloschmidt", + "milestone": "0.73.0", + "contributors": [ + "marceloschmidt", + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "12761", + "title": "German translation typo fix for Reacted_with", + "userLogin": "localguru", + "contributors": [ + "localguru" + ] + }, + { + "pr": "12848", + "title": "Bump Apps-Engine version", + "userLogin": "d-gubert", + "milestone": "0.72.1", + "contributors": [ + "d-gubert" + ] + }, + { + "pr": "12818", + "title": "[FIX] Change spread operator to Array.from for Edge browser", + "userLogin": "ohmonster", + "milestone": "0.72.1", + "contributors": [ + "ohmonster" + ] + }, + { + "pr": "12842", + "title": " Convert rocketchat-ui-account to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12727", + "title": "[FIX] API users.info returns caller rooms and not requested user ones", + "userLogin": "piotrkochan", + "milestone": "0.72.1", + "contributors": [ + "piotrkochan", + "web-flow" + ] + }, + { + "pr": "12804", + "title": "Change file order in rocketchat-cors", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.1", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12847", + "title": "[FIX] Missing HipChat Enterprise Importer", + "userLogin": "Hudell", + "milestone": "0.72.1", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "12846", + "title": "Convert rocketchat-ui-clean-history to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12844", + "title": "Convert rocketchat-ui-admin to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12843", + "title": "[FIX] Google Cloud Storage storage provider", + "userLogin": "sampaiodiego", + "milestone": "0.73.0", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "12838", + "title": "Convert rocketchat-tokenpass to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12840", + "title": "Remove rocketchat-tutum package", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12839", + "title": "Convert rocketchat-tooltip to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12837", + "title": "Convert rocketchat-token-login to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12566", + "title": "[IMPROVE] Use MongoBD aggregation to get users from a room", + "userLogin": "ggazzo", + "contributors": [ + "ggazzo", + "web-flow", + "engelgabriel", + "sampaiodiego" + ] + }, + { + "pr": "12833", + "title": "Convert rocketchat-statistics to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12832", + "title": "Convert rocketchat-spotify to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12831", + "title": "Convert rocketchat-sms to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12801", + "title": "Convert rocketchat-search to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12767", + "title": "Convert rocketchat-message-pin to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12770", + "title": "Convert rocketchat-message-star to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12823", + "title": "Convert rocketchat-slashcommands-msg to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12830", + "title": "Convert rocketchat-smarsh-connector to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12828", + "title": "Convert rocketchat-slider to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12827", + "title": "Convert rocketchat-slashcommands-unarchiveroom to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12624", + "title": "Dependencies update", + "userLogin": "engelgabriel", + "milestone": "0.73.0", + "contributors": [ + "engelgabriel", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12826", + "title": "Convert rocketchat-slashcommands-topic to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12825", + "title": "Convert rocketchat-slashcommands-open to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12824", + "title": "Convert rocketchat-slashcommands-mute to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12822", + "title": "Convert rocketchat-slashcommands-me to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12821", + "title": "Convert rocketchat-slashcommands-leave to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12817", + "title": "Convert rocketchat-slashcommands-kick to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12816", + "title": "Convert rocketchat-slashcommands-join to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12815", + "title": "Convert rocketchat-slashcommands-inviteall to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12814", + "title": "Convert rocketchat-slashcommands-invite to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12813", + "title": "Convert rocketchat-slashcommands-hide to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12812", + "title": "Convert rocketchat-slashcommands-help to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12811", + "title": "Convert rocketchat-slashcommands-create to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12810", + "title": "Convert rocketchat-slashcomands-archiveroom to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12808", + "title": "Convert rocketchat-slashcommands-asciiarts to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12807", + "title": "Convert rocketchat-slackbridge to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12806", + "title": "Convert rocketchat-setup-wizard to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12799", + "title": "Convert rocketchat-sandstorm to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12773", + "title": "Convert rocketchat-oauth2-server-config to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12768", + "title": "Convert rocketchat-message-snippet to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12805", + "title": "[FIX] Emoji as avatar", + "userLogin": "tassoevan", + "milestone": "0.72.1", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "12779", + "title": "[IMPROVE] Username suggestion logic", + "userLogin": "ggazzo", + "contributors": [ + "ggazzo", + "web-flow" + ] + }, + { + "pr": "12803", + "title": "Fix CI deploy job", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "12797", + "title": "Convert rocketchat-retention-policy to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12778", + "title": "Convert rocketchat-push-notifications to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12777", + "title": "Convert rocketchat-otr to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12775", + "title": "Convert rocketchat-oembed to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12772", + "title": "Convert rocketchat-migrations to main-module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12766", + "title": "Convert rocketchat-message-mark-as-unread to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12798", + "title": "Remove conventional changelog cli, we are using our own cli now (Houston)", + "userLogin": "rodrigok", + "milestone": "0.73.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "12760", + "title": "Convert rocketchat-message-attachments to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12759", + "title": "Convert rocketchat-message-action to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12757", + "title": " Convert rocketchat-mentions-flextab to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12756", + "title": "Convert rocketchat-mentions to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12755", + "title": "Convert rocketchat-markdown to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12701", + "title": "Convert rocketchat-mapview to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto", + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "12791", + "title": "Add check to make sure releases was updated", + "userLogin": "geekgonecrazy", + "contributors": [ + "geekgonecrazy", + "web-flow" + ] + }, + { + "pr": "12776", + "title": "Merge master into develop & Set version to 0.73.0-develop", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "12741", + "title": "Update Apps Engine to 1.3.1", + "userLogin": "rodrigok", + "milestone": "0.72.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "12736", + "title": "Regression: Expand Administration sections by toggling section title", + "userLogin": "tassoevan", + "milestone": "0.72.0", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "12737", + "title": "Regression: Fix Safari detection in PDF previewing", + "userLogin": "tassoevan", + "milestone": "0.72.0", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "12735", + "title": "Regression: Account pages layout", + "userLogin": "tassoevan", + "milestone": "0.72.0", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "12729", + "title": "Regression: Inherit font-family for message box", + "userLogin": "tassoevan", + "milestone": "0.72.0", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "12712", + "title": "Fix some Ukrainian translations", + "userLogin": "zdumitru", + "milestone": "0.72.0", + "contributors": [ + "zdumitru", + "web-flow" + ] + }, + { + "pr": "12713", + "title": "[FIX] Update caret position on insert a new line in message box", + "userLogin": "tassoevan", + "milestone": "0.72.0", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "12714", + "title": "[IMPROVE] Allow apps to update persistence by association", + "userLogin": "marceloschmidt", + "contributors": [ + "marceloschmidt", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12708", + "title": "Improve: Add missing translation keys.", + "userLogin": "ura14h", + "milestone": "0.72.0", + "contributors": [ + "ura14h", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12705", + "title": "Bump Apps Engine to 1.3.0", + "userLogin": "rodrigok", + "milestone": "0.72.0", + "contributors": [ + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12699", + "title": "Fix: Exception when registering a user with gravatar", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto", + "engelgabriel", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "12637", + "title": "[FIX] DE translation for idle-time-limit", + "userLogin": "pfuender", + "milestone": "0.72.0", + "contributors": [ + null, + "engelgabriel", + "web-flow", + "pfuender" + ] + }, + { + "pr": "12707", + "title": "Fix: Fix tests by increasing window size", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12680", + "title": "[IMPROVE] Add more methods to deal with rooms via Rocket.Chat.Apps", + "userLogin": "marceloschmidt", + "milestone": "0.72.0", + "contributors": [ + "marceloschmidt" + ] + }, + { + "pr": "12692", + "title": "[IMPROVE] Better query for finding subscriptions that need a new E2E Key", + "userLogin": "Hudell", + "milestone": "0.72.0", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "12684", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "milestone": "0.72.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "12309", + "title": "[NEW] Add permission to enable personal access token to specific roles", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12563", + "title": "[IMPROVE] Improve unreads and unreadsFrom response, prevent it to be equal null", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12483", + "title": "[NEW] Option to reset e2e key", + "userLogin": "Hudell", + "milestone": "0.72.0", + "contributors": [ + "Hudell", + "web-flow", + "engelgabriel" + ] + }, + { + "pr": "12633", + "title": "[FIX] Fixed Anonymous Registration", + "userLogin": "wreiske", + "milestone": "0.72.0", + "contributors": [ + "wreiske", + "web-flow", + "engelgabriel", + "rodrigok" + ] + }, + { + "pr": "12105", + "title": "[IMPROVE] Add rooms property in user object, if the user has the permission, with rooms roles", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12682", + "title": "Convert rocketchat-mail-messages to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12679", + "title": " Convert rocketchat-livestream to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12675", + "title": "[IMPROVE] border-radius to use --border-radius", + "userLogin": "engelgabriel", + "milestone": "0.72.0", + "contributors": [ + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "12677", + "title": "[FIX] high cpu usage ~ svg icon", + "userLogin": "ph1p", + "contributors": [ + null, + "ph1p" + ] + }, + { + "pr": "12374", + "title": "Added \"npm install\" to quick start for developers", + "userLogin": "wreiske", + "milestone": "0.72.0", + "contributors": [ + "wreiske", + "web-flow" + ] + }, + { + "pr": "12651", + "title": "[NEW] /api/v1/spotlight: return joinCodeRequired field for rooms", + "userLogin": "cardoso", + "milestone": "0.72.0", + "contributors": [ + "cardoso", + "web-flow" + ] + }, + { + "pr": "12678", + "title": "Convert rocketchat-ldap to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12674", + "title": "Convert rocketchat-issuelinks to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12670", + "title": "Convert rocketchat-integrations to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12672", + "title": "Convert rocketchat-irc to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12671", + "title": "Convert rocketchat-internal-hubot to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12665", + "title": "Convert rocketchat-importer-hipchat-enterprise to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12669", + "title": "Convert rocketchat-importer-slack-users to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12666", + "title": " Convert rocketchat-importer-slack to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12661", + "title": "Convert rocketchat-iframe-login to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12662", + "title": "Convert rocketchat-importer to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12663", + "title": "Convert rocketchat-importer-csv to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12664", + "title": "Convert rocketchat-importer-hipchat to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12659", + "title": "Convert rocketchat-highlight-words to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12657", + "title": "Convert rocketchat-grant to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12658", + "title": "Convert rocketchat-graphql to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12564", + "title": "[IMPROVE] Update the 'keyboard shortcuts' documentation", + "userLogin": "nicolasbock", + "milestone": "0.72.0", + "contributors": [ + "nicolasbock", + "tassoevan", + "web-flow" + ] + }, + { + "pr": "12643", + "title": "[FIX] Fix favico error", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12649", + "title": "Convert rocketchat-google-vision to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12650", + "title": "Removed RocketChatFile from globals", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12623", + "title": "[NEW] New API Endpoints for the new version of JS SDK", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto", + "engelgabriel", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "12647", + "title": "Added imports for global variables in rocketchat-google-natural-language package", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12646", + "title": "Convert rocketchat-gitlab to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12644", + "title": "Convert rocketchat-file to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12642", + "title": "Convert rocketchat-github-enterprise to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12645", + "title": "Fix: Add email dependency in package.js", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12561", + "title": "[IMPROVE] Add new acceptable header for Livechat REST requests", + "userLogin": "renatobecker", + "milestone": "0.72.0", + "contributors": [ + "renatobecker" + ] + }, + { + "pr": "12599", + "title": "Convert rocketchat-custom-sounds to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12641", + "title": "Fix crowd error with import of SyncedCron", + "userLogin": "rodrigok", + "milestone": "0.72.0", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "12605", + "title": "Convert emoji-emojione to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12607", + "title": "Convert rocketchat-favico to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12604", + "title": " Convert rocketchat-emoji-custom to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12632", + "title": "[FIX] Condition to not render PDF preview", + "userLogin": "tassoevan", + "milestone": "0.72.0", + "contributors": [ + "tassoevan", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "12606", + "title": "Convert rocketchat-error-handler to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12601", + "title": "Convert rocketchat-drupal to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12596", + "title": "Convert rocketchat-crowd to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12603", + "title": "Convert rocketchat-emoji to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12625", + "title": "Fix users.setAvatar endpoint tests and logic", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12616", + "title": "[IMPROVE] Atlassian Crowd settings and option to sync user data", + "userLogin": "rodrigok", + "milestone": "0.72.0", + "contributors": [ + null, + "rodrigok", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "12583", + "title": "[DOCS] Remove Cordova links, include F-Droid download button and few other adjustments", + "userLogin": "rafaelks", + "contributors": [ + "rafaelks", + "web-flow" + ] + }, + { + "pr": "12600", + "title": "Convert rocketchat-dolphin to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12594", + "title": " Convert rocketchat-channel-settings to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12595", + "title": "Convert rocketchat-cors to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12618", + "title": "[IMPROVE] CircleCI to use MongoDB 4.0 for testing", + "userLogin": "engelgabriel", + "milestone": "0.72.0", + "contributors": [ + "engelgabriel", + "web-flow" + ] + }, + { + "pr": "12614", + "title": "[FIX] Admin styles", + "userLogin": "engelgabriel", + "milestone": "0.72.0", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "12602", + "title": "[FIX] Admin styles", + "userLogin": "engelgabriel", + "milestone": "0.72.0", + "contributors": [ + "engelgabriel" + ] + }, + { + "pr": "9336", + "title": "[FIX] Change registration message when user need to confirm email", + "userLogin": "karlprieb", + "milestone": "0.72.0", + "contributors": [ + "karlprieb", + "tassoevan", + "ggazzo", + "web-flow", + "rodrigok" + ] + }, + { + "pr": "12570", + "title": "[FIX] Import missed file in rocketchat-authorization", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12558", + "title": "[FIX] Prevent subscriptions and calls to rooms events that the user is not participating", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12382", + "title": "[IMPROVE] Japanese translations", + "userLogin": "ura14h", + "contributors": [ + "ura14h", + "web-flow" + ] + }, + { + "pr": "12525", + "title": "[IMPROVE] Add CTRL modifier for keyboard shortcut", + "userLogin": "nicolasbock", + "milestone": "0.72.0", + "contributors": [ + "nicolasbock" + ] + }, + { + "pr": "12530", + "title": "Convert rocketchat-autotranslate to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12537", + "title": "Convert rocketchat-channel-settings-mail-messages to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12538", + "title": "Convert rocketchat-colors to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12532", + "title": "Convert rocketchat-cas to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12531", + "title": "Convert rocketchat-bot-helpers to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12529", + "title": "Convert rocketchat-autolinker to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12523", + "title": "Convert rocketchat-authorization to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12547", + "title": "[NEW] Setting to configure robots.txt content", + "userLogin": "Hudell", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "12539", + "title": "[FIX] Wrong test case for `users.setAvatar` endpoint", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto", + "sampaiodiego" + ] + }, + { + "pr": "12536", + "title": "[FIX] Spotlight method being called multiple times", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "12524", + "title": "Fix CSS import order", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "12518", + "title": "[FIX] German translation for for API_EmbedIgnoredHosts label", + "userLogin": "mbrodala", + "milestone": "0.72.0", + "contributors": [ + "mbrodala" + ] + }, + { + "pr": "12426", + "title": "Remove template for feature requests as issues", + "userLogin": "tassoevan", + "contributors": [ + "tassoevan", + "web-flow" + ] + }, + { + "pr": "12451", + "title": "Fix punctuation, spelling, and grammar", + "userLogin": "imronras", + "milestone": "0.72.0", + "contributors": [ + "imronras", + "web-flow" + ] + }, + { + "pr": "12522", + "title": "[IMPROVE] Ignore non-existent Livechat custom fields on Livechat API", + "userLogin": "renatobecker", + "milestone": "0.72.0", + "contributors": [ + "renatobecker", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12507", + "title": "[FIX] Handle all events for enter key in message box", + "userLogin": "tassoevan", + "milestone": "0.72.0", + "contributors": [ + "tassoevan", + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12378", + "title": "[NEW] Make Livechat's widget draggable", + "userLogin": "tassoevan", + "milestone": "0.72.0", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "12408", + "title": "[FIX] Fix wrong parameter in chat.delete endpoint and add some test cases", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12452", + "title": "[IMPROVE] Emoji search on messageBox behaving like emojiPicker's search (#9607)", + "userLogin": "vinade", + "milestone": "0.72.0", + "contributors": [ + "vinade" + ] + }, + { + "pr": "12521", + "title": "Convert rocketchat-assets to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12510", + "title": "Convert rocketchat-api to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "rodrigok", + "MarcosSpessatto" + ] + }, + { + "pr": "12506", + "title": "Convert rocketchat-analytics to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "rodrigok", + "MarcosSpessatto" + ] + }, + { + "pr": "12503", + "title": "Convert rocketchat-action-links to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "rodrigok", + "MarcosSpessatto" + ] + }, + { + "pr": "12501", + "title": "Convert rocketchat-2fa to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "rodrigok", + "MarcosSpessatto" + ] + }, + { + "pr": "12495", + "title": "Convert meteor-timesync to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "rodrigok", + "MarcosSpessatto" + ] + }, + { + "pr": "12491", + "title": "Convert meteor-autocomplete package to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "rodrigok", + "MarcosSpessatto" + ] + }, + { + "pr": "12486", + "title": "Convert meteor-accounts-saml to main module structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "rodrigok", + "MarcosSpessatto" + ] + }, + { + "pr": "12485", + "title": "Convert chatpal search package to modular structure", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "rodrigok", + "MarcosSpessatto" + ] + }, + { + "pr": "12467", + "title": "Removal of TAPi18n and TAPi18next global variables", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "rodrigok", + "MarcosSpessatto" + ] + }, + { + "pr": "12433", + "title": "Removal of Template, Blaze, BlazeLayout, FlowRouter, DDPRateLimiter, Session, UAParser, Promise, Reload and CryptoJS global variables", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "rodrigok", + "MarcosSpessatto", + "web-flow" + ] + }, + { + "pr": "12410", + "title": "Removal of Match, check, moment, Tracker and Mongo global variables", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.0", + "contributors": [ + "rodrigok", + "MarcosSpessatto", + "web-flow" + ] + }, + { + "pr": "12377", + "title": "Removal of EJSON, Accounts, Email, HTTP, Random, ReactiveDict, ReactiveVar, SHA256 and WebApp global variables", + "userLogin": "rodrigok", + "milestone": "0.72.0", + "contributors": [ + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12371", + "title": "Removal of Meteor global variable", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok", + "web-flow" + ] + }, + { + "pr": "12468", + "title": "[BREAK] Update to Meteor to 1.8", + "userLogin": "ggazzo", + "contributors": [ + "ggazzo", + "web-flow", + "sampaiodiego" + ] + }, + { + "pr": "12509", + "title": "Fix ES translation", + "userLogin": "tassoevan", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "12487", + "title": "[FIX] Email sending with GDPR user data", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "12471", + "title": "[IMPROVE] German translations", + "userLogin": "mrsimpson", + "contributors": [ + "mrsimpson", + "web-flow" + ] + }, + { + "pr": "12470", + "title": "LingoHub based on develop", + "userLogin": "engelgabriel", + "contributors": [ + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "12397", + "title": "[FIX] Manage own integrations permissions check", + "userLogin": "ggazzo", + "milestone": "0.72.0", + "contributors": [ + "ggazzo", + "sampaiodiego", + "web-flow" + ] + }, + { + "pr": "12411", + "title": "[FIX] stream room-changed", + "userLogin": "ggazzo", + "milestone": "0.72.0", + "contributors": [ + "ggazzo", + "sampaiodiego" + ] + }, + { + "pr": "12457", + "title": "[FIX] Emoji picker is not in viewport on small screens", + "userLogin": "ramrami", + "milestone": "0.72.0", + "contributors": [ + "ramrami" + ] + }, + { + "pr": "12400", + "title": "[IMPROVE] Limit the number of typing users shown (#8722)", + "userLogin": "vinade", + "contributors": [ + "vinade", + "tassoevan", + "web-flow" + ] + }, + { + "pr": "12406", + "title": "[FIX] `Disabled` word translation to Spanish", + "userLogin": "Ismaw34", + "contributors": [ + "Ismaw34", + "web-flow" + ] + }, + { + "pr": "12260", + "title": "[FIX] `Disabled` word translation to Chinese", + "userLogin": "AndreamApp", + "milestone": "0.72.0", + "contributors": [ + "AndreamApp", + "web-flow" + ] + }, + { + "pr": "12465", + "title": "Update npm dependencies", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "12440", + "title": "Fix: Developers not being able to debug root files in VSCode", + "userLogin": "mrsimpson", + "contributors": [ + "mrsimpson" + ] + }, + { + "pr": "12453", + "title": "[FIX] Correct roomName value in Mail Messages (#12363)", + "userLogin": "vinade", + "milestone": "0.72.0", + "contributors": [ + "vinade" + ] + }, + { + "pr": "12460", + "title": "Merge master into develop & Set version to 0.72.0-develop", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego", + "web-flow", + "Hudell" + ] + } + ] + }, + "0.72.1": { + "pull_requests": [ + { + "pr": "12850", + "title": "Release 0.72.1", + "userLogin": "rodrigok", + "contributors": [ + "tassoevan", + "rodrigok", + "Hudell", + "MarcosSpessatto", + "piotrkochan", + "ohmonster", + "d-gubert", + "sampaiodiego" + ] + }, + { + "pr": "12848", + "title": "Bump Apps-Engine version", + "userLogin": "d-gubert", + "milestone": "0.72.1", + "contributors": [ + "d-gubert" + ] + }, + { + "pr": "12818", + "title": "[FIX] Change spread operator to Array.from for Edge browser", + "userLogin": "ohmonster", + "milestone": "0.72.1", + "contributors": [ + "ohmonster" + ] + }, + { + "pr": "12727", + "title": "[FIX] API users.info returns caller rooms and not requested user ones", + "userLogin": "piotrkochan", + "milestone": "0.72.1", + "contributors": [ + "piotrkochan", + "web-flow" + ] + }, + { + "pr": "12804", + "title": "Change file order in rocketchat-cors", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.1", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12847", + "title": "[FIX] Missing HipChat Enterprise Importer", + "userLogin": "Hudell", + "milestone": "0.72.1", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "12805", + "title": "[FIX] Emoji as avatar", + "userLogin": "tassoevan", + "milestone": "0.72.1", + "contributors": [ + "tassoevan" + ] + } + ] + }, + "0.72.2": { + "pull_requests": [ + { + "pr": "12901", + "title": "Release 0.72.2", + "userLogin": "sampaiodiego", + "contributors": [ + "tassoevan", + "sampaiodiego" + ] + }, + { + "pr": "12900", + "title": "[FIX] line-height for unread bar buttons (jump to first and mark as read)", + "userLogin": "tassoevan", + "milestone": "0.72.2", + "contributors": [ + "tassoevan" + ] + }, + { + "pr": "12898", + "title": "[FIX] Reset password email", + "userLogin": "sampaiodiego", + "milestone": "0.72.2", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "12882", + "title": "[FIX] PDF view loading indicator", + "userLogin": "tassoevan", + "milestone": "0.72.2", + "contributors": [ + "tassoevan" + ] + } + ] + }, + "0.72.3": { + "pull_requests": [ + { + "pr": "12932", + "title": "Release 0.72.3", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok", + "ggazzo", + "Hudell", + "tassoevan", + "piotrkochan" + ] + } + ] + }, + "0.73.0-rc.1": { + "node_version": "8.11.4", + "npm_version": "6.4.1", + "pull_requests": [ + { + "pr": "13021", + "title": "Change `chat.getDeletedMessages` to get messages after informed date and return only message's _id", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "13020", + "title": "Improve Importer code quality", + "userLogin": "Hudell", + "milestone": "0.73.0", + "contributors": [ + "Hudell" + ] + } + ] + }, + "0.73.0-rc.2": { + "node_version": "8.11.4", + "npm_version": "6.4.1", + "pull_requests": [ + { + "pr": "13031", + "title": "Regression: List of custom emojis wasn't working", + "userLogin": "MarcosSpessatto", + "milestone": "0.73.0", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "13033", + "title": "[FIX] Download files without extension wasn't possible", + "userLogin": "tassoevan", + "milestone": "0.73.0", + "contributors": [ + "tassoevan" + ] + } + ] + }, + "0.73.0": { + "node_version": "8.11.4", + "npm_version": "6.4.1", + "pull_requests": [ + { + "pr": "12932", + "title": "Release 0.72.3", + "userLogin": "rodrigok", + "contributors": [ + "rodrigok", + "ggazzo", + "Hudell", + "tassoevan", + "piotrkochan" + ] + }, + { + "pr": "12901", + "title": "Release 0.72.2", + "userLogin": "sampaiodiego", + "contributors": [ + "tassoevan", + "sampaiodiego" + ] + }, + { + "pr": "12848", + "title": "Bump Apps-Engine version", + "userLogin": "d-gubert", + "milestone": "0.72.1", + "contributors": [ + "d-gubert" + ] + }, + { + "pr": "12818", + "title": "[FIX] Change spread operator to Array.from for Edge browser", + "userLogin": "ohmonster", + "milestone": "0.72.1", + "contributors": [ + "ohmonster" + ] + }, + { + "pr": "12727", + "title": "[FIX] API users.info returns caller rooms and not requested user ones", + "userLogin": "piotrkochan", + "milestone": "0.72.1", + "contributors": [ + "piotrkochan", + "web-flow" + ] + }, + { + "pr": "12804", + "title": "Change file order in rocketchat-cors", + "userLogin": "MarcosSpessatto", + "milestone": "0.72.1", + "contributors": [ + "MarcosSpessatto" + ] + }, + { + "pr": "12847", + "title": "[FIX] Missing HipChat Enterprise Importer", + "userLogin": "Hudell", + "milestone": "0.72.1", + "contributors": [ + "Hudell" + ] + }, + { + "pr": "12805", + "title": "[FIX] Emoji as avatar", + "userLogin": "tassoevan", + "milestone": "0.72.1", + "contributors": [ + "tassoevan" + ] + } + ] + }, + "0.73.1": { + "node_version": "8.11.4", + "npm_version": "6.4.1", + "mongo_versions": [ + "3.2", + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [ + { + "pr": "13049", + "title": "Execute tests with versions 3.2, 3.4, 3.6 and 4.0 of MongoDB", + "userLogin": "rodrigok", + "milestone": "0.73.1", + "contributors": [ + "rodrigok" + ] + }, + { + "pr": "13051", + "title": "Regression: Get room's members list not working on MongoDB 3.2", + "userLogin": "sampaiodiego", + "milestone": "0.73.1", + "contributors": [ + "sampaiodiego" + ] + }, + { + "pr": "13045", + "title": "[FIX] Default importer path", + "userLogin": "sampaiodiego", + "milestone": "0.73.1", + "contributors": [ + "sampaiodiego" + ] + } + ] + }, + "0.73.2": { + "node_version": "8.11.4", + "npm_version": "6.4.1", + "mongo_versions": [ + "3.2", + "3.4", + "3.6", + "4.0" + ], + "pull_requests": [ + { + "pr": "13013", + "title": "[NEW] Cloud Integration", + "userLogin": "graywolf336", + "milestone": "0.73.2", + "contributors": [ + "graywolf336", + "geekgonecrazy", + "web-flow", + "sampaiodiego" + ] + } + ] } } } \ No newline at end of file diff --git a/.github/templates/commit.hbs b/.github/templates/commit.hbs deleted file mode 100755 index 1781268b2777..000000000000 --- a/.github/templates/commit.hbs +++ /dev/null @@ -1,40 +0,0 @@ -{{!-- pr reference --}}- {{#if pr}}[#{{pr}}]({{pr_url}}){{/if}} - -{{~!-- subject --}} {{subject}} - -{{~!-- commit references --}} -{{~#if references~}} - , closes - {{~#each references}} {{#if @root.linkReferences~}} - [ - {{~#if this.owner}} - {{~this.owner}}/ - {{~/if}} - {{~this.repository}}#{{this.issue}}]( - {{~#if @root.repository}} - {{~#if @root.host}} - {{~@root.host}}/ - {{~/if}} - {{~#if this.repository}} - {{~#if this.owner}} - {{~this.owner}}/ - {{~/if}} - {{~this.repository}} - {{~else}} - {{~#if @root.owner}} - {{~@root.owner}}/ - {{~/if}} - {{~@root.repository}} - {{~/if}} - {{~else}} - {{~@root.repoUrl}} - {{~/if}}/ - {{~@root.issue}}/{{this.issue}}) - {{~else}} - {{~#if this.owner}} - {{~this.owner}}/ - {{~/if}} - {{~this.repository}}#{{this.issue}} - {{~/if}}{{/each}} -{{~/if}} - diff --git a/.github/templates/footer.hbs b/.github/templates/footer.hbs deleted file mode 100755 index 2aa774f53674..000000000000 --- a/.github/templates/footer.hbs +++ /dev/null @@ -1,11 +0,0 @@ -{{#if noteGroups}} -{{#each noteGroups}} - -### {{title}} - -{{#each notes}} -* {{#if commit.scope}}**{{commit.scope}}:** {{/if}}{{text}} -{{/each}} -{{/each}} - -{{/if}} diff --git a/.github/templates/header.hbs b/.github/templates/header.hbs deleted file mode 100755 index 313fd6528043..000000000000 --- a/.github/templates/header.hbs +++ /dev/null @@ -1,26 +0,0 @@ - -{{#if isPatch~}} - ## -{{~else~}} - # -{{~/if}} {{#if @root.linkCompare~}} - [{{version}}]( - {{~#if @root.repository~}} - {{~#if @root.host}} - {{~@root.host}}/ - {{~/if}} - {{~#if @root.owner}} - {{~@root.owner}}/ - {{~/if}} - {{~@root.repository}} - {{~else}} - {{~@root.repoUrl}} - {{~/if~}} - /compare/{{previousTag}}...{{currentTag}}) -{{~else}} - {{~version}} -{{~/if}} -{{~#if title}} "{{title}}" -{{~/if}} -{{~#if date}} ({{date}}) -{{/if}} diff --git a/.github/templates/template.hbs b/.github/templates/template.hbs deleted file mode 100755 index 0705b78e3a3e..000000000000 --- a/.github/templates/template.hbs +++ /dev/null @@ -1,22 +0,0 @@ -{{> header}} - -{{#each commitGroups}} - -{{#if collapse}} -
-{{title}} -{{else}} -### {{title}} -{{/if}} - -{{#each commits}} -{{> commit root=@root}} -{{/each}} -{{#if collapse}} -
-{{/if}} - -{{/each}} -{{> footer}} - - diff --git a/.meteor/packages b/.meteor/packages index 46ae82c82196..89356e22b861 100644 --- a/.meteor/packages +++ b/.meteor/packages @@ -5,38 +5,38 @@ rocketchat:cors -accounts-facebook@1.3.1 -accounts-github@1.4.1 -accounts-google@1.3.1 -accounts-meteor-developer@1.4.1 -accounts-password@1.5.0 -accounts-twitter@1.4.1 +accounts-facebook@1.3.2 +accounts-github@1.4.2 +accounts-google@1.3.2 +accounts-meteor-developer@1.4.2 +accounts-password@1.5.1 +accounts-twitter@1.4.2 blaze-html-templates -check@1.3.0 +check@1.3.1 ddp-rate-limiter@1.0.7 ddp-common@1.4.0 -dynamic-import@0.3.0 -ecmascript@0.10.6 +dynamic-import@0.5.0 +ecmascript@0.12.3 ejson@1.1.0 email@1.2.3 fastclick@1.0.13 -http@1.4.0 +http@1.4.1 jquery@1.11.10 -logging@1.1.19 -meteor-base@1.3.0 +logging@1.1.20 +meteor-base@1.4.0 mobile-experience@1.0.5 -mongo@1.4.2 +mongo@1.6.0 random@1.1.0 -rate-limit@1.0.8 -reactive-dict@1.2.0 +rate-limit@1.0.9 +reactive-dict@1.2.1 reactive-var@1.0.11 reload@1.2.0 service-configuration@1.0.11 -session@1.1.7 -shell-server@0.3.1 +session@1.2.0 +shell-server@0.4.0 spacebars -standard-minifier-js@2.3.1 -tracker@1.1.3 +standard-minifier-js@2.4.0 +tracker@1.2.0 rocketchat:2fa rocketchat:action-links @@ -51,6 +51,7 @@ rocketchat:bot-helpers rocketchat:cas rocketchat:channel-settings rocketchat:channel-settings-mail-messages +rocketchat:cloud rocketchat:colors rocketchat:crowd rocketchat:custom-oauth @@ -82,7 +83,6 @@ rocketchat:importer-hipchat-enterprise rocketchat:importer-slack rocketchat:importer-slack-users rocketchat:integrations -rocketchat:internal-hubot rocketchat:irc rocketchat:issuelinks rocketchat:katex @@ -108,7 +108,6 @@ rocketchat:monitoring rocketchat:oauth2-server-config rocketchat:oembed rocketchat:otr -rocketchat:postcss rocketchat:push-notifications rocketchat:reactions rocketchat:retention-policy @@ -141,7 +140,6 @@ rocketchat:streamer rocketchat:theme rocketchat:tokenpass rocketchat:tooltip -rocketchat:tutum rocketchat:ui rocketchat:ui-account rocketchat:ui-admin @@ -184,7 +182,6 @@ nimble:restivus nooitaf:colors ostrio:cookies pauli:accounts-linkedin -percolate:synced-cron raix:handlebar-helpers rocketchat:push raix:ui-dropped-event @@ -200,13 +197,15 @@ rocketchat:search chatpal:search rocketchat:lazy-load tap:i18n -underscore +underscore@1.0.10 +rocketchat:bigbluebutton +rocketchat:mailmessages +juliancwirko:postcss +littledata:synced-cron +rocketchat:utils assistify:ai assistify:threading assistify:migrations assistify:configuration overture8:wordcloud2 - -rocketchat:bigbluebutton -rocketchat:mailmessages diff --git a/.meteor/platforms b/.meteor/platforms index 81ae7012de9e..8a3a35f9f627 100644 --- a/.meteor/platforms +++ b/.meteor/platforms @@ -1,3 +1,2 @@ browser -ios server diff --git a/.meteor/release b/.meteor/release index 8fed0e8ee874..2299ae70d955 100644 --- a/.meteor/release +++ b/.meteor/release @@ -1 +1 @@ -METEOR@1.6.1.3 +METEOR@1.8.0.1 diff --git a/.meteor/versions b/.meteor/versions index c5b14715df98..8d70819c1cb3 100644 --- a/.meteor/versions +++ b/.meteor/versions @@ -1,28 +1,28 @@ -accounts-base@1.4.2 -accounts-facebook@1.3.1 -accounts-github@1.4.1 -accounts-google@1.3.1 -accounts-meteor-developer@1.4.1 -accounts-oauth@1.1.15 +accounts-base@1.4.3 +accounts-facebook@1.3.2 +accounts-github@1.4.2 +accounts-google@1.3.2 +accounts-meteor-developer@1.4.2 +accounts-oauth@1.1.16 accounts-password@1.5.1 -accounts-twitter@1.4.1 +accounts-twitter@1.4.2 aldeed:simple-schema@1.5.4 allow-deny@1.1.0 assistify:ai@0.2.0 assistify:configuration@0.0.2 assistify:migrations@0.0.1 assistify:threading@0.1.0 -autoupdate@1.4.0 -babel-compiler@7.0.9 -babel-runtime@1.2.2 +autoupdate@1.5.0 +babel-compiler@7.2.3 +babel-runtime@1.3.0 base64@1.0.11 -binary-heap@1.0.10 -blaze@2.3.2 +binary-heap@1.0.11 +blaze@2.3.3 blaze-html-templates@1.1.2 blaze-tools@1.0.10 -boilerplate-generator@1.4.0 -caching-compiler@1.1.12 -caching-html-compiler@1.1.2 +boilerplate-generator@1.6.0 +caching-compiler@1.2.1 +caching-html-compiler@1.1.3 callback-hook@1.1.0 cfs:http-methods@0.0.32 chatpal:search@0.0.1 @@ -30,35 +30,37 @@ check@1.3.1 coffeescript@1.0.17 dandv:caret-position@2.1.1 ddp@1.4.0 -ddp-client@2.3.2 +ddp-client@2.3.3 ddp-common@1.4.0 ddp-rate-limiter@1.0.7 -ddp-server@2.1.2 +ddp-server@2.2.0 deepwell:bootstrap-datepicker2@1.3.0 deps@1.0.12 -diff-sequence@1.1.0 +diff-sequence@1.1.1 dispatch:run-as-user@1.1.1 -dynamic-import@0.3.0 -ecmascript@0.10.9 -ecmascript-runtime@0.5.0 -ecmascript-runtime-client@0.6.2 -ecmascript-runtime-server@0.5.0 +dynamic-import@0.5.1 +ecmascript@0.12.3 +ecmascript-runtime@0.7.0 +ecmascript-runtime-client@0.8.0 +ecmascript-runtime-server@0.7.1 edgee:slingshot@0.7.1 ejson@1.1.0 email@1.2.3 emojione:emojione@2.2.6 -es5-shim@4.7.3 -facebook-oauth@1.4.1 +es5-shim@4.8.0 +facebook-oauth@1.5.0 fastclick@1.0.13 +fetch@0.1.0 francocatena:status@1.5.3 geojson-utils@1.0.10 -github-oauth@1.2.0 -google-oauth@1.2.5 +github-oauth@1.2.2 +google-oauth@1.2.6 hot-code-push@1.0.4 html-tools@1.0.11 htmljs@1.0.11 -http@1.4.1 +http@1.4.2 id-map@1.1.0 +inter-process-messaging@0.1.0 jalik:ufs@0.7.5 jalik:ufs-gridfs@0.2.1 jalik:ufs-local@0.2.9 @@ -66,6 +68,7 @@ jparker:crypto-core@0.1.0 jparker:crypto-md5@0.1.1 jparker:gravatar@0.5.1 jquery@1.11.11 +juliancwirko:postcss@2.0.3 kadira:blaze-layout@2.3.0 kadira:flow-router@2.12.1 keepnox:perfect-scrollbar@0.6.8 @@ -74,30 +77,33 @@ konecty:change-case@2.3.0 konecty:delayed-task@1.0.0 konecty:mongo-counter@0.0.5_3 konecty:multiple-instances-status@1.1.0 -konecty:user-presence@2.2.0 +konecty:user-presence@2.3.0 launch-screen@1.1.1 -less@2.7.12 +less@2.8.0 +littledata:synced-cron@1.5.1 livedata@1.0.18 localstorage@1.2.0 logging@1.1.20 matb33:collection-hooks@0.8.4 mdg:validation-error@0.5.1 -meteor@1.8.6 -meteor-base@1.3.0 -meteor-developer-oauth@1.2.0 +meteor@1.9.2 +meteor-base@1.4.0 +meteor-developer-oauth@1.2.1 meteorhacks:inject-initial@1.0.4 meteorhacks:meteorx@1.4.1 meteorspark:util@0.2.0 -minifier-css@1.3.1 -minifier-js@2.3.5 -minimongo@1.4.4 +minifier-css@1.4.1 +minifier-js@2.4.0 +minimongo@1.4.5 mizzao:autocomplete@0.5.1 mizzao:timesync@0.3.4 mobile-experience@1.0.5 mobile-status-bar@1.0.14 -modules@0.11.8 -modules-runtime@0.9.2 -mongo@1.4.7 +modern-browsers@0.1.3 +modules@0.13.0 +modules-runtime@0.10.3 +mongo@1.6.0 +mongo-decimal@0.1.0 mongo-dev-server@1.1.0 mongo-id@1.0.7 mongo-livedata@1.0.12 @@ -106,25 +112,24 @@ mystor:device-detection@0.2.0 nimble:restivus@0.8.12 nooitaf:colors@1.1.2_1 npm-bcrypt@0.9.3 -npm-mongo@2.2.34 -oauth@1.2.3 -oauth1@1.2.0 -oauth2@1.2.0 +npm-mongo@3.1.1 +oauth@1.2.7 +oauth1@1.2.2 +oauth2@1.2.1 observe-sequence@1.0.16 ordered-dict@1.1.0 -ostrio:cookies@2.2.4 +ostrio:cookies@2.3.0 overture8:wordcloud2@1.0.0 pauli:accounts-linkedin@2.1.5 pauli:linkedin-oauth@1.2.0 -percolate:synced-cron@1.3.2 -promise@0.10.2 +promise@0.11.1 raix:eventemitter@0.1.3 raix:eventstate@0.0.4 raix:handlebar-helpers@0.2.5 raix:ui-dropped-event@0.0.7 random@1.1.0 rate-limit@1.0.9 -reactive-dict@1.2.0 +reactive-dict@1.2.1 reactive-var@1.0.11 reload@1.2.0 retry@1.1.0 @@ -144,6 +149,7 @@ rocketchat:bot-helpers@0.0.1 rocketchat:cas@1.0.0 rocketchat:channel-settings@0.0.1 rocketchat:channel-settings-mail-messages@0.0.1 +rocketchat:cloud@0.0.1 rocketchat:colors@0.0.1 rocketchat:cors@0.0.1 rocketchat:crowd@1.0.0 @@ -177,7 +183,6 @@ rocketchat:importer-hipchat-enterprise@1.0.0 rocketchat:importer-slack@0.0.1 rocketchat:importer-slack-users@1.0.0 rocketchat:integrations@0.0.1 -rocketchat:internal-hubot@0.0.1 rocketchat:irc@0.0.1 rocketchat:issuelinks@0.0.1 rocketchat:katex@0.0.1 @@ -207,7 +212,6 @@ rocketchat:oauth2-server@2.0.0 rocketchat:oauth2-server-config@1.0.0 rocketchat:oembed@0.0.1 rocketchat:otr@0.0.1 -rocketchat:postcss@1.0.0 rocketchat:push@3.3.1 rocketchat:push-notifications@0.0.1 rocketchat:reactions@0.0.1 @@ -238,11 +242,10 @@ rocketchat:smarsh-connector@0.0.1 rocketchat:sms@0.0.1 rocketchat:spotify@0.0.1 rocketchat:statistics@0.0.1 -rocketchat:streamer@0.6.2 +rocketchat:streamer@1.0.1 rocketchat:theme@0.0.1 rocketchat:tokenpass@0.0.1 rocketchat:tooltip@0.0.1 -rocketchat:tutum@0.0.1 rocketchat:ui@0.1.0 rocketchat:ui-account@0.1.0 rocketchat:ui-admin@0.1.0 @@ -254,25 +257,24 @@ rocketchat:ui-message@0.1.0 rocketchat:ui-sidenav@0.1.0 rocketchat:ui-vrecord@0.0.1 rocketchat:user-data-download@1.0.0 +rocketchat:utils@0.0.1 rocketchat:version@1.0.0 rocketchat:version-check@0.0.1 rocketchat:videobridge@0.2.0 rocketchat:webdav@0.0.1 rocketchat:webrtc@0.0.1 rocketchat:wordpress@0.0.1 -routepolicy@1.0.13 -server-render@0.3.1 +routepolicy@1.1.0 service-configuration@1.0.11 -session@1.1.7 +session@1.2.0 sha@1.0.9 -shell-server@0.3.1 -shim-common@0.1.0 +shell-server@0.4.0 simple:json-routes@2.1.0 -socket-stream-client@0.1.0 +socket-stream-client@0.2.2 spacebars@1.0.15 spacebars-compiler@1.1.3 -srp@1.0.10 -standard-minifier-js@2.3.4 +srp@1.0.12 +standard-minifier-js@2.4.0 steffo:meteor-accounts-saml@0.0.1 swydo:graphql@0.4.0 tap:i18n@1.8.2 @@ -280,13 +282,14 @@ templating@1.3.2 templating-compiler@1.3.3 templating-runtime@1.3.2 templating-tools@1.1.2 +tmeasday:check-npm-versions@0.3.2 todda00:friendly-slugs@0.6.0 -tracker@1.1.3 +tracker@1.2.0 twitter-oauth@1.2.0 ui@1.0.13 underscore@1.0.10 url@1.2.0 -webapp@1.5.0 +webapp@1.7.2 webapp-hashing@1.0.9 yasaricli:slugify@0.0.7 yasinuslu:blaze-meta@0.3.3 diff --git a/.postcssrc b/.postcssrc index f0e4aa4b697e..3816f7d2c9fa 100644 --- a/.postcssrc +++ b/.postcssrc @@ -1,6 +1,6 @@ { "plugins": { - "postcss-import": {}, + "postcss-easy-import": {}, "postcss-custom-properties": { "preserve": true }, @@ -9,18 +9,12 @@ "postcss-nested": {}, "autoprefixer": { "browsers": [ - "ie > 10", - "last 2 Edge versions", - "last 2 Firefox versions", - "last 1 FirefoxAndroid versions", - "last 2 Chrome versions", - "last 1 ChromeAndroid versions", - "Safari > 7", - "last 2 Opera versions", - "last 2 iOS versions", - "last 1 Android version" + "last 2 versions" ] } }, - "excludedPackages": ["deepwell:bootstrap-datepicker2", "smoral:sweetalert"] + "excludedPackages": [ + "deepwell:bootstrap-datepicker2", + "smoral:sweetalert" + ] } diff --git a/.sandstorm/sandstorm-pkgdef.capnp b/.sandstorm/sandstorm-pkgdef.capnp index 83bb35b7294a..56710c7202f6 100644 --- a/.sandstorm/sandstorm-pkgdef.capnp +++ b/.sandstorm/sandstorm-pkgdef.capnp @@ -19,9 +19,9 @@ const pkgdef :Spk.PackageDefinition = ( appTitle = (defaultText = "Rocket.Chat"), - appVersion = 112, # Increment this for every release. + appVersion = 123, # Increment this for every release. - appMarketingVersion = (defaultText = "0.71.1"), + appMarketingVersion = (defaultText = "0.73.2"), # Human-readable representation of appVersion. Should match the way you # identify versions of your app in documentation and marketing. diff --git a/.scripts/seperateTesting.sh b/.scripts/seperateTesting.sh deleted file mode 100755 index 47e477bb5465..000000000000 --- a/.scripts/seperateTesting.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash -tmpPath=tests/end-to-end/temporary_staged_test -rm -rf $tmpPath -mkdir -p $tmpPath -[ -z "$RETRY_TESTS" ] && RETRY_TESTS=1 -for file in tests/end-to-end/*/*.js; do - failed=1 - for i in `seq 1 $RETRY_TESTS`; do - echo '-------------- '$i' try ---------------' - set -x - cp $file $tmpPath - CHIMP_PATH=$tmpPath npm run chimp-path - failed=$? - set +x - if [ $failed -eq 0 ]; then - break - fi - done - if [ $failed -ne 0 ]; then - exit 1 - fi - rm $tmpPath/${file##*/} -done diff --git a/.scripts/set-version.js b/.scripts/set-version.js index 8db33523a423..0016f95e8f5a 100644 --- a/.scripts/set-version.js +++ b/.scripts/set-version.js @@ -84,8 +84,6 @@ git.status() .then((data) => writeFile(file, data.replace(pkgJson.version, version))))); }) .then(() => - // execSync('conventional-changelog --config .github/changelog.js -i HISTORY.md -s'); - inquirer.prompt([{ type: 'confirm', message: 'Commit files?', diff --git a/.scripts/translationDiff.js b/.scripts/translationDiff.js new file mode 100644 index 000000000000..f3ef783c8ac5 --- /dev/null +++ b/.scripts/translationDiff.js @@ -0,0 +1,38 @@ +#!/usr/bin/env node + +const path = require('path'); +const fs = require('fs'); +const util = require('util'); + +// Convert fs.readFile into Promise version of same +const readFile = util.promisify(fs.readFile); + +const translationDir = path.resolve(__dirname, '../packages/rocketchat-i18n/i18n/'); + +async function translationDiff(source, target) { + console.debug('loading translations from', translationDir); + + function diffKeys(a, b) { + const diff = {}; + Object.keys(a).forEach((key) => { + if (!b[key]) { + diff[key] = a[key]; + } + }); + + return diff; + } + + const sourceTranslations = JSON.parse(await readFile(`${ translationDir }/${ source }.i18n.json`, 'utf8')); + const targetTranslations = JSON.parse(await readFile(`${ translationDir }/${ target }.i18n.json`, 'utf8')); + + return diffKeys(sourceTranslations, targetTranslations); +} + +console.log('Note: You can set the source and target language of the comparison with env-variables SOURCE/TARGET_LANGUAGE'); +const sourceLang = process.env.SOURCE_LANGUAGE || 'en'; +const targetLang = process.env.TARGET_LANGUAGE || 'de'; +translationDiff(sourceLang, targetLang).then((diff) => { + console.log('Diff between', sourceLang, 'and', targetLang); + console.log(JSON.stringify(diff, '', 2)); +}); diff --git a/.scripts/version.js b/.scripts/version.js index cd18c6711439..79f523ab48da 100644 --- a/.scripts/version.js +++ b/.scripts/version.js @@ -1,5 +1,3 @@ -/* eslint object-shorthand: 0, prefer-template: 0 */ - const path = require('path'); let pkgJson = {}; diff --git a/.snapcraft/resources/Caddyfile b/.snapcraft/resources/Caddyfile index ce07ab1e2ef9..23299c1d2b7e 100644 --- a/.snapcraft/resources/Caddyfile +++ b/.snapcraft/resources/Caddyfile @@ -1,5 +1,5 @@ -http://:8080 -proxy / localhost:3000 { +_caddy-url_ +proxy / localhost:_port_ { websocket transparent } diff --git a/.snapcraft/resources/initcaddy b/.snapcraft/resources/initcaddy index f52cb80de8a2..b55d20de02b3 100755 --- a/.snapcraft/resources/initcaddy +++ b/.snapcraft/resources/initcaddy @@ -1,3 +1,46 @@ -#!/bin/sh -cp $SNAP/bin/Caddyfile $SNAP_DATA/Caddyfile -echo "Replace $SNAP_DATA/Caddyfile with your own to customize reverse proxy" +#!/bin/bash + +# Config options for Caddyfile +#options="site path port" +options="caddy-url port" + +refresh_opt_in_config() { +# replace an option inside the config file. + opt=$1 + value="$2" + if $(grep -q "_${opt}_" $Caddyfile); then + sed "s,_${opt}_,$value," $Caddyfile 2>/dev/null > ${Caddyfile}.new + mv -f ${Caddyfile}.new $Caddyfile 2>/dev/null + else + echo "Fail to update $opt in Caddyfile" + fi +} + +create_caddyfile(){ +# Copy template to config Caddyfile +cp $SNAP/bin/Caddyfile $SNAP_DATA/Caddyfile +} + +update_caddyfile(){ +# Config file path for Caddyfile +Caddyfile=$SNAP_DATA/Caddyfile + +# Iterate through the config options array +for opt in $options + do + # Use snapctl to get the value registered by the snap set command + refresh_opt_in_config $opt $(snapctl get $opt) +done +} + +caddy="$(snapctl get caddy)" +if [[ $caddy == "disable" ]]; then + echo "Caddy is not enabled, please set caddy-url= and caddy=enable" + exit 1 +fi + +create_caddyfile +update_caddyfile + +echo "Your URL was successfully configured - Please restart rocketchat and caddy services to apply configuration changes" + diff --git a/.snapcraft/resources/startRocketChat b/.snapcraft/resources/startRocketChat index 50d257b4515c..b39e22742a73 100755 --- a/.snapcraft/resources/startRocketChat +++ b/.snapcraft/resources/startRocketChat @@ -16,10 +16,20 @@ function start_rocketchat { export NODE_ENV=production export BABEL_CACHE_DIR=/tmp export ROOT_URL=http://localhost - export PORT=3000 - export MONGO_URL=mongodb://localhost:27017/parties - export MONGO_OPLOG_URL=mongodb://localhost:27017/local + export PORT="$(snapctl get port)" + export MONGO_URL="$(snapctl get mongo-url)" + export MONGO_OPLOG_URL="$(snapctl get mongo-oplog-url)" export Accounts_AvatarStorePath=$SNAP_COMMON/uploads + siteurl="$(snapctl get siteurl)" + if [ -n "$siteurl" ]; then + export OVERWRITE_SETTING_Site_Url=$siteurl + fi + + for filename in $SNAP_COMMON/*.env; do + while read env_var; do + export "$env_var" + done < $filename + done node $SNAP/main.js } diff --git a/.snapcraft/snap/hooks/configure b/.snapcraft/snap/hooks/configure new file mode 100755 index 000000000000..3f2a606e7f11 --- /dev/null +++ b/.snapcraft/snap/hooks/configure @@ -0,0 +1,122 @@ +#!/bin/bash + +export PATH="$SNAP/usr/sbin:$SNAP/usr/bin:$SNAP/sbin:$SNAP/bin:$PATH" +export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$SNAP/lib:$SNAP/usr/lib:$SNAP/lib/x86_64-linux-gnu:$SNAP/usr/lib/x86_64-linux-gnu" +export LD_LIBRARY_PATH=$SNAP_LIBRARY_PATH:$LD_LIBRARY_PATH + +# Obtain caddyurl value +caddyurl="$(snapctl get caddy-url)" +# Validate it +#caddyurl_regex='^https?:\/\/([0-9A-Za-z\.-]+){1,}(\.[a-z\.]{2,6})?([\/\da-z\.-]+)?$' #(supporting path) +caddyurl_regex='^https?:\/\/([0-9A-Za-z\.-]+){1,}(\.[a-z\.]{2,6})?$' +if [ -n "$caddyurl" ]; then + if ! [[ $caddyurl =~ $caddyurl_regex ]]; then + echo "\"$caddyurl\" is not a valid url" >&2 + exit 1 + fi +#else +# if [[ $siteurl =~ ^http: ]] && [[ $siteurl =~ ^http:\/\/([0-9A-Za-z\.-]+){1,}?(\.[a-z\.]{2,6})?\/([\/\da-z\.-]+){1,}$ ]]; then +# path=${siteurl#http://*/} +# site=${siteurl#"http://"} +# site=${site%%/*} +# site=http://$site +# elif [[ $siteurl =~ ^https: ]] && [[ $siteurl =~ ^https:\/\/([0-9A-Za-z\.-]+){1,}?(\.[a-z\.]{2,6})?\/([\/\da-z\.-]+){1,}$ ]]; then +# path=${siteurl#https://*/} +# site=${siteurl#"https://"} +# site=${site%%/*} +# site=https://$site +# else +# path="" +# site=$siteurl +# fi +# snapctl set path=$path +# snapctl set site=$site +fi + +# Obtain caddy value +caddy="$(snapctl get caddy)" +# Validate it +caddy_regex='((enable)|(disable))' +if ! [[ $caddy =~ $caddy_regex ]]; then + echo "\"$caddy_regex\" is not a valid, set to enable or disable" >&2 + exit 1 +else + if [[ $caddy == enable ]]; then + caddyurl="$(snapctl get caddy-url)" + if [ -z "$caddyurl" ]; then + echo "You tried to enable caddy but caddy-url is not set yet, please set up caddy-url first and then enable caddy again" >&2 + snapctl set caddy=disable + exit 1 + else + snapctl set siteurl=$caddyurl + fi + else + siteurl="$(snapctl get siteurl)" + if [ -n "$siteurl" ]; then + snapctl set siteurl= + fi + fi +fi + +# Obtain port value +port="$(snapctl get port)" +# Validate it +port_regex='^([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$' +if ! [[ $port =~ $port_regex ]]; then + echo "\"$port\" is not a valid port" >&2 + exit 1 +fi + +# Obtain mongourl value +mongourl="$(snapctl get mongo-url)" +# Validate it +mongourl_regex='^mongodb:\/\/([0-9A-Za-z\.\-\_]+){1,}(([a-z\.\-\_]+){2,6})?(:[0-9]{2,5})?\/([0-9A-Za-z\_\-]+)$' +if ! [[ $mongourl =~ $mongourl_regex ]] ; then + echo "\"$mongourl\" is not a valid url" >&2 + exit 1 +fi + +# Obtain mongooplogurl value +mongooplogurl="$(snapctl get mongo-oplog-url)" +# Validate it +mongooplogurl_regex='^mongodb:\/\/([0-9A-Za-z\.\-\_]+){1,}(([a-z\.\-\_]+){2,6})?(:[0-9]{2,5})?\/local$' +if ! [[ $mongooplogurl =~ $mongooplogurl_regex ]] ; then + echo "\"$mongooplogurl\" is not a valid url" >&2 + exit 1 +fi + +# Obtain site protocol +https="$(snapctl get https)" +# Validate it +https_regex='((enable)|(disable))' +if ! [[ $https =~ $https_regex ]]; then + echo "\"$https\" should be enable or disable" >&2 + exit 1 +else + if [[ $https == enable ]] && [[ $caddyurl =~ ^http: ]]; then + echo "Error: You enabled https but your site URL starts with http, disabling https ..." + snapctl set https=disable + exit 1 + elif [[ $https == enable ]] && [[ $caddyurl =~ ^https: ]]; then + domain=${caddyurl#"https://"} + domain=${domain%%/*} + pubip=$(dig $domain |grep -A1 ";; ANSWER SECTION:" |tail -1 | awk '{print $5}') + if [ -z "$pubip" ]; then + echo "Error: Can't resove DNS query for $domain, check your DNS configuration, disabling https ..." + snapctl set https=disable + exit 1 + else + ip=$(curl ipinfo.io/ip 2>/dev/null) + if [[ $ip != $pubip ]]; then + echo "Error: Your public IP doesn't match the one resolved for caddy-url, disabling https ..." + snapctl set https=disable + exit 1 + fi + fi + elif [[ $https == enable ]] && [ -z "$caddyurl" ]; then + echo "Error: You enabled https but your site URL is empty, please set caddy-url=, disabling https ..." + snapctl set https=disable + exit 1 + fi +fi + diff --git a/.snapcraft/snap/hooks/install b/.snapcraft/snap/hooks/install new file mode 100755 index 000000000000..9a78145595ec --- /dev/null +++ b/.snapcraft/snap/hooks/install @@ -0,0 +1,16 @@ +#!/bin/bash + +# Initialize the CADDY_URL to a default +snapctl set caddy=disable + +# Initialize the PORT to a default +snapctl set port=3000 + +# Initialize the MONGO_URL to a default +snapctl set mongo-url=mongodb://localhost:27017/parties + +# Initialize the MONGO_OPLOG_URL to a default +snapctl set mongo-oplog-url=mongodb://localhost:27017/local + +# Initialize the protocol to a default +snapctl set https=disable diff --git a/.snapcraft/snapcraft.yaml b/.snapcraft/snap/snapcraft.yaml similarity index 90% rename from .snapcraft/snapcraft.yaml rename to .snapcraft/snap/snapcraft.yaml index 50354f7afa7f..ae99be479245 100644 --- a/.snapcraft/snapcraft.yaml +++ b/.snapcraft/snap/snapcraft.yaml @@ -22,7 +22,7 @@ apps: daemon: simple plugs: [network, network-bind] rocketchat-caddy: - command: env LC_ALL=C caddy -conf=$SNAP_DATA/Caddyfile -host=localhost:8080 + command: env LC_ALL=C caddy -conf=$SNAP_DATA/Caddyfile daemon: simple plugs: [network, network-bind] mongo: @@ -36,6 +36,9 @@ apps: plugs: [network] initcaddy: command: env LC_ALL=C initcaddy +hooks: + configure: + plugs: [network] parts: node: plugin: dump @@ -95,3 +98,12 @@ parts: organize: caddy: bin/caddy after: [mongodb] + hooks: + plugin: nil + stage-packages: + - dnsutils + - curl + prime: + - usr + - lib + diff --git a/.stylelintignore b/.stylelintignore index 8e94b289684f..88092312fb93 100644 --- a/.stylelintignore +++ b/.stylelintignore @@ -1,2 +1,2 @@ -packages/rocketchat-theme/client/vendor/fontello/css/fontello.css +packages/rocketchat_theme/client/vendor/fontello/css/fontello.css packages/meteor-autocomplete/client/autocomplete.css diff --git a/.travis/snap.sh b/.travis/snap.sh index 2005bc709434..fa86aaa9065e 100755 --- a/.travis/snap.sh +++ b/.travis/snap.sh @@ -17,7 +17,7 @@ elif [[ $TRAVIS_TAG ]]; then RC_VERSION=$TRAVIS_TAG else CHANNEL=edge - RC_VERSION=0.71.1 + RC_VERSION=0.73.2 fi echo "Preparing to trigger a snap release for $CHANNEL channel" diff --git a/HISTORY.md b/HISTORY.md index 878f2482dfe1..70fbf778b9ca 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,6 +1,8 @@ + # Assistify 0.9.9 - Minor fixes +- Assistify.Chat is now based on Rocket.Chat 0.73.0! # Assistify 0.9.8 @@ -59,8 +61,456 @@ Reason for this quite unusual behavior is that we wanted to return closer to the Assistify.Chat is now based on Rocket.Chat 0.68.5! +# 0.73.0 +`2018-12-28 · 10 🎉 · 9 🚀 · 34 🐛 · 84 🔍 · 26 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.11.4` +- NPM: `6.4.1` + +### 🎉 New features + +- Create new permission.listAll endpoint to be able to use updatedSince parameter ([#12748](https://github.com/RocketChat/Rocket.Chat/pull/12748)) +- Mandatory 2fa for role ([#9748](https://github.com/RocketChat/Rocket.Chat/pull/9748) by [@karlprieb](https://github.com/karlprieb)) +- Add query parameter support to emoji-custom endpoint ([#12754](https://github.com/RocketChat/Rocket.Chat/pull/12754)) +- Added a link to contributing.md ([#12856](https://github.com/RocketChat/Rocket.Chat/pull/12856) by [@sanketsingh24](https://github.com/sanketsingh24)) +- Added chat.getDeletedMessages since specific date ([#13010](https://github.com/RocketChat/Rocket.Chat/pull/13010)) +- Download button for each file in fileslist ([#12874](https://github.com/RocketChat/Rocket.Chat/pull/12874) by [@alexbartsch](https://github.com/alexbartsch)) +- Syncloud deploy option ([#12867](https://github.com/RocketChat/Rocket.Chat/pull/12867) by [@cyberb](https://github.com/cyberb)) +- Config hooks for snap ([#12351](https://github.com/RocketChat/Rocket.Chat/pull/12351)) +- Livechat registration form message ([#12597](https://github.com/RocketChat/Rocket.Chat/pull/12597)) +- Include message type & id in push notification payload ([#12771](https://github.com/RocketChat/Rocket.Chat/pull/12771)) + +### 🚀 Improvements + +- Hipchat Enterprise Importer ([#12985](https://github.com/RocketChat/Rocket.Chat/pull/12985)) +- Add missing translation keys. ([#12722](https://github.com/RocketChat/Rocket.Chat/pull/12722) by [@ura14h](https://github.com/ura14h)) +- Accept Slash Commands via Action Buttons when `msg_in_chat_window: true` ([#13009](https://github.com/RocketChat/Rocket.Chat/pull/13009)) +- Allow transfer Livechats to online agents only ([#13008](https://github.com/RocketChat/Rocket.Chat/pull/13008)) +- Adding debugging instructions in README ([#12989](https://github.com/RocketChat/Rocket.Chat/pull/12989) by [@hypery2k](https://github.com/hypery2k)) +- Do not emit settings if there are no changes ([#12904](https://github.com/RocketChat/Rocket.Chat/pull/12904)) +- Returning an open room object in the Livechat config endpoint ([#12865](https://github.com/RocketChat/Rocket.Chat/pull/12865)) +- Use MongoBD aggregation to get users from a room ([#12566](https://github.com/RocketChat/Rocket.Chat/pull/12566)) +- Username suggestion logic ([#12779](https://github.com/RocketChat/Rocket.Chat/pull/12779)) + +### 🐛 Bug fixes + +- Avoiding links with highlighted words ([#12123](https://github.com/RocketChat/Rocket.Chat/pull/12123) by [@rssilva](https://github.com/rssilva)) +- Pin and unpin message were not checking permissions ([#12739](https://github.com/RocketChat/Rocket.Chat/pull/12739)) +- Fix users.setPreferences endpoint, set language correctly ([#12734](https://github.com/RocketChat/Rocket.Chat/pull/12734)) +- Fix set avatar http call, to avoid SSL errors ([#12790](https://github.com/RocketChat/Rocket.Chat/pull/12790)) +- Webdav integration account settings were being shown even when Webdav was disabled ([#12569](https://github.com/RocketChat/Rocket.Chat/pull/12569) by [@karakayasemi](https://github.com/karakayasemi)) +- Provide better Dutch translations 🇳🇱 ([#12792](https://github.com/RocketChat/Rocket.Chat/pull/12792) by [@mathysie](https://github.com/mathysie)) +- E2E`s password reaveal text is always `>%S` when language is zh ([#12795](https://github.com/RocketChat/Rocket.Chat/pull/12795) by [@lvyue](https://github.com/lvyue)) +- Nested Markdown blocks not parsed properly ([#12998](https://github.com/RocketChat/Rocket.Chat/pull/12998)) +- Change JSON to EJSON.parse query to support type Date ([#12706](https://github.com/RocketChat/Rocket.Chat/pull/12706)) +- Inherit font family in message user card ([#13004](https://github.com/RocketChat/Rocket.Chat/pull/13004)) +- Some deprecation issues for media recording ([#12948](https://github.com/RocketChat/Rocket.Chat/pull/12948)) +- Stop click event propagation on mention link or user card ([#12983](https://github.com/RocketChat/Rocket.Chat/pull/12983)) +- Change field checks in RocketChat.saveStreamingOptions ([#12973](https://github.com/RocketChat/Rocket.Chat/pull/12973)) +- Remove sharp's deprecation warnings on image upload ([#12980](https://github.com/RocketChat/Rocket.Chat/pull/12980)) +- Use web.browser.legacy bundle for Livechat script ([#12975](https://github.com/RocketChat/Rocket.Chat/pull/12975)) +- Revert Jitsi external API to an asset ([#12954](https://github.com/RocketChat/Rocket.Chat/pull/12954)) +- Exception in getSingleMessage ([#12970](https://github.com/RocketChat/Rocket.Chat/pull/12970) by [@tsukiRep](https://github.com/tsukiRep)) +- multiple rooms-changed ([#12940](https://github.com/RocketChat/Rocket.Chat/pull/12940)) +- Readable validation on the apps engine environment bridge ([#12994](https://github.com/RocketChat/Rocket.Chat/pull/12994)) +- Check for object falsehood before referencing properties in saveRoomSettings ([#12972](https://github.com/RocketChat/Rocket.Chat/pull/12972)) +- Spotlight being called while in background ([#12957](https://github.com/RocketChat/Rocket.Chat/pull/12957)) +- Padding for message box in embedded layout ([#12556](https://github.com/RocketChat/Rocket.Chat/pull/12556)) +- Crowd sync was being stopped when a user was not found ([#12930](https://github.com/RocketChat/Rocket.Chat/pull/12930) by [@piotrkochan](https://github.com/piotrkochan)) +- Some icons were missing ([#12913](https://github.com/RocketChat/Rocket.Chat/pull/12913)) +- User data download fails when a room has been deleted. ([#12829](https://github.com/RocketChat/Rocket.Chat/pull/12829)) +- CAS Login not working with renamed users ([#12860](https://github.com/RocketChat/Rocket.Chat/pull/12860)) +- Stream of my_message wasn't sending the room information ([#12914](https://github.com/RocketChat/Rocket.Chat/pull/12914)) +- cannot reset password ([#12903](https://github.com/RocketChat/Rocket.Chat/pull/12903)) +- Version check update notification ([#12905](https://github.com/RocketChat/Rocket.Chat/pull/12905)) +- Data Import not working ([#12866](https://github.com/RocketChat/Rocket.Chat/pull/12866)) +- Incorrect parameter name in Livechat stream ([#12851](https://github.com/RocketChat/Rocket.Chat/pull/12851)) +- Autotranslate icon on message action menu ([#12585](https://github.com/RocketChat/Rocket.Chat/pull/12585)) +- Google Cloud Storage storage provider ([#12843](https://github.com/RocketChat/Rocket.Chat/pull/12843)) +- Download files without extension wasn't possible ([#13033](https://github.com/RocketChat/Rocket.Chat/pull/13033)) + +
+🔍 Minor changes + +- LingoHub based on develop ([#13014](https://github.com/RocketChat/Rocket.Chat/pull/13014)) +- Move isFirefox and isChrome functions to rocketchat-utils ([#13011](https://github.com/RocketChat/Rocket.Chat/pull/13011)) +- Move tapi18n t and isRtl functions from ui to utils ([#13005](https://github.com/RocketChat/Rocket.Chat/pull/13005)) +- Remove /* globals */ wave 4 ([#12999](https://github.com/RocketChat/Rocket.Chat/pull/12999)) +- Remove /* globals */ wave 3 ([#12997](https://github.com/RocketChat/Rocket.Chat/pull/12997)) +- Convert rocketchat-logger to main module structure and remove Logger from eslintrc ([#12995](https://github.com/RocketChat/Rocket.Chat/pull/12995)) +- Remove /* globals */ wave 2 ([#12988](https://github.com/RocketChat/Rocket.Chat/pull/12988)) +- Remove /* globals */ from files wave-1 ([#12984](https://github.com/RocketChat/Rocket.Chat/pull/12984)) +- Move globals of test to a specific eslintrc file ([#12959](https://github.com/RocketChat/Rocket.Chat/pull/12959)) +- Remove global ServiceConfiguration ([#12960](https://github.com/RocketChat/Rocket.Chat/pull/12960)) +- Remove global toastr ([#12961](https://github.com/RocketChat/Rocket.Chat/pull/12961)) +- Convert rocketchat-livechat to main module structure ([#12942](https://github.com/RocketChat/Rocket.Chat/pull/12942)) +- changed maxRoomsOpen ([#12949](https://github.com/RocketChat/Rocket.Chat/pull/12949)) +- Revert imports of css, reAdd them to the addFiles function ([#12934](https://github.com/RocketChat/Rocket.Chat/pull/12934)) +- Convert rocketchat-theme to main module structure ([#12896](https://github.com/RocketChat/Rocket.Chat/pull/12896)) +- Convert rocketchat-katex to main module structure ([#12895](https://github.com/RocketChat/Rocket.Chat/pull/12895)) +- Convert rocketchat-webdav to main module structure ([#12886](https://github.com/RocketChat/Rocket.Chat/pull/12886)) +- Convert rocketchat-ui-message to main module structure ([#12871](https://github.com/RocketChat/Rocket.Chat/pull/12871)) +- Convert rocketchat-videobridge to main module structure ([#12881](https://github.com/RocketChat/Rocket.Chat/pull/12881)) +- Convert rocketchat-reactions to main module structure ([#12888](https://github.com/RocketChat/Rocket.Chat/pull/12888)) +- Convert rocketchat-wordpress to main module structure ([#12887](https://github.com/RocketChat/Rocket.Chat/pull/12887)) +- Fix: snap push from ci ([#12883](https://github.com/RocketChat/Rocket.Chat/pull/12883)) +- Convert rocketchat-version-check to main module structure ([#12879](https://github.com/RocketChat/Rocket.Chat/pull/12879)) +- Convert rocketchat-user-data-dowload to main module structure ([#12877](https://github.com/RocketChat/Rocket.Chat/pull/12877)) +- Convert rocketchat-ui-vrecord to main module structure ([#12875](https://github.com/RocketChat/Rocket.Chat/pull/12875)) +- Convert rocketchat-ui-login to main module structure ([#12861](https://github.com/RocketChat/Rocket.Chat/pull/12861)) +- Convert rocketchat-ui-flextab to main module structure ([#12859](https://github.com/RocketChat/Rocket.Chat/pull/12859)) +- German translation typo fix for Reacted_with ([#12761](https://github.com/RocketChat/Rocket.Chat/pull/12761) by [@localguru](https://github.com/localguru)) +- Convert rocketchat-ui-account to main module structure ([#12842](https://github.com/RocketChat/Rocket.Chat/pull/12842)) +- Convert rocketchat-ui-clean-history to main module structure ([#12846](https://github.com/RocketChat/Rocket.Chat/pull/12846)) +- Convert rocketchat-ui-admin to main module structure ([#12844](https://github.com/RocketChat/Rocket.Chat/pull/12844)) +- Convert rocketchat-tokenpass to main module structure ([#12838](https://github.com/RocketChat/Rocket.Chat/pull/12838)) +- Remove rocketchat-tutum package ([#12840](https://github.com/RocketChat/Rocket.Chat/pull/12840)) +- Convert rocketchat-tooltip to main module structure ([#12839](https://github.com/RocketChat/Rocket.Chat/pull/12839)) +- Convert rocketchat-token-login to main module structure ([#12837](https://github.com/RocketChat/Rocket.Chat/pull/12837)) +- Convert rocketchat-statistics to main module structure ([#12833](https://github.com/RocketChat/Rocket.Chat/pull/12833)) +- Convert rocketchat-spotify to main module structure ([#12832](https://github.com/RocketChat/Rocket.Chat/pull/12832)) +- Convert rocketchat-sms to main module structure ([#12831](https://github.com/RocketChat/Rocket.Chat/pull/12831)) +- Convert rocketchat-search to main module structure ([#12801](https://github.com/RocketChat/Rocket.Chat/pull/12801)) +- Convert rocketchat-message-pin to main module structure ([#12767](https://github.com/RocketChat/Rocket.Chat/pull/12767)) +- Convert rocketchat-message-star to main module structure ([#12770](https://github.com/RocketChat/Rocket.Chat/pull/12770)) +- Convert rocketchat-slashcommands-msg to main module structure ([#12823](https://github.com/RocketChat/Rocket.Chat/pull/12823)) +- Convert rocketchat-smarsh-connector to main module structure ([#12830](https://github.com/RocketChat/Rocket.Chat/pull/12830)) +- Convert rocketchat-slider to main module structure ([#12828](https://github.com/RocketChat/Rocket.Chat/pull/12828)) +- Convert rocketchat-slashcommands-unarchiveroom to main module structure ([#12827](https://github.com/RocketChat/Rocket.Chat/pull/12827)) +- Dependencies update ([#12624](https://github.com/RocketChat/Rocket.Chat/pull/12624)) +- Convert rocketchat-slashcommands-topic to main module structure ([#12826](https://github.com/RocketChat/Rocket.Chat/pull/12826)) +- Convert rocketchat-slashcommands-open to main module structure ([#12825](https://github.com/RocketChat/Rocket.Chat/pull/12825)) +- Convert rocketchat-slashcommands-mute to main module structure ([#12824](https://github.com/RocketChat/Rocket.Chat/pull/12824)) +- Convert rocketchat-slashcommands-me to main module structure ([#12822](https://github.com/RocketChat/Rocket.Chat/pull/12822)) +- Convert rocketchat-slashcommands-leave to main module structure ([#12821](https://github.com/RocketChat/Rocket.Chat/pull/12821)) +- Convert rocketchat-slashcommands-kick to main module structure ([#12817](https://github.com/RocketChat/Rocket.Chat/pull/12817)) +- Convert rocketchat-slashcommands-join to main module structure ([#12816](https://github.com/RocketChat/Rocket.Chat/pull/12816)) +- Convert rocketchat-slashcommands-inviteall to main module structure ([#12815](https://github.com/RocketChat/Rocket.Chat/pull/12815)) +- Convert rocketchat-slashcommands-invite to main module structure ([#12814](https://github.com/RocketChat/Rocket.Chat/pull/12814)) +- Convert rocketchat-slashcommands-hide to main module structure ([#12813](https://github.com/RocketChat/Rocket.Chat/pull/12813)) +- Convert rocketchat-slashcommands-help to main module structure ([#12812](https://github.com/RocketChat/Rocket.Chat/pull/12812)) +- Convert rocketchat-slashcommands-create to main module structure ([#12811](https://github.com/RocketChat/Rocket.Chat/pull/12811)) +- Convert rocketchat-slashcomands-archiveroom to main module structure ([#12810](https://github.com/RocketChat/Rocket.Chat/pull/12810)) +- Convert rocketchat-slashcommands-asciiarts to main module structure ([#12808](https://github.com/RocketChat/Rocket.Chat/pull/12808)) +- Convert rocketchat-slackbridge to main module structure ([#12807](https://github.com/RocketChat/Rocket.Chat/pull/12807)) +- Convert rocketchat-setup-wizard to main module structure ([#12806](https://github.com/RocketChat/Rocket.Chat/pull/12806)) +- Convert rocketchat-sandstorm to main module structure ([#12799](https://github.com/RocketChat/Rocket.Chat/pull/12799)) +- Convert rocketchat-oauth2-server-config to main module structure ([#12773](https://github.com/RocketChat/Rocket.Chat/pull/12773)) +- Convert rocketchat-message-snippet to main module structure ([#12768](https://github.com/RocketChat/Rocket.Chat/pull/12768)) +- Fix CI deploy job ([#12803](https://github.com/RocketChat/Rocket.Chat/pull/12803)) +- Convert rocketchat-retention-policy to main module structure ([#12797](https://github.com/RocketChat/Rocket.Chat/pull/12797)) +- Convert rocketchat-push-notifications to main module structure ([#12778](https://github.com/RocketChat/Rocket.Chat/pull/12778)) +- Convert rocketchat-otr to main module structure ([#12777](https://github.com/RocketChat/Rocket.Chat/pull/12777)) +- Convert rocketchat-oembed to main module structure ([#12775](https://github.com/RocketChat/Rocket.Chat/pull/12775)) +- Convert rocketchat-migrations to main-module structure ([#12772](https://github.com/RocketChat/Rocket.Chat/pull/12772)) +- Convert rocketchat-message-mark-as-unread to main module structure ([#12766](https://github.com/RocketChat/Rocket.Chat/pull/12766)) +- Remove conventional changelog cli, we are using our own cli now (Houston) ([#12798](https://github.com/RocketChat/Rocket.Chat/pull/12798)) +- Convert rocketchat-message-attachments to main module structure ([#12760](https://github.com/RocketChat/Rocket.Chat/pull/12760)) +- Convert rocketchat-message-action to main module structure ([#12759](https://github.com/RocketChat/Rocket.Chat/pull/12759)) +- Convert rocketchat-mentions-flextab to main module structure ([#12757](https://github.com/RocketChat/Rocket.Chat/pull/12757)) +- Convert rocketchat-mentions to main module structure ([#12756](https://github.com/RocketChat/Rocket.Chat/pull/12756)) +- Convert rocketchat-markdown to main module structure ([#12755](https://github.com/RocketChat/Rocket.Chat/pull/12755)) +- Convert rocketchat-mapview to main module structure ([#12701](https://github.com/RocketChat/Rocket.Chat/pull/12701)) +- Add check to make sure releases was updated ([#12791](https://github.com/RocketChat/Rocket.Chat/pull/12791)) +- Merge master into develop & Set version to 0.73.0-develop ([#12776](https://github.com/RocketChat/Rocket.Chat/pull/12776)) +- Change `chat.getDeletedMessages` to get messages after informed date and return only message's _id ([#13021](https://github.com/RocketChat/Rocket.Chat/pull/13021)) +- Improve Importer code quality ([#13020](https://github.com/RocketChat/Rocket.Chat/pull/13020)) +- Regression: List of custom emojis wasn't working ([#13031](https://github.com/RocketChat/Rocket.Chat/pull/13031)) + +
+ +### 👩‍💻👨‍💻 Contributors 😍 + +- [@alexbartsch](https://github.com/alexbartsch) +- [@cyberb](https://github.com/cyberb) +- [@hypery2k](https://github.com/hypery2k) +- [@karakayasemi](https://github.com/karakayasemi) +- [@karlprieb](https://github.com/karlprieb) +- [@localguru](https://github.com/localguru) +- [@lvyue](https://github.com/lvyue) +- [@mathysie](https://github.com/mathysie) +- [@piotrkochan](https://github.com/piotrkochan) +- [@rssilva](https://github.com/rssilva) +- [@sanketsingh24](https://github.com/sanketsingh24) +- [@tsukiRep](https://github.com/tsukiRep) +- [@ura14h](https://github.com/ura14h) + +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@Hudell](https://github.com/Hudell) +- [@LuluGO](https://github.com/LuluGO) +- [@MarcosSpessatto](https://github.com/MarcosSpessatto) +- [@cardoso](https://github.com/cardoso) +- [@d-gubert](https://github.com/d-gubert) +- [@engelgabriel](https://github.com/engelgabriel) +- [@geekgonecrazy](https://github.com/geekgonecrazy) +- [@ggazzo](https://github.com/ggazzo) +- [@marceloschmidt](https://github.com/marceloschmidt) +- [@renatobecker](https://github.com/renatobecker) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) +- [@tassoevan](https://github.com/tassoevan) + +# 0.72.3 +`2018-12-12 · 1 🔍 · 5 👩‍💻👨‍💻` + +
+🔍 Minor changes + +- Release 0.72.3 ([#12932](https://github.com/RocketChat/Rocket.Chat/pull/12932) by [@piotrkochan](https://github.com/piotrkochan)) + +
+ +### 👩‍💻👨‍💻 Contributors 😍 + +- [@piotrkochan](https://github.com/piotrkochan) + +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@Hudell](https://github.com/Hudell) +- [@ggazzo](https://github.com/ggazzo) +- [@rodrigok](https://github.com/rodrigok) +- [@tassoevan](https://github.com/tassoevan) + +# 0.72.2 +`2018-12-10 · 2 🐛 · 1 🔍 · 2 👩‍💻👨‍💻` + +### 🐛 Bug fixes + +- line-height for unread bar buttons (jump to first and mark as read) ([#12900](https://github.com/RocketChat/Rocket.Chat/pull/12900)) +- PDF view loading indicator ([#12882](https://github.com/RocketChat/Rocket.Chat/pull/12882)) + +
+🔍 Minor changes + +- Release 0.72.2 ([#12901](https://github.com/RocketChat/Rocket.Chat/pull/12901)) + +
+ +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@sampaiodiego](https://github.com/sampaiodiego) +- [@tassoevan](https://github.com/tassoevan) + +# 0.72.1 +`2018-12-05 · 4 🐛 · 3 🔍 · 8 👩‍💻👨‍💻` + +### 🐛 Bug fixes + +- Change spread operator to Array.from for Edge browser ([#12818](https://github.com/RocketChat/Rocket.Chat/pull/12818) by [@ohmonster](https://github.com/ohmonster)) +- API users.info returns caller rooms and not requested user ones ([#12727](https://github.com/RocketChat/Rocket.Chat/pull/12727) by [@piotrkochan](https://github.com/piotrkochan)) +- Missing HipChat Enterprise Importer ([#12847](https://github.com/RocketChat/Rocket.Chat/pull/12847)) +- Emoji as avatar ([#12805](https://github.com/RocketChat/Rocket.Chat/pull/12805)) + +
+🔍 Minor changes + +- Release 0.72.1 ([#12850](https://github.com/RocketChat/Rocket.Chat/pull/12850) by [@ohmonster](https://github.com/ohmonster) & [@piotrkochan](https://github.com/piotrkochan)) +- Bump Apps-Engine version ([#12848](https://github.com/RocketChat/Rocket.Chat/pull/12848)) +- Change file order in rocketchat-cors ([#12804](https://github.com/RocketChat/Rocket.Chat/pull/12804)) + +
+ +### 👩‍💻👨‍💻 Contributors 😍 + +- [@ohmonster](https://github.com/ohmonster) +- [@piotrkochan](https://github.com/piotrkochan) + +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@Hudell](https://github.com/Hudell) +- [@MarcosSpessatto](https://github.com/MarcosSpessatto) +- [@d-gubert](https://github.com/d-gubert) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) +- [@tassoevan](https://github.com/tassoevan) + +# 0.72.0 +`2018-11-28 · 1 ️️️⚠️ · 6 🎉 · 16 🚀 · 22 🐛 · 79 🔍 · 25 👩‍💻👨‍💻` + +### ⚠️ BREAKING CHANGES + +- Update to Meteor to 1.8 ([#12468](https://github.com/RocketChat/Rocket.Chat/pull/12468)) + +### 🎉 New features + +- Add permission to enable personal access token to specific roles ([#12309](https://github.com/RocketChat/Rocket.Chat/pull/12309)) +- Option to reset e2e key ([#12483](https://github.com/RocketChat/Rocket.Chat/pull/12483)) +- /api/v1/spotlight: return joinCodeRequired field for rooms ([#12651](https://github.com/RocketChat/Rocket.Chat/pull/12651)) +- New API Endpoints for the new version of JS SDK ([#12623](https://github.com/RocketChat/Rocket.Chat/pull/12623)) +- Setting to configure robots.txt content ([#12547](https://github.com/RocketChat/Rocket.Chat/pull/12547)) +- Make Livechat's widget draggable ([#12378](https://github.com/RocketChat/Rocket.Chat/pull/12378)) + +### 🚀 Improvements + +- Improve unreads and unreadsFrom response, prevent it to be equal null ([#12563](https://github.com/RocketChat/Rocket.Chat/pull/12563)) +- Add rooms property in user object, if the user has the permission, with rooms roles ([#12105](https://github.com/RocketChat/Rocket.Chat/pull/12105)) +- border-radius to use --border-radius ([#12675](https://github.com/RocketChat/Rocket.Chat/pull/12675)) +- Update the 'keyboard shortcuts' documentation ([#12564](https://github.com/RocketChat/Rocket.Chat/pull/12564) by [@nicolasbock](https://github.com/nicolasbock)) +- Add new acceptable header for Livechat REST requests ([#12561](https://github.com/RocketChat/Rocket.Chat/pull/12561)) +- Atlassian Crowd settings and option to sync user data ([#12616](https://github.com/RocketChat/Rocket.Chat/pull/12616)) +- CircleCI to use MongoDB 4.0 for testing ([#12618](https://github.com/RocketChat/Rocket.Chat/pull/12618)) +- Japanese translations ([#12382](https://github.com/RocketChat/Rocket.Chat/pull/12382) by [@ura14h](https://github.com/ura14h)) +- Add CTRL modifier for keyboard shortcut ([#12525](https://github.com/RocketChat/Rocket.Chat/pull/12525) by [@nicolasbock](https://github.com/nicolasbock)) +- Ignore non-existent Livechat custom fields on Livechat API ([#12522](https://github.com/RocketChat/Rocket.Chat/pull/12522)) +- Emoji search on messageBox behaving like emojiPicker's search (#9607) ([#12452](https://github.com/RocketChat/Rocket.Chat/pull/12452) by [@vinade](https://github.com/vinade)) +- German translations ([#12471](https://github.com/RocketChat/Rocket.Chat/pull/12471)) +- Limit the number of typing users shown (#8722) ([#12400](https://github.com/RocketChat/Rocket.Chat/pull/12400) by [@vinade](https://github.com/vinade)) +- Allow apps to update persistence by association ([#12714](https://github.com/RocketChat/Rocket.Chat/pull/12714)) +- Add more methods to deal with rooms via Rocket.Chat.Apps ([#12680](https://github.com/RocketChat/Rocket.Chat/pull/12680)) +- Better query for finding subscriptions that need a new E2E Key ([#12692](https://github.com/RocketChat/Rocket.Chat/pull/12692)) + +### 🐛 Bug fixes + +- Fixed Anonymous Registration ([#12633](https://github.com/RocketChat/Rocket.Chat/pull/12633) by [@wreiske](https://github.com/wreiske)) +- high cpu usage ~ svg icon ([#12677](https://github.com/RocketChat/Rocket.Chat/pull/12677) by [@ph1p](https://github.com/ph1p)) +- Fix favico error ([#12643](https://github.com/RocketChat/Rocket.Chat/pull/12643)) +- Condition to not render PDF preview ([#12632](https://github.com/RocketChat/Rocket.Chat/pull/12632)) +- Admin styles ([#12614](https://github.com/RocketChat/Rocket.Chat/pull/12614)) +- Admin styles ([#12602](https://github.com/RocketChat/Rocket.Chat/pull/12602)) +- Change registration message when user need to confirm email ([#9336](https://github.com/RocketChat/Rocket.Chat/pull/9336) by [@karlprieb](https://github.com/karlprieb)) +- Import missed file in rocketchat-authorization ([#12570](https://github.com/RocketChat/Rocket.Chat/pull/12570)) +- Prevent subscriptions and calls to rooms events that the user is not participating ([#12558](https://github.com/RocketChat/Rocket.Chat/pull/12558)) +- Wrong test case for `users.setAvatar` endpoint ([#12539](https://github.com/RocketChat/Rocket.Chat/pull/12539)) +- Spotlight method being called multiple times ([#12536](https://github.com/RocketChat/Rocket.Chat/pull/12536)) +- German translation for for API_EmbedIgnoredHosts label ([#12518](https://github.com/RocketChat/Rocket.Chat/pull/12518) by [@mbrodala](https://github.com/mbrodala)) +- Handle all events for enter key in message box ([#12507](https://github.com/RocketChat/Rocket.Chat/pull/12507)) +- Fix wrong parameter in chat.delete endpoint and add some test cases ([#12408](https://github.com/RocketChat/Rocket.Chat/pull/12408)) +- Manage own integrations permissions check ([#12397](https://github.com/RocketChat/Rocket.Chat/pull/12397)) +- stream room-changed ([#12411](https://github.com/RocketChat/Rocket.Chat/pull/12411)) +- Emoji picker is not in viewport on small screens ([#12457](https://github.com/RocketChat/Rocket.Chat/pull/12457) by [@ramrami](https://github.com/ramrami)) +- `Disabled` word translation to Spanish ([#12406](https://github.com/RocketChat/Rocket.Chat/pull/12406) by [@Ismaw34](https://github.com/Ismaw34)) +- `Disabled` word translation to Chinese ([#12260](https://github.com/RocketChat/Rocket.Chat/pull/12260) by [@AndreamApp](https://github.com/AndreamApp)) +- Correct roomName value in Mail Messages (#12363) ([#12453](https://github.com/RocketChat/Rocket.Chat/pull/12453) by [@vinade](https://github.com/vinade)) +- Update caret position on insert a new line in message box ([#12713](https://github.com/RocketChat/Rocket.Chat/pull/12713)) +- DE translation for idle-time-limit ([#12637](https://github.com/RocketChat/Rocket.Chat/pull/12637) by [@pfuender](https://github.com/pfuender)) + +
+🔍 Minor changes + +- LingoHub based on develop ([#12684](https://github.com/RocketChat/Rocket.Chat/pull/12684)) +- Convert rocketchat-mail-messages to main module structure ([#12682](https://github.com/RocketChat/Rocket.Chat/pull/12682)) +- Convert rocketchat-livestream to main module structure ([#12679](https://github.com/RocketChat/Rocket.Chat/pull/12679)) +- Added "npm install" to quick start for developers ([#12374](https://github.com/RocketChat/Rocket.Chat/pull/12374) by [@wreiske](https://github.com/wreiske)) +- Convert rocketchat-ldap to main module structure ([#12678](https://github.com/RocketChat/Rocket.Chat/pull/12678)) +- Convert rocketchat-issuelinks to main module structure ([#12674](https://github.com/RocketChat/Rocket.Chat/pull/12674)) +- Convert rocketchat-integrations to main module structure ([#12670](https://github.com/RocketChat/Rocket.Chat/pull/12670)) +- Convert rocketchat-irc to main module structure ([#12672](https://github.com/RocketChat/Rocket.Chat/pull/12672)) +- Convert rocketchat-internal-hubot to main module structure ([#12671](https://github.com/RocketChat/Rocket.Chat/pull/12671)) +- Convert rocketchat-importer-hipchat-enterprise to main module structure ([#12665](https://github.com/RocketChat/Rocket.Chat/pull/12665)) +- Convert rocketchat-importer-slack-users to main module structure ([#12669](https://github.com/RocketChat/Rocket.Chat/pull/12669)) +- Convert rocketchat-importer-slack to main module structure ([#12666](https://github.com/RocketChat/Rocket.Chat/pull/12666)) +- Convert rocketchat-iframe-login to main module structure ([#12661](https://github.com/RocketChat/Rocket.Chat/pull/12661)) +- Convert rocketchat-importer to main module structure ([#12662](https://github.com/RocketChat/Rocket.Chat/pull/12662)) +- Convert rocketchat-importer-csv to main module structure ([#12663](https://github.com/RocketChat/Rocket.Chat/pull/12663)) +- Convert rocketchat-importer-hipchat to main module structure ([#12664](https://github.com/RocketChat/Rocket.Chat/pull/12664)) +- Convert rocketchat-highlight-words to main module structure ([#12659](https://github.com/RocketChat/Rocket.Chat/pull/12659)) +- Convert rocketchat-grant to main module structure ([#12657](https://github.com/RocketChat/Rocket.Chat/pull/12657)) +- Convert rocketchat-graphql to main module structure ([#12658](https://github.com/RocketChat/Rocket.Chat/pull/12658)) +- Convert rocketchat-google-vision to main module structure ([#12649](https://github.com/RocketChat/Rocket.Chat/pull/12649)) +- Removed RocketChatFile from globals ([#12650](https://github.com/RocketChat/Rocket.Chat/pull/12650)) +- Added imports for global variables in rocketchat-google-natural-language package ([#12647](https://github.com/RocketChat/Rocket.Chat/pull/12647)) +- Convert rocketchat-gitlab to main module structure ([#12646](https://github.com/RocketChat/Rocket.Chat/pull/12646)) +- Convert rocketchat-file to main module structure ([#12644](https://github.com/RocketChat/Rocket.Chat/pull/12644)) +- Convert rocketchat-github-enterprise to main module structure ([#12642](https://github.com/RocketChat/Rocket.Chat/pull/12642)) +- Fix: Add email dependency in package.js ([#12645](https://github.com/RocketChat/Rocket.Chat/pull/12645)) +- Convert rocketchat-custom-sounds to main module structure ([#12599](https://github.com/RocketChat/Rocket.Chat/pull/12599)) +- Fix crowd error with import of SyncedCron ([#12641](https://github.com/RocketChat/Rocket.Chat/pull/12641)) +- Convert emoji-emojione to main module structure ([#12605](https://github.com/RocketChat/Rocket.Chat/pull/12605)) +- Convert rocketchat-favico to main module structure ([#12607](https://github.com/RocketChat/Rocket.Chat/pull/12607)) +- Convert rocketchat-emoji-custom to main module structure ([#12604](https://github.com/RocketChat/Rocket.Chat/pull/12604)) +- Convert rocketchat-error-handler to main module structure ([#12606](https://github.com/RocketChat/Rocket.Chat/pull/12606)) +- Convert rocketchat-drupal to main module structure ([#12601](https://github.com/RocketChat/Rocket.Chat/pull/12601)) +- Convert rocketchat-crowd to main module structure ([#12596](https://github.com/RocketChat/Rocket.Chat/pull/12596)) +- Convert rocketchat-emoji to main module structure ([#12603](https://github.com/RocketChat/Rocket.Chat/pull/12603)) +- Fix users.setAvatar endpoint tests and logic ([#12625](https://github.com/RocketChat/Rocket.Chat/pull/12625)) +- [DOCS] Remove Cordova links, include F-Droid download button and few other adjustments ([#12583](https://github.com/RocketChat/Rocket.Chat/pull/12583)) +- Convert rocketchat-dolphin to main module structure ([#12600](https://github.com/RocketChat/Rocket.Chat/pull/12600)) +- Convert rocketchat-channel-settings to main module structure ([#12594](https://github.com/RocketChat/Rocket.Chat/pull/12594)) +- Convert rocketchat-cors to main module structure ([#12595](https://github.com/RocketChat/Rocket.Chat/pull/12595)) +- Convert rocketchat-autotranslate to main module structure ([#12530](https://github.com/RocketChat/Rocket.Chat/pull/12530)) +- Convert rocketchat-channel-settings-mail-messages to main module structure ([#12537](https://github.com/RocketChat/Rocket.Chat/pull/12537)) +- Convert rocketchat-colors to main module structure ([#12538](https://github.com/RocketChat/Rocket.Chat/pull/12538)) +- Convert rocketchat-cas to main module structure ([#12532](https://github.com/RocketChat/Rocket.Chat/pull/12532)) +- Convert rocketchat-bot-helpers to main module structure ([#12531](https://github.com/RocketChat/Rocket.Chat/pull/12531)) +- Convert rocketchat-autolinker to main module structure ([#12529](https://github.com/RocketChat/Rocket.Chat/pull/12529)) +- Convert rocketchat-authorization to main module structure ([#12523](https://github.com/RocketChat/Rocket.Chat/pull/12523)) +- Fix CSS import order ([#12524](https://github.com/RocketChat/Rocket.Chat/pull/12524)) +- Remove template for feature requests as issues ([#12426](https://github.com/RocketChat/Rocket.Chat/pull/12426)) +- Fix punctuation, spelling, and grammar ([#12451](https://github.com/RocketChat/Rocket.Chat/pull/12451) by [@imronras](https://github.com/imronras)) +- Convert rocketchat-assets to main module structure ([#12521](https://github.com/RocketChat/Rocket.Chat/pull/12521)) +- Convert rocketchat-api to main module structure ([#12510](https://github.com/RocketChat/Rocket.Chat/pull/12510)) +- Convert rocketchat-analytics to main module structure ([#12506](https://github.com/RocketChat/Rocket.Chat/pull/12506)) +- Convert rocketchat-action-links to main module structure ([#12503](https://github.com/RocketChat/Rocket.Chat/pull/12503)) +- Convert rocketchat-2fa to main module structure ([#12501](https://github.com/RocketChat/Rocket.Chat/pull/12501)) +- Convert meteor-timesync to main module structure ([#12495](https://github.com/RocketChat/Rocket.Chat/pull/12495)) +- Convert meteor-autocomplete package to main module structure ([#12491](https://github.com/RocketChat/Rocket.Chat/pull/12491)) +- Convert meteor-accounts-saml to main module structure ([#12486](https://github.com/RocketChat/Rocket.Chat/pull/12486)) +- Convert chatpal search package to modular structure ([#12485](https://github.com/RocketChat/Rocket.Chat/pull/12485)) +- Removal of TAPi18n and TAPi18next global variables ([#12467](https://github.com/RocketChat/Rocket.Chat/pull/12467)) +- Removal of Template, Blaze, BlazeLayout, FlowRouter, DDPRateLimiter, Session, UAParser, Promise, Reload and CryptoJS global variables ([#12433](https://github.com/RocketChat/Rocket.Chat/pull/12433)) +- Removal of Match, check, moment, Tracker and Mongo global variables ([#12410](https://github.com/RocketChat/Rocket.Chat/pull/12410)) +- Removal of EJSON, Accounts, Email, HTTP, Random, ReactiveDict, ReactiveVar, SHA256 and WebApp global variables ([#12377](https://github.com/RocketChat/Rocket.Chat/pull/12377)) +- Removal of Meteor global variable ([#12371](https://github.com/RocketChat/Rocket.Chat/pull/12371)) +- Fix ES translation ([#12509](https://github.com/RocketChat/Rocket.Chat/pull/12509)) +- LingoHub based on develop ([#12470](https://github.com/RocketChat/Rocket.Chat/pull/12470)) +- Update npm dependencies ([#12465](https://github.com/RocketChat/Rocket.Chat/pull/12465)) +- Fix: Developers not being able to debug root files in VSCode ([#12440](https://github.com/RocketChat/Rocket.Chat/pull/12440)) +- Merge master into develop & Set version to 0.72.0-develop ([#12460](https://github.com/RocketChat/Rocket.Chat/pull/12460)) +- Fix some Ukrainian translations ([#12712](https://github.com/RocketChat/Rocket.Chat/pull/12712) by [@zdumitru](https://github.com/zdumitru)) +- Improve: Add missing translation keys. ([#12708](https://github.com/RocketChat/Rocket.Chat/pull/12708) by [@ura14h](https://github.com/ura14h)) +- Bump Apps Engine to 1.3.0 ([#12705](https://github.com/RocketChat/Rocket.Chat/pull/12705)) +- Fix: Exception when registering a user with gravatar ([#12699](https://github.com/RocketChat/Rocket.Chat/pull/12699)) +- Fix: Fix tests by increasing window size ([#12707](https://github.com/RocketChat/Rocket.Chat/pull/12707)) +- Update Apps Engine to 1.3.1 ([#12741](https://github.com/RocketChat/Rocket.Chat/pull/12741)) +- Regression: Expand Administration sections by toggling section title ([#12736](https://github.com/RocketChat/Rocket.Chat/pull/12736)) +- Regression: Fix Safari detection in PDF previewing ([#12737](https://github.com/RocketChat/Rocket.Chat/pull/12737)) +- Regression: Account pages layout ([#12735](https://github.com/RocketChat/Rocket.Chat/pull/12735)) +- Regression: Inherit font-family for message box ([#12729](https://github.com/RocketChat/Rocket.Chat/pull/12729)) + +
+ +### 👩‍💻👨‍💻 Contributors 😍 + +- [@AndreamApp](https://github.com/AndreamApp) +- [@Ismaw34](https://github.com/Ismaw34) +- [@imronras](https://github.com/imronras) +- [@karlprieb](https://github.com/karlprieb) +- [@mbrodala](https://github.com/mbrodala) +- [@nicolasbock](https://github.com/nicolasbock) +- [@pfuender](https://github.com/pfuender) +- [@ph1p](https://github.com/ph1p) +- [@ramrami](https://github.com/ramrami) +- [@ura14h](https://github.com/ura14h) +- [@vinade](https://github.com/vinade) +- [@wreiske](https://github.com/wreiske) +- [@zdumitru](https://github.com/zdumitru) + +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@Hudell](https://github.com/Hudell) +- [@MarcosSpessatto](https://github.com/MarcosSpessatto) +- [@cardoso](https://github.com/cardoso) +- [@engelgabriel](https://github.com/engelgabriel) +- [@ggazzo](https://github.com/ggazzo) +- [@marceloschmidt](https://github.com/marceloschmidt) +- [@mrsimpson](https://github.com/mrsimpson) +- [@rafaelks](https://github.com/rafaelks) +- [@renatobecker](https://github.com/renatobecker) +- [@rodrigok](https://github.com/rodrigok) +- [@sampaiodiego](https://github.com/sampaiodiego) +- [@tassoevan](https://github.com/tassoevan) + +# 0.71.2 +`2018-12-10` + +### Engine versions +- Node: `8.11.3` +- NPM: `5.6.0` + # 0.71.1 -`2018-10-31 · 1 🐛 · 1 👩‍💻👨‍💻` +`2018-10-31 · 1 🐛 · 1 🔍 · 1 👩‍💻👨‍💻` ### Engine versions - Node: `8.11.3` @@ -70,6 +520,13 @@ Assistify.Chat is now based on Rocket.Chat 0.68.5! - Email sending with GDPR user data ([#12487](https://github.com/RocketChat/Rocket.Chat/pull/12487)) +
+🔍 Minor changes + +- Release 0.71.1 ([#12499](https://github.com/RocketChat/Rocket.Chat/pull/12499)) + +
+ ### 👩‍💻👨‍💻 Core Team 🤓 - [@sampaiodiego](https://github.com/sampaiodiego) @@ -166,6 +623,21 @@ Assistify.Chat is now based on Rocket.Chat 0.68.5! - [@sampaiodiego](https://github.com/sampaiodiego) - [@tassoevan](https://github.com/tassoevan) +# 0.70.5 +`2018-12-10 · 1 🐛 · 1 👩‍💻👨‍💻` + +### Engine versions +- Node: `8.11.3` +- NPM: `5.6.0` + +### 🐛 Bug fixes + +- Reset password email ([#12898](https://github.com/RocketChat/Rocket.Chat/pull/12898)) + +### 👩‍💻👨‍💻 Core Team 🤓 + +- [@sampaiodiego](https://github.com/sampaiodiego) + # 0.70.4 `2018-10-09 · 1 🐛 · 2 🔍 · 1 👩‍💻👨‍💻` diff --git a/LIMITATION_OF_RESPONSIBILITY.md b/LIMITATION_OF_RESPONSIBILITY.md new file mode 100644 index 000000000000..f451e30c7128 --- /dev/null +++ b/LIMITATION_OF_RESPONSIBILITY.md @@ -0,0 +1,19 @@ +## WARNING to ROCKET.CHAT USERS + +Rocket.Chat is open source software. Anyone in the world can download and run a Rocket.Chat server at any time. + +As a user of Rocket.Chat, someone with a Rocket.Chat account, you need to be aware that you may be using a Rocket.Chat server that is operated by arbitrary businesses, groups or individuals with no relationship to Rocket.Chat Technologies Corp. + +In particular: + +- Rocket.Chat Technologies Corp. do not have access to these servers. +- Rocket.Chat Technologies Corp. do not and cannot control or regulate how these servers are operated. +- Rocket.Chat Technologies Corp. cannot access, determine or regulate any contents or information flow on these servers. + +## IMPORTANT + +For total transparency, Rocket.Chat Technologies Corp. owns and operates only ONE publicly available Rocket.Chat server in the world. The server that Rocket.Chat Technologies Corp. operates can only be accessed at: + +https://open.rocket.chat + +Any other Rocket.Chat server you access is not operated by Rocket.Chat Technologies Corp. and is subjected to the usage warning above. diff --git a/README.md b/README.md index 01964b8724da..91f26b9ef607 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ -![Rocket.Chat logo](https://upload.wikimedia.org/wikipedia/commons/1/12/Rocket.Chat_Logo.svg) +![](https://user-images.githubusercontent.com/551004/43643393-884b00a4-9701-11e8-94d8-14c46d1f3660.png) -# The Ultimate Open Source WebChat Platform +

+ The Ultimate Open Source WebChat Platform +

[![Rocket.Chat](https://open.rocket.chat/images/join-chat.svg)](https://open.rocket.chat/) [![Build Status](https://img.shields.io/travis/RocketChat/Rocket.Chat/master.svg)](https://travis-ci.org/RocketChat/Rocket.Chat) @@ -37,6 +39,7 @@ * [Hyper.sh](#hypersh) * [WeDeploy](#wedeploy) * [D2C.io](#d2cio) + * [Syncloud.org](#syncloudorg) * [About Rocket.Chat](#about-rocketchat) * [In the News](#in-the-news) * [Features](#features) @@ -87,17 +90,7 @@ Download the Native Cross-Platform Desktop Application at [Rocket.Chat.Electron] # Mobile Apps -## Native Mobile Apps -*Note: currently the native apps doesn't support all the features that web does. If you're looking for it, you should download the Cordova apps.* - -[![Rocket.Chat on Apple App Store](https://user-images.githubusercontent.com/551004/29770691-a2082ff4-8bc6-11e7-89a6-964cd405ea8e.png)](https://itunes.apple.com/us/app/rocket-chat/id1148741252?mt=8) [![Rocket.Chat on Google Play](https://user-images.githubusercontent.com/551004/29770692-a20975c6-8bc6-11e7-8ab0-1cde275496e0.png)](https://play.google.com/store/apps/details?id=chat.rocket.android) - -## Hybrid Mobile Apps (Cordova) - -[![Rocket.Chat on Apple App Store](https://user-images.githubusercontent.com/551004/29770691-a2082ff4-8bc6-11e7-89a6-964cd405ea8e.png)](https://itunes.apple.com/us/app/rocket.chat/id1028869439?mt=8) [![Rocket.Chat on Google Play](https://user-images.githubusercontent.com/551004/29770692-a20975c6-8bc6-11e7-8ab0-1cde275496e0.png)](https://play.google.com/store/apps/details?id=com.konecty.rocket.chat) - -*Now compatible with all Android devices as old as version 4.0.x - [download here](https://rocket.chat/docs/developer-guides/mobile-apps/), even on BlackBerry Passport!* - +[![Rocket.Chat on Apple App Store](https://user-images.githubusercontent.com/551004/29770691-a2082ff4-8bc6-11e7-89a6-964cd405ea8e.png)](https://itunes.apple.com/us/app/rocket-chat/id1148741252?mt=8) [![Rocket.Chat on Google Play](https://user-images.githubusercontent.com/551004/29770692-a20975c6-8bc6-11e7-8ab0-1cde275496e0.png)](https://play.google.com/store/apps/details?id=chat.rocket.android) [![](https://user-images.githubusercontent.com/551004/48210349-50649480-e35e-11e8-97d9-74a4331faf3a.png)](https://f-droid.org/en/packages/chat.rocket.android/) # Deployment @@ -111,7 +104,7 @@ sudo snap install rocketchat-server [![Rocket.Chat Snap is recommended for Linux deployments](https://github.com/Sing-Li/bbug/raw/master/images/ubuntulogo.png)](https://uappexplorer.com/snap/ubuntu/rocketchat-server) -Installing snaps is very quick. By running that command you have your full Rocket.Chat server up and running. Snaps are secure. They are isolated with all of their dependencies. Snaps also auto update when we release new versions. +Installing snaps is very quick. By running that command you have your full Rocket.Chat server up and running. Snaps are secure. They are isolated with all of their dependencies. Snaps also auto-update when we release new versions. Our snap features a built-in reverse proxy that can request and maintain free Let's Encrypt SSL certificates. You can go from zero to a public-facing SSL-secured Rocket.Chat server in less than 5 minutes. @@ -143,7 +136,7 @@ Host your own Rocket.Chat server in a few seconds. ## DPlatform -Easiest way to install a ready-to-run Rocket.Chat server on a Linux machine, VM, or VPS. +The easiest way to install a ready-to-run Rocket.Chat server on a Linux machine, VM, or VPS. [![DP deploy](https://github.com/raw/DFabric/DPlatform-ShellCore/images/logo.png)](https://dfabric.github.io/DPlatform-ShellCore) @@ -213,7 +206,7 @@ Automated production-grade deployment in minutes, for RHEL / CentOS 7 or Ubuntu [![Ansible deployment](https://github.com/raw/Sing-Li/bbug/master/images/ansible.png)](https://rocket.chat/docs/installation/automation-tools/ansible/) ## Raspberry Pi 2 -Run Rocket.Chat on this world famous $30 quad core server. +Run Rocket.Chat on this world famous $30 quad-core server. [![Raspberry Pi 2](https://github.com/raw/Sing-Li/bbug/master/images/pitiny.png)](https://github.com/RocketChat/Rocket.Chat.RaspberryPi) @@ -239,6 +232,11 @@ Deploy Rocket.Chat stack to your server with [D2C](https://d2c.io/). Scale with [![Deploy](https://github.com/mastappl/images/blob/master/deployTo.png)](https://panel.d2c.io/?import=https://github.com/d2cio/rocketchat-stack/archive/master.zip/) +## Syncloud.org +Run Rocket.Chat on your easy to use personal device. + +[![Deploy](https://syncloud.org/images/logo_min.svg)](https://syncloud.org) + # About Rocket.Chat Rocket.Chat is a Web Chat Server, developed in JavaScript, using the [Meteor](https://www.meteor.com/install) fullstack framework. @@ -310,7 +308,7 @@ It is a great solution for communities and companies wanting to privately host t - (Beta) Jitsi integration - Audio calls - Multi-users Audio Conference -- Screensharing +- Screen sharing - Drupal 7.x and 8.x Plug-in (both stable and development flavours) ([download](https://www.drupal.org/project/rocket_chat) and [source code](https://git.drupal.org/project/rocket_chat.git) ) - XMPP bridge ([try it](https://open.rocket.chat/channel/general)) - REST APIs @@ -331,9 +329,6 @@ It is a great solution for communities and companies wanting to privately host t - XMPP Support via [Webhook bridge](https://github.com/saqura/xmppwb) [Issue #404](https://github.com/RocketChat/Rocket.Chat/issues/404) - Federation via [matrix.org](https://www.matrix.org/), see [hubot-freddie](https://www.npmjs.com/package/hubot-freddie) and [Federation project](https://github.com/RocketChat/Rocket.Chat.Federation) : [Issue #520](https://github.com/RocketChat/Rocket.Chat/issues/520), [Issue #601](https://github.com/RocketChat/Rocket.Chat/issues/601) - Support for PostgreSQL: [Issue #533](https://github.com/RocketChat/Rocket.Chat/issues/533), [Issue #822](https://github.com/RocketChat/Rocket.Chat/pull/822) -- Native iOS Application [Issue #270](https://github.com/RocketChat/Rocket.Chat/issues/270), [Rocket.Chat.iOS - HELP WANTED](https://github.com/RocketChat/Rocket.Chat.iOS) -- Native Android Application [Issue #271 - HELP WANTED](https://github.com/RocketChat/Rocket.Chat/issues/271) -- Off the Record Messaging [Issue #36](https://github.com/RocketChat/Rocket.Chat/issues/36), [Issue #268](https://github.com/RocketChat/Rocket.Chat/issues/268) - WordPress Plug-in [Issue # 1920](https://github.com/RocketChat/Rocket.Chat/issues/1920) - Integration with PSTN (Public Switched Telephone Networks) - API-enabled methods: [Issue #202](https://github.com/RocketChat/Rocket.Chat/issues/202), [Issue #454](https://github.com/RocketChat/Rocket.Chat/issues/454), [Issue #455](https://github.com/RocketChat/Rocket.Chat/issues/455), [Issue #759](https://github.com/RocketChat/Rocket.Chat/issues/759) @@ -394,7 +389,7 @@ We are developing the APIs based on the competition, so stay tuned and you will ## Documentation -Checkout [Rocket.Chat documentation](https://rocket.chat/docs/). +Check out [Rocket.Chat documentation](https://rocket.chat/docs/). ## License @@ -415,9 +410,17 @@ Now just clone and start the app: ```sh git clone https://github.com/RocketChat/Rocket.Chat.git cd Rocket.Chat +meteor npm install meteor npm start ``` +In order to debug the server part use [meteor debugging](https://docs.meteor.com/commandline.html#meteordebug). You should use Chrome for best debugging experience: + +```sh +meteor debug +``` +You'll find a nodejs icon in the developer console. + If you are not a developer and just want to run the server - see [deployment methods](https://rocket.chat/docs/installation/paas-deployments/). ## Branching Model @@ -429,12 +432,12 @@ It is based on [Gitflow Workflow](http://nvie.com/posts/a-successful-git-branchi See also this [Git Workflows Comparison](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow) for more details. ## Translations -We are experimenting [Lingohub](https://translate.lingohub.com/rocketchat/dashboard). +We are experimenting with [Lingohub](https://translate.lingohub.com/rocketchat/dashboard). If you want to help, send an email to support at rocket.chat to be invited to the translation project. ## How to Contribute -Already a JavaScript developer? Familiar with Meteor? [Pick an issue](https://github.com/RocketChat/Rocket.Chat/labels/contrib%3A%20easy), push a PR and instantly become a member of Rocket.Chat's international contributors community. +Already a JavaScript developer? Familiar with Meteor? [Pick an issue](https://github.com/RocketChat/Rocket.Chat/labels/contrib%3A%20easy), push a PR and instantly become a member of Rocket.Chat's international contributors community. For more information, check out our [Contributing Guide](.github/CONTRIBUTING.md) and our [Official Documentation for Contributors](https://rocket.chat/docs/contributing/). A lot of work has already gone into Rocket.Chat, but we have much bigger plans for it! @@ -466,7 +469,7 @@ Testing with [BrowserStack](https://www.browserstack.com) # Donate -Rocket.Chat will be free forever, but you can help us speed-up the development! +Rocket.Chat will be free forever, but you can help us speed up the development! [![Donate](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=ZL94ZE6LGVUSN) diff --git a/client/helpers/escapeCssUrl.js b/client/helpers/escapeCssUrl.js index bc4344794d3a..fccb4e69a91e 100644 --- a/client/helpers/escapeCssUrl.js +++ b/client/helpers/escapeCssUrl.js @@ -1 +1,3 @@ +import { Template } from 'meteor/templating'; + Template.registerHelper('escapeCssUrl', (url) => url.replace(/(['"])/g, '\\$1')); diff --git a/client/helpers/log.js b/client/helpers/log.js index cdbd6fa466dc..748583b9a0db 100644 --- a/client/helpers/log.js +++ b/client/helpers/log.js @@ -1,3 +1,5 @@ +import { Template } from 'meteor/templating'; + Template.registerHelper('log', (...args) => { console.log.apply(console, args); }); diff --git a/client/helpers/not.js b/client/helpers/not.js index 9d5597e28f25..a47086b4468b 100644 --- a/client/helpers/not.js +++ b/client/helpers/not.js @@ -1 +1,3 @@ +import { Template } from 'meteor/templating'; + Template.registerHelper('not', (value) => !value); diff --git a/client/methods/deleteMessage.js b/client/methods/deleteMessage.js index 2c63a58da76a..3988d0cccf21 100644 --- a/client/methods/deleteMessage.js +++ b/client/methods/deleteMessage.js @@ -1,3 +1,5 @@ +import { Meteor } from 'meteor/meteor'; +import { Tracker } from 'meteor/tracker'; import _ from 'underscore'; import moment from 'moment'; diff --git a/client/methods/hideOldSubscriptions.js b/client/methods/hideOldSubscriptions.js index 5106058b5597..27e6d806e1cc 100644 --- a/client/methods/hideOldSubscriptions.js +++ b/client/methods/hideOldSubscriptions.js @@ -1,3 +1,6 @@ +import { Meteor } from 'meteor/meteor'; +import { Match } from 'meteor/check'; + const DURATION_WEEK = 1000 * 60 * 60 * 24 * 7; Meteor.methods({ hideOldSubscriptions(userId = Meteor.userId(), idleDuration = DURATION_WEEK) { diff --git a/client/methods/hideRoom.js b/client/methods/hideRoom.js index 210937dd62db..195235ce802b 100644 --- a/client/methods/hideRoom.js +++ b/client/methods/hideRoom.js @@ -1,3 +1,4 @@ +import { Meteor } from 'meteor/meteor'; Meteor.methods({ hideRoom(rid) { if (!Meteor.userId()) { diff --git a/client/methods/openRoom.js b/client/methods/openRoom.js index 87c082ced863..ac7ce40c32f3 100644 --- a/client/methods/openRoom.js +++ b/client/methods/openRoom.js @@ -1,3 +1,4 @@ +import { Meteor } from 'meteor/meteor'; Meteor.methods({ openRoom(rid) { if (!Meteor.userId()) { diff --git a/client/methods/setUserActiveStatus.js b/client/methods/setUserActiveStatus.js index 97cbe7c7dbbb..99121d34b710 100644 --- a/client/methods/setUserActiveStatus.js +++ b/client/methods/setUserActiveStatus.js @@ -1,3 +1,4 @@ +import { Meteor } from 'meteor/meteor'; Meteor.methods({ setUserActiveStatus(userId, active) { Meteor.users.update(userId, { $set: { active } }); diff --git a/client/methods/toggleFavorite.js b/client/methods/toggleFavorite.js index e9c55b3440df..63309fe05e0b 100644 --- a/client/methods/toggleFavorite.js +++ b/client/methods/toggleFavorite.js @@ -1,3 +1,4 @@ +import { Meteor } from 'meteor/meteor'; Meteor.methods({ toggleFavorite(rid, f) { if (!Meteor.userId()) { diff --git a/client/methods/updateMessage.js b/client/methods/updateMessage.js index 43552aa88f81..c329ad762afa 100644 --- a/client/methods/updateMessage.js +++ b/client/methods/updateMessage.js @@ -1,3 +1,7 @@ +import { Meteor } from 'meteor/meteor'; +import { Tracker } from 'meteor/tracker'; +import { TimeSync } from 'meteor/mizzao:timesync'; +import { t } from 'meteor/rocketchat:utils'; import _ from 'underscore'; import moment from 'moment'; import toastr from 'toastr'; diff --git a/client/notifications/UsersNameChanged.js b/client/notifications/UsersNameChanged.js index 88438545b678..eddaa5e4e052 100644 --- a/client/notifications/UsersNameChanged.js +++ b/client/notifications/UsersNameChanged.js @@ -1,3 +1,5 @@ +import { Meteor } from 'meteor/meteor'; + Meteor.startup(function() { RocketChat.Notifications.onLogged('Users:NameChanged', function({ _id, name, username }) { RocketChat.models.Messages.update({ diff --git a/client/notifications/notification.js b/client/notifications/notification.js index 6aff57a1cf63..bb406e8ab86a 100644 --- a/client/notifications/notification.js +++ b/client/notifications/notification.js @@ -1,4 +1,8 @@ -/* globals KonchatNotification, fireGlobalEvent, readMessage, CachedChatSubscription */ +import { Meteor } from 'meteor/meteor'; +import { Tracker } from 'meteor/tracker'; +import { FlowRouter } from 'meteor/kadira:flow-router'; +import { Session } from 'meteor/session'; +import { KonchatNotification, fireGlobalEvent, readMessage, CachedChatSubscription } from 'meteor/rocketchat:ui'; // Show notifications and play a sound for new messages. // We trust the server to only send notifications for interesting messages, e.g. direct messages or diff --git a/client/notifications/updateAvatar.js b/client/notifications/updateAvatar.js index dfa628e9df5f..b03d115ffddb 100644 --- a/client/notifications/updateAvatar.js +++ b/client/notifications/updateAvatar.js @@ -1,4 +1,5 @@ -/* globals updateAvatarOfUsername */ +import { Meteor } from 'meteor/meteor'; +import { updateAvatarOfUsername } from 'meteor/rocketchat:ui'; Meteor.startup(function() { RocketChat.Notifications.onLogged('updateAvatar', function(data) { diff --git a/client/notifications/updateUserState.js b/client/notifications/updateUserState.js index 367ded6c4975..84cbaf9af6a6 100644 --- a/client/notifications/updateUserState.js +++ b/client/notifications/updateUserState.js @@ -1,4 +1,5 @@ -/* globals fireGlobalEvent */ +import { Meteor } from 'meteor/meteor'; +import { fireGlobalEvent } from 'meteor/rocketchat:ui'; /* fire user state change globally, to listen on desktop electron client */ Meteor.startup(function() { diff --git a/client/routes/adminRouter.js b/client/routes/adminRouter.js index 5f75a3733fa1..0c30a678f86a 100644 --- a/client/routes/adminRouter.js +++ b/client/routes/adminRouter.js @@ -1,3 +1,6 @@ +import { FlowRouter } from 'meteor/kadira:flow-router' ; +import { BlazeLayout } from 'meteor/kadira:blaze-layout'; + FlowRouter.route('/admin/users', { name: 'admin-users', action() { diff --git a/client/routes/roomRoute.js b/client/routes/roomRoute.js index 02323fb20c52..8fb7e9ca1fa2 100644 --- a/client/routes/roomRoute.js +++ b/client/routes/roomRoute.js @@ -1,3 +1,6 @@ +import { Meteor } from 'meteor/meteor'; +import { FlowRouter } from 'meteor/kadira:flow-router'; + FlowRouter.goToRoomById = (roomId) => { const room = ChatRoom.findOne({ _id: roomId }); if (room) { diff --git a/client/routes/router.js b/client/routes/router.js index 69b69dac0b5a..8f1dfd711038 100644 --- a/client/routes/router.js +++ b/client/routes/router.js @@ -1,4 +1,11 @@ -/* globals KonchatNotification */ +import { Meteor } from 'meteor/meteor'; +import { Accounts } from 'meteor/accounts-base'; +import { Tracker } from 'meteor/tracker'; +import { Blaze } from 'meteor/blaze'; +import { FlowRouter } from 'meteor/kadira:flow-router'; +import { BlazeLayout } from 'meteor/kadira:blaze-layout'; +import { Session } from 'meteor/session'; +import { KonchatNotification } from 'meteor/rocketchat:ui'; import s from 'underscore.string'; Blaze.registerHelper('pathFor', function(path, kw) { diff --git a/client/startup/emailVerification.js b/client/startup/emailVerification.js index db0e4c368914..04cdd75cfbb1 100644 --- a/client/startup/emailVerification.js +++ b/client/startup/emailVerification.js @@ -1,4 +1,9 @@ +import { Meteor } from 'meteor/meteor'; +import { Tracker } from 'meteor/tracker'; +import { Session } from 'meteor/session'; +import { TAPi18n } from 'meteor/tap:i18n'; import toastr from 'toastr'; + Meteor.startup(function() { Tracker.autorun(function() { const user = Meteor.user(); diff --git a/client/startup/i18n.js b/client/startup/i18n.js index 5e426f4dd698..d2f01ec88207 100644 --- a/client/startup/i18n.js +++ b/client/startup/i18n.js @@ -1,5 +1,8 @@ -/* globals isRtl */ - +import { Meteor } from 'meteor/meteor'; +import { ReactiveVar } from 'meteor/reactive-var'; +import { Tracker } from 'meteor/tracker'; +import { TAPi18n } from 'meteor/tap:i18n'; +import { isRtl } from 'meteor/rocketchat:utils'; import moment from 'moment'; const currentLanguage = new ReactiveVar(); diff --git a/client/startup/loginViaQuery.js b/client/startup/loginViaQuery.js index 5804be24b3bb..b6fe6dc84774 100644 --- a/client/startup/loginViaQuery.js +++ b/client/startup/loginViaQuery.js @@ -1,3 +1,6 @@ +import { Meteor } from 'meteor/meteor'; +import { FlowRouter } from 'meteor/kadira:flow-router'; + Meteor.startup(() => { if (FlowRouter.getQueryParam('resumeToken')) { Meteor.loginWithToken(FlowRouter.getQueryParam('resumeToken'), () => { diff --git a/client/startup/roomObserve.js b/client/startup/roomObserve.js index 6681b89f8f7a..4fcfedb26e3a 100644 --- a/client/startup/roomObserve.js +++ b/client/startup/roomObserve.js @@ -1,3 +1,6 @@ +import { Meteor } from 'meteor/meteor'; +import { Session } from 'meteor/session'; + Meteor.startup(function() { ChatRoom.find().observe({ added(data) { diff --git a/client/startup/startup.js b/client/startup/startup.js index d29aae306a91..e5602cd19313 100644 --- a/client/startup/startup.js +++ b/client/startup/startup.js @@ -1,5 +1,9 @@ -/* globals UserPresence, fireGlobalEvent */ - +import { Meteor } from 'meteor/meteor'; +import { Tracker } from 'meteor/tracker'; +import { Session } from 'meteor/session'; +import { TimeSync } from 'meteor/mizzao:timesync'; +import { UserPresence } from 'meteor/konecty:user-presence'; +import { fireGlobalEvent } from 'meteor/rocketchat:ui'; import toastr from 'toastr'; import hljs from 'highlight.js'; import 'highlight.js/styles/github.css'; diff --git a/client/startup/unread.js b/client/startup/unread.js index 82c123e495cb..03bae2b49253 100644 --- a/client/startup/unread.js +++ b/client/startup/unread.js @@ -1,4 +1,9 @@ -/* globals fireGlobalEvent, readMessage, Favico, favico, menu */ +import { Meteor } from 'meteor/meteor'; +import { Tracker } from 'meteor/tracker'; +import { FlowRouter } from 'meteor/kadira:flow-router'; +import { Session } from 'meteor/session'; +import { Favico } from 'meteor/rocketchat:favico'; +import { fireGlobalEvent, readMessage } from 'meteor/rocketchat:ui'; Meteor.startup(function() { Tracker.autorun(function() { @@ -72,8 +77,8 @@ Meteor.startup(function() { const unread = Session.get('unread'); fireGlobalEvent('unread-changed', unread); - if (favico) { - favico.badge(unread, { + if (window.favico) { + window.favico.badge(unread, { bgColor: typeof unread !== 'number' ? '#3d8a3a' : '#ac1b1b', }); } diff --git a/client/startup/userSetUtcOffset.js b/client/startup/userSetUtcOffset.js index 7916222214b3..a266acb05978 100644 --- a/client/startup/userSetUtcOffset.js +++ b/client/startup/userSetUtcOffset.js @@ -1,3 +1,5 @@ +import { Meteor } from 'meteor/meteor'; +import { Tracker } from 'meteor/tracker'; import moment from 'moment'; Meteor.startup(function() { diff --git a/client/startup/usersObserve.js b/client/startup/usersObserve.js index 3ed237430286..0bbc53102b52 100644 --- a/client/startup/usersObserve.js +++ b/client/startup/usersObserve.js @@ -1,3 +1,6 @@ +import { Meteor } from 'meteor/meteor'; +import { Session } from 'meteor/session'; + Meteor.startup(function() { Meteor.users.find({}, { fields: { name: 1, username: 1, pictures: 1, status: 1, emails: 1, phone: 1, services: 1, utcOffset: 1 } }).observe({ added(user) { diff --git a/imports/message-read-receipt/client/main.js b/imports/message-read-receipt/client/main.js index a40a8b0a6190..5203d1bb11a0 100644 --- a/imports/message-read-receipt/client/main.js +++ b/imports/message-read-receipt/client/main.js @@ -1,3 +1,5 @@ +import { Template } from 'meteor/templating'; + Template.main.helpers({ readReceiptsEnabled() { if (RocketChat.settings.get('Message_Read_Receipt_Store_Users')) { diff --git a/imports/message-read-receipt/client/readReceipts.js b/imports/message-read-receipt/client/readReceipts.js index bfdac29a99e1..7b350be120f0 100644 --- a/imports/message-read-receipt/client/readReceipts.js +++ b/imports/message-read-receipt/client/readReceipts.js @@ -1,4 +1,6 @@ +import { Meteor } from 'meteor/meteor'; import { ReactiveVar } from 'meteor/reactive-var'; +import { Template } from 'meteor/templating'; import moment from 'moment'; import './readReceipts.css'; diff --git a/imports/message-read-receipt/client/room.js b/imports/message-read-receipt/client/room.js index 89f61ccab43a..4a28ed022b02 100644 --- a/imports/message-read-receipt/client/room.js +++ b/imports/message-read-receipt/client/room.js @@ -1,3 +1,5 @@ +import { t } from 'meteor/rocketchat:utils'; + RocketChat.MessageAction.addButton({ id: 'receipt-detail', icon: 'info-circled', diff --git a/imports/message-read-receipt/server/lib/ReadReceipt.js b/imports/message-read-receipt/server/lib/ReadReceipt.js index 04261faadee8..d1660f7474b7 100644 --- a/imports/message-read-receipt/server/lib/ReadReceipt.js +++ b/imports/message-read-receipt/server/lib/ReadReceipt.js @@ -1,3 +1,4 @@ +import { Meteor } from 'meteor/meteor'; import { Random } from 'meteor/random'; import ModelReadReceipts from '../models/ReadReceipts'; diff --git a/imports/personal-access-tokens/client/personalAccessTokens.html b/imports/personal-access-tokens/client/personalAccessTokens.html index 31a0e7e3adab..a707a270cf93 100644 --- a/imports/personal-access-tokens/client/personalAccessTokens.html +++ b/imports/personal-access-tokens/client/personalAccessTokens.html @@ -1,30 +1,22 @@