From abe1f41202375641f2213afd29314e0fb6f22113 Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento Date: Tue, 27 Nov 2018 23:21:18 -0200 Subject: [PATCH] Release 0.72.0 (#12742) --- .circleci/config.yml | 22 +- .docker/Dockerfile.rhel | 2 +- .eslintignore | 4 +- .eslintrc | 28 - .github/ISSUE_TEMPLATE/feature_request.md | 17 - .github/history-manual.json | 5 + .github/history.json | 1259 +++ .meteor/packages | 44 +- .meteor/platforms | 1 - .meteor/release | 2 +- .meteor/versions | 115 +- .postcssrc | 18 +- .sandstorm/sandstorm-pkgdef.capnp | 4 +- .scripts/translationDiff.js | 38 + .stylelintignore | 2 +- .travis/snap.sh | 2 +- .vscode/launch.json | 20 +- HISTORY.md | 185 +- README.md | 36 +- client/helpers/escapeCssUrl.js | 2 + client/helpers/log.js | 2 + client/helpers/not.js | 2 + client/methods/deleteMessage.js | 2 + client/methods/hideRoom.js | 1 + client/methods/openRoom.js | 1 + client/methods/setUserActiveStatus.js | 1 + client/methods/toggleFavorite.js | 1 + client/methods/updateMessage.js | 3 + client/notifications/UsersNameChanged.js | 2 + client/notifications/notification.js | 4 + client/notifications/updateAvatar.js | 1 + client/notifications/updateUserState.js | 1 + client/routes/adminRouter.js | 3 + client/routes/roomRoute.js | 2 + client/routes/router.js | 7 + client/startup/emailVerification.js | 5 + client/startup/i18n.js | 5 +- client/startup/loginViaQuery.js | 3 + client/startup/roomObserve.js | 3 + client/startup/startup.js | 5 +- client/startup/unread.js | 7 +- client/startup/userSetUtcOffset.js | 2 + client/startup/usersObserve.js | 3 + imports/message-read-receipt/client/main.js | 2 + .../client/readReceipts.js | 2 + .../server/lib/ReadReceipt.js | 1 + .../client/personalAccessTokens.html | 34 +- .../client/personalAccessTokens.js | 8 +- .../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 | 9801 +++++++++-------- package.json | 93 +- 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 | 8 + 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 | 29 +- .../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 | 4 + packages/meteor-accounts-saml/package.js | 20 +- packages/meteor-accounts-saml/server/index.js | 2 + .../{ => server}/saml_rocketchat.js | 6 + .../{ => server}/saml_server.js | 9 +- .../{ => server}/saml_utils.js | 6 +- .../client/autocomplete-client.js | 10 +- .../meteor-autocomplete/client/collection.js | 2 + packages/meteor-autocomplete/client/index.js | 8 + .../meteor-autocomplete/client/templates.js | 4 +- packages/meteor-autocomplete/package.js | 28 +- .../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 | 3 + .../client/accountSecurity.html | 59 +- .../rocketchat-2fa/client/accountSecurity.js | 5 + packages/rocketchat-2fa/client/index.js | 3 + packages/rocketchat-2fa/package.js | 19 +- 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 | 4 + .../rocketchat-action-links/client/init.js | 6 +- .../client/lib/actionLinks.js | 2 + packages/rocketchat-action-links/package.js | 23 +- .../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 | 3 + .../server/helpers/requestParams.js | 2 + packages/rocketchat-api/server/index.js | 31 + 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 | 7 +- packages/rocketchat-api/server/v1/commands.js | 4 + packages/rocketchat-api/server/v1/e2e.js | 3 + .../rocketchat-api/server/v1/emoji-custom.js | 3 + packages/rocketchat-api/server/v1/groups.js | 8 +- packages/rocketchat-api/server/v1/im.js | 3 + .../rocketchat-api/server/v1/integrations.js | 4 + packages/rocketchat-api/server/v1/misc.js | 4 + .../rocketchat-api/server/v1/permissions.js | 4 + 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 | 32 +- .../client/admin/appInstall.js | 3 + .../rocketchat-apps/client/admin/appLogs.html | 2 +- .../rocketchat-apps/client/admin/appLogs.js | 4 + .../rocketchat-apps/client/admin/appManage.js | 6 + .../client/admin/appWhatIsIt.js | 5 + packages/rocketchat-apps/client/admin/apps.js | 3 + .../client/communication/websockets.js | 2 + .../rocketchat-apps/client/orchestrator.js | 4 + packages/rocketchat-apps/package.js | 2 +- .../rocketchat-apps/server/bridges/api.js | 1 + .../server/bridges/commands.js | 1 + .../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 | 15 + .../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 | 7 +- .../client/views/permissionsRole.js | 7 + .../lib/rocketchat.js | 2 + packages/rocketchat-authorization/package.js | 69 +- .../server/functions/addUserRoles.js | 2 + .../server/functions/canAccessRoom.js | 8 +- .../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 | 3 + .../server/methods/removeUserFromRole.js | 2 + .../server/methods/saveRole.js | 3 + .../server/models/Base.js | 2 + .../server/models/Permissions.js | 2 + .../server/models/Roles.js | 2 + .../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 | 4 + .../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 | 6 + .../client/lib/actionButton.js | 4 + .../client/lib/autotranslate.js | 3 + .../client/lib/tabBar.js | 4 + .../client/views/autoTranslateFlexTab.js | 7 +- packages/rocketchat-autotranslate/package.js | 25 +- .../server/autotranslate.js | 3 + .../rocketchat-autotranslate/server/index.js | 8 + .../server/methods/getSupportedLanguages.js | 4 + .../server/methods/saveSettings.js | 4 + .../server/methods/translateMessage.js | 3 + .../server/models/Messages.js | 2 + .../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 | 9 +- 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 | 12 +- .../package.js | 15 +- .../server/index.js | 2 + .../server/lib/startup.js | 3 + .../server/methods/mailMessages.js | 3 + .../client/index.js | 7 + .../client/lib/ChannelSettings.js | 4 + .../client/startup/messageTypes.js | 3 + .../client/startup/tabBar.js | 3 + .../client/startup/trackSettingsChange.js | 7 + .../client/views/channelSettings.js | 5 + .../rocketchat-channel-settings/package.js | 28 +- .../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 | 4 + .../server/models/Messages.js | 2 + .../server/models/Rooms.js | 2 + .../server/startup.js | 3 + packages/rocketchat-colors/client/client.js | 1 + packages/rocketchat-colors/client/index.js | 2 + packages/rocketchat-colors/package.js | 12 +- 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 | 240 +- packages/rocketchat-crowd/server/index.js | 7 + packages/rocketchat-crowd/server/settings.js | 8 + .../client/custom_oauth_client.js | 4 + .../server/custom_oauth_server.js | 4 + .../client/admin/adminSounds.js | 9 +- .../client/admin/route.js | 4 + .../client/admin/soundEdit.js | 5 + .../client/admin/soundInfo.js | 6 + .../client/admin/startup.js | 2 + .../rocketchat-custom-sounds/client/index.js | 15 + .../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 | 37 +- .../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 | 2 + .../{ => client}/login-button.css | 0 .../rocketchat-dolphin/{ => lib}/common.js | 7 +- packages/rocketchat-dolphin/package.js | 18 +- packages/rocketchat-dolphin/server/index.js | 2 + .../{ => server}/startup.js | 2 + packages/rocketchat-drupal/client/index.js | 2 + .../{ => client}/login-button.css | 0 .../rocketchat-drupal/{ => lib}/common.js | 5 +- packages/rocketchat-drupal/package.js | 21 +- packages/rocketchat-drupal/server/index.js | 2 + .../rocketchat-drupal/{ => server}/startup.js | 2 + .../rocketchat-e2e/client/rocketchat.e2e.js | 21 + 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 | 6 + .../{ => client}/admin/emojiPreview.html | 0 .../{ => client}/admin/route.js | 4 + .../{ => client}/admin/startup.js | 4 +- .../rocketchat-emoji-custom/client/index.js | 16 + .../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 | 43 +- .../rocketchat-emoji-custom/server/index.js | 8 + .../server/methods/deleteEmojiCustom.js | 5 +- .../server/methods/insertOrUpdateEmoji.js | 4 +- .../server/methods/listEmojiCustom.js | 3 + .../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 | 2 + .../{ => 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 | 7 +- .../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 | 12 + .../rocketchat-emoji/client/keyboardFix.js | 2 + .../client/lib/EmojiPicker.js | 13 +- .../client/lib/emojiRenderer.js | 11 +- .../{client => lib}/rocketchat.js | 2 + packages/rocketchat-emoji/package.js | 17 +- 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 | 3 + .../globalFileRestrictions.js | 2 + .../rocketchat-file-upload/lib/FileUpload.js | 4 +- .../lib/FileUploadBase.js | 2 + .../server/config/FileSystem.js | 1 + .../server/config/Slingshot_DEPRECATED.js | 1 + .../server/lib/FileUpload.js | 1 + .../server/lib/proxy.js | 2 + .../server/lib/requests.js | 2 + .../server/methods/getS3FileUrl.js | 1 + .../server/methods/sendFileMessage.js | 3 + .../ufs/AmazonS3/server.js | 2 + .../ufs/GoogleStorage/server.js | 2 + .../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 | 2 + .../{ => lib}/common.js | 5 +- .../rocketchat-github-enterprise/package.js | 17 +- .../server/index.js | 2 + .../{ => server}/startup.js | 2 + .../{ => client}/gitlab-login-button.css | 0 packages/rocketchat-gitlab/client/index.js | 2 + .../rocketchat-gitlab/{ => lib}/common.js | 6 +- packages/rocketchat-gitlab/package.js | 17 +- 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 | 1 + .../rocketchat-grant/server/authenticate.js | 2 +- packages/rocketchat-grant/server/index.js | 1 + packages/rocketchat-grant/server/settings.js | 2 +- packages/rocketchat-graphql/package.js | 3 +- 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 | 2 + .../client/index.js | 1 + .../rocketchat-highlight-words/package.js | 3 +- packages/rocketchat-i18n/i18n/af.i18n.json | 27 +- packages/rocketchat-i18n/i18n/ar.i18n.json | 27 +- packages/rocketchat-i18n/i18n/az.i18n.json | 27 +- packages/rocketchat-i18n/i18n/be-BY.i18n.json | 40 +- packages/rocketchat-i18n/i18n/bg.i18n.json | 27 +- packages/rocketchat-i18n/i18n/ca.i18n.json | 27 +- packages/rocketchat-i18n/i18n/cs.i18n.json | 27 +- packages/rocketchat-i18n/i18n/cy.i18n.json | 27 +- packages/rocketchat-i18n/i18n/da.i18n.json | 27 +- packages/rocketchat-i18n/i18n/de-AT.i18n.json | 31 +- packages/rocketchat-i18n/i18n/de-IN.i18n.json | 75 +- packages/rocketchat-i18n/i18n/de.i18n.json | 1256 ++- packages/rocketchat-i18n/i18n/el.i18n.json | 27 +- packages/rocketchat-i18n/i18n/en.i18n.json | 105 +- packages/rocketchat-i18n/i18n/eo.i18n.json | 27 +- packages/rocketchat-i18n/i18n/es.i18n.json | 33 +- packages/rocketchat-i18n/i18n/eu.i18n.json | 93 + packages/rocketchat-i18n/i18n/fa.i18n.json | 30 +- packages/rocketchat-i18n/i18n/fi.i18n.json | 27 +- packages/rocketchat-i18n/i18n/fr.i18n.json | 28 +- packages/rocketchat-i18n/i18n/he.i18n.json | 31 +- packages/rocketchat-i18n/i18n/hr.i18n.json | 27 +- packages/rocketchat-i18n/i18n/hu.i18n.json | 27 +- packages/rocketchat-i18n/i18n/id.i18n.json | 27 +- packages/rocketchat-i18n/i18n/it.i18n.json | 27 +- packages/rocketchat-i18n/i18n/ja.i18n.json | 878 +- packages/rocketchat-i18n/i18n/km.i18n.json | 164 +- packages/rocketchat-i18n/i18n/ko.i18n.json | 29 +- packages/rocketchat-i18n/i18n/ku.i18n.json | 27 +- packages/rocketchat-i18n/i18n/lo.i18n.json | 27 +- packages/rocketchat-i18n/i18n/lt.i18n.json | 27 +- packages/rocketchat-i18n/i18n/lv.i18n.json | 27 +- packages/rocketchat-i18n/i18n/mn.i18n.json | 27 +- packages/rocketchat-i18n/i18n/ms-MY.i18n.json | 27 +- packages/rocketchat-i18n/i18n/nl.i18n.json | 27 +- packages/rocketchat-i18n/i18n/no.i18n.json | 30 +- packages/rocketchat-i18n/i18n/pl.i18n.json | 27 +- packages/rocketchat-i18n/i18n/pt-BR.i18n.json | 43 +- packages/rocketchat-i18n/i18n/pt.i18n.json | 47 +- packages/rocketchat-i18n/i18n/ro.i18n.json | 27 +- packages/rocketchat-i18n/i18n/ru.i18n.json | 110 +- packages/rocketchat-i18n/i18n/sk-SK.i18n.json | 27 +- packages/rocketchat-i18n/i18n/sl-SI.i18n.json | 27 +- packages/rocketchat-i18n/i18n/sq.i18n.json | 27 +- packages/rocketchat-i18n/i18n/sr.i18n.json | 27 +- packages/rocketchat-i18n/i18n/sv.i18n.json | 222 +- packages/rocketchat-i18n/i18n/ta-IN.i18n.json | 27 +- packages/rocketchat-i18n/i18n/th-TH.i18n.json | 27 +- packages/rocketchat-i18n/i18n/tr.i18n.json | 113 +- packages/rocketchat-i18n/i18n/ug.i18n.json | 20 +- packages/rocketchat-i18n/i18n/uk.i18n.json | 33 +- packages/rocketchat-i18n/i18n/vi-VN.i18n.json | 27 +- packages/rocketchat-i18n/i18n/zh-HK.i18n.json | 27 +- packages/rocketchat-i18n/i18n/zh-TW.i18n.json | 27 +- packages/rocketchat-i18n/i18n/zh.i18n.json | 225 +- packages/rocketchat-i18n/package.js | 28 +- .../{ => client}/iframe_client.js | 11 +- .../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 | 12 +- .../server/adder.js | 2 +- .../server/importer.js | 4 + .../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 | 5 +- .../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.js | 6 + .../client/admin/adminImportPrepare.js | 6 + .../client/admin/adminImportProgress.js | 7 +- packages/rocketchat-importer/client/index.js | 6 + packages/rocketchat-importer/package.js | 40 +- .../server/classes/ImporterBase.js | 5 +- .../server/classes/ImporterWebsocket.js | 2 + packages/rocketchat-importer/server/index.js | 7 + .../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/models/Imports.js | 2 + .../server/models/RawImports.js | 2 + .../server/startup/setImportsToInvalid.js | 1 + .../client/collections.js | 6 +- .../rocketchat-integrations/client/index.js | 16 + .../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.js | 11 +- .../client/views/integrationsNew.html | 2 +- .../client/views/integrationsNew.js | 3 + .../client/views/integrationsOutgoing.html | 2 +- .../client/views/integrationsOutgoing.js | 11 +- .../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 | 14 +- .../rocketchat-internal-hubot/server/index.js | 10 + .../{ => server}/settings.js | 2 + packages/rocketchat-irc/package.js | 6 +- 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/katex.js | 3 + packages/rocketchat-katex/package-lock.json | 2 +- packages/rocketchat-katex/settings.js | 2 + packages/rocketchat-lazy-load/client/index.js | 3 + .../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 | 7 +- .../rocketchat-lib/client/Notifications.js | 3 + packages/rocketchat-lib/client/UserDeleted.js | 2 + .../rocketchat-lib/client/defaultTabBars.js | 2 + .../client/lib/ChannelActions.js | 3 + 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 | 5 + .../rocketchat-lib/client/lib/roomExit.js | 3 + .../rocketchat-lib/client/lib/roomTypes.js | 4 +- .../rocketchat-lib/client/lib/settings.js | 2 + .../client/lib/startup/commands.js | 5 +- .../rocketchat-lib/client/lib/userRoles.js | 2 + .../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 | 2 + 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 | 4 +- .../rocketchat-lib/lib/roomTypes/favorite.js | 1 + .../rocketchat-lib/lib/roomTypes/private.js | 3 +- .../rocketchat-lib/lib/roomTypes/public.js | 1 + .../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 | 2 + .../rocketchat-lib/lib/templateVarHandler.js | 2 + packages/rocketchat-lib/package.js | 6 + packages/rocketchat-lib/rocketchat.info | 2 +- .../server/functions/Notifications.js | 40 +- .../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 | 1 + .../server/functions/deleteMessage.js | 2 + .../server/functions/deleteUser.js | 3 + .../getRoomByNameOrIdWithOptionToJoin.js | 1 + .../server/functions/notifications/email.js | 2 + .../server/functions/notifications/index.js | 2 + .../server/functions/notifications/mobile.js | 2 + .../server/functions/removeUserFromRoom.js | 2 + .../saveCustomFieldsWithoutValidation.js | 1 + .../server/functions/saveUser.js | 2 + .../server/functions/sendMessage.js | 3 + .../server/functions/setEmail.js | 1 + .../server/functions/setRealName.js | 1 + .../server/functions/setUserAvatar.js | 3 + .../server/functions/setUsername.js | 5 +- .../server/functions/settings.js | 1 + .../server/functions/updateMessage.js | 2 + .../server/functions/validateCustomFields.js | 1 + .../server/lib/PasswordPolicyClass.js | 2 + .../rocketchat-lib/server/lib/RateLimiter.js | 2 + packages/rocketchat-lib/server/lib/bugsnag.js | 1 + .../rocketchat-lib/server/lib/configLogger.js | 2 + packages/rocketchat-lib/server/lib/debug.js | 2 + .../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 | 2 + .../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 | 3 + .../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 | 2 + .../server/methods/removeOAuthService.js | 2 + .../server/methods/restartServer.js | 2 + .../server/methods/robotMethods.js | 2 + .../server/methods/saveSetting.js | 2 + .../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/Messages.js | 2 + .../rocketchat-lib/server/models/Rooms.js | 9 + .../server/models/Subscriptions.js | 2 + .../rocketchat-lib/server/models/Users.js | 12 + .../rocketchat-lib/server/models/_Base.js | 1 + .../rocketchat-lib/server/models/_BaseDb.js | 2 + .../rocketchat-lib/server/oauth/facebook.js | 2 + .../rocketchat-lib/server/oauth/google.js | 2 + packages/rocketchat-lib/server/oauth/oauth.js | 3 + .../rocketchat-lib/server/oauth/twitter.js | 2 + .../server/publications/settings.js | 2 + .../server/startup/oAuthServicesUpdate.js | 1 + .../rocketchat-lib/server/startup/robots.js | 9 + .../rocketchat-lib/server/startup/settings.js | 6 + .../server/startup/settingsOnLoadCdnPrefix.js | 1 + .../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 + .../rocketchat-livechat/.app/.meteor/packages | 30 +- .../rocketchat-livechat/.app/.meteor/release | 2 +- .../rocketchat-livechat/.app/.meteor/versions | 82 +- .../.app/client/lib/CustomFields.js | 2 + .../.app/client/lib/LivechatFileUpload.js | 1 + .../.app/client/lib/LivechatVideoCall.js | 2 + .../.app/client/lib/_livechat.js | 4 + .../.app/client/lib/chatMessages.js | 22 +- .../.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 | 33 + .../.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 | 4 + .../.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 | 3 +- .../.app/i18n/el.i18n.json | 1 + .../.app/i18n/en.i18n.json | 2 +- .../.app/i18n/eo.i18n.json | 1 + .../.app/i18n/es.i18n.json | 1 + .../.app/i18n/eu.i18n.json | 36 + .../.app/i18n/fa.i18n.json | 9 +- .../.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 | 3 + .../.app/i18n/km.i18n.json | 14 +- .../.app/i18n/ko.i18n.json | 1 + .../.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 | 1 + .../.app/i18n/no.i18n.json | 4 +- .../.app/i18n/pl.i18n.json | 1 + .../.app/i18n/pt-BR.i18n.json | 2 +- .../.app/i18n/pt.i18n.json | 2 + .../.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 | 39 +- .../rocketchat-livechat/.app/package.json | 10 +- .../assets/rocket-livechat.js | 29 + .../client/collections/AgentUsers.js | 2 + .../client/collections/LivechatCustomField.js | 2 + .../client/collections/LivechatDepartment.js | 2 + .../collections/LivechatDepartmentAgents.js | 2 + .../client/collections/LivechatInquiry.js | 2 + .../client/collections/LivechatIntegration.js | 2 + .../client/collections/LivechatMonitoring.js | 2 + .../client/collections/LivechatPageVisited.js | 2 + .../client/collections/LivechatQueueUser.js | 2 + .../client/collections/LivechatTrigger.js | 2 + .../client/collections/LivechatVisitor.js | 2 + .../client/collections/livechatOfficeHour.js | 2 + .../client/lib/chartHandler.js | 1 + .../client/methods/changeLivechatStatus.js | 2 + packages/rocketchat-livechat/client/route.js | 2 + .../client/startup/notifyUnreadRooms.js | 3 + .../views/app/analytics/livechatAnalytics.js | 4 + .../livechatAnalyticsCustomDaterange.js | 2 +- .../analytics/livechatAnalyticsDaterange.js | 2 +- .../analytics/livechatRealTimeMonitoring.js | 3 + .../livechatIntegrationFacebook.js | 4 + .../livechatIntegrationWebhook.js | 3 + .../client/views/app/livechatAppearance.js | 5 + .../client/views/app/livechatCurrentChats.js | 5 + .../views/app/livechatCustomFieldForm.js | 5 + .../client/views/app/livechatCustomFields.js | 4 + .../views/app/livechatDepartmentForm.js | 4 + .../client/views/app/livechatDepartments.js | 4 + .../client/views/app/livechatInstallation.js | 1 + .../client/views/app/livechatOfficeHours.js | 4 + .../client/views/app/livechatQueue.js | 3 + .../client/views/app/livechatTriggers.js | 4 + .../client/views/app/livechatTriggersForm.js | 4 + .../client/views/app/livechatUsers.js | 3 + .../client/views/app/tabbar/externalSearch.js | 2 + .../client/views/app/tabbar/visitorEdit.js | 5 +- .../client/views/app/tabbar/visitorForward.js | 5 + .../client/views/app/tabbar/visitorHistory.js | 3 + .../client/views/app/tabbar/visitorInfo.js | 5 + .../views/app/tabbar/visitorNavigation.js | 3 + .../app/triggers/livechatTriggerAction.js | 3 + .../app/triggers/livechatTriggerCondition.js | 2 + .../client/views/sideNav/livechat.js | 6 + .../client/views/sideNav/livechatFlex.js | 2 + packages/rocketchat-livechat/config.js | 2 + .../imports/LivechatRoomType.js | 3 +- .../imports/server/rest/departments.js | 2 + .../imports/server/rest/facebook.js | 1 + .../imports/server/rest/sms.js | 2 + .../imports/server/rest/upload.js | 1 + .../imports/server/rest/users.js | 1 + packages/rocketchat-livechat/livechat.js | 4 +- packages/rocketchat-livechat/messageTypes.js | 3 + packages/rocketchat-livechat/package.js | 1 + packages/rocketchat-livechat/permissions.js | 1 + .../server/api/lib/livechat.js | 1 + .../server/api/v1/agent.js | 2 + .../server/api/v1/config.js | 1 + .../server/api/v1/customField.js | 2 + .../server/api/v1/message.js | 3 + .../server/api/v1/offlineMessage.js | 3 + .../server/api/v1/pageVisited.js | 2 + .../rocketchat-livechat/server/api/v1/room.js | 4 + .../server/api/v1/transcript.js | 3 + .../server/api/v1/videoCall.js | 3 + .../server/api/v1/visitor.js | 3 +- .../server/hooks/RDStation.js | 2 + .../server/hooks/externalMessage.js | 1 + .../server/hooks/markRoomResponded.js | 2 + .../server/hooks/saveAnalyticsData.js | 2 + .../server/lib/Livechat.js | 4 + .../server/lib/OfficeClock.js | 2 + .../server/lib/OmniChannel.js | 2 + .../server/lib/QueueMethods.js | 2 + .../server/methods/addAgent.js | 2 + .../server/methods/addManager.js | 2 + .../server/methods/changeLivechatStatus.js | 2 + .../server/methods/closeByVisitor.js | 2 + .../server/methods/closeRoom.js | 2 + .../server/methods/facebook.js | 1 + .../server/methods/getAgentData.js | 2 + .../server/methods/getAgentOverviewData.js | 2 + .../server/methods/getAnalyticsChartData.js | 2 + .../methods/getAnalyticsOverviewData.js | 2 + .../server/methods/getCustomFields.js | 2 + .../server/methods/getInitialData.js | 1 + .../server/methods/getNextAgent.js | 3 + .../server/methods/loadHistory.js | 1 + .../server/methods/loginByToken.js | 1 + .../server/methods/pageVisited.js | 2 + .../server/methods/registerGuest.js | 1 + .../server/methods/removeAgent.js | 2 + .../server/methods/removeCustomField.js | 3 + .../server/methods/removeDepartment.js | 2 + .../server/methods/removeManager.js | 2 + .../server/methods/removeRoom.js | 2 + .../server/methods/removeTrigger.js | 3 + .../server/methods/returnAsInquiry.js | 2 + .../server/methods/saveAppearance.js | 2 + .../server/methods/saveCustomField.js | 2 + .../server/methods/saveDepartment.js | 2 + .../server/methods/saveInfo.js | 2 + .../server/methods/saveIntegration.js | 1 + .../server/methods/saveOfficeHours.js | 2 + .../server/methods/saveSurveyFeedback.js | 2 + .../server/methods/saveTrigger.js | 3 + .../server/methods/searchAgent.js | 1 + .../server/methods/sendFileLivechatMessage.js | 3 + .../server/methods/sendMessageLivechat.js | 2 + .../server/methods/sendOfflineMessage.js | 2 + .../server/methods/sendTranscript.js | 2 + .../server/methods/setCustomField.js | 1 + .../server/methods/setDepartmentForVisitor.js | 2 + .../server/methods/startFileUploadRoom.js | 2 + .../server/methods/startVideoCall.js | 3 + .../server/methods/takeInquiry.js | 2 + .../server/methods/transfer.js | 2 + .../server/methods/webhookTest.js | 2 + .../server/models/LivechatDepartmentAgents.js | 1 + .../server/models/LivechatExternalMessage.js | 2 + .../server/models/LivechatVisitors.js | 1 + .../server/models/Rooms.js | 1 + .../server/models/Users.js | 2 + .../server/models/indexes.js | 2 + .../server/publications/customFields.js | 1 + .../server/publications/departmentAgents.js | 2 + .../server/publications/externalMessages.js | 2 + .../server/publications/livechatAgents.js | 2 + .../server/publications/livechatAppearance.js | 2 + .../publications/livechatDepartments.js | 2 + .../server/publications/livechatInquiries.js | 2 + .../publications/livechatIntegration.js | 2 + .../server/publications/livechatManagers.js | 2 + .../server/publications/livechatMonitoring.js | 3 + .../publications/livechatOfficeHours.js | 2 + .../server/publications/livechatQueue.js | 2 + .../server/publications/livechatRooms.js | 3 + .../server/publications/livechatTriggers.js | 2 + .../server/publications/livechatVisitors.js | 2 + .../server/publications/visitorHistory.js | 2 + .../server/publications/visitorInfo.js | 1 + .../server/publications/visitorPageVisited.js | 2 + .../rocketchat-livechat/server/startup.js | 3 + .../server/unclosedLivechats.js | 1 + .../server/visitorStatus.js | 2 + .../rocketchat-livestream/client/index.js | 10 + .../rocketchat-livestream/client/oauth.js | 3 + .../rocketchat-livestream/client/tabBar.js | 5 + .../client/views/broadcastView.js | 6 + .../client/views/liveStreamTab.js | 11 +- .../client/views/liveStreamView.js | 2 + packages/rocketchat-livestream/package.js | 25 +- .../server/functions/saveStreamingOptions.js | 4 + .../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/viewLogs.js | 4 + .../client/views/viewLogs.js | 2 + packages/rocketchat-logger/package.js | 2 +- packages/rocketchat-logger/server/server.js | 3 + .../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/mapview.js | 1 + .../rocketchat-mapview/server/settings.js | 2 + .../client/actionButton.js | 3 + .../client/lib/MentionedMessage.js | 2 + .../client/tabBar.js | 2 + .../client/views/mentionsFlexTab.js | 2 + .../server/publications/mentionedMessages.js | 5 + packages/rocketchat-mentions/client/client.js | 1 + .../methods/getUserMentionsByChannel.js | 3 + packages/rocketchat-mentions/server/server.js | 3 + .../client/messageAction.js | 2 + .../client/messageAttachment.js | 2 + .../client/stylesheets/messageAttachments.css | 2 + .../client/actionButton.js | 3 + .../server/unreadMessages.js | 1 + .../client/actionButton.js | 3 + .../client/lib/PinnedMessage.js | 2 + .../client/messageType.js | 2 + .../client/pinMessage.js | 2 + .../rocketchat-message-pin/client/tabBar.js | 3 + .../client/views/pinnedMessages.js | 2 + .../server/pinMessage.js | 2 + .../server/publications/pinnedMessages.js | 5 + .../rocketchat-message-pin/server/settings.js | 2 + .../server/startup/indexes.js | 2 + .../client/actionButton.js | 2 + .../client/lib/collections.js | 2 + .../client/messageType.js | 1 + .../client/page/snippetPage.js | 4 + .../client/router.js | 4 +- .../client/snippetMessage.js | 2 + .../client/tabBar/tabBar.js | 3 + .../client/tabBar/views/snippetedMessages.js | 2 + .../rocketchat-message-snippet/package.js | 1 + .../server/methods/snippetMessage.js | 2 + .../server/publications/snippetedMessage.js | 6 + .../publications/snippetedMessagesByRoom.js | 6 + .../server/requests.js | 2 + .../server/startup/settings.js | 2 + .../client/actionButton.js | 3 + .../client/lib/StarredMessage.js | 2 + .../client/starMessage.js | 2 + .../rocketchat-message-star/client/tabBar.js | 2 + .../client/views/starredMessages.js | 2 + .../server/publications/starredMessages.js | 5 + .../server/settings.js | 2 + .../server/starMessage.js | 2 + .../server/startup/indexes.js | 2 + packages/rocketchat-migrations/migrations.js | 3 + packages/rocketchat-nrr/nrr.js | 1 + .../admin/client/collection.js | 2 + .../admin/client/route.js | 3 + .../admin/client/views/oauthApp.js | 6 + .../admin/client/views/oauthApps.js | 1 + .../admin/server/methods/addOAuthApp.js | 2 + .../admin/server/methods/deleteOAuthApp.js | 2 + .../admin/server/methods/updateOAuthApp.js | 1 + .../admin/server/publications/oauthApps.js | 2 + .../oauth/client/oauth2-client.js | 5 + .../oauth/server/oauth2-server.js | 2 + .../package.js | 1 + .../rocketchat-oembed/client/baseWidget.js | 2 + .../client/oembedAudioWidget.js | 3 + .../client/oembedFrameWidget.js | 3 + .../client/oembedImageWidget.js | 3 + .../client/oembedSandstormGrain.js | 3 + .../client/oembedUrlWidget.js | 3 + .../client/oembedVideoWidget.js | 3 + .../client/oembedYoutubeWidget.js | 3 + .../rocketchat-oembed/server/jumpToMessage.js | 1 + packages/rocketchat-oembed/server/server.js | 1 + .../rocketchat-otr/client/rocketchat.otr.js | 4 + .../client/rocketchat.otr.room.js | 8 + packages/rocketchat-otr/client/tabBar.js | 3 + .../rocketchat-otr/client/views/otrFlexTab.js | 3 + .../server/methods/deleteOldOTRMessages.js | 2 + .../server/methods/updateOTRAck.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/tabBar.js | 2 + .../views/pushNotificationsFlexTab.html | 2 +- .../client/views/pushNotificationsFlexTab.js | 4 + .../methods/saveNotificationSettings.js | 3 + packages/rocketchat-reactions/client/init.js | 4 + .../client/methods/setReaction.js | 1 + packages/rocketchat-reactions/setReaction.js | 3 + .../server/cronPruneMessages.js | 1 + .../client/powerboxListener.js | 2 + .../rocketchat-sandstorm/client/setPath.js | 3 + .../rocketchat-sandstorm/server/events.js | 2 +- .../rocketchat-sandstorm/server/powerbox.js | 1 + .../client/provider/result.js | 7 +- .../rocketchat-search/client/search/search.js | 3 + .../server/provider/defaultProvider.js | 1 + .../server/service/providerService.js | 1 + .../server/service/validationService.js | 1 + .../rocketchat-setup-wizard/client/final.js | 4 + .../client/setupWizard.js | 8 + .../server/getSetupWizardParameters.js | 2 + .../server/RocketAdapter.js | 4 + .../server/SlackAdapter.js | 2 + .../rocketchat-slackbridge/server/settings.js | 2 + .../server/slackbridge_import.server.js | 5 + .../gimme.js | 1 + .../lenny.js | 1 + .../shrug.js | 1 + .../tableflip.js | 1 + .../unflip.js | 1 + .../server/server.js | 5 + .../server/server.js | 5 + .../rocketchat-slashcommands-help/server.js | 6 + .../server/hide.js | 4 + .../server/server.js | 4 + .../server/server.js | 4 + .../server/server.js | 5 +- .../server/server.js | 4 + .../rocketchat-slashcommands-leave/leave.js | 3 + packages/rocketchat-slashcommands-me/me.js | 1 + .../rocketchat-slashcommands-msg/server.js | 4 + .../server/mute.js | 4 + .../server/unmute.js | 4 + .../client/client.js | 4 + .../rocketchat-slashcommands-topic/topic.js | 4 +- .../server/server.js | 5 + .../rocketchat-slider/rocketchat-slider.js | 2 + .../server/functions/generateEml.js | 2 + .../server/startup.js | 1 + packages/rocketchat-sms/SMS.js | 2 + packages/rocketchat-sms/settings.js | 2 + .../rocketchat-spotify/lib/client/widget.js | 2 + .../server/functions/get.js | 1 + .../server/methods/getStatistics.js | 2 + .../client/login_token_client.js | 5 + packages/rocketchat-token-login/package.js | 1 + .../server/login_token_server.js | 1 + .../rocketchat-tokenpass/client/roomType.js | 1 + .../rocketchat-tokenpass/client/startup.js | 2 + .../client/tokenChannelsList.js | 5 + .../client/tokenpassChannelSettings.js | 5 + packages/rocketchat-tokenpass/common.js | 2 + packages/rocketchat-tokenpass/package.js | 2 +- .../server/cronRemoveUsers.js | 2 + .../getProtectedTokenpassBalances.js | 3 + .../functions/getPublicTokenpassBalances.js | 3 + .../server/functions/saveRoomTokens.js | 3 + .../functions/saveRoomTokensMinimumBalance.js | 2 + .../server/methods/findTokenChannels.js | 2 + .../server/methods/getChannelTokenpass.js | 3 + .../server/models/indexes.js | 2 + .../rocketchat-tokenpass/server/startup.js | 3 + packages/rocketchat-tooltip/client/init.js | 2 + .../client/rocketchat-tooltip.js | 2 + .../rocketchat-ui-account/client/account.js | 3 + .../client/accountFlex.js | 4 +- .../client/accountIntegrations.html | 32 +- .../client/accountIntegrations.js | 2 + .../client/accountPreferences.html | 537 +- .../client/accountPreferences.js | 6 + .../client/accountProfile.js | 6 + .../client/avatar/avatar.js | 4 + .../client/avatar/prompt.js | 5 + .../rocketchat-ui-admin/client/admin.html | 32 +- packages/rocketchat-ui-admin/client/admin.js | 33 +- .../rocketchat-ui-admin/client/adminFlex.js | 3 + .../rocketchat-ui-admin/client/adminInfo.js | 5 + .../client/rooms/adminRoomInfo.js | 6 + .../client/rooms/adminRooms.js | 7 + .../client/rooms/channelSettingsDefault.js | 4 + .../client/users/adminInviteUser.js | 3 + .../client/users/adminUserChannels.js | 3 + .../client/users/adminUsers.js | 5 + .../publications/adminRooms.js | 1 + .../client/lib/startup.js | 3 + .../client/views/cleanHistory.js | 7 +- .../client/flexTabBar.js | 5 + .../client/tabs/inviteUsers.js | 8 +- .../client/tabs/keyboardShortcuts.html | 6 + .../client/tabs/membersList.js | 5 + .../client/tabs/uploadedFilesList.js | 3 + .../client/tabs/userActions.js | 19 + .../client/tabs/userEdit.js | 5 + .../client/tabs/userInfo.js | 5 + packages/rocketchat-ui-flextab/package.js | 1 + .../client/login/footer.js | 4 + .../client/login/form.html | 9 +- .../rocketchat-ui-login/client/login/form.js | 9 +- .../client/login/header.js | 2 + .../client/login/layout.js | 2 + .../client/login/services.js | 2 + .../client/reset-password/resetPassword.js | 5 + packages/rocketchat-ui-login/client/routes.js | 3 + .../client/username/layout.js | 2 + .../client/username/username.js | 3 + packages/rocketchat-ui-login/package.js | 1 + packages/rocketchat-ui-master/client/main.js | 11 +- .../rocketchat-ui-master/public/icons.svg | 2 +- .../rocketchat-ui-master/server/inject.js | 1 + .../rocketchat-ui-message/client/message.js | 32 +- .../client/messageBox.js | 26 +- .../client/popup/messagePopup.js | 10 +- .../client/popup/messagePopupChannel.js | 2 + .../client/popup/messagePopupConfig.js | 9 +- .../client/popup/messagePopupEmoji.js | 2 + .../popup/messagePopupSlashCommandPreview.js | 7 +- .../startup/messageBoxActions.js | 2 + .../client/chatRoomItem.js | 4 + .../client/createCombinedFlex.js | 4 + .../client/listChannelsFlex.js | 3 + .../client/listCombinedFlex.js | 3 + .../client/listPrivateGroupsFlex.js | 2 + .../rocketchat-ui-sidenav/client/roomList.js | 2 + .../rocketchat-ui-sidenav/client/sideNav.js | 4 + .../client/sidebarHeader.html | 4 +- .../client/sidebarHeader.js | 41 +- .../client/sidebarItem.js | 4 + .../rocketchat-ui-sidenav/client/sortlist.js | 2 + .../rocketchat-ui-sidenav/client/toolbar.html | 2 +- .../rocketchat-ui-sidenav/client/toolbar.js | 82 +- .../client/VRecDialog.js | 2 + .../rocketchat-ui-vrecord/client/vrecord.js | 2 + .../client/components/contextualBar.js | 2 + .../client/components/header/header.js | 3 + .../rocketchat-ui/client/components/icon.js | 2 + .../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 | 3 + .../rocketchat-ui/client/lib/RoomManager.js | 20 +- .../rocketchat-ui/client/lib/accountBox.js | 6 + packages/rocketchat-ui/client/lib/accounts.js | 3 + packages/rocketchat-ui/client/lib/avatar.js | 3 + .../rocketchat-ui/client/lib/chatMessages.js | 64 +- .../lib/codeMirror/codeMirrorComponent.js | 3 + .../rocketchat-ui/client/lib/collections.js | 13 +- .../client/lib/cordova/facebook-login.js | 3 + .../client/lib/cordova/keyboard-fix.js | 2 + .../rocketchat-ui/client/lib/cordova/push.js | 4 + .../rocketchat-ui/client/lib/cordova/urls.js | 2 + .../client/lib/cordova/user-state.js | 1 + .../rocketchat-ui/client/lib/fileUpload.js | 3 + .../rocketchat-ui/client/lib/fireEvent.js | 4 +- .../client/lib/iframeCommands.js | 3 + packages/rocketchat-ui/client/lib/menu.js | 1 + packages/rocketchat-ui/client/lib/modal.js | 2 + .../rocketchat-ui/client/lib/msgTyping.js | 4 + .../rocketchat-ui/client/lib/notification.js | 6 + .../client/lib/parentTemplate.js | 2 + .../rocketchat-ui/client/lib/readMessages.js | 16 +- .../client/lib/recorderjs/videoRecorder.js | 2 + packages/rocketchat-ui/client/lib/sideNav.js | 5 +- packages/rocketchat-ui/client/lib/tapi18n.js | 3 +- .../client/views/404/roomNotFound.js | 5 + .../rocketchat-ui/client/views/app/alerts.js | 3 + .../rocketchat-ui/client/views/app/burger.js | 3 + .../client/views/app/createChannel.js | 9 +- .../client/views/app/directory.js | 4 + .../client/views/app/fullModal.js | 4 + .../rocketchat-ui/client/views/app/home.js | 2 + .../rocketchat-ui/client/views/app/modal.js | 5 +- .../client/views/app/photoswipe.js | 1 + .../rocketchat-ui/client/views/app/popout.js | 7 +- .../rocketchat-ui/client/views/app/popover.js | 5 + .../rocketchat-ui/client/views/app/room.js | 8 + .../client/views/app/roomSearch.js | 2 + .../client/views/app/secretURL.js | 6 + .../views/app/videoCall/videoButtons.js | 3 + .../client/views/app/videoCall/videoCall.js | 5 + .../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 | 15 +- .../server/cronProcessDownloads.js | 2 + .../rocketchat-version-check/client/client.js | 3 + packages/rocketchat-version-check/package.js | 2 +- .../server/functions/checkVersionUpdate.js | 2 + .../server/methods/banner_dismiss.js | 2 + .../rocketchat-version-check/server/server.js | 1 + .../client/actionLink.js | 3 + .../rocketchat-videobridge/client/tabBar.js | 4 + .../client/views/videoFlexTab.js | 5 +- .../client/views/videoFlexTabBbb.js | 2 + .../rocketchat-videobridge/lib/messageType.js | 3 + .../server/methods/bbb.js | 1 + .../server/methods/jitsiSetTimeout.js | 3 + .../rocketchat-videobridge/server/settings.js | 2 + .../rocketchat-webdav/client/actionButton.js | 1 + .../client/addWebdavAccount.js | 3 + .../client/collections/WebdavAccounts.js | 3 + .../client/selectWebdavAccount.js | 2 + .../client/webdavFilePicker.js | 2 + .../server/methods/addWebdavAccount.js | 2 + .../server/methods/getFileFromWebdav.js | 1 + .../server/methods/getWebdavFileList.js | 1 + .../server/methods/removeWebdavAccount.js | 3 + .../server/methods/uploadFileToWebdav.js | 1 + .../server/publications/webdavAccounts.js | 2 + .../startup/messageBoxActions.js | 3 + .../rocketchat-webdav/startup/subscription.js | 2 + .../rocketchat-webrtc/client/WebRTCClass.js | 6 + packages/rocketchat-wordpress/common.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 | 0 .../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 | 3 + .../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 | 2 - .../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 | 166 +- .../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 .../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 | 8 +- .../server/colors.less | 0 .../server/server.js | 2 + .../server/variables.js | 0 .../lib/tap_i18next/tap_i18next_init.js | 3 +- server/configuration/accounts_meld.js | 1 + server/lib/accounts.js | 4 + server/lib/cordova.js | 3 + 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 | 3 + server/methods/deleteUser.js | 3 + server/methods/eraseRoom.js | 2 + server/methods/getAvatarSuggestion.js | 3 + server/methods/getRoomIdByNameOrId.js | 3 + server/methods/getRoomNameById.js | 3 + server/methods/getTotalChannels.js | 2 + server/methods/getUsernameSuggestion.js | 2 + server/methods/getUsersOfRoom.js | 2 + server/methods/hideRoom.js | 3 + server/methods/ignoreUser.js | 2 + 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 | 3 + 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 | 2 + server/startup/cron.js | 2 + 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/v009.js | 3 + server/startup/migrations/v012.js | 2 + server/startup/migrations/v015.js | 3 + server/startup/migrations/v019.js | 1 + server/startup/migrations/v036.js | 2 + server/startup/migrations/v042.js | 2 + server/startup/migrations/v099.js | 4 + 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/presence.js | 1 + server/startup/serverRunning.js | 1 + server/stream/messages.js | 2 + server/stream/streamBroadcast.js | 2 + tests/data/checks.js | 2 + tests/data/permissions.helper.js | 10 + tests/data/rooms.helper.js | 44 + tests/end-to-end/api/01-users.js | 131 +- tests/end-to-end/api/05-chat.js | 102 + tests/end-to-end/api/09-rooms.js | 327 +- tests/end-to-end/ui/00-login.js | 1 + tests/end-to-end/ui/11-admin.js | 1 + tests/end-to-end/ui/14-message-popup.js | 1 + tests/pageobjects/Page.js | 4 +- tests/pageobjects/administration.page.js | 18 +- tests/pageobjects/setup-wizard.page.js | 2 + 1512 files changed, 15804 insertions(+), 9149 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .scripts/translationDiff.js 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 (97%) 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-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-autotranslate/server/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-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%) 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 (91%) 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 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/index.js 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-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-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/i18n/eu.i18n.json create mode 100644 packages/rocketchat-livestream/client/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 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 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 (100%) 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 (98%) 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%) 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 (97%) rename packages/{rocketchat-theme => rocketchat_theme}/server/colors.less (100%) rename packages/{rocketchat-theme => rocketchat_theme}/server/server.js (98%) rename packages/{rocketchat-theme => rocketchat_theme}/server/variables.js (100%) create mode 100644 server/startup/migrations/v136.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 65979bbdf961..673ddf13b631 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,7 +6,7 @@ jobs: build: <<: *defaults docker: - - image: circleci/node:8.9 + - image: circleci/node:8.11 steps: - checkout @@ -135,9 +135,9 @@ jobs: test-with-oplog: <<: *defaults docker: - - image: circleci/node:8.9-browsers - - image: mongo:3.4 - command: [mongod, --nojournal, --noprealloc, --smallfiles, --replSet=rs0] + - image: circleci/node:8.11-browsers + - image: mongo:4.0 + command: [mongod, --noprealloc, --smallfiles, --replSet=rs0] environment: TEST_MODE: "true" @@ -154,9 +154,9 @@ jobs: 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 + 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/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.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 @@ -182,8 +182,8 @@ jobs: test-without-oplog: <<: *defaults docker: - - image: circleci/node:8.9-browsers - - image: circleci/mongo:3.4 + - image: circleci/node:8.11-browsers + - image: circleci/mongo:4.0 environment: TEST_MODE: "true" @@ -199,9 +199,9 @@ jobs: 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 + 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/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.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 @@ -221,7 +221,7 @@ jobs: deploy: <<: *defaults docker: - - image: circleci/node:8.9 + - image: circleci/node:8.11 steps: - attach_workspace: diff --git a/.docker/Dockerfile.rhel b/.docker/Dockerfile.rhel index 3b8967f78965..e2aa41f34415 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.72.0 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..427e6d39adff 100644 --- a/.eslintrc +++ b/.eslintrc @@ -4,26 +4,16 @@ "globals": { "__meteor_runtime_config__" : false, "AccountBox" : false, - "Accounts" : false, "AgentUsers" : false, "Apps" : false, "Assets" : false, - "Blaze" : false, - "BlazeLayout" : false, "browser" : false, "ChatMessage" : false, "ChatMessages" : false, "ChatRoom" : false, "ChatSubscription" : false, - "check" : false, - "CryptoJS" : false, "Department" : false, - "DDPRateLimiter" : false, - "EJSON" : false, - "Email" : false, - "FlowRouter" : false, "FileUpload" : false, - "HTTP" : false, "getNextAgent" : false, "handleError" : false, "getAvatarUrlFromUsername" : false, @@ -35,40 +25,22 @@ "LivechatPageVisited" : false, "LivechatTrigger" : false, "Logger" : false, - "Match" : false, - "Meteor" : false, "modal" : false, - "moment" : false, - "Mongo" : false, "Npm" : false, "Package" : false, "parentCall" : false, - "Promise" : false, - "Random" : false, - "ReactiveDict" : false, - "ReactiveVar" : false, - "Reload" : false, "RocketChat" : true, - "RocketChatFile" : false, "RoomHistoryManager" : false, "RoomManager" : false, "ServiceConfiguration" : false, - "Session" : 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, "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/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..94af4750486c 100644 --- a/.github/history.json +++ b/.github/history.json @@ -20370,6 +20370,1265 @@ "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", + "userLogin": "sampaiodiego", + "contributors": [ + "sampaiodiego" + ] + } + ] + }, + "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", diff --git a/.meteor/packages b/.meteor/packages index 53c2c67aaf88..32f6caec5229 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.0 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.1.8 +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 @@ -108,7 +108,6 @@ rocketchat:monitoring rocketchat:oauth2-server-config rocketchat:oembed rocketchat:otr -rocketchat:postcss rocketchat:push-notifications rocketchat:reactions rocketchat:retention-policy @@ -183,7 +182,6 @@ nimble:restivus nooitaf:colors ostrio:cookies pauli:accounts-linkedin -percolate:synced-cron raix:handlebar-helpers rocketchat:push raix:ui-dropped-event @@ -199,6 +197,8 @@ rocketchat:search chatpal:search rocketchat:lazy-load tap:i18n -underscore +underscore@1.0.10 rocketchat:bigbluebutton rocketchat:mailmessages +juliancwirko:postcss +littledata:synced-cron 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..e76dedee10d0 100644 --- a/.meteor/release +++ b/.meteor/release @@ -1 +1 @@ -METEOR@1.6.1.3 +METEOR@1.8 diff --git a/.meteor/versions b/.meteor/versions index 1c959d536b68..1117dea6c248 100644 --- a/.meteor/versions +++ b/.meteor/versions @@ -1,24 +1,24 @@ -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 -autoupdate@1.4.0 -babel-compiler@7.0.9 -babel-runtime@1.2.2 +autoupdate@1.5.0 +babel-compiler@7.2.1 +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.0 +caching-html-compiler@1.1.3 callback-hook@1.1.0 cfs:http-methods@0.0.32 chatpal:search@0.0.1 @@ -26,35 +26,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 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.0 +ecmascript@0.12.1 +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 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 @@ -62,6 +64,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 @@ -72,28 +75,31 @@ konecty:mongo-counter@0.0.5_3 konecty:multiple-instances-status@1.1.0 konecty:user-presence@2.2.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.0 +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.2 +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 @@ -102,24 +108,23 @@ 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.5 +oauth1@1.2.1 +oauth2@1.2.1 observe-sequence@1.0.16 ordered-dict@1.1.0 -ostrio:cookies@2.2.4 +ostrio:cookies@2.3.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 @@ -202,7 +207,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 @@ -232,7 +236,7 @@ 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 @@ -254,19 +258,17 @@ 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.1.8 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 @@ -274,13 +276,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.0 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..690c86caa9e9 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 = 116, # Increment this for every release. - appMarketingVersion = (defaultText = "0.71.1"), + appMarketingVersion = (defaultText = "0.72.0"), # Human-readable representation of appVersion. Should match the way you # identify versions of your app in documentation and marketing. 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/.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..d0e9e59b3c5d 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.72.0 fi echo "Preparing to trigger a snap release for $CHANNEL channel" diff --git a/.vscode/launch.json b/.vscode/launch.json index 05ddc20b9795..465d780a4a59 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -10,7 +10,9 @@ "restart": false, "sourceMaps": true, "sourceMapPathOverrides": { - "meteor://💻app/packages/rocketchat:*": "${workspaceFolder}/packages/rocketchat-*" + "meteor://💻app/*": "${workspaceFolder}/*", + "meteor://💻app/packages/rocketchat:*": "${workspaceFolder}/packages/rocketchat-*", + "meteor://💻app/packages/chatpal:*": "${workspaceFolder}/packages/chatpal-*", }, "protocol": "inspector" }, @@ -21,7 +23,9 @@ "url": "http://localhost:3000", "webRoot": "${workspaceFolder}", "sourceMapPathOverrides": { - "meteor://💻app/packages/rocketchat:*": "${workspaceFolder}/packages/rocketchat-*" + "meteor://💻app/*": "${workspaceFolder}/*", + "meteor://💻app/packages/rocketchat:*": "${workspaceFolder}/packages/rocketchat-*", + "meteor://💻app/packages/chatpal:*": "${workspaceFolder}/packages/chatpal-*", } }, { @@ -36,7 +40,9 @@ "port": 9229, "timeout": 300000, //Rocket.Chat really takes some time to startup, so play it safe "sourceMapPathOverrides": { - "meteor://💻app/packages/rocketchat:*": "${workspaceFolder}/packages/rocketchat-*" + "meteor://💻app/*": "${workspaceFolder}/*", + "meteor://💻app/packages/rocketchat:*": "${workspaceFolder}/packages/rocketchat-*", + "meteor://💻app/packages/chatpal:*": "${workspaceFolder}/packages/chatpal-*", }, "protocol": "inspector" }, @@ -52,7 +58,9 @@ "port": 9229, "timeout": 300000, //Rocket.Chat really takes some time to startup, so play it safe "sourceMapPathOverrides": { - "meteor://💻app/packages/rocketchat:*": "${workspaceFolder}/packages/rocketchat-*" + "meteor://💻app/*": "${workspaceFolder}/*", + "meteor://💻app/packages/rocketchat:*": "${workspaceFolder}/packages/rocketchat-*", + "meteor://💻app/packages/chatpal:*": "${workspaceFolder}/packages/chatpal-*", }, "protocol": "inspector" }, @@ -68,7 +76,9 @@ "port": 9229, "timeout": 300000, //Rocket.Chat really takes some time to startup, so play it safe "sourceMapPathOverrides": { - "meteor://💻app/packages/rocketchat:*": "${workspaceFolder}/packages/rocketchat-*" + "meteor://💻app/*": "${workspaceFolder}/*", + "meteor://💻app/packages/rocketchat:*": "${workspaceFolder}/packages/rocketchat-*", + "meteor://💻app/packages/chatpal:*": "${workspaceFolder}/packages/chatpal-*", }, "env": { "TEST_MODE": "true" diff --git a/HISTORY.md b/HISTORY.md index d99a6496e9a4..26a2996f3a71 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,6 +1,182 @@ +# 0.72.0 +`2018-11-27 · 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.1 -`2018-10-31 · 1 🐛 · 1 👩‍💻👨‍💻` +`2018-10-31 · 1 🐛 · 1 🔍 · 1 👩‍💻👨‍💻` ### Engine versions - Node: `8.11.3` @@ -10,6 +186,13 @@ - 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) diff --git a/README.md b/README.md index 01964b8724da..361a9afd2a89 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) @@ -87,17 +89,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 +103,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 +135,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://raw.githubusercontent.com/DFabric/DPlatform-ShellCore/images/logo.png)](https://dfabric.github.io/DPlatform-ShellCore) @@ -213,7 +205,7 @@ Automated production-grade deployment in minutes, for RHEL / CentOS 7 or Ubuntu [![Ansible deployment](https://raw.githubusercontent.com/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://raw.githubusercontent.com/Sing-Li/bbug/master/images/pitiny.png)](https://github.com/RocketChat/Rocket.Chat.RaspberryPi) @@ -310,7 +302,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 +323,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 +383,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,6 +404,7 @@ 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 ``` @@ -429,7 +419,7 @@ 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 @@ -466,7 +456,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/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..ddcdae14c49d 100644 --- a/client/methods/updateMessage.js +++ b/client/methods/updateMessage.js @@ -1,3 +1,6 @@ +import { Meteor } from 'meteor/meteor'; +import { Tracker } from 'meteor/tracker'; +import { TimeSync } from 'meteor/mizzao:timesync'; 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..52d7083b2350 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'; // 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..28d7cb3dba74 100644 --- a/client/notifications/updateAvatar.js +++ b/client/notifications/updateAvatar.js @@ -1,4 +1,5 @@ /* globals updateAvatarOfUsername */ +import { Meteor } from 'meteor/meteor'; Meteor.startup(function() { RocketChat.Notifications.onLogged('updateAvatar', function(data) { diff --git a/client/notifications/updateUserState.js b/client/notifications/updateUserState.js index 367ded6c4975..9144bce0fdc7 100644 --- a/client/notifications/updateUserState.js +++ b/client/notifications/updateUserState.js @@ -1,4 +1,5 @@ /* globals fireGlobalEvent */ +import { Meteor } from 'meteor/meteor'; /* 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 dc36397d3fb4..e9782bd6f460 100644 --- a/client/routes/roomRoute.js +++ b/client/routes/roomRoute.js @@ -1,3 +1,5 @@ +import { FlowRouter } from 'meteor/kadira:flow-router'; + FlowRouter.goToRoomById = (roomId) => { const subscription = ChatSubscription.findOne({ rid: roomId }); if (subscription) { diff --git a/client/routes/router.js b/client/routes/router.js index 69b69dac0b5a..9d80c73ee9fd 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 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..61ca1031914e 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 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..cf2c1eea246b 100644 --- a/client/startup/startup.js +++ b/client/startup/startup.js @@ -1,5 +1,8 @@ /* 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 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..5580c0635bf7 100644 --- a/client/startup/unread.js +++ b/client/startup/unread.js @@ -1,4 +1,9 @@ -/* globals fireGlobalEvent, readMessage, Favico, favico, menu */ +/* globals fireGlobalEvent, readMessage, 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'; Meteor.startup(function() { Tracker.autorun(function() { 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/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 @@