From d53e264b83ccc971236123853e4b68c9eb6beeb4 Mon Sep 17 00:00:00 2001
From: Diego Sampaio <chinello@gmail.com>
Date: Fri, 10 May 2019 12:02:59 -0300
Subject: [PATCH] New eslint rules (#14332)

* Fix new eslint rules

* Fix eslint rules:

no-unsafe-finally
no-await-in-loop

* More and more rules

* Fix changes after lint fixes

* Fix import orders

* New eslint rules

operator-linebreak
new-parens

* New eslint rule: no-useless-computed-key

* New eslint rule: no-useless-constructor

* Fix after develop merge

* Update lint package and fix new code
---
 .scripts/fix-i18n.js                          |   3 +-
 .scripts/logs.js                              |   3 +-
 .scripts/md.js                                |   7 +-
 .scripts/set-version.js                       |   3 +-
 .scripts/start.js                             |   7 +-
 .scripts/version.js                           |   3 +-
 app/2fa/client/TOTPPassword.js                |   3 +-
 app/2fa/client/accountSecurity.js             |   5 +-
 app/2fa/server/lib/totp.js                    |   3 +-
 app/2fa/server/loginHandler.js                |   3 +-
 app/2fa/server/methods/disable.js             |   1 +
 app/2fa/server/methods/enable.js              |   1 +
 app/2fa/server/methods/regenerateCodes.js     |   1 +
 app/2fa/server/methods/validateTempToken.js   |   1 +
 app/2fa/server/startup/settings.js            |   2 -
 app/action-links/both/lib/actionLinks.js      |   1 +
 app/action-links/client/init.js               |   2 +-
 app/action-links/client/lib/actionLinks.js    |   1 +
 app/action-links/server/actionLinkHandler.js  |   1 +
 app/analytics/client/loadScript.js            |   1 +
 app/analytics/client/trackEvents.js           |   3 +-
 app/api/server/api.js                         |  15 +-
 app/api/server/helpers/deprecationWarning.js  |   1 -
 app/api/server/helpers/getLoggedInUser.js     |   1 +
 app/api/server/helpers/getUserFromParams.js   |   1 +
 app/api/server/helpers/insertUserObject.js    |   1 -
 app/api/server/helpers/isUserFromParams.js    |   8 +-
 app/api/server/helpers/parseJsonQuery.js      |   3 +-
 app/api/server/index.js                       |   3 +-
 app/api/server/v1/assets.js                   |   5 +-
 app/api/server/v1/channels.js                 |  16 +-
 app/api/server/v1/chat.js                     |   9 +-
 app/api/server/v1/commands.js                 |   3 +-
 app/api/server/v1/e2e.js                      |   5 +-
 app/api/server/v1/emoji-custom.js             |   4 +-
 app/api/server/v1/groups.js                   |  23 +-
 app/api/server/v1/im.js                       |  13 +-
 app/api/server/v1/import.js                   |   3 +-
 app/api/server/v1/integrations.js             |   5 +-
 app/api/server/v1/misc.js                     |   3 +-
 app/api/server/v1/permissions.js              |   5 +-
 app/api/server/v1/push.js                     |  15 +-
 app/api/server/v1/roles.js                    |   1 +
 app/api/server/v1/rooms.js                    |   9 +-
 app/api/server/v1/settings.js                 |   7 +-
 app/api/server/v1/stats.js                    |   3 +-
 app/api/server/v1/subscriptions.js            |   5 +-
 app/api/server/v1/users.js                    |  11 +-
 app/api/server/v1/video-conference.js         |   1 +
 app/apps/client/admin/appInstall.js           |   1 +
 app/apps/client/admin/appLogs.js              |   6 +-
 app/apps/client/admin/appManage.js            |  22 +-
 app/apps/client/admin/appWhatIsIt.js          |   1 +
 app/apps/client/admin/apps.js                 |   1 +
 app/apps/client/admin/marketplace.js          |   2 +-
 .../admin/modalTemplates/iframeModal.js       |   1 +
 app/apps/client/communication/websockets.js   |   1 +
 app/apps/client/index.js                      |   4 +-
 app/apps/client/orchestrator.js               |   5 +-
 app/apps/server/bridges/commands.js           |   3 +-
 app/apps/server/bridges/environmental.js      |   4 +-
 app/apps/server/bridges/listeners.js          |   8 +-
 app/apps/server/bridges/messages.js           |   1 +
 app/apps/server/bridges/rooms.js              |   3 +-
 app/apps/server/communication/methods.js      |   1 +
 app/apps/server/communication/rest.js         |  41 +-
 app/apps/server/converters/messages.js        |   1 +
 app/apps/server/converters/rooms.js           |   3 +-
 app/apps/server/converters/settings.js        |   3 +-
 app/apps/server/converters/users.js           |   3 +-
 app/apps/server/orchestrator.js               |   7 +-
 app/apps/server/tests/messages.tests.js       |  27 +-
 .../server/tests/mocks/data/messages.data.js  |   1 -
 .../tests/mocks/models/Messages.mock.js       |  44 +-
 .../server/tests/mocks/models/Users.mock.js   |  24 +-
 .../server/tests/mocks/orchestrator.mock.js   |   1 -
 app/assets/server/assets.js                   |  20 +-
 app/authorization/client/hasPermission.js     |   4 +-
 app/authorization/client/route.js             |   1 +
 app/authorization/client/startup.js           |   4 +-
 app/authorization/client/usersNameChanged.js  |   1 +
 app/authorization/client/views/permissions.js |   4 +-
 .../client/views/permissionsRole.js           |  11 +-
 .../server/functions/addUserRoles.js          |   5 +-
 .../server/functions/canAccessRoom.js         |   2 +-
 .../server/functions/canSendMessage.js        |   3 +-
 .../server/functions/getUsersInRole.js        |   1 -
 .../server/functions/removeUserFromRoles.js   |   5 +-
 .../server/methods/addPermissionToRole.js     |   1 +
 .../server/methods/addUserToRole.js           |   3 +-
 .../server/methods/deleteRole.js              |   1 +
 .../methods/removeRoleFromPermission.js       |   1 +
 .../server/methods/removeUserFromRole.js      |   3 +-
 app/authorization/server/methods/saveRole.js  |   1 +
 .../server/publications/permissions.js        |   1 +
 .../server/publications/roles.js              |   1 +
 .../server/publications/usersInRole.js        |   1 +
 app/authorization/server/startup.js           | 141 ++--
 app/autolinker/client/client.js               |   3 +-
 app/autolinker/server/settings.js             |   1 +
 app/autotranslate/client/index.js             |   3 +-
 app/autotranslate/client/lib/actionButton.js  |   8 +-
 app/autotranslate/client/lib/autotranslate.js |   5 +-
 app/autotranslate/client/lib/tabBar.js        |   1 +
 .../client/views/autoTranslateFlexTab.js      |   9 +-
 app/autotranslate/server/autotranslate.js     |  20 +-
 .../server/methods/getSupportedLanguages.js   |   1 +
 .../server/methods/saveSettings.js            |   1 +
 .../server/methods/translateMessage.js        |   1 +
 app/autotranslate/server/permissions.js       |   1 +
 app/autotranslate/server/settings.js          |   1 +
 app/blockstack/server/loginHandler.js         |   7 +-
 app/blockstack/server/routes.js               |   1 +
 app/blockstack/server/settings.js             |   3 +-
 app/blockstack/server/tokenHandler.js         |   1 +
 app/blockstack/server/userHandler.js          |   3 +-
 app/bot-helpers/server/index.js               |  42 +-
 app/bot-helpers/server/settings.js            |   1 +
 app/callbacks/lib/callbacks.js                |   5 +-
 app/cas/client/cas_client.js                  |   8 +-
 app/cas/server/cas_rocketchat.js              |  20 +-
 app/cas/server/cas_server.js                  |  20 +-
 .../client/lib/startup.js                     |   1 +
 .../client/views/mailMessagesInstructions.js  |   9 +-
 .../server/lib/startup.js                     |   1 +
 .../server/methods/mailMessages.js            |   5 +-
 app/channel-settings/client/index.js          |   3 +-
 .../client/lib/ChannelSettings.js             |   2 +-
 .../client/startup/messageTypes.js            |   3 +-
 app/channel-settings/client/startup/tabBar.js |   1 +
 .../client/startup/trackSettingsChange.js     |   1 +
 .../client/views/channelSettings.js           |  13 +-
 .../server/functions/saveReactWhenReadOnly.js |   1 +
 .../server/functions/saveRoomAnnouncement.js  |   1 +
 .../server/functions/saveRoomCustomFields.js  |   1 +
 .../server/functions/saveRoomDescription.js   |   1 +
 .../server/functions/saveRoomName.js          |   1 +
 .../server/functions/saveRoomReadOnly.js      |   1 +
 .../functions/saveRoomSystemMessages.js       |   1 +
 .../server/functions/saveRoomTokens.js        |   1 +
 .../server/functions/saveRoomTopic.js         |   1 +
 .../server/functions/saveRoomType.js          |   1 +
 .../server/functions/saveStreamingOptions.js  |   1 +
 app/channel-settings/server/index.js          |   3 +-
 .../server/methods/saveRoomSettings.js        |   4 +-
 app/channel-settings/server/startup.js        |   1 +
 app/chatpal-search/client/route.js            |   1 +
 app/chatpal-search/client/template/admin.js   |   7 +-
 app/chatpal-search/client/template/result.js  |   3 +-
 app/chatpal-search/server/provider/index.js   |  61 +-
 .../server/provider/provider.js               |  36 +-
 app/chatpal-search/server/utils/utils.js      |   6 +-
 app/cloud/client/admin/callback.js            |   5 +-
 app/cloud/client/admin/cloud.js               |   6 +-
 app/cloud/client/index.js                     |   1 +
 .../functions/checkUserHasCloudLogin.js       |   2 +-
 .../server/functions/connectWorkspace.js      |   5 +-
 .../functions/finishOAuthAuthorization.js     |   4 +-
 .../functions/getOAuthAuthorizationUrl.js     |   4 +-
 .../functions/getUserCloudAccessToken.js      |   5 +-
 .../functions/getWorkspaceAccessToken.js      |   5 +-
 .../server/functions/getWorkspaceLicense.js   |   3 +-
 .../functions/retrieveRegistrationStatus.js   |   2 +-
 .../functions/startRegisterWorkspace.js       |   8 +-
 app/cloud/server/functions/syncWorkspace.js   |   7 +-
 .../server/functions/unregisterWorkspace.js   |   2 +-
 app/cloud/server/functions/userLoggedOut.js   |   1 -
 app/cloud/server/functions/userLogout.js      |   3 +-
 app/cloud/server/index.js                     |   1 -
 app/cloud/server/methods.js                   |   5 +-
 app/colors/client/client.js                   |   3 +-
 app/cors/lib/common.js                        |   1 +
 app/cors/server/cors.js                       |  11 +-
 app/crowd/server/crowd.js                     |   7 +-
 app/crowd/server/index.js                     |   1 -
 app/crowd/server/settings.js                  |   1 +
 .../client/custom_oauth_client.js             |   5 +-
 .../server/custom_oauth_server.js             |  11 +-
 app/custom-sounds/client/admin/adminSounds.js |  15 +-
 app/custom-sounds/client/admin/soundEdit.js   |   6 +-
 app/custom-sounds/client/admin/soundInfo.js   |   1 +
 app/custom-sounds/client/index.js             |   3 +-
 app/custom-sounds/client/lib/CustomSounds.js  |   3 +-
 .../client/notifications/deleteCustomSound.js |   1 +
 .../client/notifications/updateCustomSound.js |   1 +
 .../server/methods/deleteCustomSound.js       |   1 +
 .../server/methods/insertOrUpdateSound.js     |  24 +-
 .../server/methods/listCustomSounds.js        |   1 +
 .../server/methods/uploadCustomSound.js       |   1 +
 .../server/publications/customSounds.js       |   3 +-
 .../server/startup/custom-sounds.js           |   6 +-
 .../server/startup/permissions.js             |   1 +
 .../client/createDiscussionMessageAction.js   |   8 +-
 .../client/discussionFromMessageBox.js        |   1 -
 .../client/views/DiscussionTabbar.js          |   1 +
 .../views/creationDialog/CreateDiscussion.js  |  12 +-
 app/discussion/lib/discussionRoomType.js      |   1 +
 app/discussion/server/authorization.js        |   1 +
 app/discussion/server/config.js               |   1 +
 .../server/hooks/joinDiscussionOnMessage.js   |   1 -
 .../hooks/propagateDiscussionMetadata.js      |   2 +-
 .../server/methods/createDiscussion.js        |   1 -
 app/discussion/server/permissions.js          |   1 +
 app/dolphin/lib/common.js                     |   3 +-
 app/drupal/lib/common.js                      |   1 +
 app/e2e/client/accountEncryption.js           |  10 +-
 app/e2e/client/events.js                      |   1 +
 app/e2e/client/helper.js                      |  22 +-
 app/e2e/client/rocketchat.e2e.js              |  13 +-
 app/e2e/client/rocketchat.e2e.room.js         |  10 +-
 app/e2e/client/tabbar.js                      |   3 +-
 app/e2e/server/methods/fetchMyKeys.js         |   1 +
 .../methods/getUsersOfRoomWithoutKey.js       |   1 +
 .../server/methods/requestSubscriptionKeys.js |   5 +-
 app/e2e/server/methods/resetUserE2EKey.js     |   1 +
 app/e2e/server/methods/setRoomKeyID.js        |   1 +
 .../methods/setUserPublicAndPivateKeys.js     |   1 +
 app/e2e/server/methods/updateGroupKey.js      |   1 +
 app/emoji-custom/client/admin/adminEmoji.js   |  11 +-
 app/emoji-custom/client/admin/emojiEdit.js    |   4 +-
 app/emoji-custom/client/admin/emojiInfo.js    |  20 +-
 app/emoji-custom/client/lib/emojiCustom.js    |   1 +
 app/emoji-custom/client/lib/function-isSet.js |   6 +-
 .../client/notifications/deleteEmojiCustom.js |   1 +
 .../client/notifications/updateEmojiCustom.js |   1 +
 .../server/methods/deleteEmojiCustom.js       |   1 +
 .../server/methods/insertOrUpdateEmoji.js     |  62 +-
 .../server/methods/listEmojiCustom.js         |   1 +
 .../server/methods/uploadEmojiCustom.js       |   1 +
 .../server/publications/fullEmojiData.js      |   3 +-
 .../server/startup/emoji-custom.js            |   6 +-
 app/emoji-emojione/lib/rocketchat.js          |   8 +-
 app/emoji-emojione/server/callbacks.js        |   3 +-
 app/emoji/client/emojiParser.js               |   1 -
 app/emoji/client/emojiPicker.js               |   9 +-
 app/emoji/client/function-isSet.js            |   6 +-
 app/emoji/client/index.js                     |   2 +-
 app/emoji/client/lib/EmojiPicker.js           |   3 +-
 app/emoji/client/lib/emojiRenderer.js         |   3 +-
 .../server/lib/RocketChat.ErrorHandler.js     |   3 +-
 app/favico/client/index.js                    |   1 -
 app/federation/client/admin/dashboard.js      |   2 +-
 app/federation/server/PeerClient.js           |  12 +-
 app/federation/server/PeerDNS.js              |   5 +-
 app/federation/server/PeerHTTP/PeerHTTP.js    |   3 +-
 app/federation/server/PeerPinger.js           |   7 +-
 .../server/PeerServer/PeerServer.js           |   2 +-
 .../server/PeerServer/routes/events.js        |   2 +-
 .../server/PeerServer/routes/uploads.js       |   2 +-
 .../server/PeerServer/routes/users.js         |   1 -
 .../federatedResources/FederatedMessage.js    |   4 +-
 .../federatedResources/FederatedRoom.js       |   4 +-
 .../federatedResources/FederatedUser.js       |   2 +-
 app/federation/server/federation-settings.js  |   1 +
 app/federation/server/index.js                |   8 +-
 app/federation/server/methods/addUser.js      |   2 +
 app/federation/server/methods/dashboard.js    |   1 +
 app/federation/server/methods/ping.js         |   1 +
 .../client/lib/fileUploadHandler.js           |   4 +-
 app/file-upload/lib/FileUploadBase.js         |   3 +-
 app/file-upload/server/config/AmazonS3.js     |   7 +-
 app/file-upload/server/config/FileSystem.js   |  10 +-
 .../server/config/GoogleStorage.js            |   6 +-
 app/file-upload/server/config/GridFS.js       |   4 +-
 app/file-upload/server/config/Webdav.js       |   1 +
 .../server/config/_configUploadStorage.js     |   3 +-
 app/file-upload/server/lib/FileUpload.js      |  10 +-
 app/file-upload/server/lib/proxy.js           |   6 +-
 app/file-upload/server/lib/requests.js        |   4 +-
 .../server/methods/getS3FileUrl.js            |   1 +
 .../server/methods/sendFileMessage.js         |   3 +-
 app/file-upload/ufs/AmazonS3/server.js        |   4 +-
 app/file-upload/ufs/GoogleStorage/server.js   |   1 -
 app/file-upload/ufs/Webdav/server.js          |   9 +-
 app/file/server/file.server.js                |   9 +-
 app/github-enterprise/lib/common.js           |   1 +
 app/gitlab/lib/common.js                      |   1 +
 app/google-vision/client/googlevision.js      |   1 +
 app/google-vision/server/googlevision.js      |   5 +-
 app/google-vision/server/settings.js          |   1 +
 app/grant-facebook/server/index.js            |   3 +-
 app/grant-github/server/index.js              |   3 +-
 app/grant-google/server/index.js              |   3 +-
 app/grant/server/authenticate.js              |   9 +-
 app/grant/server/error.js                     |   3 -
 app/grant/server/grant.js                     |   2 +-
 app/grant/server/providers.js                 |   2 +-
 app/grant/server/settings.js                  |   5 +-
 app/graphql/server/api.js                     |   3 +-
 .../server/mocks/accounts/graphql-api.js      |   6 +-
 .../server/resolvers/accounts/index.js        |   3 +-
 .../resolvers/accounts/oauthProviders.js      |   3 +-
 .../server/resolvers/channels/Channel-type.js |   2 +-
 .../resolvers/channels/channelByName.js       |   3 +-
 .../server/resolvers/channels/channels.js     |   5 +-
 .../resolvers/channels/channelsByUser.js      |   3 +-
 .../resolvers/channels/deleteChannel.js       |   2 +-
 .../resolvers/channels/directChannel.js       |   3 +-
 .../server/resolvers/channels/hideChannel.js  |   2 +-
 .../server/resolvers/channels/leaveChannel.js |   2 +-
 .../server/resolvers/messages/Message-type.js |   2 +-
 .../messages/addReactionToMessage.js          |   2 +-
 .../resolvers/messages/chatMessageAdded.js    |   4 +-
 .../resolvers/messages/deleteMessage.js       |   2 +-
 .../server/resolvers/messages/editMessage.js  |   2 +-
 .../server/resolvers/messages/messages.js     |   1 -
 .../server/resolvers/users/User-type.js       |   4 +-
 .../server/resolvers/users/setStatus.js       |   1 -
 app/highlight-words/client/client.js          |   3 +-
 app/highlight-words/client/helper.js          |   1 -
 app/highlight-words/tests/helper.tests.js     |   1 +
 app/iframe-login/client/iframe_client.js      |   3 +-
 app/iframe-login/server/iframe_rocketchat.js  |   1 +
 app/importer-csv/server/adder.js              |   2 +-
 app/importer-csv/server/importer.js           |   3 +-
 .../server/adder.js                           |   2 +-
 .../server/importer.js                        |  33 +-
 app/importer-hipchat/server/adder.js          |   2 +-
 app/importer-hipchat/server/importer.js       |  22 +-
 app/importer-slack-users/server/adder.js      |   2 +-
 app/importer-slack-users/server/importer.js   |   1 +
 app/importer-slack/server/adder.js            |   2 +-
 app/importer-slack/server/importer.js         |   9 +-
 .../client/ImporterWebsocketReceiver.js       |   1 +
 app/importer/client/admin/adminImport.js      |   3 +
 .../client/admin/adminImportHistory.js        |   9 +-
 .../client/admin/adminImportPrepare.js        |  17 +-
 .../client/admin/adminImportProgress.js       |   5 +-
 app/importer/client/index.js                  |   2 +-
 app/importer/server/classes/ImporterBase.js   |  20 +-
 app/importer/server/index.js                  |   6 +-
 .../methods/downloadPublicImportFile.js       |   7 +-
 .../server/methods/getImportFileData.js       |  25 +-
 .../server/methods/getImportProgress.js       |   2 +
 .../methods/getLatestImportOperations.js      |   1 +
 .../server/methods/getSelectionData.js        |   2 +
 app/importer/server/methods/prepareImport.js  |   5 +-
 app/importer/server/methods/restartImport.js  |   2 +
 app/importer/server/methods/setupImporter.js  |   2 +
 app/importer/server/methods/startImport.js    |   2 +
 .../server/methods/uploadImportFile.js        |   2 +
 app/importer/server/models/Imports.js         |   2 +-
 .../server/startup/setImportsToInvalid.js     |   1 +
 app/importer/server/startup/store.js          |   1 +
 app/integrations/client/route.js              |   1 +
 app/integrations/client/views/integrations.js |   3 +-
 .../client/views/integrationsIncoming.js      |  28 +-
 .../client/views/integrationsNew.js           |   1 +
 .../client/views/integrationsOutgoing.js      |  12 +-
 .../views/integrationsOutgoingHistory.js      |  20 +-
 app/integrations/server/api/api.js            |  25 +-
 app/integrations/server/lib/triggerHandler.js |  24 +-
 app/integrations/server/lib/validation.js     |   6 +-
 .../server/methods/clearIntegrationHistory.js |   1 +
 .../incoming/addIncomingIntegration.js        |   6 +-
 .../incoming/deleteIncomingIntegration.js     |   3 +-
 .../incoming/updateIncomingIntegration.js     |   6 +-
 .../outgoing/addOutgoingIntegration.js        |   1 +
 .../outgoing/deleteOutgoingIntegration.js     |   1 +
 .../outgoing/replayOutgoingIntegration.js     |   1 +
 .../outgoing/updateOutgoingIntegration.js     |   1 +
 .../server/publications/integrationHistory.js |   6 +-
 .../server/publications/integrations.js       |   6 +-
 app/irc/server/irc-bridge/index.js            |   5 +-
 .../irc-bridge/localHandlers/onCreateUser.js  |   1 +
 .../irc-bridge/localHandlers/onLogin.js       |   1 +
 .../irc-bridge/peerHandlers/disconnected.js   |   1 +
 .../irc-bridge/peerHandlers/userRegistered.js |   1 +
 app/irc/server/irc-settings.js                |   1 +
 app/irc/server/irc.js                         |   3 +-
 app/irc/server/methods/resetIrcConnection.js  |   3 +-
 app/irc/server/servers/RFC2813/index.js       |   8 +-
 .../servers/RFC2813/localCommandHandlers.js   |  15 +-
 .../server/servers/RFC2813/parseMessage.js    |   2 +-
 app/issuelinks/client/client.js               |   3 +-
 app/katex/lib/katex.js                        |  20 +-
 app/katex/server/index.js                     |   1 +
 app/katex/server/settings.js                  |   1 +
 app/lazy-load/client/index.js                 |   1 -
 app/lazy-load/client/lazyloadImage.js         |   4 +-
 app/ldap/server/ldap.js                       |  16 +-
 app/ldap/server/loginHandler.js               |   7 +-
 app/ldap/server/sync.js                       |  20 +-
 app/ldap/server/syncUsers.js                  |   3 +-
 app/ldap/server/testConnection.js             |   3 +-
 app/lib/client/CustomTranslations.js          |   3 +-
 app/lib/client/OAuthProxy.js                  |   1 +
 app/lib/client/UserDeleted.js                 |   1 +
 app/lib/client/defaultTabBars.js              |   1 +
 app/lib/client/index.js                       |   1 +
 app/lib/client/lib/LoginPresence.js           |   1 +
 app/lib/client/lib/RocketChatAnnouncement.js  |   6 +
 app/lib/client/lib/formatDate.js              |   1 -
 app/lib/client/lib/settings.js                |   1 +
 app/lib/client/lib/startup/commands.js        |   1 +
 app/lib/client/lib/userRoles.js               |   1 +
 app/lib/client/methods/sendMessage.js         |   3 +-
 app/lib/client/views/customFieldsForm.js      |   3 +-
 app/lib/lib/MessageTypes.js                   |   1 +
 app/lib/lib/roomTypes/conversation.js         |   1 +
 app/lib/lib/roomTypes/direct.js               |   8 +-
 app/lib/lib/roomTypes/favorite.js             |   2 +
 app/lib/lib/roomTypes/private.js              |   1 +
 app/lib/lib/roomTypes/public.js               |   1 +
 app/lib/lib/roomTypes/unread.js               |   1 +
 app/lib/lib/startup/settingsOnLoadSiteUrl.js  |   1 +
 .../functions/addUserToDefaultChannels.js     |   2 -
 app/lib/server/functions/addUserToRoom.js     |   1 +
 app/lib/server/functions/archiveRoom.js       |   1 +
 app/lib/server/functions/attachMessage.js     |   1 +
 .../functions/checkEmailAvailability.js       |   2 +-
 .../functions/checkUsernameAvailability.js    |   2 +-
 app/lib/server/functions/cleanRoomHistory.js  |   5 +-
 app/lib/server/functions/createRoom.js        |   5 +-
 app/lib/server/functions/deleteMessage.js     |   1 +
 app/lib/server/functions/deleteRoom.js        |   1 +
 app/lib/server/functions/deleteUser.js        |   1 +
 .../functions/getAvatarSuggestionForUser.js   |   1 +
 app/lib/server/functions/getFullUserData.js   |   1 +
 .../getRoomByNameOrIdWithOptionToJoin.js      |   3 +-
 .../server/functions/getUsernameSuggestion.js |   2 +-
 app/lib/server/functions/insertMessage.js     |   1 +
 .../server/functions/notifications/email.js   |   2 +-
 .../server/functions/notifications/index.js   |   3 +-
 .../server/functions/notifications/mobile.js  |   3 +-
 .../server/functions/processWebhookMessage.js |   9 +-
 .../server/functions/removeUserFromRoom.js    |   1 +
 app/lib/server/functions/saveCustomFields.js  |   4 +-
 .../saveCustomFieldsWithoutValidation.js      |   5 +-
 app/lib/server/functions/saveUser.js          |   6 +-
 app/lib/server/functions/sendMessage.js       |   2 +-
 app/lib/server/functions/setEmail.js          |   4 +-
 app/lib/server/functions/setRealName.js       |   3 +-
 app/lib/server/functions/setUserAvatar.js     |   3 +-
 app/lib/server/functions/setUsername.js       |   4 +-
 app/lib/server/functions/updateMessage.js     |   1 +
 .../server/functions/validateCustomFields.js  |   3 +-
 app/lib/server/index.js                       |   5 +-
 app/lib/server/lib/RateLimiter.js             |  16 +-
 app/lib/server/lib/bugsnag.js                 |   3 +-
 app/lib/server/lib/configLogger.js            |   5 +-
 app/lib/server/lib/debug.js                   |  11 +-
 .../server/lib/defaultBlockedDomainsList.js   |   1 -
 app/lib/server/lib/index.js                   |   6 +-
 .../server/lib/interceptDirectReplyEmails.js  |   8 +-
 app/lib/server/lib/notifyUsersOnMessage.js    |   9 +-
 app/lib/server/lib/passwordPolicy.js          |  20 +-
 app/lib/server/lib/processDirectEmail.js      |   5 +-
 .../server/lib/sendNotificationsOnMessage.js  |   4 +-
 app/lib/server/lib/validateEmailDomain.js     |   8 +-
 app/lib/server/methods/addOAuthService.js     |   4 +-
 app/lib/server/methods/addUsersToRoom.js      |   1 +
 app/lib/server/methods/archiveRoom.js         |   2 +-
 app/lib/server/methods/blockUser.js           |   2 +-
 .../methods/checkRegistrationSecretURL.js     |   2 +-
 .../methods/checkUsernameAvailability.js      |   1 +
 app/lib/server/methods/cleanRoomHistory.js    |   1 +
 app/lib/server/methods/createChannel.js       |   1 +
 app/lib/server/methods/createPrivateGroup.js  |   1 +
 app/lib/server/methods/createToken.js         |   1 +
 app/lib/server/methods/deleteMessage.js       |   5 +-
 .../server/methods/deleteUserOwnAccount.js    |   4 +-
 .../methods/executeSlashCommandPreview.js     |   1 +
 app/lib/server/methods/filterATAllTag.js      |  14 +-
 app/lib/server/methods/filterATHereTag.js     |  10 +-
 app/lib/server/methods/filterBadWords.js      |   3 +-
 app/lib/server/methods/getChannelHistory.js   |   3 +-
 app/lib/server/methods/getFullUserData.js     |   1 +
 app/lib/server/methods/getMessages.js         |   1 +
 app/lib/server/methods/getRoomJoinCode.js     |   1 +
 app/lib/server/methods/getRoomRoles.js        |  14 +-
 app/lib/server/methods/getServerInfo.js       |   1 +
 app/lib/server/methods/getSingleMessage.js    |   1 +
 .../server/methods/getSlashCommandPreviews.js |   1 +
 app/lib/server/methods/getUserRoles.js        |   4 +-
 .../server/methods/getUsernameSuggestion.js   |   1 +
 app/lib/server/methods/insertOrUpdateUser.js  |   2 +-
 app/lib/server/methods/joinDefaultChannels.js |   1 +
 app/lib/server/methods/joinRoom.js            |   1 +
 app/lib/server/methods/leaveRoom.js           |   2 +-
 app/lib/server/methods/refreshOAuthService.js |   3 +-
 app/lib/server/methods/removeOAuthService.js  |   4 +-
 app/lib/server/methods/restartServer.js       |   1 +
 app/lib/server/methods/robotMethods.js        |   3 +-
 app/lib/server/methods/saveSetting.js         |   1 +
 app/lib/server/methods/saveSettings.js        |   1 +
 app/lib/server/methods/sendInvitationEmail.js |   1 +
 app/lib/server/methods/sendMessage.js         |   6 +-
 app/lib/server/methods/sendSMTPTestEmail.js   |   1 +
 app/lib/server/methods/setAdminStatus.js      |   5 +-
 app/lib/server/methods/setEmail.js            |   4 +-
 app/lib/server/methods/setRealName.js         |   2 +-
 app/lib/server/methods/setUsername.js         |   3 +-
 app/lib/server/methods/unarchiveRoom.js       |   2 +-
 app/lib/server/methods/unblockUser.js         |   2 +-
 app/lib/server/methods/updateMessage.js       |   6 +-
 app/lib/server/oauth/facebook.js              |   7 +-
 app/lib/server/oauth/google.js                |   3 +-
 app/lib/server/oauth/oauth.js                 |   2 -
 app/lib/server/oauth/proxy.js                 |   5 +-
 app/lib/server/oauth/twitter.js               |   5 +-
 app/lib/server/publications/settings.js       |   1 +
 app/lib/server/startup/email.js               |   1 -
 app/lib/server/startup/oAuthServicesUpdate.js |   3 +-
 app/lib/server/startup/rateLimiter.js         |   1 +
 app/lib/server/startup/robots.js              |   1 +
 app/lib/server/startup/settings.js            |  13 +-
 .../server/startup/settingsOnLoadCdnPrefix.js |   5 +-
 .../startup/settingsOnLoadDirectReply.js      |   3 +-
 app/lib/server/startup/settingsOnLoadSMTP.js  |   3 +-
 app/lib/tests/server.tests.js                 |   4 +-
 app/livechat/client/lib/dataHandler.js        |  14 +-
 app/livechat/client/lib/dateHandler.js        |  38 +-
 app/livechat/client/route.js                  |   1 +
 .../client/startup/notifyUnreadRooms.js       |   5 +-
 .../views/app/analytics/livechatAnalytics.js  |   5 +-
 .../livechatAnalyticsCustomDaterange.js       |   3 +-
 .../analytics/livechatAnalyticsDaterange.js   |   5 +-
 .../analytics/livechatRealTimeMonitoring.js   |   3 +-
 .../livechatIntegrationFacebook.js            |   1 +
 .../livechatIntegrationWebhook.js             |   7 +-
 .../client/views/app/livechatAppearance.js    |  10 +-
 .../client/views/app/livechatCurrentChats.js  |   3 +-
 .../views/app/livechatCustomFieldForm.js      |   3 +-
 .../client/views/app/livechatCustomFields.js  |   1 +
 .../views/app/livechatDepartmentForm.js       |   5 +-
 .../client/views/app/livechatDepartments.js   |   1 +
 .../client/views/app/livechatInstallation.js  |   3 +-
 .../client/views/app/livechatOfficeHours.js   |   6 +-
 .../client/views/app/livechatQueue.js         |   1 +
 .../client/views/app/livechatReadOnly.js      |   2 +-
 .../client/views/app/livechatTriggers.js      |   1 +
 .../client/views/app/livechatTriggersForm.js  |   3 +-
 .../client/views/app/livechatUsers.js         |   5 +-
 .../client/views/app/tabbar/externalSearch.js |   1 +
 .../client/views/app/tabbar/visitorEdit.js    |   3 +-
 .../client/views/app/tabbar/visitorForward.js |   3 +-
 .../client/views/app/tabbar/visitorHistory.js |   3 +-
 .../client/views/app/tabbar/visitorInfo.js    |  10 +-
 .../views/app/tabbar/visitorNavigation.js     |   3 +-
 .../app/triggers/livechatTriggerAction.js     |   3 +-
 .../app/triggers/livechatTriggerCondition.js  |   2 +-
 app/livechat/client/views/sideNav/livechat.js |   1 +
 .../client/views/sideNav/livechatFlex.js      |   1 +
 .../imports/server/rest/departments.js        |   1 +
 app/livechat/imports/server/rest/facebook.js  |   2 +
 app/livechat/imports/server/rest/sms.js       |   1 +
 app/livechat/imports/server/rest/upload.js    |   8 +-
 app/livechat/imports/server/rest/users.js     |  11 +-
 app/livechat/lib/LivechatExternalMessage.js   |   1 +
 app/livechat/lib/LivechatInquiry.js           |   3 +-
 app/livechat/lib/LivechatRoomType.js          |   3 +-
 app/livechat/lib/messageTypes.js              |   3 +-
 app/livechat/server/agentStatus.js            |   3 +-
 app/livechat/server/api/lib/livechat.js       |   5 +-
 app/livechat/server/api/v1/agent.js           |   1 +
 app/livechat/server/api/v1/config.js          |   3 +-
 app/livechat/server/api/v1/customField.js     |   2 +-
 app/livechat/server/api/v1/message.js         |   2 +-
 app/livechat/server/api/v1/offlineMessage.js  |   1 +
 app/livechat/server/api/v1/pageVisited.js     |   3 +-
 app/livechat/server/api/v1/room.js            |   1 +
 app/livechat/server/api/v1/transcript.js      |   1 +
 app/livechat/server/api/v1/videoCall.js       |   1 +
 app/livechat/server/api/v1/visitor.js         |   1 +
 app/livechat/server/config.js                 |   2 +-
 app/livechat/server/hooks/RDStation.js        |   1 +
 app/livechat/server/hooks/externalMessage.js  |   5 +-
 .../server/hooks/markRoomResponded.js         |   1 +
 .../server/hooks/saveAnalyticsData.js         |  11 +-
 app/livechat/server/hooks/sendToFacebook.js   |   1 -
 app/livechat/server/index.js                  |   3 +-
 app/livechat/server/lib/Analytics.js          |  25 +-
 app/livechat/server/lib/Livechat.js           |  33 +-
 app/livechat/server/lib/OfficeClock.js        |   1 +
 app/livechat/server/lib/OmniChannel.js        |   1 +
 app/livechat/server/lib/QueueMethods.js       |   7 +-
 app/livechat/server/livechat.js               |   2 +-
 app/livechat/server/methods/addAgent.js       |   1 +
 app/livechat/server/methods/addManager.js     |   1 +
 .../server/methods/changeLivechatStatus.js    |   1 +
 app/livechat/server/methods/closeByVisitor.js |   1 +
 app/livechat/server/methods/closeRoom.js      |   1 +
 app/livechat/server/methods/facebook.js       |   1 +
 app/livechat/server/methods/getAgentData.js   |   1 +
 .../server/methods/getAgentOverviewData.js    |   1 +
 .../server/methods/getAnalyticsChartData.js   |   1 +
 .../methods/getAnalyticsOverviewData.js       |   1 +
 .../server/methods/getCustomFields.js         |   1 +
 .../server/methods/getFirstRoomMessage.js     |   1 +
 app/livechat/server/methods/getInitialData.js |   5 +-
 app/livechat/server/methods/getNextAgent.js   |   1 +
 app/livechat/server/methods/loadHistory.js    |   1 +
 app/livechat/server/methods/loginByToken.js   |   1 +
 app/livechat/server/methods/pageVisited.js    |   1 +
 app/livechat/server/methods/registerGuest.js  |   1 +
 app/livechat/server/methods/removeAgent.js    |   1 +
 .../server/methods/removeCustomField.js       |   1 +
 .../server/methods/removeDepartment.js        |   1 +
 app/livechat/server/methods/removeManager.js  |   1 +
 app/livechat/server/methods/removeRoom.js     |   1 +
 app/livechat/server/methods/removeTrigger.js  |   1 +
 .../server/methods/returnAsInquiry.js         |   1 +
 app/livechat/server/methods/saveAppearance.js |   3 +-
 .../server/methods/saveCustomField.js         |   1 +
 app/livechat/server/methods/saveDepartment.js |   1 +
 app/livechat/server/methods/saveInfo.js       |   1 +
 .../server/methods/saveIntegration.js         |   5 +-
 .../server/methods/saveOfficeHours.js         |   1 +
 .../server/methods/saveSurveyFeedback.js      |   3 +-
 app/livechat/server/methods/saveTrigger.js    |   4 +-
 app/livechat/server/methods/searchAgent.js    |   3 +-
 .../server/methods/sendFileLivechatMessage.js |   1 +
 .../server/methods/sendMessageLivechat.js     |   1 +
 .../server/methods/sendOfflineMessage.js      |   1 +
 app/livechat/server/methods/sendTranscript.js |   1 +
 app/livechat/server/methods/setCustomField.js |   6 +-
 .../server/methods/setDepartmentForVisitor.js |   1 +
 .../server/methods/setUpConnection.js         |   2 +-
 .../server/methods/startFileUploadRoom.js     |   1 +
 app/livechat/server/methods/startVideoCall.js |   2 +-
 app/livechat/server/methods/takeInquiry.js    |   1 +
 app/livechat/server/methods/transfer.js       |   1 +
 app/livechat/server/methods/webhookTest.js    |   7 +-
 app/livechat/server/permissions.js            |   3 +-
 .../server/publications/customFields.js       |   4 +-
 .../server/publications/departmentAgents.js   |   1 +
 .../server/publications/externalMessages.js   |   1 +
 .../server/publications/livechatAgents.js     |   1 +
 .../server/publications/livechatAppearance.js |   1 +
 .../publications/livechatDepartments.js       |   5 +-
 .../server/publications/livechatInquiries.js  |   4 +-
 .../publications/livechatIntegration.js       |   1 +
 .../server/publications/livechatManagers.js   |   1 +
 .../server/publications/livechatMonitoring.js |   1 +
 .../publications/livechatOfficeHours.js       |   1 +
 .../server/publications/livechatQueue.js      |   1 +
 .../server/publications/livechatRooms.js      |   1 +
 .../server/publications/livechatTriggers.js   |   4 +-
 .../server/publications/livechatVisitors.js   |   1 +
 .../server/publications/visitorHistory.js     |   1 +
 .../server/publications/visitorInfo.js        |   4 +-
 .../server/publications/visitorPageVisited.js |   2 +-
 app/livechat/server/sendMessageBySMS.js       |   1 -
 app/livechat/server/startup.js                |   1 +
 app/livechat/server/unclosedLivechats.js      |   7 +-
 app/livechat/server/visitorStatus.js          |   1 +
 app/livestream/client/oauth.js                |   3 +-
 app/livestream/client/tabBar.js               |   3 +-
 app/livestream/client/views/broadcastView.js  |  16 +-
 app/livestream/client/views/liveStreamTab.js  |  18 +-
 app/livestream/server/functions/livestream.js |  21 +-
 app/livestream/server/methods.js              |  17 +-
 app/livestream/server/routes.js               |  14 +-
 app/livestream/server/settings.js             |   2 +-
 app/logger/client/ansispan.js                 |  29 +-
 app/logger/client/logger.js                   |  22 +-
 app/logger/client/viewLogs.js                 |   1 +
 app/logger/client/views/viewLogs.js           |   7 +-
 app/logger/server/server.js                   |  28 +-
 app/mail-messages/client/views/mailer.js      |   3 +-
 .../server/functions/sendMail.js              |   3 +-
 app/mail-messages/server/methods/sendMail.js  |   1 +
 .../server/methods/unsubscribe.js             |   1 +
 app/mail-messages/server/startup.js           |   1 +
 app/mailer/server/api.js                      |   8 +-
 app/mapview/client/mapview.js                 |   3 +-
 app/mapview/server/settings.js                |   1 +
 app/markdown/lib/markdown.js                  |   8 +-
 app/markdown/lib/parser/marked/marked.js      |   3 +-
 app/markdown/lib/parser/original/code.js      |  11 +-
 app/markdown/lib/parser/original/markdown.js  |   3 +-
 app/markdown/server/index.js                  |   1 +
 app/markdown/server/settings.js               |   1 +
 app/markdown/tests/client.mocks.js            |   1 +
 app/markdown/tests/client.tests.js            |   2 +
 app/mentions-flextab/client/actionButton.js   |   1 +
 app/mentions-flextab/client/tabBar.js         |   1 +
 .../client/views/mentionsFlexTab.js           |   2 +
 .../server/publications/mentionedMessages.js  |   1 +
 app/mentions/client/client.js                 |   1 +
 app/mentions/lib/MentionsParser.js            |   6 +-
 app/mentions/server/Mentions.js               |  11 +
 .../methods/getUserMentionsByChannel.js       |   1 +
 app/mentions/server/server.js                 |   7 +-
 app/mentions/tests/client.tests.js            |   9 +-
 app/mentions/tests/server.tests.js            |   8 +-
 app/message-attachments/client/index.js       |   1 -
 .../client/messageAttachment.js               |   8 +-
 .../client/actionButton.js                    |   1 +
 .../server/unreadMessages.js                  |   3 +-
 app/message-pin/client/actionButton.js        |   3 +-
 app/message-pin/client/messageType.js         |   1 +
 app/message-pin/client/pinMessage.js          |   1 +
 app/message-pin/client/tabBar.js              |   1 +
 .../client/views/pinnedMessages.js            |   1 +
 app/message-pin/server/pinMessage.js          |   1 +
 .../server/publications/pinnedMessages.js     |   1 +
 app/message-pin/server/settings.js            |   1 +
 app/message-pin/server/startup/indexes.js     |   1 +
 app/message-snippet/client/messageType.js     |   3 +-
 .../client/page/snippetPage.js                |   5 +-
 app/message-snippet/client/router.js          |   1 +
 app/message-snippet/client/snippetMessage.js  |   7 +-
 app/message-snippet/client/tabBar/tabBar.js   |   1 +
 .../client/tabBar/views/snippetedMessages.js  |   3 +-
 .../server/methods/snippetMessage.js          |   1 +
 .../server/publications/snippetedMessage.js   |   1 +
 .../publications/snippetedMessagesByRoom.js   |   1 +
 app/message-snippet/server/requests.js        |   2 +-
 .../server/startup/settings.js                |   2 +-
 app/message-star/client/actionButton.js       |   4 +-
 app/message-star/client/starMessage.js        |   1 +
 app/message-star/client/tabBar.js             |   1 +
 .../client/views/starredMessages.js           |   1 +
 .../server/publications/starredMessages.js    |   1 +
 app/message-star/server/settings.js           |   1 +
 app/message-star/server/starMessage.js        |   1 +
 app/message-star/server/startup/indexes.js    |   1 +
 .../client/saml_client.js                     |   6 +-
 .../server/saml_rocketchat.js                 |  34 +-
 .../server/saml_server.js                     |  17 +-
 app/meteor-accounts-saml/server/saml_utils.js |  81 +-
 app/metrics/server/callbacksMetrics.js        |   4 +-
 app/metrics/server/lib/metrics.js             |   4 +-
 app/metrics/server/lib/statsTracker.js        |   3 +-
 app/migrations/server/migrations.js           |  15 +-
 app/models/client/index.js                    |   3 +-
 app/models/client/models/Roles.js             |   1 +
 app/models/client/models/Subscriptions.js     |   3 +-
 app/models/client/models/_Base.js             |   5 +-
 app/models/server/models/Avatars.js           |  13 +-
 app/models/server/models/ExportOperations.js  |   7 +-
 app/models/server/models/FederationEvents.js  |   1 +
 app/models/server/models/FederationPeers.js   |   1 +
 .../server/models/IntegrationHistory.js       |   2 +-
 app/models/server/models/Integrations.js      |   1 +
 .../server/models/LivechatCustomField.js      |   3 +-
 .../server/models/LivechatDepartment.js       |   3 +-
 .../server/models/LivechatDepartmentAgents.js |   6 +-
 .../server/models/LivechatOfficeHour.js       |  17 +-
 .../server/models/LivechatPageVisited.js      |   2 +-
 app/models/server/models/LivechatVisitors.js  |   5 +-
 app/models/server/models/Messages.js          |  27 +-
 app/models/server/models/OEmbedCache.js       |   2 +-
 app/models/server/models/Permissions.js       |   4 -
 app/models/server/models/Reports.js           |   4 +-
 app/models/server/models/Roles.js             |   1 +
 app/models/server/models/Rooms.js             |  13 +-
 app/models/server/models/Sessions.js          |  22 +-
 app/models/server/models/Sessions.tests.js    | 369 ++++-----
 app/models/server/models/Settings.js          |   5 +-
 app/models/server/models/Subscriptions.js     |  42 +-
 app/models/server/models/Uploads.js           |   4 +-
 app/models/server/models/UserDataFiles.js     |   7 +-
 app/models/server/models/Users.js             |  26 +-
 app/models/server/models/WebdavAccounts.js    |   1 -
 app/models/server/models/_Base.js             |   6 +-
 app/models/server/models/_BaseDb.js           |  14 +-
 app/notifications/client/lib/Notifications.js |  13 +-
 app/notifications/server/lib/Notifications.js |   1 +
 app/nrr/client/nrr.js                         |   1 -
 .../client/admin/route.js                     |   3 +-
 .../client/admin/views/oauthApp.js            |   4 +-
 .../client/admin/views/oauthApps.js           |   4 +-
 .../client/oauth/oauth2-client.js             |   5 +-
 .../server/admin/methods/addOAuthApp.js       |   5 +-
 .../server/admin/methods/deleteOAuthApp.js    |   1 +
 .../server/admin/methods/updateOAuthApp.js    |   5 +-
 .../server/admin/publications/oauthApps.js    |   1 +
 .../server/oauth/default-services.js          |   2 +-
 .../server/oauth/oauth2-server.js             |   3 +-
 app/oembed/client/oembedAudioWidget.js        |   4 +-
 app/oembed/client/oembedFrameWidget.js        |   4 +-
 app/oembed/client/oembedImageWidget.js        |   4 +-
 app/oembed/client/oembedUrlWidget.js          |   6 +-
 app/oembed/client/oembedVideoWidget.js        |   8 +-
 app/oembed/client/oembedYoutubeWidget.js      |   6 +-
 app/oembed/server/jumpToMessage.js            |  10 +-
 app/oembed/server/providers.js                |  10 +-
 app/oembed/server/server.js                   |  58 +-
 app/otr/client/rocketchat.otr.js              |  72 +-
 app/otr/client/rocketchat.otr.room.js         |   7 +-
 app/otr/client/tabBar.js                      |   3 +-
 app/otr/client/views/otrFlexTab.js            |   1 +
 .../server/methods/deleteOldOTRMessages.js    |   1 +
 app/otr/server/methods/updateOTRAck.js        |   1 +
 app/push-notifications/client/tabBar.js       |   1 +
 .../client/views/pushNotificationsFlexTab.js  |   4 +-
 .../server/lib/PushNotification.js            |   3 +-
 .../methods/saveNotificationSettings.js       |   1 +
 app/reactions/client/init.js                  |  12 +-
 app/reactions/client/methods/setReaction.js   |  11 +-
 app/reactions/server/setReaction.js           |   7 +-
 .../server/cronPruneMessages.js               |   5 +-
 .../server/startup/settings.js                |   1 -
 app/search/client/provider/result.js          |   4 +-
 app/search/client/search/search.js            |  16 +-
 app/search/server/events/events.js            |   1 -
 app/search/server/index.js                    |   1 -
 app/search/server/model/provider.js           |   4 -
 app/search/server/provider/defaultProvider.js |   4 +-
 app/search/server/service/providerService.js  |  20 +-
 .../server/service/validationService.js       |   5 +-
 app/settings/client/lib/settings.js           |   1 +
 app/settings/lib/settings.js                  |  35 +-
 app/settings/server/functions/settings.js     |  15 +-
 app/setup-wizard/client/final.js              |   2 +-
 app/setup-wizard/client/setupWizard.js        |  20 +-
 .../server/getSetupWizardParameters.js        |   1 +
 app/slackbridge/server/RocketAdapter.js       |  13 +-
 app/slackbridge/server/SlackAPI.js            |   2 -
 app/slackbridge/server/SlackAdapter.js        |  56 +-
 app/slackbridge/server/settings.js            |   1 +
 app/slackbridge/server/slackbridge.js         |   5 +-
 .../server/slackbridge_import.server.js       |   3 +-
 app/slashcommand-asciiarts/lib/gimme.js       |   1 +
 app/slashcommand-asciiarts/lib/lenny.js       |   1 +
 app/slashcommand-asciiarts/lib/shrug.js       |   1 +
 app/slashcommand-asciiarts/lib/tableflip.js   |   1 +
 app/slashcommand-asciiarts/lib/unflip.js      |   1 +
 .../server/server.js                          |   1 +
 app/slashcommands-create/server/server.js     |   1 +
 app/slashcommands-help/server/server.js       |   4 +-
 app/slashcommands-hide/server/hide.js         |   7 +-
 app/slashcommands-invite/server/server.js     |  11 +-
 app/slashcommands-inviteall/server/server.js  |   2 +-
 app/slashcommands-join/server/server.js       |   4 +-
 app/slashcommands-kick/server/server.js       |   5 +-
 app/slashcommands-leave/server/leave.js       |   3 +-
 app/slashcommands-me/server/me.js             |   3 +-
 app/slashcommands-msg/server/server.js        |   5 +-
 app/slashcommands-mute/server/mute.js         |   5 +-
 app/slashcommands-mute/server/unmute.js       |   6 +-
 app/slashcommands-open/client/client.js       |   2 +-
 app/slashcommands-topic/lib/topic.js          |   4 +-
 .../server/server.js                          |   1 +
 app/slider/client/rocketchat-slider.js        |   1 -
 .../server/functions/generateEml.js           |   8 +-
 .../server/functions/sendEmail.js             |   3 +-
 app/smarsh-connector/server/settings.js       |   3 +-
 app/smarsh-connector/server/startup.js        |   5 +-
 app/sms/server/SMS.js                         |   1 +
 app/sms/server/index.js                       |   3 +-
 app/sms/server/services/twilio.js             |   7 +-
 app/sms/server/services/voxtelesys.js         |   5 +-
 app/sms/server/settings.js                    |   1 +
 app/spotify/lib/client/widget.js              |   3 +-
 app/spotify/lib/spotify.js                    |  11 +-
 app/statistics/server/functions/get.js        |   3 +-
 app/statistics/server/functions/save.js       |   2 +-
 app/statistics/server/index.js                |   3 +-
 app/statistics/server/lib/SAUMonitor.js       |   7 +-
 app/statistics/server/lib/UAParserCustom.js   |   5 +-
 .../server/lib/UAParserCustom.tests.js        |   7 +-
 .../server/methods/getStatistics.js           |   4 +-
 app/theme/server/server.js                    |   7 +-
 app/theme/server/variables.js                 |   2 +-
 app/threads/client/flextab/thread.js          |   7 +-
 app/threads/client/flextab/threadlist.js      |   1 +
 app/threads/client/flextab/threads.js         |   4 -
 app/threads/client/index.js                   |   1 -
 .../server/hooks/afterdeletemessage.js        |   3 -
 app/threads/server/hooks/aftersavemessage.js  |   4 +-
 app/threads/server/methods/followMessage.js   |   1 -
 .../server/methods/getThreadMessages.js       |   3 +-
 app/threads/server/methods/getThreadsList.js  |   1 -
 app/threads/server/methods/unfollowMessage.js |   1 -
 app/threads/server/settings.js                |   1 +
 app/tokenpass/client/roomType.js              |   1 +
 app/tokenpass/client/startup.js               |   1 +
 app/tokenpass/client/tokenChannelsList.js     |   1 +
 .../client/tokenpassChannelSettings.js        |  14 +-
 app/tokenpass/lib/common.js                   |   1 +
 app/tokenpass/server/cronRemoveUsers.js       |   3 +-
 .../getProtectedTokenpassBalances.js          |   1 +
 .../functions/getPublicTokenpassBalances.js   |   1 +
 .../functions/saveRoomTokensMinimumBalance.js |   3 +-
 .../functions/updateUserTokenpassBalances.js  |   5 +-
 app/tokenpass/server/index.js                 |   3 +-
 .../server/methods/findTokenChannels.js       |   1 +
 .../server/methods/getChannelTokenpass.js     |   1 +
 app/tokenpass/server/startup.js               |   5 +-
 app/tooltip/client/rocketchat-tooltip.js      |   1 -
 app/ui-account/client/account.js              |   1 +
 app/ui-account/client/accountFlex.js          |   1 +
 app/ui-account/client/accountIntegrations.js  |   3 +-
 app/ui-account/client/accountPreferences.js   |   7 +-
 app/ui-account/client/accountProfile.js       |  36 +-
 app/ui-account/client/avatar/avatar.js        |   1 +
 app/ui-account/client/avatar/prompt.js        |   9 +-
 app/ui-admin/client/admin.js                  |  18 +-
 app/ui-admin/client/adminFlex.js              |   4 +-
 app/ui-admin/client/adminInfo.js              |   8 +-
 app/ui-admin/client/rooms/adminRoomInfo.js    |  24 +-
 app/ui-admin/client/rooms/adminRooms.js       |  12 +-
 .../client/rooms/channelSettingsDefault.js    |   8 +-
 app/ui-admin/client/users/adminInviteUser.js  |   5 +-
 .../client/users/adminUserChannels.js         |   5 +-
 app/ui-admin/client/users/adminUsers.js       |   9 +-
 .../server/publications/adminRooms.js         |  12 +-
 .../client/models/CachedCollection.js         |  11 +-
 app/ui-clean-history/client/lib/startup.js    |   1 +
 .../client/views/cleanHistory.js              |  10 +-
 app/ui-flextab/client/flexTabBar.js           |  17 +-
 app/ui-flextab/client/tabs/inviteUsers.js     |   9 +-
 app/ui-flextab/client/tabs/membersList.js     |  20 +-
 .../client/tabs/uploadedFilesList.js          |   7 +-
 app/ui-flextab/client/tabs/userActions.js     |  71 +-
 app/ui-flextab/client/tabs/userEdit.js        |  14 +-
 app/ui-flextab/client/tabs/userInfo.js        |  23 +-
 app/ui-login/client/login/footer.js           |   1 +
 app/ui-login/client/login/form.js             |  78 +-
 app/ui-login/client/login/header.js           |   1 +
 app/ui-login/client/login/layout.js           |   1 +
 app/ui-login/client/login/services.js         |   3 +-
 .../client/reset-password/resetPassword.js    |   3 +-
 app/ui-login/client/username/layout.js        |   1 +
 app/ui-login/client/username/username.js      |   5 +-
 app/ui-master/client/main.js                  |  17 +-
 app/ui-master/public/generateHTML.js          |   3 -
 app/ui-master/public/generateSprite.js        |   2 -
 app/ui-master/server/inject.js                |  23 +-
 app/ui-message/client/message.js              |  16 +-
 .../client/messageBox/messageBox.js           |  27 +-
 .../client/messageBox/messageBoxActions.js    |  18 +-
 .../messageBox/messageBoxAudioMessage.js      |  17 +-
 .../client/messageBox/messageBoxAutogrow.js   |  17 +-
 .../messageBox/messageBoxNotSubscribed.js     |  11 +-
 .../client/messageBox/messageBoxReadOnly.js   |   1 +
 .../client/messageBox/messageBoxTyping.js     |   1 +
 app/ui-message/client/popup/messagePopup.js   |  18 +-
 .../client/popup/messagePopupChannel.js       |   1 +
 .../client/popup/messagePopupConfig.js        |  13 +-
 .../popup/messagePopupSlashCommandPreview.js  |   3 +-
 app/ui-sidenav/client/chatRoomItem.js         |   3 +-
 app/ui-sidenav/client/roomList.js             |   3 +-
 app/ui-sidenav/client/sideNav.js              |   7 +-
 app/ui-sidenav/client/sidebarHeader.js        |   6 +-
 app/ui-sidenav/client/sidebarItem.js          |  10 +-
 app/ui-sidenav/client/sortlist.js             |   3 +-
 app/ui-sidenav/client/toolbar.js              |  11 +-
 app/ui-utils/client/lib/AccountBox.js         |   6 +-
 app/ui-utils/client/lib/AdminBox.js           |   4 +-
 app/ui-utils/client/lib/ChannelActions.js     |   3 +-
 app/ui-utils/client/lib/IframeLogin.js        |   3 +-
 app/ui-utils/client/lib/Layout.js             |   4 +-
 app/ui-utils/client/lib/MessageAction.js      |  11 +-
 app/ui-utils/client/lib/RocketChatTabBar.js   |   1 +
 app/ui-utils/client/lib/RoomHistoryManager.js | 114 ++-
 app/ui-utils/client/lib/RoomManager.js        |  38 +-
 app/ui-utils/client/lib/SideNav.js            |  16 +-
 app/ui-utils/client/lib/TabBar.js             |  16 +-
 app/ui-utils/client/lib/alerts.js             |   2 +-
 app/ui-utils/client/lib/avatar.js             |   9 +-
 app/ui-utils/client/lib/callMethod.js         |   1 +
 app/ui-utils/client/lib/fireGlobalEvent.js    |   3 +-
 app/ui-utils/client/lib/menu.js               |  26 +-
 app/ui-utils/client/lib/messageBox.js         |   5 +-
 app/ui-utils/client/lib/modal.js              |   2 +-
 app/ui-utils/client/lib/openRoom.js           |  18 +-
 app/ui-utils/client/lib/popout.js             |   3 +-
 app/ui-utils/client/lib/popover.js            |   7 +-
 app/ui-utils/client/lib/prependReplies.js     |   1 +
 app/ui-utils/client/lib/readMessages.js       |  18 +-
 app/ui-utils/client/lib/renderMessageBody.js  |   6 +-
 app/ui-utils/lib/Message.js                   |   7 +-
 app/ui-utils/lib/MessageProperties.js         |   9 +-
 app/ui-utils/lib/MessageTypes.js              |   6 +-
 app/ui-utils/tests/server.tests.js            |   1 +
 app/ui-vrecord/client/VRecDialog.js           |  16 +-
 app/ui-vrecord/client/vrecord.js              |   9 +-
 app/ui/client/components/header/header.js     |   1 +
 app/ui/client/components/header/headerRoom.js |   3 +-
 app/ui/client/components/icon.js              |   3 +-
 app/ui/client/components/popupList.js         |   3 +-
 app/ui/client/components/selectDropdown.js    |   4 +-
 app/ui/client/index.js                        |  17 +-
 app/ui/client/lib/accounts.js                 |   3 +-
 app/ui/client/lib/chatMessages.js             |  18 +-
 .../lib/codeMirror/codeMirrorComponent.js     |   4 +-
 app/ui/client/lib/collections.js              |   1 +
 app/ui/client/lib/fileUpload.js               |   3 +-
 app/ui/client/lib/iframeCommands.js           |   3 +-
 app/ui/client/lib/menu.js                     |   3 +-
 app/ui/client/lib/msgTyping.js                |  10 +-
 app/ui/client/lib/notification.js             |  11 +-
 app/ui/client/lib/parentTemplate.js           |   2 +-
 app/ui/client/lib/recorderjs/audioEncoder.js  |   3 +-
 app/ui/client/lib/recorderjs/audioRecorder.js |   8 +-
 app/ui/client/lib/recorderjs/videoRecorder.js |  10 +-
 app/ui/client/lib/rocket.js                   |   8 +-
 app/ui/client/views/app/burger.js             |   1 +
 app/ui/client/views/app/createChannel.js      |  19 +-
 app/ui/client/views/app/directory.js          |   7 +-
 app/ui/client/views/app/helpers.js            |   4 +-
 app/ui/client/views/app/home.js               |   1 +
 app/ui/client/views/app/photoswipe.js         |   4 +-
 app/ui/client/views/app/room.js               |  61 +-
 app/ui/client/views/app/roomSearch.js         |   1 +
 app/ui/client/views/app/secretURL.js          |   1 +
 .../client/views/app/tests/helpers.tests.js   |   1 +
 .../views/app/videoCall/videoButtons.js       |   1 +
 .../client/views/app/videoCall/videoCall.js   |  11 +-
 app/ui/client/views/cmsPage.js                |   1 +
 app/ui/client/views/fxos.js                   |   1 -
 .../server/cronProcessDownloads.js            |  20 +-
 .../server/startup/settings.js                |   3 -
 app/utils/client/lib/CustomTranslations.js    |   1 +
 app/utils/client/lib/canDeleteMessage.js      |   2 -
 app/utils/client/lib/handleError.js           |   2 +-
 app/utils/client/lib/roomTypes.js             |  19 +-
 app/utils/lib/RoomTypeConfig.js               |  13 +-
 app/utils/lib/RoomTypesCommon.js              |   3 +-
 app/utils/lib/fileUploadRestrictions.js       |  19 +-
 app/utils/lib/getRoomAvatarURL.js             |   2 +-
 app/utils/lib/getURL.js                       |   3 +-
 app/utils/lib/getUserAvatarURL.js             |   3 +-
 app/utils/lib/getUserPreference.js            |   4 +-
 app/utils/lib/getValidRoomName.js             |   1 +
 app/utils/lib/placeholders.js                 |   5 +-
 app/utils/lib/roomExit.js                     |   1 +
 app/utils/lib/tapi18n.js                      |   9 +-
 app/utils/lib/templateVarHandler.js           |  30 +-
 app/utils/server/functions/getMongoInfo.js    |   3 -
 app/utils/server/lib/roomTypes.js             |   8 +-
 app/version-check/client/index.js             |   1 +
 .../server/functions/checkVersionUpdate.js    |   7 +-
 .../server/functions/getNewUpdates.js         |   4 +-
 app/version-check/server/index.js             |   1 +
 .../server/methods/banner_dismiss.js          |   1 +
 app/videobridge/client/actionLink.js          |   3 +-
 app/videobridge/client/tabBar.js              |   2 +-
 app/videobridge/client/views/videoFlexTab.js  |   1 +
 .../client/views/videoFlexTabBbb.js           |   1 +
 app/videobridge/lib/messageType.js            |   1 +
 app/videobridge/server/methods/bbb.js         |   6 +-
 .../server/methods/jitsiSetTimeout.js         |   7 +-
 app/videobridge/server/settings.js            |   4 +-
 app/webdav/client/actionButton.js             |   3 +-
 app/webdav/client/addWebdavAccount.js         |   5 +-
 app/webdav/client/selectWebdavAccount.js      |   1 +
 .../client/startup/messageBoxActions.js       |   1 +
 app/webdav/client/webdavFilePicker.js         |   3 +-
 app/webdav/server/methods/addWebdavAccount.js |   5 +-
 .../server/methods/getFileFromWebdav.js       |   3 +-
 .../server/methods/getWebdavFileList.js       |   3 +-
 .../server/methods/removeWebdavAccount.js     |   1 +
 .../server/methods/uploadFileToWebdav.js      |   8 +-
 .../server/publications/webdavAccounts.js     |   3 +-
 app/webrtc/client/WebRTCClass.js              |  14 +-
 app/webrtc/client/screenShare.js              |   2 +-
 app/wordpress/lib/common.js                   |   5 +-
 app/wordpress/server/startup.js               |   1 -
 client/methods/deleteMessage.js               |   1 +
 client/methods/hideRoom.js                    |   1 +
 client/methods/openRoom.js                    |   1 +
 client/methods/setUserActiveStatus.js         |   1 +
 client/methods/toggleFavorite.js              |   1 +
 client/methods/updateMessage.js               |  10 +-
 client/notifications/UsersNameChanged.js      |   1 +
 client/notifications/notification.js          |   4 +-
 client/notifications/updateAvatar.js          |   1 +
 client/notifications/updateUserState.js       |   1 +
 client/routes/adminRouter.js                  |   2 +-
 client/routes/roomRoute.js                    |   2 +-
 client/routes/router.js                       |   2 +-
 client/startup/emailVerification.js           |   3 +-
 client/startup/i18n.js                        |   3 +-
 client/startup/roomObserve.js                 |   1 +
 client/startup/startup.js                     |   5 +-
 client/startup/unread.js                      |   1 +
 client/startup/userSetUtcOffset.js            |   3 +-
 client/startup/usersObserve.js                |   1 +
 imports/message-read-receipt/client/main.js   |   1 +
 .../message-read-receipt/client/message.js    |   1 +
 .../client/readReceipts.js                    |   3 +-
 .../server/api/methods/getReadReceipts.js     |   1 +
 imports/message-read-receipt/server/hooks.js  |   3 +-
 .../server/lib/ReadReceipt.js                 |   1 +
 .../client/personalAccessTokens.js            |   5 +-
 .../server/api/methods/generateToken.js       |   1 +
 .../server/api/methods/regenerateToken.js     |   1 +
 .../server/api/methods/removeToken.js         |   1 +
 .../personal-access-tokens/server/index.js    |   2 -
 .../publications/personalAccessTokens.js      |   1 +
 package-lock.json                             | 700 ++++++++++++++++--
 package.json                                  |   2 +-
 .../client/autocomplete-client.js             |  23 +-
 .../meteor-autocomplete/client/templates.js   |   4 +-
 .../client/index.js                           |   4 +-
 .../.app/client/lib/CustomFields.js           |   1 +
 .../.app/client/lib/LivechatFileUpload.js     |   6 +-
 .../.app/client/lib/LivechatVideoCall.js      |   5 +-
 .../.app/client/lib/_livechat.js              |  55 +-
 .../.app/client/lib/chatMessages.js           |   3 +-
 .../.app/client/lib/commands.js               |   5 +-
 .../.app/client/lib/fromApp/Notifications.js  |  16 +-
 .../client/lib/fromApp/RoomHistoryManager.js  | 111 +--
 .../.app/client/lib/hooks.js                  |   1 +
 .../.app/client/lib/msgTyping.js              |  10 +-
 .../.app/client/lib/tapi18n.js                |  18 +-
 .../.app/client/lib/triggers.js               |   1 +
 .../client/methods/sendMessageExternal.js     |   3 +-
 .../.app/client/routes/router.js              |   3 +-
 .../.app/client/startup/visitor.js            |   1 +
 .../.app/client/views/avatar.js               |   1 +
 .../.app/client/views/livechatWindow.js       |   6 +-
 .../.app/client/views/message.js              |   5 +-
 .../.app/client/views/messages.js             |   9 +-
 .../.app/client/views/offlineForm.js          |  10 +-
 .../.app/client/views/options.js              |   1 +
 .../.app/client/views/register.js             |  50 +-
 .../.app/client/views/survey.js               |   1 +
 .../.app/client/views/switchDepartment.js     |   1 +
 .../.app/imports/client/visitor.js            |   1 -
 .../plugin/build-livechat.js                  |   1 +
 .../plugin/compile-version.js                 |   3 +-
 private/node_scripts/auto-translate.js        |   9 +-
 private/node_scripts/check-unused-i18n.js     |   1 +
 .../unsubscribe_csv/unsubscribe.js            |   4 +-
 server/configuration/accounts_meld.js         |   1 +
 server/lib/accounts.js                        |   1 +
 server/lib/cordova.js                         |   3 +-
 server/lib/roomFiles.js                       |   1 +
 server/methods/OEmbedCacheCleanup.js          |   1 +
 server/methods/addAllUserToRoom.js            |  13 +-
 server/methods/addRoomLeader.js               |   1 +
 server/methods/addRoomModerator.js            |   1 +
 server/methods/addRoomOwner.js                |   1 +
 server/methods/afterVerifyEmail.js            |   3 +-
 server/methods/browseChannels.js              |   4 +-
 server/methods/canAccessRoom.js               |   2 +-
 server/methods/channelsList.js                |   5 +-
 server/methods/createDirectMessage.js         |   2 +-
 server/methods/deleteFileMessage.js           |   1 +
 server/methods/deleteUser.js                  |   1 +
 server/methods/eraseRoom.js                   |   1 +
 server/methods/getAvatarSuggestion.js         |   1 +
 server/methods/getRoomById.js                 |   1 +
 server/methods/getRoomIdByNameOrId.js         |   1 +
 server/methods/getRoomNameById.js             |   1 +
 server/methods/getTotalChannels.js            |   1 +
 server/methods/getUsersOfRoom.js              |   7 +-
 server/methods/hideRoom.js                    |   1 +
 server/methods/ignoreUser.js                  |   1 +
 server/methods/loadHistory.js                 |   1 +
 server/methods/loadMissedMessages.js          |   1 +
 server/methods/loadNextMessages.js            |   1 +
 server/methods/loadSurroundingMessages.js     |   3 +-
 server/methods/logoutCleanUp.js               |   1 +
 server/methods/messageSearch.js               |   5 +-
 server/methods/migrate.js                     |   1 +
 server/methods/muteUserInRoom.js              |   1 +
 server/methods/openRoom.js                    |   1 +
 server/methods/readMessages.js                |   1 +
 server/methods/registerUser.js                |  20 +-
 server/methods/removeRoomLeader.js            |   1 +
 server/methods/removeRoomModerator.js         |   1 +
 server/methods/removeRoomOwner.js             |   1 +
 server/methods/removeUserFromRoom.js          |   1 +
 server/methods/reportMessage.js               |   1 +
 server/methods/requestDataDownload.js         |   8 +-
 server/methods/resetAvatar.js                 |   1 +
 server/methods/roomNameExists.js              |   1 +
 server/methods/saveUserPreferences.js         |   1 +
 server/methods/saveUserProfile.js             |   3 +-
 server/methods/sendConfirmationEmail.js       |   4 +-
 server/methods/sendForgotPasswordEmail.js     |   2 +-
 server/methods/setAvatarFromService.js        |   1 +
 server/methods/setUserActiveStatus.js         |   2 +-
 server/methods/setUserPassword.js             |   1 +
 server/methods/toogleFavorite.js              |   1 +
 server/methods/unmuteUserInRoom.js            |   1 +
 server/methods/userSetUtcOffset.js            |   1 +
 server/publications/activeUsers.js            |   1 +
 .../channelAndPrivateAutocomplete.js          |   1 +
 server/publications/fullUserData.js           |   1 +
 server/publications/messages.js               |   2 +-
 server/publications/room.js                   |   3 +-
 server/publications/roomFiles.js              |   1 +
 .../publications/roomFilesWithSearchText.js   |   1 +
 .../publications/roomSubscriptionsByRole.js   |   1 +
 server/publications/spotlight.js              |   6 +-
 server/publications/subscription.js           |   1 +
 server/publications/userAutocomplete.js       |   3 +-
 server/publications/userChannels.js           |   1 +
 server/publications/userData.js               |   1 +
 server/routes/avatar/room.js                  |   6 +-
 server/routes/avatar/user.js                  |   9 +-
 server/routes/avatar/utils.js                 |   3 +-
 server/startup/cron.js                        |   3 +-
 server/startup/initialData.js                 |  19 +-
 server/startup/migrations/v001.js             |   3 +-
 server/startup/migrations/v003.js             |   3 +-
 server/startup/migrations/v004.js             |   2 +-
 server/startup/migrations/v005.js             |   6 +-
 server/startup/migrations/v007.js             |   3 +-
 server/startup/migrations/v009.js             |   1 +
 server/startup/migrations/v010.js             |   3 +-
 server/startup/migrations/v012.js             |   1 +
 server/startup/migrations/v015.js             |   3 +-
 server/startup/migrations/v018.js             |   1 +
 server/startup/migrations/v019.js             |  14 +-
 server/startup/migrations/v027.js             |   1 -
 server/startup/migrations/v029.js             |  14 +-
 server/startup/migrations/v030.js             |   2 +-
 server/startup/migrations/v036.js             |   4 +-
 server/startup/migrations/v037.js             |   1 -
 server/startup/migrations/v042.js             |   1 +
 server/startup/migrations/v045.js             |   3 +-
 server/startup/migrations/v048.js             |   2 -
 server/startup/migrations/v049.js             |   1 -
 server/startup/migrations/v055.js             |   3 +-
 server/startup/migrations/v060.js             |   3 +-
 server/startup/migrations/v063.js             |   4 +-
 server/startup/migrations/v064.js             |   3 +-
 server/startup/migrations/v065.js             |   1 -
 server/startup/migrations/v066.js             |   1 -
 server/startup/migrations/v068.js             |   1 -
 server/startup/migrations/v075.js             |   4 +-
 server/startup/migrations/v077.js             |   1 -
 server/startup/migrations/v084.js             |   2 -
 server/startup/migrations/v093.js             |   1 -
 server/startup/migrations/v099.js             |   6 +-
 server/startup/migrations/v100.js             |   2 +-
 server/startup/migrations/v101.js             |   2 +-
 server/startup/migrations/v103.js             |   2 +-
 server/startup/migrations/v104.js             |  12 +-
 server/startup/migrations/v106.js             |   1 +
 server/startup/migrations/v107.js             |   4 +-
 server/startup/migrations/v113.js             |   2 +-
 server/startup/migrations/v118.js             |   6 +-
 server/startup/migrations/v120.js             |   2 +-
 server/startup/migrations/v121.js             |   1 -
 server/startup/migrations/v123.js             |   9 +-
 server/startup/migrations/v127.js             |   2 -
 server/startup/migrations/v130.js             |   1 +
 server/startup/migrations/v131.js             |  14 +-
 server/startup/migrations/v134.js             |   2 -
 server/startup/migrations/v139.js             |   1 -
 server/startup/migrations/v140.js             |   1 -
 server/startup/migrations/xrun.js             |   1 +
 server/startup/presence.js                    |   4 +-
 server/startup/serverRunning.js               |   8 +-
 server/stream/messages.js                     |   3 +-
 server/stream/streamBroadcast.js              |  14 +-
 tests/data/api-data.js                        |   9 +-
 tests/data/rooms.helper.js                    |   4 +-
 tests/end-to-end/api/00-miscellaneous.js      |   8 +-
 tests/end-to-end/api/01-users.js              |   9 +-
 tests/end-to-end/api/02-channels.js           |   8 +-
 tests/end-to-end/api/03-groups.js             |   8 +-
 tests/end-to-end/api/05-chat.js               |   6 -
 tests/end-to-end/api/09-rooms.js              |  10 +-
 tests/end-to-end/api/10-subscriptions.js      |   2 +-
 tests/end-to-end/api/11-graphql.js            |  10 +-
 tests/end-to-end/api/12-emoji-custom.js       |   1 +
 tests/end-to-end/ui/03-user-creation.js       |   2 -
 .../end-to-end/ui/04-main-elements-render.js  |   5 +-
 tests/end-to-end/ui/05-channel-creation.js    |   3 +-
 tests/end-to-end/ui/06-messaging.js           |   2 -
 tests/end-to-end/ui/07-emoji.js               |   2 -
 tests/end-to-end/ui/08-resolutions.js         |  13 +-
 tests/end-to-end/ui/09-channel.js             |   6 -
 tests/end-to-end/ui/10-user-preferences.js    |   5 +-
 tests/end-to-end/ui/11-admin.js               |   2 -
 tests/end-to-end/ui/12-settings.js            |  60 +-
 tests/end-to-end/ui/13-permissions.js         |   2 -
 tests/end-to-end/ui/14-message-popup.js       |   3 +-
 tests/end-to-end/ui/15-discussion.js          |   3 +-
 tests/pageobjects/administration.page.js      | 147 ++++
 tests/pageobjects/discussion.page.js          |   1 -
 tests/pageobjects/flex-tab.page.js            |  72 +-
 tests/pageobjects/global.js                   |   8 +
 tests/pageobjects/login.page.js               |  14 +
 tests/pageobjects/main-content.page.js        |  51 +-
 .../preferences-main-content.page.js          |   9 +
 tests/pageobjects/settings.js                 |   9 +-
 tests/pageobjects/setup-wizard.page.js        |  12 +
 tests/pageobjects/side-nav.page.js            |  30 +
 1281 files changed, 4931 insertions(+), 3493 deletions(-)

diff --git a/.scripts/fix-i18n.js b/.scripts/fix-i18n.js
index a4866809068..ad8210d7cd3 100644
--- a/.scripts/fix-i18n.js
+++ b/.scripts/fix-i18n.js
@@ -6,9 +6,10 @@
  * - remove all keys not present in source i18n file
  */
 
-const fg = require('fast-glob');
 const fs = require('fs');
 
+const fg = require('fast-glob');
+
 const fixFiles = (path, source, newlineAtEnd = false) => {
 	const sourceFile = JSON.parse(fs.readFileSync(`${ path }${ source }`, 'utf8'));
 	const sourceKeys = Object.keys(sourceFile);
diff --git a/.scripts/logs.js b/.scripts/logs.js
index be65d91454b..a1acf80b817 100644
--- a/.scripts/logs.js
+++ b/.scripts/logs.js
@@ -1,5 +1,6 @@
 const path = require('path');
 const fs = require('fs');
+
 const semver = require('semver');
 const ProgressBar = require('progress');
 const _ = require('underscore');
@@ -14,7 +15,7 @@ const historyDataFile = path.join(__dirname, '../.github/history.json');
 
 let historyData = (() => {
 	try {
-		return require(historyDataFile);
+		return require(historyDataFile); // eslint-disable-line import/no-dynamic-require
 	} catch (error) {
 		return {};
 	}
diff --git a/.scripts/md.js b/.scripts/md.js
index 6f927f192cc..ac935873a69 100644
--- a/.scripts/md.js
+++ b/.scripts/md.js
@@ -1,8 +1,9 @@
 const path = require('path');
 const fs = require('fs');
+const { execSync } = require('child_process');
+
 const semver = require('semver');
 const _ = require('underscore');
-const { execSync } = require('child_process');
 
 const historyDataFile = path.join(__dirname, '../.github/history.json');
 const historyManualDataFile = path.join(__dirname, '../.github/history-manual.json');
@@ -50,7 +51,7 @@ const SummaryNameEmoticons = {
 
 const historyData = (() => {
 	try {
-		return require(historyDataFile);
+		return require(historyDataFile); // eslint-disable-line import/no-dynamic-require
 	} catch (error) {
 		return {};
 	}
@@ -58,7 +59,7 @@ const historyData = (() => {
 
 const historyManualData = (() => {
 	try {
-		return require(historyManualDataFile);
+		return require(historyManualDataFile); // eslint-disable-line import/no-dynamic-require
 	} catch (error) {
 		return {};
 	}
diff --git a/.scripts/set-version.js b/.scripts/set-version.js
index abd5f8a2719..6524ce70017 100644
--- a/.scripts/set-version.js
+++ b/.scripts/set-version.js
@@ -2,6 +2,7 @@
 
 const path = require('path');
 const fs = require('fs');
+
 const semver = require('semver');
 const inquirer = require('inquirer');
 // const execSync = require('child_process').execSync;
@@ -10,7 +11,7 @@ const git = require('simple-git/promise')(process.cwd());
 let pkgJson = {};
 
 try {
-	pkgJson = require(path.resolve(
+	pkgJson = require(path.resolve( // eslint-disable-line import/no-dynamic-require
 		process.cwd(),
 		'./package.json'
 	));
diff --git a/.scripts/start.js b/.scripts/start.js
index 8c1854d9180..5d75151e225 100644
--- a/.scripts/start.js
+++ b/.scripts/start.js
@@ -5,6 +5,7 @@ const fs = require('fs');
 const extend = require('util')._extend;
 const { spawn } = require('child_process');
 const net = require('net');
+
 const processes = [];
 let exitCode;
 
@@ -116,9 +117,9 @@ function startChimp() {
 		// params: ['2'],
 		options: {
 			env: Object.assign({}, process.env, {
-				NODE_PATH: `${ process.env.NODE_PATH +
-					path.delimiter + srcDir +
-					path.delimiter + srcDir }/node_modules`,
+				NODE_PATH: `${ process.env.NODE_PATH
+					+ path.delimiter + srcDir
+					+ path.delimiter + srcDir }/node_modules`,
 			}),
 		},
 	});
diff --git a/.scripts/version.js b/.scripts/version.js
index 79f523ab48d..461003c2d58 100644
--- a/.scripts/version.js
+++ b/.scripts/version.js
@@ -1,8 +1,9 @@
 const path = require('path');
+
 let pkgJson = {};
 
 try {
-	pkgJson = require(path.resolve(
+	pkgJson = require(path.resolve( // eslint-disable-line import/no-dynamic-require
 		process.cwd(),
 		'./package.json'
 	));
diff --git a/app/2fa/client/TOTPPassword.js b/app/2fa/client/TOTPPassword.js
index 0cf6d8b9e9e..7a26863faad 100644
--- a/app/2fa/client/TOTPPassword.js
+++ b/app/2fa/client/TOTPPassword.js
@@ -1,8 +1,9 @@
 import { Meteor } from 'meteor/meteor';
 import { Accounts } from 'meteor/accounts-base';
+import toastr from 'toastr';
+
 import { modal } from '../../ui-utils';
 import { t } from '../../utils';
-import toastr from 'toastr';
 
 function reportError(error, callback) {
 	if (callback) {
diff --git a/app/2fa/client/accountSecurity.js b/app/2fa/client/accountSecurity.js
index 4e9bc5573d1..027da271a65 100644
--- a/app/2fa/client/accountSecurity.js
+++ b/app/2fa/client/accountSecurity.js
@@ -1,11 +1,12 @@
 import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
+import toastr from 'toastr';
+import qrcode from 'yaqrcode';
+
 import { modal } from '../../ui-utils';
 import { settings } from '../../settings';
 import { t } from '../../utils';
-import toastr from 'toastr';
-import qrcode from 'yaqrcode';
 
 window.qrcode = qrcode;
 
diff --git a/app/2fa/server/lib/totp.js b/app/2fa/server/lib/totp.js
index a1ad86147fe..fcdf46f3bbd 100644
--- a/app/2fa/server/lib/totp.js
+++ b/app/2fa/server/lib/totp.js
@@ -1,8 +1,9 @@
 import { SHA256 } from 'meteor/sha';
 import { Random } from 'meteor/random';
+import speakeasy from 'speakeasy';
+
 import { Users } from '../../../models';
 import { settings } from '../../../settings';
-import speakeasy from 'speakeasy';
 
 export const TOTP = {
 	generateSecret() {
diff --git a/app/2fa/server/loginHandler.js b/app/2fa/server/loginHandler.js
index 4067521d2c4..3afc20b6cf2 100644
--- a/app/2fa/server/loginHandler.js
+++ b/app/2fa/server/loginHandler.js
@@ -1,8 +1,9 @@
 import { Meteor } from 'meteor/meteor';
 import { Accounts } from 'meteor/accounts-base';
+
+import { TOTP } from './lib/totp';
 import { settings } from '../../settings';
 import { callbacks } from '../../callbacks';
-import { TOTP } from './lib/totp';
 
 Accounts.registerLoginHandler('totp', function(options) {
 	if (!options.totp || !options.totp.code) {
diff --git a/app/2fa/server/methods/disable.js b/app/2fa/server/methods/disable.js
index 096db7084cf..fe6e554305d 100644
--- a/app/2fa/server/methods/disable.js
+++ b/app/2fa/server/methods/disable.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Users } from '../../../models';
 import { TOTP } from '../lib/totp';
 
diff --git a/app/2fa/server/methods/enable.js b/app/2fa/server/methods/enable.js
index 35954a5b3df..ef34662436e 100644
--- a/app/2fa/server/methods/enable.js
+++ b/app/2fa/server/methods/enable.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Users } from '../../../models';
 import { TOTP } from '../lib/totp';
 
diff --git a/app/2fa/server/methods/regenerateCodes.js b/app/2fa/server/methods/regenerateCodes.js
index cd723e66db8..bfdc8d955d7 100644
--- a/app/2fa/server/methods/regenerateCodes.js
+++ b/app/2fa/server/methods/regenerateCodes.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Users } from '../../../models';
 import { TOTP } from '../lib/totp';
 
diff --git a/app/2fa/server/methods/validateTempToken.js b/app/2fa/server/methods/validateTempToken.js
index 39ccc904365..71565b0d42e 100644
--- a/app/2fa/server/methods/validateTempToken.js
+++ b/app/2fa/server/methods/validateTempToken.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Users } from '../../../models';
 import { TOTP } from '../lib/totp';
 
diff --git a/app/2fa/server/startup/settings.js b/app/2fa/server/startup/settings.js
index e83bcd8e4c9..51ccf2ac68f 100644
--- a/app/2fa/server/startup/settings.js
+++ b/app/2fa/server/startup/settings.js
@@ -17,5 +17,3 @@ settings.addGroup('Accounts', function() {
 		});
 	});
 });
-
-
diff --git a/app/action-links/both/lib/actionLinks.js b/app/action-links/both/lib/actionLinks.js
index 384cc450201..c87c712e079 100644
--- a/app/action-links/both/lib/actionLinks.js
+++ b/app/action-links/both/lib/actionLinks.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Messages, Subscriptions } from '../../../models';
 
 // Action Links namespace creation.
diff --git a/app/action-links/client/init.js b/app/action-links/client/init.js
index 4f85d99d9d5..2865be4279c 100644
--- a/app/action-links/client/init.js
+++ b/app/action-links/client/init.js
@@ -1,12 +1,12 @@
 import { Blaze } from 'meteor/blaze';
 import { Template } from 'meteor/templating';
+
 import { handleError } from '../../utils';
 import { fireGlobalEvent, Layout } from '../../ui-utils';
 import { messageArgs } from '../../ui-utils/client/lib/messageArgs';
 import { actionLinks } from '../both/lib/actionLinks';
 
 
-
 Template.room.events({
 	'click .action-link'(event, instance) {
 		event.preventDefault();
diff --git a/app/action-links/client/lib/actionLinks.js b/app/action-links/client/lib/actionLinks.js
index 1c5b61dc4b9..4391eda94af 100644
--- a/app/action-links/client/lib/actionLinks.js
+++ b/app/action-links/client/lib/actionLinks.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { handleError } from '../../../utils';
 import { actionLinks } from '../../both/lib/actionLinks';
 // Action Links Handler. This method will be called off the client.
diff --git a/app/action-links/server/actionLinkHandler.js b/app/action-links/server/actionLinkHandler.js
index 8940e1c8150..067f727e3dd 100644
--- a/app/action-links/server/actionLinkHandler.js
+++ b/app/action-links/server/actionLinkHandler.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { actionLinks } from '../both/lib/actionLinks';
 // Action Links Handler. This method will be called off the client.
 
diff --git a/app/analytics/client/loadScript.js b/app/analytics/client/loadScript.js
index a07c8cb1ac9..50d25859814 100644
--- a/app/analytics/client/loadScript.js
+++ b/app/analytics/client/loadScript.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
 import { Template } from 'meteor/templating';
+
 import { settings } from '../../settings';
 
 Template.body.onRendered(() => {
diff --git a/app/analytics/client/trackEvents.js b/app/analytics/client/trackEvents.js
index acbbd13494f..cc86418dca6 100644
--- a/app/analytics/client/trackEvents.js
+++ b/app/analytics/client/trackEvents.js
@@ -1,9 +1,10 @@
 import { Meteor } from 'meteor/meteor';
 import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Tracker } from 'meteor/tracker';
+
 import { settings } from '../../settings';
 import { callbacks } from '../../callbacks';
 import { ChatRoom } from '../../models';
-import { Tracker } from 'meteor/tracker';
 
 function trackEvent(category, action, label) {
 	if (window._paq) {
diff --git a/app/api/server/api.js b/app/api/server/api.js
index 2d5a544e426..6de8ca4bd80 100644
--- a/app/api/server/api.js
+++ b/app/api/server/api.js
@@ -3,13 +3,14 @@ import { DDPCommon } from 'meteor/ddp-common';
 import { DDP } from 'meteor/ddp';
 import { Accounts } from 'meteor/accounts-base';
 import { Restivus } from 'meteor/nimble:restivus';
+import { RateLimiter } from 'meteor/rate-limit';
+import _ from 'underscore';
+
 import { Logger } from '../../logger';
 import { settings } from '../../settings';
 import { metrics } from '../../metrics';
 import { hasPermission, hasAllPermission } from '../../authorization';
-import { RateLimiter } from 'meteor/rate-limit';
 
-import _ from 'underscore';
 
 const logger = new Logger('API', {});
 const rateLimiterDictionary = {};
@@ -113,7 +114,7 @@ class APIClass extends Restivus {
 			statusCode: 404,
 			body: {
 				success: false,
-				error: msg ? msg : 'Resource not found',
+				error: msg || 'Resource not found',
 			},
 		};
 	}
@@ -123,7 +124,7 @@ class APIClass extends Restivus {
 			statusCode: 403,
 			body: {
 				success: false,
-				error: msg ? msg : 'unauthorized',
+				error: msg || 'unauthorized',
 			},
 		};
 	}
@@ -133,7 +134,7 @@ class APIClass extends Restivus {
 			statusCode: 429,
 			body: {
 				success: false,
-				error: msg ? msg : 'Too many requests',
+				error: msg || 'Too many requests',
 			},
 		};
 	}
@@ -141,7 +142,7 @@ class APIClass extends Restivus {
 	reloadRoutesToRefreshRateLimiter() {
 		const { version } = this._config;
 		this._routes.forEach((route) => {
-			const shouldAddRateLimitToRoute = ((typeof route.options.rateLimiterOptions === 'object' || route.options.rateLimiterOptions === undefined) && Boolean(version) && !process.env.TEST_MODE && Boolean(defaultRateLimiterOptions.numRequestsAllowed && defaultRateLimiterOptions.intervalTimeInMS));
+			const shouldAddRateLimitToRoute = (typeof route.options.rateLimiterOptions === 'object' || route.options.rateLimiterOptions === undefined) && Boolean(version) && !process.env.TEST_MODE && Boolean(defaultRateLimiterOptions.numRequestsAllowed && defaultRateLimiterOptions.intervalTimeInMS);
 			if (shouldAddRateLimitToRoute) {
 				this.addRateLimiterRuleForRoutes({
 					routes: [route.path],
@@ -204,7 +205,7 @@ class APIClass extends Restivus {
 			routes = [routes];
 		}
 		const { version } = this._config;
-		const shouldAddRateLimitToRoute = ((typeof options.rateLimiterOptions === 'object' || options.rateLimiterOptions === undefined) && Boolean(version) && !process.env.TEST_MODE && Boolean(defaultRateLimiterOptions.numRequestsAllowed && defaultRateLimiterOptions.intervalTimeInMS));
+		const shouldAddRateLimitToRoute = (typeof options.rateLimiterOptions === 'object' || options.rateLimiterOptions === undefined) && Boolean(version) && !process.env.TEST_MODE && Boolean(defaultRateLimiterOptions.numRequestsAllowed && defaultRateLimiterOptions.intervalTimeInMS);
 		if (shouldAddRateLimitToRoute) {
 			this.addRateLimiterRuleForRoutes({
 				routes,
diff --git a/app/api/server/helpers/deprecationWarning.js b/app/api/server/helpers/deprecationWarning.js
index 52590c041f0..fdcc98f4b1d 100644
--- a/app/api/server/helpers/deprecationWarning.js
+++ b/app/api/server/helpers/deprecationWarning.js
@@ -12,4 +12,3 @@ API.helperMethods.set('deprecationWarning', function _deprecationWarning({ endpo
 
 	return response;
 });
-
diff --git a/app/api/server/helpers/getLoggedInUser.js b/app/api/server/helpers/getLoggedInUser.js
index 2acd73c71e8..1ce74a93e2f 100644
--- a/app/api/server/helpers/getLoggedInUser.js
+++ b/app/api/server/helpers/getLoggedInUser.js
@@ -1,4 +1,5 @@
 import { Accounts } from 'meteor/accounts-base';
+
 import { Users } from '../../../models';
 import { API } from '../api';
 
diff --git a/app/api/server/helpers/getUserFromParams.js b/app/api/server/helpers/getUserFromParams.js
index 51af7c1d4e4..c97d6f34e1e 100644
--- a/app/api/server/helpers/getUserFromParams.js
+++ b/app/api/server/helpers/getUserFromParams.js
@@ -1,5 +1,6 @@
 // Convenience method, almost need to turn it into a middleware of sorts
 import { Meteor } from 'meteor/meteor';
+
 import { Users } from '../../../models';
 import { API } from '../api';
 
diff --git a/app/api/server/helpers/insertUserObject.js b/app/api/server/helpers/insertUserObject.js
index 1e52665d114..f6674720c06 100644
--- a/app/api/server/helpers/insertUserObject.js
+++ b/app/api/server/helpers/insertUserObject.js
@@ -15,4 +15,3 @@ API.helperMethods.set('insertUserObject', function _addUserToObject({ object, us
 
 	return object;
 });
-
diff --git a/app/api/server/helpers/isUserFromParams.js b/app/api/server/helpers/isUserFromParams.js
index a96779c2eed..605f598bd43 100644
--- a/app/api/server/helpers/isUserFromParams.js
+++ b/app/api/server/helpers/isUserFromParams.js
@@ -3,8 +3,8 @@ import { API } from '../api';
 API.helperMethods.set('isUserFromParams', function _isUserFromParams() {
 	const params = this.requestParams();
 
-	return (!params.userId && !params.username && !params.user) ||
-		(params.userId && this.userId === params.userId) ||
-		(params.username && this.user.username === params.username) ||
-		(params.user && this.user.username === params.user);
+	return (!params.userId && !params.username && !params.user)
+		|| (params.userId && this.userId === params.userId)
+		|| (params.username && this.user.username === params.username)
+		|| (params.user && this.user.username === params.user);
 });
diff --git a/app/api/server/helpers/parseJsonQuery.js b/app/api/server/helpers/parseJsonQuery.js
index f752fe918d2..d7eafe0f6da 100644
--- a/app/api/server/helpers/parseJsonQuery.js
+++ b/app/api/server/helpers/parseJsonQuery.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
-import { hasPermission } from '../../../authorization';
 import { EJSON } from 'meteor/ejson';
+
+import { hasPermission } from '../../../authorization';
 import { API } from '../api';
 
 API.helperMethods.set('parseJsonQuery', function _parseJsonQuery() {
diff --git a/app/api/server/index.js b/app/api/server/index.js
index 483de425347..da65a35e850 100644
--- a/app/api/server/index.js
+++ b/app/api/server/index.js
@@ -1,5 +1,4 @@
 import './settings';
-export { API } from './api';
 import './helpers/composeRoomWithLastMessage';
 import './helpers/deprecationWarning';
 import './helpers/getLoggedInUser';
@@ -31,3 +30,5 @@ import './v1/stats';
 import './v1/subscriptions';
 import './v1/users';
 import './v1/video-conference';
+
+export { API } from './api';
diff --git a/app/api/server/v1/assets.js b/app/api/server/v1/assets.js
index a80d5044c1c..eacf92ae31c 100644
--- a/app/api/server/v1/assets.js
+++ b/app/api/server/v1/assets.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
-import { RocketChatAssets } from '../../../assets';
 import Busboy from 'busboy';
+
+import { RocketChatAssets } from '../../../assets';
 import { API } from '../api';
 
 API.v1.addRoute('assets.setAsset', { authRequired: true }, {
@@ -10,7 +11,7 @@ API.v1.addRoute('assets.setAsset', { authRequired: true }, {
 		let asset = {};
 
 		Meteor.wrapAsync((callback) => {
-			busboy.on('field', (fieldname, value) => fields[fieldname] = value);
+			busboy.on('field', (fieldname, value) => { fields[fieldname] = value; });
 			busboy.on('file', Meteor.bindEnvironment((fieldname, file, filename, encoding, mimetype) => {
 				const isValidAsset = Object.keys(RocketChatAssets.assets).includes(fieldname);
 				if (!isValidAsset) {
diff --git a/app/api/server/v1/channels.js b/app/api/server/v1/channels.js
index 6b1308dd8e5..813141f338e 100644
--- a/app/api/server/v1/channels.js
+++ b/app/api/server/v1/channels.js
@@ -1,9 +1,10 @@
 import { Meteor } from 'meteor/meteor';
+import _ from 'underscore';
+
 import { Rooms, Subscriptions, Messages, Uploads, Integrations, Users } from '../../../models';
 import { hasPermission } from '../../../authorization';
 import { normalizeMessagesForUser } from '../../../utils/server/lib/normalizeMessagesForUser';
 import { API } from '../api';
-import _ from 'underscore';
 
 // Returns the channel IF found otherwise it will return the failure of why it didn't. Check the `statusCode` property
 function findChannelByIdOrName({ params, checkedArchived = true, userId }) {
@@ -265,7 +266,7 @@ API.v1.addRoute('channels.files', { authRequired: true }, {
 		const ourQuery = Object.assign({}, query, { rid: findResult._id });
 
 		const files = Uploads.find(ourQuery, {
-			sort: sort ? sort : { name: 1 },
+			sort: sort || { name: 1 },
 			skip: offset,
 			limit: count,
 			fields,
@@ -310,7 +311,7 @@ API.v1.addRoute('channels.getIntegrations', { authRequired: true }, {
 		ourQuery = Object.assign({}, query, ourQuery);
 
 		const integrations = Integrations.find(ourQuery, {
-			sort: sort ? sort : { _createdAt: 1 },
+			sort: sort || { _createdAt: 1 },
 			skip: offset,
 			limit: count,
 			fields,
@@ -465,7 +466,7 @@ API.v1.addRoute('channels.list', { authRequired: true }, {
 			}
 
 			const cursor = Rooms.find(ourQuery, {
-				sort: sort ? sort : { name: 1 },
+				sort: sort || { name: 1 },
 				skip: offset,
 				limit: count,
 				fields,
@@ -492,7 +493,7 @@ API.v1.addRoute('channels.list.joined', { authRequired: true }, {
 
 		// TODO: CACHE: Add Breacking notice since we removed the query param
 		const cursor = Rooms.findBySubscriptionTypeAndUserId('c', this.userId, {
-			sort: sort ? sort : { name: 1 },
+			sort: sort || { name: 1 },
 			skip: offset,
 			limit: count,
 			fields,
@@ -569,7 +570,7 @@ API.v1.addRoute('channels.messages', { authRequired: true }, {
 		}
 
 		const cursor = Messages.find(ourQuery, {
-			sort: sort ? sort : { ts: -1 },
+			sort: sort || { ts: -1 },
 			skip: offset,
 			limit: count,
 			fields,
@@ -934,7 +935,7 @@ API.v1.addRoute('channels.getAllUserMentionsByChannel', { authRequired: true },
 		const mentions = Meteor.runAsUser(this.userId, () => Meteor.call('getUserMentionsByChannel', {
 			roomId,
 			options: {
-				sort: sort ? sort : { ts: 1 },
+				sort: sort || { ts: 1 },
 				skip: offset,
 				limit: count,
 			},
@@ -1005,4 +1006,3 @@ API.v1.addRoute('channels.removeLeader', { authRequired: true }, {
 		return API.v1.success();
 	},
 });
-
diff --git a/app/api/server/v1/chat.js b/app/api/server/v1/chat.js
index d7258c8e74d..733b9614da5 100644
--- a/app/api/server/v1/chat.js
+++ b/app/api/server/v1/chat.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+
 import { Messages } from '../../../models';
 import { canAccessRoom, hasPermission } from '../../../authorization';
 import { normalizeMessagesForUser } from '../../../utils/server/lib/normalizeMessagesForUser';
@@ -111,7 +112,7 @@ API.v1.addRoute('chat.pinMessage', { authRequired: true }, {
 		}
 
 		let pinnedMessage;
-		Meteor.runAsUser(this.userId, () => pinnedMessage = Meteor.call('pinMessage', msg));
+		Meteor.runAsUser(this.userId, () => { pinnedMessage = Meteor.call('pinMessage', msg); });
 
 		const [message] = normalizeMessagesForUser([pinnedMessage], this.userId);
 
@@ -153,7 +154,7 @@ API.v1.addRoute('chat.search', { authRequired: true }, {
 		}
 
 		let result;
-		Meteor.runAsUser(this.userId, () => result = Meteor.call('messageSearch', searchText, roomId, count).message.docs);
+		Meteor.runAsUser(this.userId, () => { result = Meteor.call('messageSearch', searchText, roomId, count).message.docs; });
 
 		return API.v1.success({
 			messages: normalizeMessagesForUser(result, this.userId),
@@ -409,7 +410,7 @@ API.v1.addRoute('chat.getThreadsList', { authRequired: true }, {
 		}
 		const threadQuery = Object.assign({}, query, { rid, tcount: { $exists: true } });
 		const cursor = Messages.find(threadQuery, {
-			sort: sort ? sort : { ts: 1 },
+			sort: sort || { ts: 1 },
 			skip: offset,
 			limit: count,
 			fields,
@@ -486,7 +487,7 @@ API.v1.addRoute('chat.getThreadMessages', { authRequired: true }, {
 			throw new Meteor.Error('error-not-allowed', 'Not Allowed');
 		}
 		const cursor = Messages.find({ ...query, tmid }, {
-			sort: sort ? sort : { ts: 1 },
+			sort: sort || { ts: 1 },
 			skip: offset,
 			limit: count,
 			fields,
diff --git a/app/api/server/v1/commands.js b/app/api/server/v1/commands.js
index 61c1be7ea67..80e75fa2b6f 100644
--- a/app/api/server/v1/commands.js
+++ b/app/api/server/v1/commands.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Random } from 'meteor/random';
+
 import { slashCommands } from '../../../utils';
 import { Rooms } from '../../../models';
 import { API } from '../api';
@@ -35,7 +36,7 @@ API.v1.addRoute('commands.list', { authRequired: true }, {
 
 		const totalCount = commands.length;
 		commands = Rooms.processQueryOptionsOnResult(commands, {
-			sort: sort ? sort : { name: 1 },
+			sort: sort || { name: 1 },
 			skip: offset,
 			limit: count,
 			fields,
diff --git a/app/api/server/v1/e2e.js b/app/api/server/v1/e2e.js
index c4974add477..f7a6f49108a 100644
--- a/app/api/server/v1/e2e.js
+++ b/app/api/server/v1/e2e.js
@@ -1,10 +1,11 @@
 import { Meteor } from 'meteor/meteor';
+
 import { API } from '../api';
 
 API.v1.addRoute('e2e.fetchMyKeys', { authRequired: true }, {
 	get() {
 		let result;
-		Meteor.runAsUser(this.userId, () => result = Meteor.call('e2e.fetchMyKeys'));
+		Meteor.runAsUser(this.userId, () => { result = Meteor.call('e2e.fetchMyKeys'); });
 
 		return API.v1.success(result);
 	},
@@ -15,7 +16,7 @@ API.v1.addRoute('e2e.getUsersOfRoomWithoutKey', { authRequired: true }, {
 		const { rid } = this.queryParams;
 
 		let result;
-		Meteor.runAsUser(this.userId, () => result = Meteor.call('e2e.getUsersOfRoomWithoutKey', rid));
+		Meteor.runAsUser(this.userId, () => { result = Meteor.call('e2e.getUsersOfRoomWithoutKey', rid); });
 
 		return API.v1.success(result);
 	},
diff --git a/app/api/server/v1/emoji-custom.js b/app/api/server/v1/emoji-custom.js
index 79e54e62e47..f638f025b69 100644
--- a/app/api/server/v1/emoji-custom.js
+++ b/app/api/server/v1/emoji-custom.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
+import Busboy from 'busboy';
+
 import { EmojiCustom } from '../../../models';
 import { API } from '../api';
-import Busboy from 'busboy';
 
 // DEPRECATED
 // Will be removed after v1.12.0
@@ -140,7 +141,6 @@ API.v1.addRoute('emoji-custom.update', { authRequired: true }, {
 				}));
 				this.request.pipe(busboy);
 			})();
-
 		});
 	},
 });
diff --git a/app/api/server/v1/groups.js b/app/api/server/v1/groups.js
index dba67aa913a..e90577da047 100644
--- a/app/api/server/v1/groups.js
+++ b/app/api/server/v1/groups.js
@@ -1,11 +1,9 @@
 import _ from 'underscore';
-
 import { Meteor } from 'meteor/meteor';
 
 import { Subscriptions, Rooms, Messages, Uploads, Integrations, Users } from '../../../models/server';
 import { hasPermission, canAccessRoom } from '../../../authorization/server';
 import { normalizeMessagesForUser } from '../../../utils/server/lib/normalizeMessagesForUser';
-
 import { API } from '../api';
 
 // Returns the private group subscription IF found otherwise it will return the failure of why it didn't. Check the `statusCode` property
@@ -24,9 +22,9 @@ function findPrivateGroupByIdOrName({ params, userId, checkedArchived = true })
 			archived: 1,
 		},
 	};
-	const room = params.roomId ?
-		Rooms.findOneById(params.roomId, roomOptions) :
-		Rooms.findOneByName(params.roomName, roomOptions);
+	const room = params.roomId
+		? Rooms.findOneById(params.roomId, roomOptions)
+		: Rooms.findOneByName(params.roomName, roomOptions);
 
 	if (!room || room.t !== 'p') {
 		throw new Meteor.Error('error-room-not-found', 'The required "roomId" or "roomName" param provided does not match any group');
@@ -181,7 +179,7 @@ API.v1.addRoute('groups.counters', { authRequired: true }, {
 		const lm = room.lm ? room.lm : room._updatedAt;
 
 		if (typeof subscription !== 'undefined' && subscription.open) {
-			unreads = Messages.countVisibleByRoomIdBetweenTimestampsInclusive(subscription.rid, (subscription.ls || subscription.ts), lm);
+			unreads = Messages.countVisibleByRoomIdBetweenTimestampsInclusive(subscription.rid, subscription.ls || subscription.ts, lm);
 			unreadsFrom = subscription.ls || subscription.ts;
 			userMentions = subscription.userMentions;
 			joined = true;
@@ -265,7 +263,7 @@ API.v1.addRoute('groups.files', { authRequired: true }, {
 		const ourQuery = Object.assign({}, query, { rid: findResult.rid });
 
 		const files = Uploads.find(ourQuery, {
-			sort: sort ? sort : { name: 1 },
+			sort: sort || { name: 1 },
 			skip: offset,
 			limit: count,
 			fields,
@@ -303,7 +301,7 @@ API.v1.addRoute('groups.getIntegrations', { authRequired: true }, {
 
 		const ourQuery = Object.assign({}, query, { channel: { $in: channelsToSearch } });
 		const integrations = Integrations.find(ourQuery, {
-			sort: sort ? sort : { _createdAt: 1 },
+			sort: sort || { _createdAt: 1 },
 			skip: offset,
 			limit: count,
 			fields,
@@ -427,7 +425,7 @@ API.v1.addRoute('groups.list', { authRequired: true }, {
 
 		// TODO: CACHE: Add Breacking notice since we removed the query param
 		const cursor = Rooms.findBySubscriptionTypeAndUserId('p', this.userId, {
-			sort: sort ? sort : { name: 1 },
+			sort: sort || { name: 1 },
 			skip: offset,
 			limit: count,
 			fields,
@@ -460,7 +458,7 @@ API.v1.addRoute('groups.listAll', { authRequired: true }, {
 		const totalCount = rooms.length;
 
 		rooms = Rooms.processQueryOptionsOnResult(rooms, {
-			sort: sort ? sort : { name: 1 },
+			sort: sort || { name: 1 },
 			skip: offset,
 			limit: count,
 			fields,
@@ -500,7 +498,7 @@ API.v1.addRoute('groups.members', { authRequired: true }, {
 
 		const users = Users.find({ _id: { $in: members } }, {
 			fields: { _id: 1, username: 1, name: 1, status: 1, utcOffset: 1 },
-			sort: { username:  sort.username != null ? sort.username : 1 },
+			sort: { username: sort.username != null ? sort.username : 1 },
 		}).fetch();
 
 		return API.v1.success({
@@ -521,7 +519,7 @@ API.v1.addRoute('groups.messages', { authRequired: true }, {
 		const ourQuery = Object.assign({}, query, { rid: findResult.rid });
 
 		const messages = Messages.find(ourQuery, {
-			sort: sort ? sort : { ts: -1 },
+			sort: sort || { ts: -1 },
 			skip: offset,
 			limit: count,
 			fields,
@@ -815,4 +813,3 @@ API.v1.addRoute('groups.moderators', { authRequired: true }, {
 		});
 	},
 });
-
diff --git a/app/api/server/v1/im.js b/app/api/server/v1/im.js
index 5b57ddea674..6927963592b 100644
--- a/app/api/server/v1/im.js
+++ b/app/api/server/v1/im.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { getRoomByNameOrIdWithOptionToJoin } from '../../../lib';
 import { Subscriptions, Uploads, Users, Messages, Rooms } from '../../../models';
 import { hasPermission } from '../../../authorization';
@@ -124,7 +125,7 @@ API.v1.addRoute(['dm.files', 'im.files'], { authRequired: true }, {
 		const ourQuery = Object.assign({}, query, { rid: findResult.room._id });
 
 		const files = Uploads.find(ourQuery, {
-			sort: sort ? sort : { name: 1 },
+			sort: sort || { name: 1 },
 			skip: offset,
 			limit: count,
 			fields,
@@ -195,7 +196,7 @@ API.v1.addRoute(['dm.members', 'im.members'], { authRequired: true }, {
 		const { offset, count } = this.getPaginationItems();
 		const { sort } = this.parseJsonQuery();
 		const cursor = Subscriptions.findByRoomId(findResult.room._id, {
-			sort: { 'u.username':  sort && sort.username ? sort.username : 1 },
+			sort: { 'u.username': sort && sort.username ? sort.username : 1 },
 			skip: offset,
 			limit: count,
 		});
@@ -205,7 +206,7 @@ API.v1.addRoute(['dm.members', 'im.members'], { authRequired: true }, {
 
 		const users = Users.find({ username: { $in: members } }, {
 			fields: { _id: 1, username: 1, name: 1, status: 1, utcOffset: 1 },
-			sort: { username:  sort && sort.username ? sort.username : 1 },
+			sort: { username: sort && sort.username ? sort.username : 1 },
 		}).fetch();
 
 		return API.v1.success({
@@ -227,7 +228,7 @@ API.v1.addRoute(['dm.messages', 'im.messages'], { authRequired: true }, {
 		const ourQuery = Object.assign({}, query, { rid: findResult.room._id });
 
 		const messages = Messages.find(ourQuery, {
-			sort: sort ? sort : { ts: -1 },
+			sort: sort || { ts: -1 },
 			skip: offset,
 			limit: count,
 			fields,
@@ -267,7 +268,7 @@ API.v1.addRoute(['dm.messages.others', 'im.messages.others'], { authRequired: tr
 		const ourQuery = Object.assign({}, query, { rid: room._id });
 
 		const msgs = Messages.find(ourQuery, {
-			sort: sort ? sort : { ts: -1 },
+			sort: sort || { ts: -1 },
 			skip: offset,
 			limit: count,
 			fields,
@@ -320,7 +321,7 @@ API.v1.addRoute(['dm.list.everyone', 'im.list.everyone'], { authRequired: true }
 		const ourQuery = Object.assign({}, query, { t: 'd' });
 
 		const rooms = Rooms.find(ourQuery, {
-			sort: sort ? sort : { name: 1 },
+			sort: sort || { name: 1 },
 			skip: offset,
 			limit: count,
 			fields,
diff --git a/app/api/server/v1/import.js b/app/api/server/v1/import.js
index a68788a40a5..0ee09ae5789 100644
--- a/app/api/server/v1/import.js
+++ b/app/api/server/v1/import.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { API } from '../api';
 
 API.v1.addRoute('uploadImportFile', { authRequired: true }, {
@@ -43,7 +44,7 @@ API.v1.addRoute('getImportFileData', { authRequired: true }, {
 API.v1.addRoute('getLatestImportOperations', { authRequired: true }, {
 	get() {
 		let result;
-		Meteor.runAsUser(this.userId, () => result = Meteor.call('getLatestImportOperations'));
+		Meteor.runAsUser(this.userId, () => { result = Meteor.call('getLatestImportOperations'); });
 
 		return API.v1.success(result);
 	},
diff --git a/app/api/server/v1/integrations.js b/app/api/server/v1/integrations.js
index a7e9fff127f..b4e69cbf148 100644
--- a/app/api/server/v1/integrations.js
+++ b/app/api/server/v1/integrations.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+
 import { hasPermission } from '../../../authorization';
 import { IntegrationHistory, Integrations } from '../../../models';
 import { API } from '../api';
@@ -61,7 +62,7 @@ API.v1.addRoute('integrations.history', { authRequired: true }, {
 
 		const ourQuery = Object.assign({}, query, { 'integration._id': id });
 		const history = IntegrationHistory.find(ourQuery, {
-			sort: sort ? sort : { _updatedAt: -1 },
+			sort: sort || { _updatedAt: -1 },
 			skip: offset,
 			limit: count,
 			fields,
@@ -87,7 +88,7 @@ API.v1.addRoute('integrations.list', { authRequired: true }, {
 
 		const ourQuery = Object.assign({}, query);
 		const integrations = Integrations.find(ourQuery, {
-			sort: sort ? sort : { ts: -1 },
+			sort: sort || { ts: -1 },
 			skip: offset,
 			limit: count,
 			fields,
diff --git a/app/api/server/v1/misc.js b/app/api/server/v1/misc.js
index 8f792eeb6c8..ca1dcee6f9b 100644
--- a/app/api/server/v1/misc.js
+++ b/app/api/server/v1/misc.js
@@ -1,13 +1,14 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
 import { TAPi18n } from 'meteor/tap:i18n';
+import s from 'underscore.string';
+
 import { hasRole } from '../../../authorization';
 import { Info } from '../../../utils';
 import { Users } from '../../../models';
 import { settings } from '../../../settings';
 import { API } from '../api';
 
-import s from 'underscore.string';
 
 // DEPRECATED
 // Will be removed after v1.12.0
diff --git a/app/api/server/v1/permissions.js b/app/api/server/v1/permissions.js
index e0d0d55f3f5..c5d79053328 100644
--- a/app/api/server/v1/permissions.js
+++ b/app/api/server/v1/permissions.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+
 import { hasPermission } from '../../../authorization';
 import { Permissions, Roles } from '../../../models';
 import { API } from '../api';
@@ -52,7 +53,7 @@ API.v1.addRoute('permissions.listAll', { authRequired: true }, {
 		}
 
 		let result;
-		Meteor.runAsUser(this.userId, () => result = Meteor.call('permissions/get', updatedSinceDate));
+		Meteor.runAsUser(this.userId, () => { result = Meteor.call('permissions/get', updatedSinceDate); });
 
 		if (Array.isArray(result)) {
 			result = {
@@ -100,7 +101,7 @@ API.v1.addRoute('permissions.update', { authRequired: true }, {
 
 		if (permissionNotFound) {
 			return API.v1.failure('Invalid permission', 'error-invalid-permission');
-		} else if (roleNotFound) {
+		} if (roleNotFound) {
 			return API.v1.failure('Invalid role', 'error-invalid-role');
 		}
 
diff --git a/app/api/server/v1/push.js b/app/api/server/v1/push.js
index fa5b2a70f65..6c1c9959011 100644
--- a/app/api/server/v1/push.js
+++ b/app/api/server/v1/push.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { Random } from 'meteor/random';
 import { Push } from 'meteor/rocketchat:push';
+
 import { API } from '../api';
 
 API.v1.addRoute('push.token', { authRequired: true }, {
@@ -28,12 +29,14 @@ API.v1.addRoute('push.token', { authRequired: true }, {
 
 
 		let result;
-		Meteor.runAsUser(this.userId, () => result = Meteor.call('raix:push-update', {
-			id,
-			token: { [type]: value },
-			appName,
-			userId: this.userId,
-		}));
+		Meteor.runAsUser(this.userId, () => {
+			result = Meteor.call('raix:push-update', {
+				id,
+				token: { [type]: value },
+				appName,
+				userId: this.userId,
+			});
+		});
 
 		return API.v1.success({ result });
 	},
diff --git a/app/api/server/v1/roles.js b/app/api/server/v1/roles.js
index 78858819e5b..67a992427a6 100644
--- a/app/api/server/v1/roles.js
+++ b/app/api/server/v1/roles.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+
 import { Roles } from '../../../models';
 import { API } from '../api';
 
diff --git a/app/api/server/v1/rooms.js b/app/api/server/v1/rooms.js
index 0191f6bd9e1..7cab7a10977 100644
--- a/app/api/server/v1/rooms.js
+++ b/app/api/server/v1/rooms.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
+import Busboy from 'busboy';
+
 import { FileUpload } from '../../../file-upload';
 import { Rooms } from '../../../models';
-import Busboy from 'busboy';
 import { API } from '../api';
 
 function findRoomByIdOrName({ params, checkedArchived = true }) {
@@ -41,7 +42,7 @@ API.v1.addRoute('rooms.get', { authRequired: true }, {
 		}
 
 		let result;
-		Meteor.runAsUser(this.userId, () => result = Meteor.call('rooms/get', updatedSinceDate));
+		Meteor.runAsUser(this.userId, () => { result = Meteor.call('rooms/get', updatedSinceDate); });
 
 		if (Array.isArray(result)) {
 			result = {
@@ -83,7 +84,7 @@ API.v1.addRoute('rooms.upload/:rid', { authRequired: true }, {
 				});
 			});
 
-			busboy.on('field', (fieldname, value) => fields[fieldname] = value);
+			busboy.on('field', (fieldname, value) => { fields[fieldname] = value; });
 
 			busboy.on('finish', Meteor.bindEnvironment(() => callback()));
 
@@ -255,7 +256,7 @@ API.v1.addRoute('rooms.getDiscussions', { authRequired: true }, {
 		const ourQuery = Object.assign(query, { prid: room._id });
 
 		const discussions = Rooms.find(ourQuery, {
-			sort: sort ? sort : { fname: 1 },
+			sort: sort || { fname: 1 },
 			skip: offset,
 			limit: count,
 			fields,
diff --git a/app/api/server/v1/settings.js b/app/api/server/v1/settings.js
index 284bf7558fb..1fd8dba80c0 100644
--- a/app/api/server/v1/settings.js
+++ b/app/api/server/v1/settings.js
@@ -1,10 +1,11 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
 import { ServiceConfiguration } from 'meteor/service-configuration';
+import _ from 'underscore';
+
 import { Settings } from '../../../models';
 import { hasPermission } from '../../../authorization';
 import { API } from '../api';
-import _ from 'underscore';
 
 // settings endpoints
 API.v1.addRoute('settings.public', { authRequired: false }, {
@@ -20,7 +21,7 @@ API.v1.addRoute('settings.public', { authRequired: false }, {
 		ourQuery = Object.assign({}, query, ourQuery);
 
 		const settings = Settings.find(ourQuery, {
-			sort: sort ? sort : { _id: 1 },
+			sort: sort || { _id: 1 },
 			skip: offset,
 			limit: count,
 			fields: Object.assign({ _id: 1, value: 1 }, fields),
@@ -79,7 +80,7 @@ API.v1.addRoute('settings', { authRequired: true }, {
 		ourQuery = Object.assign({}, query, ourQuery);
 
 		const settings = Settings.find(ourQuery, {
-			sort: sort ? sort : { _id: 1 },
+			sort: sort || { _id: 1 },
 			skip: offset,
 			limit: count,
 			fields: Object.assign({ _id: 1, value: 1 }, fields),
diff --git a/app/api/server/v1/stats.js b/app/api/server/v1/stats.js
index d745cda1ee4..2f74a209294 100644
--- a/app/api/server/v1/stats.js
+++ b/app/api/server/v1/stats.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { Statistics } from '../../../models';
 import { API } from '../api';
@@ -31,7 +32,7 @@ API.v1.addRoute('statistics.list', { authRequired: true }, {
 		const { sort, fields, query } = this.parseJsonQuery();
 
 		const statistics = Statistics.find(query, {
-			sort: sort ? sort : { name: 1 },
+			sort: sort || { name: 1 },
 			skip: offset,
 			limit: count,
 			fields,
diff --git a/app/api/server/v1/subscriptions.js b/app/api/server/v1/subscriptions.js
index 9bdfd2e6da7..8ffa8711a33 100644
--- a/app/api/server/v1/subscriptions.js
+++ b/app/api/server/v1/subscriptions.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { Subscriptions } from '../../../models';
 import { API } from '../api';
 
@@ -17,7 +18,7 @@ API.v1.addRoute('subscriptions.get', { authRequired: true }, {
 		}
 
 		let result;
-		Meteor.runAsUser(this.userId, () => result = Meteor.call('subscriptions/get', updatedSinceDate));
+		Meteor.runAsUser(this.userId, () => { result = Meteor.call('subscriptions/get', updatedSinceDate); });
 
 		if (Array.isArray(result)) {
 			result = {
@@ -82,5 +83,3 @@ API.v1.addRoute('subscriptions.unread', { authRequired: true }, {
 		return API.v1.success();
 	},
 });
-
-
diff --git a/app/api/server/v1/users.js b/app/api/server/v1/users.js
index 3726c1ecec9..13f3e38bce3 100644
--- a/app/api/server/v1/users.js
+++ b/app/api/server/v1/users.js
@@ -1,6 +1,9 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
 import { TAPi18n } from 'meteor/tap:i18n';
+import _ from 'underscore';
+import Busboy from 'busboy';
+
 import { Users, Subscriptions } from '../../../models';
 import { hasPermission } from '../../../authorization';
 import { settings } from '../../../settings';
@@ -14,8 +17,6 @@ import {
 	saveCustomFields,
 } from '../../../lib';
 import { API } from '../api';
-import _ from 'underscore';
-import Busboy from 'busboy';
 
 API.v1.addRoute('users.create', { authRequired: true }, {
 	post() {
@@ -122,7 +123,6 @@ API.v1.addRoute('users.setActiveStatus', { authRequired: true }, {
 			Meteor.call('setUserActiveStatus', this.bodyParams.userId, this.bodyParams.activeStatus);
 		});
 		return API.v1.success({ user: Users.findOneById(this.bodyParams.userId, { fields: { active: 1 } }) });
-
 	},
 });
 
@@ -191,7 +191,7 @@ API.v1.addRoute('users.list', { authRequired: true }, {
 		const { sort, fields, query } = this.parseJsonQuery();
 
 		const users = Users.find(query, {
-			sort: sort ? sort : { username: 1 },
+			sort: sort || { username: 1 },
 			skip: offset,
 			limit: count,
 			fields,
@@ -409,9 +409,8 @@ API.v1.addRoute('users.getPreferences', { authRequired: true }, {
 			return API.v1.success({
 				preferences,
 			});
-		} else {
-			return API.v1.failure(TAPi18n.__('Accounts_Default_User_Preferences_not_available').toUpperCase());
 		}
+		return API.v1.failure(TAPi18n.__('Accounts_Default_User_Preferences_not_available').toUpperCase());
 	},
 });
 
diff --git a/app/api/server/v1/video-conference.js b/app/api/server/v1/video-conference.js
index af6d1a7813b..51d0b883049 100644
--- a/app/api/server/v1/video-conference.js
+++ b/app/api/server/v1/video-conference.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Rooms } from '../../../models';
 import { API } from '../api';
 
diff --git a/app/apps/client/admin/appInstall.js b/app/apps/client/admin/appInstall.js
index 474b5e84ec0..8ff298c54fe 100644
--- a/app/apps/client/admin/appInstall.js
+++ b/app/apps/client/admin/appInstall.js
@@ -11,6 +11,7 @@ import { ReactiveVar } from 'meteor/reactive-var';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
 import { Tracker } from 'meteor/tracker';
+
 import { APIClient } from '../../../utils';
 import { SideNav } from '../../../ui-utils/client';
 
diff --git a/app/apps/client/admin/appLogs.js b/app/apps/client/admin/appLogs.js
index 090bd4aa34a..bcd621370cd 100644
--- a/app/apps/client/admin/appLogs.js
+++ b/app/apps/client/admin/appLogs.js
@@ -3,9 +3,10 @@ import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
 import { Tracker } from 'meteor/tracker';
-import { APIClient } from '../../../utils';
 import moment from 'moment';
 import hljs from 'highlight.js';
+
+import { APIClient } from '../../../utils';
 import { SideNav } from '../../../ui-utils/client';
 
 const loadData = (instance) => {
@@ -13,7 +14,6 @@ const loadData = (instance) => {
 		APIClient.get(`apps/${ instance.id.get() }`),
 		APIClient.get(`apps/${ instance.id.get() }/logs`),
 	]).then((results) => {
-
 		instance.app.set(results[0].app);
 		instance.logs.set(results[1].logs);
 
@@ -72,7 +72,7 @@ Template.appLogs.helpers({
 
 		if (!data) {
 			return value;
-		} else if (typeof data === 'object') {
+		} if (typeof data === 'object') {
 			value = hljs.highlight('json', JSON.stringify(data, null, 2)).value;
 		} else {
 			value = hljs.highlight('json', data).value;
diff --git a/app/apps/client/admin/appManage.js b/app/apps/client/admin/appManage.js
index e385abc66de..286dd35e4ab 100644
--- a/app/apps/client/admin/appManage.js
+++ b/app/apps/client/admin/appManage.js
@@ -4,19 +4,18 @@ import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
 import { TAPi18n, TAPi18next } from 'meteor/tap:i18n';
 import { Tracker } from 'meteor/tracker';
+import _ from 'underscore';
+import s from 'underscore.string';
+import toastr from 'toastr';
+import semver from 'semver';
 
 import { isEmail, APIClient } from '../../../utils';
 import { settings } from '../../../settings';
 import { Markdown } from '../../../markdown/client';
 import { modal } from '../../../ui-utils';
-import _ from 'underscore';
-import s from 'underscore.string';
-import toastr from 'toastr';
-
 import { AppEvents } from '../communication';
 import { Utilities } from '../../lib/misc/Utilities';
 import { Apps } from '../orchestrator';
-import semver from 'semver';
 import { SideNav } from '../../../ui-utils/client';
 
 function getApps(instance) {
@@ -194,7 +193,7 @@ Template.apps.onDestroyed(function() {
 Template.appManage.helpers({
 	isEmail,
 	_(key, ...args) {
-		const options = (args.pop()).hash;
+		const options = args.pop().hash;
 		if (!_.isEmpty(args)) {
 			options.sprintf = args;
 		}
@@ -300,7 +299,7 @@ Template.appManage.helpers({
 	parseDescription(i18nDescription) {
 		const item = Markdown.parseMessageNotEscaped({ html: Template.instance().__(i18nDescription) });
 
-		item.tokens.forEach((t) => item.html = item.html.replace(t.token, t.text));
+		item.tokens.forEach((t) => { item.html = item.html.replace(t.token, t.text); });
 
 		return item.html;
 	},
@@ -434,25 +433,24 @@ Template.appManage.events({
 			});
 
 			if (toSave.length === 0) {
-				throw 'Nothing to save..';
+				throw new Error('Nothing to save..');
 			}
 			const result = await APIClient.post(`apps/${ t.id.get() }/settings`, undefined, { settings: toSave });
 			console.log('Updating results:', result);
 			result.updated.forEach((setting) => {
-				settings[setting.id].value = settings[setting.id].oldValue = setting.value;
+				settings[setting.id].value = setting.value;
+				settings[setting.id].oldValue = setting.value;
 			});
 			Object.keys(settings).forEach((k) => {
 				const setting = settings[k];
 				setting.hasChanged = false;
 			});
 			t.settings.set(settings);
-
 		} catch (e) {
 			console.log(e);
 		} finally {
 			t.loading.set(false);
 		}
-
 	},
 
 	'change input[type="checkbox"]': (e, t) => {
@@ -470,7 +468,7 @@ Template.appManage.events({
 		}
 	},
 
-	'change .rc-select__element' : (e, t) => {
+	'change .rc-select__element': (e, t) => {
 		const labelFor = $(e.currentTarget).attr('name');
 		const value = $(e.currentTarget).val();
 
diff --git a/app/apps/client/admin/appWhatIsIt.js b/app/apps/client/admin/appWhatIsIt.js
index a916eb25819..dd63716de0f 100644
--- a/app/apps/client/admin/appWhatIsIt.js
+++ b/app/apps/client/admin/appWhatIsIt.js
@@ -3,6 +3,7 @@ import { ReactiveVar } from 'meteor/reactive-var';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
 import { Tracker } from 'meteor/tracker';
+
 import { Apps } from '../orchestrator';
 import { SideNav } from '../../../ui-utils/client';
 
diff --git a/app/apps/client/admin/apps.js b/app/apps/client/admin/apps.js
index f310e08022f..683df77ef6a 100644
--- a/app/apps/client/admin/apps.js
+++ b/app/apps/client/admin/apps.js
@@ -3,6 +3,7 @@ import { ReactiveVar } from 'meteor/reactive-var';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
 import { Tracker } from 'meteor/tracker';
+
 import { settings } from '../../../settings';
 import { t, APIClient } from '../../../utils';
 import { AppEvents } from '../communication';
diff --git a/app/apps/client/admin/marketplace.js b/app/apps/client/admin/marketplace.js
index 4ce55170681..e06de068ab2 100644
--- a/app/apps/client/admin/marketplace.js
+++ b/app/apps/client/admin/marketplace.js
@@ -4,6 +4,7 @@ import { ReactiveVar } from 'meteor/reactive-var';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
 import { Tracker } from 'meteor/tracker';
+
 import { settings } from '../../../settings';
 import { t, APIClient } from '../../../utils';
 import { modal } from '../../../ui-utils';
@@ -287,7 +288,6 @@ Template.marketplace.events({
 				if (confirmed) {
 					FlowRouter.go('/admin/cloud');
 				}
-				return;
 			});
 			return;
 		}
diff --git a/app/apps/client/admin/modalTemplates/iframeModal.js b/app/apps/client/admin/modalTemplates/iframeModal.js
index be84a750ebe..bc1029a56f7 100644
--- a/app/apps/client/admin/modalTemplates/iframeModal.js
+++ b/app/apps/client/admin/modalTemplates/iframeModal.js
@@ -1,4 +1,5 @@
 import { Template } from 'meteor/templating';
+
 import { modal } from '../../../../ui-utils';
 
 Template.iframeModal.onCreated(function() {
diff --git a/app/apps/client/communication/websockets.js b/app/apps/client/communication/websockets.js
index 905c369650c..1da0efecccf 100644
--- a/app/apps/client/communication/websockets.js
+++ b/app/apps/client/communication/websockets.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { slashCommands, APIClient } from '../../../utils';
 import { CachedCollectionManager } from '../../../ui-cached-collection';
 
diff --git a/app/apps/client/index.js b/app/apps/client/index.js
index f98839294a8..4ee0430ecc5 100644
--- a/app/apps/client/index.js
+++ b/app/apps/client/index.js
@@ -1,5 +1,3 @@
-export { Apps } from './orchestrator';
-
 import './admin/modalTemplates/iframeModal.html';
 import './admin/modalTemplates/iframeModal';
 import './admin/marketplace.html';
@@ -14,3 +12,5 @@ import './admin/appManage.html';
 import './admin/appManage';
 import './admin/appWhatIsIt.html';
 import './admin/appWhatIsIt';
+
+export { Apps } from './orchestrator';
diff --git a/app/apps/client/orchestrator.js b/app/apps/client/orchestrator.js
index 96962bbd0e0..0ade72a4811 100644
--- a/app/apps/client/orchestrator.js
+++ b/app/apps/client/orchestrator.js
@@ -1,9 +1,10 @@
 import { Meteor } from 'meteor/meteor';
-import { AppWebsocketReceiver } from './communication';
-import { Utilities } from '../lib/misc/Utilities';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { BlazeLayout } from 'meteor/kadira:blaze-layout';
 import { TAPi18next } from 'meteor/tap:i18n';
+
+import { AppWebsocketReceiver } from './communication';
+import { Utilities } from '../lib/misc/Utilities';
 import { APIClient } from '../../utils';
 import { AdminBox } from '../../ui-utils';
 import { CachedCollectionManager } from '../../ui-cached-collection';
diff --git a/app/apps/server/bridges/commands.js b/app/apps/server/bridges/commands.js
index a4895106dfd..827c2606d2c 100644
--- a/app/apps/server/bridges/commands.js
+++ b/app/apps/server/bridges/commands.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
-import { slashCommands } from '../../../utils';
 import { SlashCommandContext } from '@rocket.chat/apps-engine/definition/slashcommands';
+
+import { slashCommands } from '../../../utils';
 import { Utilities } from '../../lib/misc/Utilities';
 
 export class AppCommandsBridge {
diff --git a/app/apps/server/bridges/environmental.js b/app/apps/server/bridges/environmental.js
index ae8879a36bb..28d8b3654eb 100644
--- a/app/apps/server/bridges/environmental.js
+++ b/app/apps/server/bridges/environmental.js
@@ -7,7 +7,7 @@ export class AppEnvironmentalVariableBridge {
 	async getValueByName(envVarName, appId) {
 		this.orch.debugLog(`The App ${ appId } is getting the environmental variable value ${ envVarName }.`);
 
-		if (!(await this.isReadable(envVarName, appId))) {
+		if (!await this.isReadable(envVarName, appId)) {
 			throw new Error(`The environmental variable "${ envVarName }" is not readable.`);
 		}
 
@@ -23,7 +23,7 @@ export class AppEnvironmentalVariableBridge {
 	async isSet(envVarName, appId) {
 		this.orch.debugLog(`The App ${ appId } is checking if the environmental variable is set ${ envVarName }.`);
 
-		if (!(await this.isReadable(envVarName, appId))) {
+		if (!await this.isReadable(envVarName, appId)) {
 			throw new Error(`The environmental variable "${ envVarName }" is not readable.`);
 		}
 
diff --git a/app/apps/server/bridges/listeners.js b/app/apps/server/bridges/listeners.js
index d8a08d0a944..26f0b716308 100644
--- a/app/apps/server/bridges/listeners.js
+++ b/app/apps/server/bridges/listeners.js
@@ -9,9 +9,9 @@ export class AppListenerBridge {
 
 		if (typeof result === 'boolean') {
 			return result;
-		} else {
-			return this.orch.getConverters().get('messages').convertAppMessage(result);
 		}
+		return this.orch.getConverters().get('messages').convertAppMessage(result);
+
 		// try {
 
 		// } catch (e) {
@@ -26,9 +26,9 @@ export class AppListenerBridge {
 
 		if (typeof result === 'boolean') {
 			return result;
-		} else {
-			return this.orch.getConverters().get('rooms').convertAppRoom(result);
 		}
+		return this.orch.getConverters().get('rooms').convertAppRoom(result);
+
 		// try {
 
 		// } catch (e) {
diff --git a/app/apps/server/bridges/messages.js b/app/apps/server/bridges/messages.js
index 5ba76526a84..062efcd64b8 100644
--- a/app/apps/server/bridges/messages.js
+++ b/app/apps/server/bridges/messages.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Random } from 'meteor/random';
+
 import { Messages, Users, Subscriptions } from '../../../models';
 import { Notifications } from '../../../notifications';
 import { updateMessage } from '../../../lib/server/functions/updateMessage';
diff --git a/app/apps/server/bridges/rooms.js b/app/apps/server/bridges/rooms.js
index 4d9f4e0d163..250f25aa22c 100644
--- a/app/apps/server/bridges/rooms.js
+++ b/app/apps/server/bridges/rooms.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
-import { Rooms, Subscriptions, Users } from '../../../models';
 import { RoomType } from '@rocket.chat/apps-engine/definition/rooms';
+
+import { Rooms, Subscriptions, Users } from '../../../models';
 import { addUserToRoom } from '../../../lib/server/functions/addUserToRoom';
 
 export class AppRoomBridge {
diff --git a/app/apps/server/communication/methods.js b/app/apps/server/communication/methods.js
index 986f13717fc..16170105caa 100644
--- a/app/apps/server/communication/methods.js
+++ b/app/apps/server/communication/methods.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../../settings';
 import { hasPermission } from '../../../authorization';
 
diff --git a/app/apps/server/communication/rest.js b/app/apps/server/communication/rest.js
index b6124ccf621..0bd7e1efff6 100644
--- a/app/apps/server/communication/rest.js
+++ b/app/apps/server/communication/rest.js
@@ -1,8 +1,8 @@
 import { Meteor } from 'meteor/meteor';
 import { HTTP } from 'meteor/http';
-import { API } from '../../../api/server';
 import Busboy from 'busboy';
 
+import { API } from '../../../api/server';
 import { getWorkspaceAccessToken, getUserCloudAccessToken } from '../../../cloud/server';
 import { settings } from '../../../settings';
 import { Info } from '../../../utils';
@@ -238,9 +238,8 @@ export class AppsRestApi {
 					info.status = prl.getStatus();
 
 					return API.v1.success({ app: info });
-				} else {
-					return API.v1.notFound(`No App found by the id of: ${ this.urlParams.id }`);
 				}
+				return API.v1.notFound(`No App found by the id of: ${ this.urlParams.id }`);
 			},
 			post() {
 				// TODO: Verify permissions
@@ -320,9 +319,8 @@ export class AppsRestApi {
 					info.status = prl.getStatus();
 
 					return API.v1.success({ app: info });
-				} else {
-					return API.v1.notFound(`No App found by the id of: ${ this.urlParams.id }`);
 				}
+				return API.v1.notFound(`No App found by the id of: ${ this.urlParams.id }`);
 			},
 		});
 
@@ -334,9 +332,8 @@ export class AppsRestApi {
 					const info = prl.getInfo();
 
 					return API.v1.success({ iconFileContent: info.iconFileContent });
-				} else {
-					return API.v1.notFound(`No App found by the id of: ${ this.urlParams.id }`);
 				}
+				return API.v1.notFound(`No App found by the id of: ${ this.urlParams.id }`);
 			},
 		});
 
@@ -348,9 +345,8 @@ export class AppsRestApi {
 					const languages = prl.getStorageItem().languageContent || {};
 
 					return API.v1.success({ languages });
-				} else {
-					return API.v1.notFound(`No App found by the id of: ${ this.urlParams.id }`);
 				}
+				return API.v1.notFound(`No App found by the id of: ${ this.urlParams.id }`);
 			},
 		});
 
@@ -364,7 +360,7 @@ export class AppsRestApi {
 
 					const ourQuery = Object.assign({}, query, { appId: prl.getID() });
 					const options = {
-						sort: sort ? sort : { _updatedAt: -1 },
+						sort: sort || { _updatedAt: -1 },
 						skip: offset,
 						limit: count,
 						fields,
@@ -373,9 +369,8 @@ export class AppsRestApi {
 					const logs = Promise.await(orchestrator.getLogStorage().find(ourQuery, options));
 
 					return API.v1.success({ logs });
-				} else {
-					return API.v1.notFound(`No App found by the id of: ${ this.urlParams.id }`);
 				}
+				return API.v1.notFound(`No App found by the id of: ${ this.urlParams.id }`);
 			},
 		});
 
@@ -393,9 +388,8 @@ export class AppsRestApi {
 					});
 
 					return API.v1.success({ settings });
-				} else {
-					return API.v1.notFound(`No App found by the id of: ${ this.urlParams.id }`);
 				}
+				return API.v1.notFound(`No App found by the id of: ${ this.urlParams.id }`);
 			},
 			post() {
 				if (!this.bodyParams || !this.bodyParams.settings) {
@@ -432,11 +426,10 @@ export class AppsRestApi {
 				} catch (e) {
 					if (e.message.includes('No setting found')) {
 						return API.v1.notFound(`No Setting found on the App by the id of: "${ this.urlParams.settingId }"`);
-					} else if (e.message.includes('No App found')) {
+					} if (e.message.includes('No App found')) {
 						return API.v1.notFound(`No App found by the id of: ${ this.urlParams.id }`);
-					} else {
-						return API.v1.failure(e.message);
 					}
+					return API.v1.failure(e.message);
 				}
 			},
 			post() {
@@ -451,11 +444,10 @@ export class AppsRestApi {
 				} catch (e) {
 					if (e.message.includes('No setting found')) {
 						return API.v1.notFound(`No Setting found on the App by the id of: "${ this.urlParams.settingId }"`);
-					} else if (e.message.includes('No App found')) {
+					} if (e.message.includes('No App found')) {
 						return API.v1.notFound(`No App found by the id of: ${ this.urlParams.id }`);
-					} else {
-						return API.v1.failure(e.message);
 					}
+					return API.v1.failure(e.message);
 				}
 			},
 		});
@@ -468,9 +460,8 @@ export class AppsRestApi {
 					return API.v1.success({
 						apis: manager.apiManager.listApis(this.urlParams.id),
 					});
-				} else {
-					return API.v1.notFound(`No App found by the id of: ${ this.urlParams.id }`);
 				}
+				return API.v1.notFound(`No App found by the id of: ${ this.urlParams.id }`);
 			},
 		});
 
@@ -480,9 +471,8 @@ export class AppsRestApi {
 
 				if (prl) {
 					return API.v1.success({ status: prl.getStatus() });
-				} else {
-					return API.v1.notFound(`No App found by the id of: ${ this.urlParams.id }`);
 				}
+				return API.v1.notFound(`No App found by the id of: ${ this.urlParams.id }`);
 			},
 			post() {
 				if (!this.bodyParams.status || typeof this.bodyParams.status !== 'string') {
@@ -495,9 +485,8 @@ export class AppsRestApi {
 					const result = Promise.await(manager.changeStatus(prl.getID(), this.bodyParams.status));
 
 					return API.v1.success({ status: result.getStatus() });
-				} else {
-					return API.v1.notFound(`No App found by the id of: ${ this.urlParams.id }`);
 				}
+				return API.v1.notFound(`No App found by the id of: ${ this.urlParams.id }`);
 			},
 		});
 	}
diff --git a/app/apps/server/converters/messages.js b/app/apps/server/converters/messages.js
index b3851d0e3bd..2abaedd58b9 100644
--- a/app/apps/server/converters/messages.js
+++ b/app/apps/server/converters/messages.js
@@ -1,4 +1,5 @@
 import { Random } from 'meteor/random';
+
 import { Messages, Rooms, Users } from '../../../models';
 import { transformMappedData } from '../../lib/misc/transformMappedData';
 
diff --git a/app/apps/server/converters/rooms.js b/app/apps/server/converters/rooms.js
index e889d75d32c..59c16e40ba9 100644
--- a/app/apps/server/converters/rooms.js
+++ b/app/apps/server/converters/rooms.js
@@ -1,6 +1,7 @@
-import { Rooms, Users } from '../../../models';
 import { RoomType } from '@rocket.chat/apps-engine/definition/rooms';
 
+import { Rooms, Users } from '../../../models';
+
 export class AppRoomsConverter {
 	constructor(orch) {
 		this.orch = orch;
diff --git a/app/apps/server/converters/settings.js b/app/apps/server/converters/settings.js
index f8c77203ff8..82ffcd2b2f0 100644
--- a/app/apps/server/converters/settings.js
+++ b/app/apps/server/converters/settings.js
@@ -1,6 +1,7 @@
-import { Settings } from '../../../models';
 import { SettingType } from '@rocket.chat/apps-engine/definition/settings';
 
+import { Settings } from '../../../models';
+
 export class AppSettingsConverter {
 	constructor(orch) {
 		this.orch = orch;
diff --git a/app/apps/server/converters/users.js b/app/apps/server/converters/users.js
index 803d40f9973..bccbfa0fce5 100644
--- a/app/apps/server/converters/users.js
+++ b/app/apps/server/converters/users.js
@@ -1,6 +1,7 @@
-import { Users } from '../../../models';
 import { UserStatusConnection, UserType } from '@rocket.chat/apps-engine/definition/users';
 
+import { Users } from '../../../models';
+
 export class AppUsersConverter {
 	constructor(orch) {
 		this.orch = orch;
diff --git a/app/apps/server/orchestrator.js b/app/apps/server/orchestrator.js
index b186e7ea4b9..60b0f874de6 100644
--- a/app/apps/server/orchestrator.js
+++ b/app/apps/server/orchestrator.js
@@ -1,11 +1,12 @@
 import { Meteor } from 'meteor/meteor';
-import { Permissions, AppsLogsModel, AppsModel, AppsPersistenceModel } from '../../models';
-import { settings } from '../../settings';
+import { AppManager } from '@rocket.chat/apps-engine/server/AppManager';
+
 import { RealAppBridges } from './bridges';
 import { AppMethods, AppsRestApi, AppServerNotifier } from './communication';
 import { AppMessagesConverter, AppRoomsConverter, AppSettingsConverter, AppUsersConverter } from './converters';
 import { AppRealStorage, AppRealLogsStorage } from './storage';
-import { AppManager } from '@rocket.chat/apps-engine/server/AppManager';
+import { settings } from '../../settings';
+import { Permissions, AppsLogsModel, AppsModel, AppsPersistenceModel } from '../../models';
 
 export let Apps;
 
diff --git a/app/apps/server/tests/messages.tests.js b/app/apps/server/tests/messages.tests.js
index 6373f8a7f5c..9dee0c68bcd 100644
--- a/app/apps/server/tests/messages.tests.js
+++ b/app/apps/server/tests/messages.tests.js
@@ -10,6 +10,7 @@ import { RoomsMock } from './mocks/models/Rooms.mock';
 import { UsersMock } from './mocks/models/Users.mock';
 
 chai.use(require('chai-datetime'));
+
 const { expect } = chai;
 
 mock('../../../models', './mocks/models');
@@ -52,7 +53,6 @@ describe('The AppMessagesConverter instance', function() {
 	const updatedAt = new Date('2019-03-30T01:22:08.412Z');
 
 	describe('when converting a message from Rocket.Chat to the Engine schema', function() {
-
 		it('should return `undefined` when `msgObj` is falsy', function() {
 			const appMessage = messagesConverter.convertMessage(undefined);
 
@@ -84,17 +84,17 @@ describe('The AppMessagesConverter instance', function() {
 			messagesConverter.convertMessage(rocketchatMessageMock);
 
 			expect(rocketchatMessageMock).to.deep.equal({
-				_id : 'SimpleMessageMock',
-				t : 'uj',
-				rid : 'GENERAL',
-				ts : new Date('2019-03-30T01:22:08.389Z'),
-				msg : 'rocket.cat',
-				u : {
-					_id : 'rocket.cat',
-					username : 'rocket.cat',
+				_id: 'SimpleMessageMock',
+				t: 'uj',
+				rid: 'GENERAL',
+				ts: new Date('2019-03-30T01:22:08.389Z'),
+				msg: 'rocket.cat',
+				u: {
+					_id: 'rocket.cat',
+					username: 'rocket.cat',
 				},
-				groupable : false,
-				_updatedAt : new Date('2019-03-30T01:22:08.412Z'),
+				groupable: false,
+				_updatedAt: new Date('2019-03-30T01:22:08.412Z'),
 			});
 		});
 
@@ -110,15 +110,14 @@ describe('The AppMessagesConverter instance', function() {
 			const appMessage = messagesConverter.convertMessage(messagesMock.findOneById('LivechatGuestMessageMock'));
 
 			expect(appMessage).to.have.property('sender').which.includes({
-				id : 'guest1234',
+				id: 'guest1234',
 				username: 'guest1234',
-				name : 'Livechat Guest',
+				name: 'Livechat Guest',
 			});
 		});
 	});
 
 	describe('when converting a message from the Engine schema back to Rocket.Chat', function() {
-
 		it('should return `undefined` when `message` is falsy', function() {
 			const rocketchatMessage = messagesConverter.convertAppMessage(undefined);
 
diff --git a/app/apps/server/tests/mocks/data/messages.data.js b/app/apps/server/tests/mocks/data/messages.data.js
index 736c03f1e8c..975b294d41d 100644
--- a/app/apps/server/tests/mocks/data/messages.data.js
+++ b/app/apps/server/tests/mocks/data/messages.data.js
@@ -113,4 +113,3 @@ export const appMessageInvalidRoomMock = {
 		t: 'uj',
 	},
 };
-
diff --git a/app/apps/server/tests/mocks/models/Messages.mock.js b/app/apps/server/tests/mocks/models/Messages.mock.js
index bcb84a92da7..d21fb5a69ad 100644
--- a/app/apps/server/tests/mocks/models/Messages.mock.js
+++ b/app/apps/server/tests/mocks/models/Messages.mock.js
@@ -3,34 +3,34 @@ import { BaseModelMock } from './BaseModel.mock';
 export class MessagesMock extends BaseModelMock {
 	data = {
 		SimpleMessageMock: {
-			_id : 'SimpleMessageMock',
-			t : 'uj',
-			rid : 'GENERAL',
-			ts : new Date('2019-03-30T01:22:08.389Z'),
-			msg : 'rocket.cat',
-			u : {
-				_id : 'rocket.cat',
-				username : 'rocket.cat',
+			_id: 'SimpleMessageMock',
+			t: 'uj',
+			rid: 'GENERAL',
+			ts: new Date('2019-03-30T01:22:08.389Z'),
+			msg: 'rocket.cat',
+			u: {
+				_id: 'rocket.cat',
+				username: 'rocket.cat',
 			},
-			groupable : false,
-			_updatedAt : new Date('2019-03-30T01:22:08.412Z'),
+			groupable: false,
+			_updatedAt: new Date('2019-03-30T01:22:08.412Z'),
 		},
 
 		LivechatGuestMessageMock: {
-			_id : 'LivechatGuestMessageMock',
-			rid : 'LivechatRoom',
-			msg : 'Help wanted',
-			token : 'guest-token',
-			alias : 'Livechat Guest',
-			ts : new Date('2019-04-06T03:57:28.263Z'),
-			u : {
-				_id : 'guest1234',
+			_id: 'LivechatGuestMessageMock',
+			rid: 'LivechatRoom',
+			msg: 'Help wanted',
+			token: 'guest-token',
+			alias: 'Livechat Guest',
+			ts: new Date('2019-04-06T03:57:28.263Z'),
+			u: {
+				_id: 'guest1234',
 				username: 'guest1234',
-				name : 'Livechat Guest',
+				name: 'Livechat Guest',
 			},
-			_updatedAt : new Date('2019-04-06T03:57:28.278Z'),
-			mentions : [],
-			channels : [],
+			_updatedAt: new Date('2019-04-06T03:57:28.278Z'),
+			mentions: [],
+			channels: [],
 		},
 	}
 }
diff --git a/app/apps/server/tests/mocks/models/Users.mock.js b/app/apps/server/tests/mocks/models/Users.mock.js
index 1622c5398cc..2604a0cb958 100644
--- a/app/apps/server/tests/mocks/models/Users.mock.js
+++ b/app/apps/server/tests/mocks/models/Users.mock.js
@@ -3,18 +3,18 @@ import { BaseModelMock } from './BaseModel.mock';
 export class UsersMock extends BaseModelMock {
 	data = {
 		'rocket.cat': {
-			_id : 'rocket.cat',
-			createdAt : new Date('2019-03-27T20:51:36.821Z'),
-			avatarOrigin : 'local',
-			name : 'Rocket.Cat',
-			username : 'rocket.cat',
-			status : 'online',
-			statusDefault : 'online',
-			utcOffset : 0,
-			active : true,
-			type : 'bot',
-			_updatedAt : new Date('2019-03-30T01:11:50.496Z'),
-			roles : [
+			_id: 'rocket.cat',
+			createdAt: new Date('2019-03-27T20:51:36.821Z'),
+			avatarOrigin: 'local',
+			name: 'Rocket.Cat',
+			username: 'rocket.cat',
+			status: 'online',
+			statusDefault: 'online',
+			utcOffset: 0,
+			active: true,
+			type: 'bot',
+			_updatedAt: new Date('2019-03-30T01:11:50.496Z'),
+			roles: [
 				'bot',
 			],
 		},
diff --git a/app/apps/server/tests/mocks/orchestrator.mock.js b/app/apps/server/tests/mocks/orchestrator.mock.js
index a0ec3410f02..6429b7a182e 100644
--- a/app/apps/server/tests/mocks/orchestrator.mock.js
+++ b/app/apps/server/tests/mocks/orchestrator.mock.js
@@ -1,6 +1,5 @@
 export class AppServerOrchestratorMock {
 	constructor() {
-
 		this._marketplaceUrl = 'https://marketplace.rocket.chat';
 
 		this._model = {};
diff --git a/app/assets/server/assets.js b/app/assets/server/assets.js
index 4c876758736..280dc99c17c 100644
--- a/app/assets/server/assets.js
+++ b/app/assets/server/assets.js
@@ -1,17 +1,19 @@
+import crypto from 'crypto';
+
 import { Meteor } from 'meteor/meteor';
 import { WebApp, WebAppInternals } from 'meteor/webapp';
+import { WebAppHashing } from 'meteor/webapp-hashing';
+import _ from 'underscore';
+import sizeOf from 'image-size';
+import sharp from 'sharp';
+
 import { settings } from '../../settings';
 import { Settings } from '../../models';
 import { getURL } from '../../utils/lib/getURL';
 import { mime } from '../../utils/lib/mimeTypes';
 import { hasPermission } from '../../authorization';
 import { RocketChatFile } from '../../file';
-import { WebAppHashing } from 'meteor/webapp-hashing';
 
-import _ from 'underscore';
-import sizeOf from 'image-size';
-import crypto from 'crypto';
-import sharp from 'sharp';
 
 const RocketChatAssetsInstance = new RocketChatFile.GridFS({
 	name: 'assets',
@@ -184,7 +186,7 @@ const assets = {
 	},
 };
 
-export const RocketChatAssets = new (class {
+export const RocketChatAssets = new class {
 	get mime() {
 		return mime;
 	}
@@ -290,7 +292,7 @@ export const RocketChatAssets = new (class {
 		const hash = crypto.createHash('sha1').update(file.buffer).digest('hex');
 		const extension = settingValue.url.split('.').pop();
 
-		return assetValue.cache = {
+		assetValue.cache = {
 			path: `assets/${ assetKey }.${ extension }`,
 			cacheable: false,
 			sourceMapUrl: undefined,
@@ -304,6 +306,8 @@ export const RocketChatAssets = new (class {
 			contentType: file.contentType,
 			hash,
 		};
+
+		return assetValue.cache;
 	}
 
 	getURL(assetName, options = { cdn: false, full: true }) {
@@ -312,7 +316,7 @@ export const RocketChatAssets = new (class {
 
 		return getURL(url, options);
 	}
-});
+}();
 
 settings.addGroup('Assets');
 
diff --git a/app/authorization/client/hasPermission.js b/app/authorization/client/hasPermission.js
index 33cee33364f..7820772cd45 100644
--- a/app/authorization/client/hasPermission.js
+++ b/app/authorization/client/hasPermission.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
 import { Template } from 'meteor/templating';
-import * as Models from '../../models';
+
 import { ChatPermissions } from './lib/ChatPermissions';
+import * as Models from '../../models';
 
 function atLeastOne(permissions = [], scope) {
 	return permissions.some((permissionId) => {
@@ -54,4 +55,3 @@ Template.registerHelper('hasPermission', function(permission, scope) {
 export const hasAllPermission = (permissions, scope) => _hasPermission(permissions, scope, all);
 export const hasAtLeastOnePermission = (permissions, scope) => _hasPermission(permissions, scope, atLeastOne);
 export const hasPermission = hasAllPermission;
-
diff --git a/app/authorization/client/route.js b/app/authorization/client/route.js
index 48a54e14777..5d54d53c888 100644
--- a/app/authorization/client/route.js
+++ b/app/authorization/client/route.js
@@ -1,5 +1,6 @@
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { BlazeLayout } from 'meteor/kadira:blaze-layout';
+
 import { t } from '../../utils/client';
 
 FlowRouter.route('/admin/permissions', {
diff --git a/app/authorization/client/startup.js b/app/authorization/client/startup.js
index f7ca7b7a889..cfdacbe8813 100644
--- a/app/authorization/client/startup.js
+++ b/app/authorization/client/startup.js
@@ -1,10 +1,10 @@
 import { Meteor } from 'meteor/meteor';
-import { CachedCollectionManager } from '../../ui-cached-collection';
+
 import { hasAllPermission } from './hasPermission';
+import { CachedCollectionManager } from '../../ui-cached-collection';
 import { AdminBox } from '../../ui-utils/client/lib/AdminBox';
 
 Meteor.startup(() => {
-
 	CachedCollectionManager.onLogin(() => Meteor.subscribe('roles'));
 
 	AdminBox.addOption({
diff --git a/app/authorization/client/usersNameChanged.js b/app/authorization/client/usersNameChanged.js
index 2409ab5ccc3..c498ca472b3 100644
--- a/app/authorization/client/usersNameChanged.js
+++ b/app/authorization/client/usersNameChanged.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Notifications } from '../../notifications';
 import { RoomRoles } from '../../models';
 
diff --git a/app/authorization/client/views/permissions.js b/app/authorization/client/views/permissions.js
index 2d34fad1698..d7c4900228b 100644
--- a/app/authorization/client/views/permissions.js
+++ b/app/authorization/client/views/permissions.js
@@ -2,6 +2,7 @@ import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Tracker } from 'meteor/tracker';
 import { Template } from 'meteor/templating';
+
 import { Roles } from '../../../models';
 import { ChatPermissions } from '../lib/ChatPermissions';
 import { hasAllPermission } from '../hasPermission';
@@ -48,9 +49,8 @@ Template.permissions.events({
 
 		if (instance.permissionByRole[permission].indexOf(role) === -1) {
 			return Meteor.call('authorization:addPermissionToRole', permission, role);
-		} else {
-			return Meteor.call('authorization:removeRoleFromPermission', permission, role);
 		}
+		return Meteor.call('authorization:removeRoleFromPermission', permission, role);
 	},
 });
 
diff --git a/app/authorization/client/views/permissionsRole.js b/app/authorization/client/views/permissionsRole.js
index 1a7af89bd2c..e76cac546cf 100644
--- a/app/authorization/client/views/permissionsRole.js
+++ b/app/authorization/client/views/permissionsRole.js
@@ -2,13 +2,14 @@ import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
+import { Tracker } from 'meteor/tracker';
+import toastr from 'toastr';
+
 import { handleError } from '../../../utils/client/lib/handleError';
 import { t } from '../../../utils/lib/tapi18n';
-import { Tracker } from 'meteor/tracker';
 import { Roles } from '../../../models';
 import { hasAllPermission } from '../hasPermission';
 import { modal } from '../../../ui-utils/client/lib/modal';
-import toastr from 'toastr';
 import { SideNav } from '../../../ui-utils/client/lib/SideNav';
 
 Template.permissionsRole.helpers({
@@ -225,9 +226,9 @@ Template.permissionsRole.events({
 });
 
 Template.permissionsRole.onCreated(function() {
-	this.searchRoom = new ReactiveVar;
-	this.searchUsername = new ReactiveVar;
-	this.usersInRole = new ReactiveVar;
+	this.searchRoom = new ReactiveVar();
+	this.searchUsername = new ReactiveVar();
+	this.usersInRole = new ReactiveVar();
 	this.limit = new ReactiveVar(50);
 	this.ready = new ReactiveVar(true);
 	this.subscribe('roles', FlowRouter.getParam('name'));
diff --git a/app/authorization/server/functions/addUserRoles.js b/app/authorization/server/functions/addUserRoles.js
index 49962c40632..46302e81eb8 100644
--- a/app/authorization/server/functions/addUserRoles.js
+++ b/app/authorization/server/functions/addUserRoles.js
@@ -1,8 +1,9 @@
 import { Meteor } from 'meteor/meteor';
-import { Users, Roles } from '../../../models';
-import { getRoles } from './getRoles';
 import _ from 'underscore';
 
+import { getRoles } from './getRoles';
+import { Users, Roles } from '../../../models';
+
 export const addUserRoles = (userId, roleNames, scope) => {
 	if (!userId || !roleNames) {
 		return false;
diff --git a/app/authorization/server/functions/canAccessRoom.js b/app/authorization/server/functions/canAccessRoom.js
index 246fbada423..118149ada06 100644
--- a/app/authorization/server/functions/canAccessRoom.js
+++ b/app/authorization/server/functions/canAccessRoom.js
@@ -1,6 +1,6 @@
+import { hasPermission } from './hasPermission';
 import { settings } from '../../../settings';
 import Subscriptions from '../../../models/server/models/Subscriptions';
-import { hasPermission } from './hasPermission';
 
 export const roomAccessValidators = [
 	function(room, user = {}) {
diff --git a/app/authorization/server/functions/canSendMessage.js b/app/authorization/server/functions/canSendMessage.js
index 5bff36f09e4..96fa41ef325 100644
--- a/app/authorization/server/functions/canSendMessage.js
+++ b/app/authorization/server/functions/canSendMessage.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
-import { Rooms, Subscriptions } from '../../../models';
+
 import { canAccessRoom } from './canAccessRoom';
+import { Rooms, Subscriptions } from '../../../models';
 
 export const canSendMessage = (rid, { uid, username }, extraData) => {
 	const room = Rooms.findOneById(rid);
diff --git a/app/authorization/server/functions/getUsersInRole.js b/app/authorization/server/functions/getUsersInRole.js
index 255a1948597..27c369acf9f 100644
--- a/app/authorization/server/functions/getUsersInRole.js
+++ b/app/authorization/server/functions/getUsersInRole.js
@@ -1,4 +1,3 @@
 import { Roles } from '../../../models';
 
 export const getUsersInRole = (roleName, scope, options) => Roles.findUsersInRole(roleName, scope, options);
-
diff --git a/app/authorization/server/functions/removeUserFromRoles.js b/app/authorization/server/functions/removeUserFromRoles.js
index 8f2b207e6d1..b08c2778add 100644
--- a/app/authorization/server/functions/removeUserFromRoles.js
+++ b/app/authorization/server/functions/removeUserFromRoles.js
@@ -1,8 +1,9 @@
 import { Meteor } from 'meteor/meteor';
-import { Users, Roles } from '../../../models';
-import { getRoles } from './getRoles';
 import _ from 'underscore';
 
+import { getRoles } from './getRoles';
+import { Users, Roles } from '../../../models';
+
 export const removeUserFromRoles = (userId, roleNames, scope) => {
 	if (!userId || !roleNames) {
 		return false;
diff --git a/app/authorization/server/methods/addPermissionToRole.js b/app/authorization/server/methods/addPermissionToRole.js
index 7ec25d35d68..91af0a77400 100644
--- a/app/authorization/server/methods/addPermissionToRole.js
+++ b/app/authorization/server/methods/addPermissionToRole.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Permissions } from '../../../models';
 import { hasPermission } from '../functions/hasPermission';
 
diff --git a/app/authorization/server/methods/addUserToRole.js b/app/authorization/server/methods/addUserToRole.js
index 84e34fc6804..1c53476a93b 100644
--- a/app/authorization/server/methods/addUserToRole.js
+++ b/app/authorization/server/methods/addUserToRole.js
@@ -1,9 +1,10 @@
 import { Meteor } from 'meteor/meteor';
+import _ from 'underscore';
+
 import { Users, Roles } from '../../../models';
 import { settings } from '../../../settings';
 import { Notifications } from '../../../notifications';
 import { hasPermission } from '../functions/hasPermission';
-import _ from 'underscore';
 
 Meteor.methods({
 	'authorization:addUserToRole'(roleName, username, scope) {
diff --git a/app/authorization/server/methods/deleteRole.js b/app/authorization/server/methods/deleteRole.js
index aa34b9b76f1..a11c56516e1 100644
--- a/app/authorization/server/methods/deleteRole.js
+++ b/app/authorization/server/methods/deleteRole.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import * as Models from '../../../models';
 import { hasPermission } from '../functions/hasPermission';
 
diff --git a/app/authorization/server/methods/removeRoleFromPermission.js b/app/authorization/server/methods/removeRoleFromPermission.js
index 0f83861be2a..11c4b3db1f1 100644
--- a/app/authorization/server/methods/removeRoleFromPermission.js
+++ b/app/authorization/server/methods/removeRoleFromPermission.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Permissions } from '../../../models';
 import { hasPermission } from '../functions/hasPermission';
 
diff --git a/app/authorization/server/methods/removeUserFromRole.js b/app/authorization/server/methods/removeUserFromRole.js
index 241f97ff935..79aab87ba21 100644
--- a/app/authorization/server/methods/removeUserFromRole.js
+++ b/app/authorization/server/methods/removeUserFromRole.js
@@ -1,9 +1,10 @@
 import { Meteor } from 'meteor/meteor';
+import _ from 'underscore';
+
 import { Roles } from '../../../models';
 import { settings } from '../../../settings';
 import { Notifications } from '../../../notifications';
 import { hasPermission } from '../functions/hasPermission';
-import _ from 'underscore';
 
 Meteor.methods({
 	'authorization:removeUserFromRole'(roleName, username, scope) {
diff --git a/app/authorization/server/methods/saveRole.js b/app/authorization/server/methods/saveRole.js
index 4d7271932a3..bbe217af78d 100644
--- a/app/authorization/server/methods/saveRole.js
+++ b/app/authorization/server/methods/saveRole.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Roles } from '../../../models';
 import { settings } from '../../../settings';
 import { Notifications } from '../../../notifications';
diff --git a/app/authorization/server/publications/permissions.js b/app/authorization/server/publications/permissions.js
index e98d745d58a..77a5e2f35e9 100644
--- a/app/authorization/server/publications/permissions.js
+++ b/app/authorization/server/publications/permissions.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import Permissions from '../../../models/server/models/Permissions';
 import { Notifications } from '../../../notifications';
 
diff --git a/app/authorization/server/publications/roles.js b/app/authorization/server/publications/roles.js
index 868174a7c11..379bca0fbc9 100644
--- a/app/authorization/server/publications/roles.js
+++ b/app/authorization/server/publications/roles.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Roles } from '../../../models';
 
 Meteor.publish('roles', function() {
diff --git a/app/authorization/server/publications/usersInRole.js b/app/authorization/server/publications/usersInRole.js
index 9bb6f251432..5d52c862f76 100644
--- a/app/authorization/server/publications/usersInRole.js
+++ b/app/authorization/server/publications/usersInRole.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../functions/hasPermission';
 import { getUsersInRole } from '../functions/getUsersInRole';
 
diff --git a/app/authorization/server/startup.js b/app/authorization/server/startup.js
index 0ec0476ec9d..8d57052b66d 100644
--- a/app/authorization/server/startup.js
+++ b/app/authorization/server/startup.js
@@ -1,5 +1,6 @@
 /* eslint no-multi-spaces: 0 */
 import { Meteor } from 'meteor/meteor';
+
 import { Roles, Permissions } from '../../models';
 
 Meteor.startup(function() {
@@ -8,76 +9,76 @@ Meteor.startup(function() {
 	// then we can define edit-<type>-message instead of edit-message
 	// 2. admin, moderator, and user roles should not be deleted as they are referened in the code.
 	const permissions = [
-		{ _id: 'access-permissions',            roles : ['admin'] },
-		{ _id: 'add-oauth-service',             roles : ['admin'] },
-		{ _id: 'add-user-to-joined-room',       roles : ['admin', 'owner', 'moderator'] },
-		{ _id: 'add-user-to-any-c-room',        roles : ['admin'] },
-		{ _id: 'add-user-to-any-p-room',        roles : [] },
-		{ _id: 'api-bypass-rate-limit',         roles : ['admin', 'bot'] },
-		{ _id: 'archive-room',                  roles : ['admin', 'owner'] },
-		{ _id: 'assign-admin-role',             roles : ['admin'] },
-		{ _id: 'assign-roles',                  roles : ['admin'] },
-		{ _id: 'ban-user',                      roles : ['admin', 'owner', 'moderator'] },
-		{ _id: 'bulk-create-c',                 roles : ['admin'] },
-		{ _id: 'bulk-register-user',            roles : ['admin'] },
-		{ _id: 'create-c',                      roles : ['admin', 'user', 'bot'] },
-		{ _id: 'create-d',                      roles : ['admin', 'user', 'bot'] },
-		{ _id: 'create-p',                      roles : ['admin', 'user', 'bot'] },
-		{ _id: 'create-personal-access-tokens', roles : ['admin', 'user'] },
-		{ _id: 'create-user',                   roles : ['admin'] },
-		{ _id: 'clean-channel-history',         roles : ['admin'] },
-		{ _id: 'delete-c',                      roles : ['admin', 'owner'] },
-		{ _id: 'delete-d',                      roles : ['admin'] },
-		{ _id: 'delete-message',                roles : ['admin', 'owner', 'moderator'] },
-		{ _id: 'delete-p',                      roles : ['admin', 'owner'] },
-		{ _id: 'delete-user',                   roles : ['admin'] },
-		{ _id: 'edit-message',                  roles : ['admin', 'owner', 'moderator'] },
-		{ _id: 'edit-other-user-active-status', roles : ['admin'] },
-		{ _id: 'edit-other-user-info',          roles : ['admin'] },
-		{ _id: 'edit-other-user-password',      roles : ['admin'] },
-		{ _id: 'edit-other-user-avatar',        roles : ['admin'] },
-		{ _id: 'edit-privileged-setting',       roles : ['admin'] },
-		{ _id: 'edit-room',                     roles : ['admin', 'owner', 'moderator'] },
-		{ _id: 'edit-room-retention-policy',    roles : ['admin'] },
-		{ _id: 'force-delete-message',          roles : ['admin', 'owner'] },
-		{ _id: 'join-without-join-code',        roles : ['admin', 'bot'] },
-		{ _id: 'leave-c',                       roles : ['admin', 'user', 'bot', 'anonymous'] },
-		{ _id: 'leave-p',                       roles : ['admin', 'user', 'bot', 'anonymous'] },
-		{ _id: 'manage-assets',                 roles : ['admin'] },
-		{ _id: 'manage-emoji',                  roles : ['admin'] },
-		{ _id: 'manage-integrations',           roles : ['admin'] },
-		{ _id: 'manage-own-integrations',       roles : ['admin'] },
-		{ _id: 'manage-oauth-apps',             roles : ['admin'] },
-		{ _id: 'mention-all',                   roles : ['admin', 'owner', 'moderator', 'user'] },
-		{ _id: 'mention-here',                  roles : ['admin', 'owner', 'moderator', 'user'] },
-		{ _id: 'mute-user',                     roles : ['admin', 'owner', 'moderator'] },
-		{ _id: 'remove-user',                   roles : ['admin', 'owner', 'moderator'] },
-		{ _id: 'reset-other-user-e2e-key',      roles : ['admin'] },
-		{ _id: 'run-import',                    roles : ['admin'] },
-		{ _id: 'run-migration',                 roles : ['admin'] },
-		{ _id: 'set-moderator',                 roles : ['admin', 'owner'] },
-		{ _id: 'set-owner',                     roles : ['admin', 'owner'] },
-		{ _id: 'send-many-messages',            roles : ['admin', 'bot'] },
-		{ _id: 'set-leader',                    roles : ['admin', 'owner'] },
-		{ _id: 'unarchive-room',                roles : ['admin'] },
-		{ _id: 'view-c-room',                   roles : ['admin', 'user', 'bot', 'anonymous'] },
-		{ _id: 'user-generate-access-token',    roles : ['admin'] },
-		{ _id: 'view-d-room',                   roles : ['admin', 'user', 'bot'] },
-		{ _id: 'view-full-other-user-info',     roles : ['admin'] },
-		{ _id: 'view-history',                  roles : ['admin', 'user', 'anonymous'] },
-		{ _id: 'view-joined-room',              roles : ['guest', 'bot', 'anonymous'] },
-		{ _id: 'view-join-code',                roles : ['admin'] },
-		{ _id: 'view-logs',                     roles : ['admin'] },
-		{ _id: 'view-other-user-channels',      roles : ['admin'] },
-		{ _id: 'view-p-room',                   roles : ['admin', 'user', 'anonymous'] },
-		{ _id: 'view-privileged-setting',       roles : ['admin'] },
-		{ _id: 'view-room-administration',      roles : ['admin'] },
-		{ _id: 'view-statistics',               roles : ['admin'] },
-		{ _id: 'view-user-administration',      roles : ['admin'] },
-		{ _id: 'preview-c-room',                roles : ['admin', 'user', 'anonymous'] },
-		{ _id: 'view-outside-room',             roles : ['admin', 'owner', 'moderator', 'user'] },
-		{ _id: 'view-broadcast-member-list',    roles : ['admin', 'owner', 'moderator'] },
-		{ _id: 'call-management',               roles : ['admin', 'owner', 'moderator'] },
+		{ _id: 'access-permissions',            roles: ['admin'] },
+		{ _id: 'add-oauth-service',             roles: ['admin'] },
+		{ _id: 'add-user-to-joined-room',       roles: ['admin', 'owner', 'moderator'] },
+		{ _id: 'add-user-to-any-c-room',        roles: ['admin'] },
+		{ _id: 'add-user-to-any-p-room',        roles: [] },
+		{ _id: 'api-bypass-rate-limit',         roles: ['admin', 'bot'] },
+		{ _id: 'archive-room',                  roles: ['admin', 'owner'] },
+		{ _id: 'assign-admin-role',             roles: ['admin'] },
+		{ _id: 'assign-roles',                  roles: ['admin'] },
+		{ _id: 'ban-user',                      roles: ['admin', 'owner', 'moderator'] },
+		{ _id: 'bulk-create-c',                 roles: ['admin'] },
+		{ _id: 'bulk-register-user',            roles: ['admin'] },
+		{ _id: 'create-c',                      roles: ['admin', 'user', 'bot'] },
+		{ _id: 'create-d',                      roles: ['admin', 'user', 'bot'] },
+		{ _id: 'create-p',                      roles: ['admin', 'user', 'bot'] },
+		{ _id: 'create-personal-access-tokens', roles: ['admin', 'user'] },
+		{ _id: 'create-user',                   roles: ['admin'] },
+		{ _id: 'clean-channel-history',         roles: ['admin'] },
+		{ _id: 'delete-c',                      roles: ['admin', 'owner'] },
+		{ _id: 'delete-d',                      roles: ['admin'] },
+		{ _id: 'delete-message',                roles: ['admin', 'owner', 'moderator'] },
+		{ _id: 'delete-p',                      roles: ['admin', 'owner'] },
+		{ _id: 'delete-user',                   roles: ['admin'] },
+		{ _id: 'edit-message',                  roles: ['admin', 'owner', 'moderator'] },
+		{ _id: 'edit-other-user-active-status', roles: ['admin'] },
+		{ _id: 'edit-other-user-info',          roles: ['admin'] },
+		{ _id: 'edit-other-user-password',      roles: ['admin'] },
+		{ _id: 'edit-other-user-avatar',        roles: ['admin'] },
+		{ _id: 'edit-privileged-setting',       roles: ['admin'] },
+		{ _id: 'edit-room',                     roles: ['admin', 'owner', 'moderator'] },
+		{ _id: 'edit-room-retention-policy',    roles: ['admin'] },
+		{ _id: 'force-delete-message',          roles: ['admin', 'owner'] },
+		{ _id: 'join-without-join-code',        roles: ['admin', 'bot'] },
+		{ _id: 'leave-c',                       roles: ['admin', 'user', 'bot', 'anonymous'] },
+		{ _id: 'leave-p',                       roles: ['admin', 'user', 'bot', 'anonymous'] },
+		{ _id: 'manage-assets',                 roles: ['admin'] },
+		{ _id: 'manage-emoji',                  roles: ['admin'] },
+		{ _id: 'manage-integrations',           roles: ['admin'] },
+		{ _id: 'manage-own-integrations',       roles: ['admin'] },
+		{ _id: 'manage-oauth-apps',             roles: ['admin'] },
+		{ _id: 'mention-all',                   roles: ['admin', 'owner', 'moderator', 'user'] },
+		{ _id: 'mention-here',                  roles: ['admin', 'owner', 'moderator', 'user'] },
+		{ _id: 'mute-user',                     roles: ['admin', 'owner', 'moderator'] },
+		{ _id: 'remove-user',                   roles: ['admin', 'owner', 'moderator'] },
+		{ _id: 'reset-other-user-e2e-key',      roles: ['admin'] },
+		{ _id: 'run-import',                    roles: ['admin'] },
+		{ _id: 'run-migration',                 roles: ['admin'] },
+		{ _id: 'set-moderator',                 roles: ['admin', 'owner'] },
+		{ _id: 'set-owner',                     roles: ['admin', 'owner'] },
+		{ _id: 'send-many-messages',            roles: ['admin', 'bot'] },
+		{ _id: 'set-leader',                    roles: ['admin', 'owner'] },
+		{ _id: 'unarchive-room',                roles: ['admin'] },
+		{ _id: 'view-c-room',                   roles: ['admin', 'user', 'bot', 'anonymous'] },
+		{ _id: 'user-generate-access-token',    roles: ['admin'] },
+		{ _id: 'view-d-room',                   roles: ['admin', 'user', 'bot'] },
+		{ _id: 'view-full-other-user-info',     roles: ['admin'] },
+		{ _id: 'view-history',                  roles: ['admin', 'user', 'anonymous'] },
+		{ _id: 'view-joined-room',              roles: ['guest', 'bot', 'anonymous'] },
+		{ _id: 'view-join-code',                roles: ['admin'] },
+		{ _id: 'view-logs',                     roles: ['admin'] },
+		{ _id: 'view-other-user-channels',      roles: ['admin'] },
+		{ _id: 'view-p-room',                   roles: ['admin', 'user', 'anonymous'] },
+		{ _id: 'view-privileged-setting',       roles: ['admin'] },
+		{ _id: 'view-room-administration',      roles: ['admin'] },
+		{ _id: 'view-statistics',               roles: ['admin'] },
+		{ _id: 'view-user-administration',      roles: ['admin'] },
+		{ _id: 'preview-c-room',                roles: ['admin', 'user', 'anonymous'] },
+		{ _id: 'view-outside-room',             roles: ['admin', 'owner', 'moderator', 'user'] },
+		{ _id: 'view-broadcast-member-list',    roles: ['admin', 'owner', 'moderator'] },
+		{ _id: 'call-management',               roles: ['admin', 'owner', 'moderator'] },
 	];
 
 	for (const permission of permissions) {
diff --git a/app/autolinker/client/client.js b/app/autolinker/client/client.js
index 2b6d46cc58c..b7e7f905bbc 100644
--- a/app/autolinker/client/client.js
+++ b/app/autolinker/client/client.js
@@ -1,8 +1,9 @@
 import { Meteor } from 'meteor/meteor';
 import s from 'underscore.string';
+import Autolinker from 'autolinker';
+
 import { settings } from '../../settings';
 import { callbacks } from '../../callbacks';
-import Autolinker from 'autolinker';
 
 const createAutolinker = () => {
 	const regUrls = new RegExp(settings.get('AutoLinker_UrlsRegExp'));
diff --git a/app/autolinker/server/settings.js b/app/autolinker/server/settings.js
index d8b3a32eae2..81e65d05c0d 100644
--- a/app/autolinker/server/settings.js
+++ b/app/autolinker/server/settings.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../settings';
 
 Meteor.startup(function() {
diff --git a/app/autotranslate/client/index.js b/app/autotranslate/client/index.js
index 9852ca56728..c1deaf68e64 100644
--- a/app/autotranslate/client/index.js
+++ b/app/autotranslate/client/index.js
@@ -1,5 +1,6 @@
 import './lib/actionButton';
-export { AutoTranslate } from './lib/autotranslate';
 import './lib/tabBar';
 import './views/autoTranslateFlexTab.html';
 import './views/autoTranslateFlexTab';
+
+export { AutoTranslate } from './lib/autotranslate';
diff --git a/app/autotranslate/client/lib/actionButton.js b/app/autotranslate/client/lib/actionButton.js
index 16b10073987..66fd562ca65 100644
--- a/app/autotranslate/client/lib/actionButton.js
+++ b/app/autotranslate/client/lib/actionButton.js
@@ -1,11 +1,12 @@
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
+
+import { AutoTranslate } from './autotranslate';
 import { settings } from '../../../settings';
 import { hasAtLeastOnePermission } from '../../../authorization';
 import { MessageAction } from '../../../ui-utils';
 import { messageArgs } from '../../../ui-utils/client/lib/messageArgs';
 import { Messages } from '../../../models';
-import { AutoTranslate } from './autotranslate';
 
 Meteor.startup(function() {
 	Tracker.autorun(function() {
@@ -22,7 +23,7 @@ Meteor.startup(function() {
 				action() {
 					const { msg: message } = messageArgs(this);
 					const language = AutoTranslate.getLanguage(message.rid);
-					if ((!message.translations || !message.translations[language])) { // } && !_.find(message.attachments, attachment => { return attachment.translations && attachment.translations[language]; })) {
+					if (!message.translations || !message.translations[language]) { // } && !_.find(message.attachments, attachment => { return attachment.translations && attachment.translations[language]; })) {
 						AutoTranslate.messageIdsToWait[message._id] = true;
 						Messages.update({ _id: message._id }, { $set: { autoTranslateFetching: true } });
 						Meteor.call('autoTranslate.translateMessage', message, language);
@@ -47,7 +48,7 @@ Meteor.startup(function() {
 				action() {
 					const { msg: message } = messageArgs(this);
 					const language = AutoTranslate.getLanguage(message.rid);
-					if ((!message.translations || !message.translations[language])) { // } && !_.find(message.attachments, attachment => { return attachment.translations && attachment.translations[language]; })) {
+					if (!message.translations || !message.translations[language]) { // } && !_.find(message.attachments, attachment => { return attachment.translations && attachment.translations[language]; })) {
 						AutoTranslate.messageIdsToWait[message._id] = true;
 						Messages.update({ _id: message._id }, { $set: { autoTranslateFetching: true } });
 						Meteor.call('autoTranslate.translateMessage', message, language);
@@ -57,7 +58,6 @@ Meteor.startup(function() {
 				},
 				condition(message) {
 					return message && message.u && message.u._id !== Meteor.userId() && message.translations && message.translations.original;
-
 				},
 				order: 90,
 			});
diff --git a/app/autotranslate/client/lib/autotranslate.js b/app/autotranslate/client/lib/autotranslate.js
index 9b2c02c4a42..93753239b24 100644
--- a/app/autotranslate/client/lib/autotranslate.js
+++ b/app/autotranslate/client/lib/autotranslate.js
@@ -1,12 +1,13 @@
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
+import _ from 'underscore';
+import mem from 'mem';
+
 import { Subscriptions, Messages } from '../../../models';
 import { callbacks } from '../../../callbacks';
 import { settings } from '../../../settings';
 import { hasAtLeastOnePermission } from '../../../authorization';
 import { CachedCollectionManager } from '../../../ui-cached-collection';
-import _ from 'underscore';
-import mem from 'mem';
 
 export const AutoTranslate = {
 	findSubscriptionByRid: mem((rid) => Subscriptions.findOne({ rid })),
diff --git a/app/autotranslate/client/lib/tabBar.js b/app/autotranslate/client/lib/tabBar.js
index d3077ec0c63..f527022009a 100644
--- a/app/autotranslate/client/lib/tabBar.js
+++ b/app/autotranslate/client/lib/tabBar.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
+
 import { settings } from '../../../settings';
 import { hasAtLeastOnePermission } from '../../../authorization';
 import { TabBar } from '../../../ui-utils';
diff --git a/app/autotranslate/client/views/autoTranslateFlexTab.js b/app/autotranslate/client/views/autoTranslateFlexTab.js
index 6f2e0f787ef..3add779473b 100644
--- a/app/autotranslate/client/views/autoTranslateFlexTab.js
+++ b/app/autotranslate/client/views/autoTranslateFlexTab.js
@@ -2,11 +2,12 @@ import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Random } from 'meteor/random';
 import { Template } from 'meteor/templating';
-import { ChatSubscription, Subscriptions, Messages } from '../../../models';
-import { t, handleError } from '../../../utils';
 import _ from 'underscore';
 import toastr from 'toastr';
 
+import { ChatSubscription, Subscriptions, Messages } from '../../../models';
+import { t, handleError } from '../../../utils';
+
 Template.autoTranslateFlexTab.helpers({
 	autoTranslate() {
 		const sub = ChatSubscription.findOne({
@@ -43,7 +44,7 @@ Template.autoTranslateFlexTab.helpers({
 		let language = _.findWhere(supportedLanguages, { language: autoTranslateLanguage });
 		if (language) {
 			return language.language;
-		} else if (autoTranslateLanguage.indexOf('-') !== -1) {
+		} if (autoTranslateLanguage.indexOf('-') !== -1) {
 			language = _.findWhere(supportedLanguages, { language: autoTranslateLanguage.substr(0, 2) });
 			return language && language.language;
 		}
@@ -63,7 +64,7 @@ Template.autoTranslateFlexTab.helpers({
 			let language = _.findWhere(supportedLanguages, { language: targetLanguage });
 			if (language) {
 				return language.name;
-			} else if (targetLanguage.indexOf('-') !== -1) {
+			} if (targetLanguage.indexOf('-') !== -1) {
 				language = _.findWhere(supportedLanguages, { language: targetLanguage.substr(0, 2) });
 				return language && language.name;
 			}
diff --git a/app/autotranslate/server/autotranslate.js b/app/autotranslate/server/autotranslate.js
index d362c5656d2..13c77caf4c9 100644
--- a/app/autotranslate/server/autotranslate.js
+++ b/app/autotranslate/server/autotranslate.js
@@ -1,11 +1,12 @@
 import { Meteor } from 'meteor/meteor';
 import { HTTP } from 'meteor/http';
+import _ from 'underscore';
+import s from 'underscore.string';
+
 import { settings } from '../../settings';
 import { callbacks } from '../../callbacks';
 import { Subscriptions, Messages } from '../../models';
 import { Markdown } from '../../markdown/server';
-import _ from 'underscore';
-import s from 'underscore.string';
 
 class AutoTranslate {
 	constructor() {
@@ -146,7 +147,7 @@ class AutoTranslate {
 	deTokenize(message) {
 		if (message.tokens && message.tokens.length > 0) {
 			for (const { token, text, noHtml } of message.tokens) {
-				message.msg = message.msg.replace(token, () => (noHtml ? noHtml : text));
+				message.msg = message.msg.replace(token, () => noHtml || text);
 			}
 		}
 		return message.msg;
@@ -238,6 +239,10 @@ class AutoTranslate {
 				params.target = target;
 			}
 
+			if (this.supportedLanguages[target]) {
+				return this.supportedLanguages[target];
+			}
+
 			try {
 				result = HTTP.get('https://translation.googleapis.com/language/translate/v2/languages', { params });
 			} catch (e) {
@@ -248,14 +253,9 @@ class AutoTranslate {
 						result = HTTP.get('https://translation.googleapis.com/language/translate/v2/languages', { params });
 					}
 				}
-			} finally {
-				if (this.supportedLanguages[target]) {
-					return this.supportedLanguages[target];
-				} else {
-					this.supportedLanguages[target || 'en'] = result && result.data && result.data.data && result.data.data.languages;
-					return this.supportedLanguages[target || 'en'];
-				}
 			}
+			this.supportedLanguages[target || 'en'] = result && result.data && result.data.data && result.data.data.languages;
+			return this.supportedLanguages[target || 'en'];
 		}
 	}
 }
diff --git a/app/autotranslate/server/methods/getSupportedLanguages.js b/app/autotranslate/server/methods/getSupportedLanguages.js
index a5314246498..2f44877a7e1 100644
--- a/app/autotranslate/server/methods/getSupportedLanguages.js
+++ b/app/autotranslate/server/methods/getSupportedLanguages.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { DDPRateLimiter } from 'meteor/ddp-rate-limiter';
+
 import { hasPermission } from '../../../authorization';
 import AutoTranslate from '../autotranslate';
 
diff --git a/app/autotranslate/server/methods/saveSettings.js b/app/autotranslate/server/methods/saveSettings.js
index 16544597def..c7a9adcc208 100644
--- a/app/autotranslate/server/methods/saveSettings.js
+++ b/app/autotranslate/server/methods/saveSettings.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { hasPermission } from '../../../authorization';
 import { Subscriptions } from '../../../models';
 
diff --git a/app/autotranslate/server/methods/translateMessage.js b/app/autotranslate/server/methods/translateMessage.js
index c57abe6d631..26ea7cf301a 100644
--- a/app/autotranslate/server/methods/translateMessage.js
+++ b/app/autotranslate/server/methods/translateMessage.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Rooms } from '../../../models';
 import AutoTranslate from '../autotranslate';
 
diff --git a/app/autotranslate/server/permissions.js b/app/autotranslate/server/permissions.js
index aadd3fbb44a..64ce0028fa8 100644
--- a/app/autotranslate/server/permissions.js
+++ b/app/autotranslate/server/permissions.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Permissions } from '../../models';
 
 Meteor.startup(() => {
diff --git a/app/autotranslate/server/settings.js b/app/autotranslate/server/settings.js
index 1045144ccef..0bc6c22cdd5 100644
--- a/app/autotranslate/server/settings.js
+++ b/app/autotranslate/server/settings.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../settings';
 
 Meteor.startup(function() {
diff --git a/app/blockstack/server/loginHandler.js b/app/blockstack/server/loginHandler.js
index 83b5a71a60a..de00f0d1ccf 100644
--- a/app/blockstack/server/loginHandler.js
+++ b/app/blockstack/server/loginHandler.js
@@ -1,11 +1,12 @@
 import { Meteor } from 'meteor/meteor';
 import { Accounts } from 'meteor/accounts-base';
-import { settings } from '../../settings';
-import { Users } from '../../models';
-import { setUserAvatar } from '../../lib';
+
 import { updateOrCreateUser } from './userHandler';
 import { handleAccessToken } from './tokenHandler';
 import { logger } from './logger';
+import { settings } from '../../settings';
+import { Users } from '../../models';
+import { setUserAvatar } from '../../lib';
 
 // Blockstack login handler, triggered by a blockstack authResponse in route
 Accounts.registerLoginHandler('blockstack', (loginRequest) => {
diff --git a/app/blockstack/server/routes.js b/app/blockstack/server/routes.js
index 1f19ecb8c69..ee4c7cc087d 100644
--- a/app/blockstack/server/routes.js
+++ b/app/blockstack/server/routes.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { WebApp } from 'meteor/webapp';
+
 import { settings } from '../../settings';
 import { RocketChatAssets } from '../../assets';
 
diff --git a/app/blockstack/server/settings.js b/app/blockstack/server/settings.js
index be4f0095aaf..f5e79db6497 100644
--- a/app/blockstack/server/settings.js
+++ b/app/blockstack/server/settings.js
@@ -1,8 +1,9 @@
 import _ from 'underscore';
 import { Meteor } from 'meteor/meteor';
-import { settings } from '../../settings';
 import { ServiceConfiguration } from 'meteor/service-configuration';
+
 import { logger } from './logger';
+import { settings } from '../../settings';
 
 const defaults = {
 	enable: false,
diff --git a/app/blockstack/server/tokenHandler.js b/app/blockstack/server/tokenHandler.js
index bfe1afe7ccc..32cd176086f 100644
--- a/app/blockstack/server/tokenHandler.js
+++ b/app/blockstack/server/tokenHandler.js
@@ -2,6 +2,7 @@ import { decodeToken } from 'blockstack';
 import { Meteor } from 'meteor/meteor';
 import { Accounts } from 'meteor/accounts-base';
 import { Match, check } from 'meteor/check';
+
 import { logger } from './logger';
 
 // Handler extracts data from JSON and tokenised reponse.
diff --git a/app/blockstack/server/userHandler.js b/app/blockstack/server/userHandler.js
index 4b3bdd28c58..8078d5358c7 100644
--- a/app/blockstack/server/userHandler.js
+++ b/app/blockstack/server/userHandler.js
@@ -1,8 +1,9 @@
 import { Meteor } from 'meteor/meteor';
 import { Accounts } from 'meteor/accounts-base';
 import { ServiceConfiguration } from 'meteor/service-configuration';
-import { generateUsernameSuggestion } from '../../lib';
+
 import { logger } from './logger';
+import { generateUsernameSuggestion } from '../../lib';
 
 // Updates or creates a user after we authenticate with Blockstack
 // Clones Accounts.updateOrCreateUserFromExternalService with some modifications
diff --git a/app/bot-helpers/server/index.js b/app/bot-helpers/server/index.js
index ec853a1d35b..e88fef7641d 100644
--- a/app/bot-helpers/server/index.js
+++ b/app/bot-helpers/server/index.js
@@ -1,9 +1,10 @@
 import './settings';
 import { Meteor } from 'meteor/meteor';
+import _ from 'underscore';
+
 import { Users, Rooms } from '../../models';
 import { settings } from '../../settings';
 import { hasRole } from '../../authorization';
-import _ from 'underscore';
 
 /**
  * BotHelpers helps bots
@@ -35,11 +36,10 @@ class BotHelpers {
 	request(prop, ...params) {
 		if (typeof this[prop] === 'undefined') {
 			return null;
-		} else if (typeof this[prop] === 'function') {
+		} if (typeof this[prop] === 'function') {
 			return this[prop](...params);
-		} else {
-			return this[prop];
 		}
+		return this[prop];
 	}
 
 	addUserToRole(userName, roleName) {
@@ -86,65 +86,64 @@ class BotHelpers {
 		if (!Object.keys(this.userFields).length) {
 			this.requestError();
 			return false;
-		} else {
-			return this._allUsers.fetch();
 		}
+		return this._allUsers.fetch();
 	}
+
 	get onlineUsers() {
 		if (!Object.keys(this.userFields).length) {
 			this.requestError();
 			return false;
-		} else {
-			return this._onlineUsers.fetch();
 		}
+		return this._onlineUsers.fetch();
 	}
+
 	get allUsernames() {
 		if (!this.userFields.hasOwnProperty('username')) {
 			this.requestError();
 			return false;
-		} else {
-			return this._allUsers.fetch().map((user) => user.username);
 		}
+		return this._allUsers.fetch().map((user) => user.username);
 	}
+
 	get onlineUsernames() {
 		if (!this.userFields.hasOwnProperty('username')) {
 			this.requestError();
 			return false;
-		} else {
-			return this._onlineUsers.fetch().map((user) => user.username);
 		}
+		return this._onlineUsers.fetch().map((user) => user.username);
 	}
+
 	get allNames() {
 		if (!this.userFields.hasOwnProperty('name')) {
 			this.requestError();
 			return false;
-		} else {
-			return this._allUsers.fetch().map((user) => user.name);
 		}
+		return this._allUsers.fetch().map((user) => user.name);
 	}
+
 	get onlineNames() {
 		if (!this.userFields.hasOwnProperty('name')) {
 			this.requestError();
 			return false;
-		} else {
-			return this._onlineUsers.fetch().map((user) => user.name);
 		}
+		return this._onlineUsers.fetch().map((user) => user.name);
 	}
+
 	get allIDs() {
 		if (!this.userFields.hasOwnProperty('_id') || !this.userFields.hasOwnProperty('username')) {
 			this.requestError();
 			return false;
-		} else {
-			return this._allUsers.fetch().map((user) => ({ id: user._id, name: user.username }));
 		}
+		return this._allUsers.fetch().map((user) => ({ id: user._id, name: user.username }));
 	}
+
 	get onlineIDs() {
 		if (!this.userFields.hasOwnProperty('_id') || !this.userFields.hasOwnProperty('username')) {
 			this.requestError();
 			return false;
-		} else {
-			return this._onlineUsers.fetch().map((user) => ({ id: user._id, name: user.username }));
 		}
+		return this._onlineUsers.fetch().map((user) => ({ id: user._id, name: user.username }));
 	}
 }
 
@@ -161,8 +160,7 @@ Meteor.methods({
 		const userID = Meteor.userId();
 		if (userID && hasRole(userID, 'bot')) {
 			return botHelpers.request(...args);
-		} else {
-			throw new Meteor.Error('error-invalid-user', 'Invalid user', { method: 'botRequest' });
 		}
+		throw new Meteor.Error('error-invalid-user', 'Invalid user', { method: 'botRequest' });
 	},
 });
diff --git a/app/bot-helpers/server/settings.js b/app/bot-helpers/server/settings.js
index fc5206c17d0..dc4f5640c94 100644
--- a/app/bot-helpers/server/settings.js
+++ b/app/bot-helpers/server/settings.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../settings';
 
 Meteor.startup(function() {
diff --git a/app/callbacks/lib/callbacks.js b/app/callbacks/lib/callbacks.js
index 206bd201afd..58976407692 100644
--- a/app/callbacks/lib/callbacks.js
+++ b/app/callbacks/lib/callbacks.js
@@ -45,7 +45,7 @@ callbacks.add = function(hook, callback, priority, id = Random.id()) {
 	callbacks[hook] = getHooks(hook);
 
 	if (callbacks.showTime === true) {
-		const err = new Error;
+		const err = new Error();
 		callback.stack = err.stack;
 	}
 
@@ -104,7 +104,7 @@ callbacks.run = function(hook, item, constant) {
 				}
 			}
 		}
-		return (typeof callbackResult === 'undefined') ? result : callbackResult;
+		return typeof callbackResult === 'undefined' ? result : callbackResult;
 	}, item);
 
 	if (callbacks.showTotalTime === true) {
@@ -114,7 +114,6 @@ callbacks.run = function(hook, item, constant) {
 	}
 
 	return result;
-
 };
 
 
diff --git a/app/cas/client/cas_client.js b/app/cas/client/cas_client.js
index 2f451f1929c..7046f4d024e 100644
--- a/app/cas/client/cas_client.js
+++ b/app/cas/client/cas_client.js
@@ -1,21 +1,21 @@
 import { Meteor } from 'meteor/meteor';
 import { Accounts } from 'meteor/accounts-base';
 import { Random } from 'meteor/random';
+
 import { settings } from '../../settings';
 
 const openCenteredPopup = function(url, width, height) {
-
 	const screenX = typeof window.screenX !== 'undefined' ? window.screenX : window.screenLeft;
 	const screenY = typeof window.screenY !== 'undefined' ? window.screenY : window.screenTop;
 	const outerWidth = typeof window.outerWidth !== 'undefined' ? window.outerWidth : document.body.clientWidth;
-	const outerHeight = typeof window.outerHeight !== 'undefined' ? window.outerHeight : (document.body.clientHeight - 22);
+	const outerHeight = typeof window.outerHeight !== 'undefined' ? window.outerHeight : document.body.clientHeight - 22;
 	// XXX what is the 22?
 
 	// Use `outerWidth - width` and `outerHeight - height` for help in
 	// positioning the popup centered relative to the current window
 	const left = screenX + (outerWidth - width) / 2;
 	const top = screenY + (outerHeight - height) / 2;
-	const features = (`width=${ width },height=${ height },left=${ left },top=${ top },scrollbars=yes`);
+	const features = `width=${ width },height=${ height },left=${ left },top=${ top },scrollbars=yes`;
 
 	const newwindow = window.open(url, 'Login', features);
 	if (newwindow.focus) {
@@ -39,7 +39,7 @@ Meteor.loginWithCas = function(options, callback) {
 
 	const appUrl = Meteor.absoluteUrl().replace(/\/$/, '') + __meteor_runtime_config__.ROOT_URL_PATH_PREFIX;
 	// check if the provided CAS URL already has some parameters
-	const delim = (login_url.split('?').length > 1) ? '&' : '?';
+	const delim = login_url.split('?').length > 1 ? '&' : '?';
 	const loginUrl = `${ login_url }${ delim }service=${ appUrl }/_cas/${ credentialToken }`;
 
 	const popup = openCenteredPopup(
diff --git a/app/cas/server/cas_rocketchat.js b/app/cas/server/cas_rocketchat.js
index 45f5fd61b6d..0a6ec78e520 100644
--- a/app/cas/server/cas_rocketchat.js
+++ b/app/cas/server/cas_rocketchat.js
@@ -1,7 +1,9 @@
 import { Meteor } from 'meteor/meteor';
+import { ServiceConfiguration } from 'meteor/service-configuration';
+
 import { Logger } from '../../logger';
 import { settings } from '../../settings';
-import { ServiceConfiguration } from 'meteor/service-configuration';
+
 export const logger = new Logger('CAS', {});
 
 Meteor.startup(function() {
@@ -39,16 +41,16 @@ function updateServices(/* record*/) {
 	timer = Meteor.setTimeout(function() {
 		const data = {
 			// These will pe passed to 'node-cas' as options
-			enabled:          settings.get('CAS_enabled'),
-			base_url:         settings.get('CAS_base_url'),
-			login_url:        settings.get('CAS_login_url'),
+			enabled: settings.get('CAS_enabled'),
+			base_url: settings.get('CAS_base_url'),
+			login_url: settings.get('CAS_login_url'),
 			// Rocketchat Visuals
-			buttonLabelText:  settings.get('CAS_button_label_text'),
+			buttonLabelText: settings.get('CAS_button_label_text'),
 			buttonLabelColor: settings.get('CAS_button_label_color'),
-			buttonColor:      settings.get('CAS_button_color'),
-			width:            settings.get('CAS_popup_width'),
-			height:           settings.get('CAS_popup_height'),
-			autoclose:        settings.get('CAS_autoclose'),
+			buttonColor: settings.get('CAS_button_color'),
+			width: settings.get('CAS_popup_width'),
+			height: settings.get('CAS_popup_height'),
+			autoclose: settings.get('CAS_autoclose'),
 		};
 
 		// Either register or deregister the CAS login service based upon its configuration
diff --git a/app/cas/server/cas_server.js b/app/cas/server/cas_server.js
index c3d60a2a5af..410fd4f16e0 100644
--- a/app/cas/server/cas_server.js
+++ b/app/cas/server/cas_server.js
@@ -1,17 +1,19 @@
+import url from 'url';
+
 import { Meteor } from 'meteor/meteor';
 import { Accounts } from 'meteor/accounts-base';
 import { Random } from 'meteor/random';
 import { WebApp } from 'meteor/webapp';
-import { settings } from '../../settings';
 import { RoutePolicy } from 'meteor/routepolicy';
-import { Rooms, Subscriptions, CredentialTokens } from '../../models';
-import { _setRealName } from '../../lib';
-import { logger } from './cas_rocketchat';
 import _ from 'underscore';
 import fiber from 'fibers';
-import url from 'url';
 import CAS from 'cas';
 
+import { logger } from './cas_rocketchat';
+import { settings } from '../../settings';
+import { Rooms, Subscriptions, CredentialTokens } from '../../models';
+import { _setRealName } from '../../lib';
+
 RoutePolicy.declare('/_cas/', 'network');
 
 const closePopup = function(res) {
@@ -21,7 +23,6 @@ const closePopup = function(res) {
 };
 
 const casTicket = function(req, token, callback) {
-
 	// get configuration
 	if (!settings.get('CAS_enabled')) {
 		logger.error('Got ticket validation request, but CAS is not enabled');
@@ -61,8 +62,6 @@ const casTicket = function(req, token, callback) {
 
 		callback();
 	}));
-
-	return;
 };
 
 const middleware = function(req, res, next) {
@@ -90,7 +89,6 @@ const middleware = function(req, res, next) {
 		casTicket(req, credentialToken, function() {
 			closePopup(res);
 		});
-
 	} catch (err) {
 		logger.error(`Unexpected error : ${ err.message }`);
 		closePopup(res);
@@ -112,7 +110,6 @@ WebApp.connectHandlers.use(function(req, res, next) {
  *
  */
 Accounts.registerLoginHandler(function(options) {
-
 	if (!options.cas) {
 		return undefined;
 	}
@@ -153,7 +150,6 @@ Accounts.registerLoginHandler(function(options) {
 
 	// Source internal attributes
 	if (syncUserDataFieldMap) {
-
 		// Our mapping table: key(int_attr) -> value(ext_attr)
 		// Spoken: Source this internal attribute from these external attributes
 		const attr_map = JSON.parse(syncUserDataFieldMap);
@@ -206,7 +202,6 @@ Accounts.registerLoginHandler(function(options) {
 			}
 		}
 	} else {
-
 		// Define new user
 		const newUser = {
 			username: result.username,
@@ -267,7 +262,6 @@ Accounts.registerLoginHandler(function(options) {
 				}
 			});
 		}
-
 	}
 
 	return { userId: user._id };
diff --git a/app/channel-settings-mail-messages/client/lib/startup.js b/app/channel-settings-mail-messages/client/lib/startup.js
index 0ed7a682f79..60986fc628b 100644
--- a/app/channel-settings-mail-messages/client/lib/startup.js
+++ b/app/channel-settings-mail-messages/client/lib/startup.js
@@ -1,5 +1,6 @@
 // import resetSelection from '../resetSelection';
 import { Meteor } from 'meteor/meteor';
+
 import { TabBar } from '../../../ui-utils';
 import { hasAllPermission } from '../../../authorization';
 
diff --git a/app/channel-settings-mail-messages/client/views/mailMessagesInstructions.js b/app/channel-settings-mail-messages/client/views/mailMessagesInstructions.js
index 861e371c144..a141dc7bc5a 100644
--- a/app/channel-settings-mail-messages/client/views/mailMessagesInstructions.js
+++ b/app/channel-settings-mail-messages/client/views/mailMessagesInstructions.js
@@ -4,11 +4,12 @@ import { Blaze } from 'meteor/blaze';
 import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
 import { AutoComplete } from 'meteor/mizzao:autocomplete';
+import { Deps } from 'meteor/deps';
+import toastr from 'toastr';
+
 import { ChatRoom } from '../../../models';
 import { t, isEmail, handleError, roomTypes } from '../../../utils';
 import { settings } from '../../../settings';
-import { Deps } from 'meteor/deps';
-import toastr from 'toastr';
 import resetSelection from '../resetSelection';
 
 const filterNames = (old) => {
@@ -235,14 +236,14 @@ Template.mailMessagesInstructions.onCreated(function() {
 	this.selectedUsers = new ReactiveVar([]);
 	this.userFilter = new ReactiveVar('');
 
-	const filter = { exceptions :[Meteor.user().username].concat(this.selectedUsers.get().map((u) => u.username)) };
+	const filter = { exceptions: [Meteor.user().username].concat(this.selectedUsers.get().map((u) => u.username)) };
 	Deps.autorun(() => {
 		filter.exceptions = [Meteor.user().username].concat(this.selectedUsers.get().map((u) => u.username));
 	});
 
 	this.ac = new AutoComplete(
 		{
-			selector:{
+			selector: {
 				item: '.rc-popup-list__item',
 				container: '.rc-popup-list__list',
 			},
diff --git a/app/channel-settings-mail-messages/server/lib/startup.js b/app/channel-settings-mail-messages/server/lib/startup.js
index c96f5ac6e6c..a04875ad90d 100644
--- a/app/channel-settings-mail-messages/server/lib/startup.js
+++ b/app/channel-settings-mail-messages/server/lib/startup.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Permissions } from '../../../models';
 
 Meteor.startup(function() {
diff --git a/app/channel-settings-mail-messages/server/methods/mailMessages.js b/app/channel-settings-mail-messages/server/methods/mailMessages.js
index c68cfa63d4f..d911210a25f 100644
--- a/app/channel-settings-mail-messages/server/methods/mailMessages.js
+++ b/app/channel-settings-mail-messages/server/methods/mailMessages.js
@@ -1,11 +1,12 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+import _ from 'underscore';
+import moment from 'moment';
+
 import { hasPermission } from '../../../authorization';
 import { Users, Messages } from '../../../models';
 import { settings } from '../../../settings';
 import { Message } from '../../../ui-utils';
-import _ from 'underscore';
-import moment from 'moment';
 import * as Mailer from '../../../mailer';
 
 Meteor.methods({
diff --git a/app/channel-settings/client/index.js b/app/channel-settings/client/index.js
index 5f84cf2870b..9834b106c9d 100644
--- a/app/channel-settings/client/index.js
+++ b/app/channel-settings/client/index.js
@@ -1,6 +1,7 @@
 import './startup/messageTypes';
 import './startup/tabBar';
 import './startup/trackSettingsChange';
-export { ChannelSettings } from './lib/ChannelSettings';
 import './views/channelSettings.html';
 import './views/channelSettings';
+
+export { ChannelSettings } from './lib/ChannelSettings';
diff --git a/app/channel-settings/client/lib/ChannelSettings.js b/app/channel-settings/client/lib/ChannelSettings.js
index b705c206b20..26467705ec4 100644
--- a/app/channel-settings/client/lib/ChannelSettings.js
+++ b/app/channel-settings/client/lib/ChannelSettings.js
@@ -38,4 +38,4 @@ export const ChannelSettings = new class {
 		});
 		return _.sortBy(allowedOptions, 'order');
 	}
-};
+}();
diff --git a/app/channel-settings/client/startup/messageTypes.js b/app/channel-settings/client/startup/messageTypes.js
index c0128c87ef3..5b73ce3ffba 100644
--- a/app/channel-settings/client/startup/messageTypes.js
+++ b/app/channel-settings/client/startup/messageTypes.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
+import s from 'underscore.string';
+
 import { MessageTypes } from '../../../ui-utils';
 import { t } from '../../../utils';
-import s from 'underscore.string';
 
 Meteor.startup(function() {
 	MessageTypes.registerType({
diff --git a/app/channel-settings/client/startup/tabBar.js b/app/channel-settings/client/startup/tabBar.js
index 798dff511e3..2a3d794c404 100644
--- a/app/channel-settings/client/startup/tabBar.js
+++ b/app/channel-settings/client/startup/tabBar.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { TabBar } from '../../../ui-utils';
 
 Meteor.startup(() => {
diff --git a/app/channel-settings/client/startup/trackSettingsChange.js b/app/channel-settings/client/startup/trackSettingsChange.js
index 3b4c423725a..4dc05e611fc 100644
--- a/app/channel-settings/client/startup/trackSettingsChange.js
+++ b/app/channel-settings/client/startup/trackSettingsChange.js
@@ -2,6 +2,7 @@ import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Session } from 'meteor/session';
+
 import { callbacks } from '../../../callbacks';
 import { RoomManager } from '../../../ui-utils';
 import { roomTypes } from '../../../utils';
diff --git a/app/channel-settings/client/views/channelSettings.js b/app/channel-settings/client/views/channelSettings.js
index 806cd5682d6..04d010a3394 100644
--- a/app/channel-settings/client/views/channelSettings.js
+++ b/app/channel-settings/client/views/channelSettings.js
@@ -5,6 +5,7 @@ import { TAPi18n } from 'meteor/tap:i18n';
 import toastr from 'toastr';
 import moment from 'moment';
 import s from 'underscore.string';
+
 import { modal, popover, call, erase, hide, leave } from '../../../ui-utils';
 import { ChatRoom } from '../../../models';
 import { settings } from '../../../settings';
@@ -178,7 +179,7 @@ Template.channelSettingsEditing.events({
 			popoverClass: 'notifications-preferences',
 			template: 'pushNotificationsPopover',
 			data: {
-				change : (value) => {
+				change: (value) => {
 					const falseOrUndefined = value === 'disabled' ? false : undefined;
 					const realValue = value === 'enabled' ? true : falseOrUndefined;
 					return this.value.set(realValue);
@@ -207,7 +208,8 @@ Template.channelSettingsEditing.events({
 });
 
 Template.channelSettingsEditing.onCreated(function() {
-	const room = this.room = ChatRoom.findOne(this.data && this.data.rid);
+	const room = ChatRoom.findOne(this.data && this.data.rid);
+	this.room = room;
 	this.settings = {
 		name: {
 			type: 'text',
@@ -326,9 +328,9 @@ Template.channelSettingsEditing.onCreated(function() {
 			canView() {
 				if (!['c', 'p'].includes(room.t)) {
 					return false;
-				} else if (room.t === 'p' && !hasAllPermission('create-c')) {
+				} if (room.t === 'p' && !hasAllPermission('create-c')) {
 					return false;
-				} else if (room.t === 'c' && !hasAllPermission('create-p')) {
+				} if (room.t === 'c' && !hasAllPermission('create-p')) {
 					return false;
 				}
 				return true;
@@ -360,7 +362,6 @@ Template.channelSettingsEditing.onCreated(function() {
 								}
 								return reject();
 							});
-
 						});
 					}
 					// return $('.channel-settings form [name=\'t\']').prop('checked', !!room.type === 'p');
@@ -668,7 +669,7 @@ Template.channelSettingsEditing.onCreated(function() {
 	};
 	Object.keys(this.settings).forEach((key) => {
 		const setting = this.settings[key];
-		const def = setting.getValue ? setting.getValue(this.room) : (this.room[key] || false);
+		const def = setting.getValue ? setting.getValue(this.room) : this.room[key] || false;
 		setting.default = new ReactiveVar(def);
 		setting.value = new ReactiveVar(def);
 	});
diff --git a/app/channel-settings/server/functions/saveReactWhenReadOnly.js b/app/channel-settings/server/functions/saveReactWhenReadOnly.js
index c50d4c3aadb..97d20782b23 100644
--- a/app/channel-settings/server/functions/saveReactWhenReadOnly.js
+++ b/app/channel-settings/server/functions/saveReactWhenReadOnly.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match } from 'meteor/check';
+
 import { Rooms } from '../../../models';
 
 export const saveReactWhenReadOnly = function(rid, allowReact) {
diff --git a/app/channel-settings/server/functions/saveRoomAnnouncement.js b/app/channel-settings/server/functions/saveRoomAnnouncement.js
index 4c31a9b11d8..07df9e4edf4 100644
--- a/app/channel-settings/server/functions/saveRoomAnnouncement.js
+++ b/app/channel-settings/server/functions/saveRoomAnnouncement.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match } from 'meteor/check';
+
 import { Rooms, Messages } from '../../../models';
 
 export const saveRoomAnnouncement = function(rid, roomAnnouncement, user, sendMessage = true) {
diff --git a/app/channel-settings/server/functions/saveRoomCustomFields.js b/app/channel-settings/server/functions/saveRoomCustomFields.js
index da8fea1b187..0252a2de676 100644
--- a/app/channel-settings/server/functions/saveRoomCustomFields.js
+++ b/app/channel-settings/server/functions/saveRoomCustomFields.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match } from 'meteor/check';
+
 import { Rooms, Subscriptions } from '../../../models';
 
 export const saveRoomCustomFields = function(rid, roomCustomFields) {
diff --git a/app/channel-settings/server/functions/saveRoomDescription.js b/app/channel-settings/server/functions/saveRoomDescription.js
index 72a7a310b5c..89860061ac3 100644
--- a/app/channel-settings/server/functions/saveRoomDescription.js
+++ b/app/channel-settings/server/functions/saveRoomDescription.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match } from 'meteor/check';
+
 import { Rooms, Messages } from '../../../models';
 
 export const saveRoomDescription = function(rid, roomDescription, user) {
diff --git a/app/channel-settings/server/functions/saveRoomName.js b/app/channel-settings/server/functions/saveRoomName.js
index 27c73524a11..1584febd2e3 100644
--- a/app/channel-settings/server/functions/saveRoomName.js
+++ b/app/channel-settings/server/functions/saveRoomName.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Rooms, Messages, Subscriptions, Integrations } from '../../../models';
 import { roomTypes, getValidRoomName } from '../../../utils';
 import { callbacks } from '../../../callbacks';
diff --git a/app/channel-settings/server/functions/saveRoomReadOnly.js b/app/channel-settings/server/functions/saveRoomReadOnly.js
index b5d88c96c8b..baf8dff166b 100644
--- a/app/channel-settings/server/functions/saveRoomReadOnly.js
+++ b/app/channel-settings/server/functions/saveRoomReadOnly.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match } from 'meteor/check';
+
 import { Rooms } from '../../../models';
 import { hasPermission } from '../../../authorization';
 
diff --git a/app/channel-settings/server/functions/saveRoomSystemMessages.js b/app/channel-settings/server/functions/saveRoomSystemMessages.js
index 7fb229e0d12..c1a2ba92f00 100644
--- a/app/channel-settings/server/functions/saveRoomSystemMessages.js
+++ b/app/channel-settings/server/functions/saveRoomSystemMessages.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match } from 'meteor/check';
+
 import { Rooms } from '../../../models';
 
 export const saveRoomSystemMessages = function(rid, systemMessages) {
diff --git a/app/channel-settings/server/functions/saveRoomTokens.js b/app/channel-settings/server/functions/saveRoomTokens.js
index ad68265b9cf..3c634a9996a 100644
--- a/app/channel-settings/server/functions/saveRoomTokens.js
+++ b/app/channel-settings/server/functions/saveRoomTokens.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match } from 'meteor/check';
+
 import { Rooms } from '../../../models';
 
 export const saveRoomTokenpass = function(rid, tokenpass) {
diff --git a/app/channel-settings/server/functions/saveRoomTopic.js b/app/channel-settings/server/functions/saveRoomTopic.js
index a12bbef2c15..89ba7c5ec91 100644
--- a/app/channel-settings/server/functions/saveRoomTopic.js
+++ b/app/channel-settings/server/functions/saveRoomTopic.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match } from 'meteor/check';
+
 import { Rooms, Messages } from '../../../models';
 
 export const saveRoomTopic = function(rid, roomTopic, user, sendMessage = true) {
diff --git a/app/channel-settings/server/functions/saveRoomType.js b/app/channel-settings/server/functions/saveRoomType.js
index e848be23b80..9bf6cb4503b 100644
--- a/app/channel-settings/server/functions/saveRoomType.js
+++ b/app/channel-settings/server/functions/saveRoomType.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { Match } from 'meteor/check';
 import { TAPi18n } from 'meteor/tap:i18n';
+
 import { Rooms, Subscriptions, Messages } from '../../../models';
 import { settings } from '../../../settings';
 
diff --git a/app/channel-settings/server/functions/saveStreamingOptions.js b/app/channel-settings/server/functions/saveStreamingOptions.js
index 5b5490314de..473d6b26c2b 100644
--- a/app/channel-settings/server/functions/saveStreamingOptions.js
+++ b/app/channel-settings/server/functions/saveStreamingOptions.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+
 import { Rooms } from '../../../models';
 
 export const saveStreamingOptions = function(rid, options) {
diff --git a/app/channel-settings/server/index.js b/app/channel-settings/server/index.js
index 9b86dcca63f..abbd2bf327f 100644
--- a/app/channel-settings/server/index.js
+++ b/app/channel-settings/server/index.js
@@ -1,5 +1,6 @@
 import './startup';
+import './methods/saveRoomSettings';
+
 export { saveRoomTopic } from './functions/saveRoomTopic';
 export { saveStreamingOptions } from './functions/saveStreamingOptions';
 export { saveRoomName } from './functions/saveRoomName';
-import './methods/saveRoomSettings';
diff --git a/app/channel-settings/server/methods/saveRoomSettings.js b/app/channel-settings/server/methods/saveRoomSettings.js
index d8fa642ca68..45738633fd7 100644
--- a/app/channel-settings/server/methods/saveRoomSettings.js
+++ b/app/channel-settings/server/methods/saveRoomSettings.js
@@ -1,9 +1,9 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+
 import { hasPermission } from '../../../authorization';
 import { Rooms } from '../../../models';
 import { callbacks } from '../../../callbacks';
-
 import { saveRoomName } from '../functions/saveRoomName';
 import { saveRoomTopic } from '../functions/saveRoomTopic';
 import { saveRoomAnnouncement } from '../functions/saveRoomAnnouncement';
@@ -34,7 +34,7 @@ Meteor.methods({
 
 		if (typeof settings !== 'object') {
 			settings = {
-				[settings] : value,
+				[settings]: value,
 			};
 		}
 
diff --git a/app/channel-settings/server/startup.js b/app/channel-settings/server/startup.js
index be9f1e4fb0e..698723ebe99 100644
--- a/app/channel-settings/server/startup.js
+++ b/app/channel-settings/server/startup.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Permissions } from '../../models';
 
 Meteor.startup(function() {
diff --git a/app/chatpal-search/client/route.js b/app/chatpal-search/client/route.js
index 74cf84c8673..cb028195306 100644
--- a/app/chatpal-search/client/route.js
+++ b/app/chatpal-search/client/route.js
@@ -1,5 +1,6 @@
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { BlazeLayout } from 'meteor/kadira:blaze-layout';
+
 import { t } from '../../utils';
 
 FlowRouter.route('/admin/chatpal', {
diff --git a/app/chatpal-search/client/template/admin.js b/app/chatpal-search/client/template/admin.js
index c4c2a201ae2..bcbf71c873e 100644
--- a/app/chatpal-search/client/template/admin.js
+++ b/app/chatpal-search/client/template/admin.js
@@ -2,12 +2,12 @@ import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
+import toastr from 'toastr';
+
 import { settings } from '../../../settings';
 import { hasRole } from '../../../authorization';
-import toastr from 'toastr';
 
 Template.ChatpalAdmin.onCreated(function() {
-
 	const re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
 
 	this.validateEmail = (email) => re.test(email.toLowerCase());
@@ -16,7 +16,7 @@ Template.ChatpalAdmin.onCreated(function() {
 
 	const lang = settings.get('Language');
 
-	this.lang = (lang === 'de' || lang === 'en') ? lang : 'en';
+	this.lang = lang === 'de' || lang === 'en' ? lang : 'en';
 
 	this.tac = new ReactiveVar();
 
@@ -45,7 +45,6 @@ Template.ChatpalAdmin.events({
 
 				t.apiKey.set(key);
 			});
-
 		} catch (e) {
 			console.log(e);
 			toastr.error(TAPi18n.__('Chatpal_ERROR_username_already_exists'));// TODO error messages
diff --git a/app/chatpal-search/client/template/result.js b/app/chatpal-search/client/template/result.js
index f9d1bf9353f..08c3512905d 100644
--- a/app/chatpal-search/client/template/result.js
+++ b/app/chatpal-search/client/template/result.js
@@ -1,8 +1,9 @@
-import { DateFormat } from '../../../lib';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
+
+import { DateFormat } from '../../../lib';
 import { roomTypes, getURL } from '../../../utils';
 import { Subscriptions } from '../../../models';
 
diff --git a/app/chatpal-search/server/provider/index.js b/app/chatpal-search/server/provider/index.js
index 66f8774d7e5..4195805d53b 100644
--- a/app/chatpal-search/server/provider/index.js
+++ b/app/chatpal-search/server/provider/index.js
@@ -1,14 +1,14 @@
 import { Meteor } from 'meteor/meteor';
 import { HTTP } from 'meteor/http';
-import ChatpalLogger from '../utils/logger';
 import { Random } from 'meteor/random';
+
+import ChatpalLogger from '../utils/logger';
 import { Rooms, Messages } from '../../../models';
 
 /**
  * Enables HTTP functions on Chatpal Backend
  */
 class Backend {
-
 	constructor(options) {
 		this._options = options;
 	}
@@ -20,13 +20,12 @@ class Backend {
 	 */
 	index(docs) {
 		const options = {
-			data:docs,
-			params:{ language:this._options.language },
+			data: docs,
+			params: { language: this._options.language },
 			...this._options.httpOptions,
 		};
 
 		try {
-
 			const response = HTTP.call('POST', `${ this._options.baseurl }${ this._options.updatepath }`, options);
 
 			if (response.statusCode >= 200 && response.statusCode < 300) {
@@ -34,13 +33,11 @@ class Backend {
 			} else {
 				throw new Error(response);
 			}
-
 		} catch (e) {
 			// TODO how to deal with this
 			ChatpalLogger.error('indexing failed', JSON.stringify(e, null, 2));
 			return false;
 		}
-
 	}
 
 	/**
@@ -53,11 +50,11 @@ class Backend {
 		ChatpalLogger.debug(`Remove ${ type }(${ id }) from Index`);
 
 		const options = {
-			data:{
+			data: {
 				delete: {
 					query: `id:${ id } AND type:${ type }`,
 				},
-				commit:{},
+				commit: {},
 			},
 			...this._options.httpOptions,
 		};
@@ -72,7 +69,7 @@ class Backend {
 	}
 
 	count(type) {
-		return this.query({ type, rows:0, text:'*' })[type].numFound;
+		return this.query({ type, rows: 0, text: '*' })[type].numFound;
 	}
 
 	/**
@@ -81,7 +78,6 @@ class Backend {
 	 * @param callback
 	 */
 	query(params, callback) {
-
 		const options = {
 			params,
 			...this._options.httpOptions,
@@ -97,14 +93,12 @@ class Backend {
 					callback(undefined, result.data);
 				});
 			} else {
-
 				const response = HTTP.call('POST', this._options.baseurl + this._options.searchpath, options);
 
 				if (response.statusCode >= 200 && response.statusCode < 300) {
 					return response.data;
-				} else {
-					throw new Error(response);
 				}
+				throw new Error(response);
 			}
 		} catch (e) {
 			ChatpalLogger.error('query failed', JSON.stringify(e, null, 2));
@@ -113,7 +107,6 @@ class Backend {
 	}
 
 	suggest(params, callback) {
-
 		const options = {
 			params,
 			...this._options.httpOptions,
@@ -134,12 +127,13 @@ class Backend {
 		ChatpalLogger.debug('Clear Index');
 
 		const options = {
-			data:{
+			data: {
 				delete: {
 					query: '*:*',
 				},
-				commit:{},
-			}, ...this._options.httpOptions,
+				commit: {},
+			},
+			...this._options.httpOptions,
 		};
 
 		try {
@@ -157,10 +151,9 @@ class Backend {
 	 * @returns {boolean}
 	 */
 	static ping(config) {
-
 		const options = {
 			params: {
-				stats:true,
+				stats: true,
 			},
 			...config.httpOptions,
 		};
@@ -170,21 +163,18 @@ class Backend {
 
 			if (response.statusCode >= 200 && response.statusCode < 300) {
 				return response.data.stats;
-			} else {
-				return false;
 			}
+			return false;
 		} catch (e) {
 			return false;
 		}
 	}
-
 }
 
 /**
  * Enabled batch indexing
  */
 class BatchIndexer {
-
 	constructor(size, func, ...rest) {
 		this._size = size;
 		this._func = func;
@@ -209,14 +199,12 @@ class BatchIndexer {
  * Provides index functions to chatpal provider
  */
 export default class Index {
-
 	/**
 	 * Creates Index Stub
 	 * @param options
 	 * @param clear if a complete reindex should be done
 	 */
 	constructor(options, clear, date) {
-
 		this._id = Random.id();
 
 		this._backend = new Backend(options);
@@ -280,22 +268,22 @@ export default class Index {
 	 * @private
 	 */
 	_existsDataOlderThan(date) {
-		return Messages.model.find({ ts:{ $lt: new Date(date) }, t:{ $exists:false } }, { limit:1 }).fetch().length > 0;
+		return Messages.model.find({ ts: { $lt: new Date(date) }, t: { $exists: false } }, { limit: 1 }).fetch().length > 0;
 	}
 
 	_doesRoomCountDiffer() {
-		return Rooms.find({ t:{ $ne:'d' } }).count() !== this._backend.count('room');
+		return Rooms.find({ t: { $ne: 'd' } }).count() !== this._backend.count('room');
 	}
 
 	_doesUserCountDiffer() {
-		return Meteor.users.find({ active:true }).count() !== this._backend.count('user');
+		return Meteor.users.find({ active: true }).count() !== this._backend.count('user');
 	}
 
 	/**
 	 * Index users by using a database cursor
 	 */
 	_indexUsers() {
-		const cursor = Meteor.users.find({ active:true });
+		const cursor = Meteor.users.find({ active: true });
 
 		ChatpalLogger.debug(`Start indexing ${ cursor.count() } users`);
 
@@ -311,7 +299,7 @@ export default class Index {
 	 * @private
 	 */
 	_indexRooms() {
-		const cursor = Rooms.find({ t:{ $ne:'d' } });
+		const cursor = Rooms.find({ t: { $ne: 'd' } });
 
 		ChatpalLogger.debug(`Start indexing ${ cursor.count() } rooms`);
 
@@ -323,11 +311,10 @@ export default class Index {
 	}
 
 	_indexMessages(date, gap) {
-
 		const start = new Date(date - gap);
 		const end = new Date(date);
 
-		const cursor = Messages.model.find({ ts:{ $gt: start, $lt: end }, t:{ $exists:false } });
+		const cursor = Messages.model.find({ ts: { $gt: start, $lt: end }, t: { $exists: false } });
 
 		ChatpalLogger.debug(`Start indexing ${ cursor.count() } messages between ${ start.toString() } and ${ end.toString() }`);
 
@@ -341,16 +328,13 @@ export default class Index {
 	}
 
 	_run(date, resolve, reject) {
-
 		this._running = true;
 
 		if (this._existsDataOlderThan(date) && !this._break) {
-
 			Meteor.setTimeout(() => {
 				date = this._indexMessages(date, (this._options.windowSize || 24) * 3600000);
 
 				this._run(date, resolve, reject);
-
 			}, this._options.timeout || 1000);
 		} else if (this._break) {
 			ChatpalLogger.info(`stopped bootstrap (index-id: ${ this._id })`);
@@ -361,7 +345,6 @@ export default class Index {
 
 			resolve();
 		} else {
-
 			ChatpalLogger.info(`No messages older than already indexed date ${ new Date(date).toString() }`);
 
 			if (this._doesUserCountDiffer() && !this._break) {
@@ -387,18 +370,15 @@ export default class Index {
 	}
 
 	_bootstrap(clear, date) {
-
 		ChatpalLogger.info('Start bootstrapping');
 
 		return new Promise((resolve, reject) => {
-
 			if (clear) {
 				this._backend.clear();
 				date = new Date().getTime();
 			}
 
 			this._run(date, resolve, reject);
-
 		});
 	}
 
@@ -448,5 +428,4 @@ export default class Index {
 			type,
 		}, callback);
 	}
-
 }
diff --git a/app/chatpal-search/server/provider/provider.js b/app/chatpal-search/server/provider/provider.js
index 1ba32fb25a0..a46d935c725 100644
--- a/app/chatpal-search/server/provider/provider.js
+++ b/app/chatpal-search/server/provider/provider.js
@@ -1,14 +1,15 @@
 import { Meteor } from 'meteor/meteor';
+
 import { searchProviderService, SearchProvider } from '../../../search/server';
-import Index from './index';
 import ChatpalLogger from '../utils/logger';
 import { Subscriptions } from '../../../models';
 
+import Index from './index';
+
 /**
  * The chatpal search provider enables chatpal search. An appropriate backedn has to be specified by settings.
  */
 class ChatpalProvider extends SearchProvider {
-
 	/**
 	 * Create chatpal provider with some settings for backend and ui
 	 */
@@ -18,7 +19,7 @@ class ChatpalProvider extends SearchProvider {
 		this.chatpalBaseUrl = 'https://beta.chatpal.io/v1';
 
 		this._settings.add('Backend', 'select', 'cloud', {
-			values:[
+			values: [
 				{ key: 'cloud', i18nLabel: 'Cloud Service' },
 				{ key: 'onsite', i18nLabel: 'On-Site' },
 			],
@@ -26,7 +27,7 @@ class ChatpalProvider extends SearchProvider {
 			i18nDescription: 'Chatpal_Backend_Description',
 		});
 		this._settings.add('API_Key', 'string', '', {
-			enableQuery:[{
+			enableQuery: [{
 				_id: 'Search.chatpalProvider.Backend',
 				value: 'cloud',
 			}],
@@ -34,7 +35,7 @@ class ChatpalProvider extends SearchProvider {
 			i18nDescription: 'Chatpal_API_Key_Description',
 		});
 		this._settings.add('Base_URL', 'string', '', {
-			enableQuery:[{
+			enableQuery: [{
 				_id: 'Search.chatpalProvider.Backend',
 				value: 'onsite',
 			}],
@@ -42,7 +43,7 @@ class ChatpalProvider extends SearchProvider {
 			i18nDescription: 'Chatpal_Base_URL_Description',
 		});
 		this._settings.add('HTTP_Headers', 'string', '', {
-			enableQuery:[{
+			enableQuery: [{
 				_id: 'Search.chatpalProvider.Backend',
 				value: 'onsite',
 			}],
@@ -129,7 +130,6 @@ class ChatpalProvider extends SearchProvider {
 	 * @inheritDoc
 	 */
 	on(name, value, payload) {
-
 		if (!this.index) {
 			this.indexFail = true;
 			return false;
@@ -154,15 +154,14 @@ class ChatpalProvider extends SearchProvider {
 	 * @private
 	 */
 	_checkForClear(reason) {
-
 		if (reason === 'startup') { return false; }
 
 		if (reason === 'switch') { return true; }
 
-		return this._indexConfig.backendtype !== this._settings.get('Backend') ||
-			(this._indexConfig.backendtype === 'onsite' && this._indexConfig.baseurl !== (this._settings.get('Base_URL').endsWith('/') ? this._settings.get('Base_URL').slice(0, -1) : this._settings.get('Base_URL'))) ||
-			(this._indexConfig.backendtype === 'cloud' && this._indexConfig.httpOptions.headers['X-Api-Key'] !== this._settings.get('API_Key')) ||
-			this._indexConfig.language !== this._settings.get('Main_Language');
+		return this._indexConfig.backendtype !== this._settings.get('Backend')
+			|| (this._indexConfig.backendtype === 'onsite' && this._indexConfig.baseurl !== (this._settings.get('Base_URL').endsWith('/') ? this._settings.get('Base_URL').slice(0, -1) : this._settings.get('Base_URL')))
+			|| (this._indexConfig.backendtype === 'cloud' && this._indexConfig.httpOptions.headers['X-Api-Key'] !== this._settings.get('API_Key'))
+			|| this._indexConfig.language !== this._settings.get('Main_Language');
 	}
 
 	/**
@@ -191,7 +190,6 @@ class ChatpalProvider extends SearchProvider {
 	 * @private
 	 */
 	_ping(config, resolve, reject, timeout = 5000) {
-
 		const maxTimeout = 200000;
 
 		const stats = Index.ping(config);
@@ -200,14 +198,12 @@ class ChatpalProvider extends SearchProvider {
 			ChatpalLogger.debug('ping was successfull');
 			resolve({ config, stats });
 		} else {
-
 			ChatpalLogger.warn(`ping failed, retry in ${ timeout } ms`);
 
 			this._pingTimeout = Meteor.setTimeout(() => {
 				this._ping(config, resolve, reject, Math.min(maxTimeout, 2 * timeout));
 			}, timeout);
 		}
-
 	}
 
 	/**
@@ -216,7 +212,6 @@ class ChatpalProvider extends SearchProvider {
 	 * @private
 	 */
 	_getIndexConfig() {
-
 		return new Promise((resolve, reject) => {
 			const config = {
 				backendtype: this._settings.get('Backend'),
@@ -254,7 +249,6 @@ class ChatpalProvider extends SearchProvider {
 
 			this._ping(config, resolve, reject);
 		});
-
 	}
 
 	/**
@@ -276,7 +270,6 @@ class ChatpalProvider extends SearchProvider {
 	 * @param reject
 	 */
 	start(reason, resolve, reject) {
-
 		const clear = this._checkForClear(reason);
 
 		ChatpalLogger.debug(`clear = ${ clear } with reason '${ reason }'`);
@@ -309,8 +302,7 @@ class ChatpalProvider extends SearchProvider {
 	 * @returns {*}
 	 */
 	search(text, context, payload, callback) {
-
-		if (!this.index) { return callback({ msg:'Chatpal_currently_not_active' }); }
+		if (!this.index) { return callback({ msg: 'Chatpal_currently_not_active' }); }
 
 		const type = payload.resultType === 'All' ? ['message', 'user', 'room'] : ['message'];
 		const params = Object.assign({}, payload.custom);
@@ -325,15 +317,13 @@ class ChatpalProvider extends SearchProvider {
 			callback,
 			params
 		);
-
 	}
 
 	/**
 	 * @inheritDoc
 	 */
 	suggest(text, context, payload, callback) {
-
-		if (!this.index) { return callback({ msg:'Chatpal_currently_not_active' }); }
+		if (!this.index) { return callback({ msg: 'Chatpal_currently_not_active' }); }
 
 		const type = payload.resultType === 'All' ? ['message', 'user', 'room'] : ['message'];
 
diff --git a/app/chatpal-search/server/utils/utils.js b/app/chatpal-search/server/utils/utils.js
index d30ba0415c6..91b1ffe64f2 100644
--- a/app/chatpal-search/server/utils/utils.js
+++ b/app/chatpal-search/server/utils/utils.js
@@ -7,9 +7,8 @@ Meteor.methods({
 			const response = HTTP.call('POST', 'https://beta.chatpal.io/v1/account', { data: { email, tier: 'free' } });
 			if (response.statusCode === 201) {
 				return response.data.key;
-			} else {
-				return false;
 			}
+			return false;
 		} catch (e) {
 			return false;
 		}
@@ -19,9 +18,8 @@ Meteor.methods({
 			const response = HTTP.call('GET', `https://beta.chatpal.io/v1/terms/${ lang }.html`);
 			if (response.statusCode === 200) {
 				return response.content;
-			} else {
-				return undefined;
 			}
+			return undefined;
 		} catch (e) {
 			return false;
 		}
diff --git a/app/cloud/client/admin/callback.js b/app/cloud/client/admin/callback.js
index 1a5fbabf5e8..de860026192 100644
--- a/app/cloud/client/admin/callback.js
+++ b/app/cloud/client/admin/callback.js
@@ -4,11 +4,11 @@ import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
 import { Tracker } from 'meteor/tracker';
-
 import { FlowRouter } from 'meteor/kadira:flow-router';
+import queryString from 'query-string';
+
 import { SideNav } from '../../../ui-utils/client';
 
-import queryString from 'query-string';
 
 Template.cloudCallback.onCreated(function() {
 	const instance = this;
@@ -44,4 +44,3 @@ Template.cloudCallback.onRendered(() => {
 		SideNav.openFlex();
 	});
 });
-
diff --git a/app/cloud/client/admin/cloud.js b/app/cloud/client/admin/cloud.js
index 2084644ddd7..4eeb6ce7302 100644
--- a/app/cloud/client/admin/cloud.js
+++ b/app/cloud/client/admin/cloud.js
@@ -4,11 +4,12 @@ import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
 import { Tracker } from 'meteor/tracker';
+import queryString from 'query-string';
+import toastr from 'toastr';
+
 import { t } from '../../../utils';
 import { SideNav } from '../../../ui-utils/client';
 
-import queryString from 'query-string';
-import toastr from 'toastr';
 
 Template.cloud.onCreated(function() {
 	const instance = this;
@@ -219,4 +220,3 @@ Template.cloud.onRendered(() => {
 		SideNav.openFlex();
 	});
 });
-
diff --git a/app/cloud/client/index.js b/app/cloud/client/index.js
index 73262bf3de6..d0241a21c12 100644
--- a/app/cloud/client/index.js
+++ b/app/cloud/client/index.js
@@ -3,6 +3,7 @@ import './admin/cloud';
 
 import { BlazeLayout } from 'meteor/kadira:blaze-layout';
 import { FlowRouter } from 'meteor/kadira:flow-router';
+
 import { AdminBox } from '../../ui-utils';
 import { hasAtLeastOnePermission } from '../../authorization';
 
diff --git a/app/cloud/server/functions/checkUserHasCloudLogin.js b/app/cloud/server/functions/checkUserHasCloudLogin.js
index ca738ab83c4..39743627152 100644
--- a/app/cloud/server/functions/checkUserHasCloudLogin.js
+++ b/app/cloud/server/functions/checkUserHasCloudLogin.js
@@ -1,5 +1,5 @@
-import { Users } from '../../../models';
 import { retrieveRegistrationStatus } from './retrieveRegistrationStatus';
+import { Users } from '../../../models';
 
 export function checkUserHasCloudLogin(userId) {
 	const { connectToCloud, workspaceRegistered } = retrieveRegistrationStatus();
diff --git a/app/cloud/server/functions/connectWorkspace.js b/app/cloud/server/functions/connectWorkspace.js
index 923271b9482..5ec79dbdb7e 100644
--- a/app/cloud/server/functions/connectWorkspace.js
+++ b/app/cloud/server/functions/connectWorkspace.js
@@ -1,10 +1,11 @@
 import { HTTP } from 'meteor/http';
-import { settings } from '../../../settings';
-import { Settings } from '../../../models';
+
 
 import { getRedirectUri } from './getRedirectUri';
 import { retrieveRegistrationStatus } from './retrieveRegistrationStatus';
 import { getWorkspaceAccessToken } from './getWorkspaceAccessToken';
+import { Settings } from '../../../models';
+import { settings } from '../../../settings';
 
 export function connectWorkspace(token) {
 	const { connectToCloud } = retrieveRegistrationStatus();
diff --git a/app/cloud/server/functions/finishOAuthAuthorization.js b/app/cloud/server/functions/finishOAuthAuthorization.js
index 71892a34d3f..5bf24cb9992 100644
--- a/app/cloud/server/functions/finishOAuthAuthorization.js
+++ b/app/cloud/server/functions/finishOAuthAuthorization.js
@@ -1,9 +1,9 @@
 import { Meteor } from 'meteor/meteor';
 import { HTTP } from 'meteor/http';
-import { settings } from '../../../settings';
-import { Users } from '../../../models';
 
 import { getRedirectUri } from './getRedirectUri';
+import { settings } from '../../../settings';
+import { Users } from '../../../models';
 import { userScopes } from '../oauthScopes';
 
 export function finishOAuthAuthorization(code, state) {
diff --git a/app/cloud/server/functions/getOAuthAuthorizationUrl.js b/app/cloud/server/functions/getOAuthAuthorizationUrl.js
index b0f3b687989..e5ff7f0f8d2 100644
--- a/app/cloud/server/functions/getOAuthAuthorizationUrl.js
+++ b/app/cloud/server/functions/getOAuthAuthorizationUrl.js
@@ -1,8 +1,8 @@
 import { Random } from 'meteor/random';
-import { Settings } from '../../../models';
-import { settings } from '../../../settings';
 
 import { getRedirectUri } from './getRedirectUri';
+import { Settings } from '../../../models';
+import { settings } from '../../../settings';
 import { userScopes } from '../oauthScopes';
 
 export function getOAuthAuthorizationUrl() {
diff --git a/app/cloud/server/functions/getUserCloudAccessToken.js b/app/cloud/server/functions/getUserCloudAccessToken.js
index e1e05b570dd..3be0f726b12 100644
--- a/app/cloud/server/functions/getUserCloudAccessToken.js
+++ b/app/cloud/server/functions/getUserCloudAccessToken.js
@@ -1,11 +1,12 @@
 import { HTTP } from 'meteor/http';
-import { settings } from '../../../settings';
-import { Users } from '../../../models';
+
 
 import { getRedirectUri } from './getRedirectUri';
 import { retrieveRegistrationStatus } from './retrieveRegistrationStatus';
 import { unregisterWorkspace } from './unregisterWorkspace';
 import { userLoggedOut } from './userLoggedOut';
+import { Users } from '../../../models';
+import { settings } from '../../../settings';
 import { userScopes } from '../oauthScopes';
 
 export function getUserCloudAccessToken(userId, forceNew = false, scope = '', save = true) {
diff --git a/app/cloud/server/functions/getWorkspaceAccessToken.js b/app/cloud/server/functions/getWorkspaceAccessToken.js
index d8af1aa97a1..5ae3552e000 100644
--- a/app/cloud/server/functions/getWorkspaceAccessToken.js
+++ b/app/cloud/server/functions/getWorkspaceAccessToken.js
@@ -1,10 +1,11 @@
 import { HTTP } from 'meteor/http';
-import { settings } from '../../../settings';
-import { Settings } from '../../../models';
+
 
 import { getRedirectUri } from './getRedirectUri';
 import { retrieveRegistrationStatus } from './retrieveRegistrationStatus';
 import { unregisterWorkspace } from './unregisterWorkspace';
+import { Settings } from '../../../models';
+import { settings } from '../../../settings';
 import { workspaceScopes } from '../oauthScopes';
 
 export function getWorkspaceAccessToken(forceNew = false, scope = '', save = true) {
diff --git a/app/cloud/server/functions/getWorkspaceLicense.js b/app/cloud/server/functions/getWorkspaceLicense.js
index 2506f45f36b..d769895ecfa 100644
--- a/app/cloud/server/functions/getWorkspaceLicense.js
+++ b/app/cloud/server/functions/getWorkspaceLicense.js
@@ -1,8 +1,9 @@
 import { HTTP } from 'meteor/http';
+
+import { getWorkspaceAccessToken } from './getWorkspaceAccessToken';
 import { settings } from '../../../settings';
 import { Settings } from '../../../models';
 
-import { getWorkspaceAccessToken } from './getWorkspaceAccessToken';
 
 export function getWorkspaceLicense() {
 	const token = getWorkspaceAccessToken();
diff --git a/app/cloud/server/functions/retrieveRegistrationStatus.js b/app/cloud/server/functions/retrieveRegistrationStatus.js
index b4843af6d36..562238c466c 100644
--- a/app/cloud/server/functions/retrieveRegistrationStatus.js
+++ b/app/cloud/server/functions/retrieveRegistrationStatus.js
@@ -4,7 +4,7 @@ import { Users } from '../../../models';
 export function retrieveRegistrationStatus() {
 	const info = {
 		connectToCloud: settings.get('Register_Server'),
-		workspaceRegistered: (settings.get('Cloud_Workspace_Client_Id')) ? true : false,
+		workspaceRegistered: !!settings.get('Cloud_Workspace_Client_Id'),
 		workspaceId: settings.get('Cloud_Workspace_Id'),
 		uniqueId: settings.get('uniqueID'),
 		token: '',
diff --git a/app/cloud/server/functions/startRegisterWorkspace.js b/app/cloud/server/functions/startRegisterWorkspace.js
index c4e3f97b23f..e6c98490bde 100644
--- a/app/cloud/server/functions/startRegisterWorkspace.js
+++ b/app/cloud/server/functions/startRegisterWorkspace.js
@@ -1,11 +1,11 @@
 import { HTTP } from 'meteor/http';
-import { settings } from '../../../settings';
-import { Settings } from '../../../models';
 
 import { retrieveRegistrationStatus } from './retrieveRegistrationStatus';
-
-import { statistics } from '../../../statistics';
 import { syncWorkspace } from './syncWorkspace';
+import { settings } from '../../../settings';
+import { Settings } from '../../../models';
+import { statistics } from '../../../statistics';
+
 
 export function startRegisterWorkspace(resend = false) {
 	const { workspaceRegistered, connectToCloud } = retrieveRegistrationStatus();
diff --git a/app/cloud/server/functions/syncWorkspace.js b/app/cloud/server/functions/syncWorkspace.js
index 90bba1be418..93f1cddbc13 100644
--- a/app/cloud/server/functions/syncWorkspace.js
+++ b/app/cloud/server/functions/syncWorkspace.js
@@ -1,11 +1,11 @@
 import { HTTP } from 'meteor/http';
-import { settings } from '../../../settings';
+
 
 import { retrieveRegistrationStatus } from './retrieveRegistrationStatus';
 import { getWorkspaceAccessToken } from './getWorkspaceAccessToken';
-
-import { statistics } from '../../../statistics';
 import { getWorkspaceLicense } from './getWorkspaceLicense';
+import { statistics } from '../../../statistics';
+import { settings } from '../../../settings';
 
 export function syncWorkspace(reconnectCheck = false) {
 	const { workspaceRegistered, connectToCloud } = retrieveRegistrationStatus();
@@ -47,7 +47,6 @@ export function syncWorkspace(reconnectCheck = false) {
 		});
 
 		getWorkspaceLicense();
-
 	} catch (e) {
 		if (e.response && e.response.data && e.response.data.error) {
 			console.error(`Failed to sync with Rocket.Chat Cloud.  Error: ${ e.response.data.error }`);
diff --git a/app/cloud/server/functions/unregisterWorkspace.js b/app/cloud/server/functions/unregisterWorkspace.js
index 3898d371dfb..a1102b1505d 100644
--- a/app/cloud/server/functions/unregisterWorkspace.js
+++ b/app/cloud/server/functions/unregisterWorkspace.js
@@ -1,6 +1,6 @@
+import { retrieveRegistrationStatus } from './retrieveRegistrationStatus';
 import { Settings } from '../../../models';
 
-import { retrieveRegistrationStatus } from './retrieveRegistrationStatus';
 
 export function unregisterWorkspace() {
 	const { workspaceRegistered } = retrieveRegistrationStatus();
diff --git a/app/cloud/server/functions/userLoggedOut.js b/app/cloud/server/functions/userLoggedOut.js
index 5ae712357be..6e08b878eb6 100644
--- a/app/cloud/server/functions/userLoggedOut.js
+++ b/app/cloud/server/functions/userLoggedOut.js
@@ -1,7 +1,6 @@
 import { Users } from '../../../models';
 
 export function userLoggedOut(userId) {
-
 	if (!userId) {
 		return false;
 	}
diff --git a/app/cloud/server/functions/userLogout.js b/app/cloud/server/functions/userLogout.js
index 1ec06eb3f72..5dea9eb0781 100644
--- a/app/cloud/server/functions/userLogout.js
+++ b/app/cloud/server/functions/userLogout.js
@@ -1,7 +1,8 @@
 import { HTTP } from 'meteor/http';
-import { Users } from '../../../models';
+
 import { userLoggedOut } from './userLoggedOut';
 import { retrieveRegistrationStatus } from './retrieveRegistrationStatus';
+import { Users } from '../../../models';
 import { settings } from '../../../settings';
 
 export function userLogout(userId) {
diff --git a/app/cloud/server/index.js b/app/cloud/server/index.js
index c80ef818b9c..4a2e16941c0 100644
--- a/app/cloud/server/index.js
+++ b/app/cloud/server/index.js
@@ -2,7 +2,6 @@ import './methods';
 import { getWorkspaceAccessToken } from './functions/getWorkspaceAccessToken';
 import { getWorkspaceLicense } from './functions/getWorkspaceLicense';
 import { getUserCloudAccessToken } from './functions/getUserCloudAccessToken';
-
 import { Permissions } from '../../models';
 
 if (Permissions) {
diff --git a/app/cloud/server/methods.js b/app/cloud/server/methods.js
index 15943159023..b648f2ffaa8 100644
--- a/app/cloud/server/methods.js
+++ b/app/cloud/server/methods.js
@@ -1,7 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
-import { hasPermission } from '../../authorization';
-import { Settings } from '../../models';
+
 
 import { retrieveRegistrationStatus } from './functions/retrieveRegistrationStatus';
 import { connectWorkspace } from './functions/connectWorkspace';
@@ -12,6 +11,8 @@ import { disconnectWorkspace } from './functions/disconnectWorkspace';
 import { syncWorkspace } from './functions/syncWorkspace';
 import { checkUserHasCloudLogin } from './functions/checkUserHasCloudLogin';
 import { userLogout } from './functions/userLogout';
+import { Settings } from '../../models';
+import { hasPermission } from '../../authorization';
 
 Meteor.methods({
 	'cloud:checkRegisterStatus'() {
diff --git a/app/colors/client/client.js b/app/colors/client/client.js
index d9a4dcc890b..5f76a7c453a 100644
--- a/app/colors/client/client.js
+++ b/app/colors/client/client.js
@@ -1,6 +1,7 @@
+import s from 'underscore.string';
+
 import { settings } from '../../settings';
 import { callbacks } from '../../callbacks';
-import s from 'underscore.string';
 
 //
 // HexColorPreview is a named function that will process Colors
diff --git a/app/cors/lib/common.js b/app/cors/lib/common.js
index bcfc13ea69f..e9e53068854 100644
--- a/app/cors/lib/common.js
+++ b/app/cors/lib/common.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../settings';
 
 Meteor.startup(function() {
diff --git a/app/cors/server/cors.js b/app/cors/server/cors.js
index 16d972f80d9..8d59968807a 100644
--- a/app/cors/server/cors.js
+++ b/app/cors/server/cors.js
@@ -1,11 +1,14 @@
+import url from 'url';
+
 import { Meteor } from 'meteor/meteor';
 import { WebApp, WebAppInternals } from 'meteor/webapp';
+import _ from 'underscore';
+
 import { settings } from '../../settings';
 import { Logger } from '../../logger';
-const logger = new Logger('CORS', {});
 
-import _ from 'underscore';
-import url from 'url';
+
+const logger = new Logger('CORS', {});
 
 WebApp.rawConnectHandlers.use(Meteor.bindEnvironment(function(req, res, next) {
 	if (req._body) {
@@ -24,7 +27,7 @@ WebApp.rawConnectHandlers.use(Meteor.bindEnvironment(function(req, res, next) {
 	let buf = '';
 	req.setEncoding('utf8');
 	req.on('data', function(chunk) {
-		return buf += chunk;
+		buf += chunk;
 	});
 
 	req.on('end', function() {
diff --git a/app/crowd/server/crowd.js b/app/crowd/server/crowd.js
index 11a2daac047..5dc92542603 100644
--- a/app/crowd/server/crowd.js
+++ b/app/crowd/server/crowd.js
@@ -2,12 +2,13 @@ import { Meteor } from 'meteor/meteor';
 import { SHA256 } from 'meteor/sha';
 import { SyncedCron } from 'meteor/littledata:synced-cron';
 import { Accounts } from 'meteor/accounts-base';
+import _ from 'underscore';
+
 import { Logger } from '../../logger';
 import { _setRealName } from '../../lib';
 import { Users } from '../../models';
 import { settings } from '../../settings';
 import { hasRole } from '../../authorization';
-import _ from 'underscore';
 
 const logger = new Logger('CROWD', {});
 
@@ -40,7 +41,7 @@ export class CROWD {
 
 		this.options = {
 			crowd: {
-				base: (!/\/$/.test(url) ? url += '/' : url),
+				base: !/\/$/.test(url) ? url += '/' : url,
 			},
 			application: {
 				name: settings.get('CROWD_APP_USERNAME'),
@@ -149,7 +150,7 @@ export class CROWD {
 			username: self.cleanUsername(crowdUser.username),
 			crowd_username: crowdUser.crowd_username,
 			emails: [{
-				address : crowdUser.email,
+				address: crowdUser.email,
 				verified: true,
 			}],
 			active: crowdUser.active,
diff --git a/app/crowd/server/index.js b/app/crowd/server/index.js
index 33b6eab8d4f..9203d22fa08 100644
--- a/app/crowd/server/index.js
+++ b/app/crowd/server/index.js
@@ -4,4 +4,3 @@ import { CROWD } from './crowd';
 export {
 	CROWD,
 };
-
diff --git a/app/crowd/server/settings.js b/app/crowd/server/settings.js
index a82016b47a8..234344bdd12 100644
--- a/app/crowd/server/settings.js
+++ b/app/crowd/server/settings.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../settings';
 
 Meteor.startup(function() {
diff --git a/app/custom-oauth/client/custom_oauth_client.js b/app/custom-oauth/client/custom_oauth_client.js
index f17b8e24961..780f22370bf 100644
--- a/app/custom-oauth/client/custom_oauth_client.js
+++ b/app/custom-oauth/client/custom_oauth_client.js
@@ -5,6 +5,7 @@ import { Random } from 'meteor/random';
 import { ServiceConfiguration } from 'meteor/service-configuration';
 import { OAuth } from 'meteor/oauth';
 import s from 'underscore.string';
+
 import { isURL } from '../../utils/lib/isURL';
 
 // Request custom OAuth credentials for the user
@@ -91,8 +92,8 @@ export class CustomOAuth {
 		const loginUrl = `${ this.authorizePath
 		}${ separator }client_id=${ config.clientId
 		}&redirect_uri=${ OAuth._redirectUri(this.name, config)
-		}&response_type=code` +
-			`&state=${ OAuth._stateParam(loginStyle, credentialToken, options.redirectUrl)
+		}&response_type=code`
+			+ `&state=${ OAuth._stateParam(loginStyle, credentialToken, options.redirectUrl)
 			}&scope=${ this.scope }`;
 
 		OAuth.launchLogin({
diff --git a/app/custom-oauth/server/custom_oauth_server.js b/app/custom-oauth/server/custom_oauth_server.js
index a6289d872e4..9976e3f66f7 100644
--- a/app/custom-oauth/server/custom_oauth_server.js
+++ b/app/custom-oauth/server/custom_oauth_server.js
@@ -4,10 +4,11 @@ import { Accounts } from 'meteor/accounts-base';
 import { OAuth } from 'meteor/oauth';
 import { HTTP } from 'meteor/http';
 import { ServiceConfiguration } from 'meteor/service-configuration';
+import _ from 'underscore';
+
+import { mapRolesFromSSO, updateRolesFromSSO } from './oauth_helpers';
 import { Logger } from '../../logger';
 import { Users } from '../../models';
-import { mapRolesFromSSO, updateRolesFromSSO } from './oauth_helpers';
-import _ from 'underscore';
 import { isURL } from '../../utils/lib/isURL';
 import { registerAccessTokenService } from '../../lib/server/oauth/oauth';
 
@@ -183,7 +184,6 @@ export class CustomOAuth {
 	registerService() {
 		const self = this;
 		OAuth.registerService(this.name, 2, null, (query) => {
-
 			const response = self.getAccessToken(query);
 			const identity = self.getIdentity(response.access_token);
 
@@ -191,7 +191,7 @@ export class CustomOAuth {
 				_OAuthCustom: true,
 				accessToken: response.access_token,
 				idToken: response.id_token,
-				expiresAt: (+new Date) + (1000 * parseInt(response.expires_in, 10)),
+				expiresAt: +new Date() + (1000 * parseInt(response.expires_in, 10)),
 			};
 
 			// only set the token in serviceData if it's there. this ensures
@@ -390,7 +390,6 @@ export class CustomOAuth {
 
 			return true;
 		});
-
 	}
 
 	registerAccessTokenService(name) {
@@ -414,7 +413,7 @@ export class CustomOAuth {
 
 			const serviceData = {
 				accessToken: options.accessToken,
-				expiresAt: (+new Date) + (1000 * parseInt(options.expiresIn, 10)),
+				expiresAt: +new Date() + (1000 * parseInt(options.expiresIn, 10)),
 			};
 
 			const fields = _.pick(identity, whitelisted);
diff --git a/app/custom-sounds/client/admin/adminSounds.js b/app/custom-sounds/client/admin/adminSounds.js
index 80e25477512..0f1609dd106 100644
--- a/app/custom-sounds/client/admin/adminSounds.js
+++ b/app/custom-sounds/client/admin/adminSounds.js
@@ -1,11 +1,12 @@
 import { ReactiveVar } from 'meteor/reactive-var';
-import { RocketChatTabBar, SideNav, TabBar } from '../../../ui-utils';
 import { Tracker } from 'meteor/tracker';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
-import { CustomSounds } from '../../../models';
 import s from 'underscore.string';
 
+import { CustomSounds } from '../../../models';
+import { RocketChatTabBar, SideNav, TabBar } from '../../../ui-utils';
+
 Template.adminSounds.helpers({
 	searchText() {
 		const instance = Template.instance();
@@ -46,8 +47,8 @@ Template.adminSounds.helpers({
 		const instance = Template.instance();
 		return function(currentTarget) {
 			if (
-				currentTarget.offsetHeight + currentTarget.scrollTop >=
-				currentTarget.scrollHeight - 100
+				currentTarget.offsetHeight + currentTarget.scrollTop
+				>= currentTarget.scrollHeight - 100
 			) {
 				return instance.limit.set(instance.limit.get() + 50);
 			}
@@ -96,13 +97,13 @@ Template.adminSounds.onCreated(function() {
 	});
 
 	this.autorun(function() {
-		const limit = (instance.limit != null) ? instance.limit.get() : 0;
+		const limit = instance.limit != null ? instance.limit.get() : 0;
 		const subscription = instance.subscribe('customSounds', '', limit);
 		instance.ready.set(subscription.ready());
 	});
 
 	this.customsounds = function() {
-		const filter = (instance.filter != null) ? s.trim(instance.filter.get()) : '';
+		const filter = instance.filter != null ? s.trim(instance.filter.get()) : '';
 
 		let query = {};
 
@@ -111,7 +112,7 @@ Template.adminSounds.onCreated(function() {
 			query = { name: filterReg };
 		}
 
-		const limit = (instance.limit != null) ? instance.limit.get() : 0;
+		const limit = instance.limit != null ? instance.limit.get() : 0;
 
 		return CustomSounds.find(query, { limit, sort: { name: 1 } }).fetch();
 	};
diff --git a/app/custom-sounds/client/admin/soundEdit.js b/app/custom-sounds/client/admin/soundEdit.js
index 3ebbeb66bfa..f28aa360b42 100644
--- a/app/custom-sounds/client/admin/soundEdit.js
+++ b/app/custom-sounds/client/admin/soundEdit.js
@@ -1,10 +1,11 @@
 import { Meteor } from 'meteor/meteor';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
-import { t, handleError } from '../../../utils';
 import toastr from 'toastr';
 import s from 'underscore.string';
 
+import { t, handleError } from '../../../utils';
+
 Template.soundEdit.helpers({
 	sound() {
 		return Template.instance().sound;
@@ -30,7 +31,7 @@ Template.soundEdit.events({
 	},
 
 	'change input[type=file]'(ev) {
-		const e = (ev.originalEvent != null) ? ev.originalEvent : ev;
+		const e = ev.originalEvent != null ? ev.originalEvent : ev;
 		let { files } = e.target;
 		if (e.target.files == null || files.length === 0) {
 			if (e.dataTransfer.files != null) {
@@ -131,7 +132,6 @@ Template.soundEdit.onCreated(function() {
 								if (uploadError != null) {
 									handleError(uploadError);
 									console.log(uploadError);
-									return;
 								}
 							}
 							);
diff --git a/app/custom-sounds/client/admin/soundInfo.js b/app/custom-sounds/client/admin/soundInfo.js
index a15f03af6c0..4467e57e8e5 100644
--- a/app/custom-sounds/client/admin/soundInfo.js
+++ b/app/custom-sounds/client/admin/soundInfo.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
+
 import { modal } from '../../../ui-utils';
 import { t, handleError } from '../../../utils';
 
diff --git a/app/custom-sounds/client/index.js b/app/custom-sounds/client/index.js
index 5d0ef124474..ca11995874f 100644
--- a/app/custom-sounds/client/index.js
+++ b/app/custom-sounds/client/index.js
@@ -1,4 +1,3 @@
-export { CustomSounds } from './lib/CustomSounds';
 import './notifications/deleteCustomSound';
 import './notifications/updateCustomSound';
 import './admin/adminSoundEdit.html';
@@ -11,3 +10,5 @@ import './admin/soundInfo.html';
 import './admin/soundInfo';
 import './admin/route';
 import './admin/startup';
+
+export { CustomSounds } from './lib/CustomSounds';
diff --git a/app/custom-sounds/client/lib/CustomSounds.js b/app/custom-sounds/client/lib/CustomSounds.js
index 79f477ae423..3d32b19e74f 100644
--- a/app/custom-sounds/client/lib/CustomSounds.js
+++ b/app/custom-sounds/client/lib/CustomSounds.js
@@ -1,8 +1,9 @@
 import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
-import { CachedCollectionManager } from '../../../ui-cached-collection';
 import _ from 'underscore';
 
+import { CachedCollectionManager } from '../../../ui-cached-collection';
+
 class CustomSoundsClass {
 	constructor() {
 		this.list = new ReactiveVar({});
diff --git a/app/custom-sounds/client/notifications/deleteCustomSound.js b/app/custom-sounds/client/notifications/deleteCustomSound.js
index b35063245c5..59b9d0929a9 100644
--- a/app/custom-sounds/client/notifications/deleteCustomSound.js
+++ b/app/custom-sounds/client/notifications/deleteCustomSound.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { CachedCollectionManager } from '../../../ui-cached-collection';
 import { Notifications } from '../../../notifications';
 import { CustomSounds } from '../lib/CustomSounds';
diff --git a/app/custom-sounds/client/notifications/updateCustomSound.js b/app/custom-sounds/client/notifications/updateCustomSound.js
index ab91a113d4a..813c7dfbd44 100644
--- a/app/custom-sounds/client/notifications/updateCustomSound.js
+++ b/app/custom-sounds/client/notifications/updateCustomSound.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { CachedCollectionManager } from '../../../ui-cached-collection';
 import { Notifications } from '../../../notifications';
 import { CustomSounds } from '../lib/CustomSounds';
diff --git a/app/custom-sounds/server/methods/deleteCustomSound.js b/app/custom-sounds/server/methods/deleteCustomSound.js
index 9057f752ce1..ba26d32673b 100644
--- a/app/custom-sounds/server/methods/deleteCustomSound.js
+++ b/app/custom-sounds/server/methods/deleteCustomSound.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { CustomSounds } from '../../../models';
 import { hasPermission } from '../../../authorization';
 import { Notifications } from '../../../notifications';
diff --git a/app/custom-sounds/server/methods/insertOrUpdateSound.js b/app/custom-sounds/server/methods/insertOrUpdateSound.js
index 2e0a61395e3..36ea5839736 100644
--- a/app/custom-sounds/server/methods/insertOrUpdateSound.js
+++ b/app/custom-sounds/server/methods/insertOrUpdateSound.js
@@ -1,9 +1,10 @@
 import { Meteor } from 'meteor/meteor';
+import s from 'underscore.string';
+
 import { hasPermission } from '../../../authorization';
 import { CustomSounds } from '../../../models';
 import { Notifications } from '../../../notifications';
 import { RocketChatFileCustomSoundsInstance } from '../startup/custom-sounds';
-import s from 'underscore.string';
 
 Meteor.methods({
 	insertOrUpdateSound(soundData) {
@@ -51,18 +52,17 @@ Meteor.methods({
 			createSound._id = _id;
 
 			return _id;
-		} else {
-			// update sound
-			if (soundData.newFile) {
-				RocketChatFileCustomSoundsInstance.deleteFile(`${ soundData._id }.${ soundData.previousExtension }`);
-			}
-
-			if (soundData.name !== soundData.previousName) {
-				CustomSounds.setName(soundData._id, soundData.name);
-				Notifications.notifyAll('updateCustomSound', { soundData });
-			}
+		}
+		// update sound
+		if (soundData.newFile) {
+			RocketChatFileCustomSoundsInstance.deleteFile(`${ soundData._id }.${ soundData.previousExtension }`);
+		}
 
-			return soundData._id;
+		if (soundData.name !== soundData.previousName) {
+			CustomSounds.setName(soundData._id, soundData.name);
+			Notifications.notifyAll('updateCustomSound', { soundData });
 		}
+
+		return soundData._id;
 	},
 });
diff --git a/app/custom-sounds/server/methods/listCustomSounds.js b/app/custom-sounds/server/methods/listCustomSounds.js
index 05a72f0a03d..90bf6db2043 100644
--- a/app/custom-sounds/server/methods/listCustomSounds.js
+++ b/app/custom-sounds/server/methods/listCustomSounds.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { CustomSounds } from '../../../models';
 
 Meteor.methods({
diff --git a/app/custom-sounds/server/methods/uploadCustomSound.js b/app/custom-sounds/server/methods/uploadCustomSound.js
index 04c57c8dc31..7d3d48d361b 100644
--- a/app/custom-sounds/server/methods/uploadCustomSound.js
+++ b/app/custom-sounds/server/methods/uploadCustomSound.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { Notifications } from '../../../notifications';
 import { RocketChatFile } from '../../../file';
diff --git a/app/custom-sounds/server/publications/customSounds.js b/app/custom-sounds/server/publications/customSounds.js
index 31163a5076b..9f94960206c 100644
--- a/app/custom-sounds/server/publications/customSounds.js
+++ b/app/custom-sounds/server/publications/customSounds.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
-import { CustomSounds } from '../../../models';
 import s from 'underscore.string';
 
+import { CustomSounds } from '../../../models';
+
 Meteor.publish('customSounds', function(filter, limit) {
 	if (!this.userId) {
 		return this.ready();
diff --git a/app/custom-sounds/server/startup/custom-sounds.js b/app/custom-sounds/server/startup/custom-sounds.js
index 934798cb170..7417d90e568 100644
--- a/app/custom-sounds/server/startup/custom-sounds.js
+++ b/app/custom-sounds/server/startup/custom-sounds.js
@@ -1,8 +1,9 @@
 import { Meteor } from 'meteor/meteor';
 import { WebApp } from 'meteor/webapp';
+import _ from 'underscore';
+
 import { RocketChatFile } from '../../../file';
 import { settings } from '../../../settings';
-import _ from 'underscore';
 
 export let RocketChatFileCustomSoundsInstance;
 
@@ -34,8 +35,7 @@ Meteor.startup(function() {
 	});
 
 	return WebApp.connectHandlers.use('/custom-sounds/', Meteor.bindEnvironment(function(req, res/* , next*/) {
-		const params =
-			{ sound: decodeURIComponent(req.url.replace(/^\//, '').replace(/\?.*$/, '')) };
+		const params =			{ sound: decodeURIComponent(req.url.replace(/^\//, '').replace(/\?.*$/, '')) };
 
 		if (_.isEmpty(params.sound)) {
 			res.writeHead(403);
diff --git a/app/custom-sounds/server/startup/permissions.js b/app/custom-sounds/server/startup/permissions.js
index fc27ecb7989..7a9ba36a56c 100644
--- a/app/custom-sounds/server/startup/permissions.js
+++ b/app/custom-sounds/server/startup/permissions.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Permissions } from '../../../models';
 
 Meteor.startup(() => {
diff --git a/app/discussion/client/createDiscussionMessageAction.js b/app/discussion/client/createDiscussionMessageAction.js
index cd3a43ea9b2..7c974fc8d61 100644
--- a/app/discussion/client/createDiscussionMessageAction.js
+++ b/app/discussion/client/createDiscussionMessageAction.js
@@ -33,9 +33,11 @@ Meteor.startup(function() {
 					title: t('Discussion_title'),
 					modifier: 'modal',
 					content: 'CreateDiscussion',
-					data: { rid: message.rid, message, onCreate() {
-						modal.close();
-					} },
+					data: { rid: message.rid,
+						message,
+						onCreate() {
+							modal.close();
+						} },
 					confirmOnEnter: false,
 					showConfirmButton: false,
 					showCancelButton: false,
diff --git a/app/discussion/client/discussionFromMessageBox.js b/app/discussion/client/discussionFromMessageBox.js
index dbade46fc93..964d1f384f0 100644
--- a/app/discussion/client/discussionFromMessageBox.js
+++ b/app/discussion/client/discussionFromMessageBox.js
@@ -31,6 +31,5 @@ Meteor.startup(function() {
 				});
 			},
 		});
-
 	});
 });
diff --git a/app/discussion/client/views/DiscussionTabbar.js b/app/discussion/client/views/DiscussionTabbar.js
index 64e74c98d36..ff73ab8ff64 100644
--- a/app/discussion/client/views/DiscussionTabbar.js
+++ b/app/discussion/client/views/DiscussionTabbar.js
@@ -1,6 +1,7 @@
 import _ from 'underscore';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
+
 import { messageContext } from '../../../ui-utils/client/lib/messageContext';
 import { DiscussionOfRoom } from '../lib/discussionsOfRoom';
 
diff --git a/app/discussion/client/views/creationDialog/CreateDiscussion.js b/app/discussion/client/views/creationDialog/CreateDiscussion.js
index e28f2a4264c..a786507c330 100755
--- a/app/discussion/client/views/creationDialog/CreateDiscussion.js
+++ b/app/discussion/client/views/creationDialog/CreateDiscussion.js
@@ -1,5 +1,4 @@
 import { Meteor } from 'meteor/meteor';
-
 import { Template } from 'meteor/templating';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { AutoComplete } from 'meteor/mizzao:autocomplete';
@@ -176,7 +175,6 @@ Template.CreateDiscussion.onCreated(function() {
 
 	this.selectedUsers = new ReactiveVar([]);
 	this.onSelectUser = ({ item: user }) => {
-
 		if (user.username === (msg && msg.u.username)) {
 			return;
 		}
@@ -189,14 +187,14 @@ Template.CreateDiscussion.onCreated(function() {
 			this.selectedUsers.set([...users, user]);
 		}
 	};
-	this.onClickTagUser = (({ username }) => {
+	this.onClickTagUser = ({ username }) => {
 		this.selectedUsers.set(this.selectedUsers.get().filter((user) => user.username !== username));
-	});
-	this.deleteLastItemUser = (() => {
+	};
+	this.deleteLastItemUser = () => {
 		const arr = this.selectedUsers.get();
 		arr.pop();
 		this.selectedUsers.set(arr);
-	});
+	};
 
 	// callback to allow setting a parent Channel or e. g. tracking the event using Piwik or GA
 	const { parentChannel, reply } = callbacks.run('openDiscussionCreationScreen') || {};
@@ -252,7 +250,6 @@ Template.SearchCreateDiscussion.events({
 			const { deleteLastItem } = t;
 			return deleteLastItem && deleteLastItem();
 		}
-
 	},
 	'keyup input'(e, t) {
 		t.ac.onKeyUp(e);
@@ -269,7 +266,6 @@ Template.SearchCreateDiscussion.events({
 	},
 });
 Template.SearchCreateDiscussion.onRendered(function() {
-
 	const { name } = this.data;
 
 	this.ac.element = this.firstNode.querySelector(`[name=${ name }]`);
diff --git a/app/discussion/lib/discussionRoomType.js b/app/discussion/lib/discussionRoomType.js
index b229e638a26..f6b33073f8c 100644
--- a/app/discussion/lib/discussionRoomType.js
+++ b/app/discussion/lib/discussionRoomType.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { RoomTypeConfig, roomTypes, getUserPreference } from '../../utils';
 
 export class DiscussionRoomType extends RoomTypeConfig {
diff --git a/app/discussion/server/authorization.js b/app/discussion/server/authorization.js
index 68204b6da6c..6835305ed82 100644
--- a/app/discussion/server/authorization.js
+++ b/app/discussion/server/authorization.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { addRoomAccessValidator, canAccessRoom } from '../../authorization';
 import { Rooms } from '../../models';
 
diff --git a/app/discussion/server/config.js b/app/discussion/server/config.js
index 5155c5769c7..abdcaac9a58 100644
--- a/app/discussion/server/config.js
+++ b/app/discussion/server/config.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../settings';
 
 Meteor.startup(() => {
diff --git a/app/discussion/server/hooks/joinDiscussionOnMessage.js b/app/discussion/server/hooks/joinDiscussionOnMessage.js
index 755850edbb4..08eb79071dc 100644
--- a/app/discussion/server/hooks/joinDiscussionOnMessage.js
+++ b/app/discussion/server/hooks/joinDiscussionOnMessage.js
@@ -4,7 +4,6 @@ import { callbacks } from '../../../callbacks/server';
 import { Subscriptions } from '../../../models/server';
 
 callbacks.add('beforeSaveMessage', (message, room) => {
-
 	// abort if room is not a discussion
 	if (!room || !room.prid) {
 		return message;
diff --git a/app/discussion/server/hooks/propagateDiscussionMetadata.js b/app/discussion/server/hooks/propagateDiscussionMetadata.js
index c4b9ece7b9e..902965ca23e 100644
--- a/app/discussion/server/hooks/propagateDiscussionMetadata.js
+++ b/app/discussion/server/hooks/propagateDiscussionMetadata.js
@@ -26,7 +26,7 @@ callbacks.add('afterDeleteMessage', function(message, { _id, prid } = {}) {
 callbacks.add('afterDeleteRoom', (rid) => Rooms.find({ prid: rid }, { fields: { _id: 1 } }).forEach(({ _id }) => deleteRoom(_id)), 'DeleteDiscussionChain');
 
 // TODO discussions define new fields
-callbacks.add('afterRoomNameChange', ({ rid, name, oldName }) => Rooms.update({ prid: rid, ...(oldName && { topic: oldName }) }, { $set: { topic: name } }, { multi: true }), 'updateTopicDiscussion');
+callbacks.add('afterRoomNameChange', ({ rid, name, oldName }) => Rooms.update({ prid: rid, ...oldName && { topic: oldName } }, { $set: { topic: name } }, { multi: true }), 'updateTopicDiscussion');
 
 callbacks.add('afterDeleteRoom', (drid) => Messages.update({ drid }, {
 	$unset: {
diff --git a/app/discussion/server/methods/createDiscussion.js b/app/discussion/server/methods/createDiscussion.js
index f4b7358ab5e..78535311ad9 100644
--- a/app/discussion/server/methods/createDiscussion.js
+++ b/app/discussion/server/methods/createDiscussion.js
@@ -122,7 +122,6 @@ Meteor.methods({
 	* @param {string[]} users - users to be added
 	*/
 	createDiscussion({ prid, pmid, t_name, reply, users }) {
-
 		if (!settings.get('Discussion_enabled')) {
 			throw new Meteor.Error('error-action-not-allowed', 'You are not allowed to create a discussion', { method: 'createDiscussion' });
 		}
diff --git a/app/discussion/server/permissions.js b/app/discussion/server/permissions.js
index 4e89b97c667..49bfe798b0b 100644
--- a/app/discussion/server/permissions.js
+++ b/app/discussion/server/permissions.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Permissions } from '../../models';
 
 Meteor.startup(() => {
diff --git a/app/dolphin/lib/common.js b/app/dolphin/lib/common.js
index 5c0582012e6..36c95452a97 100644
--- a/app/dolphin/lib/common.js
+++ b/app/dolphin/lib/common.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
-import { settings } from '../../settings';
 import { ServiceConfiguration } from 'meteor/service-configuration';
+
+import { settings } from '../../settings';
 import { CustomOAuth } from '../../custom-oauth';
 import { callbacks } from '../../callbacks';
 import { Settings } from '../../models';
diff --git a/app/drupal/lib/common.js b/app/drupal/lib/common.js
index 9777d32d9c8..f46259e8de3 100644
--- a/app/drupal/lib/common.js
+++ b/app/drupal/lib/common.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
+
 import { settings } from '../../settings';
 import { CustomOAuth } from '../../custom-oauth';
 
diff --git a/app/e2e/client/accountEncryption.js b/app/e2e/client/accountEncryption.js
index 60fc2aa3ec5..da1071b15c3 100644
--- a/app/e2e/client/accountEncryption.js
+++ b/app/e2e/client/accountEncryption.js
@@ -2,9 +2,10 @@ import { Template } from 'meteor/templating';
 import { ReactiveVar } from 'meteor/reactive-var';
 import toastr from 'toastr';
 import s from 'underscore.string';
+
+import { e2e } from './rocketchat.e2e';
 import { settings } from '../../settings';
 import { t } from '../../utils';
-import { e2e } from './rocketchat.e2e';
 
 Template.accountEncryption.helpers({
 	isEnabled() {
@@ -26,7 +27,7 @@ Template.accountEncryption.helpers({
 		const encryptionKey = instance.encryptionKey.get();
 		const confirmationEncryptionKey = instance.confirmationEncryptionKey.get();
 
-		if ((!encryptionKey || encryptionKey !== confirmationEncryptionKey)) {
+		if (!encryptionKey || encryptionKey !== confirmationEncryptionKey) {
 			return ret;
 		}
 	},
@@ -53,8 +54,8 @@ Template.accountEncryption.events({
 Template.accountEncryption.onCreated(function() {
 	const self = this;
 
-	this.encryptionKey = new ReactiveVar;
-	this.confirmationEncryptionKey = new ReactiveVar;
+	this.encryptionKey = new ReactiveVar();
+	this.confirmationEncryptionKey = new ReactiveVar();
 
 	this.save = function(cb) {
 		const instance = this;
@@ -82,5 +83,4 @@ Template.accountEncryption.onCreated(function() {
 		this.find('[name=encryptionKey]').value = '';
 		this.find('[name=confirmation-encryptionKey]').value = '';
 	};
-
 });
diff --git a/app/e2e/client/events.js b/app/e2e/client/events.js
index fea692b5bd0..c59b20594b8 100644
--- a/app/e2e/client/events.js
+++ b/app/e2e/client/events.js
@@ -1,4 +1,5 @@
 import { Accounts } from 'meteor/accounts-base';
+
 import { e2e } from './rocketchat.e2e';
 
 Accounts.onLogout(() => {
diff --git a/app/e2e/client/helper.js b/app/e2e/client/helper.js
index 96dbd1de96d..bf1de708da6 100644
--- a/app/e2e/client/helper.js
+++ b/app/e2e/client/helper.js
@@ -43,50 +43,50 @@ export function splitVectorAndEcryptedData(cipherText) {
 }
 
 export async function encryptRSA(key, data) {
-	return await crypto.subtle.encrypt({ name: 'RSA-OAEP' }, key, data);
+	return crypto.subtle.encrypt({ name: 'RSA-OAEP' }, key, data);
 }
 
 export async function encryptAES(vector, key, data) {
-	return await crypto.subtle.encrypt({ name: 'AES-CBC', iv: vector }, key, data);
+	return crypto.subtle.encrypt({ name: 'AES-CBC', iv: vector }, key, data);
 }
 
 export async function decryptRSA(key, data) {
-	return await crypto.subtle.decrypt({ name: 'RSA-OAEP' }, key, data);
+	return crypto.subtle.decrypt({ name: 'RSA-OAEP' }, key, data);
 }
 
 export async function decryptAES(vector, key, data) {
-	return await crypto.subtle.decrypt({ name: 'AES-CBC', iv: vector }, key, data);
+	return crypto.subtle.decrypt({ name: 'AES-CBC', iv: vector }, key, data);
 }
 
 export async function generateAESKey() {
-	return await crypto.subtle.generateKey({ name: 'AES-CBC', length: 128 }, true, ['encrypt', 'decrypt']);
+	return crypto.subtle.generateKey({ name: 'AES-CBC', length: 128 }, true, ['encrypt', 'decrypt']);
 }
 
 export async function generateRSAKey() {
-	return await crypto.subtle.generateKey({ name: 'RSA-OAEP', modulusLength: 2048, publicExponent: new Uint8Array([0x01, 0x00, 0x01]), hash: { name: 'SHA-256' } }, true, ['encrypt', 'decrypt']);
+	return crypto.subtle.generateKey({ name: 'RSA-OAEP', modulusLength: 2048, publicExponent: new Uint8Array([0x01, 0x00, 0x01]), hash: { name: 'SHA-256' } }, true, ['encrypt', 'decrypt']);
 }
 
 export async function exportJWKKey(key) {
-	return await crypto.subtle.exportKey('jwk', key);
+	return crypto.subtle.exportKey('jwk', key);
 }
 
 export async function importRSAKey(keyData, keyUsages = ['encrypt', 'decrypt']) {
-	return await crypto.subtle.importKey('jwk', keyData, { name: 'RSA-OAEP', modulusLength: 2048, publicExponent: new Uint8Array([0x01, 0x00, 0x01]), hash: { name: 'SHA-256' } }, true, keyUsages);
+	return crypto.subtle.importKey('jwk', keyData, { name: 'RSA-OAEP', modulusLength: 2048, publicExponent: new Uint8Array([0x01, 0x00, 0x01]), hash: { name: 'SHA-256' } }, true, keyUsages);
 }
 
 export async function importAESKey(keyData, keyUsages = ['encrypt', 'decrypt']) {
-	return await crypto.subtle.importKey('jwk', keyData, { name: 'AES-CBC' }, true, keyUsages);
+	return crypto.subtle.importKey('jwk', keyData, { name: 'AES-CBC' }, true, keyUsages);
 }
 
 export async function importRawKey(keyData, keyUsages = ['deriveKey']) {
-	return await crypto.subtle.importKey('raw', keyData, { name: 'PBKDF2' }, false, keyUsages);
+	return crypto.subtle.importKey('raw', keyData, { name: 'PBKDF2' }, false, keyUsages);
 }
 
 export async function deriveKey(salt, baseKey, keyUsages = ['encrypt', 'decrypt']) {
 	const iterations = 1000;
 	const hash = 'SHA-256';
 
-	return await crypto.subtle.deriveKey({ name: 'PBKDF2', salt, iterations, hash }, baseKey, { name: 'AES-CBC', length: 256 }, true, keyUsages);
+	return crypto.subtle.deriveKey({ name: 'PBKDF2', salt, iterations, hash }, baseKey, { name: 'AES-CBC', length: 256 }, true, keyUsages);
 }
 
 export async function readFileAsArrayBuffer(file) {
diff --git a/app/e2e/client/rocketchat.e2e.js b/app/e2e/client/rocketchat.e2e.js
index 3ac3cf6ebad..7fe0e867840 100644
--- a/app/e2e/client/rocketchat.e2e.js
+++ b/app/e2e/client/rocketchat.e2e.js
@@ -4,12 +4,8 @@ import { ReactiveVar } from 'meteor/reactive-var';
 import { Tracker } from 'meteor/tracker';
 import { EJSON } from 'meteor/ejson';
 import { FlowRouter } from 'meteor/kadira:flow-router';
-import { Rooms, Subscriptions, Messages } from '../../models';
-import { promises } from '../../promises/client';
-import { settings } from '../../settings';
-import { Notifications } from '../../notifications';
-import { Layout, call, modal, alerts } from '../../ui-utils';
 import { TAPi18n } from 'meteor/tap:i18n';
+
 import { E2ERoom } from './rocketchat.e2e.room';
 import {
 	Deferred,
@@ -25,6 +21,11 @@ import {
 	importRawKey,
 	deriveKey,
 } from './helper';
+import { Rooms, Subscriptions, Messages } from '../../models';
+import { promises } from '../../promises/client';
+import { settings } from '../../settings';
+import { Notifications } from '../../notifications';
+import { Layout, call, modal, alerts } from '../../ui-utils';
 
 import './events.js';
 import './accountEncryption.html';
@@ -438,7 +439,7 @@ class E2E {
 			return;
 		}
 
-		return await Messages.find({ t: 'e2e', e2e: 'pending' }).forEach(async (item) => {
+		return Messages.find({ t: 'e2e', e2e: 'pending' }).forEach(async (item) => {
 			await this.decryptMessage(item);
 		});
 	}
diff --git a/app/e2e/client/rocketchat.e2e.room.js b/app/e2e/client/rocketchat.e2e.room.js
index 3ca4c811dde..d4f59fdcbc2 100644
--- a/app/e2e/client/rocketchat.e2e.room.js
+++ b/app/e2e/client/rocketchat.e2e.room.js
@@ -1,13 +1,10 @@
 import _ from 'underscore';
-
 import { Base64 } from 'meteor/base64';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { EJSON } from 'meteor/ejson';
 import { Random } from 'meteor/random';
 import { TimeSync } from 'meteor/mizzao:timesync';
-import { Notifications } from '../../notifications';
-import { Rooms, Subscriptions } from '../../models';
-import { call } from '../../ui-utils';
+
 import { e2e } from './rocketchat.e2e';
 import {
 	Deferred,
@@ -25,6 +22,9 @@ import {
 	importRSAKey,
 	readFileAsArrayBuffer,
 } from './helper';
+import { Notifications } from '../../notifications';
+import { Rooms, Subscriptions } from '../../models';
+import { call } from '../../ui-utils';
 
 export class E2ERoom {
 	constructor(userId, roomId, t) {
@@ -56,7 +56,7 @@ export class E2ERoom {
 		}
 
 		if (this.establishing.get()) {
-			return await this.readyPromise;
+			return this.readyPromise;
 		}
 
 		console.log('E2E -> Initiating handshake');
diff --git a/app/e2e/client/tabbar.js b/app/e2e/client/tabbar.js
index 21edfaadafe..00cae6e5782 100644
--- a/app/e2e/client/tabbar.js
+++ b/app/e2e/client/tabbar.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Session } from 'meteor/session';
+
 import { hasAllPermission } from '../../authorization';
 import { call, TabBar } from '../../ui-utils';
 import { ChatRoom } from '../../models';
@@ -11,7 +12,7 @@ Meteor.startup(() => {
 		i18nTitle: 'E2E',
 		icon: 'key',
 		class: () => (ChatRoom.findOne(Session.get('openedRoom')) || {}).encrypted && 'enabled',
-		action:() => {
+		action: () => {
 			const room = ChatRoom.findOne(Session.get('openedRoom'));
 			call('saveRoomSettings', room._id, 'encrypted', !room.encrypted);
 		},
diff --git a/app/e2e/server/methods/fetchMyKeys.js b/app/e2e/server/methods/fetchMyKeys.js
index 5777b16e7e0..f50e8578f81 100644
--- a/app/e2e/server/methods/fetchMyKeys.js
+++ b/app/e2e/server/methods/fetchMyKeys.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Users } from '../../../models';
 
 Meteor.methods({
diff --git a/app/e2e/server/methods/getUsersOfRoomWithoutKey.js b/app/e2e/server/methods/getUsersOfRoomWithoutKey.js
index eb448b098e9..a686af5e88c 100644
--- a/app/e2e/server/methods/getUsersOfRoomWithoutKey.js
+++ b/app/e2e/server/methods/getUsersOfRoomWithoutKey.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Subscriptions, Users } from '../../../models';
 
 Meteor.methods({
diff --git a/app/e2e/server/methods/requestSubscriptionKeys.js b/app/e2e/server/methods/requestSubscriptionKeys.js
index c3b42675e97..2a381c2eea8 100644
--- a/app/e2e/server/methods/requestSubscriptionKeys.js
+++ b/app/e2e/server/methods/requestSubscriptionKeys.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Subscriptions, Rooms } from '../../../models';
 import { Notifications } from '../../../notifications';
 
@@ -16,10 +17,10 @@ Meteor.methods({
 
 		// For all subscriptions without E2E key, get the rooms that have encryption enabled
 		const query = {
-			e2eKeyId : {
+			e2eKeyId: {
 				$exists: true,
 			},
-			_id : {
+			_id: {
 				$in: roomIds,
 			},
 		};
diff --git a/app/e2e/server/methods/resetUserE2EKey.js b/app/e2e/server/methods/resetUserE2EKey.js
index f48ca2f0a58..b1259a32b70 100644
--- a/app/e2e/server/methods/resetUserE2EKey.js
+++ b/app/e2e/server/methods/resetUserE2EKey.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Users, Subscriptions } from '../../../models';
 import { hasPermission } from '../../../authorization';
 
diff --git a/app/e2e/server/methods/setRoomKeyID.js b/app/e2e/server/methods/setRoomKeyID.js
index dfcc04a8b73..a273e803b93 100644
--- a/app/e2e/server/methods/setRoomKeyID.js
+++ b/app/e2e/server/methods/setRoomKeyID.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Rooms } from '../../../models';
 
 Meteor.methods({
diff --git a/app/e2e/server/methods/setUserPublicAndPivateKeys.js b/app/e2e/server/methods/setUserPublicAndPivateKeys.js
index 42ca627f3b1..f1c4604babd 100644
--- a/app/e2e/server/methods/setUserPublicAndPivateKeys.js
+++ b/app/e2e/server/methods/setUserPublicAndPivateKeys.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Users } from '../../../models';
 
 Meteor.methods({
diff --git a/app/e2e/server/methods/updateGroupKey.js b/app/e2e/server/methods/updateGroupKey.js
index 18471e38c9a..78123f8a0ad 100644
--- a/app/e2e/server/methods/updateGroupKey.js
+++ b/app/e2e/server/methods/updateGroupKey.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Subscriptions } from '../../../models';
 
 Meteor.methods({
diff --git a/app/emoji-custom/client/admin/adminEmoji.js b/app/emoji-custom/client/admin/adminEmoji.js
index d18d6141157..3d64e3b189c 100644
--- a/app/emoji-custom/client/admin/adminEmoji.js
+++ b/app/emoji-custom/client/admin/adminEmoji.js
@@ -1,11 +1,12 @@
 import { ReactiveVar } from 'meteor/reactive-var';
-import { RocketChatTabBar, SideNav, TabBar } from '../../../ui-utils';
 import { Tracker } from 'meteor/tracker';
-import { EmojiCustom } from '../../../models';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
 import s from 'underscore.string';
 
+import { EmojiCustom } from '../../../models';
+import { RocketChatTabBar, SideNav, TabBar } from '../../../ui-utils';
+
 Template.adminEmoji.helpers({
 	searchText() {
 		const instance = Template.instance();
@@ -79,13 +80,13 @@ Template.adminEmoji.onCreated(function() {
 	});
 
 	this.autorun(function() {
-		const limit = (instance.limit != null) ? instance.limit.get() : 0;
+		const limit = instance.limit != null ? instance.limit.get() : 0;
 		const subscription = instance.subscribe('fullEmojiData', '', limit);
 		instance.ready.set(subscription.ready());
 	});
 
 	this.customemoji = function() {
-		const filter = (instance.filter != null) ? s.trim(instance.filter.get()) : '';
+		const filter = instance.filter != null ? s.trim(instance.filter.get()) : '';
 
 		let query = {};
 
@@ -94,7 +95,7 @@ Template.adminEmoji.onCreated(function() {
 			query = { $or: [{ name: filterReg }, { aliases: filterReg }] };
 		}
 
-		const limit = (instance.limit != null) ? instance.limit.get() : 0;
+		const limit = instance.limit != null ? instance.limit.get() : 0;
 
 		return EmojiCustom.find(query, { limit, sort: { name: 1 } }).fetch();
 	};
diff --git a/app/emoji-custom/client/admin/emojiEdit.js b/app/emoji-custom/client/admin/emojiEdit.js
index e112e2ecec8..b226ea27c47 100644
--- a/app/emoji-custom/client/admin/emojiEdit.js
+++ b/app/emoji-custom/client/admin/emojiEdit.js
@@ -1,10 +1,11 @@
 import { Meteor } from 'meteor/meteor';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
-import { t, handleError } from '../../../utils';
 import toastr from 'toastr';
 import s from 'underscore.string';
 
+import { t, handleError } from '../../../utils';
+
 Template.emojiEdit.helpers({
 	emoji() {
 		return Template.instance().emoji;
@@ -129,7 +130,6 @@ Template.emojiEdit.onCreated(function() {
 								if (uploadError != null) {
 									handleError(uploadError);
 									console.log(uploadError);
-									return;
 								}
 							}
 							);
diff --git a/app/emoji-custom/client/admin/emojiInfo.js b/app/emoji-custom/client/admin/emojiInfo.js
index 91d43e45807..cb84c0053b6 100644
--- a/app/emoji-custom/client/admin/emojiInfo.js
+++ b/app/emoji-custom/client/admin/emojiInfo.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
+
 import { handleError, t } from '../../../utils';
 import { modal } from '../../../ui-utils';
 
@@ -67,17 +68,16 @@ Template.emojiInfo.events({
 				Meteor.call('deleteEmojiCustom', _id, (error/* , result*/) => {
 					if (error) {
 						return handleError(error);
-					} else {
-						modal.open({
-							title: t('Deleted'),
-							text: t('Custom_Emoji_Has_Been_Deleted'),
-							type: 'success',
-							timer: 2000,
-							showConfirmButton: false,
-						});
-
-						instance.tabBar.close();
 					}
+					modal.open({
+						title: t('Deleted'),
+						text: t('Custom_Emoji_Has_Been_Deleted'),
+						type: 'success',
+						timer: 2000,
+						showConfirmButton: false,
+					});
+
+					instance.tabBar.close();
 				});
 			});
 		}
diff --git a/app/emoji-custom/client/lib/emojiCustom.js b/app/emoji-custom/client/lib/emojiCustom.js
index 97a0f5e778a..2ae2ef02a2b 100644
--- a/app/emoji-custom/client/lib/emojiCustom.js
+++ b/app/emoji-custom/client/lib/emojiCustom.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { Blaze } from 'meteor/blaze';
 import { Session } from 'meteor/session';
+
 import { isSetNotNull } from './function-isSet';
 import { RoomManager, call } from '../../../ui-utils';
 import { emoji, EmojiPicker } from '../../../emoji';
diff --git a/app/emoji-custom/client/lib/function-isSet.js b/app/emoji-custom/client/lib/function-isSet.js
index 1dd2e6e7e8a..f5805689690 100644
--- a/app/emoji-custom/client/lib/function-isSet.js
+++ b/app/emoji-custom/client/lib/function-isSet.js
@@ -5,9 +5,8 @@ export const isSet = function(fn) {
 		value = fn();
 	} catch (e) {
 		value = undefined;
-	} finally {
-		return value !== undefined;
 	}
+	return value !== undefined;
 };
 
 export const isSetNotNull = function(fn) {
@@ -16,7 +15,6 @@ export const isSetNotNull = function(fn) {
 		value = fn();
 	} catch (e) {
 		value = null;
-	} finally {
-		return value !== null && value !== undefined;
 	}
+	return value !== null && value !== undefined;
 };
diff --git a/app/emoji-custom/client/notifications/deleteEmojiCustom.js b/app/emoji-custom/client/notifications/deleteEmojiCustom.js
index ecdb80e417d..ebc66d17916 100644
--- a/app/emoji-custom/client/notifications/deleteEmojiCustom.js
+++ b/app/emoji-custom/client/notifications/deleteEmojiCustom.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Notifications } from '../../../notifications';
 import { deleteEmojiCustom } from '../lib/emojiCustom';
 
diff --git a/app/emoji-custom/client/notifications/updateEmojiCustom.js b/app/emoji-custom/client/notifications/updateEmojiCustom.js
index 338ccbbc726..feaa701ee74 100644
--- a/app/emoji-custom/client/notifications/updateEmojiCustom.js
+++ b/app/emoji-custom/client/notifications/updateEmojiCustom.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Notifications } from '../../../notifications';
 import { updateEmojiCustom } from '../lib/emojiCustom';
 
diff --git a/app/emoji-custom/server/methods/deleteEmojiCustom.js b/app/emoji-custom/server/methods/deleteEmojiCustom.js
index 02c80d6ce36..b9623960ea2 100644
--- a/app/emoji-custom/server/methods/deleteEmojiCustom.js
+++ b/app/emoji-custom/server/methods/deleteEmojiCustom.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { EmojiCustom } from '../../../models';
 import { Notifications } from '../../../notifications';
diff --git a/app/emoji-custom/server/methods/insertOrUpdateEmoji.js b/app/emoji-custom/server/methods/insertOrUpdateEmoji.js
index 32b7c1f7f60..0b39008574b 100644
--- a/app/emoji-custom/server/methods/insertOrUpdateEmoji.js
+++ b/app/emoji-custom/server/methods/insertOrUpdateEmoji.js
@@ -1,10 +1,11 @@
 import { Meteor } from 'meteor/meteor';
+import _ from 'underscore';
+import s from 'underscore.string';
+
 import { hasPermission } from '../../../authorization';
 import { Notifications } from '../../../notifications';
 import { EmojiCustom } from '../../../models';
 import { RocketChatFileEmojiCustomInstance } from '../startup/emoji-custom';
-import _ from 'underscore';
-import s from 'underscore.string';
 
 Meteor.methods({
 	insertOrUpdateEmoji(emojiData) {
@@ -71,40 +72,39 @@ Meteor.methods({
 			Notifications.notifyLogged('updateEmojiCustom', { emojiData: createEmoji });
 
 			return _id;
-		} else {
-			// update emoji
-			if (emojiData.newFile) {
+		}
+		// update emoji
+		if (emojiData.newFile) {
+			RocketChatFileEmojiCustomInstance.deleteFile(encodeURIComponent(`${ emojiData.name }.${ emojiData.extension }`));
+			RocketChatFileEmojiCustomInstance.deleteFile(encodeURIComponent(`${ emojiData.name }.${ emojiData.previousExtension }`));
+			RocketChatFileEmojiCustomInstance.deleteFile(encodeURIComponent(`${ emojiData.previousName }.${ emojiData.extension }`));
+			RocketChatFileEmojiCustomInstance.deleteFile(encodeURIComponent(`${ emojiData.previousName }.${ emojiData.previousExtension }`));
+
+			EmojiCustom.setExtension(emojiData._id, emojiData.extension);
+		} else if (emojiData.name !== emojiData.previousName) {
+			const rs = RocketChatFileEmojiCustomInstance.getFileWithReadStream(encodeURIComponent(`${ emojiData.previousName }.${ emojiData.previousExtension }`));
+			if (rs !== null) {
 				RocketChatFileEmojiCustomInstance.deleteFile(encodeURIComponent(`${ emojiData.name }.${ emojiData.extension }`));
-				RocketChatFileEmojiCustomInstance.deleteFile(encodeURIComponent(`${ emojiData.name }.${ emojiData.previousExtension }`));
-				RocketChatFileEmojiCustomInstance.deleteFile(encodeURIComponent(`${ emojiData.previousName }.${ emojiData.extension }`));
-				RocketChatFileEmojiCustomInstance.deleteFile(encodeURIComponent(`${ emojiData.previousName }.${ emojiData.previousExtension }`));
-
-				EmojiCustom.setExtension(emojiData._id, emojiData.extension);
-			} else if (emojiData.name !== emojiData.previousName) {
-				const rs = RocketChatFileEmojiCustomInstance.getFileWithReadStream(encodeURIComponent(`${ emojiData.previousName }.${ emojiData.previousExtension }`));
-				if (rs !== null) {
-					RocketChatFileEmojiCustomInstance.deleteFile(encodeURIComponent(`${ emojiData.name }.${ emojiData.extension }`));
-					const ws = RocketChatFileEmojiCustomInstance.createWriteStream(encodeURIComponent(`${ emojiData.name }.${ emojiData.previousExtension }`), rs.contentType);
-					ws.on('end', Meteor.bindEnvironment(() =>
-						RocketChatFileEmojiCustomInstance.deleteFile(encodeURIComponent(`${ emojiData.previousName }.${ emojiData.previousExtension }`))
-					));
-					rs.readStream.pipe(ws);
-				}
+				const ws = RocketChatFileEmojiCustomInstance.createWriteStream(encodeURIComponent(`${ emojiData.name }.${ emojiData.previousExtension }`), rs.contentType);
+				ws.on('end', Meteor.bindEnvironment(() =>
+					RocketChatFileEmojiCustomInstance.deleteFile(encodeURIComponent(`${ emojiData.previousName }.${ emojiData.previousExtension }`))
+				));
+				rs.readStream.pipe(ws);
 			}
+		}
 
-			if (emojiData.name !== emojiData.previousName) {
-				EmojiCustom.setName(emojiData._id, emojiData.name);
-			}
+		if (emojiData.name !== emojiData.previousName) {
+			EmojiCustom.setName(emojiData._id, emojiData.name);
+		}
 
-			if (emojiData.aliases) {
-				EmojiCustom.setAliases(emojiData._id, emojiData.aliases);
-			} else {
-				EmojiCustom.setAliases(emojiData._id, []);
-			}
+		if (emojiData.aliases) {
+			EmojiCustom.setAliases(emojiData._id, emojiData.aliases);
+		} else {
+			EmojiCustom.setAliases(emojiData._id, []);
+		}
 
-			Notifications.notifyLogged('updateEmojiCustom', { emojiData });
+		Notifications.notifyLogged('updateEmojiCustom', { emojiData });
 
-			return true;
-		}
+		return true;
 	},
 });
diff --git a/app/emoji-custom/server/methods/listEmojiCustom.js b/app/emoji-custom/server/methods/listEmojiCustom.js
index 1c7f0072bc8..d06b382af85 100644
--- a/app/emoji-custom/server/methods/listEmojiCustom.js
+++ b/app/emoji-custom/server/methods/listEmojiCustom.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { EmojiCustom } from '../../../models';
 
 Meteor.methods({
diff --git a/app/emoji-custom/server/methods/uploadEmojiCustom.js b/app/emoji-custom/server/methods/uploadEmojiCustom.js
index b32173c17ef..c9c902cdd49 100644
--- a/app/emoji-custom/server/methods/uploadEmojiCustom.js
+++ b/app/emoji-custom/server/methods/uploadEmojiCustom.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Notifications } from '../../../notifications';
 import { hasPermission } from '../../../authorization';
 import { RocketChatFile } from '../../../file';
diff --git a/app/emoji-custom/server/publications/fullEmojiData.js b/app/emoji-custom/server/publications/fullEmojiData.js
index 6d49ceb42cc..b2771a914ae 100644
--- a/app/emoji-custom/server/publications/fullEmojiData.js
+++ b/app/emoji-custom/server/publications/fullEmojiData.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
-import { EmojiCustom } from '../../../models';
 import s from 'underscore.string';
 
+import { EmojiCustom } from '../../../models';
+
 Meteor.publish('fullEmojiData', function(filter, limit) {
 	if (!this.userId) {
 		return this.ready();
diff --git a/app/emoji-custom/server/startup/emoji-custom.js b/app/emoji-custom/server/startup/emoji-custom.js
index 807f67b7295..8110fc0667e 100644
--- a/app/emoji-custom/server/startup/emoji-custom.js
+++ b/app/emoji-custom/server/startup/emoji-custom.js
@@ -1,8 +1,9 @@
 import { Meteor } from 'meteor/meteor';
 import { WebApp } from 'meteor/webapp';
+import _ from 'underscore';
+
 import { settings } from '../../../settings';
 import { RocketChatFile } from '../../../file';
-import _ from 'underscore';
 
 export let RocketChatFileEmojiCustomInstance;
 
@@ -35,8 +36,7 @@ Meteor.startup(function() {
 
 
 	return WebApp.connectHandlers.use('/emoji-custom/', Meteor.bindEnvironment(function(req, res/* , next*/) {
-		const params =
-			{ emoji: decodeURIComponent(req.url.replace(/^\//, '').replace(/\?.*$/, '')) };
+		const params =			{ emoji: decodeURIComponent(req.url.replace(/^\//, '').replace(/\?.*$/, '')) };
 
 		if (_.isEmpty(params.emoji)) {
 			res.writeHead(403);
diff --git a/app/emoji-emojione/lib/rocketchat.js b/app/emoji-emojione/lib/rocketchat.js
index b3ce738c157..d581d96d792 100644
--- a/app/emoji-emojione/lib/rocketchat.js
+++ b/app/emoji-emojione/lib/rocketchat.js
@@ -1,9 +1,10 @@
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
-import { emoji } from '../../emoji';
-import { getUserPreference } from '../../utils';
 import { emojione } from 'meteor/emojione:emojione';
+
 import { emojisByCategory, emojiCategories, toneList } from './emojiPicker';
+import { emoji } from '../../emoji';
+import { getUserPreference } from '../../utils';
 
 emoji.packages.emojione = emojione;
 emoji.packages.emojione.imageType = 'png';
@@ -23,9 +24,8 @@ function isSetNotNull(fn) {
 		value = fn();
 	} catch (e) {
 		value = null;
-	} finally {
-		return value !== null && value !== undefined;
 	}
+	return value !== null && value !== undefined;
 }
 
 // RocketChat.emoji.list is the collection of emojis from all emoji packages
diff --git a/app/emoji-emojione/server/callbacks.js b/app/emoji-emojione/server/callbacks.js
index 36a374c967e..7cc1b2844c3 100644
--- a/app/emoji-emojione/server/callbacks.js
+++ b/app/emoji-emojione/server/callbacks.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
-import { callbacks } from '../../callbacks';
 import { emojione } from 'meteor/emojione:emojione';
 
+import { callbacks } from '../../callbacks';
+
 Meteor.startup(function() {
 	callbacks.add('beforeSendMessageNotifications', (message) => emojione.shortnameToUnicode(message));
 });
diff --git a/app/emoji/client/emojiParser.js b/app/emoji/client/emojiParser.js
index 503de3c1194..a271dfdff60 100644
--- a/app/emoji/client/emojiParser.js
+++ b/app/emoji/client/emojiParser.js
@@ -1,5 +1,4 @@
 import s from 'underscore.string';
-
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
 
diff --git a/app/emoji/client/emojiPicker.js b/app/emoji/client/emojiPicker.js
index b17264c0fad..4448901badc 100644
--- a/app/emoji/client/emojiPicker.js
+++ b/app/emoji/client/emojiPicker.js
@@ -1,9 +1,10 @@
 import { ReactiveVar } from 'meteor/reactive-var';
-import { emoji } from '../lib/rocketchat';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
+
 import { isSetNotNull } from './function-isSet';
 import { EmojiPicker } from './lib/EmojiPicker';
+import { emoji } from '../lib/rocketchat';
 
 const emojiCategories = {};
 /**
@@ -143,9 +144,8 @@ Template.emojiPicker.helpers({
 
 		if (searchTerm.length > 0) {
 			return getEmojisBySearchTerm(searchTerm);
-		} else {
-			return getEmojisByCategory(category);
 		}
+		return getEmojisByCategory(category);
 	},
 	currentTone() {
 		return `tone-${ Template.instance().tone }`;
@@ -172,9 +172,8 @@ Template.emojiPicker.helpers({
 
 		if (searchTerm.length > 0) {
 			return TAPi18n.__('Search');
-		} else {
-			return categoryName(hash);
 		}
+		return categoryName(hash);
 	},
 });
 
diff --git a/app/emoji/client/function-isSet.js b/app/emoji/client/function-isSet.js
index 1dd2e6e7e8a..f5805689690 100644
--- a/app/emoji/client/function-isSet.js
+++ b/app/emoji/client/function-isSet.js
@@ -5,9 +5,8 @@ export const isSet = function(fn) {
 		value = fn();
 	} catch (e) {
 		value = undefined;
-	} finally {
-		return value !== undefined;
 	}
+	return value !== undefined;
 };
 
 export const isSetNotNull = function(fn) {
@@ -16,7 +15,6 @@ export const isSetNotNull = function(fn) {
 		value = fn();
 	} catch (e) {
 		value = null;
-	} finally {
-		return value !== null && value !== undefined;
 	}
+	return value !== null && value !== undefined;
 };
diff --git a/app/emoji/client/index.js b/app/emoji/client/index.js
index 255bcdfbb6f..b0ac0d5a373 100644
--- a/app/emoji/client/index.js
+++ b/app/emoji/client/index.js
@@ -1,9 +1,9 @@
-import { emoji } from '../lib/rocketchat';
 import './emojiParser';
 import './emojiPicker.html';
 import './emojiPicker';
 import { EmojiPicker } from './lib/EmojiPicker';
 import { renderEmoji } from './lib/emojiRenderer';
+import { emoji } from '../lib/rocketchat';
 
 export {
 	renderEmoji,
diff --git a/app/emoji/client/lib/EmojiPicker.js b/app/emoji/client/lib/EmojiPicker.js
index 97f6a0a28da..35e44854935 100644
--- a/app/emoji/client/lib/EmojiPicker.js
+++ b/app/emoji/client/lib/EmojiPicker.js
@@ -1,8 +1,9 @@
 import { Blaze } from 'meteor/blaze';
 import { Template } from 'meteor/templating';
-import { emoji } from '../../lib/rocketchat';
 import _ from 'underscore';
 
+import { emoji } from '../../lib/rocketchat';
+
 export const EmojiPicker = {
 	width: 365,
 	height: 290,
diff --git a/app/emoji/client/lib/emojiRenderer.js b/app/emoji/client/lib/emojiRenderer.js
index 4c8ded7a245..d4b2ba2f499 100644
--- a/app/emoji/client/lib/emojiRenderer.js
+++ b/app/emoji/client/lib/emojiRenderer.js
@@ -1,8 +1,9 @@
 import { Blaze } from 'meteor/blaze';
 import { Template } from 'meteor/templating';
+import { HTML } from 'meteor/htmljs';
+
 import { emoji } from '../../lib/rocketchat';
 import { isSetNotNull } from '../function-isSet';
-import { HTML } from 'meteor/htmljs';
 
 export const renderEmoji = function(_emoji) {
 	if (isSetNotNull(() => emoji.list[_emoji].emojiPackage)) {
diff --git a/app/error-handler/server/lib/RocketChat.ErrorHandler.js b/app/error-handler/server/lib/RocketChat.ErrorHandler.js
index ee6845ebafe..a542d801fe7 100644
--- a/app/error-handler/server/lib/RocketChat.ErrorHandler.js
+++ b/app/error-handler/server/lib/RocketChat.ErrorHandler.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../../settings';
 import { Users, Rooms } from '../../../models';
 import { sendMessage } from '../../../lib';
@@ -71,4 +72,4 @@ class ErrorHandler {
 	}
 }
 
-export default new ErrorHandler;
+export default new ErrorHandler();
diff --git a/app/favico/client/index.js b/app/favico/client/index.js
index a762961a1e6..239a252e455 100644
--- a/app/favico/client/index.js
+++ b/app/favico/client/index.js
@@ -1,4 +1,3 @@
 import { Favico } from './favico';
 
 export { Favico };
-
diff --git a/app/federation/client/admin/dashboard.js b/app/federation/client/admin/dashboard.js
index eb4f6d55d47..1979e798b26 100644
--- a/app/federation/client/admin/dashboard.js
+++ b/app/federation/client/admin/dashboard.js
@@ -2,9 +2,9 @@ import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
 import { Template } from 'meteor/templating';
 import { ReactiveVar } from 'meteor/reactive-var';
-
 import { BlazeLayout } from 'meteor/kadira:blaze-layout';
 import { FlowRouter } from 'meteor/kadira:flow-router';
+
 import { AdminBox } from '../../../ui-utils';
 import { hasRole } from '../../../authorization';
 
diff --git a/app/federation/server/PeerClient.js b/app/federation/server/PeerClient.js
index a1b49b970b9..8b6a0b144b3 100644
--- a/app/federation/server/PeerClient.js
+++ b/app/federation/server/PeerClient.js
@@ -1,12 +1,14 @@
 import qs from 'querystring';
+
 import { Meteor } from 'meteor/meteor';
-import { callbacks } from '../../callbacks';
-import { settings } from '../../settings';
-import { FederationEvents, FederationKeys, Messages, Rooms, Subscriptions, Users } from '../../models';
 
 import { updateStatus } from './settingsUpdater';
 import { logger } from './logger';
 import { FederatedMessage, FederatedRoom, FederatedUser } from './federatedResources';
+import { callbacks } from '../../callbacks';
+import { settings } from '../../settings';
+import { FederationEvents, FederationKeys, Messages, Rooms, Subscriptions, Users } from '../../models';
+
 import { Federation } from '.';
 
 export class PeerClient {
@@ -364,8 +366,8 @@ export class PeerClient {
 		const { peer: { domain: localPeerDomain } } = this;
 
 		// Check if room or user who joined are federated
-		if ((!userWhoJoined.federation || userWhoJoined.federation.peer === localPeerDomain) &&
-			!FederatedRoom.isFederated(localPeerDomain, room)) {
+		if ((!userWhoJoined.federation || userWhoJoined.federation.peer === localPeerDomain)
+			&& !FederatedRoom.isFederated(localPeerDomain, room)) {
 			return users;
 		}
 
diff --git a/app/federation/server/PeerDNS.js b/app/federation/server/PeerDNS.js
index 7ed27f6cbce..c3356aaa8bb 100644
--- a/app/federation/server/PeerDNS.js
+++ b/app/federation/server/PeerDNS.js
@@ -1,9 +1,12 @@
 import dns from 'dns';
+
 import { Meteor } from 'meteor/meteor';
-import { FederationDNSCache } from '../../models';
+
 
 import { logger } from './logger';
 import { updateStatus } from './settingsUpdater';
+import { FederationDNSCache } from '../../models';
+
 import { Federation } from '.';
 
 const dnsResolveSRV = Meteor.wrapAsync(dns.resolveSrv);
diff --git a/app/federation/server/PeerHTTP/PeerHTTP.js b/app/federation/server/PeerHTTP/PeerHTTP.js
index dfccab7c26a..fbcb1e72962 100644
--- a/app/federation/server/PeerHTTP/PeerHTTP.js
+++ b/app/federation/server/PeerHTTP/PeerHTTP.js
@@ -1,10 +1,11 @@
 import { Meteor } from 'meteor/meteor';
 import { HTTP } from 'meteor/http';
 
+import { skipRetryOnSpecificError, delay } from './utils';
 import { logger } from '../logger';
+
 import { Federation } from '..';
 
-import { skipRetryOnSpecificError, delay } from './utils';
 
 export class PeerHTTP {
 	constructor() {
diff --git a/app/federation/server/PeerPinger.js b/app/federation/server/PeerPinger.js
index c6d18fd7bff..aa3bcbfa8a4 100644
--- a/app/federation/server/PeerPinger.js
+++ b/app/federation/server/PeerPinger.js
@@ -1,11 +1,10 @@
 import { Meteor } from 'meteor/meteor';
-import { logger } from './logger';
-
-import { FederationPeers } from '../../models';
+import moment from 'moment';
 
+import { logger } from './logger';
 import { ping } from './methods/ping';
+import { FederationPeers } from '../../models';
 
-import moment from 'moment';
 
 export class PeerPinger {
 	constructor() {
diff --git a/app/federation/server/PeerServer/PeerServer.js b/app/federation/server/PeerServer/PeerServer.js
index f09083e9bcc..73c51ba053e 100644
--- a/app/federation/server/PeerServer/PeerServer.js
+++ b/app/federation/server/PeerServer/PeerServer.js
@@ -2,9 +2,9 @@ import { callbacks } from '../../../callbacks';
 import { setReaction } from '../../../reactions/server';
 import { addUserToRoom, removeUserFromRoom, deleteMessage } from '../../../lib';
 import { Rooms, Subscriptions, FederationPeers } from '../../../models';
-
 import { FederatedMessage, FederatedRoom, FederatedUser } from '../federatedResources';
 import { logger } from '../logger.js';
+
 import { Federation } from '..';
 
 export class PeerServer {
diff --git a/app/federation/server/PeerServer/routes/events.js b/app/federation/server/PeerServer/routes/events.js
index 83153a829c7..45153c80bd7 100644
--- a/app/federation/server/PeerServer/routes/events.js
+++ b/app/federation/server/PeerServer/routes/events.js
@@ -1,7 +1,7 @@
 import { Meteor } from 'meteor/meteor';
+
 import { API } from '../../../../api';
 import { FederationKeys } from '../../../../models';
-
 import { Federation } from '../..';
 
 API.v1.addRoute('federation.events', { authRequired: false }, {
diff --git a/app/federation/server/PeerServer/routes/uploads.js b/app/federation/server/PeerServer/routes/uploads.js
index a076259d914..ec24f75ca2b 100644
--- a/app/federation/server/PeerServer/routes/uploads.js
+++ b/app/federation/server/PeerServer/routes/uploads.js
@@ -1,8 +1,8 @@
 import { Meteor } from 'meteor/meteor';
+
 import { API } from '../../../../api';
 import { Uploads } from '../../../../models';
 import { FileUpload } from '../../../../file-upload';
-
 import { Federation } from '../..';
 
 API.v1.addRoute('federation.uploads', { authRequired: false }, {
diff --git a/app/federation/server/PeerServer/routes/users.js b/app/federation/server/PeerServer/routes/users.js
index 3442e76b715..89006ad583a 100644
--- a/app/federation/server/PeerServer/routes/users.js
+++ b/app/federation/server/PeerServer/routes/users.js
@@ -1,6 +1,5 @@
 import { API } from '../../../../api';
 import { Users } from '../../../../models';
-
 import { FederatedUser } from '../../federatedResources';
 import { Federation } from '../..';
 
diff --git a/app/federation/server/federatedResources/FederatedMessage.js b/app/federation/server/federatedResources/FederatedMessage.js
index e606bbcd39a..92d98a0ada2 100644
--- a/app/federation/server/federatedResources/FederatedMessage.js
+++ b/app/federation/server/federatedResources/FederatedMessage.js
@@ -1,11 +1,12 @@
 import { Meteor } from 'meteor/meteor';
+
 import { sendMessage, updateMessage } from '../../../lib';
 import { Messages, Rooms, Users } from '../../../models';
 import { FileUpload } from '../../../file-upload';
-
 import { FederatedResource } from './FederatedResource';
 import { FederatedRoom } from './FederatedRoom';
 import { FederatedUser } from './FederatedUser';
+
 import { Federation } from '..';
 
 export class FederatedMessage extends FederatedResource {
@@ -57,7 +58,6 @@ export class FederatedMessage extends FederatedResource {
 
 			// Prepare mentions
 			for (const mention of message.mentions) {
-
 				mention.federation = mention.federation || {};
 
 				if (mention.username.indexOf('@') === -1) {
diff --git a/app/federation/server/federatedResources/FederatedRoom.js b/app/federation/server/federatedResources/FederatedRoom.js
index 1f47e1e37b6..494edb1f96c 100644
--- a/app/federation/server/federatedResources/FederatedRoom.js
+++ b/app/federation/server/federatedResources/FederatedRoom.js
@@ -1,8 +1,8 @@
+import { FederatedResource } from './FederatedResource';
+import { FederatedUser } from './FederatedUser';
 import { createRoom } from '../../../lib';
 import { Rooms, Subscriptions, Users } from '../../../models';
 
-import { FederatedResource } from './FederatedResource';
-import { FederatedUser } from './FederatedUser';
 
 export class FederatedRoom extends FederatedResource {
 	constructor(localPeerIdentifier, room, extras = {}) {
diff --git a/app/federation/server/federatedResources/FederatedUser.js b/app/federation/server/federatedResources/FederatedUser.js
index 74f40bbf316..de6a7fee065 100644
--- a/app/federation/server/federatedResources/FederatedUser.js
+++ b/app/federation/server/federatedResources/FederatedUser.js
@@ -1,6 +1,6 @@
+import { FederatedResource } from './FederatedResource';
 import { Users } from '../../../models';
 
-import { FederatedResource } from './FederatedResource';
 
 export class FederatedUser extends FederatedResource {
 	constructor(localPeerIdentifier, user) {
diff --git a/app/federation/server/federation-settings.js b/app/federation/server/federation-settings.js
index d7f5b03f970..7a1b200fd0e 100644
--- a/app/federation/server/federation-settings.js
+++ b/app/federation/server/federation-settings.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../settings';
 import { FederationKeys } from '../../models';
 
diff --git a/app/federation/server/index.js b/app/federation/server/index.js
index 92f10a86234..834a67c10f6 100644
--- a/app/federation/server/index.js
+++ b/app/federation/server/index.js
@@ -1,11 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { _ } from 'meteor/underscore';
-import { settings } from '../../settings';
-import { FederationKeys } from '../../models';
-import { getWorkspaceAccessToken } from '../../cloud/server';
 
 import './federation-settings';
-
 import { logger } from './logger';
 import { PeerClient } from './PeerClient';
 import { PeerDNS } from './PeerDNS';
@@ -13,11 +9,13 @@ import { PeerHTTP } from './PeerHTTP';
 import { PeerPinger } from './PeerPinger';
 import { PeerServer } from './PeerServer';
 import * as SettingsUpdater from './settingsUpdater';
-
 import './methods/dashboard';
 import { addUser } from './methods/addUser';
 import { searchUsers } from './methods/searchUsers';
 import { ping } from './methods/ping';
+import { getWorkspaceAccessToken } from '../../cloud/server';
+import { FederationKeys } from '../../models';
+import { settings } from '../../settings';
 
 const peerClient = new PeerClient();
 const peerDNS = new PeerDNS();
diff --git a/app/federation/server/methods/addUser.js b/app/federation/server/methods/addUser.js
index 4ae95f51299..9a0d7a3ceaa 100644
--- a/app/federation/server/methods/addUser.js
+++ b/app/federation/server/methods/addUser.js
@@ -1,7 +1,9 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Users, FederationPeers } from '../../../models';
 
 import { Federation } from '..';
+
 import { logger } from '../logger';
 
 export function addUser(identifier) {
diff --git a/app/federation/server/methods/dashboard.js b/app/federation/server/methods/dashboard.js
index 0e359ab209d..b05dd122a42 100644
--- a/app/federation/server/methods/dashboard.js
+++ b/app/federation/server/methods/dashboard.js
@@ -2,6 +2,7 @@ import { Meteor } from 'meteor/meteor';
 import moment from 'moment';
 
 import { FederationEvents, FederationPeers, Users } from '../../../models';
+
 import { Federation } from '..';
 
 export function federationGetOverviewData() {
diff --git a/app/federation/server/methods/ping.js b/app/federation/server/methods/ping.js
index 9e8782789e3..30cace3ad96 100644
--- a/app/federation/server/methods/ping.js
+++ b/app/federation/server/methods/ping.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { FederationEvents } from '../../../models';
 import { settings } from '../../../settings';
 import { delay } from '../PeerHTTP/utils';
diff --git a/app/file-upload/client/lib/fileUploadHandler.js b/app/file-upload/client/lib/fileUploadHandler.js
index 9804c0ecca3..fe13fdcbb96 100644
--- a/app/file-upload/client/lib/fileUploadHandler.js
+++ b/app/file-upload/client/lib/fileUploadHandler.js
@@ -2,6 +2,7 @@ import { Meteor } from 'meteor/meteor';
 import { Accounts } from 'meteor/accounts-base';
 import { Tracker } from 'meteor/tracker';
 import { UploadFS } from 'meteor/jalik:ufs';
+
 import { FileUploadBase } from '../../lib/FileUploadBase';
 import { Uploads, Avatars } from '../../../models';
 
@@ -20,9 +21,8 @@ export const fileUploadHandler = (directive, meta, file) => {
 
 	if (store) {
 		return new FileUploadBase(store, meta, file);
-	} else {
-		console.error('Invalid file store', directive);
 	}
+	console.error('Invalid file store', directive);
 };
 
 Tracker.autorun(function() {
diff --git a/app/file-upload/lib/FileUploadBase.js b/app/file-upload/lib/FileUploadBase.js
index e3e08b49d1b..cbd8cb699d8 100644
--- a/app/file-upload/lib/FileUploadBase.js
+++ b/app/file-upload/lib/FileUploadBase.js
@@ -1,9 +1,10 @@
 import { Meteor } from 'meteor/meteor';
 import { Random } from 'meteor/random';
 import { UploadFS } from 'meteor/jalik:ufs';
+import _ from 'underscore';
+
 import { canAccessRoom, hasPermission } from '../../authorization';
 import { settings } from '../../settings';
-import _ from 'underscore';
 
 UploadFS.config.defaultStorePermissions = new UploadFS.StorePermissions({
 	insert(userId, doc) {
diff --git a/app/file-upload/server/config/AmazonS3.js b/app/file-upload/server/config/AmazonS3.js
index 31fdfc79b3c..c262351fc0d 100644
--- a/app/file-upload/server/config/AmazonS3.js
+++ b/app/file-upload/server/config/AmazonS3.js
@@ -1,10 +1,11 @@
+import http from 'http';
+import https from 'https';
+
 import _ from 'underscore';
+
 import { settings } from '../../../settings';
 import { FileUploadClass, FileUpload } from '../lib/FileUpload';
-
 import '../../ufs/AmazonS3/server.js';
-import http from 'http';
-import https from 'https';
 
 const get = function(file, req, res) {
 	const fileUrl = this.store.getRedirectURL(file);
diff --git a/app/file-upload/server/config/FileSystem.js b/app/file-upload/server/config/FileSystem.js
index e9b3b003c02..6589d657665 100644
--- a/app/file-upload/server/config/FileSystem.js
+++ b/app/file-upload/server/config/FileSystem.js
@@ -1,8 +1,10 @@
+import fs from 'fs';
+
 import { Meteor } from 'meteor/meteor';
 import { UploadFS } from 'meteor/jalik:ufs';
-import { settings } from '../../../settings';
 import _ from 'underscore';
-import fs from 'fs';
+
+import { settings } from '../../../settings';
 import { FileUploadClass, FileUpload } from '../lib/FileUpload';
 
 const FileSystemUploads = new FileUploadClass({
@@ -27,7 +29,6 @@ const FileSystemUploads = new FileUploadClass({
 		} catch (e) {
 			res.writeHead(404);
 			res.end();
-			return;
 		}
 	},
 
@@ -43,7 +44,6 @@ const FileSystemUploads = new FileUploadClass({
 			}
 		} catch (e) {
 			out.end();
-			return;
 		}
 	},
 });
@@ -66,7 +66,6 @@ const FileSystemAvatars = new FileUploadClass({
 		} catch (e) {
 			res.writeHead(404);
 			res.end();
-			return;
 		}
 	},
 });
@@ -92,7 +91,6 @@ const FileSystemUserDataFiles = new FileUploadClass({
 		} catch (e) {
 			res.writeHead(404);
 			res.end();
-			return;
 		}
 	},
 });
diff --git a/app/file-upload/server/config/GoogleStorage.js b/app/file-upload/server/config/GoogleStorage.js
index 57ab5c5577c..0af606ead1f 100644
--- a/app/file-upload/server/config/GoogleStorage.js
+++ b/app/file-upload/server/config/GoogleStorage.js
@@ -1,9 +1,11 @@
+import http from 'http';
+import https from 'https';
+
 import _ from 'underscore';
+
 import { FileUploadClass, FileUpload } from '../lib/FileUpload';
 import { settings } from '../../../settings';
 import '../../ufs/GoogleStorage/server.js';
-import http from 'http';
-import https from 'https';
 
 const get = function(file, req, res) {
 	this.store.getRedirectURL(file, (err, fileUrl) => {
diff --git a/app/file-upload/server/config/GridFS.js b/app/file-upload/server/config/GridFS.js
index f849d77b009..95bfafb5d96 100644
--- a/app/file-upload/server/config/GridFS.js
+++ b/app/file-upload/server/config/GridFS.js
@@ -1,7 +1,9 @@
-import { UploadFS } from 'meteor/jalik:ufs';
 import stream from 'stream';
 import zlib from 'zlib';
 import util from 'util';
+
+import { UploadFS } from 'meteor/jalik:ufs';
+
 import { Logger } from '../../../logger';
 import { FileUploadClass, FileUpload } from '../lib/FileUpload';
 
diff --git a/app/file-upload/server/config/Webdav.js b/app/file-upload/server/config/Webdav.js
index 84d2e00ce39..85def43bdf7 100644
--- a/app/file-upload/server/config/Webdav.js
+++ b/app/file-upload/server/config/Webdav.js
@@ -1,4 +1,5 @@
 import _ from 'underscore';
+
 import { FileUploadClass, FileUpload } from '../lib/FileUpload';
 import { settings } from '../../../settings';
 import '../../ufs/Webdav/server.js';
diff --git a/app/file-upload/server/config/_configUploadStorage.js b/app/file-upload/server/config/_configUploadStorage.js
index f3940013903..3fb54925db7 100644
--- a/app/file-upload/server/config/_configUploadStorage.js
+++ b/app/file-upload/server/config/_configUploadStorage.js
@@ -1,6 +1,7 @@
 import { UploadFS } from 'meteor/jalik:ufs';
-import { settings } from '../../../settings';
 import _ from 'underscore';
+
+import { settings } from '../../../settings';
 import './AmazonS3.js';
 import './FileSystem.js';
 import './GoogleStorage.js';
diff --git a/app/file-upload/server/lib/FileUpload.js b/app/file-upload/server/lib/FileUpload.js
index 00e6e5830ea..3464f4aede3 100644
--- a/app/file-upload/server/lib/FileUpload.js
+++ b/app/file-upload/server/lib/FileUpload.js
@@ -1,6 +1,7 @@
-import { Meteor } from 'meteor/meteor';
 import fs from 'fs';
 import stream from 'stream';
+
+import { Meteor } from 'meteor/meteor';
 import streamBuffers from 'stream-buffers';
 import Future from 'fibers/future';
 import sharp from 'sharp';
@@ -8,6 +9,8 @@ import { Cookies } from 'meteor/ostrio:cookies';
 import { UploadFS } from 'meteor/jalik:ufs';
 import { Match } from 'meteor/check';
 import { TAPi18n } from 'meteor/tap:i18n';
+import filesize from 'filesize';
+
 import { settings } from '../../../settings';
 import Uploads from '../../../models/server/models/Uploads';
 import UserDataFiles from '../../../models/server/models/UserDataFiles';
@@ -20,7 +23,6 @@ import { roomTypes } from '../../../utils/server/lib/roomTypes';
 import { hasPermission } from '../../../authorization/server/functions/hasPermission';
 import { canAccessRoom } from '../../../authorization/server/functions/canAccessRoom';
 import { fileUploadIsValidContentType } from '../../../utils/lib/fileUploadRestrictions';
-import filesize from 'filesize';
 
 const cookie = new Cookies();
 let maxFileSize = 0;
@@ -253,8 +255,6 @@ export const FileUpload = {
 						console.error(err);
 						fut.return();
 					});
-
-				return;
 			};
 
 			reorientation(() => {
@@ -311,7 +311,7 @@ export const FileUpload = {
 		// This file type can be pretty much anything, so it's better if we don't mess with the file extension
 		if (file.type !== 'application/octet-stream') {
 			const ext = mime.extension(file.type);
-			if (ext && false === new RegExp(`\.${ ext }$`, 'i').test(file.name)) {
+			if (ext && new RegExp(`\.${ ext }$`, 'i').test(file.name) === false) {
 				file.name = `${ file.name }.${ ext }`;
 			}
 		}
diff --git a/app/file-upload/server/lib/proxy.js b/app/file-upload/server/lib/proxy.js
index f193d8ec97c..0ac8d52d97e 100644
--- a/app/file-upload/server/lib/proxy.js
+++ b/app/file-upload/server/lib/proxy.js
@@ -1,11 +1,13 @@
+import http from 'http';
+import URL from 'url';
+
 import { Meteor } from 'meteor/meteor';
 import { WebApp } from 'meteor/webapp';
 import { UploadFS } from 'meteor/jalik:ufs';
 import { InstanceStatus } from 'meteor/konecty:multiple-instances-status';
+
 import { Logger } from '../../../logger';
 import { isDocker } from '../../../utils';
-import http from 'http';
-import URL from 'url';
 
 const logger = new Logger('UploadProxy');
 
diff --git a/app/file-upload/server/lib/requests.js b/app/file-upload/server/lib/requests.js
index b0793af4b9b..039231a0d5c 100644
--- a/app/file-upload/server/lib/requests.js
+++ b/app/file-upload/server/lib/requests.js
@@ -1,9 +1,9 @@
 import { WebApp } from 'meteor/webapp';
-import { Uploads } from '../../../models';
+
 import { FileUpload } from './FileUpload';
+import { Uploads } from '../../../models';
 
 WebApp.connectHandlers.use('/file-upload/',	function(req, res, next) {
-
 	const match = /^\/([^\/]+)\/(.*)/.exec(req.url);
 
 	if (match && match[1]) {
diff --git a/app/file-upload/server/methods/getS3FileUrl.js b/app/file-upload/server/methods/getS3FileUrl.js
index 9c68fa54832..9cd915c5e77 100644
--- a/app/file-upload/server/methods/getS3FileUrl.js
+++ b/app/file-upload/server/methods/getS3FileUrl.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { UploadFS } from 'meteor/jalik:ufs';
+
 import { settings } from '../../../settings';
 import { Uploads } from '../../../models';
 
diff --git a/app/file-upload/server/methods/sendFileMessage.js b/app/file-upload/server/methods/sendFileMessage.js
index 2bd882a95ed..cdf9aef166f 100644
--- a/app/file-upload/server/methods/sendFileMessage.js
+++ b/app/file-upload/server/methods/sendFileMessage.js
@@ -1,10 +1,11 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
 import { Random } from 'meteor/random';
+import _ from 'underscore';
+
 import { Uploads } from '../../../models';
 import { callbacks } from '../../../callbacks';
 import { FileUpload } from '../lib/FileUpload';
-import _ from 'underscore';
 
 Meteor.methods({
 	async sendFileMessage(roomId, store, file, msgData = {}) {
diff --git a/app/file-upload/ufs/AmazonS3/server.js b/app/file-upload/ufs/AmazonS3/server.js
index b1442e07c92..656bfb2c065 100644
--- a/app/file-upload/ufs/AmazonS3/server.js
+++ b/app/file-upload/ufs/AmazonS3/server.js
@@ -1,9 +1,10 @@
+import stream from 'stream';
+
 import { check } from 'meteor/check';
 import { UploadFS } from 'meteor/jalik:ufs';
 import { Random } from 'meteor/random';
 import _ from 'underscore';
 import S3 from 'aws-sdk/clients/s3';
-import stream from 'stream';
 
 /**
  * AmazonS3 store
@@ -11,7 +12,6 @@ import stream from 'stream';
  * @constructor
  */
 export class AmazonS3Store extends UploadFS.Store {
-
 	constructor(options) {
 		// Default options
 		// options.secretAccessKey,
diff --git a/app/file-upload/ufs/GoogleStorage/server.js b/app/file-upload/ufs/GoogleStorage/server.js
index 00426dbd2f3..b350caa6df3 100644
--- a/app/file-upload/ufs/GoogleStorage/server.js
+++ b/app/file-upload/ufs/GoogleStorage/server.js
@@ -9,7 +9,6 @@ import { Storage } from '@google-cloud/storage';
  * @constructor
  */
 export class GoogleStorageStore extends UploadFS.Store {
-
 	constructor(options) {
 		super(options);
 
diff --git a/app/file-upload/ufs/Webdav/server.js b/app/file-upload/ufs/Webdav/server.js
index 9319927836b..ccfcf25deec 100644
--- a/app/file-upload/ufs/Webdav/server.js
+++ b/app/file-upload/ufs/Webdav/server.js
@@ -1,24 +1,23 @@
+import stream from 'stream';
+
 import { check } from 'meteor/check';
 import { UploadFS } from 'meteor/jalik:ufs';
 import { Random } from 'meteor/random';
 import { createClient } from 'webdav';
-import stream from 'stream';
 /**
  * WebDAV store
  * @param options
  * @constructor
  */
 export class WebdavStore extends UploadFS.Store {
-
 	constructor(options) {
-
 		super(options);
 
 		const client = createClient(
 			options.connection.credentials.server,
 			{
-				username:options.connection.credentials.username,
-				password:options.connection.credentials.password,
+				username: options.connection.credentials.username,
+				password: options.connection.credentials.password,
 			}
 		);
 
diff --git a/app/file/server/file.server.js b/app/file/server/file.server.js
index 2484f4d7965..dce6d9a0c97 100644
--- a/app/file/server/file.server.js
+++ b/app/file/server/file.server.js
@@ -1,9 +1,10 @@
-import { Meteor } from 'meteor/meteor';
-import { MongoInternals } from 'meteor/mongo';
-import Grid from 'gridfs-stream';
 import stream from 'stream';
 import fs from 'fs';
 import path from 'path';
+
+import { Meteor } from 'meteor/meteor';
+import { MongoInternals } from 'meteor/mongo';
+import Grid from 'gridfs-stream';
 import mkdirp from 'mkdirp';
 
 // Fix problem with usernames being converted to object id
@@ -133,8 +134,6 @@ RocketChatFile.GridFS = class {
 		}
 		return this.remove(fileName);
 	}
-
-
 };
 
 RocketChatFile.FileSystem = class {
diff --git a/app/github-enterprise/lib/common.js b/app/github-enterprise/lib/common.js
index 11d021b6f92..7b50bc78d47 100644
--- a/app/github-enterprise/lib/common.js
+++ b/app/github-enterprise/lib/common.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
+
 import { CustomOAuth } from '../../custom-oauth';
 import { settings } from '../../settings';
 
diff --git a/app/gitlab/lib/common.js b/app/gitlab/lib/common.js
index 959ba8f70fa..14410b4723f 100644
--- a/app/gitlab/lib/common.js
+++ b/app/gitlab/lib/common.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
+
 import { settings } from '../../settings';
 import { CustomOAuth } from '../../custom-oauth';
 
diff --git a/app/google-vision/client/googlevision.js b/app/google-vision/client/googlevision.js
index cefb9f234ac..e63133fe90c 100644
--- a/app/google-vision/client/googlevision.js
+++ b/app/google-vision/client/googlevision.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
+
 import { settings } from '../../settings';
 import { callbacks } from '../../callbacks';
 
diff --git a/app/google-vision/server/googlevision.js b/app/google-vision/server/googlevision.js
index d59b87a4c8b..658ef00f263 100644
--- a/app/google-vision/server/googlevision.js
+++ b/app/google-vision/server/googlevision.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { Random } from 'meteor/random';
 import { TAPi18n } from 'meteor/tap:i18n';
+
 import { settings } from '../../settings';
 import { callbacks } from '../../callbacks';
 import { Notifications } from '../../notifications';
@@ -69,7 +70,7 @@ class GoogleVision {
 							Notifications.notifyUser(user._id, 'message', {
 								_id: Random.id(),
 								rid: message.rid,
-								ts: new Date,
+								ts: new Date(),
 								msg: TAPi18n.__('Adult_images_are_not_allowed', {}, user.language),
 							});
 						}
@@ -159,4 +160,4 @@ class GoogleVision {
 	}
 }
 
-export default new GoogleVision;
+export default new GoogleVision();
diff --git a/app/google-vision/server/settings.js b/app/google-vision/server/settings.js
index a8639886b48..ae5a41dd917 100644
--- a/app/google-vision/server/settings.js
+++ b/app/google-vision/server/settings.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../settings';
 
 Meteor.startup(function() {
diff --git a/app/grant-facebook/server/index.js b/app/grant-facebook/server/index.js
index b95e147134c..be3e0759abf 100644
--- a/app/grant-facebook/server/index.js
+++ b/app/grant-facebook/server/index.js
@@ -1,6 +1,7 @@
-import { Providers, GrantError } from '../../grant';
 import { HTTP } from 'meteor/http';
 
+import { Providers, GrantError } from '../../grant';
+
 const userAgent = 'Meteor';
 const version = 'v2.10';
 
diff --git a/app/grant-github/server/index.js b/app/grant-github/server/index.js
index 51b6428d457..e01741e304f 100644
--- a/app/grant-github/server/index.js
+++ b/app/grant-github/server/index.js
@@ -1,6 +1,7 @@
-import { Providers, GrantError } from '../../grant';
 import { HTTP } from 'meteor/http';
 
+import { Providers, GrantError } from '../../grant';
+
 const userAgent = 'Meteor';
 
 function getIdentity(accessToken) {
diff --git a/app/grant-google/server/index.js b/app/grant-google/server/index.js
index ef685eff355..5c4aa9dad0d 100644
--- a/app/grant-google/server/index.js
+++ b/app/grant-google/server/index.js
@@ -1,6 +1,7 @@
-import { Providers, GrantError } from '../../grant';
 import { HTTP } from 'meteor/http';
 
+import { Providers, GrantError } from '../../grant';
+
 const userAgent = 'Meteor';
 
 function getIdentity(accessToken) {
diff --git a/app/grant/server/authenticate.js b/app/grant/server/authenticate.js
index ccaef8f1822..48f7b097620 100644
--- a/app/grant/server/authenticate.js
+++ b/app/grant/server/authenticate.js
@@ -1,9 +1,10 @@
-import { AccountsServer } from '../../accounts';
-import { Users } from '../../models';
 import { Accounts } from 'meteor/accounts-base';
 import { Meteor } from 'meteor/meteor';
+
 import { GrantError } from './error';
 import Providers from './providers';
+import { AccountsServer } from '../../accounts';
+import { Users } from '../../models';
 import { t } from '../../utils';
 
 const setAvatarFromUrl = (userId, url) => new Promise((resolve, reject) => {
@@ -11,9 +12,9 @@ const setAvatarFromUrl = (userId, url) => new Promise((resolve, reject) => {
 		Meteor.call('setAvatarFromService', url, '', 'url', (err) => {
 			if (err) {
 				if (err.details && err.details.timeToReset) {
-					reject((t('error-too-many-requests', {
+					reject(t('error-too-many-requests', {
 						seconds: parseInt(err.details.timeToReset / 1000),
-					})));
+					}));
 				} else {
 					reject(t('Avatar_url_invalid_or_error'));
 				}
diff --git a/app/grant/server/error.js b/app/grant/server/error.js
index 16ab38913db..249319e6b91 100644
--- a/app/grant/server/error.js
+++ b/app/grant/server/error.js
@@ -1,5 +1,2 @@
 export class GrantError extends Error {
-	constructor(...args) {
-		super(...args);
-	}
 }
diff --git a/app/grant/server/grant.js b/app/grant/server/grant.js
index 191e547b76d..b6a256a32e3 100644
--- a/app/grant/server/grant.js
+++ b/app/grant/server/grant.js
@@ -1,7 +1,7 @@
-import { hostname } from '../../lib';
 import Providers from './providers';
 import Settings from './settings';
 import { path, generateCallback, generateAppCallback } from './routes';
+import { hostname } from '../../lib';
 
 function addProviders(config) {
 	Settings.forEach((settings, providerName) => {
diff --git a/app/grant/server/providers.js b/app/grant/server/providers.js
index ba9de5d65fe..59735448e46 100644
--- a/app/grant/server/providers.js
+++ b/app/grant/server/providers.js
@@ -18,7 +18,7 @@ class Providers extends Storage {
 	}
 }
 
-const providers = new Providers;
+const providers = new Providers();
 
 export default providers;
 
diff --git a/app/grant/server/settings.js b/app/grant/server/settings.js
index 2d426a614ed..c5145b5649e 100644
--- a/app/grant/server/settings.js
+++ b/app/grant/server/settings.js
@@ -18,8 +18,9 @@ class Settings extends Storage {
 	constructor() {
 		super();
 
-		this.apps = new Apps;
+		this.apps = new Apps();
 	}
+
 	add(settings) {
 		check(settings, {
 			enabled: Match.Optional(Boolean),
@@ -37,6 +38,6 @@ class Settings extends Storage {
 	}
 }
 
-const settings = new Settings;
+const settings = new Settings();
 
 export default settings;
diff --git a/app/graphql/server/api.js b/app/graphql/server/api.js
index 9da7e0e705e..60e56262e10 100644
--- a/app/graphql/server/api.js
+++ b/app/graphql/server/api.js
@@ -4,12 +4,13 @@ import { SubscriptionServer } from 'subscriptions-transport-ws';
 import { execute, subscribe } from 'graphql';
 import { Meteor } from 'meteor/meteor';
 import { WebApp } from 'meteor/webapp';
-import { settings } from '../../settings';
 import bodyParser from 'body-parser';
 import express from 'express';
 import cors from 'cors';
 
 import { executableSchema } from './schema';
+import { settings } from '../../settings';
+
 
 const subscriptionPort = settings.get('Graphql_Subscription_Port') || 3100;
 
diff --git a/app/graphql/server/mocks/accounts/graphql-api.js b/app/graphql/server/mocks/accounts/graphql-api.js
index d45aa90d2da..4dc6a6783ec 100644
--- a/app/graphql/server/mocks/accounts/graphql-api.js
+++ b/app/graphql/server/mocks/accounts/graphql-api.js
@@ -4,7 +4,7 @@
 // maybe Promise is not wrapped with Fiber
 // See: https://github.com/meteor/meteor/blob/a362e20a37547362b581fed52f7171d022e83b62/packages/promise/server.js
 // Opened issue: https://github.com/js-accounts/graphql/issues/16
-export const authenticated = (Accounts, func) => (async (root, args, context, info) => {
+export const authenticated = (Accounts, func) => async (root, args, context, info) => {
 	const { authToken } = context;
 
 	if (!authToken || authToken === '' || authToken === null) {
@@ -17,5 +17,5 @@ export const authenticated = (Accounts, func) => (async (root, args, context, in
 		throw new Error('Invalid or expired token!');
 	}
 
-	return await func(root, args, Object.assign(context, { user: userObject }), info);
-});
+	return func(root, args, Object.assign(context, { user: userObject }), info);
+};
diff --git a/app/graphql/server/resolvers/accounts/index.js b/app/graphql/server/resolvers/accounts/index.js
index 57b837ec61b..8d49638291a 100644
--- a/app/graphql/server/resolvers/accounts/index.js
+++ b/app/graphql/server/resolvers/accounts/index.js
@@ -1,11 +1,12 @@
 import { createJSAccountsGraphQL } from '@accounts/graphql-api';
-import { AccountsServer } from '../../../../accounts';
 import { mergeTypes, mergeResolvers } from 'merge-graphql-schemas';
 
+
 // queries
 import * as oauthProviders from './oauthProviders';
 // types
 import * as OauthProviderType from './OauthProvider-type';
+import { AccountsServer } from '../../../../accounts';
 
 const accountsGraphQL = createJSAccountsGraphQL(AccountsServer);
 
diff --git a/app/graphql/server/resolvers/accounts/oauthProviders.js b/app/graphql/server/resolvers/accounts/oauthProviders.js
index 0719d944174..7928e07705e 100644
--- a/app/graphql/server/resolvers/accounts/oauthProviders.js
+++ b/app/graphql/server/resolvers/accounts/oauthProviders.js
@@ -23,9 +23,8 @@ const resolver = {
 					const providers = JSON.parse(result).data;
 
 					return providers.map((name) => ({ name }));
-				} else {
-					throw new Error('Could not parse the result');
 				}
+				throw new Error('Could not parse the result');
 			} catch (e) {
 				throw new Error('rocketchat:grant not installed');
 			}
diff --git a/app/graphql/server/resolvers/channels/Channel-type.js b/app/graphql/server/resolvers/channels/Channel-type.js
index a0aab1087f2..c21d7102ca8 100644
--- a/app/graphql/server/resolvers/channels/Channel-type.js
+++ b/app/graphql/server/resolvers/channels/Channel-type.js
@@ -1,6 +1,6 @@
-import { Subscriptions, Users } from '../../../../models';
 import property from 'lodash.property';
 
+import { Subscriptions, Users } from '../../../../models';
 import schema from '../../schemas/channels/Channel-type.graphqls';
 
 const resolver = {
diff --git a/app/graphql/server/resolvers/channels/channelByName.js b/app/graphql/server/resolvers/channels/channelByName.js
index 14b70378b5e..21fb67f9515 100644
--- a/app/graphql/server/resolvers/channels/channelByName.js
+++ b/app/graphql/server/resolvers/channels/channelByName.js
@@ -1,7 +1,6 @@
+import { roomPublicFields } from './settings';
 import { Rooms } from '../../../../models';
-
 import { authenticated } from '../../helpers/authenticated';
-import { roomPublicFields } from './settings';
 import schema from '../../schemas/channels/channelByName.graphqls';
 
 const resolver = {
diff --git a/app/graphql/server/resolvers/channels/channels.js b/app/graphql/server/resolvers/channels/channels.js
index 80a357154ce..638504a3b5e 100644
--- a/app/graphql/server/resolvers/channels/channels.js
+++ b/app/graphql/server/resolvers/channels/channels.js
@@ -1,7 +1,6 @@
+import { roomPublicFields } from './settings';
 import { Rooms } from '../../../../models';
-
 import { authenticated } from '../../helpers/authenticated';
-import { roomPublicFields } from './settings';
 import schema from '../../schemas/channels/channels.graphqls';
 
 const resolver = {
@@ -18,7 +17,7 @@ const resolver = {
 			// Filter
 			if (typeof args.filter !== 'undefined') {
 				// nameFilter
-				if (typeof args.filter.nameFilter !== undefined) {
+				if (typeof args.filter.nameFilter !== 'undefined') {
 					query.name = {
 						$regex: new RegExp(args.filter.nameFilter, 'i'),
 					};
diff --git a/app/graphql/server/resolvers/channels/channelsByUser.js b/app/graphql/server/resolvers/channels/channelsByUser.js
index 51848b16082..09cff667577 100644
--- a/app/graphql/server/resolvers/channels/channelsByUser.js
+++ b/app/graphql/server/resolvers/channels/channelsByUser.js
@@ -1,7 +1,6 @@
+import { roomPublicFields } from './settings';
 import { Users, Subscriptions, Rooms } from '../../../../models';
-
 import { authenticated } from '../../helpers/authenticated';
-import { roomPublicFields } from './settings';
 import schema from '../../schemas/channels/channelsByUser.graphqls';
 
 const resolver = {
diff --git a/app/graphql/server/resolvers/channels/deleteChannel.js b/app/graphql/server/resolvers/channels/deleteChannel.js
index 8eeff88e88c..3c3aaca6de9 100644
--- a/app/graphql/server/resolvers/channels/deleteChannel.js
+++ b/app/graphql/server/resolvers/channels/deleteChannel.js
@@ -1,6 +1,6 @@
 import { Meteor } from 'meteor/meteor';
-import { Rooms, Subscriptions } from '../../../../models';
 
+import { Rooms, Subscriptions } from '../../../../models';
 import { authenticated } from '../../helpers/authenticated';
 import schema from '../../schemas/channels/deleteChannel.graphqls';
 
diff --git a/app/graphql/server/resolvers/channels/directChannel.js b/app/graphql/server/resolvers/channels/directChannel.js
index 20ab63ec987..a23219814f1 100644
--- a/app/graphql/server/resolvers/channels/directChannel.js
+++ b/app/graphql/server/resolvers/channels/directChannel.js
@@ -1,7 +1,6 @@
+import { roomPublicFields } from './settings';
 import { Rooms } from '../../../../models';
-
 import { authenticated } from '../../helpers/authenticated';
-import { roomPublicFields } from './settings';
 import schema from '../../schemas/channels/directChannel.graphqls';
 
 const resolver = {
diff --git a/app/graphql/server/resolvers/channels/hideChannel.js b/app/graphql/server/resolvers/channels/hideChannel.js
index 12083caf47c..b0865c7e4fb 100644
--- a/app/graphql/server/resolvers/channels/hideChannel.js
+++ b/app/graphql/server/resolvers/channels/hideChannel.js
@@ -1,6 +1,6 @@
 import { Meteor } from 'meteor/meteor';
-import { Rooms, Subscriptions } from '../../../../models';
 
+import { Rooms, Subscriptions } from '../../../../models';
 import { authenticated } from '../../helpers/authenticated';
 import schema from '../../schemas/channels/hideChannel.graphqls';
 
diff --git a/app/graphql/server/resolvers/channels/leaveChannel.js b/app/graphql/server/resolvers/channels/leaveChannel.js
index 0df7d8bf0eb..8448e778b53 100644
--- a/app/graphql/server/resolvers/channels/leaveChannel.js
+++ b/app/graphql/server/resolvers/channels/leaveChannel.js
@@ -1,6 +1,6 @@
 import { Meteor } from 'meteor/meteor';
-import { Rooms } from '../../../../models';
 
+import { Rooms } from '../../../../models';
 import { authenticated } from '../../helpers/authenticated';
 import schema from '../../schemas/channels/leaveChannel.graphqls';
 
diff --git a/app/graphql/server/resolvers/messages/Message-type.js b/app/graphql/server/resolvers/messages/Message-type.js
index 7f83e8ff72f..5f9bd1cbc69 100644
--- a/app/graphql/server/resolvers/messages/Message-type.js
+++ b/app/graphql/server/resolvers/messages/Message-type.js
@@ -1,6 +1,6 @@
-import { Rooms, Users } from '../../../../models';
 import property from 'lodash.property';
 
+import { Rooms, Users } from '../../../../models';
 import { dateToFloat } from '../../helpers/dateToFloat';
 import schema from '../../schemas/messages/Message-type.graphqls';
 
diff --git a/app/graphql/server/resolvers/messages/addReactionToMessage.js b/app/graphql/server/resolvers/messages/addReactionToMessage.js
index 0960963d66a..a90b8e57f49 100644
--- a/app/graphql/server/resolvers/messages/addReactionToMessage.js
+++ b/app/graphql/server/resolvers/messages/addReactionToMessage.js
@@ -1,6 +1,6 @@
 import { Meteor } from 'meteor/meteor';
-import { Messages } from '../../../../models';
 
+import { Messages } from '../../../../models';
 import { authenticated } from '../../helpers/authenticated';
 import schema from '../../schemas/messages/addReactionToMessage.graphqls';
 
diff --git a/app/graphql/server/resolvers/messages/chatMessageAdded.js b/app/graphql/server/resolvers/messages/chatMessageAdded.js
index e8b6ebe4e41..f8e3e54c455 100644
--- a/app/graphql/server/resolvers/messages/chatMessageAdded.js
+++ b/app/graphql/server/resolvers/messages/chatMessageAdded.js
@@ -1,7 +1,7 @@
 import { withFilter } from 'graphql-subscriptions';
+
 import { Rooms } from '../../../../models';
 import { callbacks } from '../../../../callbacks';
-
 import { pubsub } from '../../subscriptions';
 import { authenticated } from '../../helpers/authenticated';
 import schema from '../../schemas/messages/chatMessageAdded.graphqls';
@@ -15,7 +15,7 @@ export function publishMessage(message) {
 function shouldPublish(message, { id, directTo }, username) {
 	if (id) {
 		return message.rid === id;
-	} else if (directTo) {
+	} if (directTo) {
 		const room = Rooms.findOne({
 			usernames: { $all: [directTo, username] },
 			t: 'd',
diff --git a/app/graphql/server/resolvers/messages/deleteMessage.js b/app/graphql/server/resolvers/messages/deleteMessage.js
index c91f5dc4ac2..feb2374ba29 100644
--- a/app/graphql/server/resolvers/messages/deleteMessage.js
+++ b/app/graphql/server/resolvers/messages/deleteMessage.js
@@ -1,6 +1,6 @@
 import { Meteor } from 'meteor/meteor';
-import { Messages } from '../../../../models';
 
+import { Messages } from '../../../../models';
 import { authenticated } from '../../helpers/authenticated';
 import schema from '../../schemas/messages/deleteMessage.graphqls';
 
diff --git a/app/graphql/server/resolvers/messages/editMessage.js b/app/graphql/server/resolvers/messages/editMessage.js
index 818702bcd15..9511a3dfc10 100644
--- a/app/graphql/server/resolvers/messages/editMessage.js
+++ b/app/graphql/server/resolvers/messages/editMessage.js
@@ -1,6 +1,6 @@
 import { Meteor } from 'meteor/meteor';
-import { Messages } from '../../../../models';
 
+import { Messages } from '../../../../models';
 import { authenticated } from '../../helpers/authenticated';
 import schema from '../../schemas/messages/editMessage.graphqls';
 
diff --git a/app/graphql/server/resolvers/messages/messages.js b/app/graphql/server/resolvers/messages/messages.js
index 03f6daee8bc..e52e2d0ac78 100644
--- a/app/graphql/server/resolvers/messages/messages.js
+++ b/app/graphql/server/resolvers/messages/messages.js
@@ -1,5 +1,4 @@
 import { Rooms, Messages } from '../../../../models';
-
 import { authenticated } from '../../helpers/authenticated';
 import schema from '../../schemas/messages/messages.graphqls';
 
diff --git a/app/graphql/server/resolvers/users/User-type.js b/app/graphql/server/resolvers/users/User-type.js
index c9c4add527f..0abf0c5751e 100644
--- a/app/graphql/server/resolvers/users/User-type.js
+++ b/app/graphql/server/resolvers/users/User-type.js
@@ -1,7 +1,7 @@
 import { Meteor } from 'meteor/meteor';
-import { Avatars, Rooms } from '../../../../models';
 import property from 'lodash.property';
 
+import { Avatars, Rooms } from '../../../../models';
 import schema from '../../schemas/users/User-type.graphqls';
 
 const resolver = {
@@ -18,7 +18,7 @@ const resolver = {
 				return avatar.url;
 			}
 		},
-		channels: Meteor.bindEnvironment(async ({ _id }) => await Rooms.findBySubscriptionUserId(_id).fetch()),
+		channels: Meteor.bindEnvironment(({ _id }) => Rooms.findBySubscriptionUserId(_id).fetch()),
 		directMessages: ({ username }) => Rooms.findDirectRoomContainingUsername(username).fetch(),
 	},
 };
diff --git a/app/graphql/server/resolvers/users/setStatus.js b/app/graphql/server/resolvers/users/setStatus.js
index e66ebf11ae1..d4a68da651a 100644
--- a/app/graphql/server/resolvers/users/setStatus.js
+++ b/app/graphql/server/resolvers/users/setStatus.js
@@ -1,5 +1,4 @@
 import { Users } from '../../../../models';
-
 import { authenticated } from '../../helpers/authenticated';
 import schema from '../../schemas/users/setStatus.graphqls';
 
diff --git a/app/highlight-words/client/client.js b/app/highlight-words/client/client.js
index b2e811b3b87..a3ce4425d47 100644
--- a/app/highlight-words/client/client.js
+++ b/app/highlight-words/client/client.js
@@ -4,13 +4,12 @@
  */
 import _ from 'underscore';
 import s from 'underscore.string';
-
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
 
+import { highlightWords, getRegexHighlight, getRegexHighlightUrl } from './helper';
 import { callbacks } from '../../callbacks';
 import { getUserPreference } from '../../utils';
-import { highlightWords, getRegexHighlight, getRegexHighlightUrl } from './helper';
 
 Tracker.autorun(() => {
 	const toHighlight = (getUserPreference(Meteor.userId(), 'highlights') || []).filter((highlight) => !s.isBlank(highlight)).map((highlight) => ({
diff --git a/app/highlight-words/client/helper.js b/app/highlight-words/client/helper.js
index a82bbdc2a4e..5afd122b6f9 100644
--- a/app/highlight-words/client/helper.js
+++ b/app/highlight-words/client/helper.js
@@ -22,7 +22,6 @@ export const highlightWords = (msg, highlights) => highlights.reduce((msg, { hig
 	const urlMatches = checkHighlightedWordsInUrls(msg, urlRegex);
 	if (!urlMatches) {
 		return msg.replace(regex, highlightTemplate);
-
 	}
 	return removeHighlightedUrls(msg.replace(regex, highlightTemplate), highlight, urlMatches);
 }, msg);
diff --git a/app/highlight-words/tests/helper.tests.js b/app/highlight-words/tests/helper.tests.js
index 16e3812138b..28c5fd07516 100644
--- a/app/highlight-words/tests/helper.tests.js
+++ b/app/highlight-words/tests/helper.tests.js
@@ -2,6 +2,7 @@
 
 import 'babel-polyfill';
 import assert from 'assert';
+
 import { highlightWords, getRegexHighlight, getRegexHighlightUrl } from '../client/helper';
 
 describe('helper', () => {
diff --git a/app/iframe-login/client/iframe_client.js b/app/iframe-login/client/iframe_client.js
index 48e72e251ec..d4c718fb405 100644
--- a/app/iframe-login/client/iframe_client.js
+++ b/app/iframe-login/client/iframe_client.js
@@ -1,7 +1,8 @@
 import { Accounts } from 'meteor/accounts-base';
-import { IframeLogin } from '../../ui-utils';
 import _ from 'underscore';
 
+import { IframeLogin } from '../../ui-utils';
+
 const iframeLogin = new IframeLogin();
 
 const { _unstoreLoginToken } = Accounts;
diff --git a/app/iframe-login/server/iframe_rocketchat.js b/app/iframe-login/server/iframe_rocketchat.js
index 794be76c18c..b23285be8e6 100644
--- a/app/iframe-login/server/iframe_rocketchat.js
+++ b/app/iframe-login/server/iframe_rocketchat.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../settings';
 
 Meteor.startup(function() {
diff --git a/app/importer-csv/server/adder.js b/app/importer-csv/server/adder.js
index 8ab31878fb7..da1eaacdd03 100644
--- a/app/importer-csv/server/adder.js
+++ b/app/importer-csv/server/adder.js
@@ -1,5 +1,5 @@
+import { CsvImporter } from './importer';
 import { Importers } from '../../importer/server';
 import { CsvImporterInfo } from '../lib/info';
-import { CsvImporter } from './importer';
 
 Importers.add(new CsvImporterInfo(), CsvImporter);
diff --git a/app/importer-csv/server/importer.js b/app/importer-csv/server/importer.js
index 5eeed2a1867..fdc715c38cf 100644
--- a/app/importer-csv/server/importer.js
+++ b/app/importer-csv/server/importer.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Accounts } from 'meteor/accounts-base';
+
 import {
 	Base,
 	ProgressStep,
@@ -252,7 +253,7 @@ export class CsvImporter extends Base {
 								this.channels.channels.push({
 									id: cname.replace('.', '_'),
 									name: cname,
-									rocketId: (cname.toUpperCase() === 'GENERAL' ? 'GENERAL' : existantRoom._id),
+									rocketId: cname.toUpperCase() === 'GENERAL' ? 'GENERAL' : existantRoom._id,
 									do_import: true,
 								});
 							}
diff --git a/app/importer-hipchat-enterprise/server/adder.js b/app/importer-hipchat-enterprise/server/adder.js
index 097a5071306..11f9a8e7b4b 100644
--- a/app/importer-hipchat-enterprise/server/adder.js
+++ b/app/importer-hipchat-enterprise/server/adder.js
@@ -1,5 +1,5 @@
+import { HipChatEnterpriseImporter } from './importer';
 import { Importers } from '../../importer/server';
 import { HipChatEnterpriseImporterInfo } from '../lib/info';
-import { HipChatEnterpriseImporter } from './importer';
 
 Importers.add(new HipChatEnterpriseImporterInfo(), HipChatEnterpriseImporter);
diff --git a/app/importer-hipchat-enterprise/server/importer.js b/app/importer-hipchat-enterprise/server/importer.js
index cb905639e25..768f13a961e 100644
--- a/app/importer-hipchat-enterprise/server/importer.js
+++ b/app/importer-hipchat-enterprise/server/importer.js
@@ -1,7 +1,13 @@
+import { Readable } from 'stream';
+import path from 'path';
+import fs from 'fs';
+
 import limax from 'limax';
 import { Meteor } from 'meteor/meteor';
 import { Accounts } from 'meteor/accounts-base';
 import { Random } from 'meteor/random';
+import TurndownService from 'turndown';
+
 import {
 	Base,
 	ProgressStep,
@@ -12,10 +18,6 @@ import {
 } from '../../importer/server';
 import { Messages, Users, Subscriptions, Rooms } from '../../models';
 import { insertMessage } from '../../lib';
-import { Readable } from 'stream';
-import path from 'path';
-import fs from 'fs';
-import TurndownService from 'turndown';
 
 const turndownService = new TurndownService({
 	strongDelimiter: '*',
@@ -105,7 +107,7 @@ export class HipChatEnterpriseImporter extends Base {
 
 			tempUsers.push(userData);
 			if (tempUsers.length >= 100) {
-				await this.storeTempUsers(tempUsers);
+				await this.storeTempUsers(tempUsers); // eslint-disable-line no-await-in-loop
 				tempUsers = [];
 			}
 		}
@@ -158,7 +160,7 @@ export class HipChatEnterpriseImporter extends Base {
 			count++;
 
 			if (tempRooms.length >= 100) {
-				await this.storeTempRooms(tempRooms);
+				await this.storeTempRooms(tempRooms); // eslint-disable-line no-await-in-loop
 				tempRooms = [];
 			}
 		}
@@ -235,7 +237,7 @@ export class HipChatEnterpriseImporter extends Base {
 			}
 
 			if (msgs.length >= 500) {
-				await this.storeUserTempMessages(msgs, roomIdentifier, index);
+				await this.storeUserTempMessages(msgs, roomIdentifier, index); // eslint-disable-line no-await-in-loop
 				msgs = [];
 			}
 		}
@@ -277,7 +279,7 @@ export class HipChatEnterpriseImporter extends Base {
 			if (m.UserMessage) {
 				const newId = `hipchatenterprise-${ id }-user-${ m.UserMessage.id }`;
 				const skipMessage = this._checkIfMessageExists(newId);
-				const skipAttachment = (skipMessage && (m.UserMessage.attachment_path ? this._checkIfMessageExists(`${ newId }-attachment`) : true));
+				const skipAttachment = skipMessage && (m.UserMessage.attachment_path ? this._checkIfMessageExists(`${ newId }-attachment`) : true);
 
 				if (!skipMessage || !skipAttachment) {
 					roomMsgs.push({
@@ -335,7 +337,7 @@ export class HipChatEnterpriseImporter extends Base {
 
 			if (roomMsgs.length >= 500) {
 				subIndex++;
-				await this.storeTempMessages(roomMsgs, roomIdentifier, index, subIndex, id);
+				await this.storeTempMessages(roomMsgs, roomIdentifier, index, subIndex, id); // eslint-disable-line no-await-in-loop
 				roomMsgs = [];
 			}
 		}
@@ -385,7 +387,7 @@ export class HipChatEnterpriseImporter extends Base {
 				await this.prepareRoomsFile(file);
 				break;
 			case 'history.json':
-				return await this.prepareMessagesFile(file, info);
+				return this.prepareMessagesFile(file, info);
 			case 'emoticons.json':
 				this.logger.error('HipChat Enterprise importer doesn\'t import emoticons.', info);
 				break;
@@ -407,7 +409,7 @@ export class HipChatEnterpriseImporter extends Base {
 				this.logger.info(`new entry from import folder: ${ fileName }`);
 
 				if (fs.statSync(fullFilePath).isDirectory()) {
-					await this._prepareFolderEntry(fullFilePath, fullRelativePath);
+					await this._prepareFolderEntry(fullFilePath, fullRelativePath); // eslint-disable-line no-await-in-loop
 					continue;
 				}
 
@@ -429,7 +431,7 @@ export class HipChatEnterpriseImporter extends Base {
 					});
 				});
 
-				await promise.catch((error) => {
+				await promise.catch((error) => { // eslint-disable-line no-await-in-loop
 					this.logger.error(error);
 					fileData = null;
 				});
@@ -441,7 +443,7 @@ export class HipChatEnterpriseImporter extends Base {
 
 				this.logger.info(`Processing the file: ${ fileName }`);
 				const info = this.path.parse(fullRelativePath);
-				await this.prepareFile(info, fileData, fileName);
+				await this.prepareFile(info, fileData, fileName); // eslint-disable-line no-await-in-loop
 
 				this.logger.debug('moving to next import folder entry');
 			} catch (e) {
@@ -1110,7 +1112,7 @@ export class HipChatEnterpriseImporter extends Base {
 			let msgCount = 0;
 			try {
 				for (const msg of list.messages) {
-					await this._importSingleMessage(msg, roomIdentifier, room);
+					await this._importSingleMessage(msg, roomIdentifier, room); // eslint-disable-line no-await-in-loop
 					msgCount++;
 					if (msgCount >= 50) {
 						super.addCountCompleted(msgCount);
@@ -1125,7 +1127,6 @@ export class HipChatEnterpriseImporter extends Base {
 				super.addCountCompleted(msgCount);
 			}
 		});
-
 	}
 
 	async _importMessages(startedByUserId) {
@@ -1136,7 +1137,7 @@ export class HipChatEnterpriseImporter extends Base {
 		}, { fields: { _id: true } }).fetch();
 
 		for (const item of messageListIds) {
-			await this._importMessageList(startedByUserId, item._id);
+			await this._importMessageList(startedByUserId, item._id); // eslint-disable-line no-await-in-loop
 		}
 	}
 
diff --git a/app/importer-hipchat/server/adder.js b/app/importer-hipchat/server/adder.js
index 3a5d8b47362..7379752371a 100644
--- a/app/importer-hipchat/server/adder.js
+++ b/app/importer-hipchat/server/adder.js
@@ -1,5 +1,5 @@
+import { HipChatImporter } from './importer';
 import { Importers } from '../../importer/server';
 import { HipChatImporterInfo } from '../lib/info';
-import { HipChatImporter } from './importer';
 
 Importers.add(new HipChatImporterInfo(), HipChatImporter);
diff --git a/app/importer-hipchat/server/importer.js b/app/importer-hipchat/server/importer.js
index b3a8968be21..2573e9ba63b 100644
--- a/app/importer-hipchat/server/importer.js
+++ b/app/importer-hipchat/server/importer.js
@@ -1,6 +1,9 @@
 import limax from 'limax';
 import { Meteor } from 'meteor/meteor';
 import { Accounts } from 'meteor/accounts-base';
+import _ from 'underscore';
+import moment from 'moment';
+
 import {
 	Base,
 	ProgressStep,
@@ -11,8 +14,6 @@ import {
 import { RocketChatFile } from '../../file';
 import { Users, Rooms } from '../../models';
 import { sendMessage } from '../../lib';
-import _ from 'underscore';
-import moment from 'moment';
 
 import 'moment-timezone';
 
@@ -58,7 +59,8 @@ export class HipChatImporter extends Base {
 						tempMessages[roomName] = {};
 					}
 					try {
-						return tempMessages[roomName][msgGroupData] = JSON.parse(entry.getData().toString());
+						tempMessages[roomName][msgGroupData] = JSON.parse(entry.getData().toString());
+						return tempMessages[roomName][msgGroupData];
 					} catch (error) {
 						return this.logger.warn(`${ entry.entryName } is not a valid JSON file! Unable to import it.`);
 					}
@@ -67,10 +69,10 @@ export class HipChatImporter extends Base {
 				const usersName = entry.entryName.split(this.usersPrefix)[1];
 				if (usersName === 'list.json') {
 					super.updateProgress(ProgressStep.PREPARING_USERS);
-					return tempUsers = JSON.parse(entry.getData().toString()).users;
-				} else {
-					return this.logger.warn(`Unexpected file in the ${ this.name } import: ${ entry.entryName }`);
+					tempUsers = JSON.parse(entry.getData().toString()).users;
+					return tempUsers;
 				}
+				return this.logger.warn(`Unexpected file in the ${ this.name } import: ${ entry.entryName }`);
 			}
 		});
 		const usersId = this.collection.insert({
@@ -164,7 +166,11 @@ export class HipChatImporter extends Base {
 		this.collection.update({ _id: this.users._id }, { $set: { users: this.users.users } });
 
 		importSelection.channels.forEach((channel) =>
-			this.channels.channels.forEach((c) => c.room_id === channel.channel_id && (c.do_import = channel.do_import))
+			this.channels.channels.forEach((c) => {
+				if (c.room_id === channel.channel_id) {
+					c.do_import = channel.do_import;
+				}
+			})
 		);
 		this.collection.update({ _id: this.channels._id }, { $set: { channels: this.channels.channels } });
 
@@ -239,7 +245,7 @@ export class HipChatImporter extends Base {
 							}
 							Meteor.runAsUser(userId, () => {
 								const returned = Meteor.call('createChannel', channel.name, []);
-								return channel.rocketId = returned.rid;
+								channel.rocketId = returned.rid;
 							});
 							Rooms.update({
 								_id: channel.rocketId,
diff --git a/app/importer-slack-users/server/adder.js b/app/importer-slack-users/server/adder.js
index 6d23f6939b1..1651465e5d4 100644
--- a/app/importer-slack-users/server/adder.js
+++ b/app/importer-slack-users/server/adder.js
@@ -1,5 +1,5 @@
+import { SlackUsersImporter } from './importer';
 import { Importers } from '../../importer/server';
 import { SlackUsersImporterInfo } from '../lib/info';
-import { SlackUsersImporter } from './importer';
 
 Importers.add(new SlackUsersImporterInfo(), SlackUsersImporter);
diff --git a/app/importer-slack-users/server/importer.js b/app/importer-slack-users/server/importer.js
index 42e60bb918a..9895fd07990 100644
--- a/app/importer-slack-users/server/importer.js
+++ b/app/importer-slack-users/server/importer.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { Accounts } from 'meteor/accounts-base';
 import { Random } from 'meteor/random';
+
 import {
 	Base,
 	ProgressStep,
diff --git a/app/importer-slack/server/adder.js b/app/importer-slack/server/adder.js
index 6442d31dfa4..d8499b517f0 100644
--- a/app/importer-slack/server/adder.js
+++ b/app/importer-slack/server/adder.js
@@ -1,5 +1,5 @@
+import { SlackImporter } from './importer';
 import { Importers } from '../../importer/server';
 import { SlackImporterInfo } from '../lib/info';
-import { SlackImporter } from './importer';
 
 Importers.add(new SlackImporterInfo(), SlackImporter);
diff --git a/app/importer-slack/server/importer.js b/app/importer-slack/server/importer.js
index 0df63a0c8ee..6c91c32532b 100644
--- a/app/importer-slack/server/importer.js
+++ b/app/importer-slack/server/importer.js
@@ -1,5 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { Accounts } from 'meteor/accounts-base';
+import _ from 'underscore';
+
 import {
 	Base,
 	ProgressStep,
@@ -12,7 +14,6 @@ import { getUserAvatarURL } from '../../utils/lib/getUserAvatarURL';
 import { Users, Rooms, Messages } from '../../models';
 import { sendMessage } from '../../lib';
 
-import _ from 'underscore';
 
 export class SlackImporter extends Base {
 	constructor(info) {
@@ -221,7 +222,7 @@ export class SlackImporter extends Base {
 						return;
 					}
 
-					Meteor.runAsUser (startedByUserId, () => {
+					Meteor.runAsUser(startedByUserId, () => {
 						const existantRoom = Rooms.findOneByName(channel.name);
 						if (existantRoom || channel.is_general) {
 							if (channel.is_general && existantRoom && channel.name !== existantRoom.name) {
@@ -377,8 +378,8 @@ export class SlackImporter extends Base {
 													...msgDataDefaults,
 													attachments: [{
 														text: this.convertSlackMessageToRocketChat(message.attachments[0].text),
-														author_name : message.attachments[0].author_subname,
-														author_icon : getUserAvatarURL(message.attachments[0].author_subname),
+														author_name: message.attachments[0].author_subname,
+														author_icon: getUserAvatarURL(message.attachments[0].author_subname),
 													}],
 												};
 												Messages.createWithTypeRoomIdMessageAndUser('message_pinned', room._id, '', this.getRocketUser(message.user), msgObj);
diff --git a/app/importer/client/ImporterWebsocketReceiver.js b/app/importer/client/ImporterWebsocketReceiver.js
index 1d834134c29..83c70b32388 100644
--- a/app/importer/client/ImporterWebsocketReceiver.js
+++ b/app/importer/client/ImporterWebsocketReceiver.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { CachedCollectionManager } from '../../ui-cached-collection';
 
 class ImporterWebsocketReceiverDef {
diff --git a/app/importer/client/admin/adminImport.js b/app/importer/client/admin/adminImport.js
index 9848f308b6e..834a3ecf66d 100644
--- a/app/importer/client/admin/adminImport.js
+++ b/app/importer/client/admin/adminImport.js
@@ -1,9 +1,12 @@
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
+
 import { Importers } from '..';
+
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
+
 import { hasRole } from '../../../authorization';
 import { t, handleError } from '../../../utils';
 import { SideNav } from '../../../ui-utils/client';
diff --git a/app/importer/client/admin/adminImportHistory.js b/app/importer/client/admin/adminImportHistory.js
index d6cd8e56838..8458d8dbbb1 100644
--- a/app/importer/client/admin/adminImportHistory.js
+++ b/app/importer/client/admin/adminImportHistory.js
@@ -1,13 +1,16 @@
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
+
 import { Importers } from '..';
+
 import { Template } from 'meteor/templating';
-import { hasRole } from '../../../authorization';
-import { t, APIClient } from '../../../utils';
 import toastr from 'toastr';
 import { ReactiveVar } from 'meteor/reactive-var';
-import { ProgressStep } from '../../lib/ImporterProgressStep';
 import { FlowRouter } from 'meteor/kadira:flow-router';
+
+import { hasRole } from '../../../authorization';
+import { t, APIClient } from '../../../utils';
+import { ProgressStep } from '../../lib/ImporterProgressStep';
 import { SideNav } from '../../../ui-utils/client';
 
 Template.adminImportHistory.helpers({
diff --git a/app/importer/client/admin/adminImportPrepare.js b/app/importer/client/admin/adminImportPrepare.js
index fab8cb853f7..82cf2be0254 100644
--- a/app/importer/client/admin/adminImportPrepare.js
+++ b/app/importer/client/admin/adminImportPrepare.js
@@ -1,14 +1,17 @@
 import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Tracker } from 'meteor/tracker';
+
 import { Importers } from '..';
+
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
+import toastr from 'toastr';
+
 import { hasRole } from '../../../authorization';
 import { settings } from '../../../settings';
 import { t, handleError, APIClient } from '../../../utils';
-import toastr from 'toastr';
 import { SideNav } from '../../../ui-utils/client';
 
 Template.adminImportPrepare.helpers({
@@ -250,7 +253,7 @@ Template.adminImportPrepare.onCreated(function() {
 	this.message_count = new ReactiveVar(0);
 
 	function loadSelection(progress) {
-		if ((progress != null ? progress.step : undefined)) {
+		if (progress != null ? progress.step : undefined) {
 			switch (progress.step) {
 				// When the import is running, take the user to the progress page
 				case 'importer_importing_started':
@@ -304,15 +307,13 @@ Template.adminImportPrepare.onCreated(function() {
 					instance.preparing.set(false);
 					return loadSelection(data);
 				});
-			} else {
-				// Otherwise, we might need to do something based upon the current step
-				// of the import
-				return loadSelection(progress);
 			}
+			// Otherwise, we might need to do something based upon the current step
+			// of the import
+			return loadSelection(progress);
 		});
-	} else {
-		return FlowRouter.go('/admin/import');
 	}
+	return FlowRouter.go('/admin/import');
 });
 
 Template.adminImportPrepare.onRendered(() => {
diff --git a/app/importer/client/admin/adminImportProgress.js b/app/importer/client/admin/adminImportProgress.js
index d1d1d79e40d..cc05d750398 100644
--- a/app/importer/client/admin/adminImportProgress.js
+++ b/app/importer/client/admin/adminImportProgress.js
@@ -1,11 +1,14 @@
 import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
+
 import { Importers, ImporterWebsocketReceiver, ProgressStep } from '..';
+
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
-import { t, handleError } from '../../../utils';
 import toastr from 'toastr';
 
+import { t, handleError } from '../../../utils';
+
 Template.adminImportProgress.helpers({
 	step() {
 		return Template.instance().step.get();
diff --git a/app/importer/client/index.js b/app/importer/client/index.js
index 437226a18ed..ff06c8ee496 100644
--- a/app/importer/client/index.js
+++ b/app/importer/client/index.js
@@ -1,6 +1,6 @@
+import { ImporterWebsocketReceiver } from './ImporterWebsocketReceiver';
 import { Importers } from '../lib/Importers';
 import { ImporterInfo } from '../lib/ImporterInfo';
-import { ImporterWebsocketReceiver } from './ImporterWebsocketReceiver';
 import { ProgressStep } from '../lib/ImporterProgressStep';
 import './admin/adminImport.html';
 import './admin/adminImport';
diff --git a/app/importer/server/classes/ImporterBase.js b/app/importer/server/classes/ImporterBase.js
index 603741f29be..27792029a2b 100644
--- a/app/importer/server/classes/ImporterBase.js
+++ b/app/importer/server/classes/ImporterBase.js
@@ -1,20 +1,22 @@
+import http from 'http';
+import fs from 'fs';
+import https from 'https';
+
 import { Meteor } from 'meteor/meteor';
+import AdmZip from 'adm-zip';
+import getFileType from 'file-type';
+
 import { Progress } from './ImporterProgress';
-import { ProgressStep } from '../../lib/ImporterProgressStep';
 import { Selection } from './ImporterSelection';
+import { ImporterWebsocket } from './ImporterWebsocket';
+import { ProgressStep } from '../../lib/ImporterProgressStep';
 import { Imports } from '../models/Imports';
 import { ImporterInfo } from '../../lib/ImporterInfo';
 import { RawImports } from '../models/RawImports';
-import { ImporterWebsocket } from './ImporterWebsocket';
 import { Settings } from '../../../models';
 import { Logger } from '../../../logger';
 import { FileUpload } from '../../../file-upload';
 import { sendMessage } from '../../../lib';
-import http from 'http';
-import fs from 'fs';
-import https from 'https';
-import AdmZip from 'adm-zip';
-import getFileType from 'file-type';
 
 /**
  * Base class for all of the importers.
@@ -58,11 +60,11 @@ export class Base {
 	 */
 	static getBSONSafeArraysFromAnArray(theArray) {
 		const BSONSize = Base.getBSONSize(theArray);
-		const maxSize = Math.floor(theArray.length / (Math.ceil(BSONSize / Base.getMaxBSONSize())));
+		const maxSize = Math.floor(theArray.length / Math.ceil(BSONSize / Base.getMaxBSONSize()));
 		const safeArrays = [];
 		let i = 0;
 		while (i < theArray.length) {
-			safeArrays.push(theArray.slice(i, (i += maxSize)));
+			safeArrays.push(theArray.slice(i, i += maxSize));
 		}
 		return safeArrays;
 	}
diff --git a/app/importer/server/index.js b/app/importer/server/index.js
index 7d69bb18fc8..489bcabf5c8 100644
--- a/app/importer/server/index.js
+++ b/app/importer/server/index.js
@@ -1,14 +1,14 @@
 import { Base } from './classes/ImporterBase';
 import { Imports } from './models/Imports';
-import { Importers } from '../lib/Importers';
-import { ImporterInfo } from '../lib/ImporterInfo';
 import { ImporterWebsocket } from './classes/ImporterWebsocket';
 import { Progress } from './classes/ImporterProgress';
-import { ProgressStep } from '../lib/ImporterProgressStep';
 import { RawImports } from './models/RawImports';
 import { Selection } from './classes/ImporterSelection';
 import { SelectionChannel } from './classes/ImporterSelectionChannel';
 import { SelectionUser } from './classes/ImporterSelectionUser';
+import { ProgressStep } from '../lib/ImporterProgressStep';
+import { ImporterInfo } from '../lib/ImporterInfo';
+import { Importers } from '../lib/Importers';
 import './methods/getImportProgress';
 import './methods/getSelectionData';
 import './methods/prepareImport';
diff --git a/app/importer/server/methods/downloadPublicImportFile.js b/app/importer/server/methods/downloadPublicImportFile.js
index 2b1c0defdd6..956e75acc79 100644
--- a/app/importer/server/methods/downloadPublicImportFile.js
+++ b/app/importer/server/methods/downloadPublicImportFile.js
@@ -1,10 +1,13 @@
+import http from 'http';
+import fs from 'fs';
+
 import { Meteor } from 'meteor/meteor';
+
 import { Importers } from '..';
+
 import { RocketChatImportFileInstance } from '../startup/store';
 import { ProgressStep } from '../../lib/ImporterProgressStep';
 import { hasRole } from '../../../authorization';
-import http from 'http';
-import fs from 'fs';
 
 function downloadHttpFile(fileUrl, writeStream) {
 	http.get(fileUrl, function(response) {
diff --git a/app/importer/server/methods/getImportFileData.js b/app/importer/server/methods/getImportFileData.js
index b51b3829cd2..3dcfccd497b 100644
--- a/app/importer/server/methods/getImportFileData.js
+++ b/app/importer/server/methods/getImportFileData.js
@@ -1,10 +1,14 @@
-import { RocketChatImportFileInstance } from '../startup/store';
+import path from 'path';
+import fs from 'fs';
+
 import { Meteor } from 'meteor/meteor';
+
+import { RocketChatImportFileInstance } from '../startup/store';
+
 import { Importers } from '..';
+
 import { hasRole } from '../../../authorization';
 import { ProgressStep } from '../../lib/ImporterProgressStep';
-import path from 'path';
-import fs from 'fs';
 
 Meteor.methods({
 	getImportFileData(importerKey) {
@@ -38,9 +42,8 @@ Meteor.methods({
 		if (waitingSteps.indexOf(importer.instance.progress.step) >= 0) {
 			if (importer.instance.importRecord && importer.instance.importRecord.valid) {
 				return { waiting: true };
-			} else {
-				throw new Meteor.Error('error-import-operation-invalid', 'Invalid Import Operation', { method: 'getImportFileData' });
 			}
+			throw new Meteor.Error('error-import-operation-invalid', 'Invalid Import Operation', { method: 'getImportFileData' });
 		}
 
 		const readySteps = [
@@ -71,13 +74,11 @@ Meteor.methods({
 				console.error(e);
 				throw new Meteor.Error(e);
 			});
-
-		} else {
-			importer.instance.updateRecord({
-				fileData: results,
-			});
-
-			return results;
 		}
+		importer.instance.updateRecord({
+			fileData: results,
+		});
+
+		return results;
 	},
 });
diff --git a/app/importer/server/methods/getImportProgress.js b/app/importer/server/methods/getImportProgress.js
index 9eb52cdb915..4bde28d663e 100644
--- a/app/importer/server/methods/getImportProgress.js
+++ b/app/importer/server/methods/getImportProgress.js
@@ -1,5 +1,7 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Importers } from '..';
+
 import { hasPermission } from '../../../authorization';
 
 Meteor.methods({
diff --git a/app/importer/server/methods/getLatestImportOperations.js b/app/importer/server/methods/getLatestImportOperations.js
index 2d1a587dd70..af710a67ecc 100644
--- a/app/importer/server/methods/getLatestImportOperations.js
+++ b/app/importer/server/methods/getLatestImportOperations.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Imports } from '../models/Imports';
 import { hasRole } from '../../../authorization';
 
diff --git a/app/importer/server/methods/getSelectionData.js b/app/importer/server/methods/getSelectionData.js
index c17f5988aa0..782e0316a67 100644
--- a/app/importer/server/methods/getSelectionData.js
+++ b/app/importer/server/methods/getSelectionData.js
@@ -1,8 +1,10 @@
 import { Meteor } from 'meteor/meteor';
+
 import {
 	Importers,
 	ProgressStep,
 } from '..';
+
 import { hasPermission } from '../../../authorization';
 
 Meteor.methods({
diff --git a/app/importer/server/methods/prepareImport.js b/app/importer/server/methods/prepareImport.js
index 4776e427645..1444d8af8c3 100644
--- a/app/importer/server/methods/prepareImport.js
+++ b/app/importer/server/methods/prepareImport.js
@@ -1,6 +1,8 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { Importers } from '..';
+
 import { hasPermission } from '../../../authorization';
 
 Meteor.methods({
@@ -27,8 +29,7 @@ Meteor.methods({
 
 		if (results instanceof Promise) {
 			return results.catch((e) => { throw new Meteor.Error(e); });
-		} else {
-			return results;
 		}
+		return results;
 	},
 });
diff --git a/app/importer/server/methods/restartImport.js b/app/importer/server/methods/restartImport.js
index 6d35bbf5f7e..94f486bf6d9 100644
--- a/app/importer/server/methods/restartImport.js
+++ b/app/importer/server/methods/restartImport.js
@@ -1,8 +1,10 @@
 import { Meteor } from 'meteor/meteor';
+
 import {
 	Importers,
 	ProgressStep,
 } from '..';
+
 import { hasPermission } from '../../../authorization';
 
 Meteor.methods({
diff --git a/app/importer/server/methods/setupImporter.js b/app/importer/server/methods/setupImporter.js
index 1ea4baac800..1d965382554 100644
--- a/app/importer/server/methods/setupImporter.js
+++ b/app/importer/server/methods/setupImporter.js
@@ -1,5 +1,7 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Importers } from '..';
+
 import { hasPermission } from '../../../authorization';
 
 Meteor.methods({
diff --git a/app/importer/server/methods/startImport.js b/app/importer/server/methods/startImport.js
index 82b97ced3bf..19e13da783f 100644
--- a/app/importer/server/methods/startImport.js
+++ b/app/importer/server/methods/startImport.js
@@ -1,10 +1,12 @@
 import { Meteor } from 'meteor/meteor';
+
 import {
 	Importers,
 	Selection,
 	SelectionChannel,
 	SelectionUser,
 } from '..';
+
 import { hasPermission } from '../../../authorization';
 
 Meteor.methods({
diff --git a/app/importer/server/methods/uploadImportFile.js b/app/importer/server/methods/uploadImportFile.js
index 4417acf2a5f..54f2e04ae8b 100644
--- a/app/importer/server/methods/uploadImportFile.js
+++ b/app/importer/server/methods/uploadImportFile.js
@@ -1,5 +1,7 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Importers } from '..';
+
 import { RocketChatFile } from '../../../file';
 import { RocketChatImportFileInstance } from '../startup/store';
 import { hasRole } from '../../../authorization';
diff --git a/app/importer/server/models/Imports.js b/app/importer/server/models/Imports.js
index 585156e02ec..1bba254a81c 100644
--- a/app/importer/server/models/Imports.js
+++ b/app/importer/server/models/Imports.js
@@ -8,7 +8,7 @@ class ImportsModel extends Base {
 
 	findPendingImport(key) {
 		// Finds the latest import operation
-		const data = this.findOne({ importerKey: key }, { createdAt : -1 });
+		const data = this.findOne({ importerKey: key }, { createdAt: -1 });
 		if (!data || !data.status) {
 			return data;
 		}
diff --git a/app/importer/server/startup/setImportsToInvalid.js b/app/importer/server/startup/setImportsToInvalid.js
index 4c03a8c816d..2622f2eb6c0 100644
--- a/app/importer/server/startup/setImportsToInvalid.js
+++ b/app/importer/server/startup/setImportsToInvalid.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Imports } from '../models/Imports';
 import { RawImports } from '../models/RawImports';
 
diff --git a/app/importer/server/startup/store.js b/app/importer/server/startup/store.js
index faaba0b8aac..70aa8f293df 100644
--- a/app/importer/server/startup/store.js
+++ b/app/importer/server/startup/store.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { RocketChatFile } from '../../../file';
 import { settings } from '../../../settings';
 
diff --git a/app/integrations/client/route.js b/app/integrations/client/route.js
index 8d70059e94d..944188db98c 100644
--- a/app/integrations/client/route.js
+++ b/app/integrations/client/route.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { BlazeLayout } from 'meteor/kadira:blaze-layout';
+
 import { t } from '../../utils';
 
 FlowRouter.route('/admin/integrations', {
diff --git a/app/integrations/client/views/integrations.js b/app/integrations/client/views/integrations.js
index e394652c3a3..aaf73c2b183 100644
--- a/app/integrations/client/views/integrations.js
+++ b/app/integrations/client/views/integrations.js
@@ -1,10 +1,11 @@
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
 import { Tracker } from 'meteor/tracker';
+import moment from 'moment';
+
 import { hasAtLeastOnePermission } from '../../../authorization';
 import { integrations } from '../../lib/rocketchat';
 import { ChatIntegrations } from '../collections';
-import moment from 'moment';
 import { SideNav } from '../../../ui-utils/client';
 
 Template.integrations.helpers({
diff --git a/app/integrations/client/views/integrationsIncoming.js b/app/integrations/client/views/integrationsIncoming.js
index 65cb3399a28..e419033ff40 100644
--- a/app/integrations/client/views/integrationsIncoming.js
+++ b/app/integrations/client/views/integrationsIncoming.js
@@ -4,16 +4,17 @@ import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
 import { Tracker } from 'meteor/tracker';
+import hljs from 'highlight.js';
+import toastr from 'toastr';
+
+import { exampleMsg, exampleSettings, exampleUser } from './messageExample';
 import { hasAtLeastOnePermission, hasAllPermission } from '../../../authorization';
 import { modal, SideNav } from '../../../ui-utils/client';
 import { t, handleError } from '../../../utils';
 import { ChatIntegrations } from '../collections';
-import { exampleMsg, exampleSettings, exampleUser } from './messageExample';
-import hljs from 'highlight.js';
-import toastr from 'toastr';
 
 Template.integrationsIncoming.onCreated(function _incomingIntegrationsOnCreated() {
-	return this.record = new ReactiveVar({
+	this.record = new ReactiveVar({
 		username: 'rocket.cat',
 	});
 });
@@ -157,17 +158,16 @@ Template.integrationsIncoming.events({
 			Meteor.call('deleteIncomingIntegration', params.id, (err) => {
 				if (err) {
 					return handleError(err);
-				} else {
-					modal.open({
-						title: t('Deleted'),
-						text: t('Your_entry_has_been_deleted'),
-						type: 'success',
-						timer: 1000,
-						showConfirmButton: false,
-					});
-
-					FlowRouter.go('admin-integrations');
 				}
+				modal.open({
+					title: t('Deleted'),
+					text: t('Your_entry_has_been_deleted'),
+					type: 'success',
+					timer: 1000,
+					showConfirmButton: false,
+				});
+
+				FlowRouter.go('admin-integrations');
 			});
 		});
 	},
diff --git a/app/integrations/client/views/integrationsNew.js b/app/integrations/client/views/integrationsNew.js
index 8198ccb6e30..e5e6c54c528 100644
--- a/app/integrations/client/views/integrationsNew.js
+++ b/app/integrations/client/views/integrationsNew.js
@@ -1,5 +1,6 @@
 import { Template } from 'meteor/templating';
 import { Tracker } from 'meteor/tracker';
+
 import { hasAtLeastOnePermission } from '../../../authorization';
 import { SideNav } from '../../../ui-utils/client';
 
diff --git a/app/integrations/client/views/integrationsOutgoing.js b/app/integrations/client/views/integrationsOutgoing.js
index c649502303f..ba136d3fbc3 100644
--- a/app/integrations/client/views/integrationsOutgoing.js
+++ b/app/integrations/client/views/integrationsOutgoing.js
@@ -5,14 +5,15 @@ import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
 import { Tracker } from 'meteor/tracker';
+import hljs from 'highlight.js';
+import toastr from 'toastr';
+
+import { exampleMsg, exampleSettings, exampleUser } from './messageExample';
 import { hasAllPermission, hasAtLeastOnePermission } from '../../../authorization';
 import { modal, SideNav } from '../../../ui-utils';
 import { t, handleError } from '../../../utils/client';
 import { ChatIntegrations } from '../collections';
 import { integrations } from '../../lib/rocketchat';
-import hljs from 'highlight.js';
-import toastr from 'toastr';
-import { exampleMsg, exampleSettings, exampleUser } from './messageExample';
 
 Template.integrationsOutgoing.onCreated(function _integrationsOutgoingOnCreated() {
 	this.record = new ReactiveVar({
@@ -326,8 +327,8 @@ Template.integrationsOutgoing.events({
 			scriptEnabled: scriptEnabled === '1',
 			impersonateUser: impersonateUser === '1',
 			retryFailedCalls: retryFailedCalls === '1',
-			retryCount: retryCount ? retryCount : 6,
-			retryDelay: retryDelay ? retryDelay : 'powers-of-ten',
+			retryCount: retryCount || 6,
+			retryDelay: retryDelay || 'powers-of-ten',
 			triggerWordAnywhere: triggerWordAnywhere === '1',
 			runOnEdits: runOnEdits === '1',
 		};
@@ -360,4 +361,3 @@ Template.integrationsOutgoing.onRendered(() => {
 		SideNav.openFlex();
 	});
 });
-
diff --git a/app/integrations/client/views/integrationsOutgoingHistory.js b/app/integrations/client/views/integrationsOutgoingHistory.js
index 96a36c88d99..02252347c46 100644
--- a/app/integrations/client/views/integrationsOutgoingHistory.js
+++ b/app/integrations/client/views/integrationsOutgoingHistory.js
@@ -4,14 +4,15 @@ import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
 import { Tracker } from 'meteor/tracker';
-import { handleError } from '../../../utils';
-import { hasAllPermission, hasAtLeastOnePermission } from '../../../authorization';
-import { ChatIntegrations, ChatIntegrationHistory } from '../collections';
-import { integrations } from '../../lib/rocketchat';
 import _ from 'underscore';
 import hljs from 'highlight.js';
 import moment from 'moment';
 import toastr from 'toastr';
+
+import { handleError } from '../../../utils';
+import { hasAllPermission, hasAtLeastOnePermission } from '../../../authorization';
+import { ChatIntegrations, ChatIntegrationHistory } from '../collections';
+import { integrations } from '../../lib/rocketchat';
 import { SideNav } from '../../../ui-utils/client';
 
 Template.integrationsOutgoingHistory.onCreated(function _integrationsOutgoingHistoryOnCreated() {
@@ -80,11 +81,10 @@ Template.integrationsOutgoingHistory.helpers({
 	iconClass(history) {
 		if (typeof history.error !== 'undefined' && history.error) {
 			return 'icon-cancel-circled error-color';
-		} else if (history.finished) {
+		} if (history.finished) {
 			return 'icon-ok-circled success-color';
-		} else {
-			return 'icon-help-circled';
 		}
+		return 'icon-help-circled';
 	},
 
 	statusI18n(error) {
@@ -106,11 +106,10 @@ Template.integrationsOutgoingHistory.helpers({
 	jsonStringify(data) {
 		if (!data) {
 			return '';
-		} else if (typeof data === 'object') {
+		} if (typeof data === 'object') {
 			return hljs.highlight('json', JSON.stringify(data, null, 2)).value;
-		} else {
-			return hljs.highlight('json', data).value;
 		}
+		return hljs.highlight('json', data).value;
 	},
 
 	integrationId() {
@@ -140,7 +139,6 @@ Template.integrationsOutgoingHistory.events({
 		Meteor.call('replayOutgoingIntegration', { integrationId: t.data.params().id, historyId }, (e) => {
 			if (e) {
 				handleError(e);
-				return;
 			}
 		});
 	},
diff --git a/app/integrations/server/api/api.js b/app/integrations/server/api/api.js
index 9360669bc44..4d87a4d679d 100644
--- a/app/integrations/server/api/api.js
+++ b/app/integrations/server/api/api.js
@@ -1,19 +1,21 @@
+import vm from 'vm';
+
 import { Meteor } from 'meteor/meteor';
 import { HTTP } from 'meteor/http';
 import { Random } from 'meteor/random';
-import * as Models from '../../../models';
 import { Restivus } from 'meteor/nimble:restivus';
-import { API } from '../../../api';
 import { Livechat } from 'meteor/rocketchat:livechat';
-import { processWebhookMessage } from '../../../lib';
-import { logger } from '../logger';
 import Fiber from 'fibers';
 import Future from 'fibers/future';
 import _ from 'underscore';
 import s from 'underscore.string';
-import vm from 'vm';
 import moment from 'moment';
 
+import { logger } from '../logger';
+import { processWebhookMessage } from '../../../lib';
+import { API } from '../../../api';
+import * as Models from '../../../models';
+
 const Api = new Restivus({
 	enableCors: true,
 	apiPath: 'hooks/',
@@ -80,7 +82,8 @@ function buildSandbox(store = {}) {
 		Livechat,
 		Store: {
 			set(key, val) {
-				return store[key] = val;
+				store[key] = val;
+				return val;
 			},
 			get(key) {
 				return store[key];
@@ -98,7 +101,7 @@ function buildSandbox(store = {}) {
 			}
 		},
 	};
-	Object.keys(Models).filter((k) => !k.startsWith('_')).forEach((k) => sandbox[k] = Models[k]);
+	Object.keys(Models).filter((k) => !k.startsWith('_')).forEach((k) => { sandbox[k] = Models[k]; });
 	return { store, sandbox	};
 }
 
@@ -264,7 +267,7 @@ function executeIntegrationRest() {
 			if (!result) {
 				logger.incoming.debug('[Process Incoming Request result of Trigger', this.integration.name, ':] No data');
 				return API.v1.success();
-			} else if (result && result.error) {
+			} if (result && result.error) {
 				return API.v1.failure(result.error);
 			}
 
@@ -327,7 +330,7 @@ function integrationSampleRest() {
 				token: Random.id(24),
 				channel_id: Random.id(),
 				channel_name: 'general',
-				timestamp: new Date,
+				timestamp: new Date(),
 				user_id: Random.id(),
 				user_name: 'rocket.cat',
 				text: 'Sample text 1',
@@ -336,7 +339,7 @@ function integrationSampleRest() {
 				token: Random.id(24),
 				channel_id: Random.id(),
 				channel_name: 'general',
-				timestamp: new Date,
+				timestamp: new Date(),
 				user_id: Random.id(),
 				user_name: 'rocket.cat',
 				text: 'Sample text 2',
@@ -345,7 +348,7 @@ function integrationSampleRest() {
 				token: Random.id(24),
 				channel_id: Random.id(),
 				channel_name: 'general',
-				timestamp: new Date,
+				timestamp: new Date(),
 				user_id: Random.id(),
 				user_name: 'rocket.cat',
 				text: 'Sample text 3',
diff --git a/app/integrations/server/lib/triggerHandler.js b/app/integrations/server/lib/triggerHandler.js
index ff3eb684177..b8b28cdad19 100644
--- a/app/integrations/server/lib/triggerHandler.js
+++ b/app/integrations/server/lib/triggerHandler.js
@@ -1,18 +1,20 @@
+import vm from 'vm';
+
 import { Meteor } from 'meteor/meteor';
 import { Random } from 'meteor/random';
 import { HTTP } from 'meteor/http';
-import * as Models from '../../../models';
-import { settings } from '../../../settings';
-import { getRoomByNameOrIdWithOptionToJoin, processWebhookMessage } from '../../../lib';
-import { logger } from '../logger';
-import { integrations } from '../../lib/rocketchat';
 import _ from 'underscore';
 import s from 'underscore.string';
 import moment from 'moment';
-import vm from 'vm';
 import Fiber from 'fibers';
 import Future from 'fibers/future';
 
+import * as Models from '../../../models';
+import { settings } from '../../../settings';
+import { getRoomByNameOrIdWithOptionToJoin, processWebhookMessage } from '../../../lib';
+import { logger } from '../logger';
+import { integrations } from '../../lib/rocketchat';
+
 integrations.triggerHandler = new class RocketChatIntegrationHandler {
 	constructor() {
 		this.vm = vm;
@@ -155,10 +157,9 @@ integrations.triggerHandler = new class RocketChatIntegrationHandler {
 		if (historyId) {
 			Models.IntegrationHistory.update({ _id: historyId }, { $set: history });
 			return historyId;
-		} else {
-			history._createdAt = new Date();
-			return Models.IntegrationHistory.insert(Object.assign({ _id: Random.id() }, history));
 		}
+		history._createdAt = new Date();
+		return Models.IntegrationHistory.insert(Object.assign({ _id: Random.id() }, history));
 	}
 
 	// Trigger is the trigger, nameOrId is a string which is used to try and find a room, room is a room, message is a message, and data contains "user_name" if trigger.impersonateUser is truthful.
@@ -220,7 +221,7 @@ integrations.triggerHandler = new class RocketChatIntegrationHandler {
 			Fiber,
 			Promise,
 			Store: {
-				set: (key, val) => store[key] = val,
+				set: (key, val) => { store[key] = val; },
 				get: (key) => store[key],
 			},
 			HTTP: (method, url, options) => {
@@ -345,7 +346,6 @@ integrations.triggerHandler = new class RocketChatIntegrationHandler {
 			logger.outgoing.debug(integration.scriptCompiled.replace(/^/gm, '  ')); // Only output the compiled script if debugging is enabled, so the logs don't get spammed.
 			logger.outgoing.error('Stack:');
 			logger.outgoing.error(e.stack.replace(/^/gm, '  '));
-			return;
 		}
 	}
 
@@ -812,4 +812,4 @@ integrations.triggerHandler = new class RocketChatIntegrationHandler {
 
 		this.executeTriggerUrl(history.url, integration, { event, message, room, owner, user });
 	}
-};
+}();
diff --git a/app/integrations/server/lib/validation.js b/app/integrations/server/lib/validation.js
index 4a0380366ef..0cfcc38ef52 100644
--- a/app/integrations/server/lib/validation.js
+++ b/app/integrations/server/lib/validation.js
@@ -1,11 +1,13 @@
 import { Meteor } from 'meteor/meteor';
 import { Match } from 'meteor/check';
 import { Babel } from 'meteor/babel-compiler';
+import _ from 'underscore';
+import s from 'underscore.string';
+
 import { Rooms, Users, Subscriptions } from '../../../models';
 import { hasPermission, hasAllPermission } from '../../../authorization';
 import { integrations } from '../../lib/rocketchat';
-import _ from 'underscore';
-import s from 'underscore.string';
+
 const scopedChannels = ['all_public_channels', 'all_private_groups', 'all_direct_messages'];
 const validChannelChars = ['@', '#'];
 
diff --git a/app/integrations/server/methods/clearIntegrationHistory.js b/app/integrations/server/methods/clearIntegrationHistory.js
index 7e7e2a16e97..98604cf7aec 100644
--- a/app/integrations/server/methods/clearIntegrationHistory.js
+++ b/app/integrations/server/methods/clearIntegrationHistory.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { IntegrationHistory, Integrations } from '../../../models';
 
diff --git a/app/integrations/server/methods/incoming/addIncomingIntegration.js b/app/integrations/server/methods/incoming/addIncomingIntegration.js
index 92526bcdbac..f6b72b9801a 100644
--- a/app/integrations/server/methods/incoming/addIncomingIntegration.js
+++ b/app/integrations/server/methods/incoming/addIncomingIntegration.js
@@ -1,10 +1,12 @@
 import { Meteor } from 'meteor/meteor';
 import { Random } from 'meteor/random';
 import { Babel } from 'meteor/babel-compiler';
-import { hasPermission, hasAllPermission } from '../../../../authorization';
-import { Users, Rooms, Integrations, Roles, Subscriptions } from '../../../../models';
 import _ from 'underscore';
 import s from 'underscore.string';
+
+import { hasPermission, hasAllPermission } from '../../../../authorization';
+import { Users, Rooms, Integrations, Roles, Subscriptions } from '../../../../models';
+
 const validChannelChars = ['@', '#'];
 
 Meteor.methods({
diff --git a/app/integrations/server/methods/incoming/deleteIncomingIntegration.js b/app/integrations/server/methods/incoming/deleteIncomingIntegration.js
index f6f8618459a..b4f4fa104dc 100644
--- a/app/integrations/server/methods/incoming/deleteIncomingIntegration.js
+++ b/app/integrations/server/methods/incoming/deleteIncomingIntegration.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../../authorization';
 import { Integrations } from '../../../../models';
 
@@ -9,7 +10,7 @@ Meteor.methods({
 		if (hasPermission(this.userId, 'manage-integrations')) {
 			integration = Integrations.findOne(integrationId);
 		} else if (hasPermission(this.userId, 'manage-own-integrations')) {
-			integration = Integrations.findOne(integrationId, { fields : { '_createdBy._id': this.userId } });
+			integration = Integrations.findOne(integrationId, { fields: { '_createdBy._id': this.userId } });
 		} else {
 			throw new Meteor.Error('not_authorized', 'Unauthorized', { method: 'deleteIncomingIntegration' });
 		}
diff --git a/app/integrations/server/methods/incoming/updateIncomingIntegration.js b/app/integrations/server/methods/incoming/updateIncomingIntegration.js
index bb85c49c2bc..46af5d49fc1 100644
--- a/app/integrations/server/methods/incoming/updateIncomingIntegration.js
+++ b/app/integrations/server/methods/incoming/updateIncomingIntegration.js
@@ -1,9 +1,11 @@
 import { Meteor } from 'meteor/meteor';
-import { hasAllPermission, hasPermission } from '../../../../authorization';
-import { Integrations, Rooms, Users, Roles, Subscriptions } from '../../../../models';
 import { Babel } from 'meteor/babel-compiler';
 import _ from 'underscore';
 import s from 'underscore.string';
+
+import { Integrations, Rooms, Users, Roles, Subscriptions } from '../../../../models';
+import { hasAllPermission, hasPermission } from '../../../../authorization';
+
 const validChannelChars = ['@', '#'];
 
 Meteor.methods({
diff --git a/app/integrations/server/methods/outgoing/addOutgoingIntegration.js b/app/integrations/server/methods/outgoing/addOutgoingIntegration.js
index d7294f55350..adfe1c8b0f9 100644
--- a/app/integrations/server/methods/outgoing/addOutgoingIntegration.js
+++ b/app/integrations/server/methods/outgoing/addOutgoingIntegration.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../../authorization';
 import { Users, Integrations } from '../../../../models';
 import { integrations } from '../../../lib/rocketchat';
diff --git a/app/integrations/server/methods/outgoing/deleteOutgoingIntegration.js b/app/integrations/server/methods/outgoing/deleteOutgoingIntegration.js
index 098cea08113..7853d8830fa 100644
--- a/app/integrations/server/methods/outgoing/deleteOutgoingIntegration.js
+++ b/app/integrations/server/methods/outgoing/deleteOutgoingIntegration.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../../authorization';
 import { IntegrationHistory, Integrations } from '../../../../models';
 
diff --git a/app/integrations/server/methods/outgoing/replayOutgoingIntegration.js b/app/integrations/server/methods/outgoing/replayOutgoingIntegration.js
index 8efd460e977..aea7cafcf80 100644
--- a/app/integrations/server/methods/outgoing/replayOutgoingIntegration.js
+++ b/app/integrations/server/methods/outgoing/replayOutgoingIntegration.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../../authorization';
 import { Integrations, IntegrationHistory } from '../../../../models';
 import { integrations } from '../../../lib/rocketchat';
diff --git a/app/integrations/server/methods/outgoing/updateOutgoingIntegration.js b/app/integrations/server/methods/outgoing/updateOutgoingIntegration.js
index bf63ff7debe..1695ed5a7f3 100644
--- a/app/integrations/server/methods/outgoing/updateOutgoingIntegration.js
+++ b/app/integrations/server/methods/outgoing/updateOutgoingIntegration.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../../authorization';
 import { Integrations, Users } from '../../../../models';
 import { integrations } from '../../../lib/rocketchat';
diff --git a/app/integrations/server/publications/integrationHistory.js b/app/integrations/server/publications/integrationHistory.js
index 1c9cca70669..32114c5e919 100644
--- a/app/integrations/server/publications/integrationHistory.js
+++ b/app/integrations/server/publications/integrationHistory.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { IntegrationHistory } from '../../../models';
 
@@ -9,9 +10,8 @@ Meteor.publish('integrationHistory', function _integrationHistoryPublication(int
 
 	if (hasPermission(this.userId, 'manage-integrations')) {
 		return IntegrationHistory.findByIntegrationId(integrationId, { sort: { _updatedAt: -1 }, limit });
-	} else if (hasPermission(this.userId, 'manage-own-integrations')) {
+	} if (hasPermission(this.userId, 'manage-own-integrations')) {
 		return IntegrationHistory.findByIntegrationIdAndCreatedBy(integrationId, this.userId, { sort: { _updatedAt: -1 }, limit });
-	} else {
-		throw new Meteor.Error('not-authorized');
 	}
+	throw new Meteor.Error('not-authorized');
 });
diff --git a/app/integrations/server/publications/integrations.js b/app/integrations/server/publications/integrations.js
index 1ea723978b0..4bd51562636 100644
--- a/app/integrations/server/publications/integrations.js
+++ b/app/integrations/server/publications/integrations.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { Integrations } from '../../../models';
 
@@ -9,9 +10,8 @@ Meteor.publish('integrations', function _integrationPublication() {
 
 	if (hasPermission(this.userId, 'manage-integrations')) {
 		return Integrations.find();
-	} else if (hasPermission(this.userId, 'manage-own-integrations')) {
+	} if (hasPermission(this.userId, 'manage-own-integrations')) {
 		return Integrations.find({ '_createdBy._id': this.userId });
-	} else {
-		throw new Meteor.Error('not-authorized');
 	}
+	throw new Meteor.Error('not-authorized');
 });
diff --git a/app/irc/server/irc-bridge/index.js b/app/irc/server/irc-bridge/index.js
index 255d9946b70..fe8fd7b770c 100644
--- a/app/irc/server/irc-bridge/index.js
+++ b/app/irc/server/irc-bridge/index.js
@@ -1,8 +1,9 @@
-import { callbacks } from '../../../callbacks';
 import Queue from 'queue-fifo';
-import * as servers from '../servers';
+
 import * as peerCommandHandlers from './peerHandlers';
 import * as localCommandHandlers from './localHandlers';
+import { callbacks } from '../../../callbacks';
+import * as servers from '../servers';
 
 class Bridge {
 	constructor(config) {
diff --git a/app/irc/server/irc-bridge/localHandlers/onCreateUser.js b/app/irc/server/irc-bridge/localHandlers/onCreateUser.js
index 1549a703c9a..7ca9450ffa6 100644
--- a/app/irc/server/irc-bridge/localHandlers/onCreateUser.js
+++ b/app/irc/server/irc-bridge/localHandlers/onCreateUser.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Users, Rooms } from '../../../../models';
 
 export default function handleOnCreateUser(newUser) {
diff --git a/app/irc/server/irc-bridge/localHandlers/onLogin.js b/app/irc/server/irc-bridge/localHandlers/onLogin.js
index 30af7c62d7e..972d587084f 100644
--- a/app/irc/server/irc-bridge/localHandlers/onLogin.js
+++ b/app/irc/server/irc-bridge/localHandlers/onLogin.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Users, Rooms } from '../../../../models';
 
 export default function handleOnLogin(login) {
diff --git a/app/irc/server/irc-bridge/peerHandlers/disconnected.js b/app/irc/server/irc-bridge/peerHandlers/disconnected.js
index 0a30933857c..f4e2efe6d6b 100644
--- a/app/irc/server/irc-bridge/peerHandlers/disconnected.js
+++ b/app/irc/server/irc-bridge/peerHandlers/disconnected.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Users, Rooms } from '../../../../models';
 
 export default function handleQUIT(args) {
diff --git a/app/irc/server/irc-bridge/peerHandlers/userRegistered.js b/app/irc/server/irc-bridge/peerHandlers/userRegistered.js
index 739f822e7da..44363d14342 100644
--- a/app/irc/server/irc-bridge/peerHandlers/userRegistered.js
+++ b/app/irc/server/irc-bridge/peerHandlers/userRegistered.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Users } from '../../../../models';
 
 export default async function handleUserRegistered(args) {
diff --git a/app/irc/server/irc-settings.js b/app/irc/server/irc-settings.js
index f82b2df2028..9ad6ad0ca5f 100644
--- a/app/irc/server/irc-settings.js
+++ b/app/irc/server/irc-settings.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../settings';
 
 Meteor.startup(function() {
diff --git a/app/irc/server/irc.js b/app/irc/server/irc.js
index 92f2bbed835..dd6c4449ab0 100644
--- a/app/irc/server/irc.js
+++ b/app/irc/server/irc.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
-import { settings } from '../../settings';
+
 import Bridge from './irc-bridge';
+import { settings } from '../../settings';
 
 if (!!settings.get('IRC_Enabled') === true) {
 	// Normalize the config values
diff --git a/app/irc/server/methods/resetIrcConnection.js b/app/irc/server/methods/resetIrcConnection.js
index 0abb366e0f6..f29076a347b 100644
--- a/app/irc/server/methods/resetIrcConnection.js
+++ b/app/irc/server/methods/resetIrcConnection.js
@@ -1,11 +1,12 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../../settings';
 import { t } from '../../../utils';
 import Bridge from '../irc-bridge';
 
 Meteor.methods({
 	resetIrcConnection() {
-		const ircEnabled = (!!settings.get('IRC_Enabled')) === true;
+		const ircEnabled = !!settings.get('IRC_Enabled') === true;
 
 		if (Meteor.ircBridge) {
 			Meteor.ircBridge.stop();
diff --git a/app/irc/server/servers/RFC2813/index.js b/app/irc/server/servers/RFC2813/index.js
index 981b74ffd8e..3b8a2f63cd6 100644
--- a/app/irc/server/servers/RFC2813/index.js
+++ b/app/irc/server/servers/RFC2813/index.js
@@ -3,7 +3,6 @@ import util from 'util';
 import { EventEmitter } from 'events';
 
 import parseMessage from './parseMessage';
-
 import peerCommandHandlers from './peerCommandHandlers';
 import localCommandHandlers from './localCommandHandlers';
 
@@ -20,7 +19,6 @@ class RFC2813 {
 
 		// Hold the buffer while receiving
 		this.receiveBuffer = new Buffer('');
-
 	}
 
 	/**
@@ -90,7 +88,8 @@ class RFC2813 {
 		});
 
 		this.write({
-			command: 'SERVER', parameters: [this.config.server.name],
+			command: 'SERVER',
+			parameters: [this.config.server.name],
 			trailer: this.config.server.description,
 		});
 	}
@@ -123,7 +122,7 @@ class RFC2813 {
 	 *
 	 */
 	onReceiveFromPeer(chunk) {
-		if (typeof (chunk) === 'string') {
+		if (typeof chunk === 'string') {
 			this.receiveBuffer += chunk;
 		} else {
 			this.receiveBuffer = Buffer.concat([this.receiveBuffer, chunk]);
@@ -171,7 +170,6 @@ class RFC2813 {
 			this.log(`Handling local command: ${ command }`);
 
 			localCommandHandlers[command].call(this, parameters);
-
 		} else {
 			this.log(`Unhandled local command: ${ JSON.stringify(command) }`);
 		}
diff --git a/app/irc/server/servers/RFC2813/localCommandHandlers.js b/app/irc/server/servers/RFC2813/localCommandHandlers.js
index ba6a9ec9bcf..ddbb450b14c 100644
--- a/app/irc/server/servers/RFC2813/localCommandHandlers.js
+++ b/app/irc/server/servers/RFC2813/localCommandHandlers.js
@@ -3,7 +3,8 @@ function registerUser(parameters) {
 
 	this.write({
 		prefix: this.config.server.name,
-		command: 'NICK', parameters: [nick, 1, username, 'irc.rocket.chat', 1, '+i'],
+		command: 'NICK',
+		parameters: [nick, 1, username, 'irc.rocket.chat', 1, '+i'],
 		trailer: name,
 	});
 }
@@ -16,7 +17,8 @@ function joinChannel(parameters) {
 
 	this.write({
 		prefix: this.config.server.name,
-		command: 'NJOIN', parameters: [`#${ roomName }`],
+		command: 'NJOIN',
+		parameters: [`#${ roomName }`],
 		trailer: nick,
 	});
 }
@@ -29,7 +31,8 @@ function joinedChannel(parameters) {
 
 	this.write({
 		prefix: nick,
-		command: 'JOIN', parameters: [`#${ roomName }`],
+		command: 'JOIN',
+		parameters: [`#${ roomName }`],
 	});
 }
 
@@ -41,7 +44,8 @@ function leftChannel(parameters) {
 
 	this.write({
 		prefix: nick,
-		command: 'PART', parameters: [`#${ roomName }`],
+		command: 'PART',
+		parameters: [`#${ roomName }`],
 	});
 }
 
@@ -54,7 +58,8 @@ function sentMessage(parameters) {
 
 	this.write({
 		prefix: nick,
-		command: 'PRIVMSG', parameters: [to],
+		command: 'PRIVMSG',
+		parameters: [to],
 		trailer: message,
 	});
 }
diff --git a/app/irc/server/servers/RFC2813/parseMessage.js b/app/irc/server/servers/RFC2813/parseMessage.js
index 4199e66972a..15e7a616b87 100644
--- a/app/irc/server/servers/RFC2813/parseMessage.js
+++ b/app/irc/server/servers/RFC2813/parseMessage.js
@@ -61,7 +61,7 @@ module.exports = function parseMessage(line) {
 		message.args = middle.split(/ +/);
 	}
 
-	if (typeof (trailing) !== 'undefined' && trailing.length) {
+	if (typeof trailing !== 'undefined' && trailing.length) {
 		message.args.push(trailing);
 	}
 
diff --git a/app/issuelinks/client/client.js b/app/issuelinks/client/client.js
index bf10fa9be64..f9fe1bc9d53 100644
--- a/app/issuelinks/client/client.js
+++ b/app/issuelinks/client/client.js
@@ -1,6 +1,7 @@
+import s from 'underscore.string';
+
 import { settings } from '../../settings';
 import { callbacks } from '../../callbacks';
-import s from 'underscore.string';
 
 //
 // IssueLink is a named function that will add issue links
diff --git a/app/katex/lib/katex.js b/app/katex/lib/katex.js
index 4083fe92f38..3a6f9a26ab6 100644
--- a/app/katex/lib/katex.js
+++ b/app/katex/lib/katex.js
@@ -1,13 +1,12 @@
 import { Random } from 'meteor/random';
-import { settings } from '../../settings';
-import { callbacks } from '../../callbacks';
 import _ from 'underscore';
 import s from 'underscore.string';
 import katex from 'katex';
 
-class Boundary {
-	constructor() {}
+import { callbacks } from '../../callbacks';
+import { settings } from '../../settings';
 
+class Boundary {
 	length() {
 		return this.end - this.start;
 	}
@@ -72,8 +71,8 @@ class Katex {
 			return null;
 		}
 
-		const inner = new Boundary;
-		const outer = new Boundary;
+		const inner = new Boundary();
+		const outer = new Boundary();
 
 		inner.start = pos + closer.length;
 		inner.end = inner.start + closerIndex;
@@ -128,8 +127,8 @@ class Katex {
 				},
 			});
 		} catch ({ message }) {
-			return `<div class="katex-error katex-${ displayMode ? 'block' : 'inline' }-error">` +
-				`${ s.escapeHTML(message) }</div>`;
+			return `<div class="katex-error katex-${ displayMode ? 'block' : 'inline' }-error">`
+				+ `${ s.escapeHTML(message) }</div>`;
 		}
 	}
 
@@ -148,7 +147,8 @@ class Katex {
 			// Set what comes after the latex block to be examined next
 			str = parts.after;
 		}
-		return result += str;
+		result += str;
+		return result;
 	}
 
 	renderMessage = (message) => {
@@ -187,7 +187,7 @@ class Katex {
 	isParenthesisSyntaxEnabled = () => settings.get('Katex_Parenthesis_Syntax')
 }
 
-const instance = new Katex;
+const instance = new Katex();
 
 callbacks.add('renderMessage', instance.renderMessage, callbacks.priority.HIGH - 1, 'katex');
 
diff --git a/app/katex/server/index.js b/app/katex/server/index.js
index ee368f15c03..abd6cf881ec 100644
--- a/app/katex/server/index.js
+++ b/app/katex/server/index.js
@@ -1,2 +1,3 @@
 import './settings';
+
 export { Katex } from '../lib/katex';
diff --git a/app/katex/server/settings.js b/app/katex/server/settings.js
index 9700ced5578..43f1fbbd0b1 100644
--- a/app/katex/server/settings.js
+++ b/app/katex/server/settings.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../settings';
 
 Meteor.startup(function() {
diff --git a/app/lazy-load/client/index.js b/app/lazy-load/client/index.js
index 81e10d75750..463e58cc16f 100644
--- a/app/lazy-load/client/index.js
+++ b/app/lazy-load/client/index.js
@@ -27,7 +27,6 @@ const isVisible = (el, instance) => {
 			return loadImage(el, instance);
 		}
 	});
-
 };
 
 window.addEventListener('resize', window.lazyloadtick);
diff --git a/app/lazy-load/client/lazyloadImage.js b/app/lazy-load/client/lazyloadImage.js
index 605ed4a5782..c711f73ebb9 100644
--- a/app/lazy-load/client/lazyloadImage.js
+++ b/app/lazy-load/client/lazyloadImage.js
@@ -1,10 +1,10 @@
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
+
 import './lazyloadImage.html';
 import { addImage } from '.';
 
-const emptyImageEncoded =
-	'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8+/u3PQAJJAM0dIyWdgAAAABJRU5ErkJggg==';
+const emptyImageEncoded =	'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8+/u3PQAJJAM0dIyWdgAAAABJRU5ErkJggg==';
 
 const imgsrcs = new Set();
 
diff --git a/app/ldap/server/ldap.js b/app/ldap/server/ldap.js
index 0af7687477b..c18370b09ce 100644
--- a/app/ldap/server/ldap.js
+++ b/app/ldap/server/ldap.js
@@ -1,9 +1,10 @@
 import { Meteor } from 'meteor/meteor';
-import { settings } from '../../settings';
-import { Logger } from '../../logger';
 import ldapjs from 'ldapjs';
 import Bunyan from 'bunyan';
 
+import { settings } from '../../settings';
+import { Logger } from '../../logger';
+
 const logger = new Logger('LDAP', {
 	sections: {
 		connection: 'Connection',
@@ -379,11 +380,12 @@ export default class LDAP {
 			logger.search.info(title);
 			// Force LDAP idle to wait the record processing
 			this.client._updateIdle(true);
-			page(null, entries, { end, next: () => {
+			page(null, entries, { end,
+				next: () => {
 				// Reset idle timer
-				this.client._updateIdle();
-				next && next();
-			} });
+					this.client._updateIdle();
+					next && next();
+				} });
 		};
 
 		this.client.search(BaseDN, options, (error, res) => {
@@ -396,7 +398,6 @@ export default class LDAP {
 			res.on('error', (error) => {
 				logger.search.error(error);
 				page(error);
-				return;
 			});
 
 			let entries = [];
@@ -462,7 +463,6 @@ export default class LDAP {
 			res.on('error', (error) => {
 				logger.search.error(error);
 				callback(error);
-				return;
 			});
 
 			const entries = [];
diff --git a/app/ldap/server/loginHandler.js b/app/ldap/server/loginHandler.js
index ed513493271..6fab6014541 100644
--- a/app/ldap/server/loginHandler.js
+++ b/app/ldap/server/loginHandler.js
@@ -1,13 +1,14 @@
 import { SHA256 } from 'meteor/sha';
 import { Meteor } from 'meteor/meteor';
 import { Accounts } from 'meteor/accounts-base';
+import ldapEscape from 'ldap-escape';
+
+import { slug, getLdapUsername, getLdapUserUniqueID, syncUserData, addLdapUser } from './sync';
+import LDAP from './ldap';
 import { settings } from '../../settings';
 import { callbacks } from '../../callbacks';
 import { Logger } from '../../logger';
-import { slug, getLdapUsername, getLdapUserUniqueID, syncUserData, addLdapUser } from './sync';
-import LDAP from './ldap';
 
-import ldapEscape from 'ldap-escape';
 
 const logger = new Logger('LDAPHandler', {});
 
diff --git a/app/ldap/server/sync.js b/app/ldap/server/sync.js
index 3b94bd9a43b..550c079a697 100644
--- a/app/ldap/server/sync.js
+++ b/app/ldap/server/sync.js
@@ -1,6 +1,10 @@
 import limax from 'limax';
 import { Meteor } from 'meteor/meteor';
 import { Accounts } from 'meteor/accounts-base';
+import { SyncedCron } from 'meteor/littledata:synced-cron';
+import _ from 'underscore';
+
+import LDAP from './ldap';
 import { RocketChatFile } from '../../file';
 import { settings } from '../../settings';
 import { Notifications } from '../../notifications';
@@ -8,10 +12,7 @@ import { Users } from '../../models';
 import { Logger } from '../../logger';
 import { _setRealName, _setUsername } from '../../lib';
 import { templateVarHandler } from '../../utils';
-import { SyncedCron } from 'meteor/littledata:synced-cron';
 import { FileUpload } from '../../file-upload';
-import _ from 'underscore';
-import LDAP from './ldap';
 
 const logger = new Logger('LDAPSync', {});
 
@@ -139,11 +140,14 @@ export function getDataToSyncUserData(ldapUser, user) {
 						// TODO: Find a better solution.
 						const dKeys = userField.split('.');
 						const lastKey = _.last(dKeys);
-						_.reduce(dKeys, (obj, currKey) => (
-							(currKey === lastKey)
-								? obj[currKey] = tmpLdapField
-								: obj[currKey] = obj[currKey] || {}
-						), userData);
+						_.reduce(dKeys, (obj, currKey) => {
+							if (currKey === lastKey) {
+								obj[currKey] = tmpLdapField;
+							} else {
+								obj[currKey] = obj[currKey];
+							}
+							return obj[currKey];
+						}, userData);
 						logger.debug(`user.${ userField } changed to: ${ tmpLdapField }`);
 					}
 			}
diff --git a/app/ldap/server/syncUsers.js b/app/ldap/server/syncUsers.js
index ddfcae4d866..8713c8973e5 100644
--- a/app/ldap/server/syncUsers.js
+++ b/app/ldap/server/syncUsers.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
+
+import { importNewUsers } from './sync';
 import { hasRole } from '../../authorization';
 import { settings } from '../../settings';
-import { importNewUsers } from './sync';
 
 Meteor.methods({
 	ldap_sync_now() {
diff --git a/app/ldap/server/testConnection.js b/app/ldap/server/testConnection.js
index 5c5c30c763a..1511a944e23 100644
--- a/app/ldap/server/testConnection.js
+++ b/app/ldap/server/testConnection.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
+
+import LDAP from './ldap';
 import { hasRole } from '../../authorization';
 import { settings } from '../../settings';
-import LDAP from './ldap';
 
 Meteor.methods({
 	ldap_test_connection() {
diff --git a/app/lib/client/CustomTranslations.js b/app/lib/client/CustomTranslations.js
index 6c052a25ab5..2530da32269 100644
--- a/app/lib/client/CustomTranslations.js
+++ b/app/lib/client/CustomTranslations.js
@@ -1,9 +1,10 @@
 import { Meteor } from 'meteor/meteor';
 import { Session } from 'meteor/session';
 import { TAPi18n } from 'meteor/tap:i18n';
-import { applyCustomTranslations } from '../../utils';
 import { Tracker } from 'meteor/tracker';
 
+import { applyCustomTranslations } from '../../utils';
+
 Meteor.startup(function() {
 	Tracker.autorun(function() {
 		// Re apply translations if tap language was changed
diff --git a/app/lib/client/OAuthProxy.js b/app/lib/client/OAuthProxy.js
index d99608f0375..544737c906c 100644
--- a/app/lib/client/OAuthProxy.js
+++ b/app/lib/client/OAuthProxy.js
@@ -1,5 +1,6 @@
 import _ from 'underscore';
 import { OAuth } from 'meteor/oauth';
+
 import { settings } from '../../settings';
 
 OAuth.launchLogin = _.wrap(OAuth.launchLogin, function(func, options) {
diff --git a/app/lib/client/UserDeleted.js b/app/lib/client/UserDeleted.js
index 3ba6d1c70ae..c68ef53e521 100644
--- a/app/lib/client/UserDeleted.js
+++ b/app/lib/client/UserDeleted.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { ChatMessage } from '../../models';
 import { Notifications } from '../../notifications';
 
diff --git a/app/lib/client/defaultTabBars.js b/app/lib/client/defaultTabBars.js
index d8071d009e2..e2e157443ff 100644
--- a/app/lib/client/defaultTabBars.js
+++ b/app/lib/client/defaultTabBars.js
@@ -1,4 +1,5 @@
 import { Session } from 'meteor/session';
+
 import { TabBar } from '../../ui-utils';
 import { Rooms } from '../../models';
 import { hasAllPermission } from '../../authorization';
diff --git a/app/lib/client/index.js b/app/lib/client/index.js
index b9a0bfa6f57..f67950d96ca 100644
--- a/app/lib/client/index.js
+++ b/app/lib/client/index.js
@@ -11,4 +11,5 @@ import './methods/sendMessage';
 import './views/customFieldsForm.html';
 import './views/customFieldsForm';
 import '../startup/defaultRoomTypes';
+
 export * from './lib';
diff --git a/app/lib/client/lib/LoginPresence.js b/app/lib/client/lib/LoginPresence.js
index 60a6549e914..18ed539df83 100644
--- a/app/lib/client/lib/LoginPresence.js
+++ b/app/lib/client/lib/LoginPresence.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../../settings';
 
 export const LoginPresence = {
diff --git a/app/lib/client/lib/RocketChatAnnouncement.js b/app/lib/client/lib/RocketChatAnnouncement.js
index 53235d45d4f..16f6fc1e5c0 100644
--- a/app/lib/client/lib/RocketChatAnnouncement.js
+++ b/app/lib/client/lib/RocketChatAnnouncement.js
@@ -9,19 +9,24 @@ export class RocketChatAnnouncement {
 		this.callback = new ReactiveVar(args.callback);
 		this.style = new ReactiveVar(args.style);
 	}
+
 	save() {
 		const announcementObject = { message: this.message.get(), callback: this.callback.get(), style: this.style.get() };
 		Meteor.call('saveRoomSettings', this.room.get(), 'roomAnnouncement', announcementObject);
 	}
+
 	getMessage() {
 		return this.message.get();
 	}
+
 	getCallback() {
 		return this.callback.get();
 	}
+
 	getStyle() {
 		return this.callback.get();
 	}
+
 	getByRoom(rid) {
 		const roomData = Session.get(`roomData${ rid }`);
 		if (!roomData) { return null; }
@@ -31,6 +36,7 @@ export class RocketChatAnnouncement {
 		this.style.set(roomData.announcementDetails ? roomData.announcementDetails.style : null);
 		return this;
 	}
+
 	clear() {
 		this.message.set(null);
 		this.callback.set(null);
diff --git a/app/lib/client/lib/formatDate.js b/app/lib/client/lib/formatDate.js
index e1ae40d7935..19d211b996c 100644
--- a/app/lib/client/lib/formatDate.js
+++ b/app/lib/client/lib/formatDate.js
@@ -1,5 +1,4 @@
 import moment from 'moment';
-
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
 
diff --git a/app/lib/client/lib/settings.js b/app/lib/client/lib/settings.js
index 5ceef5efedc..62806990bd6 100644
--- a/app/lib/client/lib/settings.js
+++ b/app/lib/client/lib/settings.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
+
 import { t } from '../../../utils';
 import { modal } from '../../../ui-utils';
 import { settings } from '../../../settings';
diff --git a/app/lib/client/lib/startup/commands.js b/app/lib/client/lib/startup/commands.js
index 5fbcf3dbf20..0d9a7179ae9 100644
--- a/app/lib/client/lib/startup/commands.js
+++ b/app/lib/client/lib/startup/commands.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
+
 import { slashCommands, APIClient } from '../../../../utils';
 
 // Track logins and when they login, get the commands
diff --git a/app/lib/client/lib/userRoles.js b/app/lib/client/lib/userRoles.js
index bd155ff88f3..c0414276b40 100644
--- a/app/lib/client/lib/userRoles.js
+++ b/app/lib/client/lib/userRoles.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
+
 import { UserRoles, RoomRoles, ChatMessage } from '../../../models';
 import { handleError } from '../../../utils';
 import { Notifications } from '../../../notifications';
diff --git a/app/lib/client/methods/sendMessage.js b/app/lib/client/methods/sendMessage.js
index 8d0cad76345..4ba64c0059a 100644
--- a/app/lib/client/methods/sendMessage.js
+++ b/app/lib/client/methods/sendMessage.js
@@ -1,10 +1,11 @@
 import { Meteor } from 'meteor/meteor';
 import { TimeSync } from 'meteor/mizzao:timesync';
+import s from 'underscore.string';
+
 import { ChatMessage } from '../../../models';
 import { settings } from '../../../settings';
 import { callbacks } from '../../../callbacks';
 import { promises } from '../../../promises/client';
-import s from 'underscore.string';
 
 Meteor.methods({
 	sendMessage(message) {
diff --git a/app/lib/client/views/customFieldsForm.js b/app/lib/client/views/customFieldsForm.js
index 103c6d73cca..1a7fbc2f733 100644
--- a/app/lib/client/views/customFieldsForm.js
+++ b/app/lib/client/views/customFieldsForm.js
@@ -1,6 +1,7 @@
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Tracker } from 'meteor/tracker';
 import { Template } from 'meteor/templating';
+
 import { settings } from '../../../settings';
 
 Template.customFieldsForm.helpers({
@@ -34,7 +35,7 @@ Template.customFieldsForm.helpers({
 
 		if (typeof formData[field.fieldName] !== 'undefined') {
 			return formData[field.fieldName] === current;
-		} else if (typeof field.defaultValue !== 'undefined') {
+		} if (typeof field.defaultValue !== 'undefined') {
 			return field.defaultValue === current;
 		}
 	},
diff --git a/app/lib/lib/MessageTypes.js b/app/lib/lib/MessageTypes.js
index 9967b313e7e..012d76f0360 100644
--- a/app/lib/lib/MessageTypes.js
+++ b/app/lib/lib/MessageTypes.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { MessageTypes } from '../../ui-utils';
 import { callbacks } from '../../callbacks';
 
diff --git a/app/lib/lib/roomTypes/conversation.js b/app/lib/lib/roomTypes/conversation.js
index 3c35787677f..7e1ca775bd1 100644
--- a/app/lib/lib/roomTypes/conversation.js
+++ b/app/lib/lib/roomTypes/conversation.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { getUserPreference, RoomTypeConfig } from '../../../utils';
 
 export class ConversationRoomType extends RoomTypeConfig {
diff --git a/app/lib/lib/roomTypes/direct.js b/app/lib/lib/roomTypes/direct.js
index 0e5cd8db866..a8a000b7dfd 100644
--- a/app/lib/lib/roomTypes/direct.js
+++ b/app/lib/lib/roomTypes/direct.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Session } from 'meteor/session';
+
 import { ChatRoom, Subscriptions } from '../../../models';
 import { openRoom } from '../../../ui-utils';
 import { getUserPreference, RoomTypeConfig, RoomTypeRouteConfig, RoomSettingsEnum, UiTextContext } from '../../../utils';
@@ -52,13 +53,12 @@ export class DirectMessageRoomType extends RoomTypeConfig {
 	}
 
 	roomName(roomData) {
-
 		// this function can receive different types of data
 		// if it doesn't have fname and name properties, should be a Room object
 		// so, need to find the related subscription
-		const subscription = roomData && (roomData.fname || roomData.name) ?
-			roomData :
-			Subscriptions.findOne({ rid: roomData._id });
+		const subscription = roomData && (roomData.fname || roomData.name)
+			? roomData
+			: Subscriptions.findOne({ rid: roomData._id });
 
 		if (subscription === undefined) {
 			return console.log('roomData', roomData);
diff --git a/app/lib/lib/roomTypes/favorite.js b/app/lib/lib/roomTypes/favorite.js
index 8eea9b564d4..fc4e39a64e8 100644
--- a/app/lib/lib/roomTypes/favorite.js
+++ b/app/lib/lib/roomTypes/favorite.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../../settings';
 import { getUserPreference, RoomTypeConfig } from '../../../utils';
 
@@ -12,6 +13,7 @@ export class FavoriteRoomType extends RoomTypeConfig {
 			label: 'Favorites',
 		});
 	}
+
 	condition() {
 		return settings.get('Favorite_Rooms') && getUserPreference(Meteor.userId(), 'sidebarShowFavorites');
 	}
diff --git a/app/lib/lib/roomTypes/private.js b/app/lib/lib/roomTypes/private.js
index 4dc389911df..ee095a937f2 100644
--- a/app/lib/lib/roomTypes/private.js
+++ b/app/lib/lib/roomTypes/private.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { ChatRoom, ChatSubscription } from '../../../models';
 import { openRoom } from '../../../ui-utils';
 import { settings } from '../../../settings';
diff --git a/app/lib/lib/roomTypes/public.js b/app/lib/lib/roomTypes/public.js
index 60216d9a194..50813c912a7 100644
--- a/app/lib/lib/roomTypes/public.js
+++ b/app/lib/lib/roomTypes/public.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { openRoom } from '../../../ui-utils';
 import { ChatRoom, ChatSubscription } from '../../../models';
 import { settings } from '../../../settings';
diff --git a/app/lib/lib/roomTypes/unread.js b/app/lib/lib/roomTypes/unread.js
index f4a81450f3c..0422f8a4668 100644
--- a/app/lib/lib/roomTypes/unread.js
+++ b/app/lib/lib/roomTypes/unread.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { getUserPreference, RoomTypeConfig } from '../../../utils';
 
 export class UnreadRoomType extends RoomTypeConfig {
diff --git a/app/lib/lib/startup/settingsOnLoadSiteUrl.js b/app/lib/lib/startup/settingsOnLoadSiteUrl.js
index d398b6fca5c..2fb003f72df 100644
--- a/app/lib/lib/startup/settingsOnLoadSiteUrl.js
+++ b/app/lib/lib/startup/settingsOnLoadSiteUrl.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { WebAppInternals } from 'meteor/webapp';
+
 import { settings } from '../../../settings';
 
 export let hostname;
diff --git a/app/lib/server/functions/addUserToDefaultChannels.js b/app/lib/server/functions/addUserToDefaultChannels.js
index 7777744be50..c7a2a0b2c5b 100644
--- a/app/lib/server/functions/addUserToDefaultChannels.js
+++ b/app/lib/server/functions/addUserToDefaultChannels.js
@@ -6,7 +6,6 @@ export const addUserToDefaultChannels = function(user, silenced) {
 	callbacks.run('beforeJoinDefaultChannels', user);
 	const defaultRooms = Rooms.findByDefaultAndTypes(true, ['c', 'p'], { fields: { usernames: 0 } }).fetch();
 	defaultRooms.forEach((room) => {
-
 		// put user in default rooms
 		const muted = room.ro && !hasPermission(user._id, 'post-readonly');
 		if (muted) {
@@ -14,7 +13,6 @@ export const addUserToDefaultChannels = function(user, silenced) {
 		}
 
 		if (!Subscriptions.findOneByRoomIdAndUserId(room._id, user._id)) {
-
 			// Add a subscription to this user
 			Subscriptions.createWithRoomAndUser(room, user, {
 				ts: new Date(),
diff --git a/app/lib/server/functions/addUserToRoom.js b/app/lib/server/functions/addUserToRoom.js
index e108b2a72c2..09da986640c 100644
--- a/app/lib/server/functions/addUserToRoom.js
+++ b/app/lib/server/functions/addUserToRoom.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Rooms, Subscriptions, Messages } from '../../../models';
 import { hasPermission } from '../../../authorization';
 import { callbacks } from '../../../callbacks';
diff --git a/app/lib/server/functions/archiveRoom.js b/app/lib/server/functions/archiveRoom.js
index c59702f7966..cc63b650de7 100644
--- a/app/lib/server/functions/archiveRoom.js
+++ b/app/lib/server/functions/archiveRoom.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Rooms, Subscriptions } from '../../../models';
 import { callbacks } from '../../../callbacks';
 
diff --git a/app/lib/server/functions/attachMessage.js b/app/lib/server/functions/attachMessage.js
index 8a8901d81ac..4abffd1ebf3 100644
--- a/app/lib/server/functions/attachMessage.js
+++ b/app/lib/server/functions/attachMessage.js
@@ -1,6 +1,7 @@
 
 import { getUserAvatarURL } from '../../../utils/lib/getUserAvatarURL';
 import { roomTypes } from '../../../utils';
+
 export const attachMessage = function(message, room) {
 	const { msg, u: { username }, ts, attachments, _id } = message;
 	return {
diff --git a/app/lib/server/functions/checkEmailAvailability.js b/app/lib/server/functions/checkEmailAvailability.js
index 8382962497c..1c327dd95c9 100644
--- a/app/lib/server/functions/checkEmailAvailability.js
+++ b/app/lib/server/functions/checkEmailAvailability.js
@@ -2,5 +2,5 @@ import { Meteor } from 'meteor/meteor';
 import s from 'underscore.string';
 
 export const checkEmailAvailability = function(email) {
-	return !Meteor.users.findOne({ 'emails.address': { $regex : new RegExp(`^${ s.trim(s.escapeRegExp(email)) }$`, 'i') } });
+	return !Meteor.users.findOne({ 'emails.address': { $regex: new RegExp(`^${ s.trim(s.escapeRegExp(email)) }$`, 'i') } });
 };
diff --git a/app/lib/server/functions/checkUsernameAvailability.js b/app/lib/server/functions/checkUsernameAvailability.js
index 5ab313b0460..e881786805a 100644
--- a/app/lib/server/functions/checkUsernameAvailability.js
+++ b/app/lib/server/functions/checkUsernameAvailability.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import s from 'underscore.string';
+
 import { settings } from '../../../settings';
 
 let usernameBlackList = [];
@@ -14,7 +15,6 @@ const usernameIsBlocked = (username, usernameBlackList) => usernameBlackList.len
 	&& usernameBlackList.some((restrictedUsername) => restrictedUsername.test(s.trim(s.escapeRegExp(username))));
 
 export const checkUsernameAvailability = function(username) {
-
 	if (usernameIsBlocked(username, usernameBlackList)) {
 		return false;
 	}
diff --git a/app/lib/server/functions/cleanRoomHistory.js b/app/lib/server/functions/cleanRoomHistory.js
index 58d64a456d6..6aacf66444e 100644
--- a/app/lib/server/functions/cleanRoomHistory.js
+++ b/app/lib/server/functions/cleanRoomHistory.js
@@ -1,8 +1,9 @@
 import { TAPi18n } from 'meteor/tap:i18n';
+
+import { deleteRoom } from './deleteRoom';
 import { FileUpload } from '../../../file-upload';
 import { Messages, Rooms } from '../../../models';
 import { Notifications } from '../../../notifications';
-import { deleteRoom } from './deleteRoom';
 
 export const cleanRoomHistory = function({ rid, latest = new Date(), oldest = new Date('0001-01-01T00:00:00Z'), inclusive = true, limit = 0, excludePinned = true, ignoreDiscussion = true, filesOnly = false, fromUsers = [] }) {
 	const gt = inclusive ? '$gte' : '$gt';
@@ -32,7 +33,7 @@ export const cleanRoomHistory = function({ rid, latest = new Date(), oldest = ne
 	}
 
 	if (!ignoreDiscussion) {
-		Messages.findDiscussionByRoomIdPinnedTimestampAndUsers(rid, excludePinned, ts, fromUsers, { fields: { drid: 1 }, ...(limit && { limit }) }).fetch()
+		Messages.findDiscussionByRoomIdPinnedTimestampAndUsers(rid, excludePinned, ts, fromUsers, { fields: { drid: 1 }, ...limit && { limit } }).fetch()
 			.forEach(({ drid }) => deleteRoom(drid));
 	}
 
diff --git a/app/lib/server/functions/createRoom.js b/app/lib/server/functions/createRoom.js
index 79c4671a559..445bc7f913c 100644
--- a/app/lib/server/functions/createRoom.js
+++ b/app/lib/server/functions/createRoom.js
@@ -1,11 +1,12 @@
 import { Meteor } from 'meteor/meteor';
+import _ from 'underscore';
+import s from 'underscore.string';
+
 import { Users, Rooms, Subscriptions } from '../../../models';
 import { callbacks } from '../../../callbacks';
 import { hasPermission, addUserRoles } from '../../../authorization';
 import { getValidRoomName } from '../../../utils';
 import { Apps } from '../../../apps/server';
-import _ from 'underscore';
-import s from 'underscore.string';
 
 function createDirectRoom(source, target, extraData, options) {
 	const rid = [source._id, target._id].sort().join('');
diff --git a/app/lib/server/functions/deleteMessage.js b/app/lib/server/functions/deleteMessage.js
index c2e3c34958c..e74ff6d7d1b 100644
--- a/app/lib/server/functions/deleteMessage.js
+++ b/app/lib/server/functions/deleteMessage.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { FileUpload } from '../../../file-upload';
 import { settings } from '../../../settings';
 import { Messages, Uploads, Rooms } from '../../../models';
diff --git a/app/lib/server/functions/deleteRoom.js b/app/lib/server/functions/deleteRoom.js
index e33c6ef3a2e..8d113906d8b 100644
--- a/app/lib/server/functions/deleteRoom.js
+++ b/app/lib/server/functions/deleteRoom.js
@@ -1,5 +1,6 @@
 import { Messages, Subscriptions, Rooms } from '../../../models';
 import { callbacks } from '../../../callbacks';
+
 export const deleteRoom = function(rid) {
 	Messages.removeFilesByRoomId(rid);
 	Messages.removeByRoomId(rid);
diff --git a/app/lib/server/functions/deleteUser.js b/app/lib/server/functions/deleteUser.js
index 94c629e5f17..537732d1617 100644
--- a/app/lib/server/functions/deleteUser.js
+++ b/app/lib/server/functions/deleteUser.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { TAPi18n } from 'meteor/tap:i18n';
+
 import { FileUpload } from '../../../file-upload';
 import { Users, Subscriptions, Messages, Rooms, Integrations, FederationPeers } from '../../../models';
 import { hasRole, getUsersInRole } from '../../../authorization';
diff --git a/app/lib/server/functions/getAvatarSuggestionForUser.js b/app/lib/server/functions/getAvatarSuggestionForUser.js
index 687e5c5f79a..2960145bfb9 100644
--- a/app/lib/server/functions/getAvatarSuggestionForUser.js
+++ b/app/lib/server/functions/getAvatarSuggestionForUser.js
@@ -2,6 +2,7 @@ import { check } from 'meteor/check';
 import { HTTP } from 'meteor/http';
 import { Gravatar } from 'meteor/jparker:gravatar';
 import { ServiceConfiguration } from 'meteor/service-configuration';
+
 import { settings } from '../../../settings';
 
 export function getAvatarSuggestionForUser(user) {
diff --git a/app/lib/server/functions/getFullUserData.js b/app/lib/server/functions/getFullUserData.js
index 14538b57eb4..41e476aace4 100644
--- a/app/lib/server/functions/getFullUserData.js
+++ b/app/lib/server/functions/getFullUserData.js
@@ -1,4 +1,5 @@
 import s from 'underscore.string';
+
 import { Logger } from '../../../logger';
 import { settings } from '../../../settings';
 import { Users } from '../../../models';
diff --git a/app/lib/server/functions/getRoomByNameOrIdWithOptionToJoin.js b/app/lib/server/functions/getRoomByNameOrIdWithOptionToJoin.js
index bae1f1cb3cf..7306b487424 100644
--- a/app/lib/server/functions/getRoomByNameOrIdWithOptionToJoin.js
+++ b/app/lib/server/functions/getRoomByNameOrIdWithOptionToJoin.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
-import { Rooms, Users, Subscriptions } from '../../../models';
 import _ from 'underscore';
 
+import { Rooms, Users, Subscriptions } from '../../../models';
+
 export const getRoomByNameOrIdWithOptionToJoin = function _getRoomByNameOrIdWithOptionToJoin({ currentUserId, nameOrId, type = '', tryDirectByUserIdOnly = false, joinChannel = true, errorOnEmpty = true }) {
 	let room;
 
diff --git a/app/lib/server/functions/getUsernameSuggestion.js b/app/lib/server/functions/getUsernameSuggestion.js
index fc2420f86d4..e7be6544a07 100644
--- a/app/lib/server/functions/getUsernameSuggestion.js
+++ b/app/lib/server/functions/getUsernameSuggestion.js
@@ -1,4 +1,5 @@
 import limax from 'limax';
+
 import { Users } from '../../../models';
 import { settings } from '../../../settings';
 
@@ -25,7 +26,6 @@ export function generateUsernameSuggestion(user) {
 	let usernames = [];
 
 	if (user.name) {
-
 		usernames.push(name(user.name));
 
 		const nameParts = user.name.split(' ');
diff --git a/app/lib/server/functions/insertMessage.js b/app/lib/server/functions/insertMessage.js
index 0331326243a..35c7ccec150 100644
--- a/app/lib/server/functions/insertMessage.js
+++ b/app/lib/server/functions/insertMessage.js
@@ -1,4 +1,5 @@
 import { Match, check } from 'meteor/check';
+
 import { Markdown } from '../../../markdown/server';
 import { Messages } from '../../../models';
 
diff --git a/app/lib/server/functions/notifications/email.js b/app/lib/server/functions/notifications/email.js
index 7ec82b8529d..0f696cba6f2 100644
--- a/app/lib/server/functions/notifications/email.js
+++ b/app/lib/server/functions/notifications/email.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { TAPi18n } from 'meteor/tap:i18n';
 import s from 'underscore.string';
+
 import * as Mailer from '../../../../mailer';
 import { settings } from '../../../../settings';
 import { roomTypes } from '../../../../utils';
@@ -137,7 +138,6 @@ export function shouldNotifyEmail({
 	hasReplyToThread,
 	roomType,
 }) {
-
 	// use connected (don't need to send him an email)
 	if (statusConnection === 'online') {
 		return false;
diff --git a/app/lib/server/functions/notifications/index.js b/app/lib/server/functions/notifications/index.js
index 3627a294844..92a3733961f 100644
--- a/app/lib/server/functions/notifications/index.js
+++ b/app/lib/server/functions/notifications/index.js
@@ -1,8 +1,9 @@
 import { Meteor } from 'meteor/meteor';
 import { TAPi18n } from 'meteor/tap:i18n';
-import { settings } from '../../../../settings';
 import s from 'underscore.string';
 
+import { settings } from '../../../../settings';
+
 /**
 * This function returns a string ready to be shown in the notification
 *
diff --git a/app/lib/server/functions/notifications/mobile.js b/app/lib/server/functions/notifications/mobile.js
index 030285198b7..58d1aabc2c7 100644
--- a/app/lib/server/functions/notifications/mobile.js
+++ b/app/lib/server/functions/notifications/mobile.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../../../settings';
 import { Subscriptions } from '../../../../models';
 import { roomTypes } from '../../../../utils';
@@ -33,7 +34,7 @@ async function getBadgeCount(userId) {
 }
 
 function canSendMessageToRoom(room, username) {
-	return !((room.muted || []).includes(username));
+	return !(room.muted || []).includes(username);
 }
 
 export async function sendSinglePush({ room, message, userId, receiverUsername, senderUsername, senderName, notificationMessage }) {
diff --git a/app/lib/server/functions/processWebhookMessage.js b/app/lib/server/functions/processWebhookMessage.js
index d08a744133f..c51f4fb85b9 100644
--- a/app/lib/server/functions/processWebhookMessage.js
+++ b/app/lib/server/functions/processWebhookMessage.js
@@ -1,10 +1,11 @@
 import { Meteor } from 'meteor/meteor';
-import { Subscriptions } from '../../../models';
-import { getRoomByNameOrIdWithOptionToJoin } from './getRoomByNameOrIdWithOptionToJoin';
-import { sendMessage } from './sendMessage';
 import _ from 'underscore';
 import s from 'underscore.string';
 
+import { getRoomByNameOrIdWithOptionToJoin } from './getRoomByNameOrIdWithOptionToJoin';
+import { sendMessage } from './sendMessage';
+import { Subscriptions } from '../../../models';
+
 export const processWebhookMessage = function(messageObj, user, defaultValues = { channel: '', alias: '', avatar: '', emoji: '' }, mustBeJoined = false) {
 	const sentData = [];
 	const channels = [].concat(messageObj.channel || messageObj.roomId || defaultValues.channel);
@@ -57,7 +58,7 @@ export const processWebhookMessage = function(messageObj, user, defaultValues =
 			attachments: messageObj.attachments || [],
 			parseUrls: messageObj.parseUrls !== undefined ? messageObj.parseUrls : !messageObj.attachments,
 			bot: messageObj.bot,
-			groupable: (messageObj.groupable !== undefined) ? messageObj.groupable : false,
+			groupable: messageObj.groupable !== undefined ? messageObj.groupable : false,
 		};
 
 		if (!_.isEmpty(messageObj.icon_url) || !_.isEmpty(messageObj.avatar)) {
diff --git a/app/lib/server/functions/removeUserFromRoom.js b/app/lib/server/functions/removeUserFromRoom.js
index 1baec02eb7d..8a81100bb13 100644
--- a/app/lib/server/functions/removeUserFromRoom.js
+++ b/app/lib/server/functions/removeUserFromRoom.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Rooms, Messages, Subscriptions } from '../../../models';
 import { callbacks } from '../../../callbacks';
 
diff --git a/app/lib/server/functions/saveCustomFields.js b/app/lib/server/functions/saveCustomFields.js
index 90a700d7ae4..ca70a7f3a58 100644
--- a/app/lib/server/functions/saveCustomFields.js
+++ b/app/lib/server/functions/saveCustomFields.js
@@ -1,6 +1,8 @@
+import s from 'underscore.string';
+
 import { settings } from '../../../settings';
+
 import { validateCustomFields, saveCustomFieldsWithoutValidation } from '.';
-import s from 'underscore.string';
 
 export const saveCustomFields = function(userId, formData) {
 	if (s.trim(settings.get('Accounts_CustomFields')) !== '') {
diff --git a/app/lib/server/functions/saveCustomFieldsWithoutValidation.js b/app/lib/server/functions/saveCustomFieldsWithoutValidation.js
index 9b5149834a3..8bca7c6119d 100644
--- a/app/lib/server/functions/saveCustomFieldsWithoutValidation.js
+++ b/app/lib/server/functions/saveCustomFieldsWithoutValidation.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
+import s from 'underscore.string';
+
 import { settings } from '../../../settings';
 import { Users, Subscriptions } from '../../../models';
-import s from 'underscore.string';
 
 export const saveCustomFieldsWithoutValidation = function(userId, formData) {
 	if (s.trim(settings.get('Accounts_CustomFields')) !== '') {
@@ -13,7 +14,7 @@ export const saveCustomFieldsWithoutValidation = function(userId, formData) {
 		}
 
 		const customFields = {};
-		Object.keys(customFieldsMeta).forEach((key) => customFields[key] = formData[key]);
+		Object.keys(customFieldsMeta).forEach((key) => { customFields[key] = formData[key]; });
 		Users.setCustomFields(userId, customFields);
 
 		// Update customFields of all Direct Messages' Rooms for userId
diff --git a/app/lib/server/functions/saveUser.js b/app/lib/server/functions/saveUser.js
index 1dd48066911..1d478416ee0 100644
--- a/app/lib/server/functions/saveUser.js
+++ b/app/lib/server/functions/saveUser.js
@@ -2,14 +2,16 @@ import { Meteor } from 'meteor/meteor';
 import { Accounts } from 'meteor/accounts-base';
 import _ from 'underscore';
 import s from 'underscore.string';
-import * as Mailer from '../../../mailer';
 import { Gravatar } from 'meteor/jparker:gravatar';
+
+import * as Mailer from '../../../mailer';
 import { getRoles, hasPermission } from '../../../authorization';
 import { settings } from '../../../settings';
 import PasswordPolicy from '../lib/PasswordPolicyClass';
-import { checkEmailAvailability, checkUsernameAvailability, setUserAvatar, setEmail, setRealName, setUsername } from '.';
 import { validateEmailDomain } from '../lib';
 
+import { checkEmailAvailability, checkUsernameAvailability, setUserAvatar, setEmail, setRealName, setUsername } from '.';
+
 const passwordPolicy = new PasswordPolicy();
 
 let html = '';
diff --git a/app/lib/server/functions/sendMessage.js b/app/lib/server/functions/sendMessage.js
index e629f2858a1..290218f14e3 100644
--- a/app/lib/server/functions/sendMessage.js
+++ b/app/lib/server/functions/sendMessage.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+
 import { settings } from '../../../settings';
 import { callbacks } from '../../../callbacks';
 import { Messages } from '../../../models';
@@ -50,7 +51,6 @@ const validateAttachmentsFields = (attachmentField) => {
 	if (typeof attachmentField.value !== 'undefined') {
 		attachmentField.value = String(attachmentField.value);
 	}
-
 };
 
 const validateAttachmentsActions = (attachmentActions) => {
diff --git a/app/lib/server/functions/setEmail.js b/app/lib/server/functions/setEmail.js
index 5bdf8b4b2c0..982194ae78e 100644
--- a/app/lib/server/functions/setEmail.js
+++ b/app/lib/server/functions/setEmail.js
@@ -1,9 +1,11 @@
 import { Meteor } from 'meteor/meteor';
+import s from 'underscore.string';
+
 import { Users } from '../../../models';
 import { hasPermission } from '../../../authorization';
 import { RateLimiter, validateEmailDomain } from '../lib';
+
 import { checkEmailAvailability } from '.';
-import s from 'underscore.string';
 
 const _setEmail = function(userId, email, shouldSendVerificationEmail = true) {
 	email = s.trim(email);
diff --git a/app/lib/server/functions/setRealName.js b/app/lib/server/functions/setRealName.js
index b1bde3c715a..40262fd612b 100644
--- a/app/lib/server/functions/setRealName.js
+++ b/app/lib/server/functions/setRealName.js
@@ -1,10 +1,11 @@
 import { Meteor } from 'meteor/meteor';
+import s from 'underscore.string';
+
 import { Users, Subscriptions } from '../../../models';
 import { settings } from '../../../settings';
 import { Notifications } from '../../../notifications';
 import { hasPermission } from '../../../authorization';
 import { RateLimiter } from '../lib';
-import s from 'underscore.string';
 
 export const _setRealName = function(userId, name) {
 	name = s.trim(name);
diff --git a/app/lib/server/functions/setUserAvatar.js b/app/lib/server/functions/setUserAvatar.js
index 1f3ed06702d..4e7ec6201c9 100644
--- a/app/lib/server/functions/setUserAvatar.js
+++ b/app/lib/server/functions/setUserAvatar.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { HTTP } from 'meteor/http';
+
 import { RocketChatFile } from '../../../file';
 import { FileUpload } from '../../../file-upload';
 import { Users } from '../../../models';
@@ -11,7 +12,7 @@ export const setUserAvatar = function(user, dataURI, contentType, service) {
 
 	if (service === 'initials') {
 		return Users.setAvatarOrigin(user._id, service);
-	} else if (service === 'url') {
+	} if (service === 'url') {
 		let result = null;
 
 		try {
diff --git a/app/lib/server/functions/setUsername.js b/app/lib/server/functions/setUsername.js
index 9e8a5502359..087e36bce30 100644
--- a/app/lib/server/functions/setUsername.js
+++ b/app/lib/server/functions/setUsername.js
@@ -1,11 +1,13 @@
 import { Meteor } from 'meteor/meteor';
 import s from 'underscore.string';
 import { Accounts } from 'meteor/accounts-base';
+
 import { FileUpload } from '../../../file-upload';
 import { settings } from '../../../settings';
 import { Users, Messages, Subscriptions, Rooms, LivechatDepartmentAgents } from '../../../models';
 import { hasPermission } from '../../../authorization';
 import { RateLimiter } from '../lib';
+
 import { checkUsernameAvailability, setUserAvatar, getAvatarSuggestionForUser } from '.';
 
 export const _setUsername = function(userId, u) {
@@ -87,7 +89,7 @@ export const _setUsername = function(userId, u) {
 };
 
 export const setUsername = RateLimiter.limitFunction(_setUsername, 1, 60000, {
-	[0]() {
+	0() {
 		return !Meteor.userId() || !hasPermission(Meteor.userId(), 'edit-other-user-info');
 	},
 });
diff --git a/app/lib/server/functions/updateMessage.js b/app/lib/server/functions/updateMessage.js
index 167472f3834..5dd785c9ab3 100644
--- a/app/lib/server/functions/updateMessage.js
+++ b/app/lib/server/functions/updateMessage.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Messages, Rooms } from '../../../models';
 import { settings } from '../../../settings';
 import { callbacks } from '../../../callbacks';
diff --git a/app/lib/server/functions/validateCustomFields.js b/app/lib/server/functions/validateCustomFields.js
index 1e9da50f016..fc3834f29fd 100644
--- a/app/lib/server/functions/validateCustomFields.js
+++ b/app/lib/server/functions/validateCustomFields.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
-import { settings } from '../../../settings';
 import s from 'underscore.string';
 
+import { settings } from '../../../settings';
+
 export const validateCustomFields = function(fields) {
 	// Special Case:
 	// If an admin didn't set any custom fields there's nothing to validate against so consider any customFields valid
diff --git a/app/lib/server/index.js b/app/lib/server/index.js
index 8dec3f3b38d..dfbf8f7b010 100644
--- a/app/lib/server/index.js
+++ b/app/lib/server/index.js
@@ -1,5 +1,3 @@
-export * from './lib';
-export * from './functions';
 import './startup/email';
 import './startup/oAuthServicesUpdate';
 import './startup/rateLimiter';
@@ -68,3 +66,6 @@ import './methods/unarchiveRoom';
 import './methods/unblockUser';
 import './methods/updateMessage';
 import './publications/settings';
+
+export * from './lib';
+export * from './functions';
diff --git a/app/lib/server/lib/RateLimiter.js b/app/lib/server/lib/RateLimiter.js
index 9ff5af7aad6..c0f1074c82b 100644
--- a/app/lib/server/lib/RateLimiter.js
+++ b/app/lib/server/lib/RateLimiter.js
@@ -13,18 +13,17 @@ export const RateLimiterClass = new class {
 		return function(...args) {
 			const match = {};
 			_.each(matchers, function(matcher, key) {
-				return match[key] = args[key];
+				match[key] = args[key];
 			});
 			rateLimiter.increment(match);
 			const rateLimitResult = rateLimiter.check(match);
 			if (rateLimitResult.allowed) {
 				return fn.apply(null, args);
-			} else {
-				throw new Meteor.Error('error-too-many-requests', `Error, too many requests. Please slow down. You must wait ${ Math.ceil(rateLimitResult.timeToReset / 1000) } seconds before trying again.`, {
-					timeToReset: rateLimitResult.timeToReset,
-					seconds: Math.ceil(rateLimitResult.timeToReset / 1000),
-				});
 			}
+			throw new Meteor.Error('error-too-many-requests', `Error, too many requests. Please slow down. You must wait ${ Math.ceil(rateLimitResult.timeToReset / 1000) } seconds before trying again.`, {
+				timeToReset: rateLimitResult.timeToReset,
+				seconds: Math.ceil(rateLimitResult.timeToReset / 1000),
+			});
 		};
 	}
 
@@ -37,9 +36,8 @@ export const RateLimiterClass = new class {
 			name: methodName,
 		};
 		_.each(matchers, function(matcher, key) {
-			return match[key] = matchers[key];
+			match[key] = matchers[key];
 		});
 		return DDPRateLimiter.addRule(match, numRequests, timeInterval);
 	}
-
-};
+}();
diff --git a/app/lib/server/lib/bugsnag.js b/app/lib/server/lib/bugsnag.js
index b734817afe6..c707d7e2ca7 100644
--- a/app/lib/server/lib/bugsnag.js
+++ b/app/lib/server/lib/bugsnag.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
+import bugsnag from 'bugsnag';
+
 import { settings } from '../../../settings';
 import { Info } from '../../../utils';
-import bugsnag from 'bugsnag';
 
 settings.get('Bugsnag_api_key', (key, value) => {
 	if (value) {
diff --git a/app/lib/server/lib/configLogger.js b/app/lib/server/lib/configLogger.js
index b4bb239c7b6..3039cc62859 100644
--- a/app/lib/server/lib/configLogger.js
+++ b/app/lib/server/lib/configLogger.js
@@ -1,13 +1,14 @@
 import { Meteor } from 'meteor/meteor';
+
 import { LoggerManager } from '../../../logger';
 import { settings } from '../../../settings';
 
 settings.get('Log_Package', function(key, value) {
-	return LoggerManager.showPackage = value;
+	LoggerManager.showPackage = value;
 });
 
 settings.get('Log_File', function(key, value) {
-	return LoggerManager.showFileAndLine = value;
+	LoggerManager.showFileAndLine = value;
 });
 
 settings.get('Log_Level', function(key, value) {
diff --git a/app/lib/server/lib/debug.js b/app/lib/server/lib/debug.js
index d7c4e5c5bff..4344a20ea8a 100644
--- a/app/lib/server/lib/debug.js
+++ b/app/lib/server/lib/debug.js
@@ -1,9 +1,10 @@
 import { Meteor } from 'meteor/meteor';
 import { WebApp } from 'meteor/webapp';
 import { InstanceStatus } from 'meteor/konecty:multiple-instances-status';
+import _ from 'underscore';
+
 import { settings } from '../../../settings';
 import { metrics } from '../../../metrics';
-import _ from 'underscore';
 import { Logger } from '../../../logger';
 
 const logger = new Logger('Meteor', {
@@ -19,13 +20,13 @@ const logger = new Logger('Meteor', {
 
 let Log_Trace_Methods;
 let Log_Trace_Subscriptions;
-settings.get('Log_Trace_Methods', (key, value) => Log_Trace_Methods = value);
-settings.get('Log_Trace_Subscriptions', (key, value) => Log_Trace_Subscriptions = value);
+settings.get('Log_Trace_Methods', (key, value) => { Log_Trace_Methods = value; });
+settings.get('Log_Trace_Subscriptions', (key, value) => { Log_Trace_Subscriptions = value; });
 
 let Log_Trace_Methods_Filter;
 let Log_Trace_Subscriptions_Filter;
-settings.get('Log_Trace_Methods_Filter', (key, value) => Log_Trace_Methods_Filter = value ? new RegExp(value) : undefined);
-settings.get('Log_Trace_Subscriptions_Filter', (key, value) => Log_Trace_Subscriptions_Filter = value ? new RegExp(value) : undefined);
+settings.get('Log_Trace_Methods_Filter', (key, value) => { Log_Trace_Methods_Filter = value ? new RegExp(value) : undefined; });
+settings.get('Log_Trace_Subscriptions_Filter', (key, value) => { Log_Trace_Subscriptions_Filter = value ? new RegExp(value) : undefined; });
 
 const traceConnection = (enable, filter, prefix, name, connection, userId) => {
 	if (!enable) {
diff --git a/app/lib/server/lib/defaultBlockedDomainsList.js b/app/lib/server/lib/defaultBlockedDomainsList.js
index 73334b3c9b9..2d5e73d30f7 100644
--- a/app/lib/server/lib/defaultBlockedDomainsList.js
+++ b/app/lib/server/lib/defaultBlockedDomainsList.js
@@ -943,4 +943,3 @@ export const emailDomainDefaultBlackList = [
 	'zxcvbnm.com',
 	'zzz.com',
 ];
-
diff --git a/app/lib/server/lib/index.js b/app/lib/server/lib/index.js
index f43ce7aa240..958e8b04d09 100644
--- a/app/lib/server/lib/index.js
+++ b/app/lib/server/lib/index.js
@@ -5,6 +5,9 @@
 	for the *server* pieces of code which does include the shared
 	library files.
 */
+import './notifyUsersOnMessage';
+import './meteorFixes';
+
 export { sendNotification } from './sendNotificationsOnMessage';
 export { hostname } from '../../lib/startup/settingsOnLoadSiteUrl';
 export { passwordPolicy } from './passwordPolicy';
@@ -12,6 +15,3 @@ export { validateEmailDomain } from './validateEmailDomain';
 export { RateLimiterClass as RateLimiter } from './RateLimiter';
 export { processDirectEmail } from './processDirectEmail';
 export { msgStream } from './msgStream';
-
-import './notifyUsersOnMessage';
-import './meteorFixes';
diff --git a/app/lib/server/lib/interceptDirectReplyEmails.js b/app/lib/server/lib/interceptDirectReplyEmails.js
index 1845bbcf73f..bd70f16774f 100644
--- a/app/lib/server/lib/interceptDirectReplyEmails.js
+++ b/app/lib/server/lib/interceptDirectReplyEmails.js
@@ -1,8 +1,10 @@
 import { Meteor } from 'meteor/meteor';
-import { settings } from '../../../settings';
 import IMAP from 'imap';
 import POP3Lib from 'poplib';
 import { simpleParser } from 'mailparser';
+
+import { settings } from '../../../settings';
+
 import { processDirectEmail } from '.';
 
 export class IMAPIntercepter {
@@ -63,7 +65,7 @@ export class IMAPIntercepter {
 		return true;
 	}
 
-	stop(callback = new Function) {
+	stop(callback = new Function()) {
 		this.imap.end();
 		this.imap.once('end', callback);
 	}
@@ -259,7 +261,7 @@ export class POP3Helper {
 		return this.running;
 	}
 
-	stop(callback = new Function) {
+	stop(callback = new Function()) {
 		if (this.isActive()) {
 			Meteor.clearInterval(this.running);
 		}
diff --git a/app/lib/server/lib/notifyUsersOnMessage.js b/app/lib/server/lib/notifyUsersOnMessage.js
index 925df7ec550..e5c4dd7dfa5 100644
--- a/app/lib/server/lib/notifyUsersOnMessage.js
+++ b/app/lib/server/lib/notifyUsersOnMessage.js
@@ -33,9 +33,9 @@ export function updateUsersSubscriptions(message, room, users) {
 
 		const highlightOptions = { fields: { userHighlights: 1, 'u._id': 1 } };
 
-		const highlights = users ?
-			Subscriptions.findByRoomAndUsersWithUserHighlights(room._id, users, highlightOptions).fetch() :
-			Subscriptions.findByRoomWithUserHighlights(room._id, highlightOptions).fetch();
+		const highlights = users
+			? Subscriptions.findByRoomAndUsersWithUserHighlights(room._id, users, highlightOptions).fetch()
+			: Subscriptions.findByRoomWithUserHighlights(room._id, highlightOptions).fetch();
 
 		if (message.mentions != null) {
 			message.mentions.forEach(function(mention) {
@@ -90,8 +90,7 @@ function notifyUsersOnMessage(message, room) {
 		// TODO: Review as I am not sure how else to get around this as the incrementing of the msgs count shouldn't be in this callback
 		Rooms.incMsgCountById(message.rid, 1);
 		return message;
-	} else if (message.editedAt) {
-
+	} if (message.editedAt) {
 		// only updates last message if it was edited (skip rest of callback)
 		if (settings.get('Store_Last_Message') && (!room.lastMessage || room.lastMessage._id === message._id)) {
 			Rooms.setLastMessageById(message.rid, message);
diff --git a/app/lib/server/lib/passwordPolicy.js b/app/lib/server/lib/passwordPolicy.js
index a190e8cb5d3..c426fbd4cc1 100644
--- a/app/lib/server/lib/passwordPolicy.js
+++ b/app/lib/server/lib/passwordPolicy.js
@@ -1,14 +1,14 @@
-import { settings } from '../../../settings';
 import PasswordPolicy from './PasswordPolicyClass';
+import { settings } from '../../../settings';
 
 export const passwordPolicy = new PasswordPolicy();
 
-settings.get('Accounts_Password_Policy_Enabled', (key, value) => passwordPolicy.enabled = value);
-settings.get('Accounts_Password_Policy_MinLength', (key, value) => passwordPolicy.minLength = value);
-settings.get('Accounts_Password_Policy_MaxLength', (key, value) => passwordPolicy.maxLength = value);
-settings.get('Accounts_Password_Policy_ForbidRepeatingCharacters', (key, value) => passwordPolicy.forbidRepeatingCharacters = value);
-settings.get('Accounts_Password_Policy_ForbidRepeatingCharactersCount', (key, value) => passwordPolicy.forbidRepeatingCharactersCount = value);
-settings.get('Accounts_Password_Policy_AtLeastOneLowercase', (key, value) => passwordPolicy.mustContainAtLeastOneLowercase = value);
-settings.get('Accounts_Password_Policy_AtLeastOneUppercase', (key, value) => passwordPolicy.mustContainAtLeastOneUppercase = value);
-settings.get('Accounts_Password_Policy_AtLeastOneNumber', (key, value) => passwordPolicy.mustContainAtLeastOneNumber = value);
-settings.get('Accounts_Password_Policy_AtLeastOneSpecialCharacter', (key, value) => passwordPolicy.mustContainAtLeastOneSpecialCharacter = value);
+settings.get('Accounts_Password_Policy_Enabled', (key, value) => { passwordPolicy.enabled = value; });
+settings.get('Accounts_Password_Policy_MinLength', (key, value) => { passwordPolicy.minLength = value; });
+settings.get('Accounts_Password_Policy_MaxLength', (key, value) => { passwordPolicy.maxLength = value; });
+settings.get('Accounts_Password_Policy_ForbidRepeatingCharacters', (key, value) => { passwordPolicy.forbidRepeatingCharacters = value; });
+settings.get('Accounts_Password_Policy_ForbidRepeatingCharactersCount', (key, value) => { passwordPolicy.forbidRepeatingCharactersCount = value; });
+settings.get('Accounts_Password_Policy_AtLeastOneLowercase', (key, value) => { passwordPolicy.mustContainAtLeastOneLowercase = value; });
+settings.get('Accounts_Password_Policy_AtLeastOneUppercase', (key, value) => { passwordPolicy.mustContainAtLeastOneUppercase = value; });
+settings.get('Accounts_Password_Policy_AtLeastOneNumber', (key, value) => { passwordPolicy.mustContainAtLeastOneNumber = value; });
+settings.get('Accounts_Password_Policy_AtLeastOneSpecialCharacter', (key, value) => { passwordPolicy.mustContainAtLeastOneSpecialCharacter = value; });
diff --git a/app/lib/server/lib/processDirectEmail.js b/app/lib/server/lib/processDirectEmail.js
index fa751e32aee..f9394dbd2c1 100644
--- a/app/lib/server/lib/processDirectEmail.js
+++ b/app/lib/server/lib/processDirectEmail.js
@@ -1,10 +1,11 @@
 import { Meteor } from 'meteor/meteor';
+import { EmailReplyParser as reply } from 'emailreplyparser';
+import moment from 'moment';
+
 import { settings } from '../../../settings';
 import { Rooms, Messages, Users, Subscriptions } from '../../../models';
 import { metrics } from '../../../metrics';
-import { EmailReplyParser as reply } from 'emailreplyparser';
 import { sendMessage as _sendMessage } from '../functions';
-import moment from 'moment';
 
 export const processDirectEmail = function(email) {
 	function sendMessage(email) {
diff --git a/app/lib/server/lib/sendNotificationsOnMessage.js b/app/lib/server/lib/sendNotificationsOnMessage.js
index 23cb99c0aca..db544f05850 100644
--- a/app/lib/server/lib/sendNotificationsOnMessage.js
+++ b/app/lib/server/lib/sendNotificationsOnMessage.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import moment from 'moment';
+
 import { hasPermission } from '../../../authorization';
 import { settings } from '../../../settings';
 import { callbacks } from '../../../callbacks';
@@ -23,7 +24,6 @@ export const sendNotification = async ({
 	mentionIds,
 	disableAllMessageNotifications,
 }) => {
-
 	// don't notify the sender
 	if (subscription.u._id === sender._id) {
 		return;
@@ -213,7 +213,7 @@ export async function sendMessageNotifications(message, room, usersInThread = []
 		disableNotifications: { $ne: true },
 		$or: [
 			{ 'userHighlights.0': { $exists: 1 } },
-			...(usersInThread.length > 0 ? [{ 'u._id': { $in: usersInThread } }] : []),
+			...usersInThread.length > 0 ? [{ 'u._id': { $in: usersInThread } }] : [],
 		],
 	};
 
diff --git a/app/lib/server/lib/validateEmailDomain.js b/app/lib/server/lib/validateEmailDomain.js
index cce61e2f642..95384753718 100644
--- a/app/lib/server/lib/validateEmailDomain.js
+++ b/app/lib/server/lib/validateEmailDomain.js
@@ -1,8 +1,10 @@
+import dns from 'dns';
+
 import { Meteor } from 'meteor/meteor';
-import { settings } from '../../../settings';
-import { emailDomainDefaultBlackList } from './defaultBlockedDomainsList';
 import _ from 'underscore';
-import dns from 'dns';
+
+import { emailDomainDefaultBlackList } from './defaultBlockedDomainsList';
+import { settings } from '../../../settings';
 
 let emailDomainBlackList = [];
 let emailDomainWhiteList = [];
diff --git a/app/lib/server/methods/addOAuthService.js b/app/lib/server/methods/addOAuthService.js
index e86ad045d30..109c0b8732e 100644
--- a/app/lib/server/methods/addOAuthService.js
+++ b/app/lib/server/methods/addOAuthService.js
@@ -2,13 +2,13 @@
 /* eslint comma-spacing: 0 */
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+import s from 'underscore.string';
+
 import { settings } from '../../../settings';
 import { hasPermission } from '../../../authorization';
-import s from 'underscore.string';
 
 Meteor.methods({
 	addOAuthService(name) {
-
 		check(name, String);
 
 		if (!Meteor.userId()) {
diff --git a/app/lib/server/methods/addUsersToRoom.js b/app/lib/server/methods/addUsersToRoom.js
index a3a2c6c9af4..98e2e7fea5e 100644
--- a/app/lib/server/methods/addUsersToRoom.js
+++ b/app/lib/server/methods/addUsersToRoom.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match } from 'meteor/check';
+
 import { Rooms, Subscriptions, Users } from '../../../models';
 import { hasPermission } from '../../../authorization';
 import { addUserToRoom } from '../functions';
diff --git a/app/lib/server/methods/archiveRoom.js b/app/lib/server/methods/archiveRoom.js
index fc939a11000..3bc7ee6634b 100644
--- a/app/lib/server/methods/archiveRoom.js
+++ b/app/lib/server/methods/archiveRoom.js
@@ -1,12 +1,12 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { Rooms } from '../../../models';
 import { hasPermission } from '../../../authorization';
 import { archiveRoom } from '../functions';
 
 Meteor.methods({
 	archiveRoom(rid) {
-
 		check(rid, String);
 
 		if (!Meteor.userId()) {
diff --git a/app/lib/server/methods/blockUser.js b/app/lib/server/methods/blockUser.js
index 102bbaead7c..aeb622e6569 100644
--- a/app/lib/server/methods/blockUser.js
+++ b/app/lib/server/methods/blockUser.js
@@ -1,10 +1,10 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { Subscriptions } from '../../../models';
 
 Meteor.methods({
 	blockUser({ rid, blocked }) {
-
 		check(rid, String);
 		check(blocked, String);
 
diff --git a/app/lib/server/methods/checkRegistrationSecretURL.js b/app/lib/server/methods/checkRegistrationSecretURL.js
index 1c142a4672a..ab411be95d1 100644
--- a/app/lib/server/methods/checkRegistrationSecretURL.js
+++ b/app/lib/server/methods/checkRegistrationSecretURL.js
@@ -1,10 +1,10 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { settings } from '../../../settings';
 
 Meteor.methods({
 	checkRegistrationSecretURL(hash) {
-
 		check(hash, String);
 
 		return hash === settings.get('Accounts_RegistrationForm_SecretURL');
diff --git a/app/lib/server/methods/checkUsernameAvailability.js b/app/lib/server/methods/checkUsernameAvailability.js
index 994d71a3abc..caaa899e7b1 100644
--- a/app/lib/server/methods/checkUsernameAvailability.js
+++ b/app/lib/server/methods/checkUsernameAvailability.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { settings } from '../../../settings';
 import { checkUsernameAvailability } from '../functions';
 import { RateLimiter } from '../lib';
diff --git a/app/lib/server/methods/cleanRoomHistory.js b/app/lib/server/methods/cleanRoomHistory.js
index 6d937f265a3..37dfb105c0e 100644
--- a/app/lib/server/methods/cleanRoomHistory.js
+++ b/app/lib/server/methods/cleanRoomHistory.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+
 import { hasPermission } from '../../../authorization';
 import { cleanRoomHistory } from '../functions';
 
diff --git a/app/lib/server/methods/createChannel.js b/app/lib/server/methods/createChannel.js
index 53d442b2f55..5b4628c13cd 100644
--- a/app/lib/server/methods/createChannel.js
+++ b/app/lib/server/methods/createChannel.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+
 import { hasPermission } from '../../../authorization';
 import { createRoom } from '../functions';
 
diff --git a/app/lib/server/methods/createPrivateGroup.js b/app/lib/server/methods/createPrivateGroup.js
index f99f8e8c360..6ed5a8638f3 100644
--- a/app/lib/server/methods/createPrivateGroup.js
+++ b/app/lib/server/methods/createPrivateGroup.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+
 import { hasPermission } from '../../../authorization';
 import { createRoom } from '../functions';
 
diff --git a/app/lib/server/methods/createToken.js b/app/lib/server/methods/createToken.js
index 881f2055a2a..de562cb4d22 100644
--- a/app/lib/server/methods/createToken.js
+++ b/app/lib/server/methods/createToken.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Accounts } from 'meteor/accounts-base';
+
 import { hasPermission } from '../../../authorization';
 
 Meteor.methods({
diff --git a/app/lib/server/methods/deleteMessage.js b/app/lib/server/methods/deleteMessage.js
index 28d0149e168..9d8878b8d2b 100644
--- a/app/lib/server/methods/deleteMessage.js
+++ b/app/lib/server/methods/deleteMessage.js
@@ -1,10 +1,11 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+import moment from 'moment';
+
 import { hasPermission } from '../../../authorization';
 import { settings } from '../../../settings';
 import { Messages } from '../../../models';
 import { deleteMessage } from '../functions';
-import moment from 'moment';
 
 Meteor.methods({
 	deleteMessage(message) {
@@ -34,7 +35,7 @@ Meteor.methods({
 		const _hasPermission = hasPermission(Meteor.userId(), 'delete-message', originalMessage.rid);
 		const deleteAllowed = settings.get('Message_AllowDeleting');
 		const deleteOwn = originalMessage && originalMessage.u && originalMessage.u._id === Meteor.userId();
-		if (!(_hasPermission || (deleteAllowed && deleteOwn)) && !(forceDelete)) {
+		if (!(_hasPermission || (deleteAllowed && deleteOwn)) && !forceDelete) {
 			throw new Meteor.Error('error-action-not-allowed', 'Not allowed', {
 				method: 'deleteMessage',
 				action: 'Delete_message',
diff --git a/app/lib/server/methods/deleteUserOwnAccount.js b/app/lib/server/methods/deleteUserOwnAccount.js
index b6d5692042d..62c27450c3a 100644
--- a/app/lib/server/methods/deleteUserOwnAccount.js
+++ b/app/lib/server/methods/deleteUserOwnAccount.js
@@ -1,14 +1,14 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
 import { Accounts } from 'meteor/accounts-base';
+import s from 'underscore.string';
+
 import { settings } from '../../../settings';
 import { Users } from '../../../models';
 import { deleteUser } from '../functions';
-import s from 'underscore.string';
 
 Meteor.methods({
 	deleteUserOwnAccount(password) {
-
 		check(password, String);
 
 		if (!Meteor.userId()) {
diff --git a/app/lib/server/methods/executeSlashCommandPreview.js b/app/lib/server/methods/executeSlashCommandPreview.js
index 7baaad79fdd..887721dcfb1 100644
--- a/app/lib/server/methods/executeSlashCommandPreview.js
+++ b/app/lib/server/methods/executeSlashCommandPreview.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { slashCommands } from '../../../utils';
 
 Meteor.methods({
diff --git a/app/lib/server/methods/filterATAllTag.js b/app/lib/server/methods/filterATAllTag.js
index c1721cb54e5..3966a5c90bd 100644
--- a/app/lib/server/methods/filterATAllTag.js
+++ b/app/lib/server/methods/filterATAllTag.js
@@ -1,12 +1,13 @@
 import { Meteor } from 'meteor/meteor';
 import { Random } from 'meteor/random';
 import { TAPi18n } from 'meteor/tap:i18n';
+import _ from 'underscore';
+import moment from 'moment';
+
 import { hasPermission } from '../../../authorization';
 import { callbacks } from '../../../callbacks';
 import { Notifications } from '../../../notifications';
 import { Users } from '../../../models';
-import _ from 'underscore';
-import moment from 'moment';
 
 callbacks.add('beforeSaveMessage', function(message) {
 	// If the message was edited, or is older than 60 seconds (imported)
@@ -16,12 +17,10 @@ callbacks.add('beforeSaveMessage', function(message) {
 	}
 
 	// Test if the message mentions include @all.
-	if (message.mentions != null &&
-		_.pluck(message.mentions, '_id').some((item) => item === 'all')) {
-
+	if (message.mentions != null
+		&& _.pluck(message.mentions, '_id').some((item) => item === 'all')) {
 		// Check if the user has permissions to use @all in both global and room scopes.
 		if (!hasPermission(message.u._id, 'mention-all') && !hasPermission(message.u._id, 'mention-all', message.rid)) {
-
 			// Get the language of the user for the error notification.
 			const { language } = Users.findOneById(message.u._id);
 			const action = TAPi18n.__('Notify_all_in_this_room', {}, language);
@@ -31,7 +30,7 @@ callbacks.add('beforeSaveMessage', function(message) {
 			Notifications.notifyUser(message.u._id, 'message', {
 				_id: Random.id(),
 				rid: message.rid,
-				ts: new Date,
+				ts: new Date(),
 				msg: TAPi18n.__('error-action-not-allowed', { action }, language),
 			});
 
@@ -44,5 +43,4 @@ callbacks.add('beforeSaveMessage', function(message) {
 	}
 
 	return message;
-
 }, 1, 'filterATAllTag');
diff --git a/app/lib/server/methods/filterATHereTag.js b/app/lib/server/methods/filterATHereTag.js
index 9b917bc8b08..e105a8d76aa 100644
--- a/app/lib/server/methods/filterATHereTag.js
+++ b/app/lib/server/methods/filterATHereTag.js
@@ -1,12 +1,13 @@
 import { Meteor } from 'meteor/meteor';
 import { Random } from 'meteor/random';
 import { TAPi18n } from 'meteor/tap:i18n';
+import _ from 'underscore';
+import moment from 'moment';
+
 import { hasPermission } from '../../../authorization';
 import { callbacks } from '../../../callbacks';
 import { Notifications } from '../../../notifications';
 import { Users } from '../../../models';
-import _ from 'underscore';
-import moment from 'moment';
 
 callbacks.add('beforeSaveMessage', function(message) {
 	// If the message was edited, or is older than 60 seconds (imported)
@@ -17,10 +18,8 @@ callbacks.add('beforeSaveMessage', function(message) {
 
 	// Test if the message mentions include @here.
 	if (message.mentions != null && _.pluck(message.mentions, '_id').some((item) => item === 'here')) {
-
 		// Check if the user has permissions to use @here in both global and room scopes.
 		if (!hasPermission(message.u._id, 'mention-here') && !hasPermission(message.u._id, 'mention-here', message.rid)) {
-
 			// Get the language of the user for the error notification.
 			const { language } = Users.findOneById(message.u._id);
 			const action = TAPi18n.__('Notify_active_in_this_room', {}, language);
@@ -30,7 +29,7 @@ callbacks.add('beforeSaveMessage', function(message) {
 			Notifications.notifyUser(message.u._id, 'message', {
 				_id: Random.id(),
 				rid: message.rid,
-				ts: new Date,
+				ts: new Date(),
 				msg: TAPi18n.__('error-action-not-allowed', { action }, language),
 			});
 
@@ -43,5 +42,4 @@ callbacks.add('beforeSaveMessage', function(message) {
 	}
 
 	return message;
-
 }, 1, 'filterATHereTag');
diff --git a/app/lib/server/methods/filterBadWords.js b/app/lib/server/methods/filterBadWords.js
index f7c4b6f594e..e7bb4464282 100644
--- a/app/lib/server/methods/filterBadWords.js
+++ b/app/lib/server/methods/filterBadWords.js
@@ -1,9 +1,9 @@
 import Filter from 'bad-words';
+
 import { settings } from '../../../settings';
 import { callbacks } from '../../../callbacks';
 
 callbacks.add('beforeSaveMessage', function(message) {
-
 	if (settings.get('Message_AllowBadWordsFilter')) {
 		const badWordsList = settings.get('Message_BadWordsFilterList');
 		let options;
@@ -19,5 +19,4 @@ callbacks.add('beforeSaveMessage', function(message) {
 	}
 
 	return message;
-
 }, 1, 'filterBadWords');
diff --git a/app/lib/server/methods/getChannelHistory.js b/app/lib/server/methods/getChannelHistory.js
index c55579d63ed..f506686d1f8 100644
--- a/app/lib/server/methods/getChannelHistory.js
+++ b/app/lib/server/methods/getChannelHistory.js
@@ -1,10 +1,11 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+import _ from 'underscore';
+
 import { hasPermission } from '../../../authorization';
 import { Subscriptions, Messages } from '../../../models';
 import { settings } from '../../../settings';
 import { normalizeMessagesForUser } from '../../../utils/server/lib/normalizeMessagesForUser';
-import _ from 'underscore';
 
 Meteor.methods({
 	getChannelHistory({ rid, latest, oldest, inclusive, offset = 0, count = 20, unreads }) {
diff --git a/app/lib/server/methods/getFullUserData.js b/app/lib/server/methods/getFullUserData.js
index 9661f032b10..07ae554acb4 100644
--- a/app/lib/server/methods/getFullUserData.js
+++ b/app/lib/server/methods/getFullUserData.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { getFullUserData } from '../functions';
 
 Meteor.methods({
diff --git a/app/lib/server/methods/getMessages.js b/app/lib/server/methods/getMessages.js
index 6f950748a1a..e9e24d31d43 100644
--- a/app/lib/server/methods/getMessages.js
+++ b/app/lib/server/methods/getMessages.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { Messages } from '../../../models';
 
 Meteor.methods({
diff --git a/app/lib/server/methods/getRoomJoinCode.js b/app/lib/server/methods/getRoomJoinCode.js
index adc4fa7cc83..da58b6b86e8 100644
--- a/app/lib/server/methods/getRoomJoinCode.js
+++ b/app/lib/server/methods/getRoomJoinCode.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { hasPermission } from '../../../authorization';
 import { Rooms } from '../../../models';
 
diff --git a/app/lib/server/methods/getRoomRoles.js b/app/lib/server/methods/getRoomRoles.js
index fc92f5a1a4a..779ae94215f 100644
--- a/app/lib/server/methods/getRoomRoles.js
+++ b/app/lib/server/methods/getRoomRoles.js
@@ -1,8 +1,9 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+import _ from 'underscore';
+
 import { settings } from '../../../settings';
 import { Subscriptions, Users, Roles } from '../../../models';
-import _ from 'underscore';
 
 Meteor.methods({
 	getRoomRoles(rid) {
@@ -32,12 +33,11 @@ Meteor.methods({
 
 		if (!UI_Use_Real_Name) {
 			return subscriptions;
-		} else {
-			return subscriptions.map((subscription) => {
-				const user = Users.findOneById(subscription.u._id);
-				subscription.u.name = user && user.name;
-				return subscription;
-			});
 		}
+		return subscriptions.map((subscription) => {
+			const user = Users.findOneById(subscription.u._id);
+			subscription.u.name = user && user.name;
+			return subscription;
+		});
 	},
 });
diff --git a/app/lib/server/methods/getServerInfo.js b/app/lib/server/methods/getServerInfo.js
index 97aa99eb7b4..2c76421adb5 100644
--- a/app/lib/server/methods/getServerInfo.js
+++ b/app/lib/server/methods/getServerInfo.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Info } from '../../../utils';
 
 Meteor.methods({
diff --git a/app/lib/server/methods/getSingleMessage.js b/app/lib/server/methods/getSingleMessage.js
index 74625cf76f9..ac8ee4f23b1 100644
--- a/app/lib/server/methods/getSingleMessage.js
+++ b/app/lib/server/methods/getSingleMessage.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { Messages } from '../../../models';
 
 Meteor.methods({
diff --git a/app/lib/server/methods/getSlashCommandPreviews.js b/app/lib/server/methods/getSlashCommandPreviews.js
index 6052720c20b..a6435932173 100644
--- a/app/lib/server/methods/getSlashCommandPreviews.js
+++ b/app/lib/server/methods/getSlashCommandPreviews.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { slashCommands } from '../../../utils';
 
 Meteor.methods({
diff --git a/app/lib/server/methods/getUserRoles.js b/app/lib/server/methods/getUserRoles.js
index 1bd48b9bf97..b6b190a73b3 100644
--- a/app/lib/server/methods/getUserRoles.js
+++ b/app/lib/server/methods/getUserRoles.js
@@ -1,10 +1,10 @@
 import { Meteor } from 'meteor/meteor';
-import { Roles, Users } from '../../../models';
 import _ from 'underscore';
 
+import { Roles, Users } from '../../../models';
+
 Meteor.methods({
 	getUserRoles() {
-
 		if (!Meteor.userId()) {
 			throw new Meteor.Error('error-invalid-user', 'Invalid user', { method: 'getUserRoles' });
 		}
diff --git a/app/lib/server/methods/getUsernameSuggestion.js b/app/lib/server/methods/getUsernameSuggestion.js
index 1e736489136..c4da7a7188a 100644
--- a/app/lib/server/methods/getUsernameSuggestion.js
+++ b/app/lib/server/methods/getUsernameSuggestion.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { generateUsernameSuggestion } from '../functions';
 
 Meteor.methods({
diff --git a/app/lib/server/methods/insertOrUpdateUser.js b/app/lib/server/methods/insertOrUpdateUser.js
index aba6e0bc648..5ef24412641 100644
--- a/app/lib/server/methods/insertOrUpdateUser.js
+++ b/app/lib/server/methods/insertOrUpdateUser.js
@@ -1,10 +1,10 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { saveUser } from '../functions';
 
 Meteor.methods({
 	insertOrUpdateUser(userData) {
-
 		check(userData, Object);
 
 		if (!Meteor.userId()) {
diff --git a/app/lib/server/methods/joinDefaultChannels.js b/app/lib/server/methods/joinDefaultChannels.js
index 2f1cdbdf24b..f0e3dae60ff 100644
--- a/app/lib/server/methods/joinDefaultChannels.js
+++ b/app/lib/server/methods/joinDefaultChannels.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+
 import { addUserToDefaultChannels } from '../functions';
 
 Meteor.methods({
diff --git a/app/lib/server/methods/joinRoom.js b/app/lib/server/methods/joinRoom.js
index 3d8a72e3cab..a82773b6dfe 100644
--- a/app/lib/server/methods/joinRoom.js
+++ b/app/lib/server/methods/joinRoom.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { hasPermission, canAccessRoom } from '../../../authorization';
 import { Rooms } from '../../../models';
 import { Tokenpass, updateUserTokenpassBalances } from '../../../tokenpass/server';
diff --git a/app/lib/server/methods/leaveRoom.js b/app/lib/server/methods/leaveRoom.js
index 1140b2065b2..cdd6210d88a 100644
--- a/app/lib/server/methods/leaveRoom.js
+++ b/app/lib/server/methods/leaveRoom.js
@@ -1,12 +1,12 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { hasPermission, hasRole, getUsersInRole } from '../../../authorization';
 import { Subscriptions, Rooms } from '../../../models';
 import { removeUserFromRoom } from '../functions';
 
 Meteor.methods({
 	leaveRoom(rid) {
-
 		check(rid, String);
 
 		if (!Meteor.userId()) {
diff --git a/app/lib/server/methods/refreshOAuthService.js b/app/lib/server/methods/refreshOAuthService.js
index 59eced263e5..234c5f377df 100644
--- a/app/lib/server/methods/refreshOAuthService.js
+++ b/app/lib/server/methods/refreshOAuthService.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { ServiceConfiguration } from 'meteor/service-configuration';
+
 import { hasPermission } from '../../../authorization';
 import { Settings } from '../../../models';
 
@@ -15,6 +16,6 @@ Meteor.methods({
 
 		ServiceConfiguration.configurations.remove({});
 
-		Settings.update({ _id: /^Accounts_OAuth_.+/ }, { $set: { _updatedAt: new Date } }, { multi: true });
+		Settings.update({ _id: /^Accounts_OAuth_.+/ }, { $set: { _updatedAt: new Date() } }, { multi: true });
 	},
 });
diff --git a/app/lib/server/methods/removeOAuthService.js b/app/lib/server/methods/removeOAuthService.js
index f4ab2eaf5ee..228f0128663 100644
--- a/app/lib/server/methods/removeOAuthService.js
+++ b/app/lib/server/methods/removeOAuthService.js
@@ -1,12 +1,12 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+import s from 'underscore.string';
+
 import { hasPermission } from '../../../authorization';
 import { settings } from '../../../settings';
-import s from 'underscore.string';
 
 Meteor.methods({
 	removeOAuthService(name) {
-
 		check(name, String);
 
 		if (!Meteor.userId()) {
diff --git a/app/lib/server/methods/restartServer.js b/app/lib/server/methods/restartServer.js
index 0a84437791f..d694b833f74 100644
--- a/app/lib/server/methods/restartServer.js
+++ b/app/lib/server/methods/restartServer.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasRole } from '../../../authorization';
 
 Meteor.methods({
diff --git a/app/lib/server/methods/robotMethods.js b/app/lib/server/methods/robotMethods.js
index dffe2f04682..d93d3fa57bf 100644
--- a/app/lib/server/methods/robotMethods.js
+++ b/app/lib/server/methods/robotMethods.js
@@ -1,8 +1,9 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+import _ from 'underscore';
+
 import { hasRole } from '../../../authorization';
 import * as Models from '../../../models';
-import _ from 'underscore';
 
 Meteor.methods({
 	'robot.modelCall'(model, method, args) {
diff --git a/app/lib/server/methods/saveSetting.js b/app/lib/server/methods/saveSetting.js
index cb6b1a60380..5eedf7e4c0e 100644
--- a/app/lib/server/methods/saveSetting.js
+++ b/app/lib/server/methods/saveSetting.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+
 import { hasPermission } from '../../../authorization';
 import { settings } from '../../../settings';
 import { Settings } from '../../../models';
diff --git a/app/lib/server/methods/saveSettings.js b/app/lib/server/methods/saveSettings.js
index e1028b995ce..7446f76f4c3 100644
--- a/app/lib/server/methods/saveSettings.js
+++ b/app/lib/server/methods/saveSettings.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+
 import { hasPermission } from '../../../authorization';
 import { settings } from '../../../settings';
 import { Settings } from '../../../models';
diff --git a/app/lib/server/methods/sendInvitationEmail.js b/app/lib/server/methods/sendInvitationEmail.js
index efe8e86773b..a8f8e21c827 100644
--- a/app/lib/server/methods/sendInvitationEmail.js
+++ b/app/lib/server/methods/sendInvitationEmail.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import * as Mailer from '../../../mailer';
 import { hasPermission } from '../../../authorization';
 import { settings } from '../../../settings';
diff --git a/app/lib/server/methods/sendMessage.js b/app/lib/server/methods/sendMessage.js
index cbc50c642e7..67b20c05327 100644
--- a/app/lib/server/methods/sendMessage.js
+++ b/app/lib/server/methods/sendMessage.js
@@ -2,7 +2,6 @@ import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
 import { Random } from 'meteor/random';
 import { TAPi18n } from 'meteor/tap:i18n';
-
 import moment from 'moment';
 
 import { hasPermission } from '../../../authorization';
@@ -61,7 +60,7 @@ Meteor.methods({
 		const user = Users.findOneById(uid, {
 			fields: {
 				username: 1,
-				...(!!settings.get('Message_SetNameToAliasEnabled') && { name: 1 }),
+				...!!settings.get('Message_SetNameToAliasEnabled') && { name: 1 },
 			},
 		});
 		let { rid } = message;
@@ -85,7 +84,6 @@ Meteor.methods({
 
 			metrics.messagesSent.inc(); // TODO This line needs to be moved to it's proper place. See the comments on: https://github.com/RocketChat/Rocket.Chat/pull/5736
 			return sendMessage(user, message, room);
-
 		} catch (error) {
 			if (error === 'error-not-allowed') {
 				throw new Meteor.Error('error-not-allowed');
@@ -96,7 +94,7 @@ Meteor.methods({
 			Notifications.notifyUser(uid, 'message', {
 				_id: Random.id(),
 				rid: message.rid,
-				ts: new Date,
+				ts: new Date(),
 				msg: TAPi18n.__(error, {}, user.language),
 			});
 		}
diff --git a/app/lib/server/methods/sendSMTPTestEmail.js b/app/lib/server/methods/sendSMTPTestEmail.js
index 0da49f5fa5f..8d9ef7cde0d 100644
--- a/app/lib/server/methods/sendSMTPTestEmail.js
+++ b/app/lib/server/methods/sendSMTPTestEmail.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { DDPRateLimiter } from 'meteor/ddp-rate-limiter';
+
 import * as Mailer from '../../../mailer';
 import { settings } from '../../../settings';
 
diff --git a/app/lib/server/methods/setAdminStatus.js b/app/lib/server/methods/setAdminStatus.js
index a3bdea0306a..9ea6d5259d3 100644
--- a/app/lib/server/methods/setAdminStatus.js
+++ b/app/lib/server/methods/setAdminStatus.js
@@ -1,10 +1,10 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+
 import { hasPermission } from '../../../authorization';
 
 Meteor.methods({
 	setAdminStatus(userId, admin) {
-
 		check(userId, String);
 		check(admin, Match.Optional(Boolean));
 
@@ -20,8 +20,7 @@ Meteor.methods({
 
 		if (admin) {
 			return Meteor.call('authorization:addUserToRole', 'admin', user.username);
-		} else {
-			return Meteor.call('authorization:removeUserFromRole', 'admin', user.username);
 		}
+		return Meteor.call('authorization:removeUserFromRole', 'admin', user.username);
 	},
 });
diff --git a/app/lib/server/methods/setEmail.js b/app/lib/server/methods/setEmail.js
index 2a6e99cad53..e7ccd00c29b 100644
--- a/app/lib/server/methods/setEmail.js
+++ b/app/lib/server/methods/setEmail.js
@@ -1,13 +1,13 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { settings } from '../../../settings';
 import { setEmail } from '../functions';
 import { RateLimiter } from '../lib';
 
 Meteor.methods({
 	setEmail(email) {
-
-		check (email, String);
+		check(email, String);
 
 		if (!Meteor.userId()) {
 			throw new Meteor.Error('error-invalid-user', 'Invalid user', { method: 'setEmail' });
diff --git a/app/lib/server/methods/setRealName.js b/app/lib/server/methods/setRealName.js
index 4deb66420df..9969f25a151 100644
--- a/app/lib/server/methods/setRealName.js
+++ b/app/lib/server/methods/setRealName.js
@@ -1,12 +1,12 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { settings } from '../../../settings';
 import { setRealName } from '../functions';
 import { RateLimiter } from '../lib';
 
 Meteor.methods({
 	setRealName(name) {
-
 		check(name, String);
 
 		if (!Meteor.userId()) {
diff --git a/app/lib/server/methods/setUsername.js b/app/lib/server/methods/setUsername.js
index 2047f51ccc4..5a8ed788d8f 100644
--- a/app/lib/server/methods/setUsername.js
+++ b/app/lib/server/methods/setUsername.js
@@ -1,11 +1,12 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+import _ from 'underscore';
+
 import { settings } from '../../../settings';
 import { Users } from '../../../models';
 import { callbacks } from '../../../callbacks';
 import { setUsername, checkUsernameAvailability } from '../functions';
 import { RateLimiter } from '../lib';
-import _ from 'underscore';
 
 Meteor.methods({
 	setUsername(username, param = {}) {
diff --git a/app/lib/server/methods/unarchiveRoom.js b/app/lib/server/methods/unarchiveRoom.js
index 3399c150428..e584ce1044d 100644
--- a/app/lib/server/methods/unarchiveRoom.js
+++ b/app/lib/server/methods/unarchiveRoom.js
@@ -1,12 +1,12 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { hasPermission } from '../../../authorization';
 import { Rooms } from '../../../models';
 import { unarchiveRoom } from '../functions';
 
 Meteor.methods({
 	unarchiveRoom(rid) {
-
 		check(rid, String);
 
 		if (!Meteor.userId()) {
diff --git a/app/lib/server/methods/unblockUser.js b/app/lib/server/methods/unblockUser.js
index b06c3cc0b8a..3b3522feebd 100644
--- a/app/lib/server/methods/unblockUser.js
+++ b/app/lib/server/methods/unblockUser.js
@@ -1,10 +1,10 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { Subscriptions } from '../../../models';
 
 Meteor.methods({
 	unblockUser({ rid, blocked }) {
-
 		check(rid, String);
 		check(blocked, String);
 
diff --git a/app/lib/server/methods/updateMessage.js b/app/lib/server/methods/updateMessage.js
index 7721dea7f3c..3b90cc484f7 100644
--- a/app/lib/server/methods/updateMessage.js
+++ b/app/lib/server/methods/updateMessage.js
@@ -1,15 +1,15 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+import moment from 'moment';
+
 import { Messages } from '../../../models';
 import { settings } from '../../../settings';
 import { hasPermission } from '../../../authorization';
-import moment from 'moment';
 import { updateMessage } from '../functions';
 
 Meteor.methods({
 	updateMessage(message) {
-
-		check(message, Match.ObjectIncluding({ _id:String }));
+		check(message, Match.ObjectIncluding({ _id: String }));
 
 		if (!Meteor.userId()) {
 			throw new Meteor.Error('error-invalid-user', 'Invalid user', { method: 'updateMessage' });
diff --git a/app/lib/server/oauth/facebook.js b/app/lib/server/oauth/facebook.js
index a86468b55d7..f19aa01c622 100644
--- a/app/lib/server/oauth/facebook.js
+++ b/app/lib/server/oauth/facebook.js
@@ -1,10 +1,12 @@
+import crypto from 'crypto';
+
 import { Match, check } from 'meteor/check';
 import _ from 'underscore';
 import { OAuth } from 'meteor/oauth';
 import { HTTP } from 'meteor/http';
+
 import { registerAccessTokenService } from './oauth';
 
-import crypto from 'crypto';
 
 const whitelisted = [
 	'id',
@@ -50,7 +52,7 @@ registerAccessTokenService('facebook', function(options) {
 
 	const serviceData = {
 		accessToken: options.accessToken,
-		expiresAt: (+new Date) + (1000 * parseInt(options.expiresIn, 10)),
+		expiresAt: +new Date() + (1000 * parseInt(options.expiresIn, 10)),
 	};
 
 	const fields = _.pick(identity, whitelisted);
@@ -65,4 +67,3 @@ registerAccessTokenService('facebook', function(options) {
 		},
 	};
 });
-
diff --git a/app/lib/server/oauth/google.js b/app/lib/server/oauth/google.js
index 7bccf948776..848aa1c1c1b 100644
--- a/app/lib/server/oauth/google.js
+++ b/app/lib/server/oauth/google.js
@@ -2,6 +2,7 @@ import { Match, check } from 'meteor/check';
 import _ from 'underscore';
 import { HTTP } from 'meteor/http';
 import { Google } from 'meteor/google-oauth';
+
 import { registerAccessTokenService } from './oauth';
 
 function getIdentity(accessToken) {
@@ -39,7 +40,7 @@ registerAccessTokenService('google', function(options) {
 	const serviceData = {
 		accessToken: options.accessToken,
 		idToken: options.idToken,
-		expiresAt: (+new Date) + (1000 * parseInt(options.expiresIn, 10)),
+		expiresAt: +new Date() + (1000 * parseInt(options.expiresIn, 10)),
 		scope: options.scopes || getScopes(options.accessToken),
 	};
 
diff --git a/app/lib/server/oauth/oauth.js b/app/lib/server/oauth/oauth.js
index be9b1284070..5b83b4239d9 100644
--- a/app/lib/server/oauth/oauth.js
+++ b/app/lib/server/oauth/oauth.js
@@ -53,5 +53,3 @@ Accounts.registerLoginHandler(function(options) {
 
 	return Accounts.updateOrCreateUserFromExternalService(service.serviceName, oauthResult.serviceData, oauthResult.options);
 });
-
-
diff --git a/app/lib/server/oauth/proxy.js b/app/lib/server/oauth/proxy.js
index 0a022b4ec48..35517df1915 100644
--- a/app/lib/server/oauth/proxy.js
+++ b/app/lib/server/oauth/proxy.js
@@ -1,13 +1,12 @@
 import _ from 'underscore';
 import { OAuth } from 'meteor/oauth';
+
 import { settings } from '../../../settings';
 
 OAuth._redirectUri = _.wrap(OAuth._redirectUri, function(func, serviceName, ...args) {
 	const proxy = settings.get('Accounts_OAuth_Proxy_services').replace(/\s/g, '').split(',');
 	if (proxy.includes(serviceName)) {
 		return `${ settings.get('Accounts_OAuth_Proxy_host') }/oauth_redirect`;
-	} else {
-		return func(serviceName, ...args);
 	}
-
+	return func(serviceName, ...args);
 });
diff --git a/app/lib/server/oauth/twitter.js b/app/lib/server/oauth/twitter.js
index 67ebca49049..d93499fb57f 100644
--- a/app/lib/server/oauth/twitter.js
+++ b/app/lib/server/oauth/twitter.js
@@ -1,9 +1,10 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
-import { registerAccessTokenService } from './oauth';
 import Twit from 'twit';
 import _ from 'underscore';
 
+import { registerAccessTokenService } from './oauth';
+
 const whitelistedFields = [
 	'id',
 	'name',
@@ -44,7 +45,7 @@ registerAccessTokenService('twitter', function(options) {
 
 	const serviceData = {
 		accessToken: options.accessToken,
-		expiresAt: (+new Date) + (1000 * parseInt(options.expiresIn, 10)),
+		expiresAt: +new Date() + (1000 * parseInt(options.expiresIn, 10)),
 	};
 
 	const fields = _.pick(identity, whitelistedFields);
diff --git a/app/lib/server/publications/settings.js b/app/lib/server/publications/settings.js
index ffdc31a4574..dec4c0a6d4a 100644
--- a/app/lib/server/publications/settings.js
+++ b/app/lib/server/publications/settings.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Settings } from '../../../models';
 import { hasPermission } from '../../../authorization';
 import { Notifications } from '../../../notifications';
diff --git a/app/lib/server/startup/email.js b/app/lib/server/startup/email.js
index c86347a4b3d..7b891f44ac7 100644
--- a/app/lib/server/startup/email.js
+++ b/app/lib/server/startup/email.js
@@ -2,7 +2,6 @@ import { settings } from '../../../settings';
 
 settings.addGroup('Email', function() {
 	this.section('Style', function() {
-
 		this.add('email_style', `html, body, .body { font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Helvetica Neue','Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Meiryo UI',Arial,sans-serif; }
 
 	body, .body {
diff --git a/app/lib/server/startup/oAuthServicesUpdate.js b/app/lib/server/startup/oAuthServicesUpdate.js
index 3e408138608..e5ff4455f71 100644
--- a/app/lib/server/startup/oAuthServicesUpdate.js
+++ b/app/lib/server/startup/oAuthServicesUpdate.js
@@ -1,9 +1,10 @@
 import { Meteor } from 'meteor/meteor';
 import { ServiceConfiguration } from 'meteor/service-configuration';
+import _ from 'underscore';
+
 import { CustomOAuth } from '../../../custom-oauth';
 import { Logger } from '../../../logger';
 import { settings } from '../../../settings';
-import _ from 'underscore';
 
 const logger = new Logger('rocketchat:lib', {
 	methods: {
diff --git a/app/lib/server/startup/rateLimiter.js b/app/lib/server/startup/rateLimiter.js
index e4ff5076011..826e25000b3 100644
--- a/app/lib/server/startup/rateLimiter.js
+++ b/app/lib/server/startup/rateLimiter.js
@@ -2,6 +2,7 @@ import _ from 'underscore';
 import { Meteor } from 'meteor/meteor';
 import { DDPRateLimiter } from 'meteor/ddp-rate-limiter';
 import { RateLimiter } from 'meteor/rate-limit';
+
 import { settings } from '../../../settings';
 import { metrics } from '../../../metrics';
 
diff --git a/app/lib/server/startup/robots.js b/app/lib/server/startup/robots.js
index db6ff94a948..9969166ab5d 100644
--- a/app/lib/server/startup/robots.js
+++ b/app/lib/server/startup/robots.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { WebApp } from 'meteor/webapp';
+
 import { settings } from '../../../settings';
 
 Meteor.startup(function() {
diff --git a/app/lib/server/startup/settings.js b/app/lib/server/startup/settings.js
index 66f25ffc185..9287ff71b87 100644
--- a/app/lib/server/startup/settings.js
+++ b/app/lib/server/startup/settings.js
@@ -1,4 +1,5 @@
 import { Random } from 'meteor/random';
+
 import { settings } from '../../../settings';
 import './email';
 
@@ -255,16 +256,16 @@ settings.addGroup('Accounts', function() {
 			type: 'select',
 			values: [
 				{
-					key : 'all',
-					i18nLabel : 'All_messages',
+					key: 'all',
+					i18nLabel: 'All_messages',
 				},
 				{
-					key : 'mentions',
-					i18nLabel : 'Mentions',
+					key: 'mentions',
+					i18nLabel: 'Mentions',
 				},
 				{
-					key : 'nothing',
-					i18nLabel : 'Nothing',
+					key: 'nothing',
+					i18nLabel: 'Nothing',
 				},
 			],
 			public: true,
diff --git a/app/lib/server/startup/settingsOnLoadCdnPrefix.js b/app/lib/server/startup/settingsOnLoadCdnPrefix.js
index 820eabbd9d4..3c3e62bb356 100644
--- a/app/lib/server/startup/settingsOnLoadCdnPrefix.js
+++ b/app/lib/server/startup/settingsOnLoadCdnPrefix.js
@@ -1,8 +1,9 @@
 import { Meteor } from 'meteor/meteor';
 import { WebAppInternals } from 'meteor/webapp';
-import { settings } from '../../../settings';
 import _ from 'underscore';
 
+import { settings } from '../../../settings';
+
 function testWebAppInternals(fn) {
 	typeof WebAppInternals !== 'undefined' && fn(WebAppInternals);
 }
@@ -27,7 +28,7 @@ Meteor.startup(function() {
 	if (_.isString(cdnValue) && cdnValue.trim()) {
 		if (useForAll) {
 			return testWebAppInternals((WebAppInternals) => WebAppInternals.setBundledJsCssPrefix(cdnValue));
-		} else if (_.isString(cdnJsCss) && cdnJsCss.trim()) {
+		} if (_.isString(cdnJsCss) && cdnJsCss.trim()) {
 			return testWebAppInternals((WebAppInternals) => WebAppInternals.setBundledJsCssPrefix(cdnJsCss));
 		}
 	}
diff --git a/app/lib/server/startup/settingsOnLoadDirectReply.js b/app/lib/server/startup/settingsOnLoadDirectReply.js
index 884e3aaa169..73675065cb5 100644
--- a/app/lib/server/startup/settingsOnLoadDirectReply.js
+++ b/app/lib/server/startup/settingsOnLoadDirectReply.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
-import { settings } from '../../../settings';
 import _ from 'underscore';
+
+import { settings } from '../../../settings';
 import { IMAPIntercepter, POP3Helper, POP3 } from '../lib/interceptDirectReplyEmails.js';
 
 
diff --git a/app/lib/server/startup/settingsOnLoadSMTP.js b/app/lib/server/startup/settingsOnLoadSMTP.js
index 2beef6a6f76..4ad9b806933 100644
--- a/app/lib/server/startup/settingsOnLoadSMTP.js
+++ b/app/lib/server/startup/settingsOnLoadSMTP.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
-import { settings } from '../../../settings';
 import _ from 'underscore';
 
+import { settings } from '../../../settings';
+
 const buildMailURL = _.debounce(function() {
 	console.log('Updating process.env.MAIL_URL');
 
diff --git a/app/lib/tests/server.tests.js b/app/lib/tests/server.tests.js
index 87f18fb2a21..fab781ed667 100644
--- a/app/lib/tests/server.tests.js
+++ b/app/lib/tests/server.tests.js
@@ -58,8 +58,8 @@ describe('PasswordPolicyClass', () => {
 			assert.equal(passwordPolice.validate(), false);
 			assert.equal(passwordPolice.validate(1), false);
 			assert.equal(passwordPolice.validate(true), false);
-			assert.equal(passwordPolice.validate(new Date), false);
-			assert.equal(passwordPolice.validate(new Function), false);
+			assert.equal(passwordPolice.validate(new Date()), false);
+			assert.equal(passwordPolice.validate(new Function()), false);
 			assert.equal(passwordPolice.validate(''), false);
 		});
 
diff --git a/app/livechat/client/lib/dataHandler.js b/app/livechat/client/lib/dataHandler.js
index 76ea2eb097b..abba76521c5 100644
--- a/app/livechat/client/lib/dataHandler.js
+++ b/app/livechat/client/lib/dataHandler.js
@@ -18,7 +18,7 @@ const calculateResponseTimings = (dbCursor) => {
 		}
 	});
 
-	const avgArt = (count) ? art / count : 0;
+	const avgArt = count ? art / count : 0;
 
 	return {
 		avg: Math.round(avgArt * 100) / 100,
@@ -44,7 +44,7 @@ const calculateReactionTimings = (dbCursor) => {
 		}
 	});
 
-	const avgArnt = (count) ? arnt / count : 0;
+	const avgArnt = count ? arnt / count : 0;
 
 	return {
 		avg: Math.round(avgArnt * 100) / 100,
@@ -70,7 +70,7 @@ const calculateDurationData = (dbCursor) => {
 		}
 	});
 
-	const avgCD = (count) ? total / count : 0;
+	const avgCD = count ? total / count : 0;
 
 	return {
 		avg: Math.round(avgCD * 100) / 100,
@@ -163,10 +163,10 @@ export const getConversationsOverviewData = (dbCursor) => {
 
 	return [{
 		title: 'Total_conversations',
-		value: (total) ? total : 0,
+		value: total || 0,
 	}, {
 		title: 'Total_messages',
-		value: (totalMessages) ? totalMessages : 0,
+		value: totalMessages || 0,
 	}];
 };
 
@@ -191,9 +191,9 @@ export const getTimingsOverviewData = (dbCursor) => {
 
 	return [{
 		title: 'Avg_response_time',
-		value: (total) ? secondsToHHMMSS((totalReactionTime / total).toFixed(2)) : '-',
+		value: total ? secondsToHHMMSS((totalReactionTime / total).toFixed(2)) : '-',
 	}, {
 		title: 'Avg_reaction_time',
-		value: (total) ? secondsToHHMMSS((totalResponseTime / total).toFixed(2)) : '-',
+		value: total ? secondsToHHMMSS((totalResponseTime / total).toFixed(2)) : '-',
 	}];
 };
diff --git a/app/livechat/client/lib/dateHandler.js b/app/livechat/client/lib/dateHandler.js
index e6ebc213246..ac7d4167aa5 100644
--- a/app/livechat/client/lib/dateHandler.js
+++ b/app/livechat/client/lib/dateHandler.js
@@ -1,6 +1,7 @@
-import { handleError } from '../../../utils';
 import moment from 'moment';
 
+import { handleError } from '../../../utils';
+
 
 /**
  *	Check if given daterange matches any of pre-defined options
@@ -51,13 +52,12 @@ export const setDateRange = (value, from, to) => {
 			from: moment(from).format('MMM D YYYY'),
 			to: moment(to).format('MMM D YYYY'),
 		};
-	} else {
-		return {
-			value: 'this-week',
-			from: moment().startOf('week').format('MMM D YYYY'),
-			to: moment().endOf('week').format('MMM D YYYY'),
-		};
 	}
+	return {
+		value: 'this-week',
+		from: moment().startOf('week').format('MMM D YYYY'),
+		to: moment().endOf('week').format('MMM D YYYY'),
+	};
 };
 
 /**
@@ -76,11 +76,11 @@ export const updateDateRange = (currentDaterange, order) => {
 				return setDateRange('day',
 					moment(currentDaterange.from, 'MMM D YYYY').add(1, 'days').startOf('day'),
 					moment(currentDaterange.to, 'MMM D YYYY').add(1, 'days').startOf('day'));
-			} else {
-				return setDateRange('day',
-					moment(currentDaterange.from, 'MMM D YYYY').subtract(1, 'days').startOf('day'),
-					moment(currentDaterange.to, 'MMM D YYYY').subtract(1, 'days').startOf('day'));
 			}
+			return setDateRange('day',
+				moment(currentDaterange.from, 'MMM D YYYY').subtract(1, 'days').startOf('day'),
+				moment(currentDaterange.to, 'MMM D YYYY').subtract(1, 'days').startOf('day'));
+
 			// break;
 		case 'this-week':
 		case 'prev-week':
@@ -89,11 +89,11 @@ export const updateDateRange = (currentDaterange, order) => {
 				return setDateRange('week',
 					moment(currentDaterange.from, 'MMM D YYYY').add(1, 'weeks').startOf('week'),
 					moment(currentDaterange.to, 'MMM D YYYY').add(1, 'weeks').endOf('week'));
-			} else {
-				return setDateRange('week',
-					moment(currentDaterange.from, 'MMM D YYYY').subtract(1, 'weeks').startOf('week'),
-					moment(currentDaterange.to, 'MMM D YYYY').subtract(1, 'weeks').endOf('week'));
 			}
+			return setDateRange('week',
+				moment(currentDaterange.from, 'MMM D YYYY').subtract(1, 'weeks').startOf('week'),
+				moment(currentDaterange.to, 'MMM D YYYY').subtract(1, 'weeks').endOf('week'));
+
 			// break;
 		case 'this-month':
 		case 'prev-month':
@@ -102,11 +102,11 @@ export const updateDateRange = (currentDaterange, order) => {
 				return setDateRange('month',
 					moment(currentDaterange.from, 'MMM D YYYY').add(1, 'months').startOf('month'),
 					moment(currentDaterange.to, 'MMM D YYYY').add(1, 'months').endOf('month'));
-			} else {
-				return setDateRange('month',
-					moment(currentDaterange.from, 'MMM D YYYY').subtract(1, 'months').startOf('month'),
-					moment(currentDaterange.to, 'MMM D YYYY').subtract(1, 'months').endOf('month'));
 			}
+			return setDateRange('month',
+				moment(currentDaterange.from, 'MMM D YYYY').subtract(1, 'months').startOf('month'),
+				moment(currentDaterange.to, 'MMM D YYYY').subtract(1, 'months').endOf('month'));
+
 			// break;
 		case 'custom':
 			handleError({ details: { errorTitle: 'Navigation_didnot_work' }, error: 'You_have_selected_custom_dates' });
diff --git a/app/livechat/client/route.js b/app/livechat/client/route.js
index fa0eb1167a4..18cacc6c1bf 100644
--- a/app/livechat/client/route.js
+++ b/app/livechat/client/route.js
@@ -1,4 +1,5 @@
 import { FlowRouter } from 'meteor/kadira:flow-router';
+
 import { AccountBox } from '../../ui-utils';
 import './views/app/livechatDashboard.html';
 
diff --git a/app/livechat/client/startup/notifyUnreadRooms.js b/app/livechat/client/startup/notifyUnreadRooms.js
index e2256129ccf..ce0c05d5245 100644
--- a/app/livechat/client/startup/notifyUnreadRooms.js
+++ b/app/livechat/client/startup/notifyUnreadRooms.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
+
 import { settings } from '../../../settings';
 import { getUserPreference } from '../../../utils';
 import { Subscriptions, Users } from '../../../models';
@@ -23,13 +24,12 @@ const play = (audio) => {
 
 Meteor.startup(function() {
 	Tracker.autorun(function() {
-
 		if (!settings.get('Livechat_continuous_sound_notification_new_livechat_room')) {
 			stop(audio);
 			return;
 		}
 
-		const subs = Subscriptions.find({ t: 'l', ls : { $exists: 0 }, open: true }).count();
+		const subs = Subscriptions.find({ t: 'l', ls: { $exists: 0 }, open: true }).count();
 		if (subs === 0) {
 			stop(audio);
 			return;
@@ -45,6 +45,5 @@ Meteor.startup(function() {
 
 		[audio] = $(`#${ newRoomNotification }`);
 		play(audio);
-
 	});
 });
diff --git a/app/livechat/client/views/app/analytics/livechatAnalytics.js b/app/livechat/client/views/app/analytics/livechatAnalytics.js
index 0071f8d3b13..894b9940c4c 100644
--- a/app/livechat/client/views/app/analytics/livechatAnalytics.js
+++ b/app/livechat/client/views/app/analytics/livechatAnalytics.js
@@ -2,9 +2,10 @@ import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Tracker } from 'meteor/tracker';
 import { Template } from 'meteor/templating';
+import moment from 'moment';
+
 import { handleError } from '../../../../../utils';
 import { popover } from '../../../../../ui-utils';
-import moment from 'moment';
 import { drawLineChart } from '../../../lib/chartHandler';
 import { setDateRange, updateDateRange } from '../../../lib/dateHandler';
 import './livechatAnalytics.html';
@@ -172,9 +173,7 @@ Template.livechatAnalytics.onRendered(() => {
 			updateAnalyticsOverview();
 			updateAnalyticsChart();
 		}
-
 	});
-
 });
 
 Template.livechatAnalytics.events({
diff --git a/app/livechat/client/views/app/analytics/livechatAnalyticsCustomDaterange.js b/app/livechat/client/views/app/analytics/livechatAnalyticsCustomDaterange.js
index 040c55811a0..d2c11e9cc44 100644
--- a/app/livechat/client/views/app/analytics/livechatAnalyticsCustomDaterange.js
+++ b/app/livechat/client/views/app/analytics/livechatAnalyticsCustomDaterange.js
@@ -1,7 +1,8 @@
 import { Template } from 'meteor/templating';
+import moment from 'moment';
+
 import { handleError } from '../../../../../utils';
 import { popover } from '../../../../../ui-utils';
-import moment from 'moment';
 import { setDateRange } from '../../../lib/dateHandler';
 import './livechatAnalyticsCustomDaterange.html';
 
diff --git a/app/livechat/client/views/app/analytics/livechatAnalyticsDaterange.js b/app/livechat/client/views/app/analytics/livechatAnalyticsDaterange.js
index 115cc813fea..fa0f851a357 100644
--- a/app/livechat/client/views/app/analytics/livechatAnalyticsDaterange.js
+++ b/app/livechat/client/views/app/analytics/livechatAnalyticsDaterange.js
@@ -1,12 +1,13 @@
 import { Template } from 'meteor/templating';
-import { popover } from '../../../../../ui-utils';
 import moment from 'moment';
+
+import { popover } from '../../../../../ui-utils';
 import { setDateRange } from '../../../lib/dateHandler';
 import './livechatAnalyticsDaterange.html';
 
 Template.livechatAnalyticsDaterange.helpers({
 	bold(prop) {
-		return (prop === Template.currentData().daterange.get().value) ? 'rc-popover__item--bold' : '';
+		return prop === Template.currentData().daterange.get().value ? 'rc-popover__item--bold' : '';
 	},
 });
 
diff --git a/app/livechat/client/views/app/analytics/livechatRealTimeMonitoring.js b/app/livechat/client/views/app/analytics/livechatRealTimeMonitoring.js
index 1f2b448cc5c..d45da0d4c10 100644
--- a/app/livechat/client/views/app/analytics/livechatRealTimeMonitoring.js
+++ b/app/livechat/client/views/app/analytics/livechatRealTimeMonitoring.js
@@ -2,6 +2,7 @@ import { Mongo } from 'meteor/mongo';
 import { Template } from 'meteor/templating';
 import moment from 'moment';
 import { ReactiveVar } from 'meteor/reactive-var';
+
 import { drawLineChart, drawDoughnutChart, updateChart } from '../../../lib/chartHandler';
 import { getTimingsChartData, getAgentStatusData, getConversationsOverviewData, getTimingsOverviewData } from '../../../lib/dataHandler';
 import { LivechatMonitoring } from '../../../collections/LivechatMonitoring';
@@ -197,7 +198,7 @@ const updateTimingsOverview = () => {
 
 const displayDepartmentChart = (val) => {
 	const elem = document.getElementsByClassName('lc-chats-per-dept-chart-section')[0];
-	elem.style.display = (val) ? 'block' : 'none';
+	elem.style.display = val ? 'block' : 'none';
 };
 
 const updateVisitorsCount = () => {
diff --git a/app/livechat/client/views/app/integrations/livechatIntegrationFacebook.js b/app/livechat/client/views/app/integrations/livechatIntegrationFacebook.js
index abd9eea03dd..f76f0733cc1 100644
--- a/app/livechat/client/views/app/integrations/livechatIntegrationFacebook.js
+++ b/app/livechat/client/views/app/integrations/livechatIntegrationFacebook.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
+
 import { modal } from '../../../../../ui-utils';
 import { t, handleError } from '../../../../../utils';
 import './livechatIntegrationFacebook.html';
diff --git a/app/livechat/client/views/app/integrations/livechatIntegrationWebhook.js b/app/livechat/client/views/app/integrations/livechatIntegrationWebhook.js
index 26ba9f57cb9..c1470419aca 100644
--- a/app/livechat/client/views/app/integrations/livechatIntegrationWebhook.js
+++ b/app/livechat/client/views/app/integrations/livechatIntegrationWebhook.js
@@ -1,12 +1,13 @@
 import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
-import { modal } from '../../../../../ui-utils';
-import { t, handleError } from '../../../../../utils';
-import { LivechatIntegration } from '../../../collections/LivechatIntegration';
 import _ from 'underscore';
 import s from 'underscore.string';
 import toastr from 'toastr';
+
+import { modal } from '../../../../../ui-utils';
+import { t, handleError } from '../../../../../utils';
+import { LivechatIntegration } from '../../../collections/LivechatIntegration';
 import './livechatIntegrationWebhook.html';
 
 Template.livechatIntegrationWebhook.helpers({
diff --git a/app/livechat/client/views/app/livechatAppearance.js b/app/livechat/client/views/app/livechatAppearance.js
index f19b3d1e9f5..307abd3f30a 100644
--- a/app/livechat/client/views/app/livechatAppearance.js
+++ b/app/livechat/client/views/app/livechatAppearance.js
@@ -4,10 +4,11 @@ import { Mongo } from 'meteor/mongo';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Random } from 'meteor/random';
 import { Template } from 'meteor/templating';
-import { t, handleError } from '../../../../utils';
 import s from 'underscore.string';
 import moment from 'moment';
 import toastr from 'toastr';
+
+import { t, handleError } from '../../../../utils';
 import './livechatAppearance.html';
 
 const LivechatAppearance = new Mongo.Collection('livechatAppearance');
@@ -109,16 +110,14 @@ Template.livechatAppearance.helpers({
 	sampleColor() {
 		if (Template.instance().previewState.get().indexOf('offline') !== -1) {
 			return Template.instance().colorOffline.get();
-		} else {
-			return Template.instance().color.get();
 		}
+		return Template.instance().color.get();
 	},
 	sampleTitle() {
 		if (Template.instance().previewState.get().indexOf('offline') !== -1) {
 			return Template.instance().titleOffline.get();
-		} else {
-			return Template.instance().title.get();
 		}
+		return Template.instance().title.get();
 	},
 	sampleData() {
 		return {
@@ -330,7 +329,6 @@ Template.livechatAppearance.events({
 
 		const settingRegistrationFormMessage = LivechatAppearance.findOne('Livechat_registration_form_message');
 		instance.registrationFormMessage.set(settingRegistrationFormMessage && settingRegistrationFormMessage.value);
-
 	},
 	'submit .rocket-form'(e, instance) {
 		e.preventDefault();
diff --git a/app/livechat/client/views/app/livechatCurrentChats.js b/app/livechat/client/views/app/livechatCurrentChats.js
index 7bf92b3e52d..4190b37b754 100644
--- a/app/livechat/client/views/app/livechatCurrentChats.js
+++ b/app/livechat/client/views/app/livechatCurrentChats.js
@@ -5,6 +5,7 @@ import { Mongo } from 'meteor/mongo';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
+
 import { modal } from '../../../../ui-utils/client';
 import { t, handleError } from '../../../../utils/client';
 import './livechatCurrentChats.html';
@@ -129,7 +130,7 @@ Template.livechatCurrentChats.events({
 Template.livechatCurrentChats.onCreated(function() {
 	this.limit = new ReactiveVar(20);
 	this.filter = new ReactiveVar({});
-	this.selectedAgent = new ReactiveVar;
+	this.selectedAgent = new ReactiveVar();
 	this.autorun(() => {
 		this.subscribe('livechat:rooms', this.filter.get(), 0, this.limit.get());
 	});
diff --git a/app/livechat/client/views/app/livechatCustomFieldForm.js b/app/livechat/client/views/app/livechatCustomFieldForm.js
index 38ef0b3d991..c3ac8eb67b1 100644
--- a/app/livechat/client/views/app/livechatCustomFieldForm.js
+++ b/app/livechat/client/views/app/livechatCustomFieldForm.js
@@ -2,9 +2,10 @@ import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
+import toastr from 'toastr';
+
 import { t, handleError } from '../../../../utils';
 import { LivechatCustomField } from '../../collections/LivechatCustomField';
-import toastr from 'toastr';
 import './livechatCustomFieldForm.html';
 
 Template.livechatCustomFieldForm.helpers({
diff --git a/app/livechat/client/views/app/livechatCustomFields.js b/app/livechat/client/views/app/livechatCustomFields.js
index 7c393e86ca4..7d23b002c84 100644
--- a/app/livechat/client/views/app/livechatCustomFields.js
+++ b/app/livechat/client/views/app/livechatCustomFields.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
+
 import { modal } from '../../../../ui-utils';
 import { t, handleError } from '../../../../utils';
 import { LivechatCustomField } from '../../collections/LivechatCustomField';
diff --git a/app/livechat/client/views/app/livechatDepartmentForm.js b/app/livechat/client/views/app/livechatDepartmentForm.js
index 5a807d3c10d..a319d728e7c 100644
--- a/app/livechat/client/views/app/livechatDepartmentForm.js
+++ b/app/livechat/client/views/app/livechatDepartmentForm.js
@@ -2,12 +2,13 @@ import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
+import _ from 'underscore';
+import toastr from 'toastr';
+
 import { t, handleError } from '../../../../utils';
 import { AgentUsers } from '../../collections/AgentUsers';
 import { LivechatDepartment } from '../../collections/LivechatDepartment';
 import { LivechatDepartmentAgents } from '../../collections/LivechatDepartmentAgents';
-import _ from 'underscore';
-import toastr from 'toastr';
 import './livechatDepartmentForm.html';
 
 Template.livechatDepartmentForm.helpers({
diff --git a/app/livechat/client/views/app/livechatDepartments.js b/app/livechat/client/views/app/livechatDepartments.js
index 49400dd8bd3..b984e565063 100644
--- a/app/livechat/client/views/app/livechatDepartments.js
+++ b/app/livechat/client/views/app/livechatDepartments.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
+
 import { modal } from '../../../../ui-utils';
 import { t, handleError } from '../../../../utils';
 import { LivechatDepartment } from '../../collections/LivechatDepartment';
diff --git a/app/livechat/client/views/app/livechatInstallation.js b/app/livechat/client/views/app/livechatInstallation.js
index 2e468c95f1d..45aea09287d 100644
--- a/app/livechat/client/views/app/livechatInstallation.js
+++ b/app/livechat/client/views/app/livechatInstallation.js
@@ -1,6 +1,7 @@
 import { Template } from 'meteor/templating';
-import { settings } from '../../../../settings';
 import s from 'underscore.string';
+
+import { settings } from '../../../../settings';
 import './livechatInstallation.html';
 
 const latestVersion = '1.0.0';
diff --git a/app/livechat/client/views/app/livechatOfficeHours.js b/app/livechat/client/views/app/livechatOfficeHours.js
index 04844d35e89..34de2ee6d02 100644
--- a/app/livechat/client/views/app/livechatOfficeHours.js
+++ b/app/livechat/client/views/app/livechatOfficeHours.js
@@ -2,11 +2,12 @@ import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
+import toastr from 'toastr';
+import moment from 'moment';
+
 import { t, handleError } from '../../../../utils';
 import { settings } from '../../../../settings';
 import { LivechatOfficeHour } from '../../collections/livechatOfficeHour';
-import toastr from 'toastr';
-import moment from 'moment';
 import './livechatOfficeHours.html';
 
 Template.livechatOfficeHours.helpers({
@@ -27,7 +28,6 @@ Template.livechatOfficeHours.helpers({
 	},
 	finish(day) {
 		return Template.instance().dayVars[day.day].finish.get();
-
 	},
 	name(day) {
 		return TAPi18n.__(day.day);
diff --git a/app/livechat/client/views/app/livechatQueue.js b/app/livechat/client/views/app/livechatQueue.js
index 7050de8e0b1..873bcc07bb9 100644
--- a/app/livechat/client/views/app/livechatQueue.js
+++ b/app/livechat/client/views/app/livechatQueue.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
+
 import { settings } from '../../../../settings';
 import { hasRole } from '../../../../authorization';
 import { Users } from '../../../../models';
diff --git a/app/livechat/client/views/app/livechatReadOnly.js b/app/livechat/client/views/app/livechatReadOnly.js
index 7f1cf2403fd..ec74925be8c 100644
--- a/app/livechat/client/views/app/livechatReadOnly.js
+++ b/app/livechat/client/views/app/livechatReadOnly.js
@@ -2,6 +2,7 @@ import { Meteor } from 'meteor/meteor';
 import { Template } from 'meteor/templating';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { FlowRouter } from 'meteor/kadira:flow-router';
+
 import { ChatRoom } from '../../../../models';
 import { LivechatInquiry } from '../../../lib/LivechatInquiry';
 import { call } from '../../../../ui-utils/client';
@@ -52,5 +53,4 @@ Template.livechatReadOnly.onCreated(function() {
 	this.autorun(() => {
 		this.room.set(ChatRoom.findOne({ _id: Template.currentData().rid }, { fields: { open: 1 } }));
 	});
-
 });
diff --git a/app/livechat/client/views/app/livechatTriggers.js b/app/livechat/client/views/app/livechatTriggers.js
index 0b690001e55..0cde3fd5479 100644
--- a/app/livechat/client/views/app/livechatTriggers.js
+++ b/app/livechat/client/views/app/livechatTriggers.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
+
 import { modal } from '../../../../ui-utils';
 import { t, handleError } from '../../../../utils';
 import { LivechatTrigger } from '../../collections/LivechatTrigger';
diff --git a/app/livechat/client/views/app/livechatTriggersForm.js b/app/livechat/client/views/app/livechatTriggersForm.js
index fbd4a5ebeb1..d8e34be2871 100644
--- a/app/livechat/client/views/app/livechatTriggersForm.js
+++ b/app/livechat/client/views/app/livechatTriggersForm.js
@@ -1,9 +1,10 @@
 import { Meteor } from 'meteor/meteor';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
+import toastr from 'toastr';
+
 import { t, handleError } from '../../../../utils';
 import { LivechatTrigger } from '../../collections/LivechatTrigger';
-import toastr from 'toastr';
 import './livechatTriggersForm.html';
 
 Template.livechatTriggersForm.helpers({
diff --git a/app/livechat/client/views/app/livechatUsers.js b/app/livechat/client/views/app/livechatUsers.js
index df35acd776c..2843ecd6d80 100644
--- a/app/livechat/client/views/app/livechatUsers.js
+++ b/app/livechat/client/views/app/livechatUsers.js
@@ -1,11 +1,12 @@
 import { Meteor } from 'meteor/meteor';
 import { Mongo } from 'meteor/mongo';
 import { Template } from 'meteor/templating';
+import _ from 'underscore';
+import toastr from 'toastr';
+
 import { modal } from '../../../../ui-utils';
 import { t, handleError } from '../../../../utils';
 import { AgentUsers } from '../../collections/AgentUsers';
-import _ from 'underscore';
-import toastr from 'toastr';
 import './livechatUsers.html';
 
 let ManagerUsers;
diff --git a/app/livechat/client/views/app/tabbar/externalSearch.js b/app/livechat/client/views/app/tabbar/externalSearch.js
index 75b844e6ade..e98b788f622 100644
--- a/app/livechat/client/views/app/tabbar/externalSearch.js
+++ b/app/livechat/client/views/app/tabbar/externalSearch.js
@@ -1,4 +1,5 @@
 import { Template } from 'meteor/templating';
+
 import { LivechatExternalMessage } from '../../../../lib/LivechatExternalMessage';
 import './externalSearch.html';
 
diff --git a/app/livechat/client/views/app/tabbar/visitorEdit.js b/app/livechat/client/views/app/tabbar/visitorEdit.js
index 55acc81f09c..e417b833910 100644
--- a/app/livechat/client/views/app/tabbar/visitorEdit.js
+++ b/app/livechat/client/views/app/tabbar/visitorEdit.js
@@ -1,10 +1,11 @@
 import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
+import toastr from 'toastr';
+
 import { ChatRoom } from '../../../../../models';
 import { t } from '../../../../../utils';
 import { LivechatVisitor } from '../../../collections/LivechatVisitor';
-import toastr from 'toastr';
 import './visitorEdit.html';
 
 Template.visitorEdit.helpers({
diff --git a/app/livechat/client/views/app/tabbar/visitorForward.js b/app/livechat/client/views/app/tabbar/visitorForward.js
index 3b8dda292e0..ab7a6cf0d84 100644
--- a/app/livechat/client/views/app/tabbar/visitorForward.js
+++ b/app/livechat/client/views/app/tabbar/visitorForward.js
@@ -2,11 +2,12 @@ import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
+import toastr from 'toastr';
+
 import { ChatRoom } from '../../../../../models';
 import { t } from '../../../../../utils';
 import { LivechatDepartment } from '../../../collections/LivechatDepartment';
 import { AgentUsers } from '../../../collections/AgentUsers';
-import toastr from 'toastr';
 import './visitorForward.html';
 
 Template.visitorForward.helpers({
diff --git a/app/livechat/client/views/app/tabbar/visitorHistory.js b/app/livechat/client/views/app/tabbar/visitorHistory.js
index cb7760a6a87..1767d3b0cf5 100644
--- a/app/livechat/client/views/app/tabbar/visitorHistory.js
+++ b/app/livechat/client/views/app/tabbar/visitorHistory.js
@@ -1,8 +1,9 @@
-import { ChatRoom } from '../../../../../models';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
 import { Mongo } from 'meteor/mongo';
 import moment from 'moment';
+
+import { ChatRoom } from '../../../../../models';
 import './visitorHistory.html';
 
 const visitorHistory = new Mongo.Collection('visitor_history');
diff --git a/app/livechat/client/views/app/tabbar/visitorInfo.js b/app/livechat/client/views/app/tabbar/visitorInfo.js
index c3edee3358b..50bfcaddd6b 100644
--- a/app/livechat/client/views/app/tabbar/visitorInfo.js
+++ b/app/livechat/client/views/app/tabbar/visitorInfo.js
@@ -4,6 +4,11 @@ import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
+import _ from 'underscore';
+import s from 'underscore.string';
+import moment from 'moment';
+import UAParser from 'ua-parser-js';
+
 import { modal } from '../../../../../ui-utils';
 import { ChatRoom, Rooms, Subscriptions } from '../../../../../models';
 import { settings } from '../../../../../settings';
@@ -11,10 +16,6 @@ import { t, handleError, roomTypes } from '../../../../../utils';
 import { hasRole } from '../../../../../authorization';
 import { LivechatVisitor } from '../../../collections/LivechatVisitor';
 import { LivechatDepartment } from '../../../collections/LivechatDepartment';
-import _ from 'underscore';
-import s from 'underscore.string';
-import moment from 'moment';
-import UAParser from 'ua-parser-js';
 import './visitorInfo.html';
 
 Template.visitorInfo.helpers({
@@ -210,7 +211,6 @@ Template.visitorInfo.events({
 			}
 
 			return closeRoom(inputValue);
-
 		});
 	},
 
diff --git a/app/livechat/client/views/app/tabbar/visitorNavigation.js b/app/livechat/client/views/app/tabbar/visitorNavigation.js
index c0c8a59d134..9c8360c4be2 100644
--- a/app/livechat/client/views/app/tabbar/visitorNavigation.js
+++ b/app/livechat/client/views/app/tabbar/visitorNavigation.js
@@ -1,8 +1,9 @@
 import { Mongo } from 'meteor/mongo';
 import { Template } from 'meteor/templating';
+import moment from 'moment';
+
 import { ChatRoom } from '../../../../../models';
 import { t } from '../../../../../utils';
-import moment from 'moment';
 import './visitorNavigation.html';
 
 const visitorNavigationHistory = new Mongo.Collection('visitor_navigation_history');
diff --git a/app/livechat/client/views/app/triggers/livechatTriggerAction.js b/app/livechat/client/views/app/triggers/livechatTriggerAction.js
index 527a2ed9011..c68add97101 100644
--- a/app/livechat/client/views/app/triggers/livechatTriggerAction.js
+++ b/app/livechat/client/views/app/triggers/livechatTriggerAction.js
@@ -1,5 +1,6 @@
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
+
 import { settings } from '../../../../../settings';
 import './livechatTriggerAction.html';
 
@@ -8,7 +9,7 @@ Template.livechatTriggerAction.helpers({
 		if (this.name === undefined && Template.instance().firstAction) {
 			Template.instance().firstAction = false;
 			return '';
-		} else if (this.name !== current) {
+		} if (this.name !== current) {
 			return 'hidden';
 		}
 	},
diff --git a/app/livechat/client/views/app/triggers/livechatTriggerCondition.js b/app/livechat/client/views/app/triggers/livechatTriggerCondition.js
index 6a6490853ce..02c8ce64a44 100644
--- a/app/livechat/client/views/app/triggers/livechatTriggerCondition.js
+++ b/app/livechat/client/views/app/triggers/livechatTriggerCondition.js
@@ -6,7 +6,7 @@ Template.livechatTriggerCondition.helpers({
 		if (this.name === undefined && Template.instance().firstCondition) {
 			Template.instance().firstCondition = false;
 			return '';
-		} else if (this.name !== current) {
+		} if (this.name !== current) {
 			return 'hidden';
 		}
 	},
diff --git a/app/livechat/client/views/sideNav/livechat.js b/app/livechat/client/views/sideNav/livechat.js
index a49ed44d595..8e2056f58e3 100644
--- a/app/livechat/client/views/sideNav/livechat.js
+++ b/app/livechat/client/views/sideNav/livechat.js
@@ -3,6 +3,7 @@ import { ReactiveVar } from 'meteor/reactive-var';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
+
 import { ChatSubscription, Users } from '../../../../models';
 import { KonchatNotification } from '../../../../ui';
 import { settings } from '../../../../settings';
diff --git a/app/livechat/client/views/sideNav/livechatFlex.js b/app/livechat/client/views/sideNav/livechatFlex.js
index 6848f07f931..f8692b40284 100644
--- a/app/livechat/client/views/sideNav/livechatFlex.js
+++ b/app/livechat/client/views/sideNav/livechatFlex.js
@@ -1,4 +1,5 @@
 import { Template } from 'meteor/templating';
+
 import { SideNav, Layout } from '../../../../ui-utils';
 import { t } from '../../../../utils';
 import './livechatFlex.html';
diff --git a/app/livechat/imports/server/rest/departments.js b/app/livechat/imports/server/rest/departments.js
index 337c4d523ed..2c6b0b85e7f 100644
--- a/app/livechat/imports/server/rest/departments.js
+++ b/app/livechat/imports/server/rest/departments.js
@@ -1,4 +1,5 @@
 import { check } from 'meteor/check';
+
 import { API } from '../../../../api';
 import { hasPermission } from '../../../../authorization';
 import { LivechatDepartment, LivechatDepartmentAgents } from '../../../../models';
diff --git a/app/livechat/imports/server/rest/facebook.js b/app/livechat/imports/server/rest/facebook.js
index 9637f386952..ab2283a51e0 100644
--- a/app/livechat/imports/server/rest/facebook.js
+++ b/app/livechat/imports/server/rest/facebook.js
@@ -1,5 +1,7 @@
 import crypto from 'crypto';
+
 import { Random } from 'meteor/random';
+
 import { API } from '../../../../api';
 import { Rooms, Users, LivechatVisitors } from '../../../../models';
 import { settings } from '../../../../settings';
diff --git a/app/livechat/imports/server/rest/sms.js b/app/livechat/imports/server/rest/sms.js
index 5eec0dd39b5..c0f6f9f1804 100644
--- a/app/livechat/imports/server/rest/sms.js
+++ b/app/livechat/imports/server/rest/sms.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Random } from 'meteor/random';
+
 import { Rooms, LivechatVisitors } from '../../../../models';
 import { API } from '../../../../api';
 import { SMS } from '../../../../sms';
diff --git a/app/livechat/imports/server/rest/upload.js b/app/livechat/imports/server/rest/upload.js
index 6ec96c1d494..fc0b4ca4338 100644
--- a/app/livechat/imports/server/rest/upload.js
+++ b/app/livechat/imports/server/rest/upload.js
@@ -1,11 +1,13 @@
 import { Meteor } from 'meteor/meteor';
+import Busboy from 'busboy';
+import filesize from 'filesize';
+
 import { settings } from '../../../../settings';
 import { Settings, Rooms, LivechatVisitors } from '../../../../models';
 import { fileUploadIsValidContentType } from '../../../../utils';
 import { FileUpload } from '../../../../file-upload';
 import { API } from '../../../../api';
-import Busboy from 'busboy';
-import filesize from 'filesize';
+
 let maxFileSize;
 
 settings.get('FileUpload_MaxFileSize', function(key, value) {
@@ -52,7 +54,7 @@ API.v1.addRoute('livechat/upload/:rid', {
 				});
 			});
 
-			busboy.on('field', (fieldname, value) => fields[fieldname] = value);
+			busboy.on('field', (fieldname, value) => { fields[fieldname] = value; });
 
 			busboy.on('finish', Meteor.bindEnvironment(() => callback()));
 
diff --git a/app/livechat/imports/server/rest/users.js b/app/livechat/imports/server/rest/users.js
index 6da74562a86..5730b46f228 100644
--- a/app/livechat/imports/server/rest/users.js
+++ b/app/livechat/imports/server/rest/users.js
@@ -1,9 +1,10 @@
 import { check } from 'meteor/check';
+import _ from 'underscore';
+
 import { hasPermission, getUsersInRole } from '../../../../authorization';
 import { API } from '../../../../api';
 import { Users } from '../../../../models';
 import { Livechat } from '../../../server/lib/Livechat';
-import _ from 'underscore';
 
 API.v1.addRoute('livechat/users/:type', { authRequired: true }, {
 	get() {
@@ -22,7 +23,7 @@ API.v1.addRoute('livechat/users/:type', { authRequired: true }, {
 			} else if (this.urlParams.type === 'manager') {
 				role = 'livechat-manager';
 			} else {
-				throw 'Invalid type';
+				throw new Error('Invalid type');
 			}
 
 			const users = getUsersInRole(role);
@@ -58,7 +59,7 @@ API.v1.addRoute('livechat/users/:type', { authRequired: true }, {
 					return API.v1.success({ user });
 				}
 			} else {
-				throw 'Invalid type';
+				throw new Error('Invalid type');
 			}
 
 			return API.v1.failure();
@@ -93,7 +94,7 @@ API.v1.addRoute('livechat/users/:type/:_id', { authRequired: true }, {
 			} else if (this.urlParams.type === 'manager') {
 				role = 'livechat-manager';
 			} else {
-				throw 'Invalid type';
+				throw new Error('Invalid type');
 			}
 
 			if (user.roles.indexOf(role) !== -1) {
@@ -135,7 +136,7 @@ API.v1.addRoute('livechat/users/:type/:_id', { authRequired: true }, {
 					return API.v1.success();
 				}
 			} else {
-				throw 'Invalid type';
+				throw new Error('Invalid type');
 			}
 
 			return API.v1.failure();
diff --git a/app/livechat/lib/LivechatExternalMessage.js b/app/livechat/lib/LivechatExternalMessage.js
index b391143680a..cf8eedae67c 100644
--- a/app/livechat/lib/LivechatExternalMessage.js
+++ b/app/livechat/lib/LivechatExternalMessage.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Base } from '../../models';
 
 class LivechatExternalMessageClass extends Base {
diff --git a/app/livechat/lib/LivechatInquiry.js b/app/livechat/lib/LivechatInquiry.js
index 9da291e925e..bce2b7aa4d3 100644
--- a/app/livechat/lib/LivechatInquiry.js
+++ b/app/livechat/lib/LivechatInquiry.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
-import { Base } from '../../models';
 import { Mongo } from 'meteor/mongo';
 
+import { Base } from '../../models';
+
 export let LivechatInquiry;
 
 if (Meteor.isClient) {
diff --git a/app/livechat/lib/LivechatRoomType.js b/app/livechat/lib/LivechatRoomType.js
index 3bcf7528998..7a2a17defa4 100644
--- a/app/livechat/lib/LivechatRoomType.js
+++ b/app/livechat/lib/LivechatRoomType.js
@@ -1,10 +1,11 @@
 import { Session } from 'meteor/session';
+
+import { LivechatInquiry } from './LivechatInquiry';
 import { ChatRoom } from '../../models';
 import { settings } from '../../settings';
 import { hasPermission } from '../../authorization';
 import { openRoom } from '../../ui-utils';
 import { RoomSettingsEnum, UiTextContext, RoomTypeRouteConfig, RoomTypeConfig } from '../../utils';
-import { LivechatInquiry } from './LivechatInquiry';
 import { getAvatarURL } from '../../utils/lib/getAvatarURL';
 
 class LivechatRoomRoute extends RoomTypeRouteConfig {
diff --git a/app/livechat/lib/messageTypes.js b/app/livechat/lib/messageTypes.js
index aeb53a6d5ae..6bef53f4d6f 100644
--- a/app/livechat/lib/messageTypes.js
+++ b/app/livechat/lib/messageTypes.js
@@ -1,11 +1,12 @@
 import { Meteor } from 'meteor/meteor';
 import { TAPi18n } from 'meteor/tap:i18n';
+import { Livechat } from 'meteor/rocketchat:livechat';
+
 import { MessageTypes } from '../../ui-utils';
 import { actionLinks } from '../../action-links';
 import { Notifications } from '../../notifications';
 import { Messages, Rooms } from '../../models';
 import { settings } from '../../settings';
-import { Livechat } from 'meteor/rocketchat:livechat';
 
 MessageTypes.registerType({
 	id: 'livechat_navigation_history',
diff --git a/app/livechat/server/agentStatus.js b/app/livechat/server/agentStatus.js
index f9e499ffa47..aea4ed01284 100644
--- a/app/livechat/server/agentStatus.js
+++ b/app/livechat/server/agentStatus.js
@@ -1,6 +1,7 @@
-import { hasRole } from '../../authorization';
 import { UserPresenceMonitor } from 'meteor/konecty:user-presence';
+
 import { Livechat } from './lib/Livechat';
+import { hasRole } from '../../authorization';
 
 UserPresenceMonitor.onSetUserStatus((user, status) => {
 	if (hasRole(user._id, 'livechat-manager') || hasRole(user._id, 'livechat-agent')) {
diff --git a/app/livechat/server/api/lib/livechat.js b/app/livechat/server/api/lib/livechat.js
index 5c98328ae44..67239db91bd 100644
--- a/app/livechat/server/api/lib/livechat.js
+++ b/app/livechat/server/api/lib/livechat.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
 import { Random } from 'meteor/random';
-import { Users, Rooms, LivechatVisitors, LivechatDepartment, LivechatTrigger } from '../../../../models';
 import _ from 'underscore';
+
+import { Users, Rooms, LivechatVisitors, LivechatDepartment, LivechatTrigger } from '../../../../models';
 import { Livechat } from '../../lib/Livechat';
 import { settings as rcSettings } from '../../../../settings';
 
@@ -140,5 +141,3 @@ export function settings() {
 		},
 	};
 }
-
-
diff --git a/app/livechat/server/api/v1/agent.js b/app/livechat/server/api/v1/agent.js
index ec091fa43b3..a0cc1678c35 100644
--- a/app/livechat/server/api/v1/agent.js
+++ b/app/livechat/server/api/v1/agent.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+
 import { API } from '../../../../api';
 import { findRoom, findGuest, findAgent, findOpenRoom } from '../lib/livechat';
 import { Livechat } from '../../lib/Livechat';
diff --git a/app/livechat/server/api/v1/config.js b/app/livechat/server/api/v1/config.js
index 23ef0330f10..76951c75560 100644
--- a/app/livechat/server/api/v1/config.js
+++ b/app/livechat/server/api/v1/config.js
@@ -1,7 +1,8 @@
+import { Match, check } from 'meteor/check';
+
 import { Users } from '../../../../models';
 import { API } from '../../../../api';
 import { findGuest, settings, online, findOpenRoom } from '../lib/livechat';
-import { Match, check } from 'meteor/check';
 
 API.v1.addRoute('livechat/config', {
 	get() {
diff --git a/app/livechat/server/api/v1/customField.js b/app/livechat/server/api/v1/customField.js
index d210a0913cc..bcdb1dd7899 100644
--- a/app/livechat/server/api/v1/customField.js
+++ b/app/livechat/server/api/v1/customField.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+
 import { API } from '../../../../api';
 import { findGuest } from '../lib/livechat';
 import { Livechat } from '../../lib/Livechat';
@@ -63,4 +64,3 @@ API.v1.addRoute('livechat/custom.fields', {
 		return API.v1.success({ fields });
 	},
 });
-
diff --git a/app/livechat/server/api/v1/message.js b/app/livechat/server/api/v1/message.js
index d3f1c8ed0a9..4ed05a8f619 100644
--- a/app/livechat/server/api/v1/message.js
+++ b/app/livechat/server/api/v1/message.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
 import { Random } from 'meteor/random';
+
 import { Messages, Rooms, LivechatVisitors } from '../../../../models';
 import { hasPermission } from '../../../../authorization';
 import { API } from '../../../../api';
@@ -95,7 +96,6 @@ API.v1.addRoute('livechat/message/:_id', {
 			}
 
 			return API.v1.success({ message });
-
 		} catch (e) {
 			return API.v1.failure(e.error);
 		}
diff --git a/app/livechat/server/api/v1/offlineMessage.js b/app/livechat/server/api/v1/offlineMessage.js
index 8f97520933d..26e8794a7c3 100644
--- a/app/livechat/server/api/v1/offlineMessage.js
+++ b/app/livechat/server/api/v1/offlineMessage.js
@@ -1,5 +1,6 @@
 import { Match, check } from 'meteor/check';
 import { TAPi18n } from 'meteor/tap:i18n';
+
 import { API } from '../../../../api';
 import { Livechat } from '../../lib/Livechat';
 
diff --git a/app/livechat/server/api/v1/pageVisited.js b/app/livechat/server/api/v1/pageVisited.js
index 1182717e28b..4b35cd3adb6 100644
--- a/app/livechat/server/api/v1/pageVisited.js
+++ b/app/livechat/server/api/v1/pageVisited.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
-import { API } from '../../../../api';
 import _ from 'underscore';
+
+import { API } from '../../../../api';
 import { findGuest, findRoom } from '../lib/livechat';
 import { Livechat } from '../../lib/Livechat';
 
diff --git a/app/livechat/server/api/v1/room.js b/app/livechat/server/api/v1/room.js
index 707d619d715..a024d52078f 100644
--- a/app/livechat/server/api/v1/room.js
+++ b/app/livechat/server/api/v1/room.js
@@ -2,6 +2,7 @@ import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
 import { Random } from 'meteor/random';
 import { TAPi18n } from 'meteor/tap:i18n';
+
 import { settings as rcSettings } from '../../../../settings';
 import { Messages, Rooms } from '../../../../models';
 import { API } from '../../../../api';
diff --git a/app/livechat/server/api/v1/transcript.js b/app/livechat/server/api/v1/transcript.js
index c517d546a4e..b93fd3b93ed 100644
--- a/app/livechat/server/api/v1/transcript.js
+++ b/app/livechat/server/api/v1/transcript.js
@@ -1,5 +1,6 @@
 import { check } from 'meteor/check';
 import { TAPi18n } from 'meteor/tap:i18n';
+
 import { API } from '../../../../api';
 import { Livechat } from '../../lib/Livechat';
 
diff --git a/app/livechat/server/api/v1/videoCall.js b/app/livechat/server/api/v1/videoCall.js
index 7845b4ffe26..0aaa231da65 100644
--- a/app/livechat/server/api/v1/videoCall.js
+++ b/app/livechat/server/api/v1/videoCall.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
 import { Random } from 'meteor/random';
+
 import { Messages } from '../../../../models';
 import { settings as rcSettings } from '../../../../settings';
 import { API } from '../../../../api';
diff --git a/app/livechat/server/api/v1/visitor.js b/app/livechat/server/api/v1/visitor.js
index f7adf1550db..6dcfd98da68 100644
--- a/app/livechat/server/api/v1/visitor.js
+++ b/app/livechat/server/api/v1/visitor.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+
 import { Rooms, LivechatVisitors, LivechatCustomField } from '../../../../models';
 import { hasPermission } from '../../../../authorization';
 import { API } from '../../../../api';
diff --git a/app/livechat/server/config.js b/app/livechat/server/config.js
index 193ad780edc..ec72d838583 100644
--- a/app/livechat/server/config.js
+++ b/app/livechat/server/config.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../settings';
 
 Meteor.startup(function() {
@@ -426,5 +427,4 @@ Meteor.startup(function() {
 		i18nDescription: 'Data_processing_consent_text_description',
 		enableQuery: { _id: 'Livechat_force_accept_data_processing_consent', value: true },
 	});
-
 });
diff --git a/app/livechat/server/hooks/RDStation.js b/app/livechat/server/hooks/RDStation.js
index 5254ae34877..bc60b1c1c9e 100644
--- a/app/livechat/server/hooks/RDStation.js
+++ b/app/livechat/server/hooks/RDStation.js
@@ -1,4 +1,5 @@
 import { HTTP } from 'meteor/http';
+
 import { settings } from '../../../settings';
 import { callbacks } from '../../../callbacks';
 import { Livechat } from '../lib/Livechat';
diff --git a/app/livechat/server/hooks/externalMessage.js b/app/livechat/server/hooks/externalMessage.js
index 2597deaeeaa..91b9448be49 100644
--- a/app/livechat/server/hooks/externalMessage.js
+++ b/app/livechat/server/hooks/externalMessage.js
@@ -1,10 +1,11 @@
 import { Meteor } from 'meteor/meteor';
+import { HTTP } from 'meteor/http';
+import _ from 'underscore';
+
 import { settings } from '../../../settings';
 import { callbacks } from '../../../callbacks';
 import { SystemLogger } from '../../../logger';
-import { HTTP } from 'meteor/http';
 import { LivechatExternalMessage } from '../../lib/LivechatExternalMessage';
-import _ from 'underscore';
 
 let knowledgeEnabled = false;
 let apiaiKey = '';
diff --git a/app/livechat/server/hooks/markRoomResponded.js b/app/livechat/server/hooks/markRoomResponded.js
index 7a4c2a9a621..4f629f901aa 100644
--- a/app/livechat/server/hooks/markRoomResponded.js
+++ b/app/livechat/server/hooks/markRoomResponded.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { callbacks } from '../../../callbacks';
 import { Rooms } from '../../../models';
 
diff --git a/app/livechat/server/hooks/saveAnalyticsData.js b/app/livechat/server/hooks/saveAnalyticsData.js
index 28654284748..582fa0d9cc3 100644
--- a/app/livechat/server/hooks/saveAnalyticsData.js
+++ b/app/livechat/server/hooks/saveAnalyticsData.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { callbacks } from '../../../callbacks';
 import { Rooms } from '../../../models';
 
@@ -19,9 +20,9 @@ callbacks.add('afterSaveMessage', function(message, room) {
 
 		// if the message has a token, it was sent by the visitor
 		if (!message.token) {
-			const visitorLastQuery = (room.metrics && room.metrics.v) ? room.metrics.v.lq : room.ts;
-			const agentLastReply = (room.metrics && room.metrics.servedBy) ? room.metrics.servedBy.lr : room.ts;
-			const agentJoinTime = (room.servedBy && room.servedBy.ts) ? room.servedBy.ts : room.ts;
+			const visitorLastQuery = room.metrics && room.metrics.v ? room.metrics.v.lq : room.ts;
+			const agentLastReply = room.metrics && room.metrics.servedBy ? room.metrics.servedBy.lr : room.ts;
+			const agentJoinTime = room.servedBy && room.servedBy.ts ? room.servedBy.ts : room.ts;
 
 			const isResponseTt = room.metrics && room.metrics.response && room.metrics.response.tt;
 			const isResponseTotal = room.metrics && room.metrics.response && room.metrics.response.total;
@@ -30,7 +31,7 @@ callbacks.add('afterSaveMessage', function(message, room) {
 				const firstResponseDate = now;
 				const firstResponseTime = (now.getTime() - visitorLastQuery) / 1000;
 				const responseTime = (now.getTime() - visitorLastQuery) / 1000;
-				const avgResponseTime = (((isResponseTt) ? room.metrics.response.tt : 0) + responseTime) / (((isResponseTotal) ? room.metrics.response.total : 0) + 1);
+				const avgResponseTime = ((isResponseTt ? room.metrics.response.tt : 0) + responseTime) / ((isResponseTotal ? room.metrics.response.total : 0) + 1);
 
 				const firstReactionDate = now;
 				const firstReactionTime = (now.getTime() - agentJoinTime) / 1000;
@@ -47,7 +48,7 @@ callbacks.add('afterSaveMessage', function(message, room) {
 				};
 			} else if (visitorLastQuery > agentLastReply) {		// response, not first
 				const responseTime = (now.getTime() - visitorLastQuery) / 1000;
-				const avgResponseTime = (((isResponseTt) ? room.metrics.response.tt : 0) + responseTime) / (((isResponseTotal) ? room.metrics.response.total : 0) + 1);
+				const avgResponseTime = ((isResponseTt ? room.metrics.response.tt : 0) + responseTime) / ((isResponseTotal ? room.metrics.response.total : 0) + 1);
 
 				const reactionTime = (now.getTime() - visitorLastQuery) / 1000;
 
diff --git a/app/livechat/server/hooks/sendToFacebook.js b/app/livechat/server/hooks/sendToFacebook.js
index 1977dffe270..30cafd9859a 100644
--- a/app/livechat/server/hooks/sendToFacebook.js
+++ b/app/livechat/server/hooks/sendToFacebook.js
@@ -34,5 +34,4 @@ callbacks.add('afterSaveMessage', function(message, room) {
 	});
 
 	return message;
-
 }, callbacks.priority.LOW, 'sendMessageToFacebook');
diff --git a/app/livechat/server/index.js b/app/livechat/server/index.js
index 3458109384d..a81a5274b78 100644
--- a/app/livechat/server/index.js
+++ b/app/livechat/server/index.js
@@ -62,7 +62,6 @@ import './methods/sendTranscript';
 import './methods/getFirstRoomMessage';
 import '../lib/LivechatExternalMessage';
 import '../lib/LivechatInquiry';
-export { Livechat } from './lib/Livechat';
 import './lib/Analytics';
 import './lib/QueueMethods';
 import './lib/OfficeClock';
@@ -88,3 +87,5 @@ import './publications/livechatInquiries';
 import './publications/livechatOfficeHours';
 import './api';
 import './api/rest';
+
+export { Livechat } from './lib/Livechat';
diff --git a/app/livechat/server/lib/Analytics.js b/app/livechat/server/lib/Analytics.js
index 4e9e5b88d78..d5e5f7abf80 100644
--- a/app/livechat/server/lib/Analytics.js
+++ b/app/livechat/server/lib/Analytics.js
@@ -1,6 +1,7 @@
-import { Rooms } from '../../../models';
 import moment from 'moment';
 
+import { Rooms } from '../../../models';
+
 /**
  * return readable time format from seconds
  * @param  {Double} sec seconds
@@ -133,7 +134,7 @@ export const Analytics = {
 				}
 			});
 
-			const avgCD = (count) ? total / count : 0;
+			const avgCD = count ? total / count : 0;
 			return Math.round(avgCD * 100) / 100;
 		},
 
@@ -165,7 +166,7 @@ export const Analytics = {
 				}
 			});
 
-			const avgFrt = (count) ? frt / count : 0;
+			const avgFrt = count ? frt / count : 0;
 			return Math.round(avgFrt * 100) / 100;
 		},
 
@@ -180,7 +181,7 @@ export const Analytics = {
 
 			Rooms.getAnalyticsMetricsBetweenDate('l', date).forEach(({ metrics }) => {
 				if (metrics && metrics.response && metrics.response.ft) {
-					maxFrt = (maxFrt) ? Math.min(maxFrt, metrics.response.ft) : metrics.response.ft;
+					maxFrt = maxFrt ? Math.min(maxFrt, metrics.response.ft) : metrics.response.ft;
 				}
 			});
 
@@ -205,7 +206,7 @@ export const Analytics = {
 				}
 			});
 
-			const avgArt = (count) ? art / count : 0;
+			const avgArt = count ? art / count : 0;
 
 			return Math.round(avgArt * 100) / 100;
 		},
@@ -226,7 +227,7 @@ export const Analytics = {
 				}
 			});
 
-			const avgArnt = (count) ? arnt / count : 0;
+			const avgArnt = count ? arnt / count : 0;
 
 			return Math.round(avgArnt * 100) / 100;
 		},
@@ -275,7 +276,7 @@ export const Analytics = {
 				totalMessages += msgs;
 
 				const weekday = m.format('dddd'); // @string: Monday, Tuesday ...
-				totalMessagesOnWeekday.set(weekday, (totalMessagesOnWeekday.has(weekday)) ? (totalMessagesOnWeekday.get(weekday) + msgs) : msgs);
+				totalMessagesOnWeekday.set(weekday, totalMessagesOnWeekday.has(weekday) ? totalMessagesOnWeekday.get(weekday) + msgs : msgs);
 			};
 
 			for (let m = moment(from); m.diff(to, 'days') <= 0; m.add(1, 'days')) {
@@ -306,7 +307,7 @@ export const Analytics = {
 						msgs,
 					}) => {
 						const dayHour = h.format('H');		// @int : 0, 1, ... 23
-						totalMessagesInHour.set(dayHour, (totalMessagesInHour.has(dayHour)) ? (totalMessagesInHour.get(dayHour) + msgs) : msgs);
+						totalMessagesInHour.set(dayHour, totalMessagesInHour.has(dayHour) ? totalMessagesInHour.get(dayHour) + msgs : msgs);
 					});
 				}
 			}
@@ -330,7 +331,7 @@ export const Analytics = {
 				value: (totalConversations / days).toFixed(2),
 			}, {
 				title: 'Busiest_time',
-				value: (busiestHour > 0) ? `${ moment(busiestHour, ['H']).format('hA') }-${ moment((parseInt(busiestHour) + 1) % 24, ['H']).format('hA') }` : '-',
+				value: busiestHour > 0 ? `${ moment(busiestHour, ['H']).format('hA') }-${ moment((parseInt(busiestHour) + 1) % 24, ['H']).format('hA') }` : '-',
 			}];
 
 			return data;
@@ -392,7 +393,7 @@ export const Analytics = {
 		 *
 		 */
 		updateMap(map, key, value) {
-			map.set(key, map.has(key) ? (map.get(key) + value) : value);
+			map.set(key, map.has(key) ? map.get(key) + value : value);
 		},
 
 		/**
@@ -403,10 +404,10 @@ export const Analytics = {
 		sortByValue(data, inv = false) {
 			data.sort(function(a, b) {		// sort array
 				if (parseFloat(a.value) > parseFloat(b.value)) {
-					return (inv) ? -1 : 1;		// if inv, reverse sort
+					return inv ? -1 : 1;		// if inv, reverse sort
 				}
 				if (parseFloat(a.value) < parseFloat(b.value)) {
-					return (inv) ? 1 : -1;
+					return inv ? 1 : -1;
 				}
 				return 0;
 			});
diff --git a/app/livechat/server/lib/Livechat.js b/app/livechat/server/lib/Livechat.js
index c716b84ee32..78cc92c317d 100644
--- a/app/livechat/server/lib/Livechat.js
+++ b/app/livechat/server/lib/Livechat.js
@@ -1,23 +1,25 @@
+import dns from 'dns';
+
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
 import { Random } from 'meteor/random';
 import { TAPi18n } from 'meteor/tap:i18n';
 import { HTTP } from 'meteor/http';
+import _ from 'underscore';
+import s from 'underscore.string';
+import moment from 'moment';
+import UAParser from 'ua-parser-js';
+
+import { QueueMethods } from './QueueMethods';
+import { Analytics } from './Analytics';
 import { settings } from '../../../settings';
 import { callbacks } from '../../../callbacks';
 import { Users, Rooms, Messages, Subscriptions, Settings, LivechatDepartmentAgents, LivechatDepartment, LivechatCustomField, LivechatVisitors } from '../../../models';
 import { Logger } from '../../../logger';
 import { sendMessage, deleteMessage, updateMessage } from '../../../lib';
 import { addUserRoles, removeUserFromRoles } from '../../../authorization';
-import _ from 'underscore';
-import s from 'underscore.string';
-import moment from 'moment';
-import dns from 'dns';
-import UAParser from 'ua-parser-js';
 import * as Mailer from '../../../mailer';
 import { LivechatInquiry } from '../../lib/LivechatInquiry';
-import { QueueMethods } from './QueueMethods';
-import { Analytics } from './Analytics';
 
 export const Livechat = {
 	Analytics,
@@ -205,7 +207,6 @@ export const Livechat = {
 				};
 
 				if (settings.get('Livechat_Allow_collect_and_store_HTTP_header_informations')) {
-
 					const connection = this.connection || connectionData;
 					if (connection && connection.httpHeaders) {
 						userData.userAgent = connection.httpHeaders['user-agent'];
@@ -348,9 +349,8 @@ export const Livechat = {
 
 		if (customField.scope === 'room') {
 			return Rooms.updateLivechatDataByToken(token, key, value, overwrite);
-		} else {
-			return LivechatVisitors.updateLivechatDataByToken(token, key, value, overwrite);
 		}
+		return LivechatVisitors.updateLivechatDataByToken(token, key, value, overwrite);
 	},
 
 	getInitSettings() {
@@ -424,7 +424,6 @@ export const Livechat = {
 
 	savePageHistory(token, roomId, pageInfo) {
 		if (pageInfo.change === Livechat.historyMonitorType) {
-
 			const user = Users.findOneById('rocket.cat');
 
 			const pageTitle = pageInfo.title;
@@ -448,8 +447,6 @@ export const Livechat = {
 
 			return Messages.createNavigationHistoryWithRoomIdMessageAndUser(roomId, `${ pageTitle } - ${ pageUrl }`, user, extraData);
 		}
-
-		return;
 	},
 
 	transfer(room, guest, transferData) {
@@ -630,8 +627,8 @@ export const Livechat = {
 				phone: null,
 				department: visitor.department,
 				ip: visitor.ip,
-				os: ua.getOS().name && (`${ ua.getOS().name } ${ ua.getOS().version }`),
-				browser: ua.getBrowser().name && (`${ ua.getBrowser().name } ${ ua.getBrowser().version }`),
+				os: ua.getOS().name && `${ ua.getOS().name } ${ ua.getOS().version }`,
+				browser: ua.getBrowser().name && `${ ua.getBrowser().name } ${ ua.getBrowser().version }`,
 				customFields: visitor.livechatData,
 			},
 		};
@@ -845,7 +842,7 @@ export const Livechat = {
 				<p><strong>${ author }</strong>  <em>${ datetime }</em></p>
 				<p>${ message.msg }</p>
 			`;
-			html = html + singleMessage;
+			html += singleMessage;
 		});
 
 		html = `${ html }</div>`;
@@ -879,7 +876,7 @@ export const Livechat = {
 			return false;
 		}
 
-		const message = (`${ data.message }`).replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1' + '<br>' + '$2');
+		const message = `${ data.message }`.replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1<br>$2');
 
 		const html = `
 			<h1>New livechat message</h1>
@@ -913,7 +910,7 @@ export const Livechat = {
 
 		const from = `${ data.name } - ${ data.email } <${ fromEmail }>`;
 		const replyTo = `${ data.name } <${ data.email }>`;
-		const subject = `Livechat offline message from ${ data.name }: ${ (`${ data.message }`).substring(0, 20) }`;
+		const subject = `Livechat offline message from ${ data.name }: ${ `${ data.message }`.substring(0, 20) }`;
 
 		this.sendEmail(from, emailTo, replyTo, subject, html);
 
diff --git a/app/livechat/server/lib/OfficeClock.js b/app/livechat/server/lib/OfficeClock.js
index 8c5c96d2ea3..03a6e352f8b 100644
--- a/app/livechat/server/lib/OfficeClock.js
+++ b/app/livechat/server/lib/OfficeClock.js
@@ -1,5 +1,6 @@
 // Every minute check if office closed
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../../settings';
 import { Users, LivechatOfficeHour } from '../../../models';
 
diff --git a/app/livechat/server/lib/OmniChannel.js b/app/livechat/server/lib/OmniChannel.js
index b1eb1139b0d..fae27bb1e02 100644
--- a/app/livechat/server/lib/OmniChannel.js
+++ b/app/livechat/server/lib/OmniChannel.js
@@ -1,4 +1,5 @@
 import { HTTP } from 'meteor/http';
+
 import { settings } from '../../../settings';
 
 const gatewayURL = 'https://omni.rocket.chat';
diff --git a/app/livechat/server/lib/QueueMethods.js b/app/livechat/server/lib/QueueMethods.js
index aed907b4f6f..3dc0b51af62 100644
--- a/app/livechat/server/lib/QueueMethods.js
+++ b/app/livechat/server/lib/QueueMethods.js
@@ -1,11 +1,12 @@
 import { Meteor } from 'meteor/meteor';
 import { TAPi18n } from 'meteor/tap:i18n';
+import _ from 'underscore';
+
+import { Livechat } from './Livechat';
 import { Rooms, Subscriptions, Users } from '../../../models';
 import { settings } from '../../../settings';
-import _ from 'underscore';
 import { sendNotification } from '../../../lib';
 import { LivechatInquiry } from '../../lib/LivechatInquiry';
-import { Livechat } from './Livechat';
 
 export const QueueMethods = {
 	/* Least Amount Queuing method:
@@ -167,7 +168,7 @@ export const QueueMethods = {
 				// fake a subscription in order to make use of the function defined above
 				subscription: {
 					rid: room._id,
-					t : room.t,
+					t: room.t,
 					u: {
 						_id,
 					},
diff --git a/app/livechat/server/livechat.js b/app/livechat/server/livechat.js
index 84b6edc7beb..b23ec41b373 100644
--- a/app/livechat/server/livechat.js
+++ b/app/livechat/server/livechat.js
@@ -1,6 +1,6 @@
-import _ from 'underscore';
 import url from 'url';
 
+import _ from 'underscore';
 import { Meteor } from 'meteor/meteor';
 import { WebApp } from 'meteor/webapp';
 
diff --git a/app/livechat/server/methods/addAgent.js b/app/livechat/server/methods/addAgent.js
index 21b6884ffe6..14b5467e303 100644
--- a/app/livechat/server/methods/addAgent.js
+++ b/app/livechat/server/methods/addAgent.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { Livechat } from '../lib/Livechat';
 
diff --git a/app/livechat/server/methods/addManager.js b/app/livechat/server/methods/addManager.js
index dc4cb052de0..38b60240646 100644
--- a/app/livechat/server/methods/addManager.js
+++ b/app/livechat/server/methods/addManager.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { Livechat } from '../lib/Livechat';
 
diff --git a/app/livechat/server/methods/changeLivechatStatus.js b/app/livechat/server/methods/changeLivechatStatus.js
index 31a302e139b..e6125083036 100644
--- a/app/livechat/server/methods/changeLivechatStatus.js
+++ b/app/livechat/server/methods/changeLivechatStatus.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Users } from '../../../models';
 
 Meteor.methods({
diff --git a/app/livechat/server/methods/closeByVisitor.js b/app/livechat/server/methods/closeByVisitor.js
index c3829f232b2..bd9354bb837 100644
--- a/app/livechat/server/methods/closeByVisitor.js
+++ b/app/livechat/server/methods/closeByVisitor.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { TAPi18n } from 'meteor/tap:i18n';
+
 import { settings } from '../../../settings';
 import { Rooms, LivechatVisitors } from '../../../models';
 import { Livechat } from '../lib/Livechat';
diff --git a/app/livechat/server/methods/closeRoom.js b/app/livechat/server/methods/closeRoom.js
index 7d49719a046..f24e678350a 100644
--- a/app/livechat/server/methods/closeRoom.js
+++ b/app/livechat/server/methods/closeRoom.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { Subscriptions, Rooms } from '../../../models';
 import { Livechat } from '../lib/Livechat';
diff --git a/app/livechat/server/methods/facebook.js b/app/livechat/server/methods/facebook.js
index 075165f3bf7..7d17161fe93 100644
--- a/app/livechat/server/methods/facebook.js
+++ b/app/livechat/server/methods/facebook.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { settings } from '../../../settings';
 import OmniChannel from '../lib/OmniChannel';
diff --git a/app/livechat/server/methods/getAgentData.js b/app/livechat/server/methods/getAgentData.js
index 77bdf81adbd..4e4c2d171af 100644
--- a/app/livechat/server/methods/getAgentData.js
+++ b/app/livechat/server/methods/getAgentData.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { Users, Rooms, LivechatVisitors } from '../../../models';
 
 Meteor.methods({
diff --git a/app/livechat/server/methods/getAgentOverviewData.js b/app/livechat/server/methods/getAgentOverviewData.js
index e6c325a9195..7722de1bacb 100644
--- a/app/livechat/server/methods/getAgentOverviewData.js
+++ b/app/livechat/server/methods/getAgentOverviewData.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { Livechat } from '../lib/Livechat';
 
diff --git a/app/livechat/server/methods/getAnalyticsChartData.js b/app/livechat/server/methods/getAnalyticsChartData.js
index 918ff200d1a..efe2a852905 100644
--- a/app/livechat/server/methods/getAnalyticsChartData.js
+++ b/app/livechat/server/methods/getAnalyticsChartData.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { Livechat } from '../lib/Livechat';
 
diff --git a/app/livechat/server/methods/getAnalyticsOverviewData.js b/app/livechat/server/methods/getAnalyticsOverviewData.js
index 0958c808501..4f41291d804 100644
--- a/app/livechat/server/methods/getAnalyticsOverviewData.js
+++ b/app/livechat/server/methods/getAnalyticsOverviewData.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { Livechat } from '../lib/Livechat';
 
diff --git a/app/livechat/server/methods/getCustomFields.js b/app/livechat/server/methods/getCustomFields.js
index 8d202052048..df39364bcce 100644
--- a/app/livechat/server/methods/getCustomFields.js
+++ b/app/livechat/server/methods/getCustomFields.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { LivechatCustomField } from '../../../models';
 
 Meteor.methods({
diff --git a/app/livechat/server/methods/getFirstRoomMessage.js b/app/livechat/server/methods/getFirstRoomMessage.js
index 2bac3b053b4..7ff74d6da09 100644
--- a/app/livechat/server/methods/getFirstRoomMessage.js
+++ b/app/livechat/server/methods/getFirstRoomMessage.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { Rooms, Messages } from '../../../models';
 import { hasPermission } from '../../../authorization';
 
diff --git a/app/livechat/server/methods/getInitialData.js b/app/livechat/server/methods/getInitialData.js
index 4099074a86a..67c6798ac49 100644
--- a/app/livechat/server/methods/getInitialData.js
+++ b/app/livechat/server/methods/getInitialData.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
-import { Rooms, Users, LivechatDepartment, LivechatTrigger, LivechatVisitors } from '../../../models';
 import _ from 'underscore';
+
+import { Rooms, Users, LivechatDepartment, LivechatTrigger, LivechatVisitors } from '../../../models';
 import { Livechat } from '../lib/Livechat';
 
 Meteor.methods({
@@ -42,7 +43,7 @@ Meteor.methods({
 				departmentId: 1,
 			},
 		};
-		const room = (departmentId) ? Rooms.findOpenByVisitorTokenAndDepartmentId(visitorToken, departmentId, options).fetch() : Rooms.findOpenByVisitorToken(visitorToken, options).fetch();
+		const room = departmentId ? Rooms.findOpenByVisitorTokenAndDepartmentId(visitorToken, departmentId, options).fetch() : Rooms.findOpenByVisitorToken(visitorToken, options).fetch();
 		if (room && room.length > 0) {
 			info.room = room[0];
 		}
diff --git a/app/livechat/server/methods/getNextAgent.js b/app/livechat/server/methods/getNextAgent.js
index 6946c01d003..3776f85cf63 100644
--- a/app/livechat/server/methods/getNextAgent.js
+++ b/app/livechat/server/methods/getNextAgent.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { Rooms, Users } from '../../../models';
 import { Livechat } from '../lib/Livechat';
 
diff --git a/app/livechat/server/methods/loadHistory.js b/app/livechat/server/methods/loadHistory.js
index 060a5c6b549..395ea3ea5a9 100644
--- a/app/livechat/server/methods/loadHistory.js
+++ b/app/livechat/server/methods/loadHistory.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { loadMessageHistory } from '../../../lib';
 import { LivechatVisitors } from '../../../models';
 
diff --git a/app/livechat/server/methods/loginByToken.js b/app/livechat/server/methods/loginByToken.js
index 18bbad251dd..9320b1f424d 100644
--- a/app/livechat/server/methods/loginByToken.js
+++ b/app/livechat/server/methods/loginByToken.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { LivechatVisitors } from '../../../models';
 
 Meteor.methods({
diff --git a/app/livechat/server/methods/pageVisited.js b/app/livechat/server/methods/pageVisited.js
index 114108f87fc..c9c88e95ddc 100644
--- a/app/livechat/server/methods/pageVisited.js
+++ b/app/livechat/server/methods/pageVisited.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Livechat } from '../lib/Livechat';
 
 Meteor.methods({
diff --git a/app/livechat/server/methods/registerGuest.js b/app/livechat/server/methods/registerGuest.js
index 46995a54931..7622747f434 100644
--- a/app/livechat/server/methods/registerGuest.js
+++ b/app/livechat/server/methods/registerGuest.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Messages, Rooms, LivechatVisitors } from '../../../models';
 import { Livechat } from '../lib/Livechat';
 
diff --git a/app/livechat/server/methods/removeAgent.js b/app/livechat/server/methods/removeAgent.js
index e6bc9fcf0cc..ade5412cb7e 100644
--- a/app/livechat/server/methods/removeAgent.js
+++ b/app/livechat/server/methods/removeAgent.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { Livechat } from '../lib/Livechat';
 
diff --git a/app/livechat/server/methods/removeCustomField.js b/app/livechat/server/methods/removeCustomField.js
index a53efa59ee0..98018741bf7 100644
--- a/app/livechat/server/methods/removeCustomField.js
+++ b/app/livechat/server/methods/removeCustomField.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { hasPermission } from '../../../authorization';
 import { LivechatCustomField } from '../../../models';
 
diff --git a/app/livechat/server/methods/removeDepartment.js b/app/livechat/server/methods/removeDepartment.js
index d08fee85340..2dd1515f30c 100644
--- a/app/livechat/server/methods/removeDepartment.js
+++ b/app/livechat/server/methods/removeDepartment.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { Livechat } from '../lib/Livechat';
 
diff --git a/app/livechat/server/methods/removeManager.js b/app/livechat/server/methods/removeManager.js
index 9fa635e7d6b..b479d867803 100644
--- a/app/livechat/server/methods/removeManager.js
+++ b/app/livechat/server/methods/removeManager.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { Livechat } from '../lib/Livechat';
 
diff --git a/app/livechat/server/methods/removeRoom.js b/app/livechat/server/methods/removeRoom.js
index 13ef3aa62d0..f060d91dcad 100644
--- a/app/livechat/server/methods/removeRoom.js
+++ b/app/livechat/server/methods/removeRoom.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { Rooms, Messages, Subscriptions } from '../../../models';
 
diff --git a/app/livechat/server/methods/removeTrigger.js b/app/livechat/server/methods/removeTrigger.js
index 164f0f56b4f..f39431b578b 100644
--- a/app/livechat/server/methods/removeTrigger.js
+++ b/app/livechat/server/methods/removeTrigger.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { hasPermission } from '../../../authorization';
 import { LivechatTrigger } from '../../../models';
 
diff --git a/app/livechat/server/methods/returnAsInquiry.js b/app/livechat/server/methods/returnAsInquiry.js
index 2a7c5971bb4..6dae070a1d9 100644
--- a/app/livechat/server/methods/returnAsInquiry.js
+++ b/app/livechat/server/methods/returnAsInquiry.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { Livechat } from '../lib/Livechat';
 
diff --git a/app/livechat/server/methods/saveAppearance.js b/app/livechat/server/methods/saveAppearance.js
index 18ac479061a..34eecd65e46 100644
--- a/app/livechat/server/methods/saveAppearance.js
+++ b/app/livechat/server/methods/saveAppearance.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { settings as rcSettings } from '../../../settings';
 
@@ -35,7 +36,5 @@ Meteor.methods({
 		settings.forEach((setting) => {
 			rcSettings.updateById(setting._id, setting.value);
 		});
-
-		return;
 	},
 });
diff --git a/app/livechat/server/methods/saveCustomField.js b/app/livechat/server/methods/saveCustomField.js
index 8a41b25e1dc..9f6520b4d56 100644
--- a/app/livechat/server/methods/saveCustomField.js
+++ b/app/livechat/server/methods/saveCustomField.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+
 import { hasPermission } from '../../../authorization';
 import { LivechatCustomField } from '../../../models';
 
diff --git a/app/livechat/server/methods/saveDepartment.js b/app/livechat/server/methods/saveDepartment.js
index 067f49592ae..95c9e87e5e0 100644
--- a/app/livechat/server/methods/saveDepartment.js
+++ b/app/livechat/server/methods/saveDepartment.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { Livechat } from '../lib/Livechat';
 
diff --git a/app/livechat/server/methods/saveInfo.js b/app/livechat/server/methods/saveInfo.js
index 4318fd163c7..08e74ce364a 100644
--- a/app/livechat/server/methods/saveInfo.js
+++ b/app/livechat/server/methods/saveInfo.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+
 import { hasPermission } from '../../../authorization';
 import { Rooms } from '../../../models';
 import { callbacks } from '../../../callbacks';
diff --git a/app/livechat/server/methods/saveIntegration.js b/app/livechat/server/methods/saveIntegration.js
index b4097b76e53..521b01e9dac 100644
--- a/app/livechat/server/methods/saveIntegration.js
+++ b/app/livechat/server/methods/saveIntegration.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
+import s from 'underscore.string';
+
 import { hasPermission } from '../../../authorization';
 import { settings } from '../../../settings';
-import s from 'underscore.string';
 
 Meteor.methods({
 	'livechat:saveIntegration'(values) {
@@ -32,7 +33,5 @@ Meteor.methods({
 		if (typeof values.Livechat_webhook_on_agent_message !== 'undefined') {
 			settings.updateById('Livechat_webhook_on_agent_message', !!values.Livechat_webhook_on_agent_message);
 		}
-
-		return;
 	},
 });
diff --git a/app/livechat/server/methods/saveOfficeHours.js b/app/livechat/server/methods/saveOfficeHours.js
index 87477792907..0c41d719035 100644
--- a/app/livechat/server/methods/saveOfficeHours.js
+++ b/app/livechat/server/methods/saveOfficeHours.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { LivechatOfficeHour } from '../../../models';
 
 Meteor.methods({
diff --git a/app/livechat/server/methods/saveSurveyFeedback.js b/app/livechat/server/methods/saveSurveyFeedback.js
index 5b5a571178d..47167e9c96c 100644
--- a/app/livechat/server/methods/saveSurveyFeedback.js
+++ b/app/livechat/server/methods/saveSurveyFeedback.js
@@ -1,8 +1,9 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
-import { Rooms, LivechatVisitors } from '../../../models';
 import _ from 'underscore';
 
+import { Rooms, LivechatVisitors } from '../../../models';
+
 Meteor.methods({
 	'livechat:saveSurveyFeedback'(visitorToken, visitorRoom, formData) {
 		check(visitorToken, String);
diff --git a/app/livechat/server/methods/saveTrigger.js b/app/livechat/server/methods/saveTrigger.js
index 8452a42ea9d..6be81479bad 100644
--- a/app/livechat/server/methods/saveTrigger.js
+++ b/app/livechat/server/methods/saveTrigger.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+
 import { hasPermission } from '../../../authorization';
 import { LivechatTrigger } from '../../../models';
 
@@ -21,8 +22,7 @@ Meteor.methods({
 
 		if (trigger._id) {
 			return LivechatTrigger.updateById(trigger._id, trigger);
-		} else {
-			return LivechatTrigger.insert(trigger);
 		}
+		return LivechatTrigger.insert(trigger);
 	},
 });
diff --git a/app/livechat/server/methods/searchAgent.js b/app/livechat/server/methods/searchAgent.js
index c5fec0a236d..8fe28ebd3a0 100644
--- a/app/livechat/server/methods/searchAgent.js
+++ b/app/livechat/server/methods/searchAgent.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
+import _ from 'underscore';
+
 import { hasPermission } from '../../../authorization';
 import { Users } from '../../../models';
-import _ from 'underscore';
 
 Meteor.methods({
 	'livechat:searchAgent'(username) {
diff --git a/app/livechat/server/methods/sendFileLivechatMessage.js b/app/livechat/server/methods/sendFileLivechatMessage.js
index 9095d2971b4..e0724d7e318 100644
--- a/app/livechat/server/methods/sendFileLivechatMessage.js
+++ b/app/livechat/server/methods/sendFileLivechatMessage.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
 import { Random } from 'meteor/random';
+
 import { Rooms, LivechatVisitors } from '../../../models';
 import { FileUpload } from '../../../file-upload';
 
diff --git a/app/livechat/server/methods/sendMessageLivechat.js b/app/livechat/server/methods/sendMessageLivechat.js
index e3b7e7b5672..47c2dad856c 100644
--- a/app/livechat/server/methods/sendMessageLivechat.js
+++ b/app/livechat/server/methods/sendMessageLivechat.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+
 import { LivechatVisitors } from '../../../models';
 import { Livechat } from '../lib/Livechat';
 
diff --git a/app/livechat/server/methods/sendOfflineMessage.js b/app/livechat/server/methods/sendOfflineMessage.js
index d9dde597fed..e390785d2e4 100644
--- a/app/livechat/server/methods/sendOfflineMessage.js
+++ b/app/livechat/server/methods/sendOfflineMessage.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
 import { DDPRateLimiter } from 'meteor/ddp-rate-limiter';
+
 import { Livechat } from '../lib/Livechat';
 
 Meteor.methods({
diff --git a/app/livechat/server/methods/sendTranscript.js b/app/livechat/server/methods/sendTranscript.js
index 2ba0aa49343..3bc83b95aa1 100644
--- a/app/livechat/server/methods/sendTranscript.js
+++ b/app/livechat/server/methods/sendTranscript.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
 import { DDPRateLimiter } from 'meteor/ddp-rate-limiter';
+
 import { Livechat } from '../lib/Livechat';
 
 Meteor.methods({
diff --git a/app/livechat/server/methods/setCustomField.js b/app/livechat/server/methods/setCustomField.js
index 1e840732e3c..b1d0ddb6eb3 100644
--- a/app/livechat/server/methods/setCustomField.js
+++ b/app/livechat/server/methods/setCustomField.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Rooms, LivechatVisitors, LivechatCustomField } from '../../../models';
 
 Meteor.methods({
@@ -7,10 +8,9 @@ Meteor.methods({
 		if (customField) {
 			if (customField.scope === 'room') {
 				return Rooms.updateLivechatDataByToken(token, key, value, overwrite);
-			} else {
-				// Save in user
-				return LivechatVisitors.updateLivechatDataByToken(token, key, value, overwrite);
 			}
+			// Save in user
+			return LivechatVisitors.updateLivechatDataByToken(token, key, value, overwrite);
 		}
 
 		return true;
diff --git a/app/livechat/server/methods/setDepartmentForVisitor.js b/app/livechat/server/methods/setDepartmentForVisitor.js
index 3ba3690b431..4578338f07b 100644
--- a/app/livechat/server/methods/setDepartmentForVisitor.js
+++ b/app/livechat/server/methods/setDepartmentForVisitor.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { Rooms, Messages, LivechatVisitors } from '../../../models';
 import { Livechat } from '../lib/Livechat';
 
diff --git a/app/livechat/server/methods/setUpConnection.js b/app/livechat/server/methods/setUpConnection.js
index bb040ff6213..21dd64263ef 100644
--- a/app/livechat/server/methods/setUpConnection.js
+++ b/app/livechat/server/methods/setUpConnection.js
@@ -1,10 +1,10 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { Livechat } from '../lib/Livechat';
 
 Meteor.methods({
 	'livechat:setUpConnection'(data) {
-
 		check(data, {
 			token: String,
 		});
diff --git a/app/livechat/server/methods/startFileUploadRoom.js b/app/livechat/server/methods/startFileUploadRoom.js
index 6d70dbf1584..2779af23d2b 100644
--- a/app/livechat/server/methods/startFileUploadRoom.js
+++ b/app/livechat/server/methods/startFileUploadRoom.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Random } from 'meteor/random';
+
 import { LivechatVisitors } from '../../../models';
 import { Livechat } from '../lib/Livechat';
 
diff --git a/app/livechat/server/methods/startVideoCall.js b/app/livechat/server/methods/startVideoCall.js
index 45c636ce912..5b91fce6e32 100644
--- a/app/livechat/server/methods/startVideoCall.js
+++ b/app/livechat/server/methods/startVideoCall.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Random } from 'meteor/random';
+
 import { Messages } from '../../../models';
 import { settings } from '../../../settings';
 import { Livechat } from '../lib/Livechat';
@@ -36,4 +37,3 @@ Meteor.methods({
 		};
 	},
 });
-
diff --git a/app/livechat/server/methods/takeInquiry.js b/app/livechat/server/methods/takeInquiry.js
index 0ad662b1a87..ad4935ec605 100644
--- a/app/livechat/server/methods/takeInquiry.js
+++ b/app/livechat/server/methods/takeInquiry.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { Users, Rooms, Subscriptions, Messages } from '../../../models';
 import { LivechatInquiry } from '../../lib/LivechatInquiry';
diff --git a/app/livechat/server/methods/transfer.js b/app/livechat/server/methods/transfer.js
index 1b08e5a6406..8c2952ce3b5 100644
--- a/app/livechat/server/methods/transfer.js
+++ b/app/livechat/server/methods/transfer.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+
 import { hasPermission, hasRole } from '../../../authorization';
 import { Rooms, Subscriptions, LivechatVisitors } from '../../../models';
 import { Livechat } from '../lib/Livechat';
diff --git a/app/livechat/server/methods/webhookTest.js b/app/livechat/server/methods/webhookTest.js
index 7f88b722c92..45a642a6617 100644
--- a/app/livechat/server/methods/webhookTest.js
+++ b/app/livechat/server/methods/webhookTest.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
-import { settings } from '../../../settings';
 import { HTTP } from 'meteor/http';
 
+import { settings } from '../../../settings';
+
 const postCatchError = Meteor.wrapAsync(function(url, options, resolve) {
 	HTTP.post(url, options, function(err, res) {
 		if (err) {
@@ -76,9 +77,7 @@ Meteor.methods({
 
 		if (response && response.statusCode && response.statusCode === 200) {
 			return true;
-		} else {
-			throw new Meteor.Error('error-invalid-webhook-response');
 		}
+		throw new Meteor.Error('error-invalid-webhook-response');
 	},
 });
-
diff --git a/app/livechat/server/permissions.js b/app/livechat/server/permissions.js
index d8e9153549d..15391361952 100644
--- a/app/livechat/server/permissions.js
+++ b/app/livechat/server/permissions.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
-import { Roles, Permissions } from '../../models';
 import _ from 'underscore';
 
+import { Roles, Permissions } from '../../models';
+
 Meteor.startup(() => {
 	const roles = _.pluck(Roles.find().fetch(), 'name');
 	if (roles.indexOf('livechat-agent') === -1) {
diff --git a/app/livechat/server/publications/customFields.js b/app/livechat/server/publications/customFields.js
index 95283a4f4f3..255ff58e143 100644
--- a/app/livechat/server/publications/customFields.js
+++ b/app/livechat/server/publications/customFields.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
+import s from 'underscore.string';
+
 import { hasPermission } from '../../../authorization';
 import { LivechatCustomField } from '../../../models';
-import s from 'underscore.string';
 
 Meteor.publish('livechat:customFields', function(_id) {
 	if (!this.userId) {
@@ -17,5 +18,4 @@ Meteor.publish('livechat:customFields', function(_id) {
 	}
 
 	return LivechatCustomField.find();
-
 });
diff --git a/app/livechat/server/publications/departmentAgents.js b/app/livechat/server/publications/departmentAgents.js
index f55b2b21491..1631e6af59f 100644
--- a/app/livechat/server/publications/departmentAgents.js
+++ b/app/livechat/server/publications/departmentAgents.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { LivechatDepartmentAgents } from '../../../models';
 
diff --git a/app/livechat/server/publications/externalMessages.js b/app/livechat/server/publications/externalMessages.js
index 106962b81da..ac4af8a5a84 100644
--- a/app/livechat/server/publications/externalMessages.js
+++ b/app/livechat/server/publications/externalMessages.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { LivechatExternalMessage } from '../../lib/LivechatExternalMessage';
 
 Meteor.publish('livechat:externalMessages', function(roomId) {
diff --git a/app/livechat/server/publications/livechatAgents.js b/app/livechat/server/publications/livechatAgents.js
index 874b35af4e1..b2048e3ad8e 100644
--- a/app/livechat/server/publications/livechatAgents.js
+++ b/app/livechat/server/publications/livechatAgents.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission, getUsersInRole } from '../../../authorization';
 
 Meteor.publish('livechat:agents', function() {
diff --git a/app/livechat/server/publications/livechatAppearance.js b/app/livechat/server/publications/livechatAppearance.js
index 1d304d1696b..285d3cfefd0 100644
--- a/app/livechat/server/publications/livechatAppearance.js
+++ b/app/livechat/server/publications/livechatAppearance.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { Settings } from '../../../models';
 
diff --git a/app/livechat/server/publications/livechatDepartments.js b/app/livechat/server/publications/livechatDepartments.js
index c89de01ce74..98619d39642 100644
--- a/app/livechat/server/publications/livechatDepartments.js
+++ b/app/livechat/server/publications/livechatDepartments.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { LivechatDepartment } from '../../../models';
 
@@ -13,8 +14,6 @@ Meteor.publish('livechat:departments', function(_id) {
 
 	if (_id !== undefined) {
 		return LivechatDepartment.findByDepartmentId(_id);
-	} else {
-		return LivechatDepartment.find();
 	}
-
+	return LivechatDepartment.find();
 });
diff --git a/app/livechat/server/publications/livechatInquiries.js b/app/livechat/server/publications/livechatInquiries.js
index 356e1364f7e..2ca27608932 100644
--- a/app/livechat/server/publications/livechatInquiries.js
+++ b/app/livechat/server/publications/livechatInquiries.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { LivechatInquiry } from '../../lib/LivechatInquiry';
 
@@ -16,7 +17,7 @@ Meteor.publish('livechat:inquiry', function(_id) {
 	const cursorHandle = LivechatInquiry.find({
 		agents: this.userId,
 		status: 'open',
-		...(_id && { _id }),
+		..._id && { _id },
 	}).observeChanges({
 		added(_id, record) {
 			return publication.added('rocketchat_livechat_inquiry', _id, record);
@@ -33,5 +34,4 @@ Meteor.publish('livechat:inquiry', function(_id) {
 	return this.onStop(function() {
 		return cursorHandle.stop();
 	});
-
 });
diff --git a/app/livechat/server/publications/livechatIntegration.js b/app/livechat/server/publications/livechatIntegration.js
index d9d80fd3caf..45df6fa6e5a 100644
--- a/app/livechat/server/publications/livechatIntegration.js
+++ b/app/livechat/server/publications/livechatIntegration.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { Settings } from '../../../models';
 
diff --git a/app/livechat/server/publications/livechatManagers.js b/app/livechat/server/publications/livechatManagers.js
index eefcf21f1d5..9a064efcb4d 100644
--- a/app/livechat/server/publications/livechatManagers.js
+++ b/app/livechat/server/publications/livechatManagers.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission, getUsersInRole } from '../../../authorization';
 
 Meteor.publish('livechat:managers', function() {
diff --git a/app/livechat/server/publications/livechatMonitoring.js b/app/livechat/server/publications/livechatMonitoring.js
index 7257184e4fb..85eba2622a5 100644
--- a/app/livechat/server/publications/livechatMonitoring.js
+++ b/app/livechat/server/publications/livechatMonitoring.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { hasPermission } from '../../../authorization';
 import { Rooms } from '../../../models';
 
diff --git a/app/livechat/server/publications/livechatOfficeHours.js b/app/livechat/server/publications/livechatOfficeHours.js
index 6962b7898d4..42b964eeada 100644
--- a/app/livechat/server/publications/livechatOfficeHours.js
+++ b/app/livechat/server/publications/livechatOfficeHours.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { LivechatOfficeHour } from '../../../models';
 
diff --git a/app/livechat/server/publications/livechatQueue.js b/app/livechat/server/publications/livechatQueue.js
index 2940473890c..92a4e7fae5e 100644
--- a/app/livechat/server/publications/livechatQueue.js
+++ b/app/livechat/server/publications/livechatQueue.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { LivechatDepartmentAgents } from '../../../models';
 
diff --git a/app/livechat/server/publications/livechatRooms.js b/app/livechat/server/publications/livechatRooms.js
index 37eaebf30f3..bba937e12a0 100644
--- a/app/livechat/server/publications/livechatRooms.js
+++ b/app/livechat/server/publications/livechatRooms.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+
 import { hasPermission } from '../../../authorization';
 import { Rooms } from '../../../models';
 
diff --git a/app/livechat/server/publications/livechatTriggers.js b/app/livechat/server/publications/livechatTriggers.js
index 185dd444d2c..21c3c824f9e 100644
--- a/app/livechat/server/publications/livechatTriggers.js
+++ b/app/livechat/server/publications/livechatTriggers.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { LivechatTrigger } from '../../../models';
 
@@ -13,7 +14,6 @@ Meteor.publish('livechat:triggers', function(_id) {
 
 	if (_id !== undefined) {
 		return LivechatTrigger.findById(_id);
-	} else {
-		return LivechatTrigger.find();
 	}
+	return LivechatTrigger.find();
 });
diff --git a/app/livechat/server/publications/livechatVisitors.js b/app/livechat/server/publications/livechatVisitors.js
index 5521d96a32f..8803da19962 100644
--- a/app/livechat/server/publications/livechatVisitors.js
+++ b/app/livechat/server/publications/livechatVisitors.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { hasPermission } from '../../../authorization';
 import { LivechatVisitors } from '../../../models';
 
diff --git a/app/livechat/server/publications/visitorHistory.js b/app/livechat/server/publications/visitorHistory.js
index 2309a169792..4a7159196d4 100644
--- a/app/livechat/server/publications/visitorHistory.js
+++ b/app/livechat/server/publications/visitorHistory.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { Rooms, Subscriptions } from '../../../models';
 
diff --git a/app/livechat/server/publications/visitorInfo.js b/app/livechat/server/publications/visitorInfo.js
index 054eb358d47..197832f0819 100644
--- a/app/livechat/server/publications/visitorInfo.js
+++ b/app/livechat/server/publications/visitorInfo.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { Rooms, LivechatVisitors } from '../../../models';
 
@@ -15,7 +16,6 @@ Meteor.publish('livechat:visitorInfo', function({ rid: roomId }) {
 
 	if (room && room.v && room.v._id) {
 		return LivechatVisitors.findById(room.v._id);
-	} else {
-		return this.ready();
 	}
+	return this.ready();
 });
diff --git a/app/livechat/server/publications/visitorPageVisited.js b/app/livechat/server/publications/visitorPageVisited.js
index ae875b6f8f3..062d370aad1 100644
--- a/app/livechat/server/publications/visitorPageVisited.js
+++ b/app/livechat/server/publications/visitorPageVisited.js
@@ -1,9 +1,9 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { Rooms, Messages } from '../../../models';
 
 Meteor.publish('livechat:visitorPageVisited', function({ rid: roomId }) {
-
 	if (!this.userId) {
 		return this.error(new Meteor.Error('error-not-authorized', 'Not authorized', { publish: 'livechat:visitorPageVisited' }));
 	}
diff --git a/app/livechat/server/sendMessageBySMS.js b/app/livechat/server/sendMessageBySMS.js
index 551c2263cde..1715cd6e133 100644
--- a/app/livechat/server/sendMessageBySMS.js
+++ b/app/livechat/server/sendMessageBySMS.js
@@ -43,5 +43,4 @@ callbacks.add('afterSaveMessage', function(message, room) {
 	SMSService.send(room.sms.from, visitor.phone[0].phoneNumber, message.msg);
 
 	return message;
-
 }, callbacks.priority.LOW, 'sendMessageBySms');
diff --git a/app/livechat/server/startup.js b/app/livechat/server/startup.js
index 0c6bd346b87..c76325cb4e0 100644
--- a/app/livechat/server/startup.js
+++ b/app/livechat/server/startup.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { TAPi18n } from 'meteor/tap:i18n';
+
 import { roomTypes } from '../../utils';
 import { Rooms } from '../../models';
 import { hasPermission, addRoomAccessValidator } from '../../authorization';
diff --git a/app/livechat/server/unclosedLivechats.js b/app/livechat/server/unclosedLivechats.js
index 5c06a018f3e..29c96b68e1b 100644
--- a/app/livechat/server/unclosedLivechats.js
+++ b/app/livechat/server/unclosedLivechats.js
@@ -1,8 +1,9 @@
 import { Meteor } from 'meteor/meteor';
-import { settings } from '../../settings';
-import { Users } from '../../models';
 import { UserPresenceMonitor } from 'meteor/konecty:user-presence';
+
 import { Livechat } from './lib/Livechat';
+import { settings } from '../../settings';
+import { Users } from '../../models';
 
 let agentsHandler;
 let monitorAgents = false;
@@ -41,7 +42,7 @@ function runAgentLeaveAction(userId) {
 	const action = settings.get('Livechat_agent_leave_action');
 	if (action === 'close') {
 		return Livechat.closeOpenChats(userId, settings.get('Livechat_agent_leave_comment'));
-	} else if (action === 'forward') {
+	} if (action === 'forward') {
 		return Livechat.forwardOpenChats(userId);
 	}
 }
diff --git a/app/livechat/server/visitorStatus.js b/app/livechat/server/visitorStatus.js
index 18775e7da01..466d82c8efc 100644
--- a/app/livechat/server/visitorStatus.js
+++ b/app/livechat/server/visitorStatus.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { UserPresenceEvents } from 'meteor/konecty:user-presence';
+
 import { Livechat } from './lib/Livechat';
 
 Meteor.startup(() => {
diff --git a/app/livestream/client/oauth.js b/app/livestream/client/oauth.js
index fa3ea4713e6..e81ff871387 100644
--- a/app/livestream/client/oauth.js
+++ b/app/livestream/client/oauth.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../settings';
 
 export const close = (popup) => new Promise(function(resolve) {
@@ -12,5 +13,5 @@ export const close = (popup) => new Promise(function(resolve) {
 
 export const auth = async () => {
 	const oauthWindow = window.open(`${ settings.get('Site_Url') }/api/v1/livestream/oauth?userId=${ Meteor.userId() }`, 'youtube-integration-oauth', 'width=400,height=600');
-	return await close(oauthWindow);
+	return close(oauthWindow);
 };
diff --git a/app/livestream/client/tabBar.js b/app/livestream/client/tabBar.js
index 640a7ecde7b..1ebd068b271 100644
--- a/app/livestream/client/tabBar.js
+++ b/app/livestream/client/tabBar.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
 import { Session } from 'meteor/session';
+
 import { TabBar } from '../../ui-utils';
 import { Rooms } from '../../models';
 import { settings } from '../../settings';
@@ -9,7 +10,7 @@ Meteor.startup(function() {
 	Tracker.autorun(function() {
 		TabBar.removeButton('livestream');
 		if (settings.get('Livestream_enabled')) {
-			const live = Rooms.findOne({ _id: Session.get('openedRoom'), 'streamingOptions.type': 'livestream', 'streamingOptions.id': { $exists :1 } }, { fields: { streamingOptions: 1 } });
+			const live = Rooms.findOne({ _id: Session.get('openedRoom'), 'streamingOptions.type': 'livestream', 'streamingOptions.id': { $exists: 1 } }, { fields: { streamingOptions: 1 } });
 			TabBar.size = live ? 5 : 4;
 			return TabBar.addButton({
 				groups: ['channel', 'group'],
diff --git a/app/livestream/client/views/broadcastView.js b/app/livestream/client/views/broadcastView.js
index 4033c56856f..4fbe6fc554f 100644
--- a/app/livestream/client/views/broadcastView.js
+++ b/app/livestream/client/views/broadcastView.js
@@ -2,12 +2,13 @@ import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
+
 import { handleError } from '../../../utils';
 import { settings } from '../../../settings';
 
 const getMedia = () => navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
 const createAndConnect = (url) => {
-	if (!'WebSocket' in window) { // eslint-disable-line no-negated-in-lhs
+	if (!('WebSocket' in window)) { // eslint-disable-line no-negated-in-lhs
 		return false;
 	}
 
@@ -35,11 +36,11 @@ const delay = (time) => new Promise((resolve) => setTimeout(resolve, time));
 const waitForStreamStatus = async (id, status) => {
 	const streamActive = new Promise(async (resolve) => {
 		while (true) { // eslint-disable-line no-constant-condition
-			const currentStatus = await call('livestreamStreamStatus', { streamId: id });
+			const currentStatus = await call('livestreamStreamStatus', { streamId: id }); // eslint-disable-line no-await-in-loop
 			if (currentStatus === status) {
 				return resolve(status);
 			}
-			await delay(1500);
+			await delay(1500); // eslint-disable-line no-await-in-loop
 		}
 	});
 	await streamActive;
@@ -47,11 +48,11 @@ const waitForStreamStatus = async (id, status) => {
 const waitForBroadcastStatus = async (id, status) => {
 	const broadcastActive = new Promise(async (resolve) => {
 		while (true) { // eslint-disable-line no-constant-condition
-			const currentStatus = await call('getBroadcastStatus', { broadcastId: id });
+			const currentStatus = await call('getBroadcastStatus', { broadcastId: id }); // eslint-disable-line no-await-in-loop
 			if (currentStatus === status) {
 				return resolve(status);
 			}
-			await delay(1500);
+			await delay(1500); // eslint-disable-line no-await-in-loop
 		}
 	});
 	await broadcastActive;
@@ -71,10 +72,6 @@ Template.broadcastView.onCreated(async function() {
 	this.mediaStream = new ReactiveVar(null);
 	this.mediaRecorder = new ReactiveVar(null);
 	this.connection = new ReactiveVar(connection);
-
-	if (!connection) {
-		return;
-	}
 });
 Template.broadcastView.onDestroyed(function() {
 	if (this.connection.get()) {
@@ -124,7 +121,6 @@ Template.broadcastView.onRendered(async function() {
 		await call('setLivestreamStatus', { broadcastId: this.data.broadcast.id, status: 'testing' });
 		await waitForBroadcastStatus(this.data.broadcast.id, 'testing');
 		document.querySelector('.streaming-popup').dispatchEvent(new Event('broadcastStreamReady'));
-
 	} catch (e) {
 		console.log(e);
 	}
diff --git a/app/livestream/client/views/liveStreamTab.js b/app/livestream/client/views/liveStreamTab.js
index 0bb608f54cf..9722540a942 100644
--- a/app/livestream/client/views/liveStreamTab.js
+++ b/app/livestream/client/views/liveStreamTab.js
@@ -5,6 +5,7 @@ import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
 import toastr from 'toastr';
+
 import { auth } from '../oauth.js';
 import { RocketChatAnnouncement } from '../../../lib';
 import { popout } from '../../../ui-utils';
@@ -80,15 +81,13 @@ Template.liveStreamTab.helpers({
 			if (popout.context) {
 				popoutSource = Blaze.getData(popout.context).data && Blaze.getData(popout.context).data.streamingSource;
 			}
-		} catch (e) {
-			return false;
-		} finally {
 			if (popoutSource != null && livestreamTabSource === popoutSource) {
 				return true;
-			} else {
-				return false;
 			}
+		} catch (e) {
+			return false;
 		}
+		return false;
 	},
 	isPopoutOpen() {
 		return Template.instance().popoutOpen.get();
@@ -104,7 +103,7 @@ Template.liveStreamTab.onCreated(function() {
 	this.popoutOpen = new ReactiveVar(popout.context != null);
 
 	this.autorun(() => {
-		const room = Rooms.findOne(this.data.rid, { fields: { streamingOptions : 1 } });
+		const room = Rooms.findOne(this.data.rid, { fields: { streamingOptions: 1 } });
 		this.streamingOptions.set(room.streamingOptions);
 	});
 });
@@ -192,7 +191,7 @@ Template.liveStreamTab.events({
 					streamingSource: i.streamingOptions.get().url,
 					isAudioOnly: i.streamingOptions.get().isAudioOnly,
 					showVideoControls: true,
-					streamingOptions:  i.streamingOptions.get(),
+					streamingOptions: i.streamingOptions.get(),
 				},
 				onCloseCallback: () => i.popoutOpen.set(false),
 			});
@@ -238,7 +237,7 @@ Template.liveStreamTab.events({
 				streamingSource: i.streamingOptions.get().url,
 				isAudioOnly: i.streamingOptions.get().isAudioOnly,
 				showVideoControls: true,
-				streamingOptions:  i.streamingOptions.get(),
+				streamingOptions: i.streamingOptions.get(),
 			},
 			onCloseCallback: () => i.popoutOpen.set(false),
 		});
@@ -262,7 +261,6 @@ Template.liveStreamTab.events({
 				},
 				onCloseCallback: () => i.popoutOpen.set(false),
 			});
-
 		} catch (e) {
 			console.log(e);
 		} finally {
@@ -280,7 +278,7 @@ callbacks.add('openBroadcast', (rid) => {
 			streamingSource: roomData.streamingOptions.url,
 			isAudioOnly: roomData.streamingOptions.isAudioOnly,
 			showVideoControls: true,
-			streamingOptions:  roomData.streamingOptions,
+			streamingOptions: roomData.streamingOptions,
 		},
 	});
 });
diff --git a/app/livestream/server/functions/livestream.js b/app/livestream/server/functions/livestream.js
index a5e6f8ab5f7..acd31e13866 100644
--- a/app/livestream/server/functions/livestream.js
+++ b/app/livestream/server/functions/livestream.js
@@ -1,4 +1,5 @@
 import google from 'googleapis';
+
 const { OAuth2 } = google.auth;
 
 
@@ -24,9 +25,9 @@ export const getBroadcastStatus = async ({
 		access_token,
 		refresh_token,
 	});
-	const youtube = google.youtube({ version:'v3', auth });
+	const youtube = google.youtube({ version: 'v3', auth });
 	const result = await p((resolve) => youtube.liveBroadcasts.list({
-		part:'id,status',
+		part: 'id,status',
 		id,
 	}, resolve));
 	return result.items && result.items[0] && result.items[0].status.lifeCycleStatus;
@@ -46,9 +47,9 @@ export const statusStreamLiveStream = async ({
 		refresh_token,
 	});
 
-	const youtube = google.youtube({ version:'v3', auth });
+	const youtube = google.youtube({ version: 'v3', auth });
 	const result = await p((resolve) => youtube.liveStreams.list({
-		part:'id,status',
+		part: 'id,status',
 		id,
 	}, resolve));
 	return result.items && result.items[0].status.streamStatus;
@@ -69,10 +70,10 @@ export const statusLiveStream = ({
 		refresh_token,
 	});
 
-	const youtube = google.youtube({ version:'v3', auth });
+	const youtube = google.youtube({ version: 'v3', auth });
 
 	return p((resolve) => youtube.liveBroadcasts.transition({
-		part:'id,status',
+		part: 'id,status',
 		id,
 		broadcastStatus: status,
 	}, resolve));
@@ -93,10 +94,10 @@ export const setBroadcastStatus = ({
 		refresh_token,
 	});
 
-	const youtube = google.youtube({ version:'v3', auth });
+	const youtube = google.youtube({ version: 'v3', auth });
 
 	return p((resolve) => youtube.liveBroadcasts.transition({
-		part:'id,status',
+		part: 'id,status',
 		id,
 		broadcastStatus: status,
 	}, resolve));
@@ -114,7 +115,7 @@ export const createLiveStream = async ({
 		access_token,
 		refresh_token,
 	});
-	const youtube = google.youtube({ version:'v3', auth });
+	const youtube = google.youtube({ version: 'v3', auth });
 
 	const [stream, broadcast] = await Promise.all([p((resolve) => youtube.liveStreams.insert({
 		part: 'id,snippet,cdn,contentDetails,status',
@@ -132,7 +133,7 @@ export const createLiveStream = async ({
 		resource: {
 			snippet: {
 				title: room.name || 'RocketChat Broadcast',
-				scheduledStartTime : new Date().toISOString(),
+				scheduledStartTime: new Date().toISOString(),
 			},
 			status: {
 				privacyStatus: 'unlisted',
diff --git a/app/livestream/server/methods.js b/app/livestream/server/methods.js
index ae8e6e62b25..c18e7c4ab9b 100644
--- a/app/livestream/server/methods.js
+++ b/app/livestream/server/methods.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
+
+import { createLiveStream, statusLiveStream, statusStreamLiveStream, getBroadcastStatus, setBroadcastStatus } from './functions/livestream';
 import { settings } from '../../settings';
 import { Rooms } from '../../models';
-import { createLiveStream, statusLiveStream, statusStreamLiveStream, getBroadcastStatus, setBroadcastStatus } from './functions/livestream';
 
 const selectLivestreamSettings = (user) => user && user.settings && user.settings.livestream;
 
@@ -24,14 +25,13 @@ Meteor.methods({
 
 		const { access_token, refresh_token } = livestreamSettings;
 
-		return await statusStreamLiveStream({
+		return statusStreamLiveStream({
 			id: streamId,
 			access_token,
 			refresh_token,
 			clientId: settings.get('Broadcasting_client_id'),
 			clientSecret: settings.get('Broadcasting_client_secret'),
 		});
-
 	},
 	async setLivestreamStatus({ broadcastId, status }) {
 		if (!broadcastId) {
@@ -50,7 +50,7 @@ Meteor.methods({
 
 		const { access_token, refresh_token } = livestreamSettings;
 
-		return await statusLiveStream({
+		return statusLiveStream({
 			id: broadcastId,
 			access_token,
 			refresh_token,
@@ -58,7 +58,6 @@ Meteor.methods({
 			clientId: settings.get('Broadcasting_client_id'),
 			clientSecret: settings.get('Broadcasting_client_secret'),
 		});
-
 	},
 	async livestreamGet({ rid }) {
 		const livestreamSettings = selectLivestreamSettings(Meteor.user());
@@ -79,14 +78,13 @@ Meteor.methods({
 		}
 
 		const { access_token, refresh_token } = livestreamSettings;
-		return await createLiveStream({
+		return createLiveStream({
 			room,
 			access_token,
 			refresh_token,
 			clientId: settings.get('Broadcasting_client_id'),
 			clientSecret: settings.get('Broadcasting_client_secret'),
 		});
-
 	},
 	async getBroadcastStatus({ broadcastId }) {
 		if (!broadcastId) {
@@ -105,7 +103,7 @@ Meteor.methods({
 
 		const { access_token, refresh_token } = livestreamSettings;
 
-		return await getBroadcastStatus({
+		return getBroadcastStatus({
 			id: broadcastId,
 			access_token,
 			refresh_token,
@@ -130,7 +128,7 @@ Meteor.methods({
 
 		const { access_token, refresh_token } = livestreamSettings;
 
-		return await setBroadcastStatus({
+		return setBroadcastStatus({
 			id: broadcastId,
 			access_token,
 			refresh_token,
@@ -138,6 +136,5 @@ Meteor.methods({
 			clientId: settings.get('Broadcasting_client_id'),
 			clientSecret: settings.get('Broadcasting_client_secret'),
 		});
-
 	},
 });
diff --git a/app/livestream/server/routes.js b/app/livestream/server/routes.js
index cc860cd019f..8668217d19a 100644
--- a/app/livestream/server/routes.js
+++ b/app/livestream/server/routes.js
@@ -1,8 +1,10 @@
 import { Meteor } from 'meteor/meteor';
+import google from 'googleapis';
+
 import { settings } from '../../settings';
 import { Users } from '../../models';
 import { API } from '../../api';
-import google from 'googleapis';
+
 const { OAuth2 } = google.auth;
 
 API.v1.addRoute('livestream/oauth', {
@@ -21,7 +23,8 @@ API.v1.addRoute('livestream/oauth', {
 			statusCode: 302,
 			headers: {
 				Location: url,
-			}, body: 'Oauth redirect',
+			},
+			body: 'Oauth redirect',
 		};
 	},
 });
@@ -37,13 +40,14 @@ API.v1.addRoute('livestream/oauth/callback', {
 		const ret = Meteor.wrapAsync(clientAuth.getToken.bind(clientAuth))(code);
 
 		Users.update({ _id: userId }, { $set: {
-			'settings.livestream' : ret,
+			'settings.livestream': ret,
 		} });
 
 		return {
 			headers: {
-				'content-type' : 'text/html',
-			}, body: '<script>window.close()</script>',
+				'content-type': 'text/html',
+			},
+			body: '<script>window.close()</script>',
 		};
 	},
 });
diff --git a/app/livestream/server/settings.js b/app/livestream/server/settings.js
index 149cd418085..5fc796efa87 100644
--- a/app/livestream/server/settings.js
+++ b/app/livestream/server/settings.js
@@ -1,9 +1,9 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../settings';
 
 Meteor.startup(function() {
 	settings.addGroup('LiveStream & Broadcasting', function() {
-
 		this.add('Livestream_enabled', false, {
 			type: 'boolean',
 			public: true,
diff --git a/app/logger/client/ansispan.js b/app/logger/client/ansispan.js
index 62340cd080d..1ccf35296f7 100644
--- a/app/logger/client/ansispan.js
+++ b/app/logger/client/ansispan.js
@@ -10,22 +10,19 @@ const foregroundColors = {
 };
 
 export const ansispan = (str: string) => {
-	str = (
-		str
-			.replace(/\s/g, '&nbsp;')
-			.replace(/(\\n|\n)/g, '<br>')
-			.replace(/>/g, '&gt;')
-			.replace(/</g, '&lt;')
-			.replace(/(.\d{8}-\d\d:\d\d:\d\d\.\d\d\d\(?.{0,2}\)?)/, '<span class="terminal-time">$1</span>')
-			.replace(/\033\[1m/g, '<strong>')
-			.replace(/\033\[22m/g, '</strong>')
-			.replace(/\033\[3m/g, '<em>')
-			.replace(/\033\[23m/g, '</em>')
-			.replace(/\033\[m/g, '</span>')
-			.replace(/\033\[0m/g, '</span>')
-			.replace(/\033\[39m/g, '</span>')
-	);
-
+	str =		str
+		.replace(/\s/g, '&nbsp;')
+		.replace(/(\\n|\n)/g, '<br>')
+		.replace(/>/g, '&gt;')
+		.replace(/</g, '&lt;')
+		.replace(/(.\d{8}-\d\d:\d\d:\d\d\.\d\d\d\(?.{0,2}\)?)/, '<span class="terminal-time">$1</span>')
+		.replace(/\033\[1m/g, '<strong>')
+		.replace(/\033\[22m/g, '</strong>')
+		.replace(/\033\[3m/g, '<em>')
+		.replace(/\033\[23m/g, '</em>')
+		.replace(/\033\[m/g, '</span>')
+		.replace(/\033\[0m/g, '</span>')
+		.replace(/\033\[39m/g, '</span>');
 	return Object.entries(foregroundColors).reduce((str, [ansiCode, color]) => {
 		const span = `<span style="color: ${ color }">`;
 		return (
diff --git a/app/logger/client/logger.js b/app/logger/client/logger.js
index 92556c3dc87..61eb0bf9c11 100644
--- a/app/logger/client/logger.js
+++ b/app/logger/client/logger.js
@@ -6,29 +6,27 @@ import { getConfig } from '../../ui-utils/client/config';
 Template.log = !!(getConfig('debug') || getConfig('debug-template'));
 
 if (Template.log) {
-
 	Template.logMatch = /.*/;
 
 	Template.enableLogs = function(log) {
 		Template.logMatch = /.*/;
 		if (log === false) {
-			return Template.log = false;
-		} else {
-			Template.log = true;
-			if (log instanceof RegExp) {
-				return Template.logMatch = log;
-			}
+			Template.log = false;
+			return false;
+		}
+		Template.log = true;
+		if (log instanceof RegExp) {
+			Template.logMatch = log;
+			return log;
 		}
 	};
 
 	const wrapHelpersAndEvents = function(original, prefix, color) {
 		return function(dict) {
-
 			const template = this;
 			const fn1 = function(name, fn) {
 				if (fn instanceof Function) {
-					return dict[name] = function(...args) {
-
+					dict[name] = function(...args) {
 						const result = fn.apply(this, args);
 						if (Template.log === true) {
 							const completeName = `${ prefix }:${ template.viewName.replace('Template.', '') }.${ name }`;
@@ -42,6 +40,7 @@ if (Template.log) {
 						}
 						return result;
 					};
+					return dict[name];
 				}
 			};
 			_.each(name, (fn, name) => {
@@ -74,9 +73,8 @@ if (Template.log) {
 					return result;
 				};
 				return original.call(template, wrap);
-			} else {
-				return original.call(template, fn);
 			}
+			return original.call(template, fn);
 		};
 	};
 
diff --git a/app/logger/client/viewLogs.js b/app/logger/client/viewLogs.js
index 8185bf6a6f0..112a947fc70 100644
--- a/app/logger/client/viewLogs.js
+++ b/app/logger/client/viewLogs.js
@@ -2,6 +2,7 @@ import { Meteor } from 'meteor/meteor';
 import { Mongo } from 'meteor/mongo';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { BlazeLayout } from 'meteor/kadira:blaze-layout';
+
 import { AdminBox } from '../../ui-utils';
 import { hasAllPermission } from '../../authorization';
 import { t } from '../../utils';
diff --git a/app/logger/client/views/viewLogs.js b/app/logger/client/views/viewLogs.js
index feecd66d7c1..82382c1ada0 100644
--- a/app/logger/client/views/viewLogs.js
+++ b/app/logger/client/views/viewLogs.js
@@ -2,6 +2,7 @@ import _ from 'underscore';
 import { Meteor } from 'meteor/meteor';
 import { Template } from 'meteor/templating';
 import { Tracker } from 'meteor/tracker';
+
 import { ansispan } from '../ansispan';
 import { stdout } from '../viewLogs';
 import { readMessage } from '../../../ui-utils';
@@ -12,7 +13,7 @@ import './viewLogs.css';
 
 Template.viewLogs.onCreated(function() {
 	this.subscribe('stdout');
-	return this.atBottom = true;
+	this.atBottom = true;
 });
 
 Template.viewLogs.helpers({
@@ -65,9 +66,9 @@ Template.viewLogs.onRendered(function() {
 
 	this.sendToBottomIfNecessary = () => {
 		if (this.atBottom === true && this.isAtBottom() !== true) {
-			return this.sendToBottom();
+			this.sendToBottom();
 		} else if (this.atBottom === false) {
-			return newLogs.className = 'new-logs';
+			newLogs.className = 'new-logs';
 		}
 	};
 
diff --git a/app/logger/server/server.js b/app/logger/server/server.js
index d7750a2d606..8e9bc460dc3 100644
--- a/app/logger/server/server.js
+++ b/app/logger/server/server.js
@@ -1,13 +1,15 @@
+import { EventEmitter } from 'events';
+
 import { Meteor } from 'meteor/meteor';
 import { Random } from 'meteor/random';
 import { EJSON } from 'meteor/ejson';
 import { Log } from 'meteor/logging';
-import { EventEmitter } from 'events';
-import { settings } from '../../settings';
-import { hasPermission } from '../../authorization';
 import _ from 'underscore';
 import s from 'underscore.string';
 
+import { settings } from '../../settings';
+import { hasPermission } from '../../authorization';
+
 let Logger;
 
 const LoggerManager = new class extends EventEmitter {
@@ -20,22 +22,26 @@ const LoggerManager = new class extends EventEmitter {
 		this.showFileAndLine = false;
 		this.logLevel = 0;
 	}
+
 	register(logger) {
-		if (!logger instanceof Logger) {
+		if (!(logger instanceof Logger)) {
 			return;
 		}
 		this.loggers[logger.name] = logger;
 		this.emit('register', logger);
 	}
+
 	addToQueue(logger, args) {
 		this.queue.push({
 			logger, args,
 		});
 	}
+
 	dispatchQueue() {
 		_.each(this.queue, (item) => item.logger._log.apply(item.logger, item.args));
 		this.clearQueue();
 	}
+
 	clearQueue() {
 		this.queue = [];
 	}
@@ -46,9 +52,9 @@ const LoggerManager = new class extends EventEmitter {
 
 	enable(dispatchQueue = false) {
 		this.enabled = true;
-		return (dispatchQueue === true) ? this.dispatchQueue() : this.clearQueue();
+		return dispatchQueue === true ? this.dispatchQueue() : this.clearQueue();
 	}
-};
+}();
 
 const defaultTypes = {
 	debug: {
@@ -160,6 +166,7 @@ class _Logger {
 
 		LoggerManager.register(this);
 	}
+
 	getPrefix(options) {
 		let prefix = `${ this.name } âž” ${ options.method }`;
 		if (options.section) {
@@ -191,6 +198,7 @@ class _Logger {
 		}
 		return prefix;
 	}
+
 	_getCallerDetails() {
 		const getStack = () => {
 			// We do NOT use Error.prepareStackTrace here (a V8 extension that gets us a
@@ -207,7 +215,7 @@ class _Logger {
 		// looking for the first line outside the logging package (or an
 		// eval if we find that first)
 		let line = lines[0];
-		for (let index = 0, len = lines.length; index < len, index++; line = lines[index]) {
+		for (let index = 0, len = lines.length; index < len; index++, line = lines[index]) {
 			if (line.match(/^\s*at eval \(eval/)) {
 				return { file: 'eval' };
 			}
@@ -236,6 +244,7 @@ class _Logger {
 		}
 		return details;
 	}
+
 	makeABox(message, title) {
 		if (!_.isArray(message)) {
 			message = message.split('\n');
@@ -293,7 +302,6 @@ class _Logger {
 			box.forEach((line) => {
 				console.log(subPrefix, color ? line[color] : line);
 			});
-
 		} else {
 			options.arguments.unshift(prefix);
 			console.log.apply(console, options.arguments);
@@ -337,7 +345,7 @@ const StdOut = new class extends EventEmitter {
 		this.queue = [];
 		process.stdout.write = (...args) => {
 			write.apply(process.stdout, args);
-			const date = new Date;
+			const date = new Date();
 			const string = processString(args[0], date);
 			const item = {
 				id: Random.id(),
@@ -355,7 +363,7 @@ const StdOut = new class extends EventEmitter {
 			this.emit('write', string, item);
 		};
 	}
-};
+}();
 
 
 Meteor.publish('stdout', function() {
diff --git a/app/mail-messages/client/views/mailer.js b/app/mail-messages/client/views/mailer.js
index e21205cc319..0f8f7e56698 100644
--- a/app/mail-messages/client/views/mailer.js
+++ b/app/mail-messages/client/views/mailer.js
@@ -2,9 +2,10 @@ import { Meteor } from 'meteor/meteor';
 import { Template } from 'meteor/templating';
 import { Tracker } from 'meteor/tracker';
 import { TAPi18n } from 'meteor/tap:i18n';
+import toastr from 'toastr';
+
 import { settings } from '../../../settings';
 import { handleError } from '../../../utils';
-import toastr from 'toastr';
 import { SideNav } from '../../../ui-utils/client';
 
 Template.mailer.helpers({
diff --git a/app/mail-messages/server/functions/sendMail.js b/app/mail-messages/server/functions/sendMail.js
index 5e1db39d6d0..04bc2800831 100644
--- a/app/mail-messages/server/functions/sendMail.js
+++ b/app/mail-messages/server/functions/sendMail.js
@@ -1,8 +1,9 @@
 import { Meteor } from 'meteor/meteor';
 import { EJSON } from 'meteor/ejson';
 import { FlowRouter } from 'meteor/kadira:flow-router';
-import { placeholders } from '../../../utils';
 import s from 'underscore.string';
+
+import { placeholders } from '../../../utils';
 import * as Mailer from '../../../mailer';
 
 export const sendMail = function(from, subject, body, dryrun, query) {
diff --git a/app/mail-messages/server/methods/sendMail.js b/app/mail-messages/server/methods/sendMail.js
index 5dcc9b729ae..9fef1529968 100644
--- a/app/mail-messages/server/methods/sendMail.js
+++ b/app/mail-messages/server/methods/sendMail.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Mailer } from '../lib/Mailer';
 import { hasRole } from '../../../authorization';
 
diff --git a/app/mail-messages/server/methods/unsubscribe.js b/app/mail-messages/server/methods/unsubscribe.js
index c5bb3e8c9d5..180b3652b00 100644
--- a/app/mail-messages/server/methods/unsubscribe.js
+++ b/app/mail-messages/server/methods/unsubscribe.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { DDPRateLimiter } from 'meteor/ddp-rate-limiter';
+
 import { Mailer } from '../lib/Mailer';
 
 Meteor.methods({
diff --git a/app/mail-messages/server/startup.js b/app/mail-messages/server/startup.js
index ed0993fcad5..10dd89d2b8c 100644
--- a/app/mail-messages/server/startup.js
+++ b/app/mail-messages/server/startup.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Permissions } from '../../models';
 
 Meteor.startup(function() {
diff --git a/app/mailer/server/api.js b/app/mailer/server/api.js
index c8044be6476..d47ae99e890 100644
--- a/app/mailer/server/api.js
+++ b/app/mailer/server/api.js
@@ -1,10 +1,12 @@
 import { Meteor } from 'meteor/meteor';
 import { Email } from 'meteor/email';
 import { TAPi18n } from 'meteor/tap:i18n';
-import { settings } from '../../settings';
 import _ from 'underscore';
 import s from 'underscore.string';
 import juice from 'juice';
+
+import { settings } from '../../settings';
+
 let contentHeader;
 let contentFooter;
 
@@ -30,10 +32,10 @@ export const replace = function replace(str, data = {}) {
 		Site_Name: Settings.get('Site_Name'),
 		Site_URL: Settings.get('Site_Url'),
 		Site_URL_Slash: Settings.get('Site_Url').replace(/\/?$/, '/'),
-		...(data.name && {
+		...data.name && {
 			fname: s.strLeft(data.name, ' '),
 			lname: s.strRightBack(data.name, ' '),
-		}),
+		},
 		...data,
 	};
 	return Object.entries(options).reduce((ret, [key, value]) => replacekey(ret, key, value), translate(str));
diff --git a/app/mapview/client/mapview.js b/app/mapview/client/mapview.js
index a1695c1aaac..d12382a3690 100644
--- a/app/mapview/client/mapview.js
+++ b/app/mapview/client/mapview.js
@@ -1,4 +1,5 @@
 import { TAPi18n } from 'meteor/tap:i18n';
+
 import { settings } from '../../settings';
 import { callbacks } from '../../callbacks';
 /*
@@ -7,12 +8,10 @@ import { callbacks } from '../../callbacks';
  */
 
 function MapView(message) {
-
 	// get MapView settings
 	const mv_googlekey = settings.get('MapView_GMapsAPIKey');
 
 	if (message.location) {
-
 		// GeoJSON is reversed - ie. [lng, lat]
 		const [longitude, latitude] = message.location.coordinates;
 
diff --git a/app/mapview/server/settings.js b/app/mapview/server/settings.js
index 0fb4ea239ac..f009c15f872 100644
--- a/app/mapview/server/settings.js
+++ b/app/mapview/server/settings.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../settings';
 
 Meteor.startup(function() {
diff --git a/app/markdown/lib/markdown.js b/app/markdown/lib/markdown.js
index 5881a5f1bec..eb97f464427 100644
--- a/app/markdown/lib/markdown.js
+++ b/app/markdown/lib/markdown.js
@@ -5,12 +5,12 @@
 import s from 'underscore.string';
 import { Meteor } from 'meteor/meteor';
 import { Blaze } from 'meteor/blaze';
-import { settings } from '../../settings';
-import { callbacks } from '../../callbacks';
+
 import { marked } from './parser/marked/marked.js';
 import { original } from './parser/original/original.js';
-
 import { code } from './parser/original/code.js';
+import { callbacks } from '../../callbacks';
+import { settings } from '../../settings';
 
 const parsers = {
 	original,
@@ -78,7 +78,7 @@ class MarkdownClass {
 	}
 }
 
-export const Markdown = new MarkdownClass;
+export const Markdown = new MarkdownClass();
 
 // renderMessage already did html escape
 const MarkdownMessage = (message) => {
diff --git a/app/markdown/lib/parser/marked/marked.js b/app/markdown/lib/parser/marked/marked.js
index 08577708a07..b61e681a0e5 100644
--- a/app/markdown/lib/parser/marked/marked.js
+++ b/app/markdown/lib/parser/marked/marked.js
@@ -1,10 +1,11 @@
-import { settings } from '../../../../settings';
 import { Random } from 'meteor/random';
 import _ from 'underscore';
 import s from 'underscore.string';
 import hljs from 'highlight.js';
 import _marked from 'marked';
 
+import { settings } from '../../../../settings';
+
 const renderer = new _marked.Renderer();
 
 let msg = null;
diff --git a/app/markdown/lib/parser/original/code.js b/app/markdown/lib/parser/original/code.js
index 8a790336476..7a061858055 100644
--- a/app/markdown/lib/parser/original/code.js
+++ b/app/markdown/lib/parser/original/code.js
@@ -6,7 +6,7 @@ import { Random } from 'meteor/random';
 import s from 'underscore.string';
 import hljs from 'highlight.js';
 
-const inlinecode = (message) =>
+const inlinecode = (message) => {
 	// Support `text`
 	message.html = message.html.replace(/\`([^`\r\n]+)\`([<_*~]|\B|\b|$)/gm, (match, p1, p2) => {
 		const token = `=!=${ Random.id() }=!=`;
@@ -18,15 +18,14 @@ const inlinecode = (message) =>
 		});
 
 		return token;
-	})
-;
+	});
+};
 
 const codeblocks = (message) => {
 	// Count occurencies of ```
 	const count = (message.html.match(/```/g) || []).length;
 
 	if (count) {
-
 		// Check if we need to add a final ```
 		if ((count % 2) > 0) {
 			message.html = `${ message.html }\n\`\`\``;
@@ -48,7 +47,7 @@ const codeblocks = (message) => {
 				const emptyLanguage = lang === '' ? s.unescapeHTML(codeMatch[1] + codeMatch[2]) : s.unescapeHTML(codeMatch[2]);
 				const code = singleLine ? s.unescapeHTML(codeMatch[1]) : emptyLanguage;
 
-				const result = lang === '' ? hljs.highlightAuto((lang + code)) : hljs.highlight(lang, code);
+				const result = lang === '' ? hljs.highlightAuto(lang + code) : hljs.highlight(lang, code);
 				const token = `=!=${ Random.id() }=!=`;
 
 				message.tokens.push({
@@ -65,7 +64,7 @@ const codeblocks = (message) => {
 		}
 
 		// Re-mount message
-		return message.html = msgParts.join('');
+		message.html = msgParts.join('');
 	}
 };
 
diff --git a/app/markdown/lib/parser/original/markdown.js b/app/markdown/lib/parser/original/markdown.js
index 7ac8f4f2064..09517cd6fd4 100644
--- a/app/markdown/lib/parser/original/markdown.js
+++ b/app/markdown/lib/parser/original/markdown.js
@@ -4,9 +4,10 @@
  */
 import { Meteor } from 'meteor/meteor';
 import { Random } from 'meteor/random';
-import { settings } from '../../../../settings';
 import s from 'underscore.string';
 
+import { settings } from '../../../../settings';
+
 const parseNotEscaped = function(msg, message) {
 	if (message && message.tokens == null) {
 		message.tokens = [];
diff --git a/app/markdown/server/index.js b/app/markdown/server/index.js
index f4d1855ab52..03cdcc2fdd6 100644
--- a/app/markdown/server/index.js
+++ b/app/markdown/server/index.js
@@ -1,2 +1,3 @@
 import './settings';
+
 export { Markdown } from '../lib/markdown';
diff --git a/app/markdown/server/settings.js b/app/markdown/server/settings.js
index 14d16c7e774..71f3dc02c7f 100644
--- a/app/markdown/server/settings.js
+++ b/app/markdown/server/settings.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../settings';
 
 Meteor.startup(() => {
diff --git a/app/markdown/tests/client.mocks.js b/app/markdown/tests/client.mocks.js
index 49776387379..6838ac52162 100644
--- a/app/markdown/tests/client.mocks.js
+++ b/app/markdown/tests/client.mocks.js
@@ -1,6 +1,7 @@
 import mock from 'mock-require';
 import _ from 'underscore';
 import s from 'underscore.string';
+
 _.mixin(s.exports());
 
 mock('meteor/meteor', {
diff --git a/app/markdown/tests/client.tests.js b/app/markdown/tests/client.tests.js
index f6f5a2495c3..dcbe7f9a90e 100644
--- a/app/markdown/tests/client.tests.js
+++ b/app/markdown/tests/client.tests.js
@@ -1,7 +1,9 @@
 /* eslint-env mocha */
 import 'babel-polyfill';
 import assert from 'assert';
+
 import s from 'underscore.string';
+
 import './client.mocks.js';
 import { original } from '../lib/parser/original/original';
 import { Markdown } from '../lib/markdown';
diff --git a/app/mentions-flextab/client/actionButton.js b/app/mentions-flextab/client/actionButton.js
index 63eca8abccb..1e68f74d7ed 100644
--- a/app/mentions-flextab/client/actionButton.js
+++ b/app/mentions-flextab/client/actionButton.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Template } from 'meteor/templating';
+
 import { MessageAction, RoomHistoryManager } from '../../ui-utils';
 import { messageArgs } from '../../ui-utils/client/lib/messageArgs';
 
diff --git a/app/mentions-flextab/client/tabBar.js b/app/mentions-flextab/client/tabBar.js
index 07bd5de8480..afad4b9d86e 100644
--- a/app/mentions-flextab/client/tabBar.js
+++ b/app/mentions-flextab/client/tabBar.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { TabBar } from '../../ui-utils';
 
 Meteor.startup(function() {
diff --git a/app/mentions-flextab/client/views/mentionsFlexTab.js b/app/mentions-flextab/client/views/mentionsFlexTab.js
index 37ae334f143..ed3fad676e9 100644
--- a/app/mentions-flextab/client/views/mentionsFlexTab.js
+++ b/app/mentions-flextab/client/views/mentionsFlexTab.js
@@ -1,8 +1,10 @@
 import _ from 'underscore';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
+
 import { MentionedMessage } from '../lib/MentionedMessage';
 import { messageContext } from '../../../ui-utils/client/lib/messageContext';
+
 Template.mentionsFlexTab.helpers({
 	hasMessages() {
 		return Template.instance().cursor.count() > 0;
diff --git a/app/mentions-flextab/server/publications/mentionedMessages.js b/app/mentions-flextab/server/publications/mentionedMessages.js
index fcf047545e7..8eaa292347e 100644
--- a/app/mentions-flextab/server/publications/mentionedMessages.js
+++ b/app/mentions-flextab/server/publications/mentionedMessages.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Users, Messages } from '../../../models';
 
 Meteor.publish('mentionedMessages', function(rid, limit = 50) {
diff --git a/app/mentions/client/client.js b/app/mentions/client/client.js
index 7030dcdf18a..910c8a1f2f0 100644
--- a/app/mentions/client/client.js
+++ b/app/mentions/client/client.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
+
 import { callbacks } from '../../callbacks';
 import { settings } from '../../settings';
 import { Users } from '../../models/client';
diff --git a/app/mentions/lib/MentionsParser.js b/app/mentions/lib/MentionsParser.js
index 0921f66e2b3..f82ec3f0aef 100644
--- a/app/mentions/lib/MentionsParser.js
+++ b/app/mentions/lib/MentionsParser.js
@@ -62,9 +62,9 @@ export class MentionsParser {
 				return `${ prefix }<a class="${ className }" data-group="${ mention }">${ mention }</a>`;
 			}
 
-			const label = temp ?
-				mention && s.escapeHTML(mention) :
-				(mentions || [])
+			const label = temp
+				? mention && s.escapeHTML(mention)
+				: (mentions || [])
 					.filter(({ username }) => username === mention)
 					.map(({ name, username }) => (this.useRealName ? name : username))
 					.map((label) => label && s.escapeHTML(label))[0];
diff --git a/app/mentions/server/Mentions.js b/app/mentions/server/Mentions.js
index 0d03dfdcc01..e604af6fa9b 100644
--- a/app/mentions/server/Mentions.js
+++ b/app/mentions/server/Mentions.js
@@ -15,30 +15,39 @@ export default class MentionsServer extends MentionsParser {
 		this.getTotalChannelMembers = args.getTotalChannelMembers;
 		this.onMaxRoomMembersExceeded = args.onMaxRoomMembersExceeded || (() => {});
 	}
+
 	set getUsers(m) {
 		this._getUsers = m;
 	}
+
 	get getUsers() {
 		return typeof this._getUsers === 'function' ? this._getUsers : () => this._getUsers;
 	}
+
 	set getChannels(m) {
 		this._getChannels = m;
 	}
+
 	get getChannels() {
 		return typeof this._getChannels === 'function' ? this._getChannels : () => this._getChannels;
 	}
+
 	set getChannel(m) {
 		this._getChannel = m;
 	}
+
 	get getChannel() {
 		return typeof this._getChannel === 'function' ? this._getChannel : () => this._getChannel;
 	}
+
 	set messageMaxAll(m) {
 		this._messageMaxAll = m;
 	}
+
 	get messageMaxAll() {
 		return typeof this._messageMaxAll === 'function' ? this._messageMaxAll() : this._messageMaxAll;
 	}
+
 	getUsersByMentions({ msg, rid, u: sender }) {
 		let mentions = this.getUserMentions(msg);
 		const mentionsAll = [];
@@ -60,10 +69,12 @@ export default class MentionsServer extends MentionsParser {
 		mentions = userMentions.length ? this.getUsers(userMentions) : [];
 		return [...mentionsAll, ...mentions];
 	}
+
 	getChannelbyMentions({ msg }) {
 		const channels = this.getChannelMentions(msg);
 		return this.getChannels(channels.map((c) => c.trim().substr(1)));
 	}
+
 	execute(message) {
 		const mentionsAll = this.getUsersByMentions(message);
 		const channels = this.getChannelbyMentions(message);
diff --git a/app/mentions/server/methods/getUserMentionsByChannel.js b/app/mentions/server/methods/getUserMentionsByChannel.js
index d648ed811d0..bdcc5252790 100644
--- a/app/mentions/server/methods/getUserMentionsByChannel.js
+++ b/app/mentions/server/methods/getUserMentionsByChannel.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { Rooms, Users, Messages } from '../../../models';
 
 Meteor.methods({
diff --git a/app/mentions/server/server.js b/app/mentions/server/server.js
index 3012b300379..bd610978785 100644
--- a/app/mentions/server/server.js
+++ b/app/mentions/server/server.js
@@ -1,12 +1,13 @@
 import { Meteor } from 'meteor/meteor';
 import { Random } from 'meteor/random';
 import { TAPi18n } from 'meteor/tap:i18n';
+import _ from 'underscore';
+
+import MentionsServer from './Mentions';
 import { settings } from '../../settings';
 import { callbacks } from '../../callbacks';
 import { Notifications } from '../../notifications';
 import { Users, Subscriptions, Rooms } from '../../models';
-import _ from 'underscore';
-import MentionsServer from './Mentions';
 
 const mention = new MentionsServer({
 	pattern: () => settings.get('UTF8_Names_Validation'),
@@ -23,7 +24,7 @@ const mention = new MentionsServer({
 		Notifications.notifyUser(sender._id, 'message', {
 			_id: Random.id(),
 			rid,
-			ts: new Date,
+			ts: new Date(),
 			msg,
 			groupable: false,
 		});
diff --git a/app/mentions/tests/client.tests.js b/app/mentions/tests/client.tests.js
index d3af918771a..5854ec14ba6 100644
--- a/app/mentions/tests/client.tests.js
+++ b/app/mentions/tests/client.tests.js
@@ -1,6 +1,7 @@
 /* eslint-env mocha */
 import 'babel-polyfill';
 import assert from 'assert';
+
 import { MentionsParser } from '../lib/MentionsParser';
 
 let mentionsParser;
@@ -14,7 +15,7 @@ beforeEach(function functionName() {
 describe('Mention', function() {
 	describe('get pattern', () => {
 		const regexp = '[0-9a-zA-Z-_.]+';
-		beforeEach(() => mentionsParser.pattern = () => regexp);
+		beforeEach(() => { mentionsParser.pattern = () => regexp; });
 
 		describe('by function', function functionName() {
 			it(`should be equal to ${ regexp }`, () => {
@@ -30,7 +31,7 @@ describe('Mention', function() {
 	});
 
 	describe('get useRealName', () => {
-		beforeEach(() => mentionsParser.useRealName = () => true);
+		beforeEach(() => { mentionsParser.useRealName = () => true; });
 
 		describe('by function', function functionName() {
 			it('should be true', () => {
@@ -49,7 +50,7 @@ describe('Mention', function() {
 		const me = 'me';
 
 		describe('by function', function functionName() {
-			beforeEach(() => mentionsParser.me = () => me);
+			beforeEach(() => { mentionsParser.me = () => me; });
 
 			it(`should be equal to ${ me }`, () => {
 				assert.equal(me, mentionsParser.me);
@@ -57,7 +58,7 @@ describe('Mention', function() {
 		});
 
 		describe('by const', function functionName() {
-			beforeEach(() => mentionsParser.me = me);
+			beforeEach(() => { mentionsParser.me = me; });
 
 			it(`should be equal to ${ me }`, () => {
 				assert.equal(me, mentionsParser.me);
diff --git a/app/mentions/tests/server.tests.js b/app/mentions/tests/server.tests.js
index 675fa273eac..30bc0756498 100644
--- a/app/mentions/tests/server.tests.js
+++ b/app/mentions/tests/server.tests.js
@@ -50,16 +50,15 @@ describe('Mention Server', () => {
 			beforeEach(() => {
 				mention.getChannel = () =>
 					({
-						usernames:[{
+						usernames: [{
 							_id: 1,
 							username: 'rocket.cat',
 						}, {
 							_id: 2,
 							username: 'jon',
 						}],
-					})
-					// Meteor.users.find({ username: {$in: _.unique(usernames)}}, { fields: {_id: true, username: true }}).fetch();
-				;
+					});
+				// Meteor.users.find({ username: {$in: _.unique(usernames)}}, { fields: {_id: true, username: true }}).fetch();
 			});
 			it('should return "all"', () => {
 				const message = {
@@ -154,7 +153,6 @@ describe('Mention Server', () => {
 				assert.deepEqual(expected, result);
 			});
 		});
-
 	});
 	describe('getChannelbyMentions', () => {
 		it('should return the channel "general"', () => {
diff --git a/app/message-attachments/client/index.js b/app/message-attachments/client/index.js
index f3cd8f6e320..c0f9e1f5294 100644
--- a/app/message-attachments/client/index.js
+++ b/app/message-attachments/client/index.js
@@ -4,7 +4,6 @@ import './renderField.html';
 import { registerFieldTemplate } from './renderField';
 
 
-
 export {
 	registerFieldTemplate,
 };
diff --git a/app/message-attachments/client/messageAttachment.js b/app/message-attachments/client/messageAttachment.js
index 7caf9b5bd1a..edda441cfe3 100644
--- a/app/message-attachments/client/messageAttachment.js
+++ b/app/message-attachments/client/messageAttachment.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
-import { DateFormat } from '../../lib';
 import { Template } from 'meteor/templating';
+
+import { DateFormat } from '../../lib';
 import { getUserPreference, getURL } from '../../utils/client';
 import { Users } from '../../models';
 import { renderMessageBody } from '../../ui-utils';
@@ -27,7 +28,7 @@ Template.messageAttachment.helpers({
 	},
 	loadImage() {
 		if (this.downloadImages !== true) {
-			const user = Users.findOne({ _id: Meteor.userId() }, { fields: { 'settings.autoImageLoad' : 1 } });
+			const user = Users.findOne({ _id: Meteor.userId() }, { fields: { 'settings.autoImageLoad': 1 } });
 			if (getUserPreference(user, 'autoImageLoad') === false) {
 				return false;
 			}
@@ -52,9 +53,8 @@ Template.messageAttachment.helpers({
 	mediaCollapsed() {
 		if (this.collapsed != null) {
 			return this.collapsed;
-		} else {
-			return getUserPreference(Meteor.userId(), 'collapseMediaByDefault') === true;
 		}
+		return getUserPreference(Meteor.userId(), 'collapseMediaByDefault') === true;
 	},
 	time() {
 		const messageDate = new Date(this.ts);
diff --git a/app/message-mark-as-unread/client/actionButton.js b/app/message-mark-as-unread/client/actionButton.js
index 620e97abec6..43a40fa8d3e 100644
--- a/app/message-mark-as-unread/client/actionButton.js
+++ b/app/message-mark-as-unread/client/actionButton.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { FlowRouter } from 'meteor/kadira:flow-router';
+
 import { RoomManager, MessageAction } from '../../ui-utils';
 import { messageArgs } from '../../ui-utils/client/lib/messageArgs';
 import { handleError } from '../../utils';
diff --git a/app/message-mark-as-unread/server/unreadMessages.js b/app/message-mark-as-unread/server/unreadMessages.js
index f5f0421f2ba..4eee05fd230 100644
--- a/app/message-mark-as-unread/server/unreadMessages.js
+++ b/app/message-mark-as-unread/server/unreadMessages.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
-import { Messages, Subscriptions } from '../../models';
+
 import logger from './logger';
+import { Messages, Subscriptions } from '../../models';
 
 Meteor.methods({
 	unreadMessages(firstUnreadMessage, room) {
diff --git a/app/message-pin/client/actionButton.js b/app/message-pin/client/actionButton.js
index 9f17bd36f89..1d10fdea1a4 100644
--- a/app/message-pin/client/actionButton.js
+++ b/app/message-pin/client/actionButton.js
@@ -1,13 +1,14 @@
 import { Meteor } from 'meteor/meteor';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
+import toastr from 'toastr';
+
 import { RoomHistoryManager, MessageAction } from '../../ui-utils';
 import { messageArgs } from '../../ui-utils/client/lib/messageArgs';
 import { handleError } from '../../utils';
 import { settings } from '../../settings';
 import { Subscriptions } from '../../models';
 import { hasAtLeastOnePermission } from '../../authorization';
-import toastr from 'toastr';
 
 Meteor.startup(function() {
 	MessageAction.addButton({
diff --git a/app/message-pin/client/messageType.js b/app/message-pin/client/messageType.js
index a178d84f46e..29effe5e839 100644
--- a/app/message-pin/client/messageType.js
+++ b/app/message-pin/client/messageType.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { MessageTypes } from '../../ui-utils';
 
 Meteor.startup(function() {
diff --git a/app/message-pin/client/pinMessage.js b/app/message-pin/client/pinMessage.js
index 4fe5ead345d..7822c2875a2 100644
--- a/app/message-pin/client/pinMessage.js
+++ b/app/message-pin/client/pinMessage.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../settings';
 import { ChatMessage, Subscriptions } from '../../models';
 
diff --git a/app/message-pin/client/tabBar.js b/app/message-pin/client/tabBar.js
index 11c121f4f15..2830549a1fe 100644
--- a/app/message-pin/client/tabBar.js
+++ b/app/message-pin/client/tabBar.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
+
 import { settings } from '../../settings';
 import { TabBar } from '../../ui-utils';
 
diff --git a/app/message-pin/client/views/pinnedMessages.js b/app/message-pin/client/views/pinnedMessages.js
index dc4bc2ee11c..2a1d13ee349 100644
--- a/app/message-pin/client/views/pinnedMessages.js
+++ b/app/message-pin/client/views/pinnedMessages.js
@@ -1,6 +1,7 @@
 import _ from 'underscore';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
+
 import { PinnedMessage } from '../lib/PinnedMessage';
 import { messageContext } from '../../../ui-utils/client/lib/messageContext';
 
diff --git a/app/message-pin/server/pinMessage.js b/app/message-pin/server/pinMessage.js
index 19b59cb6fe6..8af0fbe99b9 100644
--- a/app/message-pin/server/pinMessage.js
+++ b/app/message-pin/server/pinMessage.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../settings';
 import { callbacks } from '../../callbacks';
 import { isTheLastMessage } from '../../lib';
diff --git a/app/message-pin/server/publications/pinnedMessages.js b/app/message-pin/server/publications/pinnedMessages.js
index 8d41d8fe750..7dce895eb76 100644
--- a/app/message-pin/server/publications/pinnedMessages.js
+++ b/app/message-pin/server/publications/pinnedMessages.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Users, Messages } from '../../../models';
 
 Meteor.publish('pinnedMessages', function(rid, limit = 50) {
diff --git a/app/message-pin/server/settings.js b/app/message-pin/server/settings.js
index e5ee9ac276a..c2af7eaf276 100644
--- a/app/message-pin/server/settings.js
+++ b/app/message-pin/server/settings.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../settings';
 import { Permissions } from '../../models';
 
diff --git a/app/message-pin/server/startup/indexes.js b/app/message-pin/server/startup/indexes.js
index 96e78ad44d2..2036ca0b294 100644
--- a/app/message-pin/server/startup/indexes.js
+++ b/app/message-pin/server/startup/indexes.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Messages } from '../../../models';
 
 Meteor.startup(function() {
diff --git a/app/message-snippet/client/messageType.js b/app/message-snippet/client/messageType.js
index f96968f1e54..7c5240ac385 100644
--- a/app/message-snippet/client/messageType.js
+++ b/app/message-snippet/client/messageType.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
-import { MessageTypes } from '../../ui-utils';
 import s from 'underscore.string';
 
+import { MessageTypes } from '../../ui-utils';
+
 Meteor.startup(function() {
 	MessageTypes.registerType({
 		id: 'message_snippeted',
diff --git a/app/message-snippet/client/page/snippetPage.js b/app/message-snippet/client/page/snippetPage.js
index 05a5f96dffa..208b8e5b38c 100644
--- a/app/message-snippet/client/page/snippetPage.js
+++ b/app/message-snippet/client/page/snippetPage.js
@@ -1,11 +1,12 @@
 import { Meteor } from 'meteor/meteor';
-import { DateFormat } from '../../../lib';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
+import moment from 'moment';
+
+import { DateFormat } from '../../../lib';
 import { settings } from '../../../settings';
 import { Markdown } from '../../../markdown/client';
 import { SnippetedMessages } from '../lib/collections';
-import moment from 'moment';
 
 Template.snippetPage.helpers({
 	snippet() {
diff --git a/app/message-snippet/client/router.js b/app/message-snippet/client/router.js
index b982e9e9eb3..a93b5593088 100644
--- a/app/message-snippet/client/router.js
+++ b/app/message-snippet/client/router.js
@@ -1,5 +1,6 @@
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { BlazeLayout } from 'meteor/kadira:blaze-layout';
+
 import { TabBar } from '../../ui-utils';
 
 FlowRouter.route('/snippet/:snippetId/:snippetName', {
diff --git a/app/message-snippet/client/snippetMessage.js b/app/message-snippet/client/snippetMessage.js
index c8c75a16c7f..6a7f0a10702 100644
--- a/app/message-snippet/client/snippetMessage.js
+++ b/app/message-snippet/client/snippetMessage.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../settings';
 import { ChatMessage, Subscriptions } from '../../models';
 
@@ -7,9 +8,9 @@ Meteor.methods({
 		if (typeof Meteor.userId() === 'undefined' || Meteor.userId() === null) {
 			return false;
 		}
-		if ((typeof settings.get('Message_AllowSnippeting') === 'undefined') ||
-			(settings.get('Message_AllowSnippeting') === null) ||
-			(settings.get('Message_AllowSnippeting') === false)) {
+		if ((typeof settings.get('Message_AllowSnippeting') === 'undefined')
+			|| (settings.get('Message_AllowSnippeting') === null)
+			|| (settings.get('Message_AllowSnippeting') === false)) {
 			return false;
 		}
 
diff --git a/app/message-snippet/client/tabBar/tabBar.js b/app/message-snippet/client/tabBar/tabBar.js
index 4a5c4606274..465518bd424 100644
--- a/app/message-snippet/client/tabBar/tabBar.js
+++ b/app/message-snippet/client/tabBar/tabBar.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
+
 import { settings } from '../../../settings';
 import { TabBar } from '../../../ui-utils';
 
diff --git a/app/message-snippet/client/tabBar/views/snippetedMessages.js b/app/message-snippet/client/tabBar/views/snippetedMessages.js
index 660c08769f9..a463f8f237d 100644
--- a/app/message-snippet/client/tabBar/views/snippetedMessages.js
+++ b/app/message-snippet/client/tabBar/views/snippetedMessages.js
@@ -1,6 +1,7 @@
 import _ from 'underscore';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
+
 import { SnippetedMessages } from '../../lib/collections';
 import { messageContext } from '../../../../ui-utils/client/lib/messageContext';
 
@@ -22,7 +23,7 @@ Template.snippetedMessages.helpers({
 
 Template.snippetedMessages.onCreated(function() {
 	this.rid = this.data.rid;
-	this.cursor = SnippetedMessages.find({ snippeted:true, rid: this.data.rid }, { sort: { ts: -1 } });
+	this.cursor = SnippetedMessages.find({ snippeted: true, rid: this.data.rid }, { sort: { ts: -1 } });
 	this.hasMore = new ReactiveVar(true);
 	this.limit = new ReactiveVar(50);
 	this.autorun(() => {
diff --git a/app/message-snippet/server/methods/snippetMessage.js b/app/message-snippet/server/methods/snippetMessage.js
index 351aed9da5f..f33d59cfe68 100644
--- a/app/message-snippet/server/methods/snippetMessage.js
+++ b/app/message-snippet/server/methods/snippetMessage.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Subscriptions, Messages, Users, Rooms } from '../../../models';
 import { settings } from '../../../settings';
 import { callbacks } from '../../../callbacks';
diff --git a/app/message-snippet/server/publications/snippetedMessage.js b/app/message-snippet/server/publications/snippetedMessage.js
index 6a5fe838cd9..968d7e84401 100644
--- a/app/message-snippet/server/publications/snippetedMessage.js
+++ b/app/message-snippet/server/publications/snippetedMessage.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Messages, Users, Rooms } from '../../../models';
 
 Meteor.publish('snippetedMessage', function(_id) {
diff --git a/app/message-snippet/server/publications/snippetedMessagesByRoom.js b/app/message-snippet/server/publications/snippetedMessagesByRoom.js
index 9dd0073c072..a9caf315de4 100644
--- a/app/message-snippet/server/publications/snippetedMessagesByRoom.js
+++ b/app/message-snippet/server/publications/snippetedMessagesByRoom.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Users, Messages } from '../../../models';
 
 Meteor.publish('snippetedMessages', function(rid, limit = 50) {
diff --git a/app/message-snippet/server/requests.js b/app/message-snippet/server/requests.js
index 2e404817849..19cc7c47005 100644
--- a/app/message-snippet/server/requests.js
+++ b/app/message-snippet/server/requests.js
@@ -1,5 +1,6 @@
 import { WebApp } from 'meteor/webapp';
 import { Cookies } from 'meteor/ostrio:cookies';
+
 import { Users, Rooms, Messages } from '../../models';
 
 WebApp.connectHandlers.use('/snippet/download', function(req, res) {
@@ -61,5 +62,4 @@ WebApp.connectHandlers.use('/snippet/download', function(req, res) {
 
 	res.writeHead(404);
 	res.end();
-	return;
 });
diff --git a/app/message-snippet/server/startup/settings.js b/app/message-snippet/server/startup/settings.js
index 1293ed4f166..04047eb56bf 100644
--- a/app/message-snippet/server/startup/settings.js
+++ b/app/message-snippet/server/startup/settings.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../../settings';
 import { Permissions } from '../../../models';
 
@@ -14,4 +15,3 @@ Meteor.startup(function() {
 		},
 	});
 });
-
diff --git a/app/message-star/client/actionButton.js b/app/message-star/client/actionButton.js
index 229a2a8037b..50566794330 100644
--- a/app/message-star/client/actionButton.js
+++ b/app/message-star/client/actionButton.js
@@ -1,12 +1,14 @@
 import { Meteor } from 'meteor/meteor';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
+import toastr from 'toastr';
+
 import { handleError } from '../../utils';
 import { Subscriptions } from '../../models';
 import { settings } from '../../settings';
 import { RoomHistoryManager, MessageAction } from '../../ui-utils';
 import { messageArgs } from '../../ui-utils/client/lib/messageArgs';
-import toastr from 'toastr';
+
 Meteor.startup(function() {
 	MessageAction.addButton({
 		id: 'star-message',
diff --git a/app/message-star/client/starMessage.js b/app/message-star/client/starMessage.js
index 04d15d194cb..03c52935f91 100644
--- a/app/message-star/client/starMessage.js
+++ b/app/message-star/client/starMessage.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../settings';
 import { ChatMessage, Subscriptions } from '../../models';
 
diff --git a/app/message-star/client/tabBar.js b/app/message-star/client/tabBar.js
index 2e915e48c7d..dbf6af6c4b8 100644
--- a/app/message-star/client/tabBar.js
+++ b/app/message-star/client/tabBar.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { TabBar } from '../../ui-utils';
 
 Meteor.startup(function() {
diff --git a/app/message-star/client/views/starredMessages.js b/app/message-star/client/views/starredMessages.js
index 0326db20f72..75858a9fbc9 100644
--- a/app/message-star/client/views/starredMessages.js
+++ b/app/message-star/client/views/starredMessages.js
@@ -1,6 +1,7 @@
 import _ from 'underscore';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
+
 import { StarredMessage } from '../lib/StarredMessage';
 import { messageContext } from '../../../ui-utils/client/lib/messageContext';
 
diff --git a/app/message-star/server/publications/starredMessages.js b/app/message-star/server/publications/starredMessages.js
index 9973adbf94c..f02411e1b10 100644
--- a/app/message-star/server/publications/starredMessages.js
+++ b/app/message-star/server/publications/starredMessages.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Users, Messages } from '../../../models';
 
 Meteor.publish('starredMessages', function(rid, limit = 50) {
diff --git a/app/message-star/server/settings.js b/app/message-star/server/settings.js
index 05ec4f0f1d6..a951d82fc27 100644
--- a/app/message-star/server/settings.js
+++ b/app/message-star/server/settings.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../settings';
 
 Meteor.startup(function() {
diff --git a/app/message-star/server/starMessage.js b/app/message-star/server/starMessage.js
index 7b063d012d6..9ec8893d328 100644
--- a/app/message-star/server/starMessage.js
+++ b/app/message-star/server/starMessage.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../settings';
 import { isTheLastMessage } from '../../lib';
 import { Subscriptions, Rooms, Messages } from '../../models';
diff --git a/app/message-star/server/startup/indexes.js b/app/message-star/server/startup/indexes.js
index 464dbc66180..b4ade9b0dd0 100644
--- a/app/message-star/server/startup/indexes.js
+++ b/app/message-star/server/startup/indexes.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Messages } from '../../../models';
 
 Meteor.startup(function() {
diff --git a/app/meteor-accounts-saml/client/saml_client.js b/app/meteor-accounts-saml/client/saml_client.js
index c4d1e44ebb3..6c95bb8a8f3 100644
--- a/app/meteor-accounts-saml/client/saml_client.js
+++ b/app/meteor-accounts-saml/client/saml_client.js
@@ -47,15 +47,15 @@ const openCenteredPopup = function(url, width, height) {
 	const screenX = typeof window.screenX !== 'undefined' ? window.screenX : window.screenLeft;
 	const screenY = typeof window.screenY !== 'undefined' ? window.screenY : window.screenTop;
 	const outerWidth = typeof window.outerWidth !== 'undefined' ? window.outerWidth : document.body.clientWidth;
-	const outerHeight = typeof window.outerHeight !== 'undefined' ? window.outerHeight : (document.body.clientHeight - 22);
+	const outerHeight = typeof window.outerHeight !== 'undefined' ? window.outerHeight : document.body.clientHeight - 22;
 	// XXX what is the 22?
 
 	// Use `outerWidth - width` and `outerHeight - height` for help in
 	// positioning the popup centered relative to the current window
 	const left = screenX + (outerWidth - width) / 2;
 	const top = screenY + (outerHeight - height) / 2;
-	const features = (`width=${ width },height=${ height
-	},left=${ left },top=${ top },scrollbars=yes`);
+	const features = `width=${ width },height=${ height
+	},left=${ left },top=${ top },scrollbars=yes`;
 
 	const newwindow = window.open(url, 'Login', features);
 	if (newwindow.focus) {
diff --git a/app/meteor-accounts-saml/server/saml_rocketchat.js b/app/meteor-accounts-saml/server/saml_rocketchat.js
index 2ee0e2fe056..771e7463558 100644
--- a/app/meteor-accounts-saml/server/saml_rocketchat.js
+++ b/app/meteor-accounts-saml/server/saml_rocketchat.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
 import { Accounts } from 'meteor/accounts-base';
-import { Logger } from '../../logger';
 import { ServiceConfiguration } from 'meteor/service-configuration';
+
+import { Logger } from '../../logger';
 import { settings } from '../../settings';
 
 const logger = new Logger('steffo:meteor-accounts-saml', {
@@ -98,15 +99,15 @@ Meteor.methods({
 			i18nLabel: 'SAML_Custom_Debug',
 		});
 		settings.add(`SAML_Custom_${ name }_name_overwrite`, false, {
-			type     : 'boolean',
-			group    : 'SAML',
-			section  : name,
+			type: 'boolean',
+			group: 'SAML',
+			section: name,
 			i18nLabel: 'SAML_Custom_name_overwrite',
 		});
 		settings.add(`SAML_Custom_${ name }_mail_overwrite`, false, {
-			type     : 'boolean',
-			group    : 'SAML',
-			section  : name,
+			type: 'boolean',
+			group: 'SAML',
+			section: name,
 			i18nLabel: 'SAML_Custom_mail_overwrite',
 		});
 		settings.add(`SAML_Custom_${ name }_logout_behaviour`, 'SAML', {
@@ -115,8 +116,8 @@ Meteor.methods({
 				{ key: 'SAML', i18nLabel: 'SAML_Custom_Logout_Behaviour_Terminate_SAML_Session' },
 				{ key: 'Local', i18nLabel: 'SAML_Custom_Logout_Behaviour_End_Only_RocketChat' },
 			],
-			group    : 'SAML',
-			section  : name,
+			group: 'SAML',
+			section: name,
 			i18nLabel: 'SAML_Custom_Logout_Behaviour',
 		});
 	},
@@ -142,8 +143,8 @@ const getSamlConfigs = function(service) {
 		idpSLORedirectURL: settings.get(`${ service.key }_idp_slo_redirect_url`),
 		generateUsername: settings.get(`${ service.key }_generate_username`),
 		debug: settings.get(`${ service.key }_debug`),
-		nameOverwrite    : settings.get(`${ service.key }_name_overwrite`),
-		mailOverwrite    : settings.get(`${ service.key }_mail_overwrite`),
+		nameOverwrite: settings.get(`${ service.key }_name_overwrite`),
+		mailOverwrite: settings.get(`${ service.key }_mail_overwrite`),
 		issuer: settings.get(`${ service.key }_issuer`),
 		logoutBehaviour: settings.get(`${ service.key }_logout_behaviour`),
 		secret: {
@@ -161,7 +162,8 @@ const debounce = (fn, delay) => {
 		if (timer != null) {
 			Meteor.clearTimeout(timer);
 		}
-		return timer = Meteor.setTimeout(fn, delay);
+		timer = Meteor.setTimeout(fn, delay);
+		return timer;
 	};
 };
 const serviceName = 'saml';
@@ -182,11 +184,11 @@ const configureSamlService = function(samlConfigs) {
 	Accounts.saml.settings.debug = samlConfigs.debug;
 
 	return {
-		provider         : samlConfigs.clientConfig.provider,
-		entryPoint       : samlConfigs.entryPoint,
+		provider: samlConfigs.clientConfig.provider,
+		entryPoint: samlConfigs.entryPoint,
 		idpSLORedirectURL: samlConfigs.idpSLORedirectURL,
-		issuer           : samlConfigs.issuer,
-		cert             : samlConfigs.secret.cert,
+		issuer: samlConfigs.issuer,
+		cert: samlConfigs.secret.cert,
 		privateCert,
 		privateKey,
 	};
diff --git a/app/meteor-accounts-saml/server/saml_server.js b/app/meteor-accounts-saml/server/saml_server.js
index db5699fe334..f212f5afb5a 100644
--- a/app/meteor-accounts-saml/server/saml_server.js
+++ b/app/meteor-accounts-saml/server/saml_server.js
@@ -3,13 +3,14 @@ import { Accounts } from 'meteor/accounts-base';
 import { Random } from 'meteor/random';
 import { WebApp } from 'meteor/webapp';
 import { RoutePolicy } from 'meteor/routepolicy';
-import { CredentialTokens } from '../../models';
-import { generateUsernameSuggestion } from '../../lib';
-import { SAML } from './saml_utils';
 import bodyParser from 'body-parser';
 import fiber from 'fibers';
 import _ from 'underscore';
 
+import { SAML } from './saml_utils';
+import { CredentialTokens } from '../../models';
+import { generateUsernameSuggestion } from '../../lib';
+
 if (!Accounts.saml) {
 	Accounts.saml = {
 		settings: {
@@ -34,7 +35,7 @@ function getSamlProviderConfig(provider) {
 			{ method: 'getSamlProviderConfig' });
 	}
 	const samlProvider = function(element) {
-		return (element.provider === provider);
+		return element.provider === provider;
 	};
 	return Accounts.saml.settings.providers.filter(samlProvider)[0];
 }
@@ -227,10 +228,8 @@ Accounts.registerLoginHandler(function(loginRequest) {
 		};
 
 		return result;
-
-	} else {
-		throw new Error('SAML Profile did not contain an email address');
 	}
+	throw new Error('SAML Profile did not contain an email address');
 });
 
 Accounts.saml.hasCredential = function(credentialToken) {
@@ -365,7 +364,6 @@ const middleware = function(req, res, next) {
 							if (loggedOutUser.length === 1) {
 								logoutRemoveTokens(loggedOutUser[0]._id);
 							}
-
 						};
 
 						fiber(function() {
@@ -387,9 +385,7 @@ const middleware = function(req, res, next) {
 								Location: url,
 							});
 							res.end();
-
 						});
-
 					});
 				} else {
 					_saml.validateLogoutResponse(req.query.SAMLResponse, function(err, result) {
@@ -475,7 +471,6 @@ const middleware = function(req, res, next) {
 				break;
 			default:
 				throw new Error(`Unexpected SAML action ${ samlObject.actionName }`);
-
 		}
 	} catch (err) {
 		closePopup(res, err);
diff --git a/app/meteor-accounts-saml/server/saml_utils.js b/app/meteor-accounts-saml/server/saml_utils.js
index bda6ec72e6f..b910ff6c15d 100644
--- a/app/meteor-accounts-saml/server/saml_utils.js
+++ b/app/meteor-accounts-saml/server/saml_utils.js
@@ -1,9 +1,10 @@
-import { Meteor } from 'meteor/meteor';
 import zlib from 'zlib';
-import xmlCrypto from 'xml-crypto';
 import crypto from 'crypto';
-import xmldom from 'xmldom';
 import querystring from 'querystring';
+
+import { Meteor } from 'meteor/meteor';
+import xmlCrypto from 'xml-crypto';
+import xmldom from 'xmldom';
 import xmlbuilder from 'xmlbuilder';
 import array2string from 'arraybuffer-to-string';
 import xmlenc from 'xml-encryption';
@@ -56,7 +57,7 @@ SAML.prototype.generateUniqueID = function() {
 	const chars = 'abcdef0123456789';
 	let uniqueID = 'id-';
 	for (let i = 0; i < 20; i++) {
-		uniqueID += chars.substr(Math.floor((Math.random() * 15)), 1);
+		uniqueID += chars.substr(Math.floor(Math.random() * 15), 1);
 	}
 	return uniqueID;
 };
@@ -87,19 +88,18 @@ SAML.prototype.generateAuthorizeRequest = function(req) {
 		id = this.options.id;
 	}
 
-	let request =
-		`<samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="${ id }" Version="2.0" IssueInstant="${ instant }" ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" AssertionConsumerServiceURL="${ callbackUrl }" Destination="${
-			this.options.entryPoint }">` +
-		`<saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">${ this.options.issuer }</saml:Issuer>\n`;
+	let request =		`<samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="${ id }" Version="2.0" IssueInstant="${ instant }" ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" AssertionConsumerServiceURL="${ callbackUrl }" Destination="${
+		this.options.entryPoint }">`
+		+ `<saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">${ this.options.issuer }</saml:Issuer>\n`;
 
 	if (this.options.identifierFormat) {
 		request += `<samlp:NameIDPolicy xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" Format="${ this.options.identifierFormat }" AllowCreate="true"></samlp:NameIDPolicy>\n`;
 	}
 
-	request +=
-		'<samlp:RequestedAuthnContext xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" Comparison="exact">' +
-		'<saml:AuthnContextClassRef xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef></samlp:RequestedAuthnContext>\n' +
-		'</samlp:AuthnRequest>';
+	request
+		+= '<samlp:RequestedAuthnContext xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" Comparison="exact">'
+		+ '<saml:AuthnContextClassRef xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef></samlp:RequestedAuthnContext>\n'
+		+ '</samlp:AuthnRequest>';
 
 	return request;
 };
@@ -109,15 +109,15 @@ SAML.prototype.generateLogoutResponse = function() {
 	const instant = this.generateInstant();
 
 
-	const response = `${ '<samlp:LogoutResponse xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"  ' +
-		'ID="' }${ id }" ` +
-		'Version="2.0" ' +
-		`IssueInstant="${ instant }" ` +
-		`Destination="${ this.options.idpSLORedirectURL }" ` +
-		'>' +
-		`<saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">${ this.options.issuer }</saml:Issuer>` +
-		'<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>' +
-		'</samlp:LogoutResponse>';
+	const response = `${ '<samlp:LogoutResponse xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"  '
+		+ 'ID="' }${ id }" `
+		+ 'Version="2.0" '
+		+ `IssueInstant="${ instant }" `
+		+ `Destination="${ this.options.idpSLORedirectURL }" `
+		+ '>'
+		+ `<saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">${ this.options.issuer }</saml:Issuer>`
+		+ '<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>'
+		+ '</samlp:LogoutResponse>';
 
 	debugLog('------- SAML Logout response -----------');
 	debugLog(response);
@@ -126,7 +126,6 @@ SAML.prototype.generateLogoutResponse = function() {
 		response,
 		id,
 	};
-
 };
 
 SAML.prototype.generateLogoutRequest = function(options) {
@@ -138,20 +137,20 @@ SAML.prototype.generateLogoutRequest = function(options) {
 	const id = `_${ this.generateUniqueID() }`;
 	const instant = this.generateInstant();
 
-	const request = `${ '<samlp:LogoutRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"  ' +
-		'ID="' }${ id }" ` +
-		'Version="2.0" ' +
-		`IssueInstant="${ instant }" ` +
-		`Destination="${ this.options.idpSLORedirectURL }" ` +
-		'>' +
-		`<saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">${ this.options.issuer }</saml:Issuer>` +
-		'<saml:NameID xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" ' +
-		'NameQualifier="http://id.init8.net:8080/openam" ' +
-		`SPNameQualifier="${ this.options.issuer }" ` +
-		`Format="${ this.options.identifierFormat }">${
-			options.nameID }</saml:NameID>` +
-		`<samlp:SessionIndex xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">${ options.sessionIndex }</samlp:SessionIndex>` +
-		'</samlp:LogoutRequest>';
+	const request = `${ '<samlp:LogoutRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"  '
+		+ 'ID="' }${ id }" `
+		+ 'Version="2.0" '
+		+ `IssueInstant="${ instant }" `
+		+ `Destination="${ this.options.idpSLORedirectURL }" `
+		+ '>'
+		+ `<saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">${ this.options.issuer }</saml:Issuer>`
+		+ '<saml:NameID xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" '
+		+ 'NameQualifier="http://id.init8.net:8080/openam" '
+		+ `SPNameQualifier="${ this.options.issuer }" `
+		+ `Format="${ this.options.identifierFormat }">${
+			options.nameID }</saml:NameID>`
+		+ `<samlp:SessionIndex xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">${ options.sessionIndex }</samlp:SessionIndex>`
+		+ '</samlp:LogoutRequest>';
 
 	debugLog('------- SAML Logout request -----------');
 	debugLog(request);
@@ -246,10 +245,8 @@ SAML.prototype.requestToUrl = function(request, operation, callback) {
 		if (operation === 'logout') {
 			// in case of logout we want to be redirected back to the Meteor app.
 			return callback(null, target);
-
-		} else {
-			callback(null, target);
 		}
+		callback(null, target);
 	});
 };
 
@@ -290,7 +287,6 @@ SAML.prototype.validateStatus = function(doc) {
 	const statusNodes = doc.getElementsByTagNameNS('urn:oasis:names:tc:SAML:2.0:protocol', 'StatusCode');
 
 	if (statusNodes.length) {
-
 		const statusNode = statusNodes[0];
 		const statusMessage = doc.getElementsByTagNameNS('urn:oasis:names:tc:SAML:2.0:protocol', 'StatusMessage')[0];
 
@@ -360,7 +356,6 @@ SAML.prototype.validateLogoutRequest = function(samlRequest, callback) {
 			const nameID = nameIdNode.childNodes[0].nodeValue;
 
 			return callback(null, { idpSession, nameID });
-
 		} catch (e) {
 			debugLog(`Caught error: ${ e }`);
 
@@ -424,7 +419,7 @@ SAML.prototype.mapAttributes = function(attributeStatement, profile) {
 				value = values[0].textContent;
 			} else {
 				value = [];
-				for (let j = 0;j < values.length;j++) {
+				for (let j = 0; j < values.length; j++) {
 					value.push(values[j].textContent);
 				}
 			}
@@ -553,7 +548,6 @@ SAML.prototype.validateResponse = function(samlResponse, relayState, callback) {
 
 	if (authnStatement) {
 		if (authnStatement.hasAttribute('SessionIndex')) {
-
 			profile.sessionIndex = authnStatement.getAttribute('SessionIndex');
 			debugLog(`Session Index: ${ profile.sessionIndex }`);
 		} else {
@@ -590,7 +584,6 @@ SAML.prototype.validateResponse = function(samlResponse, relayState, callback) {
 
 let decryptionCert;
 SAML.prototype.generateServiceProviderMetadata = function(callbackUrl) {
-
 	if (!decryptionCert) {
 		decryptionCert = this.options.privateCert;
 	}
diff --git a/app/metrics/server/callbacksMetrics.js b/app/metrics/server/callbacksMetrics.js
index 4d9e2f0d0d2..8402f6fa9f8 100644
--- a/app/metrics/server/callbacksMetrics.js
+++ b/app/metrics/server/callbacksMetrics.js
@@ -1,7 +1,7 @@
-import { callbacks } from '../../callbacks';
 
 import { metrics } from './lib/metrics';
 import StatsTracker from './lib/statsTracker';
+import { callbacks } from '../../callbacks';
 
 const {
 	run: originalRun,
@@ -23,7 +23,7 @@ callbacks.runItem = function({ callback, result, constant, hook, time }) {
 
 	const newResult = originalRunItem({ callback, result, constant });
 
-	StatsTracker.timing('callbacks.time', (Date.now() - time), [`hook:${ hook }`, `callback:${ callback.id }`]);
+	StatsTracker.timing('callbacks.time', Date.now() - time, [`hook:${ hook }`, `callback:${ callback.id }`]);
 
 	rocketchatCallbacksEnd();
 
diff --git a/app/metrics/server/lib/metrics.js b/app/metrics/server/lib/metrics.js
index 9d93284faed..6ce3cf53df7 100644
--- a/app/metrics/server/lib/metrics.js
+++ b/app/metrics/server/lib/metrics.js
@@ -1,8 +1,10 @@
+import http from 'http';
+
 import client from 'prom-client';
 import connect from 'connect';
-import http from 'http';
 import _ from 'underscore';
 import { Meteor } from 'meteor/meteor';
+
 import { Info } from '../../../utils';
 import { Migrations } from '../../../migrations';
 import { settings } from '../../../settings';
diff --git a/app/metrics/server/lib/statsTracker.js b/app/metrics/server/lib/statsTracker.js
index 5073e303bf6..5ef117991f4 100644
--- a/app/metrics/server/lib/statsTracker.js
+++ b/app/metrics/server/lib/statsTracker.js
@@ -12,7 +12,7 @@ export class StatsTracker {
 
 	now() {
 		const hrtime = process.hrtime();
-		return (hrtime[0] * 1000000 + hrtime[1] / 1000);
+		return hrtime[0] * 1000000 + hrtime[1] / 1000;
 	}
 
 	timing(stats, time, tags) {
@@ -45,4 +45,3 @@ export class StatsTracker {
 }
 
 export default new StatsTracker();
-
diff --git a/app/migrations/server/migrations.js b/app/migrations/server/migrations.js
index 04cd0eaa949..a797c1aeed2 100644
--- a/app/migrations/server/migrations.js
+++ b/app/migrations/server/migrations.js
@@ -3,10 +3,11 @@ import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
 import { Mongo } from 'meteor/mongo';
 import { Log } from 'meteor/logging';
-import { Info } from '../../utils';
 import _ from 'underscore';
 import s from 'underscore.string';
 import moment from 'moment';
+
+import { Info } from '../../utils';
 /*
 	Adds migration capabilities. Migrations are defined like:
 
@@ -79,10 +80,10 @@ function makeABox(message, color = 'red') {
 	const len = _(message).reduce(function(memo, msg) {
 		return Math.max(memo, msg.length);
 	}, 0) + 4;
-	const text = message.map((msg) => '|' [color] + s.lrpad(msg, len)[color] + '|' [color]).join('\n');
-	const topLine = '+' [color] + s.pad('', len, '-')[color] + '+' [color];
-	const separator = '|' [color] + s.pad('', len, '') + '|' [color];
-	const bottomLine = '+' [color] + s.pad('', len, '-')[color] + '+' [color];
+	const text = message.map((msg) => '|'[color] + s.lrpad(msg, len)[color] + '|'[color]).join('\n');
+	const topLine = '+'[color] + s.pad('', len, '-')[color] + '+'[color];
+	const separator = '|'[color] + s.pad('', len, '') + '|'[color];
+	const bottomLine = '+'[color] + s.pad('', len, '-')[color] + '+'[color];
 	return `\n${ topLine }\n${ separator }\n${ text }\n${ separator }\n${ bottomLine }\n`;
 }
 
@@ -110,13 +111,11 @@ function createLogger(prefix) {
 		const logger = Migrations.options && Migrations.options.logger;
 
 		if (logger && _.isFunction(logger)) {
-
 			logger({
 				level,
 				message,
 				tag: prefix,
 			});
-
 		} else {
 			Log[level]({
 				message: `${ prefix }: ${ message }`,
@@ -179,7 +178,7 @@ Migrations.migrateTo = function(command) {
 		if (version === 'latest') {
 			migrated = this._migrateTo(_.last(this._list).version);
 		} else {
-			migrated = this._migrateTo(parseInt(version), (subcommands.includes('rerun')));
+			migrated = this._migrateTo(parseInt(version), subcommands.includes('rerun'));
 		}
 		if (migrated) {
 			break;
diff --git a/app/models/client/index.js b/app/models/client/index.js
index a990bd5fc08..8f5c7cf75a3 100644
--- a/app/models/client/index.js
+++ b/app/models/client/index.js
@@ -1,4 +1,6 @@
 import { Meteor } from 'meteor/meteor';
+import _ from 'underscore';
+
 import { Base } from './models/_Base';
 import Avatars from './models/Avatars';
 import Uploads from './models/Uploads';
@@ -20,7 +22,6 @@ import { AuthzCachedCollection, ChatPermissions } from './models/ChatPermissions
 import { WebdavAccounts } from './models/WebdavAccounts';
 import CustomSounds from './models/CustomSounds';
 import EmojiCustom from './models/EmojiCustom';
-import _ from 'underscore';
 
 const Users = _.extend({}, users, Meteor.users);
 const Subscriptions = _.extend({}, subscriptions, ChatSubscription);
diff --git a/app/models/client/models/Roles.js b/app/models/client/models/Roles.js
index 7b52f72f5f3..0d720ac90f9 100644
--- a/app/models/client/models/Roles.js
+++ b/app/models/client/models/Roles.js
@@ -1,4 +1,5 @@
 import { Mongo } from 'meteor/mongo';
+
 import * as Models from '..';
 
 const Roles = new Mongo.Collection('rocketchat_roles');
diff --git a/app/models/client/models/Subscriptions.js b/app/models/client/models/Subscriptions.js
index 5d2f9198daf..661aa004920 100644
--- a/app/models/client/models/Subscriptions.js
+++ b/app/models/client/models/Subscriptions.js
@@ -1,4 +1,5 @@
 import { Users } from '..';
+
 import _ from 'underscore';
 import mem from 'mem';
 
@@ -33,7 +34,7 @@ Object.assign(Subscriptions, {
 		const subscriptions = this.find(query).fetch();
 
 		const users = _.compact(_.map(subscriptions, function(subscription) {
-			if ('undefined' !== typeof subscription.u && 'undefined' !== typeof subscription.u._id) {
+			if (typeof subscription.u !== 'undefined' && typeof subscription.u._id !== 'undefined') {
 				return subscription.u._id;
 			}
 		}));
diff --git a/app/models/client/models/_Base.js b/app/models/client/models/_Base.js
index c8f9f0eafb8..4c81d84ae86 100644
--- a/app/models/client/models/_Base.js
+++ b/app/models/client/models/_Base.js
@@ -2,14 +2,14 @@ import { check } from 'meteor/check';
 import { Mongo } from 'meteor/mongo';
 
 export class Base {
-
 	_baseName() {
 		return 'rocketchat_';
 	}
 
 	_initModel(name) {
 		check(name, String);
-		return this.model = new Mongo.Collection(this._baseName() + name);
+		this.model = new Mongo.Collection(this._baseName() + name);
+		return this.model;
 	}
 
 	find(...args) {
@@ -51,5 +51,4 @@ export class Base {
 	tryEnsureIndex() {}
 
 	tryDropIndex() {}
-
 }
diff --git a/app/models/server/models/Avatars.js b/app/models/server/models/Avatars.js
index 1859f3d29a6..d1dcecdcc97 100644
--- a/app/models/server/models/Avatars.js
+++ b/app/models/server/models/Avatars.js
@@ -1,6 +1,7 @@
 import _ from 'underscore';
 import s from 'underscore.string';
 import { InstanceStatus } from 'meteor/konecty:multiple-instances-status';
+
 import { Base } from './_Base';
 
 export class Avatars extends Base {
@@ -54,9 +55,8 @@ export class Avatars extends Base {
 
 		if (this.model.direct && this.model.direct.update) {
 			return this.model.direct.update(filter, update);
-		} else {
-			return this.update(filter, update);
 		}
+		return this.update(filter, update);
 	}
 
 	findOneByName(name) {
@@ -72,9 +72,8 @@ export class Avatars extends Base {
 		};
 		if (this.model.direct && this.model.direct.update) {
 			return this.model.direct.update(filter, update);
-		} else {
-			return this.update(filter, update);
 		}
+		return this.update(filter, update);
 	}
 
 	// @TODO deprecated
@@ -99,17 +98,15 @@ export class Avatars extends Base {
 
 		if (this.model.direct && this.model.direct.update) {
 			return this.model.direct.update(filter, update);
-		} else {
-			return this.update(filter, update);
 		}
+		return this.update(filter, update);
 	}
 
 	deleteFile(fileId) {
 		if (this.model.direct && this.model.direct.remove) {
 			return this.model.direct.remove({ _id: fileId });
-		} else {
-			return this.remove({ _id: fileId });
 		}
+		return this.remove({ _id: fileId });
 	}
 }
 
diff --git a/app/models/server/models/ExportOperations.js b/app/models/server/models/ExportOperations.js
index 5a0d1dc60f6..a72fdc486e2 100644
--- a/app/models/server/models/ExportOperations.js
+++ b/app/models/server/models/ExportOperations.js
@@ -1,6 +1,7 @@
-import { Base } from './_Base';
 import _ from 'underscore';
 
+import { Base } from './_Base';
+
 export class ExportOperations extends Base {
 	constructor() {
 		super('export_operations');
@@ -22,7 +23,7 @@ export class ExportOperations extends Base {
 			fullExport,
 		};
 
-		options.sort = { createdAt : -1 };
+		options.sort = { createdAt: -1 };
 		return this.findOne(query, options);
 	}
 
@@ -63,7 +64,7 @@ export class ExportOperations extends Base {
 	// INSERT
 	create(data) {
 		const exportOperation = {
-			createdAt: new Date,
+			createdAt: new Date(),
 		};
 
 		_.extend(exportOperation, data);
diff --git a/app/models/server/models/FederationEvents.js b/app/models/server/models/FederationEvents.js
index b0955f82029..82a09247c0e 100644
--- a/app/models/server/models/FederationEvents.js
+++ b/app/models/server/models/FederationEvents.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Base } from './_Base';
 
 const normalizePeers = (basePeers, options) => {
diff --git a/app/models/server/models/FederationPeers.js b/app/models/server/models/FederationPeers.js
index e2d712ce6ee..75acdcd44e7 100644
--- a/app/models/server/models/FederationPeers.js
+++ b/app/models/server/models/FederationPeers.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 
 import { Base } from './_Base';
+
 import { Users } from '..';
 
 class FederationPeersModel extends Base {
diff --git a/app/models/server/models/IntegrationHistory.js b/app/models/server/models/IntegrationHistory.js
index bda9b16c538..817deae0d78 100644
--- a/app/models/server/models/IntegrationHistory.js
+++ b/app/models/server/models/IntegrationHistory.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Base } from './_Base';
 
 export class IntegrationHistory extends Base {
@@ -40,4 +41,3 @@ export class IntegrationHistory extends Base {
 }
 
 export default new IntegrationHistory();
-
diff --git a/app/models/server/models/Integrations.js b/app/models/server/models/Integrations.js
index 2d9128c99cd..0db8901b959 100644
--- a/app/models/server/models/Integrations.js
+++ b/app/models/server/models/Integrations.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Base } from './_Base';
 
 export class Integrations extends Base {
diff --git a/app/models/server/models/LivechatCustomField.js b/app/models/server/models/LivechatCustomField.js
index cf0ae022ee2..10414f1aa61 100644
--- a/app/models/server/models/LivechatCustomField.js
+++ b/app/models/server/models/LivechatCustomField.js
@@ -1,6 +1,7 @@
-import { Base } from './_Base';
 import _ from 'underscore';
 
+import { Base } from './_Base';
+
 /**
  * Livechat Custom Fields model
  */
diff --git a/app/models/server/models/LivechatDepartment.js b/app/models/server/models/LivechatDepartment.js
index 120813aab43..984107ba3cc 100644
--- a/app/models/server/models/LivechatDepartment.js
+++ b/app/models/server/models/LivechatDepartment.js
@@ -1,6 +1,7 @@
+import _ from 'underscore';
+
 import { Base } from './_Base';
 import LivechatDepartmentAgents from './LivechatDepartmentAgents';
-import _ from 'underscore';
 /**
  * Livechat Department model
  */
diff --git a/app/models/server/models/LivechatDepartmentAgents.js b/app/models/server/models/LivechatDepartmentAgents.js
index f590ab954d0..7899b6500c9 100644
--- a/app/models/server/models/LivechatDepartmentAgents.js
+++ b/app/models/server/models/LivechatDepartmentAgents.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
+import _ from 'underscore';
+
 import { Base } from './_Base';
 import Users from './Users';
-import _ from 'underscore';
 /**
  * Livechat Department model
  */
@@ -69,9 +70,8 @@ export class LivechatDepartmentAgents extends Base {
 				agentId: agent.value.agentId,
 				username: agent.value.username,
 			};
-		} else {
-			return null;
 		}
+		return null;
 	}
 
 	getOnlineForDepartment(departmentId) {
diff --git a/app/models/server/models/LivechatOfficeHour.js b/app/models/server/models/LivechatOfficeHour.js
index 45a5ef8d4de..ceb24ca79dc 100644
--- a/app/models/server/models/LivechatOfficeHour.js
+++ b/app/models/server/models/LivechatOfficeHour.js
@@ -1,6 +1,7 @@
-import { Base } from './_Base';
 import moment from 'moment';
 
+import { Base } from './_Base';
+
 export class LivechatOfficeHour extends Base {
 	constructor() {
 		super('livechat_office_hour');
@@ -12,13 +13,13 @@ export class LivechatOfficeHour extends Base {
 
 		// if there is nothing in the collection, add defaults
 		if (this.find().count() === 0) {
-			this.insert({ day : 'Monday', start : '08:00', finish : '20:00', code : 1, open : true });
-			this.insert({ day : 'Tuesday', start : '08:00', finish : '20:00', code : 2, open : true });
-			this.insert({ day : 'Wednesday', start : '08:00', finish : '20:00', code : 3, open : true });
-			this.insert({ day : 'Thursday', start : '08:00', finish : '20:00', code : 4, open : true });
-			this.insert({ day : 'Friday', start : '08:00', finish : '20:00', code : 5, open : true });
-			this.insert({ day : 'Saturday', start : '08:00', finish : '20:00', code : 6, open : false });
-			this.insert({ day : 'Sunday', start : '08:00', finish : '20:00', code : 0, open : false });
+			this.insert({ day: 'Monday', start: '08:00', finish: '20:00', code: 1, open: true });
+			this.insert({ day: 'Tuesday', start: '08:00', finish: '20:00', code: 2, open: true });
+			this.insert({ day: 'Wednesday', start: '08:00', finish: '20:00', code: 3, open: true });
+			this.insert({ day: 'Thursday', start: '08:00', finish: '20:00', code: 4, open: true });
+			this.insert({ day: 'Friday', start: '08:00', finish: '20:00', code: 5, open: true });
+			this.insert({ day: 'Saturday', start: '08:00', finish: '20:00', code: 6, open: false });
+			this.insert({ day: 'Sunday', start: '08:00', finish: '20:00', code: 0, open: false });
 		}
 	}
 
diff --git a/app/models/server/models/LivechatPageVisited.js b/app/models/server/models/LivechatPageVisited.js
index f6668e7e938..6b6e3bf7d70 100644
--- a/app/models/server/models/LivechatPageVisited.js
+++ b/app/models/server/models/LivechatPageVisited.js
@@ -27,7 +27,7 @@ class LivechatPageVisited extends Base {
 	}
 
 	findByToken(token) {
-		return this.find({ token }, { sort : { ts: -1 }, limit: 20 });
+		return this.find({ token }, { sort: { ts: -1 }, limit: 20 });
 	}
 
 	keepHistoryForToken(token) {
diff --git a/app/models/server/models/LivechatVisitors.js b/app/models/server/models/LivechatVisitors.js
index c34f73c7b4d..1c185600fc1 100644
--- a/app/models/server/models/LivechatVisitors.js
+++ b/app/models/server/models/LivechatVisitors.js
@@ -1,9 +1,10 @@
 import { Meteor } from 'meteor/meteor';
-import { Base } from './_Base';
-import Settings from './Settings';
 import _ from 'underscore';
 import s from 'underscore.string';
 
+import { Base } from './_Base';
+import Settings from './Settings';
+
 export class LivechatVisitors extends Base {
 	constructor() {
 		super('livechat_visitor');
diff --git a/app/models/server/models/Messages.js b/app/models/server/models/Messages.js
index 4e1169271d9..77bd5dba99a 100644
--- a/app/models/server/models/Messages.js
+++ b/app/models/server/models/Messages.js
@@ -1,9 +1,10 @@
 import { Match } from 'meteor/check';
+import _ from 'underscore';
+
 import { Base } from './_Base';
 import Rooms from './Rooms';
 import { settings } from '../../../settings/server/functions/settings';
 import { FileUpload } from '../../../file-upload/server/lib/FileUpload';
-import _ from 'underscore';
 
 export class Messages extends Base {
 	constructor() {
@@ -30,7 +31,6 @@ export class Messages extends Base {
 		// threads
 		this.tryEnsureIndex({ tmid: 1 }, { sparse: true });
 		this.tryEnsureIndex({ tcount: 1, tlm: 1 }, { sparse: true });
-
 	}
 
 	setReactions(messageId, reactions) {
@@ -239,8 +239,7 @@ export class Messages extends Base {
 		};
 
 		if (Match.test(types, [String]) && (types.length > 0)) {
-			query.t =
-			{ $nin: types };
+			query.t =			{ $nin: types };
 		}
 
 		return this.find(query, options);
@@ -352,8 +351,7 @@ export class Messages extends Base {
 		};
 
 		if (Match.test(types, [String]) && (types.length > 0)) {
-			query.t =
-			{ $nin: types };
+			query.t =			{ $nin: types };
 		}
 
 		return this.find(query, options);
@@ -372,8 +370,7 @@ export class Messages extends Base {
 		};
 
 		if (Match.test(types, [String]) && (types.length > 0)) {
-			query.t =
-			{ $nin: types };
+			query.t =			{ $nin: types };
 		}
 
 		return this.find(query, options);
@@ -507,7 +504,7 @@ export class Messages extends Base {
 		const record = this.findOneById(_id);
 		record._hidden = true;
 		record.parent = record._id;
-		record.editedAt = new Date;
+		record.editedAt = new Date();
 		record.editedBy = {
 			_id: user._id,
 			username: user.username,
@@ -560,7 +557,7 @@ export class Messages extends Base {
 		const update = {
 			$set: {
 				pinned,
-				pinnedAt: pinnedAt || new Date,
+				pinnedAt: pinnedAt || new Date(),
 				pinnedBy,
 			},
 		};
@@ -579,7 +576,7 @@ export class Messages extends Base {
 			$set: {
 				msg,
 				snippeted,
-				snippetedAt: snippetedAt || new Date,
+				snippetedAt: snippetedAt || new Date(),
 				snippetedBy,
 				snippetName,
 			},
@@ -707,8 +704,8 @@ export class Messages extends Base {
 			$set: {
 				alias: newNameAlias,
 				'u._id': newUserId,
-				'u.username' : newUsername,
-				'u.name' : undefined,
+				'u.username': newUsername,
+				'u.name': undefined,
 			},
 		};
 
@@ -724,7 +721,7 @@ export class Messages extends Base {
 		const record = {
 			t: type,
 			rid: roomId,
-			ts: new Date,
+			ts: new Date(),
 			msg: message,
 			u: {
 				_id: user._id,
@@ -753,7 +750,7 @@ export class Messages extends Base {
 		const record = {
 			t: type,
 			rid: roomId,
-			ts: new Date,
+			ts: new Date(),
 			msg: message,
 			u: {
 				_id: user._id,
diff --git a/app/models/server/models/OEmbedCache.js b/app/models/server/models/OEmbedCache.js
index 444d30b1c63..db4383b9cd3 100644
--- a/app/models/server/models/OEmbedCache.js
+++ b/app/models/server/models/OEmbedCache.js
@@ -19,7 +19,7 @@ export class OEmbedCache extends Base {
 		const record = {
 			_id,
 			data,
-			updatedAt: new Date,
+			updatedAt: new Date(),
 		};
 		record._id = this.insert(record);
 		return record;
diff --git a/app/models/server/models/Permissions.js b/app/models/server/models/Permissions.js
index 216893605b1..defeabe5b59 100644
--- a/app/models/server/models/Permissions.js
+++ b/app/models/server/models/Permissions.js
@@ -1,10 +1,6 @@
 import { Base } from './_Base';
 
 export class Permissions extends Base {
-	constructor(...args) {
-		super(...args);
-	}
-
 	// FIND
 	findByRole(role, options) {
 		const query = {
diff --git a/app/models/server/models/Reports.js b/app/models/server/models/Reports.js
index 09fd9dc6da9..4d2ab019f19 100644
--- a/app/models/server/models/Reports.js
+++ b/app/models/server/models/Reports.js
@@ -1,10 +1,12 @@
-import { Base } from './_Base';
 import _ from 'underscore';
 
+import { Base } from './_Base';
+
 export class Reports extends Base {
 	constructor() {
 		super('reports');
 	}
+
 	createWithMessageDescriptionAndUserId(message, description, userId, extraData) {
 		const record = {
 			message,
diff --git a/app/models/server/models/Roles.js b/app/models/server/models/Roles.js
index 474f1db9f35..579d1572088 100644
--- a/app/models/server/models/Roles.js
+++ b/app/models/server/models/Roles.js
@@ -1,4 +1,5 @@
 import * as Models from '..';
+
 import { Base } from './_Base';
 
 export class Roles extends Base {
diff --git a/app/models/server/models/Rooms.js b/app/models/server/models/Rooms.js
index 5023f36e14c..fee61378f8b 100644
--- a/app/models/server/models/Rooms.js
+++ b/app/models/server/models/Rooms.js
@@ -1,10 +1,11 @@
 import { Meteor } from 'meteor/meteor';
+import _ from 'underscore';
+import s from 'underscore.string';
+
 import { Base } from './_Base';
 import Messages from './Messages';
 import Subscriptions from './Subscriptions';
 import Settings from './Settings';
-import _ from 'underscore';
-import s from 'underscore.string';
 
 export class Rooms extends Base {
 	constructor(...args) {
@@ -242,8 +243,8 @@ export class Rooms extends Base {
 		}
 
 		// livechat analytics : update last message timestamps
-		const visitorLastQuery = (room.metrics && room.metrics.v) ? room.metrics.v.lq : room.ts;
-		const agentLastReply = (room.metrics && room.metrics.servedBy) ? room.metrics.servedBy.lr : room.ts;
+		const visitorLastQuery = room.metrics && room.metrics.v ? room.metrics.v.lq : room.ts;
+		const agentLastReply = room.metrics && room.metrics.servedBy ? room.metrics.servedBy.lr : room.ts;
 
 		if (message.token) {	// update visitor timestamp, only if its new inquiry and not continuing message
 			if (agentLastReply >= visitorLastQuery) {		// if first query, not continuing query from visitor
@@ -475,7 +476,7 @@ export class Rooms extends Base {
 			$set: {
 				'lastMessage.msg': msg,
 				'lastMessage.snippeted': snippeted,
-				'lastMessage.snippetedAt': snippetedAt || new Date,
+				'lastMessage.snippetedAt': snippetedAt || new Date(),
 				'lastMessage.snippetedBy': snippetedBy,
 				'lastMessage.snippetName': snippetName,
 			},
@@ -490,7 +491,7 @@ export class Rooms extends Base {
 		const update = {
 			$set: {
 				'lastMessage.pinned': pinned,
-				'lastMessage.pinnedAt': pinnedAt || new Date,
+				'lastMessage.pinnedAt': pinnedAt || new Date(),
 				'lastMessage.pinnedBy': pinnedBy,
 			},
 		};
diff --git a/app/models/server/models/Sessions.js b/app/models/server/models/Sessions.js
index 8b3b30c50e6..10e3d1cc71b 100644
--- a/app/models/server/models/Sessions.js
+++ b/app/models/server/models/Sessions.js
@@ -237,9 +237,9 @@ export const aggregates = {
 		}, {
 			$group: {
 				_id: {
-					type : '$devices.device.type',
-					name : '$devices.device.name',
-					version : '$devices.device.version',
+					type: '$devices.device.type',
+					name: '$devices.device.name',
+					version: '$devices.device.version',
 				},
 				count: {
 					$sum: '$devices.sessions',
@@ -273,9 +273,9 @@ export const aggregates = {
 		}, {
 			$group: {
 				_id: {
-					type : '$devices.device.type',
-					name : '$devices.device.name',
-					version : '$devices.device.version',
+					type: '$devices.device.type',
+					name: '$devices.device.name',
+					version: '$devices.device.version',
 				},
 				count: {
 					$sum: '$devices.sessions',
@@ -310,8 +310,8 @@ export const aggregates = {
 		}, {
 			$group: {
 				_id: {
-					name : '$devices.device.os.name',
-					version : '$devices.device.os.version',
+					name: '$devices.device.os.name',
+					version: '$devices.device.os.version',
 				},
 				count: {
 					$sum: '$devices.sessions',
@@ -347,8 +347,8 @@ export const aggregates = {
 		}, {
 			$group: {
 				_id: {
-					name : '$devices.device.os.name',
-					version : '$devices.device.os.version',
+					name: '$devices.device.os.name',
+					version: '$devices.device.os.version',
 				},
 				count: {
 					$sum: '$devices.sessions',
@@ -484,7 +484,7 @@ export class Sessions extends Base {
 			return;
 		}
 
-		const now = new Date;
+		const now = new Date();
 
 		return this.upsert({ instanceId, sessionId, year, month, day }, {
 			$set: data,
diff --git a/app/models/server/models/Sessions.tests.js b/app/models/server/models/Sessions.tests.js
index a90f7075369..e1c9c590dfa 100644
--- a/app/models/server/models/Sessions.tests.js
+++ b/app/models/server/models/Sessions.tests.js
@@ -1,9 +1,12 @@
 /* eslint-env mocha */
 
 import assert from 'assert';
+
 import './Sessions.mocks.js';
+
 const mongoUnit = require('mongo-unit');
 const { MongoClient } = require('mongodb');
+
 const { aggregates } = require('./Sessions');
 
 const sessions_dates = [];
@@ -21,210 +24,210 @@ for (let index = 0; index < 365; index++) {
 
 const DATA = {
 	sessions: [{
-		_id : 'fNFyFcjszvoN6Grip2',
-		day : 30,
-		instanceId : 'HvbqxukP8E65LAGMY',
-		month : 4,
-		sessionId : 'kiA4xX33AyzPgpBNs2',
-		year : 2019,
-		_updatedAt : new Date('2019-04-30T16:33:24.311Z'),
-		createdAt : new Date('2019-04-30T00:11:34.047Z'),
-		device : {
-			type : 'browser',
-			name : 'Firefox',
-			longVersion : '66.0.3',
-			os : {
-				name : 'Linux',
-				version : '12',
+		_id: 'fNFyFcjszvoN6Grip2',
+		day: 30,
+		instanceId: 'HvbqxukP8E65LAGMY',
+		month: 4,
+		sessionId: 'kiA4xX33AyzPgpBNs2',
+		year: 2019,
+		_updatedAt: new Date('2019-04-30T16:33:24.311Z'),
+		createdAt: new Date('2019-04-30T00:11:34.047Z'),
+		device: {
+			type: 'browser',
+			name: 'Firefox',
+			longVersion: '66.0.3',
+			os: {
+				name: 'Linux',
+				version: '12',
 			},
-			version : '66.0.3',
+			version: '66.0.3',
 		},
-		host : 'localhost:3000',
-		ip : '127.0.0.1',
-		loginAt : new Date('2019-04-30T00:11:34.047Z'),
-		type : 'session',
-		userId : 'xPZXw9xqM3kKshsse',
-		lastActivityAt : new Date('2019-04-30T00:16:20.349Z'),
-		closedAt : new Date('2019-04-30T00:16:20.349Z'),
+		host: 'localhost:3000',
+		ip: '127.0.0.1',
+		loginAt: new Date('2019-04-30T00:11:34.047Z'),
+		type: 'session',
+		userId: 'xPZXw9xqM3kKshsse',
+		lastActivityAt: new Date('2019-04-30T00:16:20.349Z'),
+		closedAt: new Date('2019-04-30T00:16:20.349Z'),
 	}, {
-		_id : 'fNFyFcjszvoN6Grip',
-		day : 2,
-		instanceId : 'HvbqxukP8E65LAGMY',
-		month : 5,
-		sessionId : 'kiA4xX33AyzPgpBNs',
-		year : 2019,
-		_updatedAt : new Date('2019-05-06T16:33:24.311Z'),
-		createdAt : new Date('2019-05-03T00:11:34.047Z'),
-		device : {
-			type : 'browser',
-			name : 'Firefox',
-			longVersion : '66.0.3',
-			os : {
-				name : 'Linux',
-				version : '12',
+		_id: 'fNFyFcjszvoN6Grip',
+		day: 2,
+		instanceId: 'HvbqxukP8E65LAGMY',
+		month: 5,
+		sessionId: 'kiA4xX33AyzPgpBNs',
+		year: 2019,
+		_updatedAt: new Date('2019-05-06T16:33:24.311Z'),
+		createdAt: new Date('2019-05-03T00:11:34.047Z'),
+		device: {
+			type: 'browser',
+			name: 'Firefox',
+			longVersion: '66.0.3',
+			os: {
+				name: 'Linux',
+				version: '12',
 			},
-			version : '66.0.3',
+			version: '66.0.3',
 		},
-		host : 'localhost:3000',
-		ip : '127.0.0.1',
-		loginAt : new Date('2019-05-03T00:11:34.047Z'),
-		type : 'session',
-		userId : 'xPZXw9xqM3kKshsse',
-		lastActivityAt : new Date('2019-05-03T00:16:20.349Z'),
-		closedAt : new Date('2019-05-03T00:16:20.349Z'),
+		host: 'localhost:3000',
+		ip: '127.0.0.1',
+		loginAt: new Date('2019-05-03T00:11:34.047Z'),
+		type: 'session',
+		userId: 'xPZXw9xqM3kKshsse',
+		lastActivityAt: new Date('2019-05-03T00:16:20.349Z'),
+		closedAt: new Date('2019-05-03T00:16:20.349Z'),
 	}, {
-		_id : 'oZMkfR3gFB6kuKDK2',
-		day : 2,
-		instanceId : 'HvbqxukP8E65LAGMY',
-		month : 5,
-		sessionId : 'i8uJFekr9np4x88kS',
-		year : 2019,
-		_updatedAt : new Date('2019-05-06T16:33:24.311Z'),
-		createdAt : new Date('2019-05-03T00:16:21.847Z'),
-		device : {
-			type : 'browser',
-			name : 'Chrome',
-			longVersion : '73.0.3683.103',
-			os : {
-				name : 'Mac OS',
-				version : '10.14.1',
+		_id: 'oZMkfR3gFB6kuKDK2',
+		day: 2,
+		instanceId: 'HvbqxukP8E65LAGMY',
+		month: 5,
+		sessionId: 'i8uJFekr9np4x88kS',
+		year: 2019,
+		_updatedAt: new Date('2019-05-06T16:33:24.311Z'),
+		createdAt: new Date('2019-05-03T00:16:21.847Z'),
+		device: {
+			type: 'browser',
+			name: 'Chrome',
+			longVersion: '73.0.3683.103',
+			os: {
+				name: 'Mac OS',
+				version: '10.14.1',
 			},
-			version : '73.0.3683',
+			version: '73.0.3683',
 		},
-		host : 'localhost:3000',
-		ip : '127.0.0.1',
-		loginAt : new Date('2019-05-03T00:16:21.846Z'),
-		type : 'session',
-		userId : 'xPZXw9xqM3kKshsse',
-		lastActivityAt : new Date('2019-05-03T00:17:21.081Z'),
-		closedAt : new Date('2019-05-03T00:17:21.081Z'),
+		host: 'localhost:3000',
+		ip: '127.0.0.1',
+		loginAt: new Date('2019-05-03T00:16:21.846Z'),
+		type: 'session',
+		userId: 'xPZXw9xqM3kKshsse',
+		lastActivityAt: new Date('2019-05-03T00:17:21.081Z'),
+		closedAt: new Date('2019-05-03T00:17:21.081Z'),
 	}, {
-		_id : 'ABXKoXKTZpPpzLjKd',
-		day : 2,
-		instanceId : 'HvbqxukP8E65LAGMY',
-		month : 5,
-		sessionId : 'T8MB28cpx2ZjfEDXr',
-		year : 2019,
-		_updatedAt : new Date('2019-05-06T16:33:24.311Z'),
-		createdAt : new Date('2019-05-03T00:17:22.375Z'),
-		device : {
-			type : 'browser',
-			name : 'Chrome',
-			longVersion : '73.0.3683.103',
-			os : {
-				name : 'Mac OS',
-				version : '10.14.1',
+		_id: 'ABXKoXKTZpPpzLjKd',
+		day: 2,
+		instanceId: 'HvbqxukP8E65LAGMY',
+		month: 5,
+		sessionId: 'T8MB28cpx2ZjfEDXr',
+		year: 2019,
+		_updatedAt: new Date('2019-05-06T16:33:24.311Z'),
+		createdAt: new Date('2019-05-03T00:17:22.375Z'),
+		device: {
+			type: 'browser',
+			name: 'Chrome',
+			longVersion: '73.0.3683.103',
+			os: {
+				name: 'Mac OS',
+				version: '10.14.1',
 			},
-			version : '73.0.3683',
+			version: '73.0.3683',
 		},
-		host : 'localhost:3000',
-		ip : '127.0.0.1',
-		loginAt : new Date('2019-05-03T00:17:22.375Z'),
-		type : 'session',
-		userId : 'xPZXw9xqM3kKshsse',
-		lastActivityAt : new Date('2019-05-03T01:48:31.695Z'),
-		closedAt : new Date('2019-05-03T01:48:31.695Z'),
+		host: 'localhost:3000',
+		ip: '127.0.0.1',
+		loginAt: new Date('2019-05-03T00:17:22.375Z'),
+		type: 'session',
+		userId: 'xPZXw9xqM3kKshsse',
+		lastActivityAt: new Date('2019-05-03T01:48:31.695Z'),
+		closedAt: new Date('2019-05-03T01:48:31.695Z'),
 	}, {
-		_id : 's4ucvvcfBjnTEtYEb',
-		day : 2,
-		instanceId : 'HvbqxukP8E65LAGMY',
-		month : 5,
-		sessionId : '8mHbJJypgeRG27TYF',
-		year : 2019,
-		_updatedAt : new Date('2019-05-06T16:33:24.311Z'),
-		createdAt : new Date('2019-05-03T01:48:43.521Z'),
-		device : {
-			type : 'browser',
-			name : 'Chrome',
-			longVersion : '73.0.3683.103',
-			os : {
-				name : 'Mac OS',
-				version : '10.14.1',
+		_id: 's4ucvvcfBjnTEtYEb',
+		day: 2,
+		instanceId: 'HvbqxukP8E65LAGMY',
+		month: 5,
+		sessionId: '8mHbJJypgeRG27TYF',
+		year: 2019,
+		_updatedAt: new Date('2019-05-06T16:33:24.311Z'),
+		createdAt: new Date('2019-05-03T01:48:43.521Z'),
+		device: {
+			type: 'browser',
+			name: 'Chrome',
+			longVersion: '73.0.3683.103',
+			os: {
+				name: 'Mac OS',
+				version: '10.14.1',
 			},
-			version : '73.0.3683',
+			version: '73.0.3683',
 		},
-		host : 'localhost:3000',
-		ip : '127.0.0.1',
-		loginAt : new Date('2019-05-03T01:48:43.521Z'),
-		type : 'session',
-		userId : 'xPZXw9xqM3kKshsse',
-		closedAt : new Date('2019-05-03T01:48:43.761Z'),
-		lastActivityAt : new Date('2019-05-03T01:48:43.761Z'),
+		host: 'localhost:3000',
+		ip: '127.0.0.1',
+		loginAt: new Date('2019-05-03T01:48:43.521Z'),
+		type: 'session',
+		userId: 'xPZXw9xqM3kKshsse',
+		closedAt: new Date('2019-05-03T01:48:43.761Z'),
+		lastActivityAt: new Date('2019-05-03T01:48:43.761Z'),
 	}, {
-		_id : 'MDs9SzQKmwaDmXL8s',
-		day : 2,
-		instanceId : 'HvbqxukP8E65LAGMY',
-		month : 5,
-		sessionId : 'GmoBDPKy9RW2eXdCG',
-		year : 2019,
-		_updatedAt : new Date('2019-05-06T16:33:24.311Z'),
-		createdAt : new Date('2019-05-03T01:48:45.064Z'),
-		device : {
-			type : 'browser',
-			name : 'Chrome',
-			longVersion : '73.0.3683.103',
-			os : {
-				name : 'Mac OS',
-				version : '10.14.1',
+		_id: 'MDs9SzQKmwaDmXL8s',
+		day: 2,
+		instanceId: 'HvbqxukP8E65LAGMY',
+		month: 5,
+		sessionId: 'GmoBDPKy9RW2eXdCG',
+		year: 2019,
+		_updatedAt: new Date('2019-05-06T16:33:24.311Z'),
+		createdAt: new Date('2019-05-03T01:48:45.064Z'),
+		device: {
+			type: 'browser',
+			name: 'Chrome',
+			longVersion: '73.0.3683.103',
+			os: {
+				name: 'Mac OS',
+				version: '10.14.1',
 			},
-			version : '73.0.3683',
+			version: '73.0.3683',
 		},
-		host : 'localhost:3000',
-		ip : '127.0.0.1',
-		loginAt : new Date('2019-05-03T01:48:45.064Z'),
-		type : 'session',
-		userId : 'xPZXw9xqM3kKshsse',
+		host: 'localhost:3000',
+		ip: '127.0.0.1',
+		loginAt: new Date('2019-05-03T01:48:45.064Z'),
+		type: 'session',
+		userId: 'xPZXw9xqM3kKshsse',
 	}, {
-		_id : 'CJwfxASo62FHDgqog',
-		day : 2,
-		instanceId : 'Nmwo2ttFeWZSrowNh',
-		month : 5,
-		sessionId : 'LMrrL4sbpNMLWYomA',
-		year : 2019,
-		_updatedAt : new Date('2019-05-06T16:33:24.311Z'),
-		createdAt : new Date('2019-05-03T01:50:31.098Z'),
-		device : {
-			type : 'browser',
-			name : 'Chrome',
-			longVersion : '73.0.3683.103',
-			os : {
-				name : 'Mac OS',
-				version : '10.14.1',
+		_id: 'CJwfxASo62FHDgqog',
+		day: 2,
+		instanceId: 'Nmwo2ttFeWZSrowNh',
+		month: 5,
+		sessionId: 'LMrrL4sbpNMLWYomA',
+		year: 2019,
+		_updatedAt: new Date('2019-05-06T16:33:24.311Z'),
+		createdAt: new Date('2019-05-03T01:50:31.098Z'),
+		device: {
+			type: 'browser',
+			name: 'Chrome',
+			longVersion: '73.0.3683.103',
+			os: {
+				name: 'Mac OS',
+				version: '10.14.1',
 			},
-			version : '73.0.3683',
+			version: '73.0.3683',
 		},
-		host : 'localhost:3000',
-		ip : '127.0.0.1',
-		loginAt : new Date('2019-05-03T01:50:31.092Z'),
-		type : 'session',
-		userId : 'xPZXw9xqM3kKshsse',
-		closedAt : new Date('2019-05-03T01:50:31.355Z'),
-		lastActivityAt : new Date('2019-05-03T01:50:31.355Z'),
+		host: 'localhost:3000',
+		ip: '127.0.0.1',
+		loginAt: new Date('2019-05-03T01:50:31.092Z'),
+		type: 'session',
+		userId: 'xPZXw9xqM3kKshsse',
+		closedAt: new Date('2019-05-03T01:50:31.355Z'),
+		lastActivityAt: new Date('2019-05-03T01:50:31.355Z'),
 	}, {
-		_id : 'iGAcPobWfTQtN6s4K',
-		day : 1,
-		instanceId : 'Nmwo2ttFeWZSrowNh',
-		month : 5,
-		sessionId : 'AsbjZRLNQMqfbyYFS',
-		year : 2019,
-		_updatedAt : new Date('2019-05-06T16:33:24.311Z'),
-		createdAt : new Date('2019-05-03T01:50:32.765Z'),
-		device : {
-			type : 'browser',
-			name : 'Chrome',
-			longVersion : '73.0.3683.103',
-			os : {
-				name : 'Mac OS',
-				version : '10.14.1',
+		_id: 'iGAcPobWfTQtN6s4K',
+		day: 1,
+		instanceId: 'Nmwo2ttFeWZSrowNh',
+		month: 5,
+		sessionId: 'AsbjZRLNQMqfbyYFS',
+		year: 2019,
+		_updatedAt: new Date('2019-05-06T16:33:24.311Z'),
+		createdAt: new Date('2019-05-03T01:50:32.765Z'),
+		device: {
+			type: 'browser',
+			name: 'Chrome',
+			longVersion: '73.0.3683.103',
+			os: {
+				name: 'Mac OS',
+				version: '10.14.1',
 			},
-			version : '73.0.3683',
+			version: '73.0.3683',
 		},
-		host : 'localhost:3000',
-		ip : '127.0.0.1',
-		loginAt : new Date('2019-05-03T01:50:32.765Z'),
-		type : 'session',
-		userId : 'xPZXw9xqM3kKshsse2',
-		lastActivityAt : new Date('2019-05-03T02:59:59.999Z'),
+		host: 'localhost:3000',
+		ip: '127.0.0.1',
+		loginAt: new Date('2019-05-03T01:50:32.765Z'),
+		type: 'session',
+		userId: 'xPZXw9xqM3kKshsse2',
+		lastActivityAt: new Date('2019-05-03T02:59:59.999Z'),
 	}],
 	sessions_dates,
 }; // require('./fixtures/testData.json')
@@ -236,7 +239,7 @@ describe.only('Sessions Aggregates', () => {
 		before(function() {
 			this.timeout(120000);
 			return mongoUnit.start({ version: '3.2.22' })
-				.then((testMongoUrl) => process.env.MONGO_URL = testMongoUrl);
+				.then((testMongoUrl) => { process.env.MONGO_URL = testMongoUrl; });
 		});
 
 		after(() => { mongoUnit.stop(); });
@@ -244,7 +247,7 @@ describe.only('Sessions Aggregates', () => {
 
 	before(function() {
 		return MongoClient.connect(process.env.MONGO_URL)
-			.then((client) => db = client.db('test'));
+			.then((client) => { db = client.db('test'); });
 	});
 
 	before(() => db.dropDatabase().then(() => {
diff --git a/app/models/server/models/Settings.js b/app/models/server/models/Settings.js
index 84103918784..fcf605c4b74 100644
--- a/app/models/server/models/Settings.js
+++ b/app/models/server/models/Settings.js
@@ -55,8 +55,7 @@ export class Settings extends Base {
 		};
 
 		if (ids.length > 0) {
-			filter._id =
-				{ $in: ids };
+			filter._id =				{ $in: ids };
 		}
 
 		return this.find(filter, { fields: { _id: 1, value: 1 } });
@@ -172,7 +171,7 @@ export class Settings extends Base {
 		const record = {
 			_id,
 			value,
-			_createdAt: new Date,
+			_createdAt: new Date(),
 		};
 
 		return this.insert(record);
diff --git a/app/models/server/models/Subscriptions.js b/app/models/server/models/Subscriptions.js
index 9b915999d28..93813847b88 100644
--- a/app/models/server/models/Subscriptions.js
+++ b/app/models/server/models/Subscriptions.js
@@ -1,10 +1,11 @@
 import { Meteor } from 'meteor/meteor';
-import { Base } from './_Base';
 import { Match } from 'meteor/check';
+import _ from 'underscore';
+
+import { Base } from './_Base';
 import Rooms from './Rooms';
 import Users from './Users';
 import { getDefaultSubscriptionPref } from '../../../utils/lib/getDefaultSubscriptionPref';
-import _ from 'underscore';
 
 export class Subscriptions extends Base {
 	constructor(...args) {
@@ -350,7 +351,6 @@ export class Subscriptions extends Base {
 	}
 
 	findNotificationPreferencesByRoom(query/* { roomId: rid, desktopFilter: desktopNotifications, mobileFilter: mobilePushNotifications, emailFilter: emailNotifications }*/) {
-
 		return this._db.find(query, {
 			fields: {
 
@@ -445,7 +445,7 @@ export class Subscriptions extends Base {
 		const subscriptions = this.find(query).fetch();
 
 		const users = _.compact(_.map(subscriptions, function(subscription) {
-			if ('undefined' !== typeof subscription.u && 'undefined' !== typeof subscription.u._id) {
+			if (typeof subscription.u !== 'undefined' && typeof subscription.u._id !== 'undefined') {
 				return subscription.u._id;
 			}
 		}));
@@ -483,8 +483,7 @@ export class Subscriptions extends Base {
 
 	// FIND
 	findByUserId(userId, options) {
-		const query =
-			{ 'u._id': userId };
+		const query =			{ 'u._id': userId };
 
 		return this.find(query, options);
 	}
@@ -550,8 +549,7 @@ export class Subscriptions extends Base {
 	}
 
 	findByRoomId(roomId, options) {
-		const query =
-			{ rid: roomId };
+		const query =			{ rid: roomId };
 
 		return this.find(query, options);
 	}
@@ -658,8 +656,7 @@ export class Subscriptions extends Base {
 
 	// UPDATE
 	archiveByRoomId(roomId) {
-		const query =
-			{ rid: roomId };
+		const query =			{ rid: roomId };
 
 		const update = {
 			$set: {
@@ -673,8 +670,7 @@ export class Subscriptions extends Base {
 	}
 
 	unarchiveByRoomId(roomId) {
-		const query =
-			{ rid: roomId };
+		const query =			{ rid: roomId };
 
 		const update = {
 			$set: {
@@ -731,7 +727,7 @@ export class Subscriptions extends Base {
 				unread: 0,
 				userMentions: 0,
 				groupMentions: 0,
-				ls: new Date,
+				ls: new Date(),
 			},
 		};
 
@@ -785,8 +781,7 @@ export class Subscriptions extends Base {
 	}
 
 	updateNameAndAlertByRoomId(roomId, name, fname) {
-		const query =
-			{ rid: roomId };
+		const query =			{ rid: roomId };
 
 		const update = {
 			$set: {
@@ -800,8 +795,7 @@ export class Subscriptions extends Base {
 	}
 
 	updateDisplayNameByRoomId(roomId, fname) {
-		const query =
-			{ rid: roomId };
+		const query =			{ rid: roomId };
 
 		const update = {
 			$set: {
@@ -814,8 +808,7 @@ export class Subscriptions extends Base {
 	}
 
 	setUserUsernameByUserId(userId, username) {
-		const query =
-			{ 'u._id': userId };
+		const query =			{ 'u._id': userId };
 
 		const update = {
 			$set: {
@@ -909,7 +902,7 @@ export class Subscriptions extends Base {
 		return this.update(query, update, { multi: true });
 	}
 
-	ignoreUser({ _id, ignoredUser : ignored, ignore = true }) {
+	ignoreUser({ _id, ignoredUser: ignored, ignore = true }) {
 		const query = {
 			_id,
 		};
@@ -1023,8 +1016,7 @@ export class Subscriptions extends Base {
 	}
 
 	updateTypeByRoomId(roomId, type) {
-		const query =
-			{ rid: roomId };
+		const query =			{ rid: roomId };
 
 		const update = {
 			$set: {
@@ -1036,8 +1028,7 @@ export class Subscriptions extends Base {
 	}
 
 	addRoleById(_id, role) {
-		const query =
-			{ _id };
+		const query =			{ _id };
 
 		const update = {
 			$addToSet: {
@@ -1049,8 +1040,7 @@ export class Subscriptions extends Base {
 	}
 
 	removeRoleById(_id, role) {
-		const query =
-			{ _id };
+		const query =			{ _id };
 
 		const update = {
 			$pull: {
diff --git a/app/models/server/models/Uploads.js b/app/models/server/models/Uploads.js
index 12f45b373b8..f9fa5fe4879 100644
--- a/app/models/server/models/Uploads.js
+++ b/app/models/server/models/Uploads.js
@@ -1,6 +1,7 @@
 import _ from 'underscore';
 import s from 'underscore.string';
 import { InstanceStatus } from 'meteor/konecty:multiple-instances-status';
+
 import { Base } from './_Base';
 
 export class Uploads extends Base {
@@ -104,9 +105,8 @@ export class Uploads extends Base {
 	deleteFile(fileId) {
 		if (this.model.direct && this.model.direct.remove != null) {
 			return this.model.direct.remove({ _id: fileId });
-		} else {
-			return this.remove({ _id: fileId });
 		}
+		return this.remove({ _id: fileId });
 	}
 }
 
diff --git a/app/models/server/models/UserDataFiles.js b/app/models/server/models/UserDataFiles.js
index 7fe3a2b4950..a877188ff03 100644
--- a/app/models/server/models/UserDataFiles.js
+++ b/app/models/server/models/UserDataFiles.js
@@ -1,6 +1,7 @@
-import { Base } from './_Base';
 import _ from 'underscore';
 
+import { Base } from './_Base';
+
 export class UserDataFiles extends Base {
 	constructor() {
 		super('user_data_files');
@@ -19,14 +20,14 @@ export class UserDataFiles extends Base {
 			userId,
 		};
 
-		options.sort = { _updatedAt : -1 };
+		options.sort = { _updatedAt: -1 };
 		return this.findOne(query, options);
 	}
 
 	// INSERT
 	create(data) {
 		const userDataFile = {
-			createdAt: new Date,
+			createdAt: new Date(),
 		};
 
 		_.extend(userDataFile, data);
diff --git a/app/models/server/models/Users.js b/app/models/server/models/Users.js
index 38046d55b31..b5372c23d7a 100644
--- a/app/models/server/models/Users.js
+++ b/app/models/server/models/Users.js
@@ -1,10 +1,11 @@
 import { Meteor } from 'meteor/meteor';
 import { Accounts } from 'meteor/accounts-base';
+import _ from 'underscore';
+import s from 'underscore.string';
+
 import { Base } from './_Base';
 import Subscriptions from './Subscriptions';
 import { settings } from '../../../settings/server/functions/settings';
-import _ from 'underscore';
-import s from 'underscore.string';
 
 export class Users extends Base {
 	constructor(...args) {
@@ -165,9 +166,8 @@ export class Users extends Base {
 				agentId: user.value._id,
 				username: user.value.username,
 			};
-		} else {
-			return null;
 		}
+		return null;
 	}
 
 	setLivechatStatus(userId, status) {
@@ -395,7 +395,7 @@ export class Users extends Base {
 	findOneByIdAndLoginToken(_id, token, options) {
 		const query = {
 			_id,
-			'services.resume.loginTokens.hashedToken' : Accounts._hashLoginToken(token),
+			'services.resume.loginTokens.hashedToken': Accounts._hashLoginToken(token),
 		};
 
 		return this.findOne(query, options);
@@ -673,7 +673,7 @@ export class Users extends Base {
 	updateLastLoginById(_id) {
 		const update = {
 			$set: {
-				lastLogin: new Date,
+				lastLogin: new Date(),
 			},
 		};
 
@@ -681,8 +681,7 @@ export class Users extends Base {
 	}
 
 	setServiceId(_id, serviceName, serviceId) {
-		const update =
-		{ $set: {} };
+		const update =		{ $set: {} };
 
 		const serviceIdKey = `services.${ serviceName }.id`;
 		update.$set[serviceIdKey] = serviceId;
@@ -691,8 +690,7 @@ export class Users extends Base {
 	}
 
 	setUsername(_id, username) {
-		const update =
-		{ $set: { username } };
+		const update =		{ $set: { username } };
 
 		return this.update(_id, update);
 	}
@@ -806,7 +804,7 @@ export class Users extends Base {
 	unsetLoginTokens(_id) {
 		const update = {
 			$set: {
-				'services.resume.loginTokens' : [],
+				'services.resume.loginTokens': [],
 			},
 		};
 
@@ -816,8 +814,8 @@ export class Users extends Base {
 	unsetRequirePasswordChange(_id) {
 		const update = {
 			$unset: {
-				requirePasswordChange : true,
-				requirePasswordChangeReason : true,
+				requirePasswordChange: true,
+				requirePasswordChangeReason: true,
 			},
 		};
 
@@ -1028,7 +1026,7 @@ export class Users extends Base {
 	// INSERT
 	create(data) {
 		const user = {
-			createdAt: new Date,
+			createdAt: new Date(),
 			avatarOrigin: 'none',
 		};
 
diff --git a/app/models/server/models/WebdavAccounts.js b/app/models/server/models/WebdavAccounts.js
index f1ce436cdd5..b3d8f4875bf 100644
--- a/app/models/server/models/WebdavAccounts.js
+++ b/app/models/server/models/WebdavAccounts.js
@@ -22,7 +22,6 @@ export class WebdavAccounts extends Base {
 	removeById(_id) {
 		return this.remove({ _id });
 	}
-
 }
 
 export default new WebdavAccounts();
diff --git a/app/models/server/models/_Base.js b/app/models/server/models/_Base.js
index 3dc855cb546..87abf5aed68 100644
--- a/app/models/server/models/_Base.js
+++ b/app/models/server/models/_Base.js
@@ -1,9 +1,10 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
-import { BaseDb } from './_BaseDb';
 import objectPath from 'object-path';
 import _ from 'underscore';
 
+import { BaseDb } from './_BaseDb';
+
 export class Base {
 	constructor(nameOrModel) {
 		this._db = new BaseDb(nameOrModel, this);
@@ -22,7 +23,7 @@ export class Base {
 	}
 
 	roleBaseQuery() {
-		return;
+
 	}
 
 	findRolesByUserId(userId) {
@@ -326,5 +327,4 @@ export class Base {
 	// 		remove: this.dinamicTrashFindAfter(method, updatedAt, ...args).fetch()
 	// 	};
 	// }
-
 }
diff --git a/app/models/server/models/_BaseDb.js b/app/models/server/models/_BaseDb.js
index c5c79c8fbc5..cd774981ffb 100644
--- a/app/models/server/models/_BaseDb.js
+++ b/app/models/server/models/_BaseDb.js
@@ -1,7 +1,8 @@
+import { EventEmitter } from 'events';
+
 import { Match } from 'meteor/check';
 import { Mongo, MongoInternals } from 'meteor/mongo';
 import _ from 'underscore';
-import { EventEmitter } from 'events';
 
 const baseName = 'rocketchat_';
 
@@ -60,7 +61,6 @@ export class BaseDb extends EventEmitter {
 	}
 
 	setUpdatedAt(record = {}) {
-
 		// TODO: Check if this can be deleted, Rodrigo does not rememebr WHY he added it. So he removed it to fix issue #5541
 		// setUpdatedAt(record = {}, checkQuery = false, query) {
 		// if (checkQuery === true) {
@@ -71,9 +71,9 @@ export class BaseDb extends EventEmitter {
 
 		if (/(^|,)\$/.test(Object.keys(record).join(','))) {
 			record.$set = record.$set || {};
-			record.$set._updatedAt = new Date;
+			record.$set._updatedAt = new Date();
 		} else {
-			record._updatedAt = new Date;
+			record._updatedAt = new Date();
 		}
 
 		return record;
@@ -190,7 +190,6 @@ export class BaseDb extends EventEmitter {
 				id: action.id,
 				oplog: true,
 			});
-			return;
 		}
 	}
 
@@ -223,7 +222,7 @@ export class BaseDb extends EventEmitter {
 		for (const record of records) {
 			ids.push(record._id);
 
-			record._deletedAt = new Date;
+			record._deletedAt = new Date();
 			record.__collection__ = this.name;
 
 			trash.upsert({ _id: record._id }, _.omit(record, '_id'));
@@ -244,9 +243,8 @@ export class BaseDb extends EventEmitter {
 
 			this.upsert(...args);
 			return _id;
-		} else {
-			return this.insert(...args);
 		}
+		return this.insert(...args);
 	}
 
 	allow(...args) {
diff --git a/app/notifications/client/lib/Notifications.js b/app/notifications/client/lib/Notifications.js
index e9dd1853189..feb3bfd4680 100644
--- a/app/notifications/client/lib/Notifications.js
+++ b/app/notifications/client/lib/Notifications.js
@@ -9,7 +9,7 @@ class Notifications {
 			if (Meteor.userId() !== null && this.logged === false) {
 				this.loginCb.forEach((cb) => cb());
 			}
-			return this.logged = Meteor.userId() !== null;
+			this.logged = Meteor.userId() !== null;
 		});
 		this.debug = false;
 		this.streamAll = new Meteor.Streamer('notify-all');
@@ -33,6 +33,7 @@ class Notifications {
 			return cb();
 		}
 	}
+
 	notifyRoom(room, eventName, ...args) {
 		if (this.debug === true) {
 			console.log('RocketChat.Notifications: notifyRoom', [room, eventName, ...args]);
@@ -40,6 +41,7 @@ class Notifications {
 		args.unshift(`${ room }/${ eventName }`);
 		return this.streamRoom.emit.apply(this.streamRoom, args);
 	}
+
 	notifyUser(userId, eventName, ...args) {
 		if (this.debug === true) {
 			console.log('RocketChat.Notifications: notifyUser', [userId, eventName, ...args]);
@@ -47,6 +49,7 @@ class Notifications {
 		args.unshift(`${ userId }/${ eventName }`);
 		return this.streamUser.emit.apply(this.streamUser, args);
 	}
+
 	notifyUsersOfRoom(room, eventName, ...args) {
 		if (this.debug === true) {
 			console.log('RocketChat.Notifications: notifyUsersOfRoom', [room, eventName, ...args]);
@@ -54,12 +57,15 @@ class Notifications {
 		args.unshift(`${ room }/${ eventName }`);
 		return this.streamRoomUsers.emit.apply(this.streamRoomUsers, args);
 	}
+
 	onAll(eventName, callback) {
 		return this.streamAll.on(eventName, callback);
 	}
+
 	onLogged(eventName, callback) {
 		return this.onLogin(() => this.streamLogged.on(eventName, callback));
 	}
+
 	onRoom(room, eventName, callback) {
 		if (this.debug === true) {
 			this.streamRoom.on(room, function() {
@@ -68,18 +74,23 @@ class Notifications {
 		}
 		return this.streamRoom.on(`${ room }/${ eventName }`, callback);
 	}
+
 	onUser(eventName, callback) {
 		return this.streamUser.on(`${ Meteor.userId() }/${ eventName }`, callback);
 	}
+
 	unAll(callback) {
 		return this.streamAll.removeListener('notify', callback);
 	}
+
 	unLogged(callback) {
 		return this.streamLogged.removeListener('notify', callback);
 	}
+
 	unRoom(room, eventName, callback) {
 		return this.streamRoom.removeListener(`${ room }/${ eventName }`, callback);
 	}
+
 	unUser(eventName, callback) {
 		return this.streamUser.removeListener(`${ Meteor.userId() }/${ eventName }`, callback);
 	}
diff --git a/app/notifications/server/lib/Notifications.js b/app/notifications/server/lib/Notifications.js
index ab9ff5d8531..8dfd97b2d3c 100644
--- a/app/notifications/server/lib/Notifications.js
+++ b/app/notifications/server/lib/Notifications.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { DDPCommon } from 'meteor/ddp-common';
+
 import { Subscriptions, Rooms } from '../../../models';
 import { settings } from '../../../settings';
 
diff --git a/app/nrr/client/nrr.js b/app/nrr/client/nrr.js
index 00c1cdba2d9..80feb407d92 100644
--- a/app/nrr/client/nrr.js
+++ b/app/nrr/client/nrr.js
@@ -18,7 +18,6 @@ const makeCursorReactive = function(obj) {
 };
 
 Blaze.toHTMLWithDataNonReactive = function(content, data) {
-
 	makeCursorReactive(data);
 
 	if (data instanceof Spacebars.kw && Object.keys(data.hash).length > 0) {
diff --git a/app/oauth2-server-config/client/admin/route.js b/app/oauth2-server-config/client/admin/route.js
index 229074dfd0a..df568f2bca6 100644
--- a/app/oauth2-server-config/client/admin/route.js
+++ b/app/oauth2-server-config/client/admin/route.js
@@ -1,5 +1,6 @@
-import { FlowRouter } from 'meteor/kadira:flow-router' ;
+import { FlowRouter } from 'meteor/kadira:flow-router';
 import { BlazeLayout } from 'meteor/kadira:blaze-layout';
+
 import { t } from '../../../utils';
 
 FlowRouter.route('/admin/oauth-apps', {
diff --git a/app/oauth2-server-config/client/admin/views/oauthApp.js b/app/oauth2-server-config/client/admin/views/oauthApp.js
index 3b59a9bfcfa..1ef9f76d328 100644
--- a/app/oauth2-server-config/client/admin/views/oauthApp.js
+++ b/app/oauth2-server-config/client/admin/views/oauthApp.js
@@ -4,11 +4,12 @@ import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
 import { Tracker } from 'meteor/tracker';
+import toastr from 'toastr';
+
 import { hasAllPermission } from '../../../../authorization';
 import { modal, SideNav } from '../../../../ui-utils/client';
 import { t, handleError } from '../../../../utils';
 import { ChatOAuthApps } from '../collection';
-import toastr from 'toastr';
 
 Template.oauthApp.onCreated(function() {
 	this.subscribe('oauthApps');
@@ -108,4 +109,3 @@ Template.oauthApp.onRendered(() => {
 		SideNav.openFlex();
 	});
 });
-
diff --git a/app/oauth2-server-config/client/admin/views/oauthApps.js b/app/oauth2-server-config/client/admin/views/oauthApps.js
index 701367de936..75ac3a749b3 100644
--- a/app/oauth2-server-config/client/admin/views/oauthApps.js
+++ b/app/oauth2-server-config/client/admin/views/oauthApps.js
@@ -1,8 +1,9 @@
 import { Template } from 'meteor/templating';
 import { Tracker } from 'meteor/tracker';
+import moment from 'moment';
+
 import { hasAllPermission } from '../../../../authorization';
 import { ChatOAuthApps } from '../collection';
-import moment from 'moment';
 import { SideNav } from '../../../../ui-utils/client';
 
 Template.oauthApps.onCreated(function() {
@@ -27,4 +28,3 @@ Template.oauthApps.onRendered(() => {
 		SideNav.openFlex();
 	});
 });
-
diff --git a/app/oauth2-server-config/client/oauth/oauth2-client.js b/app/oauth2-server-config/client/oauth/oauth2-client.js
index f1d82952a8a..c763233e57e 100644
--- a/app/oauth2-server-config/client/oauth/oauth2-client.js
+++ b/app/oauth2-server-config/client/oauth/oauth2-client.js
@@ -1,10 +1,11 @@
 import { Meteor } from 'meteor/meteor';
-import { FlowRouter } from 'meteor/kadira:flow-router' ;
+import { FlowRouter } from 'meteor/kadira:flow-router';
 import { BlazeLayout } from 'meteor/kadira:blaze-layout';
 import { Template } from 'meteor/templating';
-import { ChatOAuthApps } from '../admin/collection';
 import { Accounts } from 'meteor/accounts-base';
 
+import { ChatOAuthApps } from '../admin/collection';
+
 FlowRouter.route('/oauth/authorize', {
 	action(params, queryParams) {
 		BlazeLayout.render('main', {
diff --git a/app/oauth2-server-config/server/admin/methods/addOAuthApp.js b/app/oauth2-server-config/server/admin/methods/addOAuthApp.js
index 3a3614dbaf1..a5ef900f34b 100644
--- a/app/oauth2-server-config/server/admin/methods/addOAuthApp.js
+++ b/app/oauth2-server-config/server/admin/methods/addOAuthApp.js
@@ -1,8 +1,9 @@
 import { Meteor } from 'meteor/meteor';
 import { Random } from 'meteor/random';
+import _ from 'underscore';
+
 import { hasPermission } from '../../../../authorization';
 import { Users, OAuthApps } from '../../../../models';
-import _ from 'underscore';
 
 Meteor.methods({
 	addOAuthApp(application) {
@@ -20,7 +21,7 @@ Meteor.methods({
 		}
 		application.clientId = Random.id();
 		application.clientSecret = Random.secret();
-		application._createdAt = new Date;
+		application._createdAt = new Date();
 		application._createdBy = Users.findOne(this.userId, { fields: { username: 1 } });
 		application._id = OAuthApps.insert(application);
 		return application;
diff --git a/app/oauth2-server-config/server/admin/methods/deleteOAuthApp.js b/app/oauth2-server-config/server/admin/methods/deleteOAuthApp.js
index e08bbfdfb15..6c0b1e665de 100644
--- a/app/oauth2-server-config/server/admin/methods/deleteOAuthApp.js
+++ b/app/oauth2-server-config/server/admin/methods/deleteOAuthApp.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../../authorization';
 import { OAuthApps } from '../../../../models';
 
diff --git a/app/oauth2-server-config/server/admin/methods/updateOAuthApp.js b/app/oauth2-server-config/server/admin/methods/updateOAuthApp.js
index 50292d4bc06..6043a34a23f 100644
--- a/app/oauth2-server-config/server/admin/methods/updateOAuthApp.js
+++ b/app/oauth2-server-config/server/admin/methods/updateOAuthApp.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
+import _ from 'underscore';
+
 import { hasPermission } from '../../../../authorization';
 import { OAuthApps, Users } from '../../../../models';
-import _ from 'underscore';
 
 Meteor.methods({
 	updateOAuthApp(applicationId, application) {
@@ -26,7 +27,7 @@ Meteor.methods({
 				name: application.name,
 				active: application.active,
 				redirectUri: application.redirectUri,
-				_updatedAt: new Date,
+				_updatedAt: new Date(),
 				_updatedBy: Users.findOne(this.userId, {
 					fields: {
 						username: 1,
diff --git a/app/oauth2-server-config/server/admin/publications/oauthApps.js b/app/oauth2-server-config/server/admin/publications/oauthApps.js
index 498155b1e27..e6f105c7e9e 100644
--- a/app/oauth2-server-config/server/admin/publications/oauthApps.js
+++ b/app/oauth2-server-config/server/admin/publications/oauthApps.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../../authorization';
 import { OAuthApps } from '../../../../models';
 
diff --git a/app/oauth2-server-config/server/oauth/default-services.js b/app/oauth2-server-config/server/oauth/default-services.js
index 4925ed314ca..d39489c9ec8 100644
--- a/app/oauth2-server-config/server/oauth/default-services.js
+++ b/app/oauth2-server-config/server/oauth/default-services.js
@@ -8,7 +8,7 @@ if (!OAuthApps.findOne('zapier')) {
 		clientId: 'zapier',
 		clientSecret: 'RTK6TlndaCIolhQhZ7_KHIGOKj41RnlaOq_o-7JKwLr',
 		redirectUri: 'https://zapier.com/dashboard/auth/oauth/return/RocketChatDevAPI/',
-		_createdAt: new Date,
+		_createdAt: new Date(),
 		_createdBy: {
 			_id: 'system',
 			username: 'system',
diff --git a/app/oauth2-server-config/server/oauth/oauth2-server.js b/app/oauth2-server-config/server/oauth/oauth2-server.js
index fbc6fed4e63..7f0480c1c83 100644
--- a/app/oauth2-server-config/server/oauth/oauth2-server.js
+++ b/app/oauth2-server-config/server/oauth/oauth2-server.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
 import { WebApp } from 'meteor/webapp';
-import { OAuthApps, Users } from '../../../models';
 import { OAuth2Server } from 'meteor/rocketchat:oauth2-server';
+
+import { OAuthApps, Users } from '../../../models';
 import { API } from '../../../api';
 
 const oauth2server = new OAuth2Server({
diff --git a/app/oembed/client/oembedAudioWidget.js b/app/oembed/client/oembedAudioWidget.js
index f1eae8cada3..f5c5cc8902f 100644
--- a/app/oembed/client/oembedAudioWidget.js
+++ b/app/oembed/client/oembedAudioWidget.js
@@ -1,13 +1,13 @@
 import { Meteor } from 'meteor/meteor';
 import { Template } from 'meteor/templating';
+
 import { getUserPreference } from '../../utils';
 
 Template.oembedAudioWidget.helpers({
 	collapsed() {
 		if (this.collapsed) {
 			return this.collapsed;
-		} else {
-			return getUserPreference(Meteor.userId(), 'collapseMediaByDefault') === true;
 		}
+		return getUserPreference(Meteor.userId(), 'collapseMediaByDefault') === true;
 	},
 });
diff --git a/app/oembed/client/oembedFrameWidget.js b/app/oembed/client/oembedFrameWidget.js
index dee89ca5ef8..e92989976fd 100644
--- a/app/oembed/client/oembedFrameWidget.js
+++ b/app/oembed/client/oembedFrameWidget.js
@@ -1,13 +1,13 @@
 import { Meteor } from 'meteor/meteor';
 import { Template } from 'meteor/templating';
+
 import { getUserPreference } from '../../utils';
 
 Template.oembedFrameWidget.helpers({
 	collapsed() {
 		if (this.collapsed) {
 			return this.collapsed;
-		} else {
-			return getUserPreference(Meteor.userId(), 'collapseMediaByDefault') === true;
 		}
+		return getUserPreference(Meteor.userId(), 'collapseMediaByDefault') === true;
 	},
 });
diff --git a/app/oembed/client/oembedImageWidget.js b/app/oembed/client/oembedImageWidget.js
index fc7dcdd1d20..b292a56e2bb 100644
--- a/app/oembed/client/oembedImageWidget.js
+++ b/app/oembed/client/oembedImageWidget.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Template } from 'meteor/templating';
+
 import { getUserPreference } from '../../utils';
 
 Template.oembedImageWidget.helpers({
@@ -15,8 +16,7 @@ Template.oembedImageWidget.helpers({
 	collapsed() {
 		if (this.collapsed != null) {
 			return this.collapsed;
-		} else {
-			return getUserPreference(Meteor.userId(), 'collapseMediaByDefault') === true;
 		}
+		return getUserPreference(Meteor.userId(), 'collapseMediaByDefault') === true;
 	},
 });
diff --git a/app/oembed/client/oembedUrlWidget.js b/app/oembed/client/oembedUrlWidget.js
index 943d33b44a3..2f2f8a4b4fa 100644
--- a/app/oembed/client/oembedUrlWidget.js
+++ b/app/oembed/client/oembedUrlWidget.js
@@ -1,9 +1,10 @@
 import { Meteor } from 'meteor/meteor';
 import { Blaze } from 'meteor/blaze';
 import { Template } from 'meteor/templating';
-import { getUserPreference } from '../../utils';
 import _ from 'underscore';
 
+import { getUserPreference } from '../../utils';
+
 const getTitle = function(self) {
 	if (self.meta == null) {
 		return;
@@ -65,8 +66,7 @@ Template.oembedUrlWidget.helpers({
 	collapsed() {
 		if (this.collapsed != null) {
 			return this.collapsed;
-		} else {
-			return getUserPreference(Meteor.userId(), 'collapseMediaByDefault') === true;
 		}
+		return getUserPreference(Meteor.userId(), 'collapseMediaByDefault') === true;
 	},
 });
diff --git a/app/oembed/client/oembedVideoWidget.js b/app/oembed/client/oembedVideoWidget.js
index be7764b4510..4b7c4d4864c 100644
--- a/app/oembed/client/oembedVideoWidget.js
+++ b/app/oembed/client/oembedVideoWidget.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Template } from 'meteor/templating';
+
 import { getUserPreference } from '../../utils';
 
 const getTitle = function(self) {
@@ -13,14 +14,14 @@ Template.oembedVideoWidget.helpers({
 	url() {
 		if (this.meta && this.meta.twitterPlayerStream) {
 			return this.meta.twitterPlayerStream;
-		} else if (this.url) {
+		} if (this.url) {
 			return this.url;
 		}
 	},
 	contentType() {
 		if (this.meta && this.meta.twitterPlayerStreamContentType) {
 			return this.meta.twitterPlayerStreamContentType;
-		} else if (this.headers && this.headers.contentType) {
+		} if (this.headers && this.headers.contentType) {
 			return this.headers.contentType;
 		}
 	},
@@ -30,9 +31,8 @@ Template.oembedVideoWidget.helpers({
 	collapsed() {
 		if (this.collapsed) {
 			return this.collapsed;
-		} else {
-			return getUserPreference(Meteor.userId(), 'collapseMediaByDefault') === true;
 		}
+		return getUserPreference(Meteor.userId(), 'collapseMediaByDefault') === true;
 	},
 
 });
diff --git a/app/oembed/client/oembedYoutubeWidget.js b/app/oembed/client/oembedYoutubeWidget.js
index 2e8d2557c62..041ab2753e4 100644
--- a/app/oembed/client/oembedYoutubeWidget.js
+++ b/app/oembed/client/oembedYoutubeWidget.js
@@ -1,14 +1,14 @@
 import { Meteor } from 'meteor/meteor';
 import { Template } from 'meteor/templating';
+
 import { getUserPreference } from '../../utils';
 
 Template.oembedYoutubeWidget.helpers({
 	collapsed() {
 		if (this.collapsed) {
 			return this.collapsed;
-		} else {
-			const user = Meteor.user();
-			return getUserPreference(user, 'collapseMediaByDefault') === true;
 		}
+		const user = Meteor.user();
+		return getUserPreference(user, 'collapseMediaByDefault') === true;
 	},
 });
diff --git a/app/oembed/server/jumpToMessage.js b/app/oembed/server/jumpToMessage.js
index 5158913cd4b..4c14414f339 100644
--- a/app/oembed/server/jumpToMessage.js
+++ b/app/oembed/server/jumpToMessage.js
@@ -1,18 +1,20 @@
+import URL from 'url';
+import QueryString from 'querystring';
+
 import { Meteor } from 'meteor/meteor';
+import _ from 'underscore';
+
 import { Messages } from '../../models';
 import { settings } from '../../settings';
 import { callbacks } from '../../callbacks';
 import { getUserAvatarURL } from '../../utils/lib/getUserAvatarURL';
-import _ from 'underscore';
-import URL from 'url';
-import QueryString from 'querystring';
 
 const recursiveRemove = (message, deep = 1) => {
 	if (message) {
 		if ('attachments' in message && message.attachments !== null && deep < settings.get('Message_QuoteChainLimit')) {
 			message.attachments.map((msg) => recursiveRemove(msg, deep + 1));
 		} else {
-			delete(message.attachments);
+			delete message.attachments;
 		}
 	}
 	return message;
diff --git a/app/oembed/server/providers.js b/app/oembed/server/providers.js
index b5cacfd5305..7a25e771032 100644
--- a/app/oembed/server/providers.js
+++ b/app/oembed/server/providers.js
@@ -1,9 +1,11 @@
-import { changeCase } from 'meteor/konecty:change-case';
-import { callbacks } from '../../callbacks';
-import _ from 'underscore';
 import URL from 'url';
 import QueryString from 'querystring';
 
+import { changeCase } from 'meteor/konecty:change-case';
+import _ from 'underscore';
+
+import { callbacks } from '../../callbacks';
+
 class Providers {
 	constructor() {
 		this.providers = [];
@@ -104,7 +106,7 @@ callbacks.add('oembed:afterParseContent', function(data) {
 						const metas = JSON.parse(data.content.body);
 						_.each(metas, function(value, key) {
 							if (_.isString(value)) {
-								return data.meta[changeCase.camelCase(`oembed_${ key }`)] = value;
+								data.meta[changeCase.camelCase(`oembed_${ key }`)] = value;
 							}
 						});
 						data.meta.oembedUrl = url;
diff --git a/app/oembed/server/server.js b/app/oembed/server/server.js
index 37a3c4deaf1..0d5a68917da 100644
--- a/app/oembed/server/server.js
+++ b/app/oembed/server/server.js
@@ -1,16 +1,18 @@
+import URL from 'url';
+import querystring from 'querystring';
+
 import { Meteor } from 'meteor/meteor';
 import { HTTPInternals } from 'meteor/http';
 import { changeCase } from 'meteor/konecty:change-case';
-import { settings } from '../../settings';
-import { callbacks } from '../../callbacks';
-import { OEmbedCache, Messages } from '../../models';
 import _ from 'underscore';
-import URL from 'url';
-import querystring from 'querystring';
 import iconv from 'iconv-lite';
 import ipRangeCheck from 'ip-range-check';
 import he from 'he';
 import jschardet from 'jschardet';
+
+import { OEmbedCache, Messages } from '../../models';
+import { callbacks } from '../../callbacks';
+import { settings } from '../../settings';
 import { isURL } from '../../utils/lib/isURL';
 
 const request = HTTPInternals.NpmModules.request.module;
@@ -59,7 +61,6 @@ const toUtf8 = function(contentType, body) {
 };
 
 const getUrlContent = function(urlObj, redirectCount = 5, callback) {
-
 	if (_.isString(urlObj)) {
 		urlObj = URL.parse(urlObj);
 	}
@@ -71,7 +72,7 @@ const getUrlContent = function(urlObj, redirectCount = 5, callback) {
 	}
 
 	const safePorts = settings.get('API_EmbedSafePorts').replace(/\s/g, '').split(',') || [];
-	if (parsedUrl.port && safePorts.length > 0 && (!safePorts.includes(parsedUrl.port))) {
+	if (parsedUrl.port && safePorts.length > 0 && !safePorts.includes(parsedUrl.port)) {
 		return callback();
 	}
 
@@ -128,7 +129,7 @@ const getUrlContent = function(urlObj, redirectCount = 5, callback) {
 		});
 	}));
 	return stream.on('error', function(err) {
-		return error = err;
+		error = err;
 	});
 };
 
@@ -156,24 +157,24 @@ OEmbed.getUrlMeta = function(url, withFragment) {
 	let metas = undefined;
 	if (content && content.body) {
 		metas = {};
+		const escapeMeta = (name, value) => {
+			metas[name] = metas[name] || he.unescape(value);
+			return metas[name];
+		};
 		content.body.replace(/<title[^>]*>([^<]*)<\/title>/gmi, function(meta, title) {
-			return metas.pageTitle != null ? metas.pageTitle : metas.pageTitle = he.unescape(title);
+			return escapeMeta('pageTitle', title);
 		});
 		content.body.replace(/<meta[^>]*(?:name|property)=[']([^']*)['][^>]*\scontent=[']([^']*)['][^>]*>/gmi, function(meta, name, value) {
-			let name1;
-			return metas[name1 = changeCase.camelCase(name)] != null ? metas[name1] : metas[name1] = he.unescape(value);
+			return escapeMeta(changeCase.camelCase(name), value);
 		});
 		content.body.replace(/<meta[^>]*(?:name|property)=["]([^"]*)["][^>]*\scontent=["]([^"]*)["][^>]*>/gmi, function(meta, name, value) {
-			let name1;
-			return metas[name1 = changeCase.camelCase(name)] != null ? metas[name1] : metas[name1] = he.unescape(value);
+			return escapeMeta(changeCase.camelCase(name), value);
 		});
 		content.body.replace(/<meta[^>]*\scontent=[']([^']*)['][^>]*(?:name|property)=[']([^']*)['][^>]*>/gmi, function(meta, value, name) {
-			let name1;
-			return metas[name1 = changeCase.camelCase(name)] != null ? metas[name1] : metas[name1] = he.unescape(value);
+			return escapeMeta(changeCase.camelCase(name), value);
 		});
 		content.body.replace(/<meta[^>]*\scontent=["]([^"]*)["][^>]*(?:name|property)=["]([^"]*)["][^>]*>/gmi, function(meta, value, name) {
-			let name1;
-			return metas[name1 = changeCase.camelCase(name)] != null ? metas[name1] : metas[name1] = he.unescape(value);
+			return escapeMeta(changeCase.camelCase(name), value);
 		});
 		if (metas.fragment === '!' && (withFragment == null)) {
 			return OEmbed.getUrlMeta(url, true);
@@ -261,17 +262,17 @@ OEmbed.rocketUrlParser = function(message) {
 			const data = OEmbed.getUrlMetaWithCache(item.url);
 			if (data != null) {
 				if (data.attachments) {
-					return attachments = _.union(attachments, data.attachments);
-				} else {
-					if (data.meta != null) {
-						item.meta = getRelevantMetaTags(data.meta);
-					}
-					if (data.headers != null) {
-						item.headers = getRelevantHeaders(data.headers);
-					}
-					item.parsedUrl = data.parsedUrl;
-					return changed = true;
+					attachments = _.union(attachments, data.attachments);
+					return;
+				}
+				if (data.meta != null) {
+					item.meta = getRelevantMetaTags(data.meta);
+				}
+				if (data.headers != null) {
+					item.headers = getRelevantHeaders(data.headers);
 				}
+				item.parsedUrl = data.parsedUrl;
+				changed = true;
 			}
 		});
 		if (attachments.length) {
@@ -287,9 +288,8 @@ OEmbed.rocketUrlParser = function(message) {
 settings.get('API_Embed', function(key, value) {
 	if (value) {
 		return callbacks.add('afterSaveMessage', OEmbed.rocketUrlParser, callbacks.priority.LOW, 'API_Embed');
-	} else {
-		return callbacks.remove('afterSaveMessage', 'API_Embed');
 	}
+	return callbacks.remove('afterSaveMessage', 'API_Embed');
 });
 
 export { OEmbed };
diff --git a/app/otr/client/rocketchat.otr.js b/app/otr/client/rocketchat.otr.js
index 54d08825997..e2f9645a245 100644
--- a/app/otr/client/rocketchat.otr.js
+++ b/app/otr/client/rocketchat.otr.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Tracker } from 'meteor/tracker';
+
 import { Subscriptions } from '../../models';
 import { promises } from '../../promises/client';
 import { Notifications } from '../../notifications';
@@ -46,9 +47,8 @@ Meteor.startup(function() {
 			Notifications.onUser('otr', (type, data) => {
 				if (!data.roomId || !data.userId || data.userId === Meteor.userId()) {
 					return;
-				} else {
-					OTR.getInstanceByRoomId(data.roomId).onUserStream(type, data);
 				}
+				OTR.getInstanceByRoomId(data.roomId).onUserStream(type, data);
 			});
 		}
 	});
@@ -61,9 +61,8 @@ Meteor.startup(function() {
 					message.t = 'otr';
 					return message;
 				});
-		} else {
-			return Promise.resolve(message);
 		}
+		return Promise.resolve(message);
 	}, promises.priority.HIGH);
 
 	promises.add('onClientMessageReceived', function(message) {
@@ -71,42 +70,39 @@ Meteor.startup(function() {
 			if (message.notification) {
 				message.msg = t('Encrypted_message');
 				return Promise.resolve(message);
-			} else {
-				const otrRoom = OTR.getInstanceByRoomId(message.rid);
-				return otrRoom.decrypt(message.msg)
-					.then((data) => {
-						const { _id, text, ack } = data;
-						message._id = _id;
-						message.msg = text;
+			}
+			const otrRoom = OTR.getInstanceByRoomId(message.rid);
+			return otrRoom.decrypt(message.msg)
+				.then((data) => {
+					const { _id, text, ack } = data;
+					message._id = _id;
+					message.msg = text;
 
-						if (data.ts) {
-							message.ts = data.ts;
-						}
+					if (data.ts) {
+						message.ts = data.ts;
+					}
 
-						if (message.otrAck) {
-							return otrRoom.decrypt(message.otrAck)
-								.then((data) => {
-									if (ack === data.text) {
-										message.t = 'otr-ack';
-									}
-									return message;
-								});
-						} else if (data.userId !== Meteor.userId()) {
-							return otrRoom.encryptText(ack)
-								.then((ack) => {
-									Meteor.call('updateOTRAck', message._id, ack);
-									return message;
-								});
-						} else {
-							return message;
-						}
-					});
-			}
-		} else {
-			if (message.t === 'otr') {
-				message.msg = '';
-			}
-			return Promise.resolve(message);
+					if (message.otrAck) {
+						return otrRoom.decrypt(message.otrAck)
+							.then((data) => {
+								if (ack === data.text) {
+									message.t = 'otr-ack';
+								}
+								return message;
+							});
+					} if (data.userId !== Meteor.userId()) {
+						return otrRoom.encryptText(ack)
+							.then((ack) => {
+								Meteor.call('updateOTRAck', message._id, ack);
+								return message;
+							});
+					}
+					return message;
+				});
+		}
+		if (message.t === 'otr') {
+			message.msg = '';
 		}
+		return Promise.resolve(message);
 	}, promises.priority.HIGH);
 });
diff --git a/app/otr/client/rocketchat.otr.room.js b/app/otr/client/rocketchat.otr.room.js
index 4383f1deb3a..0a852d1eb63 100644
--- a/app/otr/client/rocketchat.otr.room.js
+++ b/app/otr/client/rocketchat.otr.room.js
@@ -6,12 +6,13 @@ import { Tracker } from 'meteor/tracker';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { TAPi18n } from 'meteor/tap:i18n';
 import { TimeSync } from 'meteor/mizzao:timesync';
-import { Notifications } from '../../notifications';
-import { modal } from '../../ui-utils';
-import { OTR } from './rocketchat.otr';
 import _ from 'underscore';
 import toastr from 'toastr';
 
+import { OTR } from './rocketchat.otr';
+import { Notifications } from '../../notifications';
+import { modal } from '../../ui-utils';
+
 OTR.Room = class {
 	constructor(userId, roomId) {
 		this.userId = userId;
diff --git a/app/otr/client/tabBar.js b/app/otr/client/tabBar.js
index b5fa4bf30c8..9df91860dd9 100644
--- a/app/otr/client/tabBar.js
+++ b/app/otr/client/tabBar.js
@@ -1,8 +1,9 @@
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
+
+import { OTR } from './rocketchat.otr';
 import { settings } from '../../settings';
 import { TabBar } from '../../ui-utils';
-import { OTR } from './rocketchat.otr';
 
 Meteor.startup(function() {
 	Tracker.autorun(function() {
diff --git a/app/otr/client/views/otrFlexTab.js b/app/otr/client/views/otrFlexTab.js
index 09420e7eccc..f15f69e4b20 100644
--- a/app/otr/client/views/otrFlexTab.js
+++ b/app/otr/client/views/otrFlexTab.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Template } from 'meteor/templating';
+
 import { OTR } from '../rocketchat.otr';
 import { modal } from '../../../ui-utils';
 import { t } from '../../../utils';
diff --git a/app/otr/server/methods/deleteOldOTRMessages.js b/app/otr/server/methods/deleteOldOTRMessages.js
index 6f560ba0fc0..cce842e976a 100644
--- a/app/otr/server/methods/deleteOldOTRMessages.js
+++ b/app/otr/server/methods/deleteOldOTRMessages.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Subscriptions, Messages } from '../../../models';
 
 Meteor.methods({
diff --git a/app/otr/server/methods/updateOTRAck.js b/app/otr/server/methods/updateOTRAck.js
index fafb36fa3d2..fc48adca642 100644
--- a/app/otr/server/methods/updateOTRAck.js
+++ b/app/otr/server/methods/updateOTRAck.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Messages } from '../../../models';
 
 Meteor.methods({
diff --git a/app/push-notifications/client/tabBar.js b/app/push-notifications/client/tabBar.js
index 41e728ac1a9..ed742ddb685 100644
--- a/app/push-notifications/client/tabBar.js
+++ b/app/push-notifications/client/tabBar.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { TabBar } from '../../ui-utils';
 
 Meteor.startup(function() {
diff --git a/app/push-notifications/client/views/pushNotificationsFlexTab.js b/app/push-notifications/client/views/pushNotificationsFlexTab.js
index f255ce84e67..ecae06e7c84 100644
--- a/app/push-notifications/client/views/pushNotificationsFlexTab.js
+++ b/app/push-notifications/client/views/pushNotificationsFlexTab.js
@@ -2,6 +2,7 @@ import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
+
 import { settings } from '../../../settings';
 import { getUserPreference, handleError, t } from '../../../utils';
 import { popover } from '../../../ui-utils';
@@ -181,7 +182,6 @@ Template.pushNotificationsFlexTab.onCreated(function() {
 					await call('saveNotificationSettings', rid, field, value);
 			}
 			this.original[field].set(this.form[field].get());
-
 		});
 	};
 });
@@ -323,7 +323,7 @@ Template.pushNotificationsFlexTab.events({
 			popoverClass: 'notifications-preferences',
 			template: 'pushNotificationsPopover',
 			data: {
-				change : (value) => instance.form[key].set(key === 'desktopNotificationDuration' ? parseInt(value) : value),
+				change: (value) => instance.form[key].set(key === 'desktopNotificationDuration' ? parseInt(value) : value),
 				value: instance.form[key].get(),
 				options,
 			},
diff --git a/app/push-notifications/server/lib/PushNotification.js b/app/push-notifications/server/lib/PushNotification.js
index c8195835ff5..fcc9b376d88 100644
--- a/app/push-notifications/server/lib/PushNotification.js
+++ b/app/push-notifications/server/lib/PushNotification.js
@@ -1,4 +1,5 @@
 import { Push } from 'meteor/rocketchat:push';
+
 import { settings } from '../../../settings';
 import { metrics } from '../../../metrics';
 import { RocketChatAssets } from '../../../assets';
@@ -15,7 +16,7 @@ export class PushNotification {
 
 		while (i) {
 			hash = ((hash << 5) - hash) + str.charCodeAt(--i);
-			hash = hash & hash; // Convert to 32bit integer
+			hash &= hash; // Convert to 32bit integer
 		}
 		return hash;
 	}
diff --git a/app/push-notifications/server/methods/saveNotificationSettings.js b/app/push-notifications/server/methods/saveNotificationSettings.js
index d63d9af941f..3ddd80299e6 100644
--- a/app/push-notifications/server/methods/saveNotificationSettings.js
+++ b/app/push-notifications/server/methods/saveNotificationSettings.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { Subscriptions } from '../../../models';
 import { getUserNotificationPreference } from '../../../utils';
 
diff --git a/app/reactions/client/init.js b/app/reactions/client/init.js
index a896f59b2c9..942f61b80ff 100644
--- a/app/reactions/client/init.js
+++ b/app/reactions/client/init.js
@@ -1,10 +1,10 @@
 import { Meteor } from 'meteor/meteor';
 import { Blaze } from 'meteor/blaze';
 import { Template } from 'meteor/templating';
+
 import { Rooms, Subscriptions } from '../../models';
 import { MessageAction } from '../../ui-utils';
 import { messageArgs } from '../../ui-utils/client/lib/messageArgs';
-
 import { EmojiPicker } from '../../emoji';
 import { tooltip } from '../../tooltip';
 
@@ -13,7 +13,7 @@ Template.room.events({
 		event.preventDefault();
 		event.stopPropagation();
 		const data = Blaze.getData(event.currentTarget);
-		const { msg:{ rid, _id: mid } } = messageArgs(data);
+		const { msg: { rid, _id: mid } } = messageArgs(data);
 		const user = Meteor.user();
 		const room = Rooms.findOne({ _id: rid });
 
@@ -30,7 +30,7 @@ Template.room.events({
 		event.preventDefault();
 
 		const data = Blaze.getData(event.currentTarget);
-		const { msg:{ _id: mid } } = messageArgs(data);
+		const { msg: { _id: mid } } = messageArgs(data);
 		Meteor.call('setReaction', $(event.currentTarget).data('emoji'), mid, () => {
 			tooltip.hide();
 		});
@@ -68,11 +68,11 @@ Meteor.startup(function() {
 
 			if (!room) {
 				return false;
-			} else if (Array.isArray(room.muted) && room.muted.indexOf(user.username) !== -1 && !room.reactWhenReadOnly) {
+			} if (Array.isArray(room.muted) && room.muted.indexOf(user.username) !== -1 && !room.reactWhenReadOnly) {
 				return false;
-			} else if (!Subscriptions.findOne({ rid: message.rid })) {
+			} if (!Subscriptions.findOne({ rid: message.rid })) {
 				return false;
-			} else if (message.private) {
+			} if (message.private) {
 				return false;
 			}
 
diff --git a/app/reactions/client/methods/setReaction.js b/app/reactions/client/methods/setReaction.js
index e411dcac92f..ea031039daf 100644
--- a/app/reactions/client/methods/setReaction.js
+++ b/app/reactions/client/methods/setReaction.js
@@ -1,8 +1,9 @@
 import { Meteor } from 'meteor/meteor';
+import _ from 'underscore';
+
 import { Messages, Rooms, Subscriptions, EmojiCustom } from '../../../models';
 import { callbacks } from '../../../callbacks';
 import { emoji } from '../../../emoji';
-import _ from 'underscore';
 
 Meteor.methods({
 	setReaction(reaction, messageId) {
@@ -17,11 +18,11 @@ Meteor.methods({
 
 		if (Array.isArray(room.muted) && room.muted.indexOf(user.username) !== -1 && !room.reactWhenReadOnly) {
 			return false;
-		} else if (!Subscriptions.findOne({ rid: message.rid })) {
+		} if (!Subscriptions.findOne({ rid: message.rid })) {
 			return false;
-		} else if (message.private) {
+		} if (message.private) {
 			return false;
-		} else if (!emoji.list[reaction] && EmojiCustom.findByNameOrAlias(reaction).count() === 0) {
+		} if (!emoji.list[reaction] && EmojiCustom.findByNameOrAlias(reaction).count() === 0) {
 			return false;
 		}
 
@@ -54,7 +55,5 @@ Meteor.methods({
 			Messages.setReactions(messageId, message.reactions);
 			callbacks.run('setReaction', messageId, reaction);
 		}
-
-		return;
 	},
 });
diff --git a/app/reactions/server/setReaction.js b/app/reactions/server/setReaction.js
index 38cad11bc4b..9a608de8934 100644
--- a/app/reactions/server/setReaction.js
+++ b/app/reactions/server/setReaction.js
@@ -1,12 +1,13 @@
 import { Meteor } from 'meteor/meteor';
 import { Random } from 'meteor/random';
 import { TAPi18n } from 'meteor/tap:i18n';
+import _ from 'underscore';
+
 import { Messages, EmojiCustom, Subscriptions, Rooms } from '../../models';
 import { Notifications } from '../../notifications';
 import { callbacks } from '../../callbacks';
 import { emoji } from '../../emoji';
 import { isTheLastMessage, msgStream } from '../../lib';
-import _ from 'underscore';
 
 const removeUserReaction = (message, reaction, username) => {
 	message.reactions[reaction].usernames.splice(message.reactions[reaction].usernames.indexOf(username), 1);
@@ -31,7 +32,7 @@ export function setReaction(room, user, message, reaction, shouldReact) {
 			msg: TAPi18n.__('You_have_been_muted', {}, user.language),
 		});
 		return false;
-	} else if (!Subscriptions.findOne({ rid: message.rid })) {
+	} if (!Subscriptions.findOne({ rid: message.rid })) {
 		return false;
 	}
 
@@ -102,7 +103,5 @@ Meteor.methods({
 		}
 
 		setReaction(room, user, message, reaction, shouldReact);
-
-		return;
 	},
 });
diff --git a/app/retention-policy/server/cronPruneMessages.js b/app/retention-policy/server/cronPruneMessages.js
index 3d057a6dd12..cccb3c1f529 100644
--- a/app/retention-policy/server/cronPruneMessages.js
+++ b/app/retention-policy/server/cronPruneMessages.js
@@ -1,8 +1,9 @@
 import { Meteor } from 'meteor/meteor';
+import { SyncedCron } from 'meteor/littledata:synced-cron';
+
 import { settings } from '../../settings';
 import { Rooms, Settings } from '../../models';
 import { cleanRoomHistory } from '../../lib';
-import { SyncedCron } from 'meteor/littledata:synced-cron';
 
 let types = [];
 
@@ -36,7 +37,7 @@ function job() {
 				{ 'retention.enabled': { $exists: false } },
 			],
 			'retention.overrideGlobal': { $ne: true },
-		}, { fields : { _id: 1 } }).forEach(({ _id: rid }) => {
+		}, { fields: { _id: 1 } }).forEach(({ _id: rid }) => {
 			cleanRoomHistory({ rid, latest, oldest, filesOnly, excludePinned, ignoreDiscussion });
 		});
 	});
diff --git a/app/retention-policy/server/startup/settings.js b/app/retention-policy/server/startup/settings.js
index 2280709c4a4..b6b7946a6d6 100644
--- a/app/retention-policy/server/startup/settings.js
+++ b/app/retention-policy/server/startup/settings.js
@@ -1,7 +1,6 @@
 import { settings } from '../../../settings';
 
 settings.addGroup('RetentionPolicy', function() {
-
 	this.add('RetentionPolicy_Enabled', false, {
 		type: 'boolean',
 		public: true,
diff --git a/app/search/client/provider/result.js b/app/search/client/provider/result.js
index 5a477adb179..aa64d32da6b 100644
--- a/app/search/client/provider/result.js
+++ b/app/search/client/provider/result.js
@@ -3,12 +3,11 @@ import { ReactiveVar } from 'meteor/reactive-var';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
+import _ from 'underscore';
 
 import { messageContext } from '../../../ui-utils/client/lib/messageContext';
 import { MessageAction, RoomHistoryManager } from '../../../ui-utils';
-
 import { messageArgs } from '../../../ui-utils/client/lib/messageArgs';
-import _ from 'underscore';
 
 Meteor.startup(function() {
 	MessageAction.addButton({
@@ -64,7 +63,6 @@ Template.DefaultSearchResultTemplate.events({
 		t.data.payload.limit = t.pageSize;
 		t.data.result.set(undefined);
 		t.data.search();
-
 	},
 	'scroll .rocket-default-search-results': _.throttle(function(e, t) {
 		if (e.target.scrollTop >= (e.target.scrollHeight - e.target.clientHeight) && t.hasMore.get()) {
diff --git a/app/search/client/search/search.js b/app/search/client/search/search.js
index 22be63831cc..7e1d475e78b 100644
--- a/app/search/client/search/search.js
+++ b/app/search/client/search/search.js
@@ -7,7 +7,6 @@ import toastr from 'toastr';
 import _ from 'underscore';
 
 Template.RocketSearch.onCreated(function() {
-
 	this.provider = new ReactiveVar();
 	this.isActive = new ReactiveVar(false);
 	this.error = new ReactiveVar();
@@ -25,14 +24,12 @@ Template.RocketSearch.onCreated(function() {
 	});
 
 	const _search = () => {
-
 		const _p = Object.assign({}, this.scope.parentPayload, this.scope.payload);
 
 		if (this.scope.text.get()) {
-
 			this.scope.searching.set(true);
 
-			Meteor.call('rocketchatSearch.search', this.scope.text.get(), { rid:Session.get('openedRoom'), uid:Meteor.userId() }, _p, (err, result) => {
+			Meteor.call('rocketchatSearch.search', this.scope.text.get(), { rid: Session.get('openedRoom'), uid: Meteor.userId() }, _p, (err, result) => {
 				if (err) {
 					toastr.error(TAPi18n.__('Search_message_search_failed'));
 					this.scope.searching.set(false);
@@ -66,7 +63,7 @@ Template.RocketSearch.onCreated(function() {
 
 		const _p = Object.assign({}, this.scope.parentPayload, this.scope.payload);
 
-		Meteor.call('rocketchatSearch.suggest', value, { rid:Session.get('openedRoom'), uid:Meteor.userId() }, this.scope.parentPayload, _p, (err, result) => {
+		Meteor.call('rocketchatSearch.suggest', value, { rid: Session.get('openedRoom'), uid: Meteor.userId() }, this.scope.parentPayload, _p, (err, result) => {
 			if (err) {
 				// TODO what should happen
 			} else {
@@ -77,7 +74,6 @@ Template.RocketSearch.onCreated(function() {
 			}
 		});
 	};
-
 });
 
 Template.RocketSearch.events = {
@@ -104,17 +100,15 @@ Template.RocketSearch.events = {
 		const suggestionActive = t.suggestionActive.get();
 
 		if (evt.keyCode === 40 && suggestions) {
-			t.suggestionActive.set((suggestionActive !== undefined && suggestionActive < suggestions.length - 1) ? suggestionActive + 1 : 0);
+			t.suggestionActive.set(suggestionActive !== undefined && suggestionActive < suggestions.length - 1 ? suggestionActive + 1 : 0);
 			return;
 		}
 
 		if (evt.keyCode === 38 && suggestions) {
-			t.suggestionActive.set((suggestionActive !== undefined && suggestionActive === 0) ? suggestions.length - 1 : suggestionActive - 1);
-			return;
+			t.suggestionActive.set(suggestionActive !== undefined && suggestionActive === 0 ? suggestions.length - 1 : suggestionActive - 1);
 		}
 	},
 	'keyup #message-search': _.debounce(function(evt, t) {
-
 		if (evt.keyCode === 13) {
 			return evt.preventDefault();
 		}
@@ -130,7 +124,6 @@ Template.RocketSearch.events = {
 		} else {
 			t.suggest(value);
 		}
-		return;
 	}, 300),
 	'click .rocket-search-suggestion-item'(e, t) {
 		if (this.action) {
@@ -189,4 +182,3 @@ Template.RocketSearch.onRendered(function() {
 Template.RocketSearch.onDestroyed(function() {
 	$(document).off(`click.suggestionclose.${ this.data.rid }`);
 });
-
diff --git a/app/search/server/events/events.js b/app/search/server/events/events.js
index b739b81ddf6..82fac3527e8 100644
--- a/app/search/server/events/events.js
+++ b/app/search/server/events/events.js
@@ -4,7 +4,6 @@ import { searchProviderService } from '../service/providerService';
 import SearchLogger from '../logger/logger';
 
 class EventService {
-
 	/* eslint no-unused-vars: [2, { "args": "none" }]*/
 	_pushError(name, value, payload) {
 		// TODO implement a (performant) cache
diff --git a/app/search/server/index.js b/app/search/server/index.js
index 12edd159209..e0fd6273a18 100644
--- a/app/search/server/index.js
+++ b/app/search/server/index.js
@@ -5,7 +5,6 @@ import './events/events.js';
 import './provider/defaultProvider.js';
 
 
-
 export {
 	searchProviderService,
 	SearchProvider,
diff --git a/app/search/server/model/provider.js b/app/search/server/model/provider.js
index 6e8c8716f91..84f5c85e497 100644
--- a/app/search/server/model/provider.js
+++ b/app/search/server/model/provider.js
@@ -32,7 +32,6 @@ class Setting {
 
 		if (this._value === undefined) { this._value = this.defaultValue; }
 	}
-
 }
 
 /**
@@ -76,13 +75,11 @@ class Settings {
 }
 
 export default class SearchProvider {
-
 	/**
 	 * Create search provider, key must match /^[a-z0-9]+$/
 	 * @param key
 	 */
 	constructor(key) {
-
 		if (!key.match(/^[A-z0-9]+$/)) { throw new Error(`cannot instantiate provider: ${ key } does not match key-pattern`); }
 
 		SearchLogger.info(`create search provider ${ key }`);
@@ -174,4 +171,3 @@ export default class SearchProvider {
 		resolve();
 	}
 }
-
diff --git a/app/search/server/provider/defaultProvider.js b/app/search/server/provider/defaultProvider.js
index 2b28cc6cbbc..2a731bb8656 100644
--- a/app/search/server/provider/defaultProvider.js
+++ b/app/search/server/provider/defaultProvider.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { searchProviderService } from '../service/providerService';
 import SearchProvider from '../model/provider';
 
@@ -6,7 +7,6 @@ import SearchProvider from '../model/provider';
  * Implements the default provider (based on mongo db search)
  */
 class DefaultProvider extends SearchProvider {
-
 	/**
 	 * Enable settings: GlobalSearchEnabled, PageSize
 	 */
@@ -34,13 +34,11 @@ class DefaultProvider extends SearchProvider {
 	 * Uses Meteor function 'messageSearch'
 	 */
 	search(text, context, payload = {}, callback) {
-
 		const _rid = payload.searchAll ? undefined : context.rid;
 
 		const _limit = payload.limit || this._settings.get('PageSize');
 
 		Meteor.call('messageSearch', text, _rid, _limit, callback);
-
 	}
 }
 
diff --git a/app/search/server/service/providerService.js b/app/search/server/service/providerService.js
index 04ee935f8b8..ac913f8cfb4 100644
--- a/app/search/server/service/providerService.js
+++ b/app/search/server/service/providerService.js
@@ -1,11 +1,11 @@
 import { Meteor } from 'meteor/meteor';
-import { settings } from '../../../settings';
 import _ from 'underscore';
+
 import { validationService } from './validationService';
+import { settings } from '../../../settings';
 import SearchLogger from '../logger/logger';
 
 class SearchProviderService {
-
 	constructor() {
 		this.providers = {};
 		this.activeProvider = undefined;
@@ -17,7 +17,6 @@ class SearchProviderService {
 	 * @param cb a possible callback if provider is active or not (currently not in use)
 	 */
 	use(id) {
-
 		return new Promise((resolve, reject) => {
 			if (!this.providers[id]) { throw new Error(`provider ${ id } cannot be found`); }
 
@@ -31,7 +30,6 @@ class SearchProviderService {
 
 			const stopProvider = () => new Promise((resolve, reject) => {
 				if (this.activeProvider) {
-
 					SearchLogger.debug(`Stopping provider '${ this.activeProvider.key }'`);
 
 					this.activeProvider.stop(resolve, reject);
@@ -46,19 +44,15 @@ class SearchProviderService {
 				SearchLogger.debug(`Start provider '${ id }'`);
 
 				try {
-
 					this.providers[id].run(reason).then(() => {
 						this.activeProvider = this.providers[id];
 						resolve();
 					}, reject);
-
 				} catch (e) {
 					reject(e);
 				}
 			}, reject);
-
 		});
-
 	}
 
 	/**
@@ -79,7 +73,6 @@ class SearchProviderService {
 
 		// add settings for admininistration
 		settings.addGroup('Search', function() {
-
 			const self = this;
 
 			self.add('Search.Provider', 'defaultProvider', {
@@ -94,7 +87,6 @@ class SearchProviderService {
 				.forEach(function(key) {
 					self.section(providers[key].i18nLabel, function() {
 						providers[key].settings.forEach((setting) => {
-
 							const _options = {
 								type: setting.type,
 								...setting.options,
@@ -120,12 +112,10 @@ class SearchProviderService {
 			if (providerId) {
 				this.use(providerId);// TODO do something with success and errors
 			}
-
 		}), 1000);
 
 		settings.get(/^Search\./, configProvider);
 	}
-
 }
 
 export const searchProviderService = new SearchProviderService();
@@ -144,13 +134,10 @@ Meteor.methods({
 	 * @returns {*}
 	 */
 	'rocketchatSearch.search'(text, context, payload) {
-
 		return new Promise((resolve, reject) => {
-
 			payload = payload !== null ? payload : undefined;// TODO is this cleanup necessary?
 
 			try {
-
 				if (!searchProviderService.activeProvider) {
 					throw new Error('Provider currently not active');
 				}
@@ -170,12 +157,10 @@ Meteor.methods({
 		});
 	},
 	'rocketchatSearch.suggest'(text, context, payload) {
-
 		return new Promise((resolve, reject) => {
 			payload = payload !== null ? payload : undefined;// TODO is this cleanup necessary?
 
 			try {
-
 				if (!searchProviderService.activeProvider) { throw new Error('Provider currently not active'); }
 
 				SearchLogger.debug('suggest: ', `\n\tText:${ text }\n\tContext:${ JSON.stringify(context) }\n\tPayload:${ JSON.stringify(payload) }`);
@@ -210,4 +195,3 @@ Meteor.methods({
 		};
 	},
 });
-
diff --git a/app/search/server/service/validationService.js b/app/search/server/service/validationService.js
index a872eda5056..fb3c1dd4674 100644
--- a/app/search/server/service/validationService.js
+++ b/app/search/server/service/validationService.js
@@ -1,12 +1,10 @@
 import { Meteor } from 'meteor/meteor';
+
 import SearchLogger from '../logger/logger';
 import { Users } from '../../../models';
 
 class ValidationService {
-	constructor() {}
-
 	validateSearchResult(result) {
-
 		const subscriptionCache = {};
 
 		const getSubscription = (rid, uid) => {
@@ -34,7 +32,6 @@ class ValidationService {
 		// get subscription for message
 		if (result.message) {
 			result.message.docs.forEach((msg) => {
-
 				const subscription = getSubscription(msg.rid, uid);
 
 				if (subscription) {
diff --git a/app/settings/client/lib/settings.js b/app/settings/client/lib/settings.js
index 3e49f44a826..2ad2d4954f2 100644
--- a/app/settings/client/lib/settings.js
+++ b/app/settings/client/lib/settings.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { ReactiveDict } from 'meteor/reactive-dict';
+
 import { CachedCollection } from '../../../ui-cached-collection';
 import { settings } from '../../lib/settings';
 
diff --git a/app/settings/lib/settings.js b/app/settings/lib/settings.js
index ee0bfe604e8..ab5595f90ac 100644
--- a/app/settings/lib/settings.js
+++ b/app/settings/lib/settings.js
@@ -4,7 +4,7 @@ import _ from 'underscore';
 export const settings = {
 	callbacks: {},
 	regexCallbacks: {},
-	ts: new Date,
+	ts: new Date(),
 	get(_id, callback) {
 		if (callback != null) {
 			settings.onload(_id, callback);
@@ -27,24 +27,23 @@ export const settings = {
 				});
 			}
 			return Meteor.settings[_id] != null && callback(_id, Meteor.settings[_id]);
-		} else {
-			if (!Meteor.settings) {
-				return;
-			}
-			if (_.isRegExp(_id)) {
-				return Object.keys(Meteor.settings).reduce((items, key) => {
-					const value = Meteor.settings[key];
-					if (_id.test(key)) {
-						items.push({
-							key,
-							value,
-						});
-					}
-					return items;
-				}, []);
-			}
-			return Meteor.settings && Meteor.settings[_id];
 		}
+		if (!Meteor.settings) {
+			return;
+		}
+		if (_.isRegExp(_id)) {
+			return Object.keys(Meteor.settings).reduce((items, key) => {
+				const value = Meteor.settings[key];
+				if (_id.test(key)) {
+					items.push({
+						key,
+						value,
+					});
+				}
+				return items;
+			}, []);
+		}
+		return Meteor.settings && Meteor.settings[_id];
 	},
 	set(_id, value, callback) {
 		return Meteor.call('saveSetting', _id, value, callback);
diff --git a/app/settings/server/functions/settings.js b/app/settings/server/functions/settings.js
index a0a53a69ceb..7fdebdcc582 100644
--- a/app/settings/server/functions/settings.js
+++ b/app/settings/server/functions/settings.js
@@ -1,17 +1,18 @@
 import { Meteor } from 'meteor/meteor';
+import _ from 'underscore';
+
 import { settings } from '../../lib/settings';
 import Settings from '../../../models/server/models/Settings';
-import _ from 'underscore';
 
 const blockedSettings = {};
 
 if (process.env.SETTINGS_BLOCKED) {
-	process.env.SETTINGS_BLOCKED.split(',').forEach((settingId) => blockedSettings[settingId] = 1);
+	process.env.SETTINGS_BLOCKED.split(',').forEach((settingId) => { blockedSettings[settingId] = 1; });
 }
 
 const hiddenSettings = {};
 if (process.env.SETTINGS_HIDDEN) {
-	process.env.SETTINGS_HIDDEN.split(',').forEach((settingId) => hiddenSettings[settingId] = 1);
+	process.env.SETTINGS_HIDDEN.split(',').forEach((settingId) => { hiddenSettings[settingId] = 1; });
 }
 
 settings._sorter = {};
@@ -98,7 +99,7 @@ settings.add = function(_id, value, options = {}) {
 	const updateOperations = {
 		$set: options,
 		$setOnInsert: {
-			createdAt: new Date,
+			createdAt: new Date(),
 		},
 	};
 	if (options.editor != null) {
@@ -130,7 +131,7 @@ settings.add = function(_id, value, options = {}) {
 			delete updateOperations.$setOnInsert.editor;
 		}
 	} else {
-		updateOperations.$set.ts = new Date;
+		updateOperations.$set.ts = new Date();
 	}
 	return Settings.upsert({
 		_id,
@@ -157,7 +158,7 @@ settings.addGroup = function(_id, options = {}, cb) {
 	if (options.i18nDescription == null) {
 		options.i18nDescription = `${ _id }_Description`;
 	}
-	options.ts = new Date;
+	options.ts = new Date();
 	options.blocked = false;
 	options.hidden = false;
 	if (blockedSettings[_id] != null) {
@@ -172,7 +173,7 @@ settings.addGroup = function(_id, options = {}, cb) {
 		$set: options,
 		$setOnInsert: {
 			type: 'group',
-			createdAt: new Date,
+			createdAt: new Date(),
 		},
 	});
 	if (cb != null) {
diff --git a/app/setup-wizard/client/final.js b/app/setup-wizard/client/final.js
index a0de3155524..24dacde539b 100644
--- a/app/setup-wizard/client/final.js
+++ b/app/setup-wizard/client/final.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
+
 import { settings } from '../../settings';
 import { Users } from '../../models';
 import { hasRole } from '../../authorization';
@@ -32,7 +33,6 @@ Template.setupWizardFinal.onCreated(function() {
 		const userIsLoggedButIsNotAdmin = userId && !hasRole(userId, 'admin');
 		if (isComplete || noUserLoggedInAndIsNotPending || userIsLoggedButIsNotAdmin) {
 			FlowRouter.go('home');
-			return;
 		}
 	});
 });
diff --git a/app/setup-wizard/client/setupWizard.js b/app/setup-wizard/client/setupWizard.js
index 0d6d8dd1e32..9cebce0ebed 100644
--- a/app/setup-wizard/client/setupWizard.js
+++ b/app/setup-wizard/client/setupWizard.js
@@ -5,12 +5,13 @@ import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
+import toastr from 'toastr';
+
 import { settings } from '../../settings';
 import { callbacks } from '../../callbacks';
 import { hasRole } from '../../authorization';
 import { Users } from '../../models';
 import { t, handleError } from '../../utils';
-import toastr from 'toastr';
 
 const cannotSetup = () => {
 	const showSetupWizard = settings.get('Show_Setup_Wizard');
@@ -36,7 +37,7 @@ const cannotSetup = () => {
 const registerAdminUser = (state, callback) => {
 	const registrationData = Object.entries(state)
 		.filter(([key]) => /registration-/.test(key))
-		.map(([key, value]) => ([key.replace('registration-', ''), value]))
+		.map(([key, value]) => [key.replace('registration-', ''), value])
 		.reduce((o, [key, value]) => ({ ...o, [key]: value }), {});
 
 	Meteor.call('registerUser', registrationData, (error) => {
@@ -50,9 +51,8 @@ const registerAdminUser = (state, callback) => {
 				if (error.error === 'error-invalid-email') {
 					toastr.success(t('We_have_sent_registration_email'));
 					return false;
-				} else {
-					return handleError(error);
 				}
+				return handleError(error);
 			}
 
 			Session.set('forceLogin', false);
@@ -344,19 +344,19 @@ Template.setupWizard.helpers({
 					label: i18nLabel,
 					value: t.state.get(_id),
 					options: (
-						type === 'select' &&
-						values &&
-						values.map(({ i18nLabel, key }) => ({ optionLabel: i18nLabel, optionValue: key }))
+						type === 'select'
+						&& values
+						&& values.map(({ i18nLabel, key }) => ({ optionLabel: i18nLabel, optionValue: key }))
 					) || (
-						type === 'language' &&
-						([{
+						type === 'language'
+						&& [{
 							optionLabel: 'Default',
 							optionValue: '',
 						}].concat(
 							Object.entries(TAPi18n.getLanguages())
 								.map(([key, { name }]) => ({ optionLabel: name, optionValue: key }))
 								.sort((a, b) => a.key - b.key)
-						))
+						)
 					),
 					isValueSelected: (value) => value === t.state.get(_id),
 				})),
diff --git a/app/setup-wizard/server/getSetupWizardParameters.js b/app/setup-wizard/server/getSetupWizardParameters.js
index 9124d6ed16d..b2a178e4be3 100644
--- a/app/setup-wizard/server/getSetupWizardParameters.js
+++ b/app/setup-wizard/server/getSetupWizardParameters.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasRole } from '../../authorization';
 import { Settings } from '../../models';
 
diff --git a/app/slackbridge/server/RocketAdapter.js b/app/slackbridge/server/RocketAdapter.js
index bb395160dd8..bc1d730663c 100644
--- a/app/slackbridge/server/RocketAdapter.js
+++ b/app/slackbridge/server/RocketAdapter.js
@@ -1,13 +1,15 @@
-import _ from 'underscore';
 import util from 'util';
+
+import _ from 'underscore';
 import { Meteor } from 'meteor/meteor';
 import { Accounts } from 'meteor/accounts-base';
 import { Random } from 'meteor/random';
+
+import { logger } from './logger';
 import { callbacks } from '../../callbacks';
 import { settings } from '../../settings';
 import { Messages, Rooms, Users } from '../../models';
 import { createRoom, sendMessage, setUserAvatar } from '../../lib';
-import { logger } from './logger';
 
 export default class RocketAdapter {
 	constructor(slackBridge) {
@@ -84,7 +86,7 @@ export default class RocketAdapter {
 				if (rocketMsg) {
 					this.slackAdapters.forEach((slack) => {
 						const slackChannel = slack.getSlackChannel(rocketMsg.rid);
-						if (null != slackChannel) {
+						if (slackChannel != null) {
 							const slackTS = slack.getTimeStamp(rocketMsg);
 							slack.postReactionAdded(reaction.replace(/:/g, ''), slackChannel.id, slackTS);
 						}
@@ -151,7 +153,6 @@ export default class RocketAdapter {
 
 				// A new message from Rocket.Chat
 				this.processSendMessage(rocketMessage, slack);
-
 			} catch (err) {
 				logger.rocket.error('Unhandled error onMessage', err);
 			}
@@ -299,9 +300,8 @@ export default class RocketAdapter {
 							// If first time trying to create channel fails, could be because of multiple messages received at the same time. Try again once after 1s.
 							Meteor._sleepForMs(1000);
 							return this.findChannel(slackChannelID) || this.addChannel(slackChannelID, true);
-						} else {
-							console.log(e.message);
 						}
+						console.log(e.message);
 					}
 
 					const roomUpdate = {
@@ -522,5 +522,4 @@ export default class RocketAdapter {
 		}
 		return slackMsgTxt;
 	}
-
 }
diff --git a/app/slackbridge/server/SlackAPI.js b/app/slackbridge/server/SlackAPI.js
index a4825cfd05a..a09af11c8e8 100644
--- a/app/slackbridge/server/SlackAPI.js
+++ b/app/slackbridge/server/SlackAPI.js
@@ -1,7 +1,6 @@
 import { HTTP } from 'meteor/http';
 
 export class SlackAPI {
-
 	constructor(apiToken) {
 		this.apiToken = apiToken;
 	}
@@ -114,5 +113,4 @@ export class SlackAPI {
 		});
 		return response && response.data && response.statusCode === 200 && response.data.ok && response.data.user;
 	}
-
 }
diff --git a/app/slackbridge/server/SlackAdapter.js b/app/slackbridge/server/SlackAdapter.js
index 46fa69f694c..7874a780b69 100644
--- a/app/slackbridge/server/SlackAdapter.js
+++ b/app/slackbridge/server/SlackAdapter.js
@@ -1,8 +1,12 @@
 import url from 'url';
 import http from 'http';
 import https from 'https';
+
 import { RTMClient } from '@slack/client';
 import { Meteor } from 'meteor/meteor';
+
+import { logger } from './logger';
+import { SlackAPI } from './SlackAPI';
 import { getUserAvatarURL } from '../../utils/lib/getUserAvatarURL';
 import { Messages, Rooms, Users } from '../../models';
 import { settings } from '../../settings';
@@ -17,11 +21,8 @@ import {
 } from '../../lib';
 import { saveRoomName, saveRoomTopic } from '../../channel-settings';
 import { FileUpload } from '../../file-upload';
-import { logger } from './logger';
-import { SlackAPI } from './SlackAPI';
 
 export default class SlackAdapter {
-
 	constructor(slackBridge) {
 		logger.slack.debug('constructor');
 		this.slackBridge = slackBridge;
@@ -200,8 +201,6 @@ export default class SlackAdapter {
 					logger.slack.error('Unhandled error onChannelLeft', err);
 				}
 			}
-
-
 		}));
 
 		/**
@@ -506,7 +505,7 @@ export default class SlackAdapter {
 	 */
 	addSlackChannel(rocketChID, slackChID) {
 		const ch = this.getSlackChannel(rocketChID);
-		if (null == ch) {
+		if (ch == null) {
 			this.slackChannelRocketBotMembershipMap.set(rocketChID, { id: slackChID, family: slackChID.charAt(0) === 'C' ? 'channels' : 'groups' });
 		}
 	}
@@ -711,7 +710,7 @@ export default class SlackAdapter {
 	processChannelJoin(slackMessage) {
 		logger.slack.debug('Channel join', slackMessage.channel.id);
 		const rocketCh = this.rocket.addChannel(slackMessage.channel);
-		if (null != rocketCh) {
+		if (rocketCh != null) {
 			this.addSlackChannel(rocketCh._id, slackMessage.channel);
 		}
 	}
@@ -955,10 +954,10 @@ export default class SlackAdapter {
 					username: rocketUser.username,
 				},
 				attachments: [{
-					text : this.rocket.convertSlackMsgTxtToRocketTxtFormat(slackMessage.attachments[0].text),
-					author_name : slackMessage.attachments[0].author_subname,
-					author_icon : getUserAvatarURL(slackMessage.attachments[0].author_subname),
-					ts : new Date(parseInt(slackMessage.attachments[0].ts.split('.')[0]) * 1000),
+					text: this.rocket.convertSlackMsgTxtToRocketTxtFormat(slackMessage.attachments[0].text),
+					author_name: slackMessage.attachments[0].author_subname,
+					author_icon: getUserAvatarURL(slackMessage.attachments[0].author_subname),
+					ts: new Date(parseInt(slackMessage.attachments[0].ts.split('.')[0]) * 1000),
 				}],
 			};
 
@@ -967,9 +966,8 @@ export default class SlackAdapter {
 			}
 
 			return rocketMsgObj;
-		} else {
-			logger.slack.error('Pinned item with no attachment');
 		}
+		logger.slack.error('Pinned item with no attachment');
 	}
 
 	processSubtypedMessage(rocketChannel, rocketUser, slackMessage, isImporting) {
@@ -1018,7 +1016,6 @@ export default class SlackAdapter {
 				return this.processPinnedItemMessage(rocketChannel, rocketUser, slackMessage, isImporting);
 			case 'unpinned_item':
 				logger.slack.error('Unpinned item not implemented');
-				return;
 		}
 	}
 
@@ -1166,10 +1163,10 @@ export default class SlackAdapter {
 							username: user.username,
 						},
 						attachments: [{
-							text : this.rocket.convertSlackMsgTxtToRocketTxtFormat(pin.message.text),
-							author_name : user.username,
-							author_icon : getUserAvatarURL(user.username),
-							ts : new Date(parseInt(pin.message.ts.split('.')[0]) * 1000),
+							text: this.rocket.convertSlackMsgTxtToRocketTxtFormat(pin.message.text),
+							author_name: user.username,
+							author_icon: getUserAvatarURL(user.username),
+							ts: new Date(parseInt(pin.message.ts.split('.')[0]) * 1000),
 						}],
 					};
 
@@ -1196,21 +1193,16 @@ export default class SlackAdapter {
 				this.copyPins(rid, this.getSlackChannel(rid));
 
 				return callback();
-			} else {
-				const slack_room = this.postFindChannel(rocketchat_room.name);
-				if (slack_room) {
-					this.addSlackChannel(rid, slack_room.id);
-					return this.importMessages(rid, callback);
-				} else {
-					logger.slack.error('Could not find Slack room with specified name', rocketchat_room.name);
-					return callback(new Meteor.Error('error-slack-room-not-found', 'Could not find Slack room with specified name'));
-				}
 			}
-		} else {
-			logger.slack.error('Could not find Rocket.Chat room with specified id', rid);
-			return callback(new Meteor.Error('error-invalid-room', 'Invalid room'));
+			const slack_room = this.postFindChannel(rocketchat_room.name);
+			if (slack_room) {
+				this.addSlackChannel(rid, slack_room.id);
+				return this.importMessages(rid, callback);
+			}
+			logger.slack.error('Could not find Slack room with specified name', rocketchat_room.name);
+			return callback(new Meteor.Error('error-slack-room-not-found', 'Could not find Slack room with specified name'));
 		}
+		logger.slack.error('Could not find Rocket.Chat room with specified id', rid);
+		return callback(new Meteor.Error('error-invalid-room', 'Invalid room'));
 	}
-
 }
-
diff --git a/app/slackbridge/server/settings.js b/app/slackbridge/server/settings.js
index 06421b51263..9a93cab2132 100644
--- a/app/slackbridge/server/settings.js
+++ b/app/slackbridge/server/settings.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../settings';
 
 Meteor.startup(function() {
diff --git a/app/slackbridge/server/slackbridge.js b/app/slackbridge/server/slackbridge.js
index 953453b874b..0c3e7b9e6d4 100644
--- a/app/slackbridge/server/slackbridge.js
+++ b/app/slackbridge/server/slackbridge.js
@@ -1,13 +1,12 @@
-import { settings } from '../../settings';
 import SlackAdapter from './SlackAdapter.js';
 import RocketAdapter from './RocketAdapter.js';
 import { logger } from './logger';
+import { settings } from '../../settings';
 
 /**
  * SlackBridge interfaces between this Rocket installation and a remote Slack installation.
  */
 class SlackBridgeClass {
-
 	constructor() {
 		this.slackAdapters = [];
 		this.rocket = new RocketAdapter(this);
@@ -105,4 +104,4 @@ class SlackBridgeClass {
 	}
 }
 
-export const SlackBridge = new SlackBridgeClass;
+export const SlackBridge = new SlackBridgeClass();
diff --git a/app/slackbridge/server/slackbridge_import.server.js b/app/slackbridge/server/slackbridge_import.server.js
index 5693839cfc5..3c5e29f03ca 100644
--- a/app/slackbridge/server/slackbridge_import.server.js
+++ b/app/slackbridge/server/slackbridge_import.server.js
@@ -2,10 +2,11 @@ import { Meteor } from 'meteor/meteor';
 import { Match } from 'meteor/check';
 import { Random } from 'meteor/random';
 import { TAPi18n } from 'meteor/tap:i18n';
+
+import { SlackBridge } from './slackbridge';
 import { Rooms } from '../../models';
 import { msgStream } from '../../lib';
 import { slashCommands } from '../../utils';
-import { SlackBridge } from './slackbridge';
 
 function SlackBridgeImport(command, params, item) {
 	if (command !== 'slackbridge-import' || !Match.test(params, String)) {
diff --git a/app/slashcommand-asciiarts/lib/gimme.js b/app/slashcommand-asciiarts/lib/gimme.js
index 1b0ece10ed9..d37d2a60dda 100644
--- a/app/slashcommand-asciiarts/lib/gimme.js
+++ b/app/slashcommand-asciiarts/lib/gimme.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { slashCommands } from '../../utils';
 /*
 * Gimme is a named function that will replace /gimme commands
diff --git a/app/slashcommand-asciiarts/lib/lenny.js b/app/slashcommand-asciiarts/lib/lenny.js
index 59f39c8c756..fc77875bf20 100644
--- a/app/slashcommand-asciiarts/lib/lenny.js
+++ b/app/slashcommand-asciiarts/lib/lenny.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { slashCommands } from '../../utils';
 /*
 * Lenny is a named function that will replace /lenny commands
diff --git a/app/slashcommand-asciiarts/lib/shrug.js b/app/slashcommand-asciiarts/lib/shrug.js
index 776f99577e3..6179f9e2f9b 100644
--- a/app/slashcommand-asciiarts/lib/shrug.js
+++ b/app/slashcommand-asciiarts/lib/shrug.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { slashCommands } from '../../utils';
 /*
 * Shrug is a named function that will replace /shrug commands
diff --git a/app/slashcommand-asciiarts/lib/tableflip.js b/app/slashcommand-asciiarts/lib/tableflip.js
index fc054e18b58..a41c416aab6 100644
--- a/app/slashcommand-asciiarts/lib/tableflip.js
+++ b/app/slashcommand-asciiarts/lib/tableflip.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { slashCommands } from '../../utils';
 /*
 * Tableflip is a named function that will replace /Tableflip commands
diff --git a/app/slashcommand-asciiarts/lib/unflip.js b/app/slashcommand-asciiarts/lib/unflip.js
index 0cc6c3c47e2..ceaec3c18cf 100644
--- a/app/slashcommand-asciiarts/lib/unflip.js
+++ b/app/slashcommand-asciiarts/lib/unflip.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { slashCommands } from '../../utils';
 /*
 * Unflip is a named function that will replace /unflip commands
diff --git a/app/slashcommands-archiveroom/server/server.js b/app/slashcommands-archiveroom/server/server.js
index f4da898c8db..493c4a0d35d 100644
--- a/app/slashcommands-archiveroom/server/server.js
+++ b/app/slashcommands-archiveroom/server/server.js
@@ -2,6 +2,7 @@ import { Meteor } from 'meteor/meteor';
 import { Match } from 'meteor/check';
 import { Random } from 'meteor/random';
 import { TAPi18n } from 'meteor/tap:i18n';
+
 import { Rooms, Messages } from '../../models';
 import { slashCommands } from '../../utils';
 import { Notifications } from '../../notifications';
diff --git a/app/slashcommands-create/server/server.js b/app/slashcommands-create/server/server.js
index a3fb8fe3b71..619a19f2f75 100644
--- a/app/slashcommands-create/server/server.js
+++ b/app/slashcommands-create/server/server.js
@@ -2,6 +2,7 @@ import { Meteor } from 'meteor/meteor';
 import { Match } from 'meteor/check';
 import { Random } from 'meteor/random';
 import { TAPi18n } from 'meteor/tap:i18n';
+
 import { settings } from '../../settings';
 import { Notifications } from '../../notifications';
 import { Rooms } from '../../models';
diff --git a/app/slashcommands-help/server/server.js b/app/slashcommands-help/server/server.js
index a8773215e79..85f9c55bd54 100644
--- a/app/slashcommands-help/server/server.js
+++ b/app/slashcommands-help/server/server.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { Random } from 'meteor/random';
 import { TAPi18n } from 'meteor/tap:i18n';
+
 import { slashCommands } from '../../utils';
 import { Notifications } from '../../notifications';
 
@@ -41,14 +42,13 @@ slashCommands.add('help', function Help(command, params, item) {
 		Notifications.notifyUser(Meteor.userId(), 'message', {
 			_id: Random.id(),
 			rid: item.rid,
-			ts: new Date,
+			ts: new Date(),
 			msg: TAPi18n.__(Object.keys(key)[0], {
 				postProcess: 'sprintf',
 				sprintf: [key[Object.keys(key)[0]]],
 			}, user.language),
 		});
 	});
-
 }, {
 	description: 'Show_the_keyboard_shortcut_list',
 });
diff --git a/app/slashcommands-hide/server/hide.js b/app/slashcommands-hide/server/hide.js
index 20940e37dcc..00e0ab82a9c 100644
--- a/app/slashcommands-hide/server/hide.js
+++ b/app/slashcommands-hide/server/hide.js
@@ -2,6 +2,7 @@ import { Meteor } from 'meteor/meteor';
 import { Match } from 'meteor/check';
 import { Random } from 'meteor/random';
 import { TAPi18n } from 'meteor/tap:i18n';
+
 import { Rooms, Subscriptions } from '../../models';
 import { Notifications } from '../../notifications';
 import { slashCommands } from '../../utils';
@@ -31,7 +32,7 @@ function Hide(command, param, item) {
 			return Notifications.notifyUser(user._id, 'message', {
 				_id: Random.id(),
 				rid: item.rid,
-				ts: new Date,
+				ts: new Date(),
 				msg: TAPi18n.__('Channel_doesnt_exist', {
 					postProcess: 'sprintf',
 					sprintf: [room],
@@ -43,7 +44,7 @@ function Hide(command, param, item) {
 			return Notifications.notifyUser(user._id, 'message', {
 				_id: Random.id(),
 				rid: item.rid,
-				ts: new Date,
+				ts: new Date(),
 				msg: TAPi18n.__('error-logged-user-not-in-room', {
 					postProcess: 'sprintf',
 					sprintf: [room],
@@ -58,7 +59,7 @@ function Hide(command, param, item) {
 			return Notifications.notifyUser(user._id, 'message', {
 				_id: Random.id(),
 				rid: item.rid,
-				ts: new Date,
+				ts: new Date(),
 				msg: TAPi18n.__(error, null, user.language),
 			});
 		}
diff --git a/app/slashcommands-invite/server/server.js b/app/slashcommands-invite/server/server.js
index ceb56462645..cc68561dc3f 100644
--- a/app/slashcommands-invite/server/server.js
+++ b/app/slashcommands-invite/server/server.js
@@ -2,6 +2,7 @@ import { Meteor } from 'meteor/meteor';
 import { Match } from 'meteor/check';
 import { Random } from 'meteor/random';
 import { TAPi18n } from 'meteor/tap:i18n';
+
 import { Notifications } from '../../notifications';
 import { slashCommands } from '../../utils';
 import { Subscriptions } from '../../models';
@@ -13,7 +14,6 @@ import { Subscriptions } from '../../models';
 
 
 function Invite(command, params, item) {
-
 	if (command !== 'invite' || !Match.test(params, String)) {
 		return;
 	}
@@ -33,7 +33,7 @@ function Invite(command, params, item) {
 		Notifications.notifyUser(userId, 'message', {
 			_id: Random.id(),
 			rid: item.rid,
-			ts: new Date,
+			ts: new Date(),
 			msg: TAPi18n.__('User_doesnt_exist', {
 				postProcess: 'sprintf',
 				sprintf: [usernames.join(' @')],
@@ -49,7 +49,7 @@ function Invite(command, params, item) {
 		Notifications.notifyUser(userId, 'message', {
 			_id: Random.id(),
 			rid: item.rid,
-			ts: new Date,
+			ts: new Date(),
 			msg: TAPi18n.__('Username_is_already_in_here', {
 				postProcess: 'sprintf',
 				sprintf: [user.username],
@@ -59,7 +59,6 @@ function Invite(command, params, item) {
 	});
 
 	users.forEach(function(user) {
-
 		try {
 			return Meteor.call('addUserToRoom', {
 				rid: item.rid,
@@ -70,14 +69,14 @@ function Invite(command, params, item) {
 				Notifications.notifyUser(userId, 'message', {
 					_id: Random.id(),
 					rid: item.rid,
-					ts: new Date,
+					ts: new Date(),
 					msg: TAPi18n.__('Cannot_invite_users_to_direct_rooms', null, currentUser.language),
 				});
 			} else {
 				Notifications.notifyUser(userId, 'message', {
 					_id: Random.id(),
 					rid: item.rid,
-					ts: new Date,
+					ts: new Date(),
 					msg: TAPi18n.__(error, null, currentUser.language),
 				});
 			}
diff --git a/app/slashcommands-inviteall/server/server.js b/app/slashcommands-inviteall/server/server.js
index f6e3fa6076b..97a63d8fea2 100644
--- a/app/slashcommands-inviteall/server/server.js
+++ b/app/slashcommands-inviteall/server/server.js
@@ -6,6 +6,7 @@ import { Meteor } from 'meteor/meteor';
 import { Match } from 'meteor/check';
 import { Random } from 'meteor/random';
 import { TAPi18n } from 'meteor/tap:i18n';
+
 import { Rooms, Subscriptions } from '../../models';
 import { slashCommands } from '../../utils';
 import { settings } from '../../settings';
@@ -13,7 +14,6 @@ import { Notifications } from '../../notifications';
 
 function inviteAll(type) {
 	return function inviteAll(command, params, item) {
-
 		if (!/invite\-all-(to|from)/.test(command) || !Match.test(params, String)) {
 			return;
 		}
diff --git a/app/slashcommands-join/server/server.js b/app/slashcommands-join/server/server.js
index fb43c3cb0d3..ef6bb96377c 100644
--- a/app/slashcommands-join/server/server.js
+++ b/app/slashcommands-join/server/server.js
@@ -7,12 +7,12 @@ import { Meteor } from 'meteor/meteor';
 import { Match } from 'meteor/check';
 import { Random } from 'meteor/random';
 import { TAPi18n } from 'meteor/tap:i18n';
+
 import { Rooms, Subscriptions } from '../../models';
 import { Notifications } from '../../notifications';
 import { slashCommands } from '../../utils';
 
 slashCommands.add('join', function Join(command, params, item) {
-
 	if (command !== 'join' || !Match.test(params, String)) {
 		return;
 	}
@@ -27,7 +27,7 @@ slashCommands.add('join', function Join(command, params, item) {
 		Notifications.notifyUser(Meteor.userId(), 'message', {
 			_id: Random.id(),
 			rid: item.rid,
-			ts: new Date,
+			ts: new Date(),
 			msg: TAPi18n.__('Channel_doesnt_exist', {
 				postProcess: 'sprintf',
 				sprintf: [channel],
diff --git a/app/slashcommands-kick/server/server.js b/app/slashcommands-kick/server/server.js
index d6e554fddf6..159503c23b6 100644
--- a/app/slashcommands-kick/server/server.js
+++ b/app/slashcommands-kick/server/server.js
@@ -4,6 +4,7 @@ import { Meteor } from 'meteor/meteor';
 import { Match } from 'meteor/check';
 import { Random } from 'meteor/random';
 import { TAPi18n } from 'meteor/tap:i18n';
+
 import { Notifications } from '../../notifications';
 import { Users, Subscriptions } from '../../models';
 import { slashCommands } from '../../utils';
@@ -24,7 +25,7 @@ const Kick = function(command, params, { rid }) {
 		return Notifications.notifyUser(userId, 'message', {
 			_id: Random.id(),
 			rid,
-			ts: new Date,
+			ts: new Date(),
 			msg: TAPi18n.__('Username_doesnt_exist', {
 				postProcess: 'sprintf',
 				sprintf: [username],
@@ -37,7 +38,7 @@ const Kick = function(command, params, { rid }) {
 		return Notifications.notifyUser(userId, 'message', {
 			_id: Random.id(),
 			rid,
-			ts: new Date,
+			ts: new Date(),
 			msg: TAPi18n.__('Username_is_not_in_this_room', {
 				postProcess: 'sprintf',
 				sprintf: [username],
diff --git a/app/slashcommands-leave/server/leave.js b/app/slashcommands-leave/server/leave.js
index 4e42e13d917..5f21152fba2 100644
--- a/app/slashcommands-leave/server/leave.js
+++ b/app/slashcommands-leave/server/leave.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { Random } from 'meteor/random';
 import { TAPi18n } from 'meteor/tap:i18n';
+
 import { Notifications } from '../../notifications';
 import { slashCommands } from '../../utils';
 
@@ -19,7 +20,7 @@ function Leave(command, params, item) {
 		Notifications.notifyUser(Meteor.userId(), 'message', {
 			_id: Random.id(),
 			rid: item.rid,
-			ts: new Date,
+			ts: new Date(),
 			msg: TAPi18n.__(error, null, Meteor.user().language),
 		});
 	}
diff --git a/app/slashcommands-me/server/me.js b/app/slashcommands-me/server/me.js
index 15321e8ba0a..63aa554be6d 100644
--- a/app/slashcommands-me/server/me.js
+++ b/app/slashcommands-me/server/me.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
-import { slashCommands } from '../../utils';
 import s from 'underscore.string';
 
+import { slashCommands } from '../../utils';
+
 /*
  * Me is a named function that will replace /me commands
  * @param {Object} message - The message object
diff --git a/app/slashcommands-msg/server/server.js b/app/slashcommands-msg/server/server.js
index 937021a3710..a0090669925 100644
--- a/app/slashcommands-msg/server/server.js
+++ b/app/slashcommands-msg/server/server.js
@@ -2,6 +2,7 @@ import { Meteor } from 'meteor/meteor';
 import { Match } from 'meteor/check';
 import { Random } from 'meteor/random';
 import { TAPi18n } from 'meteor/tap:i18n';
+
 import { slashCommands } from '../../utils';
 import { Notifications } from '../../notifications';
 import { Users } from '../../models';
@@ -21,7 +22,7 @@ function Msg(command, params, item) {
 		return	Notifications.notifyUser(Meteor.userId(), 'message', {
 			_id: Random.id(),
 			rid: item.rid,
-			ts: new Date,
+			ts: new Date(),
 			msg: TAPi18n.__('Username_and_message_must_not_be_empty', null, user.language),
 		});
 	}
@@ -33,7 +34,7 @@ function Msg(command, params, item) {
 		Notifications.notifyUser(Meteor.userId(), 'message', {
 			_id: Random.id(),
 			rid: item.rid,
-			ts: new Date,
+			ts: new Date(),
 			msg: TAPi18n.__('Username_doesnt_exist', {
 				postProcess: 'sprintf',
 				sprintf: [targetUsernameOrig],
diff --git a/app/slashcommands-mute/server/mute.js b/app/slashcommands-mute/server/mute.js
index 9dfcd272c20..3b577654231 100644
--- a/app/slashcommands-mute/server/mute.js
+++ b/app/slashcommands-mute/server/mute.js
@@ -2,6 +2,7 @@ import { Meteor } from 'meteor/meteor';
 import { Match } from 'meteor/check';
 import { Random } from 'meteor/random';
 import { TAPi18n } from 'meteor/tap:i18n';
+
 import { slashCommands } from '../../utils';
 import { Users, Subscriptions } from '../../models';
 import { Notifications } from '../../notifications';
@@ -25,7 +26,7 @@ slashCommands.add('mute', function Mute(command, params, item) {
 		Notifications.notifyUser(userId, 'message', {
 			_id: Random.id(),
 			rid: item.rid,
-			ts: new Date,
+			ts: new Date(),
 			msg: TAPi18n.__('Username_doesnt_exist', {
 				postProcess: 'sprintf',
 				sprintf: [username],
@@ -39,7 +40,7 @@ slashCommands.add('mute', function Mute(command, params, item) {
 		Notifications.notifyUser(userId, 'message', {
 			_id: Random.id(),
 			rid: item.rid,
-			ts: new Date,
+			ts: new Date(),
 			msg: TAPi18n.__('Username_is_not_in_this_room', {
 				postProcess: 'sprintf',
 				sprintf: [username],
diff --git a/app/slashcommands-mute/server/unmute.js b/app/slashcommands-mute/server/unmute.js
index 2618890d367..25e79d6442d 100644
--- a/app/slashcommands-mute/server/unmute.js
+++ b/app/slashcommands-mute/server/unmute.js
@@ -2,6 +2,7 @@ import { Meteor } from 'meteor/meteor';
 import { Match } from 'meteor/check';
 import { Random } from 'meteor/random';
 import { TAPi18n } from 'meteor/tap:i18n';
+
 import { slashCommands } from '../../utils';
 import { Users, Subscriptions } from '../../models';
 import { Notifications } from '../../notifications';
@@ -11,7 +12,6 @@ import { Notifications } from '../../notifications';
 */
 
 slashCommands.add('unmute', function Unmute(command, params, item) {
-
 	if (command !== 'unmute' || !Match.test(params, String)) {
 		return;
 	}
@@ -25,7 +25,7 @@ slashCommands.add('unmute', function Unmute(command, params, item) {
 		return Notifications.notifyUser(Meteor.userId(), 'message', {
 			_id: Random.id(),
 			rid: item.rid,
-			ts: new Date,
+			ts: new Date(),
 			msg: TAPi18n.__('Username_doesnt_exist', {
 				postProcess: 'sprintf',
 				sprintf: [username],
@@ -38,7 +38,7 @@ slashCommands.add('unmute', function Unmute(command, params, item) {
 		return Notifications.notifyUser(Meteor.userId(), 'message', {
 			_id: Random.id(),
 			rid: item.rid,
-			ts: new Date,
+			ts: new Date(),
 			msg: TAPi18n.__('Username_is_not_in_this_room', {
 				postProcess: 'sprintf',
 				sprintf: [username],
diff --git a/app/slashcommands-open/client/client.js b/app/slashcommands-open/client/client.js
index a31118ccc60..6f7482b89c1 100644
--- a/app/slashcommands-open/client/client.js
+++ b/app/slashcommands-open/client/client.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { Match } from 'meteor/check';
 import { FlowRouter } from 'meteor/kadira:flow-router';
+
 import { slashCommands, roomTypes } from '../../utils';
 import { ChatSubscription, Subscriptions } from '../../models';
 
@@ -44,7 +45,6 @@ function Open(command, params /* , item*/) {
 		const subscription = Subscriptions.findOne(query);
 		roomTypes.openRouteLink(subscription.t, subscription, FlowRouter.current().queryParams);
 	});
-
 }
 
 slashCommands.add('open', Open, {
diff --git a/app/slashcommands-topic/lib/topic.js b/app/slashcommands-topic/lib/topic.js
index 07a8a941fd2..1bc495e8f27 100644
--- a/app/slashcommands-topic/lib/topic.js
+++ b/app/slashcommands-topic/lib/topic.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { handleError, slashCommands } from '../../utils';
 import { ChatRoom } from '../../models';
 import { callbacks } from '../../callbacks';
@@ -15,9 +16,8 @@ function Topic(command, params, item) {
 				if (err) {
 					if (Meteor.isClient) {
 						return handleError(err);
-					} else {
-						throw err;
 					}
+					throw err;
 				}
 
 				if (Meteor.isClient) {
diff --git a/app/slashcommands-unarchiveroom/server/server.js b/app/slashcommands-unarchiveroom/server/server.js
index 6ddd880c6c9..3d04f7b8b40 100644
--- a/app/slashcommands-unarchiveroom/server/server.js
+++ b/app/slashcommands-unarchiveroom/server/server.js
@@ -2,6 +2,7 @@ import { Meteor } from 'meteor/meteor';
 import { Match } from 'meteor/check';
 import { Random } from 'meteor/random';
 import { TAPi18n } from 'meteor/tap:i18n';
+
 import { Rooms, Messages } from '../../models';
 import { slashCommands } from '../../utils';
 import { Notifications } from '../../notifications';
diff --git a/app/slider/client/rocketchat-slider.js b/app/slider/client/rocketchat-slider.js
index 098146dac1d..ea7edb3000a 100644
--- a/app/slider/client/rocketchat-slider.js
+++ b/app/slider/client/rocketchat-slider.js
@@ -4,7 +4,6 @@ Template.slider.onRendered(function() {
 	const params = this.data;
 
 	const rangeSlider = function() {
-
 		const range = $(`#${ params.id }`);
 		const labelValue = $(`#${ params.id }_value`);
 
diff --git a/app/smarsh-connector/server/functions/generateEml.js b/app/smarsh-connector/server/functions/generateEml.js
index 105ec20b5b2..e60ae2de2b9 100644
--- a/app/smarsh-connector/server/functions/generateEml.js
+++ b/app/smarsh-connector/server/functions/generateEml.js
@@ -1,11 +1,12 @@
 import { Meteor } from 'meteor/meteor';
 import { TAPi18n } from 'meteor/tap:i18n';
+import _ from 'underscore';
+import moment from 'moment';
+
 import { settings } from '../../../settings';
 import { Rooms, Messages, Users, SmarshHistory } from '../../../models';
 import { MessageTypes } from '../../../ui-utils';
 import { smarsh } from '../lib/rocketchat';
-import _ from 'underscore';
-import moment from 'moment';
 import 'moment-timezone';
 
 const start = '<table style="width: 100%; border: 1px solid; border-collapse: collapse; table-layout: fixed; margin-top: 10px; font-size: 12px; word-break: break-word;"><tbody>';
@@ -21,9 +22,8 @@ function _getLink(attachment) {
 
 	if (url.match(/^(https?:)?\/\//i)) {
 		return url;
-	} else {
-		return Meteor.absoluteUrl().replace(/\/$/, '') + __meteor_runtime_config__.ROOT_URL_PATH_PREFIX + url;
 	}
+	return Meteor.absoluteUrl().replace(/\/$/, '') + __meteor_runtime_config__.ROOT_URL_PATH_PREFIX + url;
 }
 
 smarsh.generateEml = () => {
diff --git a/app/smarsh-connector/server/functions/sendEmail.js b/app/smarsh-connector/server/functions/sendEmail.js
index 6c5b59e29ef..9b69b05b3ac 100644
--- a/app/smarsh-connector/server/functions/sendEmail.js
+++ b/app/smarsh-connector/server/functions/sendEmail.js
@@ -5,10 +5,11 @@
 //  files: ['i3nc9l3mn']
 // }
 import _ from 'underscore';
+import { UploadFS } from 'meteor/jalik:ufs';
+
 import * as Mailer from '../../../mailer';
 import { Uploads } from '../../../models';
 import { settings } from '../../../settings';
-import { UploadFS } from 'meteor/jalik:ufs';
 import { smarsh } from '../lib/rocketchat';
 
 smarsh.sendEmail = (data) => {
diff --git a/app/smarsh-connector/server/settings.js b/app/smarsh-connector/server/settings.js
index 2eac794cbb7..ae9379380a8 100644
--- a/app/smarsh-connector/server/settings.js
+++ b/app/smarsh-connector/server/settings.js
@@ -1,5 +1,6 @@
-import { settings } from '../../settings';
 import moment from 'moment';
+
+import { settings } from '../../settings';
 import 'moment-timezone';
 
 settings.addGroup('Smarsh', function addSettings() {
diff --git a/app/smarsh-connector/server/startup.js b/app/smarsh-connector/server/startup.js
index 763a4eb7a20..d0d356322da 100644
--- a/app/smarsh-connector/server/startup.js
+++ b/app/smarsh-connector/server/startup.js
@@ -1,9 +1,10 @@
 import { Meteor } from 'meteor/meteor';
-import { settings } from '../../settings';
 import { SyncedCron } from 'meteor/littledata:synced-cron';
-import { smarsh } from './lib/rocketchat';
 import _ from 'underscore';
 
+import { smarsh } from './lib/rocketchat';
+import { settings } from '../../settings';
+
 const smarshJobName = 'Smarsh EML Connector';
 
 const _addSmarshSyncedCronJob = _.debounce(Meteor.bindEnvironment(function __addSmarshSyncedCronJobDebounced() {
diff --git a/app/sms/server/SMS.js b/app/sms/server/SMS.js
index 0d4adbc91b8..a812307f5a4 100644
--- a/app/sms/server/SMS.js
+++ b/app/sms/server/SMS.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../settings';
 
 export const SMS = {
diff --git a/app/sms/server/index.js b/app/sms/server/index.js
index 2fbb08a89b7..9b8c02811d0 100644
--- a/app/sms/server/index.js
+++ b/app/sms/server/index.js
@@ -1,4 +1,5 @@
 import './settings';
-export { SMS } from './SMS';
 import './services/twilio';
 import './services/voxtelesys';
+
+export { SMS } from './SMS';
diff --git a/app/sms/server/services/twilio.js b/app/sms/server/services/twilio.js
index 12d256cc7bb..b4221c2b2f4 100644
--- a/app/sms/server/services/twilio.js
+++ b/app/sms/server/services/twilio.js
@@ -1,12 +1,14 @@
+import twilio from 'twilio';
+
 import { settings } from '../../../settings';
 import { SMS } from '../SMS';
-import twilio from 'twilio';
 
 class Twilio {
 	constructor() {
 		this.accountSid = settings.get('SMS_Twilio_Account_SID');
 		this.authToken = settings.get('SMS_Twilio_authToken');
 	}
+
 	parse(data) {
 		let numMedia = 0;
 
@@ -55,6 +57,7 @@ class Twilio {
 
 		return returnData;
 	}
+
 	send(fromNumber, toNumber, message) {
 		const client = twilio(this.accountSid, this.authToken);
 
@@ -64,6 +67,7 @@ class Twilio {
 			body: message,
 		});
 	}
+
 	response(/* message */) {
 		return {
 			headers: {
@@ -72,6 +76,7 @@ class Twilio {
 			body: '<Response></Response>',
 		};
 	}
+
 	error(error) {
 		let message = '';
 		if (error.reason) {
diff --git a/app/sms/server/services/voxtelesys.js b/app/sms/server/services/voxtelesys.js
index 93adfcd37ad..b0c55b8482c 100644
--- a/app/sms/server/services/voxtelesys.js
+++ b/app/sms/server/services/voxtelesys.js
@@ -1,7 +1,6 @@
 import { HTTP } from 'meteor/http';
 
 import { settings } from '../../../settings';
-
 import { SMS } from '../SMS';
 
 class Voxtelesys {
@@ -9,6 +8,7 @@ class Voxtelesys {
 		this.authToken = settings.get('SMS_Voxtelesys_authToken');
 		this.URL = settings.get('SMS_Voxtelesys_URL');
 	}
+
 	parse(data) {
 		const returnData = {
 			from: data.from,
@@ -24,6 +24,7 @@ class Voxtelesys {
 
 		return returnData;
 	}
+
 	send(fromNumber, toNumber, message) {
 		const options = {
 			timeout: 30000,
@@ -50,6 +51,7 @@ class Voxtelesys {
 			console.error(`Error connecting to Voxtelesys SMS API: ${ error }`);
 		}
 	}
+
 	response(/* message */) {
 		return {
 			headers: {
@@ -60,6 +62,7 @@ class Voxtelesys {
 			},
 		};
 	}
+
 	error(error) {
 		let message = '';
 		if (error.reason) {
diff --git a/app/sms/server/settings.js b/app/sms/server/settings.js
index fdbb74fc5d3..49441fbcad7 100644
--- a/app/sms/server/settings.js
+++ b/app/sms/server/settings.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../settings';
 
 Meteor.startup(function() {
diff --git a/app/spotify/lib/client/widget.js b/app/spotify/lib/client/widget.js
index d5678ed1e96..275afdb287d 100644
--- a/app/spotify/lib/client/widget.js
+++ b/app/spotify/lib/client/widget.js
@@ -11,7 +11,6 @@ Template.registerHelper('match', (source, regex) => new RegExp(regex).test(sourc
 
 Template.oembedBaseWidget.onCreated(function() {
 	if (this.data && (this.data.meta && /^(music\.song|music\.album)$/.test(this.data.meta.ogType)) && this.data.parsedUrl && this.data.parsedUrl.host === 'open.spotify.com') {
-		return this.data._overrideTemplate = 'oembedSpotifyWidget';
+		this.data._overrideTemplate = 'oembedSpotifyWidget';
 	}
 });
-
diff --git a/app/spotify/lib/spotify.js b/app/spotify/lib/spotify.js
index 2e2bcea6d02..33310ef25a6 100644
--- a/app/spotify/lib/spotify.js
+++ b/app/spotify/lib/spotify.js
@@ -2,10 +2,11 @@
  * Spotify a named function that will process Spotify links or syntaxes (ex: spotify:track:1q6IK1l4qpYykOaWaLJkWG)
  * @param {Object} message - The message object
  */
-import { callbacks } from '../../callbacks';
 import _ from 'underscore';
 import s from 'underscore.string';
 
+import { callbacks } from '../../callbacks';
+
 const process = function(message, source, callback) {
 	if (s.trim(source)) {
 		// Separate text in code blocks and non code blocks
@@ -15,7 +16,7 @@ const process = function(message, source, callback) {
 			// Verify if this part is code
 			const part = msgParts[index];
 
-			if (((part != null ? part.length > 0 : undefined) != null)) {
+			if ((part != null ? part.length > 0 : undefined) != null) {
 				const codeMatch = part.match(/(?:```(\w*)[\n ]?([\s\S]*?)```+?)|(?:`(?:[^`]+)`)/);
 				if (codeMatch == null) {
 					callback(message, msgParts, index, part);
@@ -37,14 +38,13 @@ class Spotify {
 			const re = /(?:^|\s)spotify:([^:\s]+):([^:\s]+)(?::([^:\s]+))?(?::(\S+))?(?:\s|$)/g;
 
 			let match;
-			while ((match = re.exec(part))) {
+			while ((match = re.exec(part)) != null) {
 				const data = _.filter(match.slice(1), (value) => value != null);
 				const path = _.map(data, (value) => _.escape(value)).join('/');
 				const url = `https://open.spotify.com/${ path }`;
 				urls.push({ url, source: `spotify:${ data.join(':') }` });
 				changed = true;
 			}
-
 		});
 
 		// Re-mount message
@@ -65,7 +65,8 @@ class Spotify {
 						msgParts[index] = part.replace(re, `$1<a href="${ item.url }" target="_blank">${ item.source }</a>$2`);
 					}
 				}
-				return message.html = msgParts.join('');
+				message.html = msgParts.join('');
+				return message.html;
 			}
 		});
 
diff --git a/app/statistics/server/functions/get.js b/app/statistics/server/functions/get.js
index 96c1f02eb1c..4b4898a2c9a 100644
--- a/app/statistics/server/functions/get.js
+++ b/app/statistics/server/functions/get.js
@@ -1,6 +1,6 @@
-import _ from 'underscore';
 import os from 'os';
 
+import _ from 'underscore';
 import { Meteor } from 'meteor/meteor';
 import { InstanceStatus } from 'meteor/konecty:multiple-instances-status';
 
@@ -17,7 +17,6 @@ import {
 import { settings } from '../../../settings/server';
 import { Info, getMongoInfo } from '../../../utils/server';
 import { Migrations } from '../../../migrations/server';
-
 import { statistics } from '../statisticsNamespace';
 
 const wizardFields = [
diff --git a/app/statistics/server/functions/save.js b/app/statistics/server/functions/save.js
index 04bb113c7f0..506dd61e3e1 100644
--- a/app/statistics/server/functions/save.js
+++ b/app/statistics/server/functions/save.js
@@ -3,7 +3,7 @@ import { statistics } from '../statisticsNamespace';
 
 statistics.save = function() {
 	const rcStatistics = statistics.get();
-	rcStatistics.createdAt = new Date;
+	rcStatistics.createdAt = new Date();
 	Statistics.insert(rcStatistics);
 	return rcStatistics;
 };
diff --git a/app/statistics/server/index.js b/app/statistics/server/index.js
index d3ea6b2089f..7d5d1f16ea3 100644
--- a/app/statistics/server/index.js
+++ b/app/statistics/server/index.js
@@ -1,5 +1,6 @@
-export { statistics } from './statisticsNamespace';
 import './functions/get';
 import './functions/save';
 import './methods/getStatistics';
 import './startup/monitor';
+
+export { statistics } from './statisticsNamespace';
diff --git a/app/statistics/server/lib/SAUMonitor.js b/app/statistics/server/lib/SAUMonitor.js
index 338c4b923bd..88b983e1b96 100644
--- a/app/statistics/server/lib/SAUMonitor.js
+++ b/app/statistics/server/lib/SAUMonitor.js
@@ -1,10 +1,11 @@
 import { Meteor } from 'meteor/meteor';
 import { Accounts } from 'meteor/accounts-base';
+import { SyncedCron } from 'meteor/littledata:synced-cron';
 import UAParser from 'ua-parser-js';
+
 import { UAParserMobile, UAParserDesktop } from './UAParserCustom';
 import { Sessions } from '../../../models/server';
 import { Logger } from '../../../logger';
-import { SyncedCron } from 'meteor/littledata:synced-cron';
 import { aggregates } from '../../../models/server/models/Sessions';
 
 const getDateObj = (dateTime = new Date()) => ({
@@ -148,13 +149,13 @@ export class SAUMonitorClass {
 			const beforeDateTime = new Date(this._today.year, this._today.month - 1, this._today.day, 23, 59, 59, 999);
 			const nextDateTime = new Date(currentDay.year, currentDay.month - 1, currentDay.day);
 
-			const createSessions = ((objects, ids) => {
+			const createSessions = (objects, ids) => {
 				Sessions.createBatch(objects);
 
 				Meteor.defer(() => {
 					Sessions.updateActiveSessionsByDateAndInstanceIdAndIds({ year, month, day }, this._instanceId, ids, { lastActivityAt: beforeDateTime });
 				});
-			});
+			};
 			this._applyAllServerSessionsBatch(createSessions, { createdAt: nextDateTime, lastActivityAt: nextDateTime, ...currentDay });
 			this._today = currentDay;
 			return;
diff --git a/app/statistics/server/lib/UAParserCustom.js b/app/statistics/server/lib/UAParserCustom.js
index 6557fe73ca9..e3dff8b5a7a 100644
--- a/app/statistics/server/lib/UAParserCustom.js
+++ b/app/statistics/server/lib/UAParserCustom.js
@@ -1,6 +1,6 @@
 import UAParser from 'ua-parser-js';
 
-const mergeDeep = ((target, source) => {
+const mergeDeep = (target, source) => {
 	if (!(typeof target === 'object' && typeof source === 'object')) {
 		return target;
 	}
@@ -20,7 +20,7 @@ const mergeDeep = ((target, source) => {
 	}
 
 	return target;
-});
+};
 
 export const UAParserMobile = {
 	appName: 'RC Mobile',
@@ -138,4 +138,3 @@ export const UAParserDesktop = {
 		};
 	},
 };
-
diff --git a/app/statistics/server/lib/UAParserCustom.tests.js b/app/statistics/server/lib/UAParserCustom.tests.js
index e32c9263b1d..0d7b2da16f3 100644
--- a/app/statistics/server/lib/UAParserCustom.tests.js
+++ b/app/statistics/server/lib/UAParserCustom.tests.js
@@ -1,6 +1,7 @@
 /* eslint-env mocha */
 
 import { expect } from 'chai';
+
 import { UAParserMobile, UAParserDesktop } from './UAParserCustom';
 
 const UAMobile = 'RC Mobile; iOS 12.2; v3.4.0 (250)';
@@ -8,9 +9,7 @@ const UADesktop = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_1) AppleWebKit/5
 const UAChrome = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36';
 
 describe('UAParserCustom', () => {
-
 	describe('UAParserMobile', () => {
-
 		it('should identify mobile UA', () => {
 			expect(UAParserMobile.isMobileApp(UAMobile)).to.be.true;
 		});
@@ -39,11 +38,9 @@ describe('UAParserCustom', () => {
 				},
 			});
 		});
-
 	});
 
 	describe('UAParserDesktop', () => {
-
 		it('should not identify mobile UA', () => {
 			expect(UAParserDesktop.isDesktopApp(UAMobile)).to.be.false;
 		});
@@ -71,7 +68,5 @@ describe('UAParserCustom', () => {
 				},
 			});
 		});
-
 	});
-
 });
diff --git a/app/statistics/server/methods/getStatistics.js b/app/statistics/server/methods/getStatistics.js
index 58d99c7a8e6..e5bfbf6305e 100644
--- a/app/statistics/server/methods/getStatistics.js
+++ b/app/statistics/server/methods/getStatistics.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../authorization';
 import { Statistics } from '../../../models';
 import { statistics } from '../statisticsNamespace';
@@ -15,8 +16,7 @@ Meteor.methods({
 
 		if (refresh) {
 			return statistics.save();
-		} else {
-			return Statistics.findLast();
 		}
+		return Statistics.findLast();
 	},
 });
diff --git a/app/theme/server/server.js b/app/theme/server/server.js
index 7520ca248c3..e6afc217f7a 100644
--- a/app/theme/server/server.js
+++ b/app/theme/server/server.js
@@ -1,8 +1,8 @@
+import crypto from 'crypto';
+
 import _ from 'underscore';
 import less from 'less';
 import Autoprefixer from 'less-plugin-autoprefix';
-import crypto from 'crypto';
-
 import { WebApp } from 'meteor/webapp';
 import { Meteor } from 'meteor/meteor';
 import { Inject } from 'meteor/meteorhacks:inject-initial';
@@ -119,7 +119,6 @@ export const theme = new class {
 			};
 			return settings.add(`theme-${ type }-${ name }`, value, config);
 		}
-
 	}
 
 	addPublicColor(name, value, section, editor = 'color', property) {
@@ -152,7 +151,7 @@ export const theme = new class {
 	getCss() {
 		return settings.get('css') || '';
 	}
-};
+}();
 
 settings.get('css', (key, value = '') => {
 	currentHash = crypto.createHash('sha1').update(value).digest('hex');
diff --git a/app/theme/server/variables.js b/app/theme/server/variables.js
index 1214f7d7ddf..afa654c04a3 100644
--- a/app/theme/server/variables.js
+++ b/app/theme/server/variables.js
@@ -1,5 +1,5 @@
-import { settings } from '../../settings';
 import { theme } from './server';
+import { settings } from '../../settings';
 // TODO: Define registers/getters/setters for packages to work with established
 // 			heirarchy of colors instead of making duplicate definitions
 // TODO: Settings pages to show simple separation of major/minor/addon colors
diff --git a/app/threads/client/flextab/thread.js b/app/threads/client/flextab/thread.js
index d4549c1d4bd..015e2eea89c 100644
--- a/app/threads/client/flextab/thread.js
+++ b/app/threads/client/flextab/thread.js
@@ -1,5 +1,4 @@
 import _ from 'underscore';
-
 import { Mongo } from 'meteor/mongo';
 import { Template } from 'meteor/templating';
 import { ReactiveDict } from 'meteor/reactive-dict';
@@ -57,7 +56,7 @@ Template.thread.helpers({
 			settings: {
 				...result.settings,
 				showReplyButton: false,
-				showreply:false,
+				showreply: false,
 			},
 		};
 	},
@@ -81,7 +80,7 @@ Template.thread.onRendered(function() {
 	const rid = Tracker.nonreactive(() => this.state.get('rid'));
 	const tmid = Tracker.nonreactive(() => this.state.get('tmid'));
 
-	this.chatMessages = new ChatMessages;
+	this.chatMessages = new ChatMessages();
 	this.chatMessages.initializeWrapper(this.find('.js-scroll-thread'));
 	this.chatMessages.initializeInput(this.find('.js-input-message'), { rid, tmid });
 
@@ -165,8 +164,6 @@ Template.thread.onCreated(async function() {
 		Tracker.afterFlush(() => {
 			this.state.set('loading', false);
 		});
-
-
 	}, 500);
 });
 
diff --git a/app/threads/client/flextab/threadlist.js b/app/threads/client/flextab/threadlist.js
index 3a88fb8eed7..64c0dc28d1a 100644
--- a/app/threads/client/flextab/threadlist.js
+++ b/app/threads/client/flextab/threadlist.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Session } from 'meteor/session';
+
 import { TabBar } from '../../../ui-utils/client';
 import { Subscriptions } from '../../../models/client';
 
diff --git a/app/threads/client/flextab/threads.js b/app/threads/client/flextab/threads.js
index b9b5e1b5a9a..781933a6d32 100644
--- a/app/threads/client/flextab/threads.js
+++ b/app/threads/client/flextab/threads.js
@@ -2,7 +2,6 @@ import { Mongo } from 'meteor/mongo';
 import { Tracker } from 'meteor/tracker';
 import { Template } from 'meteor/templating';
 import { ReactiveDict } from 'meteor/reactive-dict';
-
 import _ from 'underscore';
 
 import { lazyloadtick } from '../../../lazy-load';
@@ -11,7 +10,6 @@ import { Messages, Subscriptions } from '../../../models';
 import { messageContext } from '../../../ui-utils/client/lib/messageContext';
 import { messageArgs } from '../../../ui-utils/client/lib/messageArgs';
 import { getConfig } from '../../../ui-utils/client/config';
-
 import { upsert } from '../upsert';
 
 import './threads.html';
@@ -77,7 +75,6 @@ Template.threads.onCreated(async function() {
 	this.rid = rid;
 
 	this.incLimit = () => {
-
 		const { rid, limit } = Tracker.nonreactive(() => this.state.all());
 
 		const count = this.Threads.find({ rid }).count();
@@ -102,7 +99,6 @@ Template.threads.onCreated(async function() {
 		upsert(this.Threads, threads);
 		// threads.forEach(({ _id, ...msg }) => this.Threads.upsert({ _id }, msg));
 		this.state.set('loading', false);
-
 	}, 500);
 
 	Tracker.afterFlush(() => {
diff --git a/app/threads/client/index.js b/app/threads/client/index.js
index 5331d52fbc5..0ed0f40c78e 100644
--- a/app/threads/client/index.js
+++ b/app/threads/client/index.js
@@ -5,4 +5,3 @@ import './threads.css';
 import './messageAction/follow';
 import './messageAction/unfollow';
 import './messageAction/replyInThread';
-
diff --git a/app/threads/server/hooks/afterdeletemessage.js b/app/threads/server/hooks/afterdeletemessage.js
index e7d3ac93d03..40d7c159f74 100644
--- a/app/threads/server/hooks/afterdeletemessage.js
+++ b/app/threads/server/hooks/afterdeletemessage.js
@@ -3,12 +3,10 @@ import { Meteor } from 'meteor/meteor';
 import { callbacks } from '../../../callbacks/server';
 import { settings } from '../../../settings/server';
 import { Messages } from '../../../models/server';
-
 import { undoReply } from '../functions';
 
 Meteor.startup(function() {
 	const fn = function(message) {
-
 		// is a reply from a thread
 		if (message.tmid) {
 			undoReply(message);
@@ -29,5 +27,4 @@ Meteor.startup(function() {
 		}
 		callbacks.add('afterDeleteMessage', fn, callbacks.priority.LOW, 'threads-after-delete-message');
 	});
-
 });
diff --git a/app/threads/server/hooks/aftersavemessage.js b/app/threads/server/hooks/aftersavemessage.js
index b6c35842455..dd9bcf03c46 100644
--- a/app/threads/server/hooks/aftersavemessage.js
+++ b/app/threads/server/hooks/aftersavemessage.js
@@ -8,7 +8,6 @@ import { updateUsersSubscriptions } from '../../../lib/server/lib/notifyUsersOnM
 import { sendMessageNotifications } from '../../../lib/server/lib/sendNotificationsOnMessage';
 
 function notifyUsersOnReply(message, replies, room) {
-
 	// skips this callback if the message was edited
 	if (message.editedAt) {
 		return message;
@@ -26,7 +25,6 @@ const metaData = (message, parentMessage) => {
 };
 
 const notification = (message, room, replies) => {
-
 	// skips this callback if the message was edited
 	if (message.editedAt) {
 		return message;
@@ -50,7 +48,7 @@ const processThreads = (message, room) => {
 
 	const replies = [
 		parentMessage.u._id,
-		...(parentMessage.replies || []),
+		...parentMessage.replies || [],
 	].filter((userId) => userId !== message.u._id);
 
 	notifyUsersOnReply(message, replies, room);
diff --git a/app/threads/server/methods/followMessage.js b/app/threads/server/methods/followMessage.js
index f855babeabb..4ab2e59e294 100644
--- a/app/threads/server/methods/followMessage.js
+++ b/app/threads/server/methods/followMessage.js
@@ -4,7 +4,6 @@ import { check } from 'meteor/check';
 import { Messages } from '../../../models/server';
 import { RateLimiter } from '../../../lib/server';
 import { settings } from '../../../settings/server';
-
 import { follow } from '../functions';
 
 Meteor.methods({
diff --git a/app/threads/server/methods/getThreadMessages.js b/app/threads/server/methods/getThreadMessages.js
index b2e2cb1c26f..dda18338870 100644
--- a/app/threads/server/methods/getThreadMessages.js
+++ b/app/threads/server/methods/getThreadMessages.js
@@ -3,7 +3,6 @@ import { Meteor } from 'meteor/meteor';
 import { Messages, Rooms } from '../../../models/server';
 import { canAccessRoom } from '../../../authorization/server';
 import { settings } from '../../../settings/server';
-
 import { readThread } from '../functions';
 
 const MAX_LIMIT = 100;
@@ -32,7 +31,7 @@ Meteor.methods({
 
 		readThread({ userId: user._id, rid: thread.rid, tmid });
 
-		const result = Messages.findVisibleThreadByThreadId(tmid, { ...(skip && { skip }), ...(limit && { limit }), sort: { ts : -1 } }).fetch();
+		const result = Messages.findVisibleThreadByThreadId(tmid, { ...skip && { skip }, ...limit && { limit }, sort: { ts: -1 } }).fetch();
 
 		return [thread, ...result];
 	},
diff --git a/app/threads/server/methods/getThreadsList.js b/app/threads/server/methods/getThreadsList.js
index 61f2dd01e9d..f32b38887ca 100644
--- a/app/threads/server/methods/getThreadsList.js
+++ b/app/threads/server/methods/getThreadsList.js
@@ -8,7 +8,6 @@ const MAX_LIMIT = 100;
 
 Meteor.methods({
 	getThreadsList({ rid, limit = 50, skip = 0 }) {
-
 		if (limit > MAX_LIMIT) {
 			throw new Meteor.Error('error-not-allowed', `max limit: ${ MAX_LIMIT }`, { method: 'getThreadsList' });
 		}
diff --git a/app/threads/server/methods/unfollowMessage.js b/app/threads/server/methods/unfollowMessage.js
index 4e602747f5a..743d9bd5e71 100644
--- a/app/threads/server/methods/unfollowMessage.js
+++ b/app/threads/server/methods/unfollowMessage.js
@@ -4,7 +4,6 @@ import { check } from 'meteor/check';
 import { Messages } from '../../../models/server';
 import { RateLimiter } from '../../../lib/server';
 import { settings } from '../../../settings/server';
-
 import { unfollow } from '../functions';
 
 Meteor.methods({
diff --git a/app/threads/server/settings.js b/app/threads/server/settings.js
index 644f9a33e88..edc965aaca8 100644
--- a/app/threads/server/settings.js
+++ b/app/threads/server/settings.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../settings';
 
 Meteor.startup(() => {
diff --git a/app/tokenpass/client/roomType.js b/app/tokenpass/client/roomType.js
index c58735e9eca..ba751ad6c83 100644
--- a/app/tokenpass/client/roomType.js
+++ b/app/tokenpass/client/roomType.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { roomTypes, RoomTypeConfig } from '../../utils';
 
 class TokenPassRoomType extends RoomTypeConfig {
diff --git a/app/tokenpass/client/startup.js b/app/tokenpass/client/startup.js
index 2167827595c..1fb9b642e44 100644
--- a/app/tokenpass/client/startup.js
+++ b/app/tokenpass/client/startup.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { ChannelSettings } from '../../channel-settings';
 import { Rooms } from '../../models';
 
diff --git a/app/tokenpass/client/tokenChannelsList.js b/app/tokenpass/client/tokenChannelsList.js
index 4c9cbf9545c..724bd6b966c 100644
--- a/app/tokenpass/client/tokenChannelsList.js
+++ b/app/tokenpass/client/tokenChannelsList.js
@@ -2,6 +2,7 @@ import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Tracker } from 'meteor/tracker';
 import { Template } from 'meteor/templating';
+
 import { Subscriptions } from '../../models';
 
 Template.tokenChannelsList.helpers({
diff --git a/app/tokenpass/client/tokenpassChannelSettings.js b/app/tokenpass/client/tokenpassChannelSettings.js
index da312c3bde7..541d45476aa 100644
--- a/app/tokenpass/client/tokenpassChannelSettings.js
+++ b/app/tokenpass/client/tokenpassChannelSettings.js
@@ -2,9 +2,10 @@ import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
+import toastr from 'toastr';
+
 import { t, handleError } from '../../utils';
 import { ChatRoom } from '../../models';
-import toastr from 'toastr';
 
 Template.channelSettings__tokenpass.helpers({
 	addDisabled() {
@@ -36,7 +37,7 @@ Template.channelSettings__tokenpass.helpers({
 });
 
 Template.channelSettings__tokenpass.onCreated(function() {
-	const room = ChatRoom.findOne(this.data.rid, { fields: { tokenpass : 1 } });
+	const room = ChatRoom.findOne(this.data.rid, { fields: { tokenpass: 1 } });
 
 	this.editing = new ReactiveVar(false);
 	this.initial = room.tokenpass;
@@ -60,10 +61,10 @@ Template.channelSettings__tokenpass.events({
 		e.preventDefault();
 		const instance = Template.instance();
 		const { balance, token, list } = instance;
-		list.set([...list.get().filter((t) => t.token !== token), { token:token.get(), balance: balance.get() }]);
+		list.set([...list.get().filter((t) => t.token !== token), { token: token.get(), balance: balance.get() }]);
 
 
-		[...i.findAll('input')].forEach((el) => el.value = '');
+		[...i.findAll('input')].forEach((el) => { el.value = ''; });
 		return balance.set('') && token.set('');
 	},
 	'click .js-remove'(e, instance) {
@@ -74,7 +75,6 @@ Template.channelSettings__tokenpass.events({
 			return;
 		}
 		list.set(list.get().filter((t) => t.token !== this.token));
-
 	},
 	'click .js-save'(e, i) {
 		e.preventDefault();
@@ -92,7 +92,7 @@ Template.channelSettings__tokenpass.events({
 			i.token.set('');
 			i.balance.set('');
 			i.initial = tokenpass;
-			[...i.findAll('input')].forEach((el) => el.value = '');
+			[...i.findAll('input')].forEach((el) => { el.value = ''; });
 			return toastr.success(TAPi18n.__('Room_tokenpass_config_changed_successfully'));
 		});
 	},
@@ -102,7 +102,7 @@ Template.channelSettings__tokenpass.events({
 		i.list.set(i.initial.tokens);
 		i.token.set('');
 		i.balance.set('');
-		[...i.findAll('input')].forEach((el) => el.value = '');
+		[...i.findAll('input')].forEach((el) => { el.value = ''; });
 	},
 	'change [name=requireAllTokens]'(e, instance) {
 		instance.requireAll.set(e.currentTarget.checked);
diff --git a/app/tokenpass/lib/common.js b/app/tokenpass/lib/common.js
index a1820059f09..02d34320749 100644
--- a/app/tokenpass/lib/common.js
+++ b/app/tokenpass/lib/common.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
+
 import { settings } from '../../settings';
 import { CustomOAuth } from '../../custom-oauth';
 
diff --git a/app/tokenpass/server/cronRemoveUsers.js b/app/tokenpass/server/cronRemoveUsers.js
index 7edf7d1db60..751308b6354 100644
--- a/app/tokenpass/server/cronRemoveUsers.js
+++ b/app/tokenpass/server/cronRemoveUsers.js
@@ -1,8 +1,9 @@
 import { Meteor } from 'meteor/meteor';
-import { Rooms, Subscriptions, Users } from '../../models';
 import { SyncedCron } from 'meteor/littledata:synced-cron';
+
 import { updateUserTokenpassBalances } from './functions/updateUserTokenpassBalances';
 import { Tokenpass } from './Tokenpass';
+import { Rooms, Subscriptions, Users } from '../../models';
 import { removeUserFromRoom } from '../../lib/server/functions/removeUserFromRoom';
 
 function removeUsersFromTokenChannels() {
diff --git a/app/tokenpass/server/functions/getProtectedTokenpassBalances.js b/app/tokenpass/server/functions/getProtectedTokenpassBalances.js
index 93c3c3a055b..c5e0c478bf4 100644
--- a/app/tokenpass/server/functions/getProtectedTokenpassBalances.js
+++ b/app/tokenpass/server/functions/getProtectedTokenpassBalances.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { HTTP } from 'meteor/http';
+
 import { settings } from '../../../settings';
 
 let userAgent = 'Meteor';
diff --git a/app/tokenpass/server/functions/getPublicTokenpassBalances.js b/app/tokenpass/server/functions/getPublicTokenpassBalances.js
index d3b3a94d032..427a8d13135 100644
--- a/app/tokenpass/server/functions/getPublicTokenpassBalances.js
+++ b/app/tokenpass/server/functions/getPublicTokenpassBalances.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { HTTP } from 'meteor/http';
+
 import { settings } from '../../../settings';
 
 let userAgent = 'Meteor';
diff --git a/app/tokenpass/server/functions/saveRoomTokensMinimumBalance.js b/app/tokenpass/server/functions/saveRoomTokensMinimumBalance.js
index c0d31a2d7fa..e2067468114 100644
--- a/app/tokenpass/server/functions/saveRoomTokensMinimumBalance.js
+++ b/app/tokenpass/server/functions/saveRoomTokensMinimumBalance.js
@@ -1,8 +1,9 @@
 import { Meteor } from 'meteor/meteor';
 import { Match } from 'meteor/check';
-import { Rooms } from '../../../models';
 import s from 'underscore.string';
 
+import { Rooms } from '../../../models';
+
 export const saveRoomTokensMinimumBalance = function(rid, roomTokensMinimumBalance) {
 	if (!Match.test(rid, String)) {
 		throw new Meteor.Error('invalid-room', 'Invalid room', {
diff --git a/app/tokenpass/server/functions/updateUserTokenpassBalances.js b/app/tokenpass/server/functions/updateUserTokenpassBalances.js
index 9fe7972e852..3b76e88a42a 100644
--- a/app/tokenpass/server/functions/updateUserTokenpassBalances.js
+++ b/app/tokenpass/server/functions/updateUserTokenpassBalances.js
@@ -1,7 +1,8 @@
-import { Users } from '../../../models';
+import _ from 'underscore';
+
 import { getPublicTokenpassBalances } from './getPublicTokenpassBalances';
 import { getProtectedTokenpassBalances } from './getProtectedTokenpassBalances';
-import _ from 'underscore';
+import { Users } from '../../../models';
 
 export const updateUserTokenpassBalances = function(user) {
 	if (user && user.services && user.services.tokenpass) {
diff --git a/app/tokenpass/server/index.js b/app/tokenpass/server/index.js
index 98577e23a02..ba1cf78e093 100644
--- a/app/tokenpass/server/index.js
+++ b/app/tokenpass/server/index.js
@@ -3,8 +3,9 @@ import './startup';
 import './functions/getProtectedTokenpassBalances';
 import './functions/getPublicTokenpassBalances';
 import './functions/saveRoomTokensMinimumBalance';
-export { updateUserTokenpassBalances } from './functions/updateUserTokenpassBalances';
 import './methods/findTokenChannels';
 import './methods/getChannelTokenpass';
 import './cronRemoveUsers';
+
+export { updateUserTokenpassBalances } from './functions/updateUserTokenpassBalances';
 export { Tokenpass } from './Tokenpass';
diff --git a/app/tokenpass/server/methods/findTokenChannels.js b/app/tokenpass/server/methods/findTokenChannels.js
index 93039a49c42..0a597f8df89 100644
--- a/app/tokenpass/server/methods/findTokenChannels.js
+++ b/app/tokenpass/server/methods/findTokenChannels.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Rooms } from '../../../models';
 import { Tokenpass } from '../Tokenpass';
 
diff --git a/app/tokenpass/server/methods/getChannelTokenpass.js b/app/tokenpass/server/methods/getChannelTokenpass.js
index bd446bfb80f..baf277f4263 100644
--- a/app/tokenpass/server/methods/getChannelTokenpass.js
+++ b/app/tokenpass/server/methods/getChannelTokenpass.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { Rooms } from '../../../models';
 
 Meteor.methods({
diff --git a/app/tokenpass/server/startup.js b/app/tokenpass/server/startup.js
index 6d5384f71ce..459cac9111f 100644
--- a/app/tokenpass/server/startup.js
+++ b/app/tokenpass/server/startup.js
@@ -1,11 +1,12 @@
 import { Meteor } from 'meteor/meteor';
 import { Accounts } from 'meteor/accounts-base';
+
+import { updateUserTokenpassBalances } from './functions/updateUserTokenpassBalances';
+import { Tokenpass } from './Tokenpass';
 import { settings } from '../../settings';
 import { addRoomAccessValidator } from '../../authorization';
 import { Users } from '../../models';
 import { callbacks } from '../../callbacks';
-import { updateUserTokenpassBalances } from './functions/updateUserTokenpassBalances';
-import { Tokenpass } from './Tokenpass';
 
 settings.addGroup('OAuth', function() {
 	this.section('Tokenpass', function() {
diff --git a/app/tooltip/client/rocketchat-tooltip.js b/app/tooltip/client/rocketchat-tooltip.js
index ac902791736..412948a99c2 100644
--- a/app/tooltip/client/rocketchat-tooltip.js
+++ b/app/tooltip/client/rocketchat-tooltip.js
@@ -34,7 +34,6 @@ export const tooltip = {
 
 			this.opened = true;
 		}, 300);
-
 	},
 
 	hide() {
diff --git a/app/ui-account/client/account.js b/app/ui-account/client/account.js
index 004a483693b..64fa7f578c1 100644
--- a/app/ui-account/client/account.js
+++ b/app/ui-account/client/account.js
@@ -1,5 +1,6 @@
 import { Tracker } from 'meteor/tracker';
 import { Template } from 'meteor/templating';
+
 import { SideNav } from '../../ui-utils';
 
 Template.account.onRendered(function() {
diff --git a/app/ui-account/client/accountFlex.js b/app/ui-account/client/accountFlex.js
index 14dfd8fdfb2..0a47182934e 100644
--- a/app/ui-account/client/accountFlex.js
+++ b/app/ui-account/client/accountFlex.js
@@ -1,4 +1,5 @@
 import { Template } from 'meteor/templating';
+
 import { settings } from '../../settings';
 import { hasAllPermission } from '../../authorization';
 import { SideNav, Layout } from '../../ui-utils';
diff --git a/app/ui-account/client/accountIntegrations.js b/app/ui-account/client/accountIntegrations.js
index c610e04b809..a8d9d3916bc 100644
--- a/app/ui-account/client/accountIntegrations.js
+++ b/app/ui-account/client/accountIntegrations.js
@@ -1,9 +1,10 @@
 import { Meteor } from 'meteor/meteor';
 import { Template } from 'meteor/templating';
+import toastr from 'toastr';
+
 import { WebdavAccounts } from '../../models';
 import { modal } from '../../ui-utils';
 import { t } from '../../utils';
-import toastr from 'toastr';
 
 Template.accountIntegrations.helpers({
 	webdavAccounts() {
diff --git a/app/ui-account/client/accountPreferences.js b/app/ui-account/client/accountPreferences.js
index 835f11d19db..247fc078517 100644
--- a/app/ui-account/client/accountPreferences.js
+++ b/app/ui-account/client/accountPreferences.js
@@ -4,14 +4,15 @@ import { Tracker } from 'meteor/tracker';
 import { Reload } from 'meteor/reload';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
+import _ from 'underscore';
+import s from 'underscore.string';
+import toastr from 'toastr';
+
 import { t, handleError, getUserPreference } from '../../utils';
 import { modal, SideNav } from '../../ui-utils';
 import { KonchatNotification } from '../../ui';
 import { settings } from '../../settings';
 import { CustomSounds } from '../../custom-sounds/client';
-import _ from 'underscore';
-import s from 'underscore.string';
-import toastr from 'toastr';
 
 const notificationLabels = {
 	all: 'All_messages',
diff --git a/app/ui-account/client/accountProfile.js b/app/ui-account/client/accountProfile.js
index d6ee828ea62..65316723704 100644
--- a/app/ui-account/client/accountProfile.js
+++ b/app/ui-account/client/accountProfile.js
@@ -4,14 +4,15 @@ import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
+import _ from 'underscore';
+import s from 'underscore.string';
+import toastr from 'toastr';
+
 import { modal, SideNav } from '../../ui-utils';
 import { t, handleError } from '../../utils';
 import { settings } from '../../settings';
 import { Notifications } from '../../notifications';
 import { callbacks } from '../../callbacks';
-import _ from 'underscore';
-import s from 'underscore.string';
-import toastr from 'toastr';
 
 const validateEmail = (email) => /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(email);
 const validateUsername = (username) => {
@@ -131,8 +132,6 @@ Template.accountProfile.helpers({
 		if (!validateEmail(email) || (!validateUsername(username) || usernameAvaliable !== true) || !validateName(realname)) {
 			return ret;
 		}
-
-		return;
 	},
 	allowDeleteOwnAccount() {
 		return settings.get('Accounts_AllowDeleteOwnAccount');
@@ -178,14 +177,14 @@ Template.accountProfile.helpers({
 Template.accountProfile.onCreated(function() {
 	const self = this;
 	const user = Meteor.user();
-	self.dep = new Tracker.Dependency;
+	self.dep = new Tracker.Dependency();
 	self.realname = new ReactiveVar(user.name);
 	self.email = new ReactiveVar(getUserEmailAddress(user));
 	self.username = new ReactiveVar(user.username);
-	self.password = new ReactiveVar;
-	self.confirmationPassword = new ReactiveVar;
-	self.suggestions = new ReactiveVar;
-	self.avatar = new ReactiveVar;
+	self.password = new ReactiveVar();
+	self.confirmationPassword = new ReactiveVar();
+	self.suggestions = new ReactiveVar();
+	self.avatar = new ReactiveVar();
 	self.url = new ReactiveVar('');
 	self.usernameAvaliable = new ReactiveVar(true);
 
@@ -209,11 +208,10 @@ Template.accountProfile.onCreated(function() {
 		const instance = this;
 		if (!newPassword) {
 			return callback();
-		} else if (!settings.get('Accounts_AllowPasswordChange')) {
+		} if (!settings.get('Accounts_AllowPasswordChange')) {
 			toastr.remove();
 			toastr.error(t('Password_Change_Disabled'));
 			instance.clearForm();
-			return;
 		}
 	};
 	this.save = function(typedPassword, cb) {
@@ -250,9 +248,8 @@ Template.accountProfile.onCreated(function() {
 				toastr.error(t('RealName_Change_Disabled'));
 				instance.clearForm();
 				return cb && cb();
-			} else {
-				data.realname = s.trim(self.realname.get());
 			}
+			data.realname = s.trim(self.realname.get());
 		}
 		if (s.trim(self.username.get()) !== user.username) {
 			if (!settings.get('Accounts_AllowUsernameChange')) {
@@ -260,9 +257,8 @@ Template.accountProfile.onCreated(function() {
 				toastr.error(t('Username_Change_Disabled'));
 				instance.clearForm();
 				return cb && cb();
-			} else {
-				data.username = s.trim(self.username.get());
 			}
+			data.username = s.trim(self.username.get());
 		}
 		if (s.trim(self.email.get()) !== getUserEmailAddress(user)) {
 			if (!settings.get('Accounts_AllowEmailChange')) {
@@ -270,9 +266,8 @@ Template.accountProfile.onCreated(function() {
 				toastr.error(t('Email_Change_Disabled'));
 				instance.clearForm();
 				return cb && cb();
-			} else {
-				data.email = s.trim(self.email.get());
 			}
+			data.email = s.trim(self.email.get());
 		}
 		const customFields = {};
 		$('[data-customfield=true]').each(function() {
@@ -317,7 +312,7 @@ const checkAvailability = _.debounce((username, { usernameAvaliable }) => {
 }, 300);
 
 Template.accountProfile.events({
-	'change [data-customfield="true"], input [data-customfield="true"]':_.debounce((e, i) => {
+	'change [data-customfield="true"], input [data-customfield="true"]': _.debounce((e, i) => {
 		i.dep.changed();
 	}, 300),
 	'click .js-select-avatar-initials'() {
@@ -432,7 +427,6 @@ Template.accountProfile.events({
 				}
 
 				$(e.target).removeClass('loading');
-
 			}, 1000);
 		});
 	},
@@ -507,7 +501,7 @@ Template.accountProfile.events({
 				handleError(error);
 			}
 			e.currentTarget.innerHTML = e.currentTarget.innerHTML.replace(' ...', '');
-			return e.currentTarget.disabled = false;
+			e.currentTarget.disabled = false;
 		});
 	},
 	'change .js-select-avatar-upload [type=file]'(event, template) {
diff --git a/app/ui-account/client/avatar/avatar.js b/app/ui-account/client/avatar/avatar.js
index b16e4e71f56..c4b0a902829 100644
--- a/app/ui-account/client/avatar/avatar.js
+++ b/app/ui-account/client/avatar/avatar.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
+
 import { getUserAvatarURL } from '../../../utils/lib/getUserAvatarURL';
 
 Template.avatar.helpers({
diff --git a/app/ui-account/client/avatar/prompt.js b/app/ui-account/client/avatar/prompt.js
index 664253c818f..1d5d651e991 100644
--- a/app/ui-account/client/avatar/prompt.js
+++ b/app/ui-account/client/avatar/prompt.js
@@ -3,19 +3,20 @@ import { ReactiveVar } from 'meteor/reactive-var';
 import { Tracker } from 'meteor/tracker';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
+import s from 'underscore.string';
+import toastr from 'toastr';
+
 import { settings } from '../../../settings';
 import { callbacks } from '../../../callbacks';
 import { SideNav } from '../../../ui-utils';
 import { t } from '../../../utils';
 import { mime } from '../../../utils/lib/mimeTypes';
 import { fileUploadHandler } from '../../../file-upload';
-import s from 'underscore.string';
-import toastr from 'toastr';
 
 Template.avatarPrompt.onCreated(function() {
 	const self = this;
-	self.suggestions = new ReactiveVar;
-	self.upload = new ReactiveVar;
+	self.suggestions = new ReactiveVar();
+	self.upload = new ReactiveVar();
 	self.getSuggestions = function() {
 		self.suggestions.set(undefined);
 		Meteor.call('getAvatarSuggestion', function(error, avatars) {
diff --git a/app/ui-admin/client/admin.js b/app/ui-admin/client/admin.js
index f2ad5770a40..0167a036e68 100644
--- a/app/ui-admin/client/admin.js
+++ b/app/ui-admin/client/admin.js
@@ -6,13 +6,14 @@ import { Tracker } from 'meteor/tracker';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
+import _ from 'underscore';
+import s from 'underscore.string';
+import toastr from 'toastr';
+
 import { settings } from '../../settings';
 import { SideNav, modal } from '../../ui-utils';
 import { t, handleError } from '../../utils';
 import { CachedCollection } from '../../ui-cached-collection';
-import _ from 'underscore';
-import s from 'underscore.string';
-import toastr from 'toastr';
 
 const TempSettings = new Mongo.Collection(null);
 
@@ -188,11 +189,10 @@ Template.admin.helpers({
 		});
 		if (found === enableQuery.length) {
 			return {};
-		} else {
-			return {
-				disabled: 'disabled',
-			};
 		}
+		return {
+			disabled: 'disabled',
+		};
 	},
 	isReadonly() {
 		if (this.readonly === true) {
@@ -444,7 +444,6 @@ Template.admin.events({
 			}
 			toastr.success(TAPi18n.__('Settings_updated'));
 		});
-
 	},
 	'click .rc-header__section-button .refresh-clients'() {
 		Meteor.call('refreshClients', function() {
@@ -480,9 +479,8 @@ Template.admin.events({
 		return Meteor.call('refreshOAuthService', function(err) {
 			if (err) {
 				return handleError(err);
-			} else {
-				return toastr.success(TAPi18n.__('Done'));
 			}
+			return toastr.success(TAPi18n.__('Done'));
 		});
 	},
 	'click .remove-custom-oauth'() {
diff --git a/app/ui-admin/client/adminFlex.js b/app/ui-admin/client/adminFlex.js
index 0cbbf324548..98929d9c833 100644
--- a/app/ui-admin/client/adminFlex.js
+++ b/app/ui-admin/client/adminFlex.js
@@ -3,6 +3,7 @@ import s from 'underscore.string';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
+
 import { settings } from '../../settings';
 import { CachedCollection } from '../../ui-cached-collection';
 import { menu, SideNav, AdminBox, Layout } from '../../ui-utils/client';
@@ -54,9 +55,8 @@ Template.adminFlex.helpers({
 		}).sort(function(a, b) {
 			if (a.label.toLowerCase() >= b.label.toLowerCase()) {
 				return 1;
-			} else {
-				return -1;
 			}
+			return -1;
 		});
 	},
 	label,
diff --git a/app/ui-admin/client/adminInfo.js b/app/ui-admin/client/adminInfo.js
index 296842b9f75..0fb0397debc 100644
--- a/app/ui-admin/client/adminInfo.js
+++ b/app/ui-admin/client/adminInfo.js
@@ -3,11 +3,12 @@ import { ReactiveVar } from 'meteor/reactive-var';
 import { Tracker } from 'meteor/tracker';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
+import s from 'underscore.string';
+import moment from 'moment';
+
 import { handleError, Info } from '../../utils';
 import { hasAllPermission } from '../../authorization';
 import { SideNav } from '../../ui-utils';
-import s from 'underscore.string';
-import moment from 'moment';
 
 Template.adminInfo.helpers({
 	isReady() {
@@ -68,9 +69,8 @@ Template.adminInfo.events({
 			instance.ready.set(true);
 			if (error) {
 				return handleError(error);
-			} else {
-				return instance.statistics.set(statistics);
 			}
+			return instance.statistics.set(statistics);
 		});
 	},
 });
diff --git a/app/ui-admin/client/rooms/adminRoomInfo.js b/app/ui-admin/client/rooms/adminRoomInfo.js
index 9315413c6ab..53695b9af36 100644
--- a/app/ui-admin/client/rooms/adminRoomInfo.js
+++ b/app/ui-admin/client/rooms/adminRoomInfo.js
@@ -3,14 +3,15 @@ import { ReactiveVar } from 'meteor/reactive-var';
 import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
+import toastr from 'toastr';
+
+import { AdminChatRoom } from './adminRooms';
 import { t, handleError } from '../../../utils';
 import { call, modal } from '../../../ui-utils';
 import { hasAllPermission, hasAtLeastOnePermission } from '../../../authorization';
 import { ChannelSettings } from '../../../channel-settings';
 import { settings } from '../../../settings';
 import { callbacks } from '../../../callbacks';
-import { AdminChatRoom } from './adminRooms';
-import toastr from 'toastr';
 
 Template.adminRoomInfo.helpers({
 	selectedRoom() {
@@ -38,7 +39,7 @@ Template.adminRoomInfo.helpers({
 		const roomType = room && room.t;
 		if (roomType === 'c') {
 			return t('Channel');
-		} else if (roomType === 'p') {
+		} if (roomType === 'p') {
 			return t('Private_Group');
 		}
 	},
@@ -63,9 +64,8 @@ Template.adminRoomInfo.helpers({
 		const archivationState = room && room.archived;
 		if (archivationState === true) {
 			return t('Room_archivation_state_true');
-		} else {
-			return t('Room_archivation_state_false');
 		}
+		return t('Room_archivation_state_false');
 	},
 	canDeleteRoom() {
 		const room = AdminChatRoom.findOne(this.rid, { fields: { t: 1 } });
@@ -82,9 +82,8 @@ Template.adminRoomInfo.helpers({
 
 		if (readOnly === true) {
 			return t('True');
-		} else {
-			return t('False');
 		}
+		return t('False');
 	},
 });
 
@@ -125,9 +124,9 @@ Template.adminRoomInfo.events({
 	'click [data-edit]'(e, t) {
 		e.preventDefault();
 		t.editing.set($(e.currentTarget).data('edit'));
-		return setTimeout((function() {
+		return setTimeout(function() {
 			t.$('input.editing').focus().select();
-		}), 100);
+		}, 100);
 	},
 	'click .cancel'(e, t) {
 		e.preventDefault();
@@ -140,8 +139,8 @@ Template.adminRoomInfo.events({
 });
 
 Template.adminRoomInfo.onCreated(function() {
-	this.editing = new ReactiveVar;
-	this.roomOwner = new ReactiveVar;
+	this.editing = new ReactiveVar();
+	this.roomOwner = new ReactiveVar();
 	this.validateRoomType = () => {
 		const type = this.$('input[name=roomType]:checked').val();
 		if (type !== 'c' && type !== 'p') {
@@ -214,9 +213,8 @@ Template.adminRoomInfo.onCreated(function() {
 						Meteor.call('saveRoomSettings', rid, 'roomType', val, function(err) {
 							if (err) {
 								return handleError(err);
-							} else {
-								toastr.success(TAPi18n.__('Room_type_changed_successfully'));
 							}
+							toastr.success(TAPi18n.__('Room_type_changed_successfully'));
 						});
 					};
 					if (!AdminChatRoom.findOne(rid, { fields: { default: 1 } }).default) {
diff --git a/app/ui-admin/client/rooms/adminRooms.js b/app/ui-admin/client/rooms/adminRooms.js
index b40d0f7aa9a..e757c47d05e 100644
--- a/app/ui-admin/client/rooms/adminRooms.js
+++ b/app/ui-admin/client/rooms/adminRooms.js
@@ -5,12 +5,13 @@ import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
+import _ from 'underscore';
+import s from 'underscore.string';
+
 import { SideNav, RocketChatTabBar, TabBar } from '../../../ui-utils';
 import { t, roomTypes } from '../../../utils';
 import { hasAllPermission } from '../../../authorization';
 import { ChannelSettings } from '../../../channel-settings';
-import _ from 'underscore';
-import s from 'underscore.string';
 
 export const AdminChatRoom = new Mongo.Collection('rocketchat_room');
 
@@ -51,9 +52,8 @@ Template.adminRooms.helpers({
 	'default'() {
 		if (this.default) {
 			return t('True');
-		} else {
-			return t('False');
 		}
+		return t('False');
 	},
 	flexData() {
 		return {
@@ -64,8 +64,8 @@ Template.adminRooms.helpers({
 		const instance = Template.instance();
 		return function(currentTarget) {
 			if (
-				currentTarget.offsetHeight + currentTarget.scrollTop >=
-				currentTarget.scrollHeight - 100
+				currentTarget.offsetHeight + currentTarget.scrollTop
+				>= currentTarget.scrollHeight - 100
 			) {
 				return instance.limit.set(instance.limit.get() + 50);
 			}
diff --git a/app/ui-admin/client/rooms/channelSettingsDefault.js b/app/ui-admin/client/rooms/channelSettingsDefault.js
index e98394d0487..d584a3af210 100644
--- a/app/ui-admin/client/rooms/channelSettingsDefault.js
+++ b/app/ui-admin/client/rooms/channelSettingsDefault.js
@@ -2,10 +2,11 @@ import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
-import { t, handleError } from '../../../utils';
-import { AdminChatRoom } from './adminRooms';
 import toastr from 'toastr';
 
+import { AdminChatRoom } from './adminRooms';
+import { t, handleError } from '../../../utils';
+
 Template.channelSettingsDefault.helpers({
 	canMakeDefault() {
 		const room = AdminChatRoom.findOne(this.rid, { fields: { t: 1 } });
@@ -25,9 +26,8 @@ Template.channelSettingsDefault.helpers({
 		const room = AdminChatRoom.findOne(this.rid, { fields: { default: 1 } });
 		if (room && room.default) {
 			return t('True');
-		} else {
-			return t('False');
 		}
+		return t('False');
 	},
 });
 
diff --git a/app/ui-admin/client/users/adminInviteUser.js b/app/ui-admin/client/users/adminInviteUser.js
index a7079d540e8..d765d45e9c9 100644
--- a/app/ui-admin/client/users/adminInviteUser.js
+++ b/app/ui-admin/client/users/adminInviteUser.js
@@ -1,11 +1,12 @@
 import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
-import { hasAtLeastOnePermission } from '../../../authorization';
-import { t, handleError } from '../../../utils';
 import _ from 'underscore';
 import toastr from 'toastr';
 
+import { hasAtLeastOnePermission } from '../../../authorization';
+import { t, handleError } from '../../../utils';
+
 Template.adminInviteUser.helpers({
 	isAllowed() {
 		return hasAtLeastOnePermission('bulk-register-user');
diff --git a/app/ui-admin/client/users/adminUserChannels.js b/app/ui-admin/client/users/adminUserChannels.js
index ccc6101cd16..3eeacc50e7a 100644
--- a/app/ui-admin/client/users/adminUserChannels.js
+++ b/app/ui-admin/client/users/adminUserChannels.js
@@ -5,11 +5,10 @@ Template.adminUserChannels.helpers({
 	type() {
 		if (this.t === 'd') {
 			return 'at';
-		} else if (this.t === 'p') {
+		} if (this.t === 'p') {
 			return 'lock';
-		} else {
-			return 'hash';
 		}
+		return 'hash';
 	},
 	route() {
 		switch (this.t) {
diff --git a/app/ui-admin/client/users/adminUsers.js b/app/ui-admin/client/users/adminUsers.js
index 648250b393b..099f89586af 100644
--- a/app/ui-admin/client/users/adminUsers.js
+++ b/app/ui-admin/client/users/adminUsers.js
@@ -3,10 +3,11 @@ import { ReactiveVar } from 'meteor/reactive-var';
 import { Tracker } from 'meteor/tracker';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
-import { SideNav, TabBar, RocketChatTabBar } from '../../../ui-utils';
 import _ from 'underscore';
 import s from 'underscore.string';
 
+import { SideNav, TabBar, RocketChatTabBar } from '../../../ui-utils';
+
 Template.adminUsers.helpers({
 	searchText() {
 		const instance = Template.instance();
@@ -45,8 +46,8 @@ Template.adminUsers.helpers({
 		const instance = Template.instance();
 		return function(currentTarget) {
 			if (
-				currentTarget.offsetHeight + currentTarget.scrollTop >=
-				currentTarget.scrollHeight - 100
+				currentTarget.offsetHeight + currentTarget.scrollTop
+				>= currentTarget.scrollHeight - 100
 			) {
 				return instance.limit.set(instance.limit.get() + 50);
 			}
@@ -70,7 +71,7 @@ Template.adminUsers.onCreated(function() {
 	this.ready = new ReactiveVar(true);
 	this.tabBar = new RocketChatTabBar();
 	this.tabBar.showGroup(FlowRouter.current().route.name);
-	this.tabBarData = new ReactiveVar;
+	this.tabBarData = new ReactiveVar();
 	TabBar.addButton({
 		groups: ['admin-users'],
 		id: 'invite-user',
diff --git a/app/ui-admin/server/publications/adminRooms.js b/app/ui-admin/server/publications/adminRooms.js
index f50d43fc849..f40e92f00e3 100644
--- a/app/ui-admin/server/publications/adminRooms.js
+++ b/app/ui-admin/server/publications/adminRooms.js
@@ -1,9 +1,10 @@
 import { Meteor } from 'meteor/meteor';
-import { hasPermission } from '../../../authorization';
-import { Rooms } from '../../../models';
 import _ from 'underscore';
 import s from 'underscore.string';
 
+import { hasPermission } from '../../../authorization';
+import { Rooms } from '../../../models';
+
 Meteor.publish('adminRooms', function(filter, types, limit) {
 	if (!this.userId) {
 		return this.ready();
@@ -42,11 +43,10 @@ Meteor.publish('adminRooms', function(filter, types, limit) {
 	if (filter && types.length) {
 		// CACHE: can we stop using publications here?
 		return Rooms.findByNameContainingAndTypes(filter, types, options);
-	} else if (types.length) {
+	} if (types.length) {
 		// CACHE: can we stop using publications here?
 		return Rooms.findByTypes(types, options);
-	} else {
-		// CACHE: can we stop using publications here?
-		return Rooms.findByNameContaining(filter, options);
 	}
+	// CACHE: can we stop using publications here?
+	return Rooms.findByNameContaining(filter, options);
 });
diff --git a/app/ui-cached-collection/client/models/CachedCollection.js b/app/ui-cached-collection/client/models/CachedCollection.js
index 72672d5b7a1..a8c3276d271 100644
--- a/app/ui-cached-collection/client/models/CachedCollection.js
+++ b/app/ui-cached-collection/client/models/CachedCollection.js
@@ -5,9 +5,10 @@ import { Accounts } from 'meteor/accounts-base';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Tracker } from 'meteor/tracker';
 import localforage from 'localforage';
+import _ from 'underscore';
+
 import { callbacks } from '../../../callbacks';
 import Notifications from '../../../notifications/client/lib/Notifications';
-import _ from 'underscore';
 
 class CachedCollectionManagerClass {
 	constructor() {
@@ -96,7 +97,7 @@ class CachedCollectionManagerClass {
 	}
 }
 
-export const CachedCollectionManager = new CachedCollectionManagerClass;
+export const CachedCollectionManager = new CachedCollectionManagerClass();
 
 const debug = false;
 
@@ -232,8 +233,8 @@ export class CachedCollection {
 			});
 			this.recomputeCollectionQueries();
 
-			if (this.updatedAt < new Date) {
-				this.updatedAt = new Date;
+			if (this.updatedAt < new Date()) {
+				this.updatedAt = new Date();
 			}
 
 			callback(data);
@@ -320,7 +321,7 @@ export class CachedCollection {
 		}
 
 		localforage.setItem(this.name, {
-			updatedAt: new Date,
+			updatedAt: new Date(),
 			version: this.version,
 			token: this.getToken(),
 			records: data,
diff --git a/app/ui-clean-history/client/lib/startup.js b/app/ui-clean-history/client/lib/startup.js
index 019463c3c34..2c7b1ffaa12 100644
--- a/app/ui-clean-history/client/lib/startup.js
+++ b/app/ui-clean-history/client/lib/startup.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Session } from 'meteor/session';
+
 import { TabBar } from '../../../ui-utils';
 import { hasAllPermission } from '../../../authorization';
 
diff --git a/app/ui-clean-history/client/views/cleanHistory.js b/app/ui-clean-history/client/views/cleanHistory.js
index c988e6de42f..b4b59f6f5d5 100644
--- a/app/ui-clean-history/client/views/cleanHistory.js
+++ b/app/ui-clean-history/client/views/cleanHistory.js
@@ -4,11 +4,12 @@ import { ReactiveVar } from 'meteor/reactive-var';
 import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
 import { AutoComplete } from 'meteor/mizzao:autocomplete';
+import moment from 'moment';
+
 import { ChatRoom } from '../../../models';
 import { t, roomTypes } from '../../../utils';
 import { settings } from '../../../settings';
 import { modal, call } from '../../../ui-utils';
-import moment from 'moment';
 
 const getRoomName = function() {
 	const room = ChatRoom.findOne(Session.get('openedRoom'));
@@ -40,7 +41,7 @@ const purgeWorker = function(roomId, oldest, latest, inclusive, limit, excludePi
 const getTimeZoneOffset = function() {
 	const offset = new Date().getTimezoneOffset();
 	const absOffset = Math.abs(offset);
-	return `${ offset < 0 ? '+' : '-' }${ (`00${ Math.floor(absOffset / 60) }`).slice(-2) }:${ (`00${ (absOffset % 60) }`).slice(-2) }`;
+	return `${ offset < 0 ? '+' : '-' }${ `00${ Math.floor(absOffset / 60) }`.slice(-2) }:${ `00${ (absOffset % 60) }`.slice(-2) }`;
 };
 
 
@@ -149,7 +150,7 @@ Template.cleanHistory.onCreated(function() {
 
 	this.ac = new AutoComplete(
 		{
-			selector:{
+			selector: {
 				item: '.rc-popup-list__item',
 				container: '.rc-popup-list__list',
 			},
@@ -278,7 +279,6 @@ Template.cleanHistory.events({
 		instance.ignoreDiscussion.set(e.target.checked);
 	},
 	'click .js-prune'(e, instance) {
-
 		modal.open({
 			title: t('Are_you_sure'),
 			text: t('Prune_Modal'),
@@ -318,7 +318,7 @@ Template.cleanHistory.events({
 			let count = 0;
 			let result;
 			do {
-				result = await purgeWorker(roomId, fromDate, toDate, metaCleanHistoryInclusive, limit, metaCleanHistoryExcludePinned, ignoreDiscussion, metaCleanHistoryFilesOnly, users);
+				result = await purgeWorker(roomId, fromDate, toDate, metaCleanHistoryInclusive, limit, metaCleanHistoryExcludePinned, ignoreDiscussion, metaCleanHistoryFilesOnly, users); // eslint-disable-line no-await-in-loop
 				count += result;
 			} while (result === limit);
 
diff --git a/app/ui-flextab/client/flexTabBar.js b/app/ui-flextab/client/flexTabBar.js
index 663df68860a..a2f34329e77 100644
--- a/app/ui-flextab/client/flexTabBar.js
+++ b/app/ui-flextab/client/flexTabBar.js
@@ -3,10 +3,11 @@ import { ReactiveVar } from 'meteor/reactive-var';
 import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
+import _ from 'underscore';
+
 import { hasAllPermission } from '../../authorization';
 import { popover, TabBar, Layout } from '../../ui-utils';
 import { t } from '../../utils';
-import _ from 'underscore';
 
 const commonHelpers = {
 	title() {
@@ -29,16 +30,16 @@ function canShowAddUsersButton(rid) {
 		'add-user-to-joined-room', rid
 	);
 	if (
-		!canAddToJoinedRoom &&
-		!canAddToChannel &&
-		Template.instance().tabBar.currentGroup() === 'channel'
+		!canAddToJoinedRoom
+		&& !canAddToChannel
+		&& Template.instance().tabBar.currentGroup() === 'channel'
 	) {
 		return false;
 	}
 	if (
-		!canAddToJoinedRoom &&
-		!canAddToGroup &&
-		Template.instance().tabBar.currentGroup() === 'group'
+		!canAddToJoinedRoom
+		&& !canAddToGroup
+		&& Template.instance().tabBar.currentGroup() === 'group'
 	) {
 		return false;
 	}
@@ -176,7 +177,7 @@ Template.RoomsActionTab.events({
 		$(e.currentTarget).blur();
 		e.preventDefault();
 		const buttons = TabBar.getButtons().filter((button) => filterButtons(button, t.anonymous, t.data.rid));
-		const groups = [{ items:(t.small.get() ? buttons : buttons.slice(TabBar.size)).map((item) => ({
+		const groups = [{ items: (t.small.get() ? buttons : buttons.slice(TabBar.size)).map((item) => ({
 			...item,
 			name: TAPi18n.__(item.i18nTitle),
 			actionDefault: item.action !== action && item.action,
diff --git a/app/ui-flextab/client/tabs/inviteUsers.js b/app/ui-flextab/client/tabs/inviteUsers.js
index af132d5c0fa..d4f1cc8bdfe 100644
--- a/app/ui-flextab/client/tabs/inviteUsers.js
+++ b/app/ui-flextab/client/tabs/inviteUsers.js
@@ -4,11 +4,12 @@ import { Blaze } from 'meteor/blaze';
 import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
 import { AutoComplete } from 'meteor/mizzao:autocomplete';
-import { settings } from '../../../settings';
-import { t } from '../../../utils';
 import { Deps } from 'meteor/deps';
 import toastr from 'toastr';
 
+import { settings } from '../../../settings';
+import { t } from '../../../utils';
+
 const acEvents = {
 	'click .rc-popup-list__item'(e, t) {
 		t.ac.onItemClick(this, e);
@@ -128,14 +129,14 @@ Template.inviteUsers.onRendered(function() {
 
 Template.inviteUsers.onCreated(function() {
 	this.selectedUsers = new ReactiveVar([]);
-	const filter = { exceptions :[Meteor.user().username].concat(this.selectedUsers.get().map((u) => u.username)) };
+	const filter = { exceptions: [Meteor.user().username].concat(this.selectedUsers.get().map((u) => u.username)) };
 	Deps.autorun(() => {
 		filter.exceptions = [Meteor.user().username].concat(this.selectedUsers.get().map((u) => u.username));
 	});
 	this.userFilter = new ReactiveVar('');
 
 	this.ac = new AutoComplete({
-		selector:{
+		selector: {
 			item: '.rc-popup-list__item',
 			container: '.rc-popup-list__list',
 		},
diff --git a/app/ui-flextab/client/tabs/membersList.js b/app/ui-flextab/client/tabs/membersList.js
index b83f2b27d67..1b62302acd4 100644
--- a/app/ui-flextab/client/tabs/membersList.js
+++ b/app/ui-flextab/client/tabs/membersList.js
@@ -2,12 +2,13 @@ import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
+
+import { getActions } from './userActions';
 import { RoomManager, popover } from '../../../ui-utils';
 import { ChatRoom, Subscriptions } from '../../../models';
 import { settings } from '../../../settings';
 import { t, isRtl, handleError, roomTypes } from '../../../utils';
 import { WebRTC } from '../../../webrtc/client';
-import { getActions } from './userActions';
 
 Template.membersList.helpers({
 	ignored() {
@@ -67,7 +68,7 @@ Template.membersList.helpers({
 
 			return {
 				user,
-				status: (onlineUsers[user.username] != null ? onlineUsers[user.username].status : 'offline'),
+				status: onlineUsers[user.username] != null ? onlineUsers[user.username].status : 'offline',
 				muted: Array.from(roomMuted).includes(user.username),
 				utcOffset,
 			};
@@ -197,14 +198,14 @@ Template.membersList.events({
 		const others = _actions.filter((action) => !action.group);
 		const channel = _actions.filter((actions) => actions.group === 'channel');
 		if (others.length) {
-			groups.push({ items:others });
+			groups.push({ items: others });
 		}
 		if (channel.length) {
-			groups.push({ items:channel });
+			groups.push({ items: channel });
 		}
 
 		if (admin.length) {
-			groups.push({ items:admin });
+			groups.push({ items: admin });
 		}
 		columns[0] = { groups };
 
@@ -217,7 +218,7 @@ Template.membersList.events({
 				y: e.currentTarget.getBoundingClientRect().bottom + 100,
 			}),
 			customCSSProperties: () => ({
-				top:  `${ e.currentTarget.getBoundingClientRect().bottom + 10 }px`,
+				top: `${ e.currentTarget.getBoundingClientRect().bottom + 10 }px`,
 				left: isRtl() ? `${ e.currentTarget.getBoundingClientRect().left - 10 }px` : undefined,
 			}),
 			data: {
@@ -228,7 +229,7 @@ Template.membersList.events({
 			offsetHorizontal: 15,
 			activeElement: e.currentTarget,
 			currentTarget: e.currentTarget,
-			onDestroyed:() => {
+			onDestroyed: () => {
 				e.currentTarget.parentElement.classList.remove('active');
 			},
 		};
@@ -236,7 +237,6 @@ Template.membersList.events({
 		popover.open(config);
 	},
 	'autocompleteselect #user-add-search'(event, template, doc) {
-
 		const roomData = Session.get(`roomData${ template.data.rid }`);
 
 		if (roomTypes.roomTypes[roomData.t].canAddUser(roomData)) {
@@ -272,13 +272,13 @@ Template.membersList.events({
 Template.membersList.onCreated(function() {
 	this.showAllUsers = new ReactiveVar(false);
 	this.usersLimit = new ReactiveVar(100);
-	this.userDetail = new ReactiveVar;
+	this.userDetail = new ReactiveVar();
 	this.showDetail = new ReactiveVar(false);
 	this.filter = new ReactiveVar('');
 
 
 	this.users = new ReactiveVar([]);
-	this.total = new ReactiveVar;
+	this.total = new ReactiveVar();
 	this.loading = new ReactiveVar(true);
 	this.loadingMore = new ReactiveVar(false);
 
diff --git a/app/ui-flextab/client/tabs/uploadedFilesList.js b/app/ui-flextab/client/tabs/uploadedFilesList.js
index dc4a2bfc80e..48b4d4128e6 100644
--- a/app/ui-flextab/client/tabs/uploadedFilesList.js
+++ b/app/ui-flextab/client/tabs/uploadedFilesList.js
@@ -1,5 +1,4 @@
 import _ from 'underscore';
-
 import { Meteor } from 'meteor/meteor';
 import { Template } from 'meteor/templating';
 import { Mongo } from 'meteor/mongo';
@@ -152,7 +151,7 @@ Template.uploadedFilesList.events({
 								},
 							],
 						},
-						...(canDelete ? [{
+						...canDelete ? [{
 							items: [
 								{
 									icon: 'trash',
@@ -186,12 +185,12 @@ Template.uploadedFilesList.events({
 									},
 								},
 							],
-						}] : []),
+						}] : [],
 					],
 				},
 			],
 			currentTarget: e.currentTarget,
-			onDestroyed:() => {
+			onDestroyed: () => {
 				e.currentTarget.parentElement.classList.remove('active');
 			},
 		};
diff --git a/app/ui-flextab/client/tabs/userActions.js b/app/ui-flextab/client/tabs/userActions.js
index 1b43da8c88c..c543da62370 100644
--- a/app/ui-flextab/client/tabs/userActions.js
+++ b/app/ui-flextab/client/tabs/userActions.js
@@ -2,13 +2,14 @@ import { Meteor } from 'meteor/meteor';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Session } from 'meteor/session';
 import { TAPi18n } from 'meteor/tap:i18n';
+import toastr from 'toastr';
+
 import { WebRTC } from '../../../webrtc/client';
 import { ChatRoom, ChatSubscription, RoomRoles, Subscriptions } from '../../../models';
 import { modal } from '../../../ui-utils';
 import { t, handleError, roomTypes } from '../../../utils';
 import { settings } from '../../../settings';
 import { hasPermission, hasAllPermission, hasRole } from '../../../authorization';
-import toastr from 'toastr';
 
 const canSetLeader = () => hasAllPermission('set-leader', Session.get('openedRoom'));
 
@@ -20,9 +21,9 @@ const canMuteUser = () => hasAllPermission('mute-user', Session.get('openedRoom'
 
 const canRemoveUser = () => hasAllPermission('remove-user', Session.get('openedRoom'));
 
-const canBlockUser = () => (
+const canBlockUser = () =>
 	ChatSubscription.findOne({ rid: Session.get('openedRoom'), 'u._id': Meteor.userId() }, { fields: { blocker: 1 } })
-).blocker;
+		.blocker;
 
 const canDirectMessageTo = (username) => {
 	const subscription = Subscriptions.findOne({ rid: Session.get('openedRoom') });
@@ -39,18 +40,12 @@ export const getActions = ({ user, directActions, hideAdminControls }) => {
 
 	const isActive = () => user && user.active;
 
-	const isLeader = () => (
-		user && user._id && !!RoomRoles.findOne({ rid: Session.get('openedRoom'), 'u._id': user._id, roles: 'leader' })
-	);
-
-	const isOwner = () => (
-		user && user._id && !!RoomRoles.findOne({ rid: Session.get('openedRoom'), 'u._id': user._id, roles: 'owner' })
-	);
-
-	const isModerator = () => (
-		user && user._id && !!RoomRoles.findOne({ rid: Session.get('openedRoom'), 'u._id': user._id, roles: 'moderator' })
-	);
-
+	const isLeader = () =>
+		user && user._id && !!RoomRoles.findOne({ rid: Session.get('openedRoom'), 'u._id': user._id, roles: 'leader' });
+	const isOwner = () =>
+		user && user._id && !!RoomRoles.findOne({ rid: Session.get('openedRoom'), 'u._id': user._id, roles: 'owner' });
+	const isModerator = () =>
+		user && user._id && !!RoomRoles.findOne({ rid: Session.get('openedRoom'), 'u._id': user._id, roles: 'moderator' });
 	const isInDirectMessageRoom = () => {
 		const room = ChatRoom.findOne(Session.get('openedRoom'));
 		return (room && room.t) === 'd';
@@ -119,7 +114,7 @@ export const getActions = ({ user, directActions, hideAdminControls }) => {
 
 			if (WebRTC.getInstanceByRoomId(Session.get('openedRoom')).callInProgress.get()) {
 				return {
-					icon : 'video',
+					icon: 'video',
 					name: t('Join_video_call'),
 					action() {
 						WebRTC.getInstanceByRoomId(Session.get('openedRoom')).joinCall({
@@ -130,7 +125,7 @@ export const getActions = ({ user, directActions, hideAdminControls }) => {
 				};
 			}
 			return {
-				icon : 'video',
+				icon: 'video',
 				name: t('Start_video_call'),
 				action() {
 					WebRTC.getInstanceByRoomId(Session.get('openedRoom')).startCall({
@@ -158,7 +153,7 @@ export const getActions = ({ user, directActions, hideAdminControls }) => {
 
 			if (WebRTC.getInstanceByRoomId(Session.get('openedRoom')).callInProgress.get()) {
 				return {
-					icon : 'mic',
+					icon: 'mic',
 					name: t('Join_audio_call'),
 					action() {
 						WebRTC.getInstanceByRoomId(Session.get('openedRoom')).joinCall({
@@ -169,7 +164,7 @@ export const getActions = ({ user, directActions, hideAdminControls }) => {
 				};
 			}
 			return {
-				icon : 'mic',
+				icon: 'mic',
 				name: t('Start_audio_call'),
 				action() {
 					WebRTC.getInstanceByRoomId(Session.get('openedRoom')).startCall({
@@ -184,14 +179,14 @@ export const getActions = ({ user, directActions, hideAdminControls }) => {
 			}
 			if (canBlockUser()) {
 				return {
-					icon : 'ban',
-					name:t('Unblock_User'),
+					icon: 'ban',
+					name: t('Unblock_User'),
 					action: prevent(getUser, ({ _id }) => Meteor.call('unblockUser', { rid: Session.get('openedRoom'), blocked: _id }, success(() => toastr.success(t('User_is_unblocked'))))),
 				};
 			}
 			return {
-				icon : 'ban',
-				name:t('Block_User'),
+				icon: 'ban',
+				name: t('Block_User'),
 				modifier: 'alert',
 				action: prevent(getUser, ({ _id }) => Meteor.call('blockUser', { rid: Session.get('openedRoom'), blocked: _id }, success(() => toastr.success(t('User_is_blocked'))))),
 			};
@@ -202,7 +197,7 @@ export const getActions = ({ user, directActions, hideAdminControls }) => {
 			if (isOwner()) {
 				return {
 					group: 'channel',
-					name:t('Remove_as_owner'),
+					name: t('Remove_as_owner'),
 					icon: 'shield-check',
 					action: prevent(getUser, ({ _id, username }) => {
 						const userOwner = RoomRoles.findOne({ rid: Session.get('openedRoom'), 'u._id': _id, roles: 'owner' }, { fields: { _id: 1 } });
@@ -228,7 +223,6 @@ export const getActions = ({ user, directActions, hideAdminControls }) => {
 						const room = ChatRoom.findOne(Session.get('openedRoom'));
 						toastr.success(TAPi18n.__('User__username__is_now_a_owner_of__room_name_', { username, room_name: roomTypes.getRoomName(room.t, room) }));
 					}));
-
 				}),
 			};
 		}, () => {
@@ -254,7 +248,7 @@ export const getActions = ({ user, directActions, hideAdminControls }) => {
 			}
 			return {
 				group: 'channel',
-				name:t('Set_as_leader'),
+				name: t('Set_as_leader'),
 				icon: 'shield-alt',
 				action: prevent(getUser, ({ _id, username }) => {
 					const userLeader = RoomRoles.findOne({ rid: Session.get('openedRoom'), 'u._id': _id, roles: 'leader' }, { fields: { _id: 1 } });
@@ -268,7 +262,6 @@ export const getActions = ({ user, directActions, hideAdminControls }) => {
 				}),
 			};
 		}, () => {
-
 			if (!directActions || !canSetModerator()) {
 				return;
 			}
@@ -311,16 +304,16 @@ export const getActions = ({ user, directActions, hideAdminControls }) => {
 			if (isIgnored()) {
 				return {
 					group: 'channel',
-					icon : 'ban',
+					icon: 'ban',
 					name: t('Unignore'),
-					action: prevent(getUser, ({ _id }) => Meteor.call('ignoreUser', { rid: Session.get('openedRoom'), userId:_id, ignore: false }, success(() => toastr.success(t('User_has_been_unignored'))))),
+					action: prevent(getUser, ({ _id }) => Meteor.call('ignoreUser', { rid: Session.get('openedRoom'), userId: _id, ignore: false }, success(() => toastr.success(t('User_has_been_unignored'))))),
 				};
 			}
 			return {
 				group: 'channel',
-				icon : 'ban',
+				icon: 'ban',
 				name: t('Ignore'),
-				action: prevent(getUser, ({ _id }) => Meteor.call('ignoreUser', { rid: Session.get('openedRoom'), userId:_id, ignore: true }, success(() => toastr.success(t('User_has_been_ignored'))))),
+				action: prevent(getUser, ({ _id }) => Meteor.call('ignoreUser', { rid: Session.get('openedRoom'), userId: _id, ignore: true }, success(() => toastr.success(t('User_has_been_ignored'))))),
 			};
 		}, () => {
 			if (!directActions || !canMuteUser()) {
@@ -329,9 +322,9 @@ export const getActions = ({ user, directActions, hideAdminControls }) => {
 			if (isMuted()) {
 				return {
 					group: 'channel',
-					icon : 'mic',
+					icon: 'mic',
 					name: t('Unmute_user'),
-					action:prevent(getUser, ({ username }) => {
+					action: prevent(getUser, ({ username }) => {
 						const rid = Session.get('openedRoom');
 						if (!hasAllPermission('mute-user', rid)) {
 							return toastr.error(TAPi18n.__('error-not-allowed'));
@@ -342,7 +335,7 @@ export const getActions = ({ user, directActions, hideAdminControls }) => {
 			}
 			return {
 				group: 'channel',
-				icon : 'mute',
+				icon: 'mute',
 				name: t('Mute_user'),
 				action: prevent(getUser, ({ username }) => {
 					const rid = Session.get('openedRoom');
@@ -407,7 +400,7 @@ export const getActions = ({ user, directActions, hideAdminControls }) => {
 			}),
 			condition: () => directActions && canRemoveUser(),
 		}, {
-			icon : 'edit',
+			icon: 'edit',
 			name: 'Edit',
 			group: 'admin',
 			condition: () => !hideAdminControls && hasPermission('edit-other-user-info'),
@@ -415,7 +408,7 @@ export const getActions = ({ user, directActions, hideAdminControls }) => {
 				this.editingUser.set(user._id);
 			}),
 		}, {
-			icon : 'trash',
+			icon: 'trash',
 			name: 'Delete',
 			action: prevent(getUser, ({ _id }) => {
 				const erasureType = settings.get('Message_ErasureType');
@@ -453,14 +446,14 @@ export const getActions = ({ user, directActions, hideAdminControls }) => {
 			if (hasAdminRole()) {
 				return {
 					group: 'admin',
-					icon : 'key',
+					icon: 'key',
 					name: t('Remove_Admin'),
 					action: prevent(getUser, ({ _id }) => Meteor.call('setAdminStatus', _id, false, success(() => toastr.success(t('User_is_no_longer_an_admin'))))),
 				};
 			}
 			return {
 				group: 'admin',
-				icon : 'key',
+				icon: 'key',
 				name: t('Make_Admin'),
 				action: prevent(getUser, ({ _id }) => Meteor.call('setAdminStatus', _id, true, success(() => toastr.success(t('User_is_now_an_admin'))))),
 			};
@@ -471,7 +464,7 @@ export const getActions = ({ user, directActions, hideAdminControls }) => {
 			if (isActive()) {
 				return {
 					group: 'admin',
-					icon : 'user',
+					icon: 'user',
 					id: 'deactivate',
 					name: t('Deactivate'),
 					modifier: 'alert',
diff --git a/app/ui-flextab/client/tabs/userEdit.js b/app/ui-flextab/client/tabs/userEdit.js
index cb888b400b5..499422177e8 100644
--- a/app/ui-flextab/client/tabs/userEdit.js
+++ b/app/ui-flextab/client/tabs/userEdit.js
@@ -3,14 +3,15 @@ import { ReactiveVar } from 'meteor/reactive-var';
 import { Random } from 'meteor/random';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
+import toastr from 'toastr';
+import s from 'underscore.string';
+
 import { t, handleError } from '../../../utils';
 import { Roles } from '../../../models';
 import { Notifications } from '../../../notifications';
 import { hasAtLeastOnePermission } from '../../../authorization';
 import { settings } from '../../../settings';
-import toastr from 'toastr';
 import { callbacks } from '../../../callbacks';
-import s from 'underscore.string';
 
 Template.userEdit.helpers({
 
@@ -44,7 +45,7 @@ Template.userEdit.helpers({
 
 	role() {
 		const roles = Template.instance().roles.get();
-		return Roles.find({ _id: { $nin:roles }, scope: 'Users' }, { sort: { description: 1, _id: 1 } });
+		return Roles.find({ _id: { $nin: roles }, scope: 'Users' }, { sort: { description: 1, _id: 1 } });
 	},
 
 	userRoles() {
@@ -162,7 +163,7 @@ Template.userEdit.events({
 Template.userEdit.onCreated(function() {
 	this.user = this.data != null ? this.data.user : undefined;
 	this.roles = this.user ? new ReactiveVar(this.user.roles) : new ReactiveVar([]);
-	this.avatar = new ReactiveVar;
+	this.avatar = new ReactiveVar();
 	this.url = new ReactiveVar('');
 	Notifications.onLogged('updateAvatar', () => this.avatar.set());
 
@@ -173,13 +174,12 @@ Template.userEdit.onCreated(function() {
 		this.$('input[type=checkbox]').prop('checked', true);
 		if (this.user) {
 			return this.data.back(username);
-		} else {
-			return tabBar.close();
 		}
+		return tabBar.close();
 	};
 
 	this.getUserData = () => {
-		const userData = { _id: (this.user != null ? this.user._id : undefined) };
+		const userData = { _id: this.user != null ? this.user._id : undefined };
 		userData.name = s.trim(this.$('#name').val());
 		userData.username = s.trim(this.$('#username').val());
 		userData.email = s.trim(this.$('#email').val());
diff --git a/app/ui-flextab/client/tabs/userInfo.js b/app/ui-flextab/client/tabs/userInfo.js
index 4c85bb8a817..c328fd6f056 100644
--- a/app/ui-flextab/client/tabs/userInfo.js
+++ b/app/ui-flextab/client/tabs/userInfo.js
@@ -6,12 +6,13 @@ import { TAPi18n } from 'meteor/tap:i18n';
 import _ from 'underscore';
 import s from 'underscore.string';
 import moment from 'moment';
+
+import { getActions } from './userActions';
 import { DateFormat } from '../../../lib';
 import { popover } from '../../../ui-utils';
 import { templateVarHandler } from '../../../utils';
 import { RoomRoles, UserRoles, Roles } from '../../../models';
 import { settings } from '../../../settings';
-import { getActions } from './userActions';
 import './userInfo.html';
 
 const shownActionsCount = 2;
@@ -115,7 +116,7 @@ Template.userInfo.helpers({
 	linkedinUsername() {
 		const user = Template.instance().user.get();
 		if (user && user.services && user.services.linkedin && user.services.linkedin.publicProfileUrl) {
-			return s.strRight(user.services.linkedin.publicProfileUrl), '/in/';
+			return s.strRight(user.services.linkedin.publicProfileUrl, '/in/');
 		}
 	},
 
@@ -196,14 +197,14 @@ Template.userInfo.events({
 		const others = actions.filter((action) => !action.group);
 		const channel = actions.filter((actions) => actions.group === 'channel');
 		if (others.length) {
-			groups.push({ items:others });
+			groups.push({ items: others });
 		}
 		if (channel.length) {
-			groups.push({ items:channel });
+			groups.push({ items: channel });
 		}
 
 		if (admin.length) {
-			groups.push({ items:admin });
+			groups.push({ items: admin });
 		}
 		columns[0] = { groups };
 
@@ -223,7 +224,7 @@ Template.userInfo.events({
 		popover.open(config);
 	},
 	'click .js-action'(e) {
-		return this.action && this.action.apply(this, [e, { instance : Template.instance() }]);
+		return this.action && this.action.apply(this, [e, { instance: Template.instance() }]);
 	},
 	'click .js-close-info'(e, instance) {
 		return instance.clear();
@@ -235,8 +236,8 @@ Template.userInfo.events({
 
 Template.userInfo.onCreated(function() {
 	this.now = new ReactiveVar(moment());
-	this.user = new ReactiveVar;
-	this.actions = new ReactiveVar;
+	this.user = new ReactiveVar();
+	this.actions = new ReactiveVar();
 
 	this.autorun(() => {
 		const user = this.user.get();
@@ -251,9 +252,9 @@ Template.userInfo.onCreated(function() {
 		});
 		this.actions.set(actions);
 	});
-	this.editingUser = new ReactiveVar;
+	this.editingUser = new ReactiveVar();
 	this.loadingUserInfo = new ReactiveVar(true);
-	this.loadedUsername = new ReactiveVar;
+	this.loadedUsername = new ReactiveVar();
 	this.tabBar = Template.currentData().tabBar;
 	this.nowInterval = setInterval(() => this.now.set(moment()), 30000);
 
@@ -273,7 +274,7 @@ Template.userInfo.onCreated(function() {
 	this.autorun(() => {
 		const data = Template.currentData();
 		if (data.clear != null) {
-			return this.clear = data.clear;
+			this.clear = data.clear;
 		}
 	});
 
diff --git a/app/ui-login/client/login/footer.js b/app/ui-login/client/login/footer.js
index 6ca2466a6a5..454ec5de57e 100644
--- a/app/ui-login/client/login/footer.js
+++ b/app/ui-login/client/login/footer.js
@@ -1,6 +1,7 @@
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
+
 import { settings } from '../../../settings';
 
 Template.loginFooter.onCreated(function() {
diff --git a/app/ui-login/client/login/form.js b/app/ui-login/client/login/form.js
index b3f8e95b1c0..cabba10d0a3 100644
--- a/app/ui-login/client/login/form.js
+++ b/app/ui-login/client/login/form.js
@@ -4,13 +4,14 @@ import { Tracker } from 'meteor/tracker';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
-import { settings } from '../../../settings';
-import { callbacks } from '../../../callbacks';
-import { t, handleError } from '../../../utils';
 import _ from 'underscore';
 import s from 'underscore.string';
 import toastr from 'toastr';
 
+import { settings } from '../../../settings';
+import { callbacks } from '../../../callbacks';
+import { t, handleError } from '../../../utils';
+
 Template.loginForm.helpers({
 	userName() {
 		const user = Meteor.user();
@@ -19,9 +20,8 @@ Template.loginForm.helpers({
 	namePlaceholder() {
 		if (settings.get('Accounts_RequireNameForSignUp')) {
 			return t('Name');
-		} else {
-			return t('Name_optional');
 		}
+		return t('Name_optional');
 	},
 	showFormLogin() {
 		return settings.get('Accounts_ShowFormLogin');
@@ -96,12 +96,11 @@ Template.loginForm.events({
 					if (err) {
 						handleError(err);
 						return instance.state.set('login');
-					} else {
-						instance.loading.set(false);
-						callbacks.run('userForgotPasswordEmailRequested');
-						toastr.success(t('If_this_email_is_registered'));
-						return instance.state.set('login');
 					}
+					instance.loading.set(false);
+					callbacks.run('userForgotPasswordEmailRequested');
+					toastr.success(t('If_this_email_is_registered'));
+					return instance.state.set('login');
 				});
 				return;
 			}
@@ -121,36 +120,34 @@ Template.loginForm.events({
 					return Meteor.loginWithPassword(s.trim(formData.email), formData.pass, function(error) {
 						if (error && error.error === 'error-invalid-email') {
 							return instance.state.set('wait-email-activation');
-						} else if (error && error.error === 'error-user-is-not-activated') {
+						} if (error && error.error === 'error-user-is-not-activated') {
 							return instance.state.set('wait-activation');
-						} else {
-							Session.set('forceLogin', false);
 						}
+						Session.set('forceLogin', false);
 					});
 				});
-			} else {
-				let loginMethod = 'loginWithPassword';
-				if (settings.get('LDAP_Enable')) {
-					loginMethod = 'loginWithLDAP';
-				}
-				if (settings.get('CROWD_Enable')) {
-					loginMethod = 'loginWithCrowd';
-				}
-				return Meteor[loginMethod](s.trim(formData.emailOrUsername), formData.pass, function(error) {
-					instance.loading.set(false);
-					if (error != null) {
-						if (error.error === 'no-valid-email') {
-							instance.state.set('email-verification');
-						} else if (error.error === 'error-user-is-not-activated') {
-							toastr.error(t('Wait_activation_warning'));
-						} else {
-							toastr.error(t('User_not_found_or_incorrect_password'));
-						}
-						return;
-					}
-					Session.set('forceLogin', false);
-				});
 			}
+			let loginMethod = 'loginWithPassword';
+			if (settings.get('LDAP_Enable')) {
+				loginMethod = 'loginWithLDAP';
+			}
+			if (settings.get('CROWD_Enable')) {
+				loginMethod = 'loginWithCrowd';
+			}
+			return Meteor[loginMethod](s.trim(formData.emailOrUsername), formData.pass, function(error) {
+				instance.loading.set(false);
+				if (error != null) {
+					if (error.error === 'no-valid-email') {
+						instance.state.set('email-verification');
+					} else if (error.error === 'error-user-is-not-activated') {
+						toastr.error(t('Wait_activation_warning'));
+					} else {
+						toastr.error(t('User_not_found_or_incorrect_password'));
+					}
+					return;
+				}
+				Session.set('forceLogin', false);
+			});
 		}
 	},
 	'click .register'() {
@@ -169,7 +166,7 @@ Template.loginForm.events({
 
 Template.loginForm.onCreated(function() {
 	const instance = this;
-	this.customFields = new ReactiveVar;
+	this.customFields = new ReactiveVar();
 	this.loading = new ReactiveVar(false);
 	Tracker.autorun(() => {
 		const Accounts_CustomFields = settings.get('Accounts_CustomFields');
@@ -203,13 +200,16 @@ Template.loginForm.onCreated(function() {
 				}
 				const customField = customFields[field];
 				if (customField.required === true && !value) {
-					return validationObj[field] = t('Field_required');
+					validationObj[field] = t('Field_required');
+					return validationObj[field];
 				}
 				if ((customField.maxLength != null) && value.length > customField.maxLength) {
-					return validationObj[field] = t('Max_length_is', customField.maxLength);
+					validationObj[field] = t('Max_length_is', customField.maxLength);
+					return validationObj[field];
 				}
 				if ((customField.minLength != null) && value.length < customField.minLength) {
-					return validationObj[field] = t('Min_length_is', customField.minLength);
+					validationObj[field] = t('Min_length_is', customField.minLength);
+					return validationObj[field];
 				}
 			}
 		}
diff --git a/app/ui-login/client/login/header.js b/app/ui-login/client/login/header.js
index 96586ecf72f..d7ee161b54c 100644
--- a/app/ui-login/client/login/header.js
+++ b/app/ui-login/client/login/header.js
@@ -1,4 +1,5 @@
 import { Template } from 'meteor/templating';
+
 import { settings } from '../../../settings';
 
 Template.loginHeader.helpers({
diff --git a/app/ui-login/client/login/layout.js b/app/ui-login/client/login/layout.js
index 3bb39ee47e9..e836872201c 100644
--- a/app/ui-login/client/login/layout.js
+++ b/app/ui-login/client/login/layout.js
@@ -1,4 +1,5 @@
 import { Template } from 'meteor/templating';
+
 import { settings } from '../../../settings';
 
 Template.loginLayout.onRendered(function() {
diff --git a/app/ui-login/client/login/services.js b/app/ui-login/client/login/services.js
index 99ca7acce3a..0d80072be5e 100644
--- a/app/ui-login/client/login/services.js
+++ b/app/ui-login/client/login/services.js
@@ -1,10 +1,11 @@
 import { Meteor } from 'meteor/meteor';
 import { Template } from 'meteor/templating';
 import { ServiceConfiguration } from 'meteor/service-configuration';
-import { CustomOAuth } from '../../../custom-oauth';
 import s from 'underscore.string';
 import toastr from 'toastr';
 
+import { CustomOAuth } from '../../../custom-oauth';
+
 Meteor.startup(function() {
 	return ServiceConfiguration.configurations.find({
 		custom: true,
diff --git a/app/ui-login/client/reset-password/resetPassword.js b/app/ui-login/client/reset-password/resetPassword.js
index 626018b20aa..6e9361d8379 100644
--- a/app/ui-login/client/reset-password/resetPassword.js
+++ b/app/ui-login/client/reset-password/resetPassword.js
@@ -2,11 +2,12 @@ import { Meteor } from 'meteor/meteor';
 import { Accounts } from 'meteor/accounts-base';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
+import toastr from 'toastr';
+
 import { modal } from '../../../ui-utils';
 import { t } from '../../../utils';
 import { Button } from '../../../ui';
 import { callbacks } from '../../../callbacks';
-import toastr from 'toastr';
 
 Template.resetPassword.helpers({
 	requirePasswordChange() {
diff --git a/app/ui-login/client/username/layout.js b/app/ui-login/client/username/layout.js
index 670aa9b5bd0..3cea5221d7b 100644
--- a/app/ui-login/client/username/layout.js
+++ b/app/ui-login/client/username/layout.js
@@ -1,4 +1,5 @@
 import { Template } from 'meteor/templating';
+
 import { settings } from '../../../settings';
 
 Template.usernameLayout.helpers({
diff --git a/app/ui-login/client/username/username.js b/app/ui-login/client/username/username.js
index 5d82c1a29b1..12bafe6517a 100644
--- a/app/ui-login/client/username/username.js
+++ b/app/ui-login/client/username/username.js
@@ -1,14 +1,15 @@
 import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
+import _ from 'underscore';
+
 import { settings } from '../../../settings';
 import { Button } from '../../../ui';
 import { callbacks } from '../../../callbacks';
-import _ from 'underscore';
 
 Template.username.onCreated(function() {
 	const self = this;
-	self.username = new ReactiveVar;
+	self.username = new ReactiveVar();
 
 	return Meteor.call('getUsernameSuggestion', function(error, username) {
 		self.username.set({
diff --git a/app/ui-master/client/main.js b/app/ui-master/client/main.js
index 0371c0a8470..2b27dfd8c98 100644
--- a/app/ui-master/client/main.js
+++ b/app/ui-master/client/main.js
@@ -4,10 +4,11 @@ import { Meteor } from 'meteor/meteor';
 import { Match } from 'meteor/check';
 import { Tracker } from 'meteor/tracker';
 import { FlowRouter } from 'meteor/kadira:flow-router';
-import { t, getUserPreference } from '../../utils';
-import { getConfig } from '../../ui-utils/client/config';
 import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
+
+import { getConfig } from '../../ui-utils/client/config';
+import { t, getUserPreference } from '../../utils';
 import { chatMessages } from '../../ui';
 import { mainReady, Layout, iframeLogin, modal, popover, menu, fireGlobalEvent, RoomManager } from '../../ui-utils';
 import { toolbarSearch } from '../../ui-sidenav';
@@ -17,7 +18,7 @@ import { CachedCollectionManager } from '../../ui-cached-collection';
 import { hasRole } from '../../authorization';
 import { tooltip } from '../../tooltip';
 
-settings.collection.find({ _id:/theme-color-rc/i }, { fields:{ value: 1 } }).observe({ changed: () => { DynamicCss.run(true, settings); } });
+settings.collection.find({ _id: /theme-color-rc/i }, { fields: { value: 1 } }).observe({ changed: () => { DynamicCss.run(true, settings); } });
 
 Template.body.onRendered(function() {
 	new Clipboard('.clipboard');
@@ -145,10 +146,9 @@ Template.main.helpers({
 		if (Meteor.userId() != null || (settings.get('Accounts_AllowAnonymousRead') === true && Session.get('forceLogin') !== true)) {
 			$('html').addClass('noscroll').removeClass('scroll');
 			return true;
-		} else {
-			$('html').addClass('scroll').removeClass('noscroll');
-			return false;
 		}
+		$('html').addClass('scroll').removeClass('noscroll');
+		return false;
 	},
 	useIframe() {
 		const iframeEnabled = typeof iframeLogin !== 'undefined';
@@ -248,10 +248,9 @@ Template.main.onRendered(function() {
 					return tooltip.showElement($('<span>').text(username), avatarElem);
 				}
 			});
-		} else {
-			$(document.body).off('mouseenter', 'button.thumb');
-			return $(document.body).off('mouseleave', 'button.thumb');
 		}
+		$(document.body).off('mouseenter', 'button.thumb');
+		return $(document.body).off('mouseleave', 'button.thumb');
 	});
 });
 
diff --git a/app/ui-master/public/generateHTML.js b/app/ui-master/public/generateHTML.js
index 729eb69e11c..a11a5ce3eaa 100644
--- a/app/ui-master/public/generateHTML.js
+++ b/app/ui-master/public/generateHTML.js
@@ -59,9 +59,7 @@ const start = async () => {
 					});
 				resolve();
 			});
-
 		});
-
 	} catch (error) {
 		console.error(error);
 	} finally {
@@ -73,7 +71,6 @@ const start = async () => {
 
 try {
 	start();
-
 } catch (error) {
 	console.error(error);
 }
diff --git a/app/ui-master/public/generateSprite.js b/app/ui-master/public/generateSprite.js
index 457cb109f3b..77b7e5b08c8 100644
--- a/app/ui-master/public/generateSprite.js
+++ b/app/ui-master/public/generateSprite.js
@@ -69,9 +69,7 @@ const start = async () => {
 
 				resolve(Promise.all(promises));
 			});
-
 		});
-
 	} catch (error) {
 		console.error(error);
 	} finally {
diff --git a/app/ui-master/server/inject.js b/app/ui-master/server/inject.js
index 5fd028f0ce1..0552c076980 100644
--- a/app/ui-master/server/inject.js
+++ b/app/ui-master/server/inject.js
@@ -1,13 +1,14 @@
 import { Meteor } from 'meteor/meteor';
 import { Inject } from 'meteor/meteorhacks:inject-initial';
-import { Settings } from '../../models';
-import { settings } from '../../settings';
 import _ from 'underscore';
 import s from 'underscore.string';
 
+import { Settings } from '../../models';
+import { settings } from '../../settings';
+
 const renderDynamicCssList = _.debounce(Meteor.bindEnvironment(() => {
 	// const variables = RocketChat.models.Settings.findOne({_id:'theme-custom-variables'}, {fields: { value: 1}});
-	const colors = Settings.find({ _id:/theme-color-rc/i }, { fields: { value: 1, editor: 1 } }).fetch().filter((color) => color && color.value);
+	const colors = Settings.find({ _id: /theme-color-rc/i }, { fields: { value: 1, editor: 1 } }).fetch().filter((color) => color && color.value);
 
 	if (!colors) {
 		return;
@@ -27,7 +28,7 @@ renderDynamicCssList();
 // 	changed: renderDynamicCssList
 // });
 
-Settings.find({ _id:/theme-color-rc/i }, { fields: { value: 1 } }).observe({
+Settings.find({ _id: /theme-color-rc/i }, { fields: { value: 1 } }).observe({
 	changed: renderDynamicCssList,
 });
 
@@ -75,8 +76,8 @@ settings.get('Assets_SvgFavicon_Enable', (key, value) => {
 
 settings.get('theme-color-sidebar-background', (key, value) => {
 	const escapedValue = s.escapeHTML(value);
-	Inject.rawHead(key, `<meta name="msapplication-TileColor" content="${ escapedValue }" />` +
-						`<meta name="theme-color" content="${ escapedValue }" />`);
+	Inject.rawHead(key, `<meta name="msapplication-TileColor" content="${ escapedValue }" />`
+						+ `<meta name="theme-color" content="${ escapedValue }" />`);
 });
 
 settings.get('Accounts_ForgetUserSessionOnWindowClose', (key, value) => {
@@ -99,16 +100,16 @@ settings.get('Accounts_ForgetUserSessionOnWindowClose', (key, value) => {
 settings.get('Site_Name', (key, value = 'Rocket.Chat') => {
 	const escapedValue = s.escapeHTML(value);
 	Inject.rawHead(key,
-		`<title>${ escapedValue }</title>` +
-		`<meta name="application-name" content="${ escapedValue }">` +
-		`<meta name="apple-mobile-web-app-title" content="${ escapedValue }">`);
+		`<title>${ escapedValue }</title>`
+		+ `<meta name="application-name" content="${ escapedValue }">`
+		+ `<meta name="apple-mobile-web-app-title" content="${ escapedValue }">`);
 });
 
 settings.get('Meta_language', (key, value = '') => {
 	const escapedValue = s.escapeHTML(value);
 	Inject.rawHead(key,
-		`<meta http-equiv="content-language" content="${ escapedValue }">` +
-		`<meta name="language" content="${ escapedValue }">`);
+		`<meta http-equiv="content-language" content="${ escapedValue }">`
+		+ `<meta name="language" content="${ escapedValue }">`);
 });
 
 settings.get('Meta_robots', (key, value = '') => {
diff --git a/app/ui-message/client/message.js b/app/ui-message/client/message.js
index 31803d19ea6..1624574b180 100644
--- a/app/ui-message/client/message.js
+++ b/app/ui-message/client/message.js
@@ -1,5 +1,4 @@
 import _ from 'underscore';
-
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
 import { Blaze } from 'meteor/blaze';
@@ -19,9 +18,9 @@ import './message.html';
 import './messageThread.html';
 
 async function renderPdfToCanvas(canvasId, pdfLink) {
-	const isSafari = /constructor/i.test(window.HTMLElement) ||
-		((p) => p.toString() === '[object SafariRemoteNotification]')(!window.safari ||
-			(typeof window.safari !== 'undefined' && window.safari.pushNotification));
+	const isSafari = /constructor/i.test(window.HTMLElement)
+		|| ((p) => p.toString() === '[object SafariRemoteNotification]')(!window.safari
+			|| (typeof window.safari !== 'undefined' && window.safari.pushNotification));
 
 	if (isSafari) {
 		const [, version] = /Version\/([0-9]+)/.exec(navigator.userAgent) || [null, 0];
@@ -79,7 +78,7 @@ const renderBody = (msg, settings) => {
 	} else if (messageType.template) {
 		// render template
 	} else if (messageType.message) {
-		msg = TAPi18n.__(messageType.message, { ... typeof messageType.data === 'function' && messageType.data(msg) });
+		msg = TAPi18n.__(messageType.message, { ...typeof messageType.data === 'function' && messageType.data(msg) });
 	} else if (msg.u && msg.u.username === settings.Chatops_Username) {
 		msg.html = msg.msg;
 		msg = callbacks.run('renderMentions', msg);
@@ -277,7 +276,7 @@ Template.message.helpers({
 
 		if (msg.i18nLabel) {
 			return t(msg.i18nLabel);
-		} else if (msg.label) {
+		} if (msg.label) {
 			return msg.label;
 		}
 	},
@@ -300,7 +299,7 @@ Template.message.helpers({
 		return Object.entries(reactions)
 			.map(([emoji, reaction]) => {
 				const myDisplayName = reaction.names ? myName : `@${ myUsername }`;
-				const displayNames = (reaction.names || reaction.usernames.map((username) => `@${ username }`));
+				const displayNames = reaction.names || reaction.usernames.map((username) => `@${ username }`);
 				const selectedDisplayNames = displayNames.slice(0, 15).filter((displayName) => displayName !== myDisplayName);
 
 				if (displayNames.some((displayName) => displayName === myDisplayName)) {
@@ -428,7 +427,6 @@ Template.message.helpers({
 
 
 const findParentMessage = (() => {
-
 	const waiting = [];
 
 	const getMessages = _.debounce(async function() {
@@ -614,12 +612,10 @@ const processSequentials = ({ currentNode, settings, forceDate, showDateSeparato
 };
 
 Template.message.onRendered(function() { // duplicate of onViewRendered(NRR) the onRendered works only for non nrr templates
-
 	this.autorun(() => {
 		const currentNode = this.firstNode;
 		processSequentials({ currentNode, ...messageArgs(Template.currentData()) });
 	});
-
 });
 
 Template.message.onViewRendered = function() {
diff --git a/app/ui-message/client/messageBox/messageBox.js b/app/ui-message/client/messageBox/messageBox.js
index 947c1d7b367..73e1af18b2b 100644
--- a/app/ui-message/client/messageBox/messageBox.js
+++ b/app/ui-message/client/messageBox/messageBox.js
@@ -4,6 +4,13 @@ import { ReactiveDict } from 'meteor/reactive-dict';
 import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
 import { Tracker } from 'meteor/tracker';
+import moment from 'moment';
+
+import { setupAutogrow } from './messageBoxAutogrow';
+import {
+	formattingButtons,
+	applyFormatting,
+} from './messageBoxFormatting';
 import { EmojiPicker } from '../../../emoji';
 import { Users } from '../../../models';
 import { settings } from '../../../settings';
@@ -23,12 +30,6 @@ import {
 	roomTypes,
 	getUserPreference,
 } from '../../../utils';
-import moment from 'moment';
-import { setupAutogrow } from './messageBoxAutogrow';
-import {
-	formattingButtons,
-	applyFormatting,
-} from './messageBoxFormatting';
 import './messageBoxActions';
 import './messageBoxReplyPreview';
 import './messageBoxTyping';
@@ -70,7 +71,8 @@ Template.messageBox.onCreated(function() {
 			const before = input.value.substring(0, input.selectionStart);
 			const after = input.value.substring(input.selectionEnd, input.value.length);
 			input.value = `${ before }\n${ after }`;
-			input.selectionStart = input.selectionEnd = newPosition;
+			input.selectionStart = newPosition;
+			input.selectionEnd = newPosition;
 		} else {
 			input.value += '\n';
 		}
@@ -116,8 +118,8 @@ Template.messageBox.onRendered(function() {
 			});
 		}
 
-		const isBlocked = (room && room.t === 'd' && subscription && subscription.blocked);
-		const isBlocker = (room && room.t === 'd' && subscription && subscription.blocker);
+		const isBlocked = room && room.t === 'd' && subscription && subscription.blocked;
+		const isBlocker = room && room.t === 'd' && subscription && subscription.blocker;
 		const isBlockedOrBlocker = isBlocked || isBlocker;
 
 		const mustJoinWithCode = !subscription && room.joinCodeRequired;
@@ -273,8 +275,8 @@ const handleSubmit = (event, instance) => {
 	}
 
 	const sendOnEnter = getUserPreference(Meteor.userId(), 'sendOnEnter');
-	const sendOnEnterActive = sendOnEnter == null || sendOnEnter === 'normal' ||
-		(sendOnEnter === 'desktop' && Meteor.Device.isDesktop());
+	const sendOnEnterActive = sendOnEnter == null || sendOnEnter === 'normal'
+		|| (sendOnEnter === 'desktop' && Meteor.Device.isDesktop());
 	const withModifier = event.shiftKey || event.ctrlKey || event.altKey || event.metaKey;
 	const isSending = (sendOnEnterActive && !withModifier) || (!sendOnEnterActive && withModifier);
 
@@ -358,7 +360,7 @@ Template.messageBox.events({
 		}
 
 		const files = [...event.originalEvent.clipboardData.items]
-			.filter((item) => (item.kind === 'file' && item.type.indexOf('image/') !== -1))
+			.filter((item) => item.kind === 'file' && item.type.indexOf('image/') !== -1)
 			.map((item) => ({
 				file: item.getAsFile(),
 				name: `Clipboard - ${ moment().format(settings.get('Message_TimeAndDateFormat')) }`,
@@ -368,7 +370,6 @@ Template.messageBox.events({
 		if (files.length) {
 			event.preventDefault();
 			fileUpload(files, input, { rid, tmid });
-			return;
 		}
 	},
 	'input .js-input-message'(event, instance) {
diff --git a/app/ui-message/client/messageBox/messageBoxActions.js b/app/ui-message/client/messageBox/messageBoxActions.js
index 472f0fb1c62..9dd7ca8d75a 100644
--- a/app/ui-message/client/messageBox/messageBoxActions.js
+++ b/app/ui-message/client/messageBox/messageBoxActions.js
@@ -2,6 +2,7 @@ import { Meteor } from 'meteor/meteor';
 import { Random } from 'meteor/random';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Tracker } from 'meteor/tracker';
+
 import { VRecDialog } from '../../../ui-vrecord/client';
 import { messageBox, modal } from '../../../ui-utils';
 import { fileUpload } from '../../../ui';
@@ -12,13 +13,13 @@ import { mime } from '../../../utils/lib/mimeTypes';
 messageBox.actions.add('Create_new', 'Video_message', {
 	id: 'video-message',
 	icon: 'video',
-	condition: () => (navigator.mediaDevices || navigator.getUserMedia || navigator.webkitGetUserMedia ||
-		navigator.mozGetUserMedia || navigator.msGetUserMedia) &&
-		window.MediaRecorder &&
-		settings.get('FileUpload_Enabled') &&
-		settings.get('Message_VideoRecorderEnabled') &&
-		(!settings.get('FileUpload_MediaTypeWhiteList') ||
-			settings.get('FileUpload_MediaTypeWhiteList').match(/video\/webm|video\/\*/i)),
+	condition: () => (navigator.mediaDevices || navigator.getUserMedia || navigator.webkitGetUserMedia
+		|| navigator.mozGetUserMedia || navigator.msGetUserMedia)
+		&& window.MediaRecorder
+		&& settings.get('FileUpload_Enabled')
+		&& settings.get('Message_VideoRecorderEnabled')
+		&& (!settings.get('FileUpload_MediaTypeWhiteList')
+			|| settings.get('FileUpload_MediaTypeWhiteList').match(/video\/webm|video\/\*/i)),
 	action: ({ rid, tmid, messageBox }) => (VRecDialog.opened ? VRecDialog.close() : VRecDialog.open(messageBox, { rid, tmid })),
 });
 
@@ -106,8 +107,7 @@ Meteor.startup(() => {
 		const isMapViewEnabled = settings.get('MapView_Enabled') === true;
 		const isGeolocationWatchSupported = navigator.geolocation && navigator.geolocation.watchPosition;
 		const googleMapsApiKey = settings.get('MapView_GMapsAPIKey');
-		const canGetGeolocation =
-			isMapViewEnabled && isGeolocationWatchSupported && (googleMapsApiKey && googleMapsApiKey.length);
+		const canGetGeolocation =			isMapViewEnabled && isGeolocationWatchSupported && (googleMapsApiKey && googleMapsApiKey.length);
 
 		if (!canGetGeolocation) {
 			geolocation.set(false);
diff --git a/app/ui-message/client/messageBox/messageBoxAudioMessage.js b/app/ui-message/client/messageBox/messageBoxAudioMessage.js
index ecaf049bd3f..e61f515a823 100644
--- a/app/ui-message/client/messageBox/messageBoxAudioMessage.js
+++ b/app/ui-message/client/messageBox/messageBoxAudioMessage.js
@@ -2,6 +2,7 @@ import { ReactiveVar } from 'meteor/reactive-var';
 import { Session } from 'meteor/session';
 import { Tracker } from 'meteor/tracker';
 import { Template } from 'meteor/templating';
+
 import { fileUploadHandler } from '../../../file-upload';
 import { settings } from '../../../settings';
 import { AudioRecorder } from '../../../ui';
@@ -105,12 +106,12 @@ Template.messageBoxAudioMessage.onCreated(function() {
 
 Template.messageBoxAudioMessage.helpers({
 	isAllowed() {
-		return AudioRecorder.isSupported() &&
-			!Template.instance().isMicrophoneDenied.get() &&
-			settings.get('FileUpload_Enabled') &&
-			settings.get('Message_AudioRecorderEnabled') &&
-			(!settings.get('FileUpload_MediaTypeWhiteList') ||
-			settings.get('FileUpload_MediaTypeWhiteList').match(/audio\/mp3|audio\/\*/i));
+		return AudioRecorder.isSupported()
+			&& !Template.instance().isMicrophoneDenied.get()
+			&& settings.get('FileUpload_Enabled')
+			&& settings.get('Message_AudioRecorderEnabled')
+			&& (!settings.get('FileUpload_MediaTypeWhiteList')
+				|| settings.get('FileUpload_MediaTypeWhiteList').match(/audio\/mp3|audio\/\*/i));
 	},
 
 	stateClass() {
@@ -140,9 +141,9 @@ Template.messageBoxAudioMessage.events({
 		try {
 			await startRecording();
 
-			const startTime = new Date;
+			const startTime = new Date();
 			recordingInterval.set(setInterval(() => {
-				const now = new Date;
+				const now = new Date();
 				const distance = (now.getTime() - startTime.getTime()) / 1000;
 				const minutes = Math.floor(distance / 60);
 				const seconds = Math.floor(distance % 60);
diff --git a/app/ui-message/client/messageBox/messageBoxAutogrow.js b/app/ui-message/client/messageBox/messageBoxAutogrow.js
index 054acd98b14..99e6cf8006a 100644
--- a/app/ui-message/client/messageBox/messageBoxAutogrow.js
+++ b/app/ui-message/client/messageBox/messageBoxAutogrow.js
@@ -34,15 +34,12 @@ export const setupAutogrow = (textarea: HTMLTextAreaElement, shadow: HTMLDivElem
 			return true;
 		}
 
-		const shadowText = (
-			text.replace(/</g, '&lt;')
-				.replace(/>/g, '&gt;')
-				.replace(/&/g, '&amp;')
-				.replace(/\n$/, '<br/>&nbsp;')
-				.replace(/\n/g, '<br/>')
-				.replace(/ {2,}/g, replaceWhitespaces)
-		);
-
+		const shadowText =			text.replace(/</g, '&lt;')
+			.replace(/>/g, '&gt;')
+			.replace(/&/g, '&amp;')
+			.replace(/\n$/, '<br/>&nbsp;')
+			.replace(/\n/g, '<br/>')
+			.replace(/ {2,}/g, replaceWhitespaces);
 		if (wasWidthChanged) {
 			shadow.style.width = `${ width }px`;
 			lastWidth = width;
@@ -59,7 +56,7 @@ export const setupAutogrow = (textarea: HTMLTextAreaElement, shadow: HTMLDivElem
 
 		lastHeight = height;
 
-		const overflow = (height === maxHeight) ? 'hidden' : '';
+		const overflow = height === maxHeight ? 'hidden' : '';
 
 		if (height < maxHeight) {
 			textLenght = text.length;
diff --git a/app/ui-message/client/messageBox/messageBoxNotSubscribed.js b/app/ui-message/client/messageBox/messageBoxNotSubscribed.js
index 75cb1b1c1f3..0b0f75833ba 100644
--- a/app/ui-message/client/messageBox/messageBoxNotSubscribed.js
+++ b/app/ui-message/client/messageBox/messageBoxNotSubscribed.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
+
 import { settings } from '../../../settings';
 import { call, RoomManager, RoomHistoryManager } from '../../../ui-utils';
 import { roomTypes } from '../../../utils';
@@ -24,13 +25,13 @@ Template.messageBoxNotSubscribed.helpers({
 		return room && room.joinCodeRequired;
 	},
 	isAnonymousReadAllowed() {
-		return (Meteor.userId() == null) &&
-			settings.get('Accounts_AllowAnonymousRead') === true;
+		return (Meteor.userId() == null)
+			&& settings.get('Accounts_AllowAnonymousRead') === true;
 	},
 	isAnonymousWriteAllowed() {
-		return (Meteor.userId() == null) &&
-			settings.get('Accounts_AllowAnonymousRead') === true &&
-			settings.get('Accounts_AllowAnonymousWrite') === true;
+		return (Meteor.userId() == null)
+			&& settings.get('Accounts_AllowAnonymousRead') === true
+			&& settings.get('Accounts_AllowAnonymousWrite') === true;
 	},
 });
 
diff --git a/app/ui-message/client/messageBox/messageBoxReadOnly.js b/app/ui-message/client/messageBox/messageBoxReadOnly.js
index 2d012911926..a20d93326a6 100644
--- a/app/ui-message/client/messageBox/messageBoxReadOnly.js
+++ b/app/ui-message/client/messageBox/messageBoxReadOnly.js
@@ -1,4 +1,5 @@
 import { Template } from 'meteor/templating';
+
 import { roomTypes } from '../../../utils';
 import './messageBoxReadOnly.html';
 
diff --git a/app/ui-message/client/messageBox/messageBoxTyping.js b/app/ui-message/client/messageBox/messageBoxTyping.js
index 715f909adce..9a1d07a9d6a 100644
--- a/app/ui-message/client/messageBox/messageBoxTyping.js
+++ b/app/ui-message/client/messageBox/messageBoxTyping.js
@@ -1,4 +1,5 @@
 import { Template } from 'meteor/templating';
+
 import { MsgTyping } from '../../../ui';
 import { t } from '../../../utils';
 import './messageBoxTyping.html';
diff --git a/app/ui-message/client/popup/messagePopup.js b/app/ui-message/client/popup/messagePopup.js
index 471d11ca557..386af6ac741 100644
--- a/app/ui-message/client/popup/messagePopup.js
+++ b/app/ui-message/client/popup/messagePopup.js
@@ -5,6 +5,7 @@ import _ from 'underscore';
 import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
+
 import { toolbarSearch } from '../../../ui-sidenav';
 import { lazyloadtick } from '../../../lazy-load';
 import './messagePopup.html';
@@ -25,7 +26,7 @@ function getCursorPosition(input) {
 	}
 	if (input.selectionStart != null) {
 		return input.selectionStart;
-	} else if (document.selection != null) {
+	} if (document.selection != null) {
 		input.focus();
 		const sel = document.selection.createRange();
 		const selLen = document.selection.createRange().text.length;
@@ -41,7 +42,7 @@ function setCursorPosition(input, caretPos) {
 	if (input.selectionStart != null) {
 		input.focus();
 		return input.setSelectionRange(caretPos, caretPos);
-	} else if (document.selection != null) {
+	} if (document.selection != null) {
 		const range = input.createTextRange();
 		range.move('character', caretPos);
 		return range.select();
@@ -51,9 +52,8 @@ function setCursorPosition(input, caretPos) {
 function val(v, d) {
 	if (v != null) {
 		return v;
-	} else {
-		return d;
 	}
+	return d;
 }
 
 Template.messagePopup.onCreated(function() {
@@ -62,7 +62,7 @@ Template.messagePopup.onCreated(function() {
 	template.textFilterDelay = val(template.data.textFilterDelay, 0);
 	template.open = val(template.data.open, new ReactiveVar(false));
 	template.hasData = new ReactiveVar(false);
-	template.value = new ReactiveVar;
+	template.value = new ReactiveVar();
 	template.trigger = val(template.data.trigger, '');
 	template.triggerAnywhere = val(template.data.triggerAnywhere, true);
 	template.closeOnEsc = val(template.data.closeOnEsc, true);
@@ -109,9 +109,8 @@ Template.messagePopup.onCreated(function() {
 			if (first != null) {
 				first.className += ' selected sidebar-item__popup-active';
 				return template.value.set(first.getAttribute('data-id'));
-			} else {
-				return template.value.set(null);
 			}
+			return template.value.set(null);
 		}
 	};
 	template.onInputKeydown = (event) => {
@@ -186,9 +185,8 @@ Template.messagePopup.onCreated(function() {
 			return Meteor.defer(function() {
 				return template.verifySelection();
 			});
-		} else {
-			return template.open.set(false);
 		}
+		return template.open.set(false);
 	};
 
 	template.onBlur = () => {
@@ -293,7 +291,7 @@ Template.messagePopup.events({
 	},
 	'mousedown .popup-item, touchstart .popup-item'() {
 		const template = Template.instance();
-		return template.clickingItem = true;
+		template.clickingItem = true;
 	},
 	'mouseup .popup-item, touchend .popup-item'() {
 		const template = Template.instance();
diff --git a/app/ui-message/client/popup/messagePopupChannel.js b/app/ui-message/client/popup/messagePopupChannel.js
index 19efbb86285..0a2f7967b4b 100644
--- a/app/ui-message/client/popup/messagePopupChannel.js
+++ b/app/ui-message/client/popup/messagePopupChannel.js
@@ -1,4 +1,5 @@
 import { Template } from 'meteor/templating';
+
 import { roomTypes } from '../../../utils';
 import './messagePopupChannel.html';
 
diff --git a/app/ui-message/client/popup/messagePopupConfig.js b/app/ui-message/client/popup/messagePopupConfig.js
index 6ee4e8e614b..11de8dceca4 100644
--- a/app/ui-message/client/popup/messagePopupConfig.js
+++ b/app/ui-message/client/popup/messagePopupConfig.js
@@ -6,6 +6,7 @@ import { Tracker } from 'meteor/tracker';
 import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
+
 import { Messages, Subscriptions, Users } from '../../../models';
 import { hasAllPermission, hasAtLeastOnePermission } from '../../../authorization';
 import { EmojiPicker, emoji } from '../../../emoji';
@@ -197,12 +198,12 @@ Template.messagePopupConfig.helpers({
 					.find(
 						{
 							ts: { $exists: true },
-							...(filterRegex && {
+							...filterRegex && {
 								$or: [
 									{ username: filterRegex },
 									{ name: filterRegex },
 								],
-							}),
+							},
 						},
 						{
 							limit: 5,
@@ -221,12 +222,12 @@ Template.messagePopupConfig.helpers({
 									t: 'd',
 									$and: [
 										{
-											...(filterRegex && {
+											...filterRegex && {
 												$or: [
 													{ name: filterRegex },
 													{ fname: filterRegex },
 												],
-											}),
+											},
 										},
 										{
 											name: { $nin: usernamesAlreadyFetched },
@@ -269,12 +270,12 @@ Template.messagePopupConfig.helpers({
 						const newItems = Meteor.users.find({
 							$and: [
 								{
-									...(filterRegex && {
+									...filterRegex && {
 										$or: [
 											{ username: filterRegex },
 											{ name: filterRegex },
 										],
-									}),
+									},
 								},
 								{
 									username: {
diff --git a/app/ui-message/client/popup/messagePopupSlashCommandPreview.js b/app/ui-message/client/popup/messagePopupSlashCommandPreview.js
index b0f9e1b0d9c..8ed6a44125f 100644
--- a/app/ui-message/client/popup/messagePopupSlashCommandPreview.js
+++ b/app/ui-message/client/popup/messagePopupSlashCommandPreview.js
@@ -2,6 +2,7 @@ import _ from 'underscore';
 import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
+
 import { slashCommands } from '../../../utils';
 import { hasAtLeastOnePermission } from '../../../authorization';
 import { toolbarSearch } from '../../../ui-sidenav';
@@ -24,7 +25,7 @@ function getCursorPosition(input) {
 
 	if (input.selectionStart) {
 		return input.selectionStart;
-	} else if (document.selection) {
+	} if (document.selection) {
 		input.focus();
 		const sel = document.selection.createRange();
 		const selLen = document.selection.createRange().text.length;
diff --git a/app/ui-sidenav/client/chatRoomItem.js b/app/ui-sidenav/client/chatRoomItem.js
index 780df40c96b..801c415babe 100644
--- a/app/ui-sidenav/client/chatRoomItem.js
+++ b/app/ui-sidenav/client/chatRoomItem.js
@@ -2,7 +2,6 @@ import { Template } from 'meteor/templating';
 
 import { t, roomTypes } from '../../utils/client';
 import { settings } from '../../settings/client';
-
 import { Rooms } from '../../models/client';
 import { callbacks } from '../../callbacks/client';
 
@@ -23,7 +22,7 @@ Template.chatRoomItem.helpers({
 			...this,
 			icon,
 			avatar: roomType.getAvatarPath(this),
-			username : this.name,
+			username: this.name,
 			route: roomTypes.getRouteLink(this.t, this),
 			name: roomType.roomName(this),
 			unread,
diff --git a/app/ui-sidenav/client/roomList.js b/app/ui-sidenav/client/roomList.js
index 4d82198b5d4..9fd08cec6ca 100644
--- a/app/ui-sidenav/client/roomList.js
+++ b/app/ui-sidenav/client/roomList.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
-import { callbacks } from '../../callbacks';
 import { Template } from 'meteor/templating';
+
+import { callbacks } from '../../callbacks';
 import { ChatSubscription, Rooms, Users, Subscriptions } from '../../models';
 import { UiTextContext, getUserPreference, roomTypes } from '../../utils';
 import { settings } from '../../settings';
diff --git a/app/ui-sidenav/client/sideNav.js b/app/ui-sidenav/client/sideNav.js
index d16ab2d4113..bf92589668f 100644
--- a/app/ui-sidenav/client/sideNav.js
+++ b/app/ui-sidenav/client/sideNav.js
@@ -1,8 +1,9 @@
 import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
-import { lazyloadtick } from '../../lazy-load';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
+
+import { lazyloadtick } from '../../lazy-load';
 import { SideNav, menu } from '../../ui-utils';
 import { settings } from '../../settings';
 import { roomTypes, getUserPreference } from '../../utils';
@@ -39,7 +40,7 @@ Template.sideNav.helpers({
 
 	sidebarViewMode() {
 		const viewMode = getUserPreference(Meteor.userId(), 'sidebarViewMode');
-		return viewMode ? viewMode : 'condensed';
+		return viewMode || 'condensed';
 	},
 
 	sidebarHideAvatar() {
@@ -102,6 +103,6 @@ Template.sideNav.onCreated(function() {
 			},
 		});
 		const userPref = getUserPreference(user, 'sidebarGroupByType');
-		this.groupedByType.set(userPref ? userPref : settings.get('UI_Group_Channels_By_Type'));
+		this.groupedByType.set(userPref || settings.get('UI_Group_Channels_By_Type'));
 	});
 });
diff --git a/app/ui-sidenav/client/sidebarHeader.js b/app/ui-sidenav/client/sidebarHeader.js
index 22e8bdcac6d..a35519ed0c6 100644
--- a/app/ui-sidenav/client/sidebarHeader.js
+++ b/app/ui-sidenav/client/sidebarHeader.js
@@ -2,9 +2,9 @@ import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
+
 import { popover, AccountBox, menu, SideNav, modal } from '../../ui-utils';
 import { t, getUserPreference, handleError } from '../../utils';
-
 import { callbacks } from '../../callbacks';
 import { settings } from '../../settings';
 import { hasAtLeastOnePermission } from '../../authorization';
@@ -36,8 +36,6 @@ const extendedViewOption = (user) => {
 			},
 		};
 	}
-
-	return;
 };
 
 const showToolbar = new ReactiveVar(false);
@@ -156,8 +154,6 @@ const toolbarButtons = (user) => [{
 	icon: 'edit-rounded',
 	condition: () => hasAtLeastOnePermission(['create-c', 'create-p']),
 	action: (e) => {
-
-
 		const createChannel = (e) => {
 			e.preventDefault();
 			modal.open({
diff --git a/app/ui-sidenav/client/sidebarItem.js b/app/ui-sidenav/client/sidebarItem.js
index 2e82468248b..352498763a2 100644
--- a/app/ui-sidenav/client/sidebarItem.js
+++ b/app/ui-sidenav/client/sidebarItem.js
@@ -2,12 +2,12 @@ import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
+
 import { t, getUserPreference, roomTypes } from '../../utils';
 import { popover, renderMessageBody, menu } from '../../ui-utils';
 import { Users, ChatSubscription } from '../../models';
 import { settings } from '../../settings';
 import { hasAtLeastOnePermission } from '../../authorization';
-
 import { timeAgo } from '../../lib/client/lib/formatDate';
 
 Template.sidebarItem.helpers({
@@ -85,13 +85,15 @@ Template.sidebarItem.onCreated(function() {
 		}
 
 		if (!currentData.lastMessage._id) {
-			return this.renderedMessage = currentData.lastMessage.msg;
+			this.renderedMessage = currentData.lastMessage.msg;
+			return;
 		}
 
 		setLastMessageTs(this, currentData.lastMessage.ts);
 
 		if (currentData.lastMessage.t === 'e2e' && currentData.lastMessage.e2e !== 'done') {
-			return this.renderedMessage = '******';
+			this.renderedMessage = '******';
+			return;
 		}
 
 		const otherUser = settings.get('UI_Use_Real_Name') ? currentData.lastMessage.u.name || currentData.lastMessage.u.username : currentData.lastMessage.u.username;
@@ -122,7 +124,7 @@ Template.sidebarItem.events({
 			if (roomData.t === 'c' && !hasAtLeastOnePermission('leave-c')) { return false; }
 			if (roomData.t === 'p' && !hasAtLeastOnePermission('leave-p')) { return false; }
 
-			return !(((roomData.cl != null) && !roomData.cl) || (['d', 'l'].includes(roomData.t)));
+			return !(((roomData.cl != null) && !roomData.cl) || ['d', 'l'].includes(roomData.t));
 		};
 
 		const canFavorite = settings.get('Favorite_Rooms') && ChatSubscription.find({ rid: this.rid }).count() > 0;
diff --git a/app/ui-sidenav/client/sortlist.js b/app/ui-sidenav/client/sortlist.js
index 5bb94df0e1d..23144008b15 100644
--- a/app/ui-sidenav/client/sortlist.js
+++ b/app/ui-sidenav/client/sortlist.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Template } from 'meteor/templating';
+
 import { popover } from '../../ui-utils';
 import { getUserPreference } from '../../utils';
 import { settings } from '../../settings';
@@ -44,7 +45,7 @@ Template.sortlist.events({
 			value = !value;
 		}
 		Meteor.call('saveUserPreferences', {
-			[name] : value,
+			[name]: value,
 		});
 		popover.close();
 	},
diff --git a/app/ui-sidenav/client/toolbar.js b/app/ui-sidenav/client/toolbar.js
index 9998ae91ecd..d8bcbfaaa78 100644
--- a/app/ui-sidenav/client/toolbar.js
+++ b/app/ui-sidenav/client/toolbar.js
@@ -5,12 +5,13 @@ import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
+import _ from 'underscore';
+
+import { toolbarSearch } from './sidebarHeader';
 import { Rooms, Subscriptions } from '../../models';
 import { roomTypes } from '../../utils';
 import { hasAtLeastOnePermission } from '../../authorization';
 import { menu } from '../../ui-utils';
-import { toolbarSearch } from './sidebarHeader';
-import _ from 'underscore';
 
 let filterText = '';
 let usernamesFromClient;
@@ -82,7 +83,7 @@ Template.toolbar.helpers({
 
 		if (!Meteor.Device.isDesktop()) {
 			return placeholder;
-		} else if (window.navigator.platform.toLowerCase().includes('mac')) {
+		} if (window.navigator.platform.toLowerCase().includes('mac')) {
 			placeholder = `${ placeholder } (\u2318+K)`;
 		} else {
 			placeholder = `${ placeholder } (\u2303+K)`;
@@ -135,7 +136,7 @@ Template.toolbar.helpers({
 					query.t = 'd';
 				}
 
-				const searchQuery = new RegExp((RegExp.escape(filterText)), 'i');
+				const searchQuery = new RegExp(RegExp.escape(filterText), 'i');
 				query.$or = [
 					{ name: searchQuery },
 					{ fname: searchQuery },
@@ -144,7 +145,7 @@ Template.toolbar.helpers({
 				resultsFromClient = collection.find(query, { limit: 20, sort: { unread: -1, ls: -1 } }).fetch();
 
 				const resultsFromClientLength = resultsFromClient.length;
-				const user = Meteor.users.findOne(Meteor.userId(), { fields: { name: 1, username:1 } });
+				const user = Meteor.users.findOne(Meteor.userId(), { fields: { name: 1, username: 1 } });
 				if (user) {
 					usernamesFromClient = [user];
 				}
diff --git a/app/ui-utils/client/lib/AccountBox.js b/app/ui-utils/client/lib/AccountBox.js
index f10ab7f5bb4..1090db25561 100644
--- a/app/ui-utils/client/lib/AccountBox.js
+++ b/app/ui-utils/client/lib/AccountBox.js
@@ -4,9 +4,10 @@ import { Tracker } from 'meteor/tracker';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { BlazeLayout } from 'meteor/kadira:blaze-layout';
 import { Session } from 'meteor/session';
-import { SideNav } from './SideNav';
 import _ from 'underscore';
 
+import { SideNav } from './SideNav';
+
 export const AccountBox = (function() {
 	let status = 0;
 	const items = new ReactiveVar([]);
@@ -26,9 +27,8 @@ export const AccountBox = (function() {
 	function toggle() {
 		if (status) {
 			return close();
-		} else {
-			return open();
 		}
+		return open();
 	}
 	function openFlex() {
 		status = 0;
diff --git a/app/ui-utils/client/lib/AdminBox.js b/app/ui-utils/client/lib/AdminBox.js
index d4978f9b7d1..f6f1856ffa5 100644
--- a/app/ui-utils/client/lib/AdminBox.js
+++ b/app/ui-utils/client/lib/AdminBox.js
@@ -6,6 +6,7 @@ export const AdminBox = new class {
 	constructor() {
 		this.options = new ReactiveVar([]);
 	}
+
 	addOption(option) {
 		return Tracker.nonreactive(() => {
 			const actual = this.options.get();
@@ -13,6 +14,7 @@ export const AdminBox = new class {
 			return this.options.set(actual);
 		});
 	}
+
 	getOptions() {
 		return _.filter(this.options.get(), function(option) {
 			if ((option.permissionGranted == null) || option.permissionGranted()) {
@@ -20,4 +22,4 @@ export const AdminBox = new class {
 			}
 		});
 	}
-};
+}();
diff --git a/app/ui-utils/client/lib/ChannelActions.js b/app/ui-utils/client/lib/ChannelActions.js
index ae4623ada8b..1fb6493a6fc 100644
--- a/app/ui-utils/client/lib/ChannelActions.js
+++ b/app/ui-utils/client/lib/ChannelActions.js
@@ -1,9 +1,10 @@
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Session } from 'meteor/session';
-import { t, UiTextContext, roomTypes, handleError } from '../../../utils';
+
 import { modal } from './modal';
 import { call } from './callMethod';
 import { RoomManager } from './RoomManager';
+import { t, UiTextContext, roomTypes, handleError } from '../../../utils';
 
 export function hide(type, rid, name) {
 	const warnText = roomTypes.roomTypes[type].getUiText(UiTextContext.HIDE_WARNING);
diff --git a/app/ui-utils/client/lib/IframeLogin.js b/app/ui-utils/client/lib/IframeLogin.js
index caa389d33d3..973328debff 100644
--- a/app/ui-utils/client/lib/IframeLogin.js
+++ b/app/ui-utils/client/lib/IframeLogin.js
@@ -1,11 +1,12 @@
 import { Meteor } from 'meteor/meteor';
 import { Match } from 'meteor/check';
-import { settings } from '../../../settings';
 import { Accounts } from 'meteor/accounts-base';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Tracker } from 'meteor/tracker';
 import { HTTP } from 'meteor/http';
 
+import { settings } from '../../../settings';
+
 export class IframeLogin {
 	constructor() {
 		this.enabled = false;
diff --git a/app/ui-utils/client/lib/Layout.js b/app/ui-utils/client/lib/Layout.js
index 8e96e34ddf5..73dc3f46ec1 100644
--- a/app/ui-utils/client/lib/Layout.js
+++ b/app/ui-utils/client/lib/Layout.js
@@ -1,7 +1,7 @@
 import { Tracker } from 'meteor/tracker';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 
-export const Layout = new (class RocketChatLayout {
+export const Layout = new class RocketChatLayout {
 	constructor() {
 		Tracker.autorun(() => {
 			this.layout = FlowRouter.getQueryParam('layout');
@@ -11,4 +11,4 @@ export const Layout = new (class RocketChatLayout {
 	isEmbedded() {
 		return this.layout === 'embedded';
 	}
-});
+}();
diff --git a/app/ui-utils/client/lib/MessageAction.js b/app/ui-utils/client/lib/MessageAction.js
index 57265258253..3bbf948ddfc 100644
--- a/app/ui-utils/client/lib/MessageAction.js
+++ b/app/ui-utils/client/lib/MessageAction.js
@@ -3,19 +3,19 @@ import { FlowRouter } from 'meteor/kadira:flow-router';
 import moment from 'moment';
 import toastr from 'toastr';
 import mem from 'mem';
-
 import { Meteor } from 'meteor/meteor';
 import { TAPi18n } from 'meteor/tap:i18n';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Tracker } from 'meteor/tracker';
 import { Session } from 'meteor/session';
 
-import { roomTypes, canDeleteMessage } from '../../../utils/client';
 import { messageArgs } from './messageArgs';
+import { modal } from './modal';
+import { roomTypes, canDeleteMessage } from '../../../utils/client';
 import { Messages, Rooms, Subscriptions } from '../../../models/client';
 import { hasAtLeastOnePermission } from '../../../authorization/client';
 import { settings } from '../../../settings/client';
-import { modal } from './modal';
+
 
 const call = (method, ...args) => new Promise((resolve, reject) => {
 	Meteor.call(method, ...args, function(err, data) {
@@ -141,7 +141,7 @@ export const MessageAction = new class {
 		const roomURL = roomTypes.getURL(roomData.t, subData || roomData);
 		return `${ roomURL }?msg=${ msgId }`;
 	}
-};
+}();
 
 Meteor.startup(async function() {
 	const { chatMessages } = await import('../../../ui');
@@ -278,9 +278,8 @@ Meteor.startup(async function() {
 					currentTsDiff = moment().diff(msgTs, 'minutes');
 				}
 				return currentTsDiff < blockEditInMinutes;
-			} else {
-				return true;
 			}
+			return true;
 		},
 		order: 6,
 		group: 'menu',
diff --git a/app/ui-utils/client/lib/RocketChatTabBar.js b/app/ui-utils/client/lib/RocketChatTabBar.js
index 12e6c126c95..f3cdc94372a 100644
--- a/app/ui-utils/client/lib/RocketChatTabBar.js
+++ b/app/ui-utils/client/lib/RocketChatTabBar.js
@@ -1,5 +1,6 @@
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Tracker } from 'meteor/tracker';
+
 import { TabBar } from './TabBar';
 
 export class RocketChatTabBar {
diff --git a/app/ui-utils/client/lib/RoomHistoryManager.js b/app/ui-utils/client/lib/RoomHistoryManager.js
index c15da4b54aa..d9303c6933f 100644
--- a/app/ui-utils/client/lib/RoomHistoryManager.js
+++ b/app/ui-utils/client/lib/RoomHistoryManager.js
@@ -3,14 +3,14 @@ import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Blaze } from 'meteor/blaze';
-import { ChatMessage, ChatSubscription, ChatRoom } from '../../../models';
-import { getConfig } from '../config';
+
 import { RoomManager } from './RoomManager';
 import { readMessage } from './readMessages';
 import { renderMessageBody } from './renderMessageBody';
+import { getConfig } from '../config';
+import { ChatMessage, ChatSubscription, ChatRoom } from '../../../models';
 
 export const normalizeThreadMessage = (message) => {
-
 	if (message.msg) {
 		return renderMessageBody(message).replace(/<br\s?\\?>/g, ' ');
 	}
@@ -70,7 +70,7 @@ function upsertMessageBulk({ msgs, subscription }) {
 	});
 }
 
-const defaultLimit = parseInt(getConfig('roomListLimit')) || 50 ;
+const defaultLimit = parseInt(getConfig('roomListLimit')) || 50;
 
 export const RoomHistoryManager = new class {
 	constructor() {
@@ -84,7 +84,7 @@ export const RoomHistoryManager = new class {
 				hasMoreNext: new ReactiveVar(false),
 				isLoading: new ReactiveVar(false),
 				unreadNotLoaded: new ReactiveVar(0),
-				firstUnread: new ReactiveVar,
+				firstUnread: new ReactiveVar(),
 				loaded: undefined,
 			};
 		}
@@ -197,7 +197,6 @@ export const RoomHistoryManager = new class {
 
 		if (ts) {
 			return Meteor.call('loadNextMessages', rid, ts, limit, function(err, result) {
-
 				upsertMessageBulk({
 					msgs: Array.from(result.messages).filter((msg) => msg.t !== 'command'),
 					subscription,
@@ -239,65 +238,64 @@ export const RoomHistoryManager = new class {
 
 			setTimeout(function() {
 				const messages = wrapper[0];
-				return instance.atBottom = messages.scrollTop >= (messages.scrollHeight - messages.clientHeight);
+				instance.atBottom = messages.scrollTop >= (messages.scrollHeight - messages.clientHeight);
 			});
 
 			return setTimeout(() => msgElement.removeClass('highlight'), 500);
+		}
+		const room = this.getRoom(message.rid);
+		room.isLoading.set(true);
+		ChatMessage.remove({ rid: message.rid });
+
+		let typeName = undefined;
+
+		const subscription = ChatSubscription.findOne({ rid: message.rid });
+		if (subscription) {
+			// const { ls } = subscription;
+			typeName = subscription.t + subscription.name;
 		} else {
-			const room = this.getRoom(message.rid);
-			room.isLoading.set(true);
-			ChatMessage.remove({ rid: message.rid });
-
-			let typeName = undefined;
-
-			const subscription = ChatSubscription.findOne({ rid: message.rid });
-			if (subscription) {
-				// const { ls } = subscription;
-				typeName = subscription.t + subscription.name;
-			} else {
-				const curRoomDoc = ChatRoom.findOne({ _id: message.rid });
-				typeName = (curRoomDoc ? curRoomDoc.t : undefined) + (curRoomDoc ? curRoomDoc.name : undefined);
-			}
+			const curRoomDoc = ChatRoom.findOne({ _id: message.rid });
+			typeName = (curRoomDoc ? curRoomDoc.t : undefined) + (curRoomDoc ? curRoomDoc.name : undefined);
+		}
 
-			return Meteor.call('loadSurroundingMessages', message, limit, function(err, result) {
-				if (!result || !result.messages) {
-					return;
-				}
-				for (const msg of Array.from(result.messages)) {
-					if (msg.t !== 'command') {
-						upsertMessage({ msg, subscription });
-					}
+		return Meteor.call('loadSurroundingMessages', message, limit, function(err, result) {
+			if (!result || !result.messages) {
+				return;
+			}
+			for (const msg of Array.from(result.messages)) {
+				if (msg.t !== 'command') {
+					upsertMessage({ msg, subscription });
 				}
+			}
 
-				Meteor.defer(function() {
-					readMessage.refreshUnreadMark(message.rid, true);
-					RoomManager.updateMentionsMarksOfRoom(typeName);
-					const wrapper = $('.messages-box .wrapper');
-					const msgElement = $(`#${ message._id }`, wrapper);
-					const pos = (wrapper.scrollTop() + msgElement.offset().top) - (wrapper.height() / 2);
-					wrapper.animate({
-						scrollTop: pos,
-					}, 500);
-
-					msgElement.addClass('highlight');
-
-					setTimeout(function() {
-						room.isLoading.set(false);
-						const messages = wrapper[0];
-						instance.atBottom = !result.moreAfter && (messages.scrollTop >= (messages.scrollHeight - messages.clientHeight));
-						return 500;
-					});
-
-					return setTimeout(() => msgElement.removeClass('highlight'), 500);
+			Meteor.defer(function() {
+				readMessage.refreshUnreadMark(message.rid, true);
+				RoomManager.updateMentionsMarksOfRoom(typeName);
+				const wrapper = $('.messages-box .wrapper');
+				const msgElement = $(`#${ message._id }`, wrapper);
+				const pos = (wrapper.scrollTop() + msgElement.offset().top) - (wrapper.height() / 2);
+				wrapper.animate({
+					scrollTop: pos,
+				}, 500);
+
+				msgElement.addClass('highlight');
+
+				setTimeout(function() {
+					room.isLoading.set(false);
+					const messages = wrapper[0];
+					instance.atBottom = !result.moreAfter && (messages.scrollTop >= (messages.scrollHeight - messages.clientHeight));
+					return 500;
 				});
-				if (!room.loaded) {
-					room.loaded = 0;
-				}
-				room.loaded += result.messages.length;
-				room.hasMore.set(result.moreBefore);
-				return room.hasMoreNext.set(result.moreAfter);
+
+				return setTimeout(() => msgElement.removeClass('highlight'), 500);
 			});
-		}
+			if (!room.loaded) {
+				room.loaded = 0;
+			}
+			room.loaded += result.messages.length;
+			room.hasMore.set(result.moreBefore);
+			return room.hasMoreNext.set(result.moreAfter);
+		});
 	}
 
 	hasMore(rid) {
@@ -330,7 +328,7 @@ export const RoomHistoryManager = new class {
 		if (this.histories[rid]) {
 			this.histories[rid].hasMore.set(true);
 			this.histories[rid].isLoading.set(false);
-			return this.histories[rid].loaded = undefined;
+			this.histories[rid].loaded = undefined;
 		}
 	}
-};
+}();
diff --git a/app/ui-utils/client/lib/RoomManager.js b/app/ui-utils/client/lib/RoomManager.js
index 87136266282..8613132c3c9 100644
--- a/app/ui-utils/client/lib/RoomManager.js
+++ b/app/ui-utils/client/lib/RoomManager.js
@@ -4,20 +4,21 @@ import { Tracker } from 'meteor/tracker';
 import { Blaze } from 'meteor/blaze';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
-import { roomTypes } from '../../../utils';
+import _ from 'underscore';
+
 import { fireGlobalEvent } from './fireGlobalEvent';
+import { upsertMessage, RoomHistoryManager } from './RoomHistoryManager';
+import { mainReady } from './mainReady';
+import { roomTypes } from '../../../utils';
 import { promises } from '../../../promises/client';
 import { callbacks } from '../../../callbacks';
 import { Notifications } from '../../../notifications';
 import { CachedChatRoom, ChatMessage, ChatSubscription, CachedChatSubscription } from '../../../models';
 import { CachedCollectionManager } from '../../../ui-cached-collection';
-import _ from 'underscore';
-import { upsertMessage, RoomHistoryManager } from './RoomHistoryManager';
-import { mainReady } from './mainReady';
 import { getConfig } from '../config';
 
 
-const maxRoomsOpen = parseInt(getConfig('maxRoomsOpen')) || 5 ;
+const maxRoomsOpen = parseInt(getConfig('maxRoomsOpen')) || 5;
 
 const onDeleteMessageStream = (msg) => {
 	ChatMessage.remove({ _id: msg._id });
@@ -70,10 +71,8 @@ export const RoomManager = new function() {
 							msgStream.on(openedRooms[typeName].rid, (msg) =>
 
 								promises.run('onClientMessageReceived', msg).then(function(msg) {
-
 									// Should not send message to room if room has not loaded all the current messages
 									if (RoomHistoryManager.hasMoreNext(openedRooms[typeName].rid) === false) {
-
 										// Do not load command messages into channel
 										if (msg.t !== 'command') {
 											const subscription = ChatSubscription.findOne({ rid: openedRooms[typeName].rid });
@@ -110,7 +109,7 @@ export const RoomManager = new function() {
 
 		getDomOfRoom(typeName, rid) {
 			const room = openedRooms[typeName];
-			if ((room == null)) {
+			if (room == null) {
 				return;
 			}
 
@@ -172,7 +171,7 @@ export const RoomManager = new function() {
 
 
 		open(typeName) {
-			if ((openedRooms[typeName] == null)) {
+			if (openedRooms[typeName] == null) {
 				openedRooms[typeName] = {
 					typeName,
 					active: false,
@@ -181,14 +180,13 @@ export const RoomManager = new function() {
 				};
 			}
 
-			openedRooms[typeName].lastSeen = new Date;
+			openedRooms[typeName].lastSeen = new Date();
 
 			if (openedRooms[typeName].ready) {
 				this.closeOlderRooms();
 			}
 
 			if (CachedChatSubscription.ready.get() === true) {
-
 				if (openedRooms[typeName].active !== true) {
 					openedRooms[typeName].active = true;
 					if (this.computation) {
@@ -207,7 +205,7 @@ export const RoomManager = new function() {
 
 		existsDomOfRoom(typeName) {
 			const room = openedRooms[typeName];
-			return ((room != null ? room.dom : undefined) != null);
+			return (room != null ? room.dom : undefined) != null;
 		}
 
 		updateUserStatus(user, status, utcOffset) {
@@ -254,8 +252,8 @@ export const RoomManager = new function() {
 		}
 	};
 	Cls.initClass();
-	return new Cls;
-};
+	return new Cls();
+}();
 
 const loadMissedMessages = function(rid) {
 	const lastMessage = ChatMessage.findOne({ rid, _hidden: { $ne: true }, temp: { $exists: false } }, { sort: { ts: -1 }, limit: 1 });
@@ -266,9 +264,8 @@ const loadMissedMessages = function(rid) {
 	return Meteor.call('loadMissedMessages', rid, lastMessage.ts, (err, result) => {
 		if (result) {
 			return Array.from(result).map((item) => promises.run('onClientMessageReceived', item).then((msg) => upsertMessage({ msg, subscription })));
-		} else {
-			return [];
 		}
+		return [];
 	});
 };
 
@@ -284,11 +281,10 @@ Tracker.autorun(function() {
 			}
 		});
 	}
-	return connectionWasOnline = connected;
+	connectionWasOnline = connected;
 });
 
 Meteor.startup(() => {
-
 	// Reload rooms after login
 	let currentUsername = undefined;
 	Tracker.autorun(() => {
@@ -311,12 +307,12 @@ Meteor.startup(() => {
 			if (RoomManager.getOpenedRoomByRid(record.rid) != null) {
 				const recordBefore = ChatMessage.findOne({ ts: { $lt: record.ts } }, { sort: { ts: -1 } });
 				if (recordBefore != null) {
-					ChatMessage.update({ _id: recordBefore._id }, { $set: { tick: new Date } });
+					ChatMessage.update({ _id: recordBefore._id }, { $set: { tick: new Date() } });
 				}
 
 				const recordAfter = ChatMessage.findOne({ ts: { $gt: record.ts } }, { sort: { ts: 1 } });
 				if (recordAfter != null) {
-					return ChatMessage.update({ _id: recordAfter._id }, { $set: { tick: new Date } });
+					return ChatMessage.update({ _id: recordAfter._id }, { $set: { tick: new Date() } });
 				}
 			}
 		},
@@ -342,7 +338,7 @@ CachedCollectionManager.onLogin(() => {
 
 		ChatMessage.update({ rid: sub.rid, ignored }, { $unset: { ignored: true } }, { multi: true });
 		if (sub && sub.ignored) {
-			ChatMessage.update({ rid: sub.rid, t: { $ne: 'command' }, 'u._id': { $in : sub.ignored } }, { $set: { ignored : true } }, { multi : true });
+			ChatMessage.update({ rid: sub.rid, t: { $ne: 'command' }, 'u._id': { $in: sub.ignored } }, { $set: { ignored: true } }, { multi: true });
 		}
 	});
 });
diff --git a/app/ui-utils/client/lib/SideNav.js b/app/ui-utils/client/lib/SideNav.js
index 5f4d720c9cd..116e9c8bdc5 100644
--- a/app/ui-utils/client/lib/SideNav.js
+++ b/app/ui-utils/client/lib/SideNav.js
@@ -1,8 +1,9 @@
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Session } from 'meteor/session';
+
+import { AccountBox } from './AccountBox';
 import { roomTypes } from '../../../utils/client/lib/roomTypes';
 import { Subscriptions } from '../../../models';
-import { AccountBox } from './AccountBox';
 
 export const SideNav = new class {
 	constructor() {
@@ -40,6 +41,7 @@ export const SideNav = new class {
 			return typeof callback === 'function' && callback();
 		}, 500);
 	}
+
 	closeFlex(callback = null) {
 		const routesNamesForRooms = roomTypes.getTypes().filter((i) => i.route).map((i) => i.route.name);
 		if (!routesNamesForRooms.includes(FlowRouter.current().route.name)) {
@@ -55,9 +57,11 @@ export const SideNav = new class {
 		}
 		this.toggleFlex(-1, callback);
 	}
+
 	flexStatus() {
 		return this.flexNav.opened;
 	}
+
 	setFlex(template, data) {
 		if (data == null) {
 			data = {};
@@ -65,6 +69,7 @@ export const SideNav = new class {
 		Session.set('flex-nav-template', template);
 		return Session.set('flex-nav-data', data);
 	}
+
 	getFlex() {
 		return {
 			template: Session.get('flex-nav-template'),
@@ -75,10 +80,10 @@ export const SideNav = new class {
 	toggleCurrent() {
 		if (this.flexNav && this.flexNav.opened) {
 			return this.closeFlex();
-		} else {
-			return AccountBox.toggle();
 		}
+		return AccountBox.toggle();
 	}
+
 	focusInput() {
 		const sideNavDivs = Array.from(this.sideNav[0].children).filter((el) => el.tagName === 'DIV' && !el.classList.contains('hidden'));
 		let highestZidx = 0;
@@ -95,6 +100,7 @@ export const SideNav = new class {
 			return ref && ref.focus();
 		}, 200);
 	}
+
 	validate() {
 		const invalid = [];
 		this.sideNav.find('input.required').each(function() {
@@ -133,7 +139,7 @@ export const SideNav = new class {
 				this.setFlex(item.config.template, item.config.data);
 				return this.openFlex(item.callback);
 			});
-			return this.openQueue = [];
+			this.openQueue = [];
 		}
 	}
-};
+}();
diff --git a/app/ui-utils/client/lib/TabBar.js b/app/ui-utils/client/lib/TabBar.js
index 9cf8908034e..761b965ea44 100644
--- a/app/ui-utils/client/lib/TabBar.js
+++ b/app/ui-utils/client/lib/TabBar.js
@@ -1,13 +1,15 @@
 import _ from 'underscore';
 import { ReactiveVar } from 'meteor/reactive-var';
 
-export const TabBar = new (class TabBar {
+export const TabBar = new class TabBar {
 	get size() {
 		return this._size.get();
 	}
+
 	set size(s) {
 		this._size.set(s);
 	}
+
 	constructor() {
 		this.buttons = new ReactiveVar({});
 		this._size = new ReactiveVar(4);
@@ -31,7 +33,7 @@ export const TabBar = new (class TabBar {
 		btns[config.id] = config;
 
 		if (this.extraGroups[config.id]) {
-			btns[config.id].groups = _.union((btns[config.id].groups || []), this.extraGroups[config.id]);
+			btns[config.id].groups = _.union(btns[config.id].groups || [], this.extraGroups[config.id]);
 		}
 
 		this.buttons.set(btns);
@@ -64,20 +66,20 @@ export const TabBar = new (class TabBar {
 	addGroup(id, groups) {
 		const btns = this.buttons.curValue;
 		if (btns[id]) {
-			btns[id].groups = _.union((btns[id].groups || []), groups);
+			btns[id].groups = _.union(btns[id].groups || [], groups);
 			this.buttons.set(btns);
 		} else {
-			this.extraGroups[id] = _.union((this.extraGroups[id] || []), groups);
+			this.extraGroups[id] = _.union(this.extraGroups[id] || [], groups);
 		}
 	}
 
 	removeGroup(id, groups) {
 		const btns = this.buttons.curValue;
 		if (btns[id]) {
-			btns[id].groups = _.difference((btns[id].groups || []), groups);
+			btns[id].groups = _.difference(btns[id].groups || [], groups);
 			this.buttons.set(btns);
 		} else {
-			this.extraGroups[id] = _.difference((this.extraGroups[id] || []), groups);
+			this.extraGroups[id] = _.difference(this.extraGroups[id] || [], groups);
 		}
 	}
-});
+}();
diff --git a/app/ui-utils/client/lib/alerts.js b/app/ui-utils/client/lib/alerts.js
index fb45088f0e7..c92f713578e 100644
--- a/app/ui-utils/client/lib/alerts.js
+++ b/app/ui-utils/client/lib/alerts.js
@@ -7,7 +7,7 @@ export const alerts = {
 	open(config) {
 		this.close(false);
 
-		config.closable = typeof(config.closable) === typeof(true) ? config.closable : true;
+		config.closable = typeof config.closable === typeof true ? config.closable : true;
 
 		if (config.timer) {
 			this.timer = setTimeout(() => this.close(), config.timer);
diff --git a/app/ui-utils/client/lib/avatar.js b/app/ui-utils/client/lib/avatar.js
index a1ea442ec0e..4d026179ee8 100644
--- a/app/ui-utils/client/lib/avatar.js
+++ b/app/ui-utils/client/lib/avatar.js
@@ -1,15 +1,15 @@
 import { Blaze } from 'meteor/blaze';
 import { Session } from 'meteor/session';
-import { getUserAvatarURL } from '../../../utils/lib/getUserAvatarURL';
+
 import { RoomManager } from './RoomManager';
+import { getUserAvatarURL } from '../../../utils/lib/getUserAvatarURL';
 
 Blaze.registerHelper('avatarUrlFromUsername', getUserAvatarURL);
 
 export const getAvatarAsPng = function(username, cb) {
-	const image = new Image;
+	const image = new Image();
 	image.src = getUserAvatarURL(username);
 	image.onload = function() {
-
 		const canvas = document.createElement('canvas');
 		canvas.width = image.width;
 		canvas.height = image.height;
@@ -21,9 +21,10 @@ export const getAvatarAsPng = function(username, cb) {
 			return cb('');
 		}
 	};
-	return image.onerror = function() {
+	image.onerror = function() {
 		return cb('');
 	};
+	return image.onerror;
 };
 
 export const updateAvatarOfUsername = function(username) {
diff --git a/app/ui-utils/client/lib/callMethod.js b/app/ui-utils/client/lib/callMethod.js
index 5a4ca263d67..9b5f3e9d5af 100644
--- a/app/ui-utils/client/lib/callMethod.js
+++ b/app/ui-utils/client/lib/callMethod.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { handleError } from '../../../utils';
 
 /**
diff --git a/app/ui-utils/client/lib/fireGlobalEvent.js b/app/ui-utils/client/lib/fireGlobalEvent.js
index 2b992660a31..c179a29496b 100644
--- a/app/ui-utils/client/lib/fireGlobalEvent.js
+++ b/app/ui-utils/client/lib/fireGlobalEvent.js
@@ -1,6 +1,7 @@
-import { settings } from '../../../settings';
 import { Tracker } from 'meteor/tracker';
 
+import { settings } from '../../../settings';
+
 export const fireGlobalEvent = function _fireGlobalEvent(eventName, params) {
 	window.dispatchEvent(new CustomEvent(eventName, { detail: params }));
 
diff --git a/app/ui-utils/client/lib/menu.js b/app/ui-utils/client/lib/menu.js
index 6bee4bd534d..068dc28e7be 100644
--- a/app/ui-utils/client/lib/menu.js
+++ b/app/ui-utils/client/lib/menu.js
@@ -1,6 +1,7 @@
 import { Session } from 'meteor/session';
 import _ from 'underscore';
 import EventEmitter from 'wolfy87-eventemitter';
+
 import { lazyloadtick } from '../../../lazy-load';
 import { isRtl } from '../../../utils';
 
@@ -24,7 +25,7 @@ export const menu = new class extends EventEmitter {
 					showTop = true;
 				}
 				if ($(this).offset().top > listOffset.top + listHeight) {
-					return showBottom = true;
+					showBottom = true;
 				}
 			});
 			if (showTop === true) {
@@ -34,15 +35,16 @@ export const menu = new class extends EventEmitter {
 			}
 			if (showBottom === true) {
 				return $('.bottom-unread-rooms').removeClass('hidden');
-			} else {
-				return $('.bottom-unread-rooms').addClass('hidden');
 			}
+			return $('.bottom-unread-rooms').addClass('hidden');
 		}, 200);
 		this.sideNavW = sideNavW;
 	}
+
 	get isRtl() {
 		return isRtl(localStorage.getItem('userLanguage'));
 	}
+
 	touchstart(e) {
 		this.movestarted = false;
 		this.blockmove = false;
@@ -56,6 +58,7 @@ export const menu = new class extends EventEmitter {
 			this.mainContent = $('.main-content');
 		}
 	}
+
 	touchmove(e) {
 		if (this.touchstartX == null) {
 			return;
@@ -109,6 +112,7 @@ export const menu = new class extends EventEmitter {
 			// }
 		}
 	}
+
 	translate(diff, width = sideNavW) {
 		if (diff === undefined) {
 			diff = this.isRtl ? -1 * sideNavW : sideNavW;
@@ -116,11 +120,12 @@ export const menu = new class extends EventEmitter {
 		this.sidebarWrap.css('width', '100%');
 		this.wrapper.css('overflow', 'hidden');
 		this.sidebarWrap.css('background-color', '#000');
-		this.sidebarWrap.css('opacity', map((Math.abs(diff) / width), 0, 1, -.1, .8).toFixed(2));
+		this.sidebarWrap.css('opacity', map(Math.abs(diff) / width, 0, 1, -0.1, 0.8).toFixed(2));
 		this.isRtl ? this.sidebar.css('transform', `translate3d(${ (sideNavW + diff).toFixed(3) }px, 0 , 0)`) : this.sidebar.css('transform', `translate3d(${ (diff - sideNavW).toFixed(3) }px, 0 , 0)`);
 	}
+
 	touchend() {
-		const [max, min] = [sideNavW * .76, sideNavW * .24];
+		const [max, min] = [sideNavW * 0.76, sideNavW * 0.24];
 		if (this.movestarted !== true) {
 			return;
 		}
@@ -128,7 +133,7 @@ export const menu = new class extends EventEmitter {
 		if (this.isRtl) {
 			if (this.isOpen()) {
 				return this.diff >= -max ? this.close() : this.open();
-			} else if (this.diff <= -min) {
+			} if (this.diff <= -min) {
 				return this.open();
 			}
 			return this.close();
@@ -144,8 +149,10 @@ export const menu = new class extends EventEmitter {
 		}
 		return this.close();
 	}
+
 	init() {
-		this.sidebar = this.menu = $('.sidebar');
+		this.menu = $('.sidebar');
+		this.sidebar = this.menu;
 		this.sidebarWrap = $('.sidebar-wrap');
 		this.wrapper = $('.messages-box > .wrapper');
 		const ignore = (fn) => (event) => document.body.clientWidth <= 780 && fn(event);
@@ -177,12 +184,15 @@ export const menu = new class extends EventEmitter {
 		this._open = false;
 		Session.set('isMenuOpen', this._open);
 	}
+
 	closePopover() {
 		return this.menu.find('[data-popover="anchor"]:checked').prop('checked', false).length > 0;
 	}
+
 	isOpen() {
 		return Session.get('isMenuOpen');
 	}
+
 	open() {
 		this._open = true;
 		Session.set('isMenuOpen', this._open);
@@ -198,7 +208,7 @@ export const menu = new class extends EventEmitter {
 	toggle() {
 		return this.isOpen() ? this.close() : this.open();
 	}
-};
+}();
 
 
 let passClosePopover = false;
diff --git a/app/ui-utils/client/lib/messageBox.js b/app/ui-utils/client/lib/messageBox.js
index 3da205910b4..8a2a36827c7 100644
--- a/app/ui-utils/client/lib/messageBox.js
+++ b/app/ui-utils/client/lib/messageBox.js
@@ -26,7 +26,8 @@ class MessageBoxActions {
 			return false;
 		}
 
-		return (this.actions[group] = this.actions[group].filter((action) => !expression.test(action.id)));
+		this.actions[group] = this.actions[group].filter((action) => !expression.test(action.id));
+		return this.actions[group];
 	}
 
 	get(group) {
@@ -55,5 +56,5 @@ class MessageBoxActions {
 }
 
 export const messageBox = {
-	actions: new MessageBoxActions,
+	actions: new MessageBoxActions(),
 };
diff --git a/app/ui-utils/client/lib/modal.js b/app/ui-utils/client/lib/modal.js
index 9022af53f67..07170159f4f 100644
--- a/app/ui-utils/client/lib/modal.js
+++ b/app/ui-utils/client/lib/modal.js
@@ -2,6 +2,7 @@ import './modal.html';
 import { Meteor } from 'meteor/meteor';
 import { Blaze } from 'meteor/blaze';
 import { Template } from 'meteor/templating';
+
 import { t, getUserPreference, handleError } from '../../../utils';
 
 export const modal = {
@@ -106,7 +107,6 @@ Template.rc_modal.helpers({
 	},
 	type() {
 		return this.type && `rc-modal__content-icon rc-modal__content-icon--modal-${ this.type }`;
-
 	},
 	modalIcon() {
 		switch (this.type) {
diff --git a/app/ui-utils/client/lib/openRoom.js b/app/ui-utils/client/lib/openRoom.js
index 50b8bdbaf46..0cbab721858 100644
--- a/app/ui-utils/client/lib/openRoom.js
+++ b/app/ui-utils/client/lib/openRoom.js
@@ -5,12 +5,15 @@ import { Template } from 'meteor/templating';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { BlazeLayout } from 'meteor/kadira:blaze-layout';
 import { Session } from 'meteor/session';
+
 import { RoomManager, fireGlobalEvent, readMessage, RoomHistoryManager } from '..';
+
+import _ from 'underscore';
+
 import { ChatSubscription, Rooms } from '../../../models';
 import { settings } from '../../../settings';
 import { callbacks } from '../../../callbacks';
 import { roomTypes, handleError } from '../../../utils';
-import _ from 'underscore';
 
 window.currentTracker = undefined;
 
@@ -65,22 +68,19 @@ export const openRoom = function(type, name) {
 					if (!error) {
 						RoomManager.close(type + name);
 						return openRoom('d', name);
-					} else {
-						Session.set('roomNotFound', { type, name, error });
-						BlazeLayout.render('main', { center: 'roomNotFound' });
-						return;
 					}
+					Session.set('roomNotFound', { type, name, error });
+					BlazeLayout.render('main', { center: 'roomNotFound' });
 				});
 			} else {
 				Meteor.call('getRoomByTypeAndName', type, name, function(error, record) {
 					if (error) {
 						Session.set('roomNotFound', { type, name, error });
 						return BlazeLayout.render('main', { center: 'roomNotFound' });
-					} else {
-						Rooms.upsert({ _id: record._id }, _.omit(record, '_id'));
-						RoomManager.close(type + name);
-						return openRoom(type, name);
 					}
+					Rooms.upsert({ _id: record._id }, _.omit(record, '_id'));
+					RoomManager.close(type + name);
+					return openRoom(type, name);
 				});
 			}
 			return;
diff --git a/app/ui-utils/client/lib/popout.js b/app/ui-utils/client/lib/popout.js
index 2b88d702e0a..1b5fd5d4aa1 100644
--- a/app/ui-utils/client/lib/popout.js
+++ b/app/ui-utils/client/lib/popout.js
@@ -2,6 +2,7 @@ import './popout.html';
 import { Blaze } from 'meteor/blaze';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
+
 import { callbacks } from '../../../callbacks';
 
 export const popout = {
@@ -36,7 +37,7 @@ export const popout = {
 		if (this.timer) {
 			clearTimeout(this.timer);
 		}
-		if (typeof(this.onCloseCallback) === 'function') {
+		if (typeof this.onCloseCallback === 'function') {
 			this.onCloseCallback();
 		}
 	},
diff --git a/app/ui-utils/client/lib/popover.js b/app/ui-utils/client/lib/popover.js
index f7fbdd75d5b..300384d7e65 100644
--- a/app/ui-utils/client/lib/popover.js
+++ b/app/ui-utils/client/lib/popover.js
@@ -3,13 +3,15 @@ import { Meteor } from 'meteor/meteor';
 import { Blaze } from 'meteor/blaze';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
-import { isRtl, handleError } from '../../../utils/client';
-import { ChatSubscription } from '../../../models/client';
 import _ from 'underscore';
+
 import { hide, leave } from './ChannelActions';
 import { messageBox } from './messageBox';
 import { MessageAction } from './MessageAction';
 import { RoomManager } from './RoomManager';
+import { ChatSubscription } from '../../../models/client';
+import { isRtl, handleError } from '../../../utils/client';
+
 export const popover = {
 	renderedPopover: null,
 	open({ currentTarget, ...config }) {
@@ -54,7 +56,6 @@ Template.popover.onRendered(function() {
 	const { activeElement } = this.data;
 	const popoverContent = this.firstNode.children[0];
 	const position = _.throttle(() => {
-
 		const direction = typeof this.data.direction === 'function' ? this.data.direction() : this.data.direction;
 
 		const verticalDirection = /top/.test(direction) ? 'top' : 'bottom';
diff --git a/app/ui-utils/client/lib/prependReplies.js b/app/ui-utils/client/lib/prependReplies.js
index b7a944eeca0..eb9b3a8fd5e 100644
--- a/app/ui-utils/client/lib/prependReplies.js
+++ b/app/ui-utils/client/lib/prependReplies.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { MessageAction } from './MessageAction';
 import { Rooms, Users } from '../../../models/client';
 
diff --git a/app/ui-utils/client/lib/readMessages.js b/app/ui-utils/client/lib/readMessages.js
index 3731f907bb6..aa288db73d6 100644
--- a/app/ui-utils/client/lib/readMessages.js
+++ b/app/ui-utils/client/lib/readMessages.js
@@ -1,10 +1,11 @@
 import { Meteor } from 'meteor/meteor';
 import { Session } from 'meteor/session';
-import { ChatSubscription, ChatMessage } from '../../../models';
-import { RoomHistoryManager } from './RoomHistoryManager';
-import { RoomManager } from './RoomManager';
 import _ from 'underscore';
 import EventEmitter from 'wolfy87-eventemitter';
+
+import { RoomHistoryManager } from './RoomHistoryManager';
+import { RoomManager } from './RoomManager';
+import { ChatSubscription, ChatMessage } from '../../../models';
 /* DEFINITIONS
 - If window loses focus user needs to scroll or click/touch some place
 - On hit ESC enable read, force read of current room and remove unread mark
@@ -78,7 +79,7 @@ export const readMessage = new class extends EventEmitter {
 			const position = unreadMark.position();
 			const visible = (position != null ? position.top : undefined) >= 0;
 			if (!visible && (room.unreadSince.get() != null)) {
-				if (this.debug) { console.log('readMessage -> readNow canceled, unread mark visible:', visible, 'unread since exists', (room.unreadSince.get() != null)); }
+				if (this.debug) { console.log('readMessage -> readNow canceled, unread mark visible:', visible, 'unread since exists', room.unreadSince.get() != null); }
 				return;
 			}
 		// if unread mark is not visible and there is more more not loaded unread messages
@@ -95,11 +96,11 @@ export const readMessage = new class extends EventEmitter {
 	}
 
 	disable() {
-		return this.canReadMessage = false;
+		this.canReadMessage = false;
 	}
 
 	enable() {
-		return this.canReadMessage = document.hasFocus();
+		this.canReadMessage = document.hasFocus();
 	}
 
 	isEnable() {
@@ -144,8 +145,7 @@ export const readMessage = new class extends EventEmitter {
 		});
 
 		if ((lastReadRecord == null) && (RoomHistoryManager.getRoom(room.rid).unreadNotLoaded.get() === 0)) {
-			lastReadRecord =
-				{ ts: new Date(0) };
+			lastReadRecord =				{ ts: new Date(0) };
 		}
 
 		if ((lastReadRecord != null) || (RoomHistoryManager.getRoom(room.rid).unreadNotLoaded.get() > 0)) {
@@ -176,7 +176,7 @@ export const readMessage = new class extends EventEmitter {
 			}
 		}
 	}
-};
+}();
 
 
 Meteor.startup(function() {
diff --git a/app/ui-utils/client/lib/renderMessageBody.js b/app/ui-utils/client/lib/renderMessageBody.js
index 0992d15c21c..68685ea0543 100644
--- a/app/ui-utils/client/lib/renderMessageBody.js
+++ b/app/ui-utils/client/lib/renderMessageBody.js
@@ -1,6 +1,7 @@
-import { callbacks } from '../../../callbacks';
 import s from 'underscore.string';
 
+import { callbacks } from '../../../callbacks';
+
 const generateKeyDefault = (...args) => args.map((item) => JSON.stringify(item)).join('-');
 
 const mem = (fn, tm = 500, generateKey = generateKeyDefault) => {
@@ -25,11 +26,10 @@ const mem = (fn, tm = 500, generateKey = generateKeyDefault) => {
 };
 
 export const renderMessageBody = mem((message) => {
-
 	message.html = s.trim(message.msg) ? s.escapeHTML(message.msg) : '';
 
 	const { tokens, html } = callbacks.run('renderMessage', message);
 
 	return (Array.isArray(tokens) ? tokens.reverse() : [])
 		.reduce((html, { token, text }) => html.replace(token, () => text), html);
-}, 5000, ({ _id, _updatedAt }) => (_id && _updatedAt && _id + _updatedAt));
+}, 5000, ({ _id, _updatedAt }) => _id && _updatedAt && _id + _updatedAt);
diff --git a/app/ui-utils/lib/Message.js b/app/ui-utils/lib/Message.js
index 91ab4501d3b..36ff9c9830d 100644
--- a/app/ui-utils/lib/Message.js
+++ b/app/ui-utils/lib/Message.js
@@ -1,7 +1,8 @@
 import { TAPi18n } from 'meteor/tap:i18n';
-import { settings } from '../../settings';
 import s from 'underscore.string';
+
 import { MessageTypes } from './MessageTypes';
+import { settings } from '../../settings';
 
 export const Message = {
 	parse(msg, language) {
@@ -9,10 +10,10 @@ export const Message = {
 		if (messageType) {
 			if (messageType.render) {
 				return messageType.render(msg);
-			} else if (messageType.template) {
+			} if (messageType.template) {
 				// Render message
 				return;
-			} else if (messageType.message) {
+			} if (messageType.message) {
 				if (!language && typeof localStorage !== 'undefined') {
 					language = localStorage.getItem('userLanguage');
 				}
diff --git a/app/ui-utils/lib/MessageProperties.js b/app/ui-utils/lib/MessageProperties.js
index 467215901bb..3b33ae4ce28 100644
--- a/app/ui-utils/lib/MessageProperties.js
+++ b/app/ui-utils/lib/MessageProperties.js
@@ -1,16 +1,17 @@
-import { emoji } from '../../emoji';
 import GraphemeSplitter from 'grapheme-splitter';
 
+import { emoji } from '../../emoji';
+
 const splitter = new GraphemeSplitter();
 
 export const messageProperties = {
 
-	length: ((message) => splitter.countGraphemes(message)),
+	length: (message) => splitter.countGraphemes(message),
 
-	messageWithoutEmojiShortnames: ((message) => message.replace(/:\w+:/gm, (match) => {
+	messageWithoutEmojiShortnames: (message) => message.replace(/:\w+:/gm, (match) => {
 		if (emoji.list[match] !== undefined) {
 			return ' ';
 		}
 		return match;
-	})),
+	}),
 };
diff --git a/app/ui-utils/lib/MessageTypes.js b/app/ui-utils/lib/MessageTypes.js
index 8e4191e005a..5907dddaa87 100644
--- a/app/ui-utils/lib/MessageTypes.js
+++ b/app/ui-utils/lib/MessageTypes.js
@@ -4,7 +4,8 @@ export const MessageTypes = new class {
 	}
 
 	registerType(options) {
-		return this.types[options.id] = options;
+		this.types[options.id] = options;
+		return options;
 	}
 
 	getType(message) {
@@ -15,5 +16,4 @@ export const MessageTypes = new class {
 		const type = this.types[message && message.t];
 		return type && type.system;
 	}
-
-};
+}();
diff --git a/app/ui-utils/tests/server.tests.js b/app/ui-utils/tests/server.tests.js
index c715bbbbcf4..a1592b60602 100644
--- a/app/ui-utils/tests/server.tests.js
+++ b/app/ui-utils/tests/server.tests.js
@@ -1,6 +1,7 @@
 /* eslint-env mocha */
 import 'babel-polyfill';
 import assert from 'assert';
+
 import './server.mocks.js';
 import { messageProperties } from '../lib/MessageProperties';
 
diff --git a/app/ui-vrecord/client/VRecDialog.js b/app/ui-vrecord/client/VRecDialog.js
index 9ce0c98098c..5da5d5d3c34 100644
--- a/app/ui-vrecord/client/VRecDialog.js
+++ b/app/ui-vrecord/client/VRecDialog.js
@@ -1,8 +1,9 @@
 import { Blaze } from 'meteor/blaze';
 import { Template } from 'meteor/templating';
-import { VideoRecorder } from '../../ui';
 import _ from 'underscore';
 
+import { VideoRecorder } from '../../ui';
+
 export const VRecDialog = new class {
 	constructor() {
 		this.opened = false;
@@ -57,13 +58,12 @@ export const VRecDialog = new class {
 					right = 10;
 				}
 				return dialog.css({ top: `${ top }px`, right: `${ right }px` });
-			} else {
-				let left = (sourcePos.left - this.width) + 100;
-				if (left < 0) {
-					left = 10;
-				}
-				return dialog.css({ top: `${ top }px`, left: `${ left }px` });
 			}
+			let left = (sourcePos.left - this.width) + 100;
+			if (left < 0) {
+				left = 10;
+			}
+			return dialog.css({ top: `${ top }px`, left: `${ left }px` });
 		};
 
 		const set = _.debounce(_set, 2000);
@@ -79,4 +79,4 @@ export const VRecDialog = new class {
 		}
 		return VideoRecorder.start(this.video);
 	}
-};
+}();
diff --git a/app/ui-vrecord/client/vrecord.js b/app/ui-vrecord/client/vrecord.js
index 544a6c75771..daea0e04b81 100644
--- a/app/ui-vrecord/client/vrecord.js
+++ b/app/ui-vrecord/client/vrecord.js
@@ -1,23 +1,22 @@
-import { VRecDialog } from './VRecDialog';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
+
+import { VRecDialog } from './VRecDialog';
 import { VideoRecorder, fileUpload } from '../../ui';
 
 Template.vrecDialog.helpers({
 	recordIcon() {
 		if (VideoRecorder.cameraStarted.get() && VideoRecorder.recording.get()) {
 			return 'icon-stop';
-		} else {
-			return 'icon-circle';
 		}
+		return 'icon-circle';
 	},
 
 	okDisabled() {
 		if (VideoRecorder.cameraStarted.get() && VideoRecorder.recordingAvailable.get()) {
 			return '';
-		} else {
-			return 'disabled';
 		}
+		return 'disabled';
 	},
 
 	recordDisabled() {
diff --git a/app/ui/client/components/header/header.js b/app/ui/client/components/header/header.js
index 555755f677f..8fef0596d4e 100644
--- a/app/ui/client/components/header/header.js
+++ b/app/ui/client/components/header/header.js
@@ -1,4 +1,5 @@
 import { Template } from 'meteor/templating';
+
 import { TabBar, fireGlobalEvent } from '../../../../ui-utils';
 
 Template.header.helpers({
diff --git a/app/ui/client/components/header/headerRoom.js b/app/ui/client/components/header/headerRoom.js
index d60a765c023..ff7e5f13350 100644
--- a/app/ui/client/components/header/headerRoom.js
+++ b/app/ui/client/components/header/headerRoom.js
@@ -3,11 +3,12 @@ import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+
 import { t, roomTypes, handleError } from '../../../../utils';
 import { TabBar, fireGlobalEvent, call } from '../../../../ui-utils';
 import { ChatSubscription, Rooms, ChatRoom } from '../../../../models';
 import { settings } from '../../../../settings';
-import { FlowRouter } from 'meteor/kadira:flow-router';
 import { emoji } from '../../../../emoji';
 import { Markdown } from '../../../../markdown/client';
 import { hasAllPermission } from '../../../../authorization';
diff --git a/app/ui/client/components/icon.js b/app/ui/client/components/icon.js
index b94f9c5ea1f..779ea70f163 100644
--- a/app/ui/client/components/icon.js
+++ b/app/ui/client/components/icon.js
@@ -1,9 +1,10 @@
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
+
 import { isChrome, isFirefox } from '../../../utils';
 
 const baseUrlFix = () => `${ document.baseURI }${ FlowRouter.current().path.substring(1) }`;
 
 Template.icon.helpers({
-	baseUrl: ((isFirefox && isFirefox[1] < 55) || (isChrome && isChrome[1] < 55)) ? baseUrlFix : undefined,
+	baseUrl: (isFirefox && isFirefox[1] < 55) || (isChrome && isChrome[1] < 55) ? baseUrlFix : undefined,
 });
diff --git a/app/ui/client/components/popupList.js b/app/ui/client/components/popupList.js
index cec7fc0af18..37b9a89b22a 100644
--- a/app/ui/client/components/popupList.js
+++ b/app/ui/client/components/popupList.js
@@ -1,4 +1,5 @@
 import { Template } from 'meteor/templating';
+
 import { settings } from '../../../settings';
 
 Template.popupList.helpers({
@@ -9,7 +10,7 @@ Template.popupList.helpers({
 				ready: this.ready,
 				loading: this.ready !== undefined && !this.ready,
 				noMatchTemplate: this.data.noMatchTemplate,
-				template_item :this.data.template_item || 'popupList_item_default',
+				template_item: this.data.template_item || 'popupList_item_default',
 				items: this.items,
 				onClick: this.data.onClick || function() {},
 				modifier: this.data.modifier || function(text) { return text; },
diff --git a/app/ui/client/components/selectDropdown.js b/app/ui/client/components/selectDropdown.js
index 71937cd6a55..45a8df18645 100644
--- a/app/ui/client/components/selectDropdown.js
+++ b/app/ui/client/components/selectDropdown.js
@@ -5,10 +5,10 @@ Template.selectDropdown.events({
 	'focus input'(e, i) {
 		i.open.set(true);
 		console.log('asdasd');
-	}, 'blur input'(e, i) {
+	},
+	'blur input'(e, i) {
 		setTimeout(() => {
 			i.open.set(false);
-
 		}, 100);
 		console.log('asdasd');
 	},
diff --git a/app/ui/client/index.js b/app/ui/client/index.js
index 00ac6e838b1..9c9c1b40be4 100644
--- a/app/ui/client/index.js
+++ b/app/ui/client/index.js
@@ -1,18 +1,11 @@
 import './lib/accounts';
-export { ChatMessages } from './lib/chatMessages';
 import './lib/collections';
 import './lib/customEventPolyfill';
-export { fileUpload } from './lib/fileUpload';
 import './lib/iframeCommands';
 import './lib/menu';
 import './lib/Modernizr';
-export { MsgTyping } from './lib/msgTyping';
-export { KonchatNotification } from './lib/notification';
 import './lib/parentTemplate';
-export { Login, animationSupport, animeBack, Button, preLoadImgs } from './lib/rocket';
 import './lib/codeMirror/codeMirror';
-export { AudioRecorder } from './lib/recorderjs/audioRecorder';
-export { VideoRecorder } from './lib/recorderjs/videoRecorder';
 import './lib/textarea-cursor';
 import './views/cmsPage.html';
 import './views/fxos.html';
@@ -43,7 +36,6 @@ import './views/app/createChannel';
 import './views/app/fullModal';
 import './views/app/home';
 import './views/app/directory';
-export { chatMessages } from './views/app/room';
 import './views/app/roomSearch';
 import './views/app/secretURL';
 import './views/app/videoCall/videoButtons';
@@ -65,3 +57,12 @@ import './components/header/headerRoom.html';
 import './components/header/headerRoom';
 import './components/contextualBar.html';
 import './components/contextualBar';
+
+export { ChatMessages } from './lib/chatMessages';
+export { fileUpload } from './lib/fileUpload';
+export { MsgTyping } from './lib/msgTyping';
+export { KonchatNotification } from './lib/notification';
+export { Login, animationSupport, animeBack, Button, preLoadImgs } from './lib/rocket';
+export { AudioRecorder } from './lib/recorderjs/audioRecorder';
+export { VideoRecorder } from './lib/recorderjs/videoRecorder';
+export { chatMessages } from './views/app/room';
diff --git a/app/ui/client/lib/accounts.js b/app/ui/client/lib/accounts.js
index 6fccbb22708..773a60d2de5 100644
--- a/app/ui/client/lib/accounts.js
+++ b/app/ui/client/lib/accounts.js
@@ -1,8 +1,9 @@
 import { Meteor } from 'meteor/meteor';
 import { Accounts } from 'meteor/accounts-base';
-import { t } from '../../../utils';
 import toastr from 'toastr';
 
+import { t } from '../../../utils';
+
 Accounts.onEmailVerificationLink(function(token, done) {
 	Accounts.verifyEmail(token, function(error) {
 		if (error == null) {
diff --git a/app/ui/client/lib/chatMessages.js b/app/ui/client/lib/chatMessages.js
index 8c84d5ff439..b854deb325c 100644
--- a/app/ui/client/lib/chatMessages.js
+++ b/app/ui/client/lib/chatMessages.js
@@ -2,13 +2,15 @@ import moment from 'moment';
 import toastr from 'toastr';
 import _ from 'underscore';
 import s from 'underscore.string';
-
 import { Meteor } from 'meteor/meteor';
 import { Random } from 'meteor/random';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Session } from 'meteor/session';
 import { TAPi18n } from 'meteor/tap:i18n';
 
+import { KonchatNotification } from './notification';
+import { MsgTyping } from './msgTyping';
+import { fileUpload } from './fileUpload';
 import { t, slashCommands, handleError } from '../../../utils/client';
 import {
 	messageProperties,
@@ -26,9 +28,6 @@ import { hasAtLeastOnePermission } from '../../../authorization/client';
 import { Messages, Rooms, ChatMessage, ChatSubscription } from '../../../models/client';
 import { emoji } from '../../../emoji/client';
 
-import { KonchatNotification } from './notification';
-import { MsgTyping } from './msgTyping';
-import { fileUpload } from './fileUpload';
 
 const messageBoxState = {
 	saveValue: _.debounce(({ rid, tmid }, value) => {
@@ -294,9 +293,8 @@ export class ChatMessages {
 			} catch (error) {
 				console.error(error);
 				handleError(error);
-			} finally {
-				return done();
 			}
+			return done();
 		}
 
 		if (this.editing.id) {
@@ -364,7 +362,7 @@ export class ChatMessages {
 		}
 
 		if (!settings.get('FileUpload_Enabled') || !settings.get('Message_AllowConvertLongMessagesToAttachment') || this.editing.id) {
-			throw { error: 'Message_too_long' };
+			throw new Error({ error: 'Message_too_long' });
 		}
 
 		try {
@@ -383,9 +381,10 @@ export class ChatMessages {
 			const fileName = `${ Meteor.user().username } - ${ new Date() }.txt`;
 			const file = new File([messageBlob], fileName, { type: contentType, lastModified: Date.now() });
 			fileUpload([{ file, name: fileName }], this.input, { rid, tmid });
-		} finally {
+		} catch (e) {
 			return true;
 		}
+		return true;
 	}
 
 	async processMessageEditing(message) {
@@ -429,7 +428,7 @@ export class ChatMessages {
 					const invalidCommandMsg = {
 						_id: Random.id(),
 						rid: msgObject.rid,
-						ts: new Date,
+						ts: new Date(),
 						msg: TAPi18n.__('No_such_command', { command: s.escapeHTML(match[1]) }),
 						u: {
 							username: settings.get('InternalHubot_Username'),
@@ -556,7 +555,6 @@ export class ChatMessages {
 
 			event.preventDefault();
 			event.stopPropagation();
-			return;
 		}
 	}
 
diff --git a/app/ui/client/lib/codeMirror/codeMirrorComponent.js b/app/ui/client/lib/codeMirror/codeMirrorComponent.js
index 60cd4ab84ef..e1a1e07f111 100644
--- a/app/ui/client/lib/codeMirror/codeMirrorComponent.js
+++ b/app/ui/client/lib/codeMirror/codeMirrorComponent.js
@@ -1,11 +1,11 @@
-const CodeMirrors = {};
-
 import { Meteor } from 'meteor/meteor';
 import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
 import 'codemirror/lib/codemirror.css';
 import CodeMirror from 'codemirror/lib/codemirror.js';
 
+const CodeMirrors = {};
+
 Template.CodeMirror.rendered = function() {
 	const options = this.data.options || { lineNumbers: true };
 	const textarea = this.find('textarea');
diff --git a/app/ui/client/lib/collections.js b/app/ui/client/lib/collections.js
index 9c53bec1dc0..18df31be28b 100644
--- a/app/ui/client/lib/collections.js
+++ b/app/ui/client/lib/collections.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
+
 import { settings } from '../../../settings';
 import { CachedChatRoom, CachedChatSubscription } from '../../../models';
 
diff --git a/app/ui/client/lib/fileUpload.js b/app/ui/client/lib/fileUpload.js
index 8e587cb577a..b421603cbdf 100644
--- a/app/ui/client/lib/fileUpload.js
+++ b/app/ui/client/lib/fileUpload.js
@@ -2,8 +2,9 @@ import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
 import { Session } from 'meteor/session';
 import s from 'underscore.string';
-import { fileUploadHandler } from '../../../file-upload';
 import { Handlebars } from 'meteor/ui';
+
+import { fileUploadHandler } from '../../../file-upload';
 import { t, fileUploadIsValidContentType } from '../../../utils';
 import { modal, prependReplies } from '../../../ui-utils';
 
diff --git a/app/ui/client/lib/iframeCommands.js b/app/ui/client/lib/iframeCommands.js
index facd647d60b..83dfe611db0 100644
--- a/app/ui/client/lib/iframeCommands.js
+++ b/app/ui/client/lib/iframeCommands.js
@@ -2,10 +2,11 @@ import { Meteor } from 'meteor/meteor';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Session } from 'meteor/session';
 import { ServiceConfiguration } from 'meteor/service-configuration';
+import s from 'underscore.string';
+
 import { AccountBox } from '../../../ui-utils';
 import { settings } from '../../../settings';
 import { callbacks } from '../../../callbacks';
-import s from 'underscore.string';
 
 const commands = {
 	go(data) {
diff --git a/app/ui/client/lib/menu.js b/app/ui/client/lib/menu.js
index 732fc661364..b8619b56632 100644
--- a/app/ui/client/lib/menu.js
+++ b/app/ui/client/lib/menu.js
@@ -1,7 +1,8 @@
 import _ from 'underscore';
-import { menu } from '../../../ui-utils';
 import EventEmitter from 'wolfy87-eventemitter';
 
+import { menu } from '../../../ui-utils';
+
 const emitter = new EventEmitter();
 
 window.addEventListener('resize', _.debounce((() => {
diff --git a/app/ui/client/lib/msgTyping.js b/app/ui/client/lib/msgTyping.js
index 28c4a09af94..b6085d60ab4 100644
--- a/app/ui/client/lib/msgTyping.js
+++ b/app/ui/client/lib/msgTyping.js
@@ -2,9 +2,10 @@ import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Session } from 'meteor/session';
+import _ from 'underscore';
+
 import { settings } from '../../../settings';
 import { Notifications } from '../../../notifications';
-import _ from 'underscore';
 
 export const MsgTyping = (function() {
 	const timeout = 15000;
@@ -13,7 +14,7 @@ export const MsgTyping = (function() {
 	const renewTimeout = 10000;
 	const selfTyping = new ReactiveVar(false);
 	const usersTyping = {};
-	const dep = new Tracker.Dependency;
+	const dep = new Tracker.Dependency();
 
 	const shownName = function(user) {
 		if (!user) {
@@ -64,14 +65,15 @@ export const MsgTyping = (function() {
 	const start = function(room) {
 		if (!renew) { return; }
 
-		setTimeout(() => renew = true, renewTimeout);
+		setTimeout(() => { renew = true; }, renewTimeout);
 
 		renew = false;
 		selfTyping.set(true);
 		const user = Meteor.user();
 		Notifications.notifyRoom(room, 'typing', shownName(user), true);
 		clearTimeout(timeouts[room]);
-		return timeouts[room] = Meteor.setTimeout(() => stop(room), timeout);
+		timeouts[room] = Meteor.setTimeout(() => stop(room), timeout);
+		return timeouts[room];
 	};
 
 
diff --git a/app/ui/client/lib/notification.js b/app/ui/client/lib/notification.js
index c7f43e3d302..253ce7f7da7 100644
--- a/app/ui/client/lib/notification.js
+++ b/app/ui/client/lib/notification.js
@@ -7,6 +7,7 @@ import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Session } from 'meteor/session';
 import _ from 'underscore';
 import s from 'underscore.string';
+
 import { e2e } from '../../../e2e/client';
 import { Users, ChatSubscription } from '../../../models';
 import { getUserPreference } from '../../../utils';
@@ -15,7 +16,7 @@ import { getAvatarAsPng } from '../../../ui-utils';
 import { promises } from '../../../promises/client';
 
 export const KonchatNotification = {
-	notificationStatus: new ReactiveVar,
+	notificationStatus: new ReactiveVar(),
 
 	// notificacoes HTML5
 	getDesktopPermission() {
@@ -23,7 +24,7 @@ export const KonchatNotification = {
 			return Notification.requestPermission(function(status) {
 				KonchatNotification.notificationStatus.set(status);
 				if (Notification.permission !== status) {
-					return Notification.permission = status;
+					Notification.permission = status;
 				}
 			});
 		}
@@ -31,7 +32,7 @@ export const KonchatNotification = {
 
 	notify(notification) {
 		if (window.Notification && Notification.permission === 'granted') {
-			const message = { rid: (notification.payload != null ? notification.payload.rid : undefined), msg: notification.text, notification: true };
+			const message = { rid: notification.payload != null ? notification.payload.rid : undefined, msg: notification.text, notification: true };
 			return promises.run('onClientMessageReceived', message).then(function(message) {
 				const n = new Notification(notification.title, {
 					icon: notification.icon || getUserAvatarURL(notification.payload.sender.username),
@@ -43,7 +44,7 @@ export const KonchatNotification = {
 
 				const notificationDuration = notification.duration - 0 || getUserPreference(Meteor.userId(), 'desktopNotificationDuration') - 0;
 				if (notificationDuration > 0) {
-					setTimeout((() => n.close()), notificationDuration * 1000);
+					setTimeout(() => n.close(), notificationDuration * 1000);
 				}
 
 				if (notification.payload && notification.payload.rid) {
@@ -174,7 +175,7 @@ Meteor.startup(() => {
 			}
 			if (room.pause) {
 				room.pause();
-				return room.currentTime = 0;
+				room.currentTime = 0;
 			}
 		}
 	});
diff --git a/app/ui/client/lib/parentTemplate.js b/app/ui/client/lib/parentTemplate.js
index fb2d2a03569..9c0fd2feaaa 100644
--- a/app/ui/client/lib/parentTemplate.js
+++ b/app/ui/client/lib/parentTemplate.js
@@ -12,7 +12,7 @@ Blaze.TemplateInstance.prototype.parentTemplate = function(levels) {
 		levels = 1;
 	}
 	while (view) {
-		if (view.name.substring(0, 9) === 'Template.' && !(levels--)) {
+		if (view.name.substring(0, 9) === 'Template.' && !levels--) {
 			return view.templateInstance();
 		}
 		view = view.parentView;
diff --git a/app/ui/client/lib/recorderjs/audioEncoder.js b/app/ui/client/lib/recorderjs/audioEncoder.js
index 52e6102cbe9..8dbe7c4c4a7 100644
--- a/app/ui/client/lib/recorderjs/audioEncoder.js
+++ b/app/ui/client/lib/recorderjs/audioEncoder.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
-import { settings } from '../../../../settings';
 import EventEmitter from 'wolfy87-eventemitter';
 
+import { settings } from '../../../../settings';
+
 class AudioEncoder extends EventEmitter {
 	constructor(source, {
 		bufferLen = 4096,
diff --git a/app/ui/client/lib/recorderjs/audioRecorder.js b/app/ui/client/lib/recorderjs/audioRecorder.js
index 9675bb6f018..a06ce2b6e5c 100644
--- a/app/ui/client/lib/recorderjs/audioRecorder.js
+++ b/app/ui/client/lib/recorderjs/audioRecorder.js
@@ -5,8 +5,8 @@ const getUserMedia = ((navigator) => {
 		return navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices);
 	}
 
-	const legacyGetUserMedia = navigator.getUserMedia ||
-		navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
+	const legacyGetUserMedia = navigator.getUserMedia
+		|| navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
 
 	if (legacyGetUserMedia) {
 		return (options) => new Promise((resolve, reject) => {
@@ -27,7 +27,7 @@ class AudioRecorder {
 			return;
 		}
 
-		this.audioContext = new AudioContext;
+		this.audioContext = new AudioContext();
 	}
 
 	destroyAudioContext() {
@@ -99,6 +99,6 @@ class AudioRecorder {
 	}
 }
 
-const instance = new AudioRecorder;
+const instance = new AudioRecorder();
 
 export { instance as AudioRecorder };
diff --git a/app/ui/client/lib/recorderjs/videoRecorder.js b/app/ui/client/lib/recorderjs/videoRecorder.js
index 0726d8458f9..0c09d44ecc4 100644
--- a/app/ui/client/lib/recorderjs/videoRecorder.js
+++ b/app/ui/client/lib/recorderjs/videoRecorder.js
@@ -1,6 +1,6 @@
 import { ReactiveVar } from 'meteor/reactive-var';
 
-export const VideoRecorder = new (class VideoRecorder {
+export const VideoRecorder = new class VideoRecorder {
 	constructor() {
 		this.started = false;
 		this.cameraStarted = new ReactiveVar(false);
@@ -21,14 +21,14 @@ export const VideoRecorder = new (class VideoRecorder {
 			cb && cb.call(this, false);
 		};
 
-		const oldGetUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia ||
-			navigator.msGetUserMedia;
+		const oldGetUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia
+			|| navigator.msGetUserMedia;
 
 		if (navigator.mediaDevices) {
 			navigator.mediaDevices.getUserMedia({ audio: true, video: true })
 				.then(handleSuccess, handleError);
 			return;
-		} else if (oldGetUserMedia) {
+		} if (oldGetUserMedia) {
 			oldGetUserMedia.call(navigator, { audio: true, video: true }, handleSuccess, handleError);
 			return;
 		}
@@ -117,4 +117,4 @@ export const VideoRecorder = new (class VideoRecorder {
 		this.recording.set(false);
 		delete this.mediaRecorder;
 	}
-});
+}();
diff --git a/app/ui/client/lib/rocket.js b/app/ui/client/lib/rocket.js
index 80ce4b8ab66..81fbd0bb36b 100644
--- a/app/ui/client/lib/rocket.js
+++ b/app/ui/client/lib/rocket.js
@@ -35,7 +35,8 @@ export const Button = (function() {
 		const next = el.attr('data-loading-text');
 		const html = el.find('span').html();
 		el.addClass('-progress').attr('data-def-text', html).find('span').html(next);
-		return time = setTimeout(() => el.addClass('going'), 1);
+		time = setTimeout(() => el.addClass('going'), 1);
+		return time;
 	};
 	const done = function(el) {
 		return el.addClass('done');
@@ -82,13 +83,11 @@ export const animeBack = function(e, callback, type) {
 		return;
 	}
 	const s = animationSupport();
-	const p = ((type ? s.animation : s.transition));
+	const p = type ? s.animation : s.transition;
 	el.one(p, function(e) {
-
 		// el.off(p);
 		callback(e);
 	});
-
 };
 
 export const preLoadImgs = function(urls, callback) {
@@ -116,5 +115,4 @@ export const preLoadImgs = function(urls, callback) {
 		if (im.width > 0) { l_(im); }
 		return im;
 	});
-
 };
diff --git a/app/ui/client/views/app/burger.js b/app/ui/client/views/app/burger.js
index 4fbbc2f45ac..3ff6a24fd32 100644
--- a/app/ui/client/views/app/burger.js
+++ b/app/ui/client/views/app/burger.js
@@ -1,5 +1,6 @@
 import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
+
 import { Layout } from '../../../../ui-utils';
 
 Template.burger.helpers({
diff --git a/app/ui/client/views/app/createChannel.js b/app/ui/client/views/app/createChannel.js
index ab97dabaddc..af251012b70 100644
--- a/app/ui/client/views/app/createChannel.js
+++ b/app/ui/client/views/app/createChannel.js
@@ -5,12 +5,13 @@ import { Blaze } from 'meteor/blaze';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Template } from 'meteor/templating';
 import { AutoComplete } from 'meteor/mizzao:autocomplete';
+import toastr from 'toastr';
+import _ from 'underscore';
+
 import { settings } from '../../../../settings';
 import { callbacks } from '../../../../callbacks';
 import { t, roomTypes } from '../../../../utils';
 import { hasAllPermission } from '../../../../authorization';
-import toastr from 'toastr';
-import _ from 'underscore';
 
 const acEvents = {
 	'click .rc-popup-list__item'(e, t) {
@@ -146,7 +147,7 @@ Template.createChannel.helpers({
 	extensionsConfig() {
 		const instance = Template.instance();
 		return {
-			validations : instance.extensions_validations,
+			validations: instance.extensions_validations,
 			submits: instance.extensions_submits,
 			change: instance.change,
 		};
@@ -285,7 +286,7 @@ Template.createChannel.onRendered(function() {
 Template.createChannel.onCreated(function() {
 	this.selectedUsers = new ReactiveVar([]);
 
-	const filter = { exceptions :[Meteor.user().username].concat(this.selectedUsers.get().map((u) => u.username)) };
+	const filter = { exceptions: [Meteor.user().username].concat(this.selectedUsers.get().map((u) => u.username)) };
 	// this.onViewRead:??y(function() {
 	Tracker.autorun(() => {
 		filter.exceptions = [Meteor.user().username].concat(this.selectedUsers.get().map((u) => u.username));
@@ -302,7 +303,7 @@ Template.createChannel.onCreated(function() {
 	this.extensions_invalid = new ReactiveVar(false);
 	this.change = _.debounce(() => {
 		let valid = true;
-		Object.keys(this.extensions_validations).map((key) => this.extensions_validations[key]).forEach((f) => (valid = f(this) && valid));
+		Object.keys(this.extensions_validations).map((key) => this.extensions_validations[key]).forEach((f) => { valid = f(this) && valid; });
 		this.extensions_invalid.set(!valid);
 	}, 300);
 
@@ -335,12 +336,12 @@ Template.createChannel.onCreated(function() {
 
 	this.ac = new AutoComplete(
 		{
-			selector:{
+			selector: {
 				anchor: '.rc-input__label',
 				item: '.rc-popup-list__item',
 				container: '.rc-popup-list__list',
 			},
-			position:'fixed',
+			position: 'fixed',
 			limit: 10,
 			inputDelay: 300,
 			rules: [
@@ -396,7 +397,7 @@ Template.tokenpass.helpers({
 	},
 	addIsDisabled() {
 		const { balance, token } = Template.instance();
-		return (balance.get().length && token.get().length) ? '' : 'disabled';
+		return balance.get().length && token.get().length ? '' : 'disabled';
 	},
 	tokenRequiment() {
 		return Template.instance().requireAll.get() ? t('Require_all_tokens') : t('Require_any_token');
@@ -414,7 +415,7 @@ Template.tokenpass.events({
 		selectedTokens.set([...arr.filter((token) => token.token !== text), { token: text, balance: balance.get() }]);
 		balance.set('');
 		token.set('');
-		[...instance.findAll('input[type=text],input[type=number]')].forEach((el) => el.value = '');
+		[...instance.findAll('input[type=text],input[type=number]')].forEach((el) => { el.value = ''; });
 		instance.data.change();
 		return false;
 	},
diff --git a/app/ui/client/views/app/directory.js b/app/ui/client/views/app/directory.js
index 16295a0d29d..ba4af117e7f 100644
--- a/app/ui/client/views/app/directory.js
+++ b/app/ui/client/views/app/directory.js
@@ -1,9 +1,10 @@
 import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
-import { hasAllPermission } from '../../../../authorization/client';
 import { Template } from 'meteor/templating';
 import _ from 'underscore';
+
 import { timeAgo } from './helpers';
+import { hasAllPermission } from '../../../../authorization/client';
 import { t, roomTypes } from '../../../../utils';
 import { settings } from '../../../../settings';
 import { hasAtLeastOnePermission } from '../../../../authorization';
@@ -146,8 +147,8 @@ Template.directory.helpers({
 		}
 		return function(currentTarget) {
 			if (
-				currentTarget.offsetHeight + currentTarget.scrollTop >=
-				currentTarget.scrollHeight - 100
+				currentTarget.offsetHeight + currentTarget.scrollTop
+				>= currentTarget.scrollHeight - 100
 			) {
 				return instance.page.set(instance.page.get() + 1);
 			}
diff --git a/app/ui/client/views/app/helpers.js b/app/ui/client/views/app/helpers.js
index c73bb977039..09b6abf0252 100644
--- a/app/ui/client/views/app/helpers.js
+++ b/app/ui/client/views/app/helpers.js
@@ -11,8 +11,8 @@ export function timeAgo(time, t, now = new Date()) {
 	const isToday = time.getFullYear() >= today.getFullYear() && time.getMonth() >= today.getMonth() && time.getDate() >= today.getDate();
 	const wasYesterday = time.getFullYear() >= yesterday.getFullYear() && time.getMonth() >= yesterday.getMonth() && time.getDate() >= yesterday.getDate();
 
-	const todayFormatted = (isToday && moment(time).format('LT'));
-	const yesterdayFormatted = (wasYesterday && t('yesterday'));
+	const todayFormatted = isToday && moment(time).format('LT');
+	const yesterdayFormatted = wasYesterday && t('yesterday');
 	const beforeFormatted = moment(time).format('MMM D, YYYY');
 
 	return todayFormatted || yesterdayFormatted || beforeFormatted;
diff --git a/app/ui/client/views/app/home.js b/app/ui/client/views/app/home.js
index 7f51fd7d92e..ade5be9ca31 100644
--- a/app/ui/client/views/app/home.js
+++ b/app/ui/client/views/app/home.js
@@ -1,4 +1,5 @@
 import { Template } from 'meteor/templating';
+
 import { settings } from '../../../../settings';
 
 Template.home.helpers({
diff --git a/app/ui/client/views/app/photoswipe.js b/app/ui/client/views/app/photoswipe.js
index adc22287e76..c221fcb35cf 100644
--- a/app/ui/client/views/app/photoswipe.js
+++ b/app/ui/client/views/app/photoswipe.js
@@ -5,7 +5,6 @@ import 'photoswipe/dist/photoswipe.css';
 import s from 'underscore.string';
 
 Meteor.startup(() => {
-
 	let currentGallery = null;
 	const initGallery = (items, options) => {
 		if (!currentGallery) {
@@ -36,8 +35,7 @@ Meteor.startup(() => {
 			...defaultGalleryOptions,
 			index: 0,
 			addCaptionHTMLFn(item, captionEl) {
-				captionEl.children[0].innerHTML =
-					`${ s.escapeHTML(item.title) }<br/><small>${ s.escapeHTML(item.description) }</small>`;
+				captionEl.children[0].innerHTML =					`${ s.escapeHTML(item.title) }<br/><small>${ s.escapeHTML(item.description) }</small>`;
 				return true;
 			},
 		};
diff --git a/app/ui/client/views/app/room.js b/app/ui/client/views/app/room.js
index 36827a40551..02def0b8c97 100644
--- a/app/ui/client/views/app/room.js
+++ b/app/ui/client/views/app/room.js
@@ -1,7 +1,6 @@
 import _ from 'underscore';
 import moment from 'moment';
 import Clipboard from 'clipboard';
-
 import { Meteor } from 'meteor/meteor';
 import { ReactiveDict } from 'meteor/reactive-dict';
 import { ReactiveVar } from 'meteor/reactive-var';
@@ -117,7 +116,7 @@ const mountPopover = (e, i, outerContext) => {
 		menuItems = menuItems.concat(messageItems);
 	}
 
-	const [items, deleteItem] = menuItems.reduce((result, value) => (result[value.id === 'delete-message' ? 1 : 0].push(value), result), [[], []]);
+	const [items, deleteItem] = menuItems.reduce((result, value) => { result[value.id === 'delete-message' ? 1 : 0].push(value); return result; }, [[], []]);
 	const groups = [{ items }];
 
 	if (deleteItem.length) {
@@ -234,9 +233,9 @@ Template.room.helpers({
 	},
 	isTranslated() {
 		const { state } = Template.instance();
-		return settings.get('AutoTranslate_Enabled') &&
-			(state.get('autoTranslate') === true) &&
-			!!state.get('autoTranslateLanguage');
+		return settings.get('AutoTranslate_Enabled')
+			&& (state.get('autoTranslate') === true)
+			&& !!state.get('autoTranslateLanguage');
 	},
 
 	embeddedVersion() {
@@ -277,12 +276,11 @@ Template.room.helpers({
 		const query = {
 			rid,
 			_hidden: { $ne: true },
-			...((ignoreReplies || modes[viewMode] === 'compact') && { tmid: { $exists: 0 } }),
+			...(ignoreReplies || modes[viewMode] === 'compact') && { tmid: { $exists: 0 } },
 		};
 
 		if (hideMessagesOfType.length > 0) {
-			query.t =
-				{ $nin: hideMessagesOfType };
+			query.t =				{ $nin: hideMessagesOfType };
 		}
 
 		const options = {
@@ -320,7 +318,7 @@ Template.room.helpers({
 			const leader = Users.findOne({ _id: roles.u._id }, { fields: { status: 1 } }) || {};
 			return {
 				...roles.u,
-				name: settings.get('UI_Use_Real_Name') ? (roles.u.name || roles.u.username) : roles.u.username,
+				name: settings.get('UI_Use_Real_Name') ? roles.u.name || roles.u.username : roles.u.username,
 				status: leader.status || 'offline',
 				statusDisplay: ((status) => status.charAt(0).toUpperCase() + status.slice(1))(leader.status || 'offline'),
 			};
@@ -398,8 +396,7 @@ Template.room.helpers({
 	},
 
 	unreadData() {
-		const data =
-			{ count: RoomHistoryManager.getRoom(this._id).unreadNotLoaded.get() + Template.instance().unreadCount.get() };
+		const data =			{ count: RoomHistoryManager.getRoom(this._id).unreadNotLoaded.get() + Template.instance().unreadCount.get() };
 
 		const room = RoomManager.getOpenedRoomByRid(this._id);
 		if (room) {
@@ -562,7 +559,6 @@ export const dropzoneEvents = {
 	},
 
 	'dropped .dropzone-overlay'(event, instance) {
-
 		event.currentTarget.parentNode.classList.remove('over');
 
 		const e = event.originalEvent || event;
@@ -721,7 +717,7 @@ Template.room.events({
 			RoomHistoryManager.getSurroundingMessages(message, 50);
 		} else {
 			const subscription = Subscriptions.findOne({ rid: _id });
-			message = ChatMessage.find({ rid: _id, ts: { $gt: (subscription != null ? subscription.ls : undefined) } }, { sort: { ts: 1 }, limit: 1 }).fetch()[0];
+			message = ChatMessage.find({ rid: _id, ts: { $gt: subscription != null ? subscription.ls : undefined } }, { sort: { ts: 1 }, limit: 1 }).fetch()[0];
 			RoomHistoryManager.getSurroundingMessages(message, 50);
 		}
 	},
@@ -786,7 +782,6 @@ Template.room.events({
 		chatMessages[RoomManager.openedRoom].input.focus();
 	},
 	'click .message-actions__menu'(e, i) {
-
 		const { msg: message, context: ctx } = messageArgs(this);
 
 		const context = ctx || message.actionContext || 'message';
@@ -802,10 +797,10 @@ Template.room.events({
 			'delete-message',
 			'report-message',
 		];
-		const [items, alertsItem] = allItems.reduce((result, value) => (result[itemsBelowDivider.includes(value.id) ? 1 : 0].push(value), result), [[], []]);
+		const [items, alertsItem] = allItems.reduce((result, value) => { result[itemsBelowDivider.includes(value.id) ? 1 : 0].push(value); return result; }, [[], []]);
 		const groups = [{ items }];
 
-		if (alertsItem .length) {
+		if (alertsItem.length) {
 			groups.push({ items: alertsItem });
 		}
 		const config = {
@@ -853,7 +848,6 @@ Template.room.events({
 
 		if (username) {
 			openProfileTabOrOpenDM(e, instance, username);
-			return;
 		}
 	},
 
@@ -878,7 +872,7 @@ Template.room.events({
 		}
 	},
 	'load img'(e, template) {
-		return (typeof template.sendToBottomIfNecessary === 'function' ? template.sendToBottomIfNecessary() : undefined);
+		return typeof template.sendToBottomIfNecessary === 'function' ? template.sendToBottomIfNecessary() : undefined;
 	},
 
 	'click .jump-recent button'(e, template) {
@@ -917,16 +911,15 @@ Template.room.events({
 		if (!roomData) { return false; }
 		if (roomData.announcementDetails != null && roomData.announcementDetails.callback != null) {
 			return callbacks.run(roomData.announcementDetails.callback, this._id);
-		} else {
-			modal.open({
-				title: t('Announcement'),
-				text: callbacks.run('renderMessage', { html: roomData.announcement }).html,
-				html: true,
-				showConfirmButton: false,
-				showCancelButton: true,
-				cancelButtonText: t('Close'),
-			});
 		}
+		modal.open({
+			title: t('Announcement'),
+			text: callbacks.run('renderMessage', { html: roomData.announcement }).html,
+			html: true,
+			showConfirmButton: false,
+			showCancelButton: true,
+			cancelButtonText: t('Close'),
+		});
 	},
 	'click .toggle-hidden'(e) {
 		const id = e.currentTarget.dataset.message;
@@ -1001,7 +994,7 @@ Template.room.onCreated(function() {
 	this.selectedRange = [];
 	this.selectablePointer = null;
 
-	this.flexTemplate = new ReactiveVar;
+	this.flexTemplate = new ReactiveVar();
 
 	this.userDetail = new ReactiveVar(FlowRouter.getParam('username'));
 	this.groupDetail = new ReactiveVar();
@@ -1113,7 +1106,7 @@ Template.room.onRendered(function() {
 	const { _id: rid } = this.data;
 
 	if (!chatMessages[rid]) {
-		chatMessages[rid] = new ChatMessages;
+		chatMessages[rid] = new ChatMessages();
 	}
 	chatMessages[rid].initializeWrapper(this.find('.wrapper'));
 	chatMessages[rid].initializeInput(this.find('.js-input-message'), { rid });
@@ -1167,9 +1160,7 @@ Template.room.onRendered(function() {
 	// observer.disconnect()
 
 	template.onWindowResize = () =>
-		Meteor.defer(() => template.sendToBottomIfNecessaryDebounced())
-	;
-
+		Meteor.defer(() => template.sendToBottomIfNecessaryDebounced());
 	window.addEventListener('resize', template.onWindowResize);
 
 	wrapper.addEventListener('mousewheel', function() {
@@ -1182,7 +1173,7 @@ Template.room.onRendered(function() {
 		Meteor.defer(() => template.checkIfScrollIsAtBottom());
 	});
 
-	wrapper.addEventListener('touchstart', () => template.atBottom = false);
+	wrapper.addEventListener('touchstart', () => { template.atBottom = false; });
 
 	wrapper.addEventListener('touchend', function() {
 		template.checkIfScrollIsAtBottom();
@@ -1240,7 +1231,7 @@ Template.room.onRendered(function() {
 
 	wrapper.addEventListener('scroll', () => updateUnreadCount());
 	// salva a data da renderização para exibir alertas de novas mensagens
-	$.data(this.firstNode, 'renderedAt', new Date);
+	$.data(this.firstNode, 'renderedAt', new Date());
 
 	const webrtc = WebRTC.getInstanceByRoomId(template.data._id);
 	if (webrtc) {
@@ -1267,7 +1258,6 @@ Template.room.onRendered(function() {
 	});
 
 	this.autorun(function() {
-
 		if (template.data._id !== RoomManager.openedRoom) {
 			return;
 		}
@@ -1277,7 +1267,6 @@ Template.room.onRendered(function() {
 			FlowRouter.go('home');
 		}
 	});
-
 });
 
 callbacks.add('enter-room', (sub) => {
diff --git a/app/ui/client/views/app/roomSearch.js b/app/ui/client/views/app/roomSearch.js
index c77fb4c736a..b1c5f39bdab 100644
--- a/app/ui/client/views/app/roomSearch.js
+++ b/app/ui/client/views/app/roomSearch.js
@@ -1,4 +1,5 @@
 import { Template } from 'meteor/templating';
+
 import { roomTypes } from '../../../../utils';
 
 Template.roomSearch.helpers({
diff --git a/app/ui/client/views/app/secretURL.js b/app/ui/client/views/app/secretURL.js
index 6adc7baca6e..d78a778c622 100644
--- a/app/ui/client/views/app/secretURL.js
+++ b/app/ui/client/views/app/secretURL.js
@@ -3,6 +3,7 @@ import { ReactiveVar } from 'meteor/reactive-var';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
+
 import { settings } from '../../../../settings';
 import { KonchatNotification } from '../../lib/notification';
 
diff --git a/app/ui/client/views/app/tests/helpers.tests.js b/app/ui/client/views/app/tests/helpers.tests.js
index cf5440edcdf..110a050454e 100644
--- a/app/ui/client/views/app/tests/helpers.tests.js
+++ b/app/ui/client/views/app/tests/helpers.tests.js
@@ -1,6 +1,7 @@
 /* eslint-env mocha */
 import 'babel-polyfill';
 import assert from 'assert';
+
 import { timeAgo } from '../helpers';
 
 
diff --git a/app/ui/client/views/app/videoCall/videoButtons.js b/app/ui/client/views/app/videoCall/videoButtons.js
index 1a0ea2f39d6..08a83c496c5 100644
--- a/app/ui/client/views/app/videoCall/videoButtons.js
+++ b/app/ui/client/views/app/videoCall/videoButtons.js
@@ -1,5 +1,6 @@
 import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
+
 import { WebRTC } from '../../../../../webrtc/client';
 
 Template.videoButtons.helpers({
diff --git a/app/ui/client/views/app/videoCall/videoCall.js b/app/ui/client/views/app/videoCall/videoCall.js
index f7674ede587..442d2140ee4 100644
--- a/app/ui/client/views/app/videoCall/videoCall.js
+++ b/app/ui/client/views/app/videoCall/videoCall.js
@@ -2,11 +2,12 @@ import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
+
 import { t } from '../../../../../utils';
 import { WebRTC } from '../../../../../webrtc/client';
 
 Template.videoCall.onCreated(function() {
-	return this.mainVideo = new ReactiveVar('$auto');
+	this.mainVideo = new ReactiveVar('$auto');
 });
 
 Template.videoCall.helpers({
@@ -66,9 +67,8 @@ Template.videoCall.helpers({
 		}
 		if (webrtc.remoteItemsById.get()[template.mainVideo.get()] != null) {
 			return webrtc.remoteItemsById.get()[template.mainVideo.get()].url;
-		} else {
-			template.mainVideo.set('$auto');
 		}
+		template.mainVideo.set('$auto');
 	},
 	mainVideoUsername() {
 		const template = Template.instance();
@@ -87,9 +87,8 @@ Template.videoCall.helpers({
 		if (webrtc.remoteItemsById.get()[template.mainVideo.get()] != null) {
 			const user = Meteor.users.findOne(webrtc.remoteItemsById.get()[template.mainVideo.get()].id);
 			return user != null ? user.username : undefined;
-		} else {
-			template.mainVideo.set('$auto');
 		}
+		template.mainVideo.set('$auto');
 	},
 	usernameByUserId(userId) {
 		const user = Meteor.users.findOne(userId);
@@ -130,7 +129,7 @@ Template.videoCall.events({
 	},
 	'loadstart video[muted]'(e) {
 		e.currentTarget.muted = true;
-		return e.currentTarget.volume = 0;
+		e.currentTarget.volume = 0;
 	},
 });
 
diff --git a/app/ui/client/views/cmsPage.js b/app/ui/client/views/cmsPage.js
index 39558923caa..63d55648cf3 100644
--- a/app/ui/client/views/cmsPage.js
+++ b/app/ui/client/views/cmsPage.js
@@ -3,6 +3,7 @@ import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
 import { Tracker } from 'meteor/tracker';
+
 import { settings } from '../../../settings';
 
 Template.cmsPage.onCreated(function() {
diff --git a/app/ui/client/views/fxos.js b/app/ui/client/views/fxos.js
index fef0a8167cd..72847ba83a5 100644
--- a/app/ui/client/views/fxos.js
+++ b/app/ui/client/views/fxos.js
@@ -2,7 +2,6 @@ import { BlazeLayout } from 'meteor/kadira:blaze-layout';
 import { Template } from 'meteor/templating';
 
 Template.fxOsInstallPrompt.onRendered(function() {
-
 	const showPrompt = function() {
 		const request = window.navigator.mozApps.install(`http://${ location.host }/manifest.webapp`);
 		request.onsuccess = function() {
diff --git a/app/user-data-download/server/cronProcessDownloads.js b/app/user-data-download/server/cronProcessDownloads.js
index a903827fe2d..bd76ea49e1a 100644
--- a/app/user-data-download/server/cronProcessDownloads.js
+++ b/app/user-data-download/server/cronProcessDownloads.js
@@ -1,12 +1,14 @@
+import fs from 'fs';
+import path from 'path';
+
 import { Meteor } from 'meteor/meteor';
 import { TAPi18n } from 'meteor/tap:i18n';
+import { SyncedCron } from 'meteor/littledata:synced-cron';
+import archiver from 'archiver';
+
 import { settings } from '../../settings';
 import { Subscriptions, Rooms, Users, Uploads, Messages, UserDataFiles, ExportOperations } from '../../models';
 import { FileUpload } from '../../file-upload';
-import { SyncedCron } from 'meteor/littledata:synced-cron';
-import fs from 'fs';
-import path from 'path';
-import archiver from 'archiver';
 import * as Mailer from '../../mailer';
 
 let zipFolder = '/tmp/zipFiles';
@@ -43,7 +45,7 @@ const loadUserSubscriptions = function(exportOperation) {
 	cursor.forEach((subscription) => {
 		const roomId = subscription.rid;
 		const roomData = Rooms.findOneById(roomId);
-		let roomName = (roomData && roomData.name) ? roomData.name : roomId;
+		let roomName = roomData && roomData.name ? roomData.name : roomId;
 		let userId = null;
 
 		if (subscription.t === 'd') {
@@ -79,7 +81,7 @@ const loadUserSubscriptions = function(exportOperation) {
 
 const getAttachmentData = function(attachment) {
 	const attachmentData = {
-		type : attachment.type,
+		type: attachment.type,
 		title: attachment.title,
 		title_link: attachment.title_link,
 		image_url: attachment.image_url,
@@ -227,13 +229,13 @@ const continueExportingRoom = function(exportOperation, exportOpRoomData) {
 					message = TAPi18n.__('User_left');
 					break;
 				case 'au':
-					message = TAPi18n.__('User_added_by', { user_added : msg.msg, user_by : msg.u.username });
+					message = TAPi18n.__('User_added_by', { user_added: msg.msg, user_by: msg.u.username });
 					break;
 				case 'r':
 					message = TAPi18n.__('Room_name_changed', { room_name: msg.msg, user_by: msg.u.username });
 					break;
 				case 'ru':
-					message = TAPi18n.__('User_removed_by', { user_removed : msg.msg, user_by : msg.u.username });
+					message = TAPi18n.__('User_removed_by', { user_removed: msg.msg, user_by: msg.u.username });
 					break;
 				case 'wm':
 					message = TAPi18n.__('Welcome', { user: msg.u.username });
@@ -315,7 +317,6 @@ const sendEmail = function(userId) {
 		subject,
 		html: body,
 	});
-
 };
 
 const makeZipFile = function(exportOperation) {
@@ -408,7 +409,6 @@ const continueExportOperation = function(exportOperation) {
 	}
 
 	try {
-
 		if (exportOperation.status === 'exporting-rooms') {
 			generateChannelsFile(exportOperation);
 		}
diff --git a/app/user-data-download/server/startup/settings.js b/app/user-data-download/server/startup/settings.js
index fb13e50988a..8b2c5165aca 100644
--- a/app/user-data-download/server/startup/settings.js
+++ b/app/user-data-download/server/startup/settings.js
@@ -1,7 +1,6 @@
 import { settings } from '../../../settings';
 
 settings.addGroup('UserDataDownload', function() {
-
 	this.add('UserData_EnableDownload', true, {
 		type: 'boolean',
 		public: true,
@@ -31,6 +30,4 @@ settings.addGroup('UserDataDownload', function() {
 		public: true,
 		i18nLabel: 'UserData_MessageLimitPerRequest',
 	});
-
-
 });
diff --git a/app/utils/client/lib/CustomTranslations.js b/app/utils/client/lib/CustomTranslations.js
index ab17aa85cd1..1996a7718d8 100644
--- a/app/utils/client/lib/CustomTranslations.js
+++ b/app/utils/client/lib/CustomTranslations.js
@@ -1,4 +1,5 @@
 import { TAPi18n, TAPi18next } from 'meteor/tap:i18n';
+
 import { settings } from '../../../settings';
 
 export function applyCustomTranslations() {
diff --git a/app/utils/client/lib/canDeleteMessage.js b/app/utils/client/lib/canDeleteMessage.js
index 9270d46a97a..22305afb0b5 100644
--- a/app/utils/client/lib/canDeleteMessage.js
+++ b/app/utils/client/lib/canDeleteMessage.js
@@ -38,5 +38,3 @@ export const canDeleteMessage = ({ rid, ts, uid }) => {
 
 	return true;
 };
-
-
diff --git a/app/utils/client/lib/handleError.js b/app/utils/client/lib/handleError.js
index abe8adcffc2..9e54e8cacf4 100644
--- a/app/utils/client/lib/handleError.js
+++ b/app/utils/client/lib/handleError.js
@@ -14,7 +14,7 @@ export const handleError = function(error, useToastr = true) {
 
 	if (useToastr) {
 		const details = Object.entries(error.details || {})
-			.reduce((obj, [key, value]) => ({ ...obj, [key] : s.escapeHTML(value) }), {});
+			.reduce((obj, [key, value]) => ({ ...obj, [key]: s.escapeHTML(value) }), {});
 		const message = TAPi18n.__(error.error, details);
 		const title = details.errorTitle && TAPi18n.__(details.errorTitle);
 
diff --git a/app/utils/client/lib/roomTypes.js b/app/utils/client/lib/roomTypes.js
index ba448d23924..96fdcf0e549 100644
--- a/app/utils/client/lib/roomTypes.js
+++ b/app/utils/client/lib/roomTypes.js
@@ -1,35 +1,43 @@
 import { FlowRouter } from 'meteor/kadira:flow-router';
+import _ from 'underscore';
+
 import { RoomTypesCommon } from '../../lib/RoomTypesCommon';
 import { ChatRoom, ChatSubscription, RoomRoles } from '../../../models';
-import _ from 'underscore';
 
 export const roomTypes = new class RocketChatRoomTypes extends RoomTypesCommon {
 	checkCondition(roomType) {
 		return roomType.condition == null || roomType.condition();
 	}
+
 	getTypes() {
 		return _.sortBy(this.roomTypesOrder, 'order').map((type) => this.roomTypes[type.identifier]).filter((type) => !type.condition || type.condition());
 	}
+
 	getIcon(roomData) {
 		if (!roomData || !roomData.t || !this.roomTypes[roomData.t]) {
 			return;
 		}
 		return (this.roomTypes[roomData.t].getIcon && this.roomTypes[roomData.t].getIcon(roomData)) || this.roomTypes[roomData.t].icon;
 	}
+
 	getRoomName(roomType, roomData) {
 		return this.roomTypes[roomType] && this.roomTypes[roomType].roomName && this.roomTypes[roomType].roomName(roomData);
 	}
+
 	getSecondaryRoomName(roomType, roomData) {
 		return this.roomTypes[roomType] && typeof this.roomTypes[roomType].secondaryRoomName === 'function' && this.roomTypes[roomType].secondaryRoomName(roomData);
 	}
+
 	getIdentifiers(e) {
 		const except = [].concat(e);
 		const list = _.reject(this.roomTypesOrder, (t) => except.indexOf(t.identifier) !== -1);
 		return _.map(list, (t) => t.identifier);
 	}
+
 	getUserStatus(roomType, rid) {
 		return this.roomTypes[roomType] && typeof this.roomTypes[roomType].getUserStatus === 'function' && this.roomTypes[roomType].getUserStatus(rid);
 	}
+
 	getRoomType(roomId) {
 		const fields = {
 			t: 1,
@@ -41,12 +49,15 @@ export const roomTypes = new class RocketChatRoomTypes extends RoomTypesCommon {
 		});
 		return room && room.t;
 	}
+
 	findRoom(roomType, identifier, user) {
 		return this.roomTypes[roomType] && this.roomTypes[roomType].findRoom(identifier, user);
 	}
+
 	canSendMessage(rid) {
 		return ChatSubscription.find({ rid }).count() > 0;
 	}
+
 	readOnly(rid, user) {
 		const fields = {
 			ro: 1,
@@ -80,10 +91,12 @@ export const roomTypes = new class RocketChatRoomTypes extends RoomTypesCommon {
 		});
 		return room && (room.ro === true && Array.isArray(room.muted) && room.muted.indexOf(user.username) !== -1 && !userOwner);
 	}
+
 	archived(rid) {
 		const room = ChatRoom.findOne({ _id: rid }, { fields: { archived: 1 } });
 		return room && room.archived === true;
 	}
+
 	verifyCanSendMessage(rid) {
 		const room = ChatRoom.findOne({	_id: rid }, { fields: { t: 1 } });
 
@@ -97,6 +110,7 @@ export const roomTypes = new class RocketChatRoomTypes extends RoomTypesCommon {
 		}
 		return this.canSendMessage(rid);
 	}
+
 	verifyShowJoinLink(rid) {
 		const room = ChatRoom.findOne({ _id: rid, t: { $exists: true, $ne: null } }, { fields: { t: 1 } });
 		if (!room || !room.t) {
@@ -108,6 +122,7 @@ export const roomTypes = new class RocketChatRoomTypes extends RoomTypesCommon {
 		}
 		return this.roomTypes[roomType].showJoinLink(rid);
 	}
+
 	getNotSubscribedTpl(rid) {
 		const room = ChatRoom.findOne({ _id: rid, t: { $exists: true, $ne: null } }, { fields: { t: 1 } });
 		if (!room || !room.t) {
@@ -145,4 +160,4 @@ export const roomTypes = new class RocketChatRoomTypes extends RoomTypesCommon {
 
 		return FlowRouter.go(this.roomTypes[roomType].route.name, routeData, queryParams);
 	}
-};
+}();
diff --git a/app/utils/lib/RoomTypeConfig.js b/app/utils/lib/RoomTypeConfig.js
index df3a66eb785..ac87d16863c 100644
--- a/app/utils/lib/RoomTypeConfig.js
+++ b/app/utils/lib/RoomTypeConfig.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Random } from 'meteor/random';
+
 import { settings } from '../../settings';
 
 let Users;
@@ -174,18 +175,18 @@ export class RoomTypeConfig {
 		if (!hasPermission && typeof hasPermission !== 'function') {
 			throw new Error('You MUST provide the "hasPermission" to canBeCreated function');
 		}
-		return Meteor.isServer ?
-			hasPermission(Meteor.userId(), `create-${ this._identifier }`) :
-			hasPermission([`create-${ this._identifier }`]);
+		return Meteor.isServer
+			? hasPermission(Meteor.userId(), `create-${ this._identifier }`)
+			: hasPermission([`create-${ this._identifier }`]);
 	}
 
 	canBeDeleted(hasPermission, room) {
 		if (!hasPermission && typeof hasPermission !== 'function') {
 			throw new Error('You MUST provide the "hasPermission" to canBeDeleted function');
 		}
-		return Meteor.isServer ?
-			hasPermission(Meteor.userId(), `delete-${ room.t }`, room._id) :
-			hasPermission(`delete-${ room.t }`, room._id);
+		return Meteor.isServer
+			? hasPermission(Meteor.userId(), `delete-${ room.t }`, room._id)
+			: hasPermission(`delete-${ room.t }`, room._id);
 	}
 
 	supportMembersList(/* room */) {
diff --git a/app/utils/lib/RoomTypesCommon.js b/app/utils/lib/RoomTypesCommon.js
index 438a0b13068..a98d5f716d1 100644
--- a/app/utils/lib/RoomTypesCommon.js
+++ b/app/utils/lib/RoomTypesCommon.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
-import { RoomTypeConfig } from './RoomTypeConfig';
 import { FlowRouter } from 'meteor/kadira:flow-router';
+
+import { RoomTypeConfig } from './RoomTypeConfig';
 import { roomExit } from './roomExit';
 
 export class RoomTypesCommon {
diff --git a/app/utils/lib/fileUploadRestrictions.js b/app/utils/lib/fileUploadRestrictions.js
index 576eee8ebe7..c35b3a881e5 100644
--- a/app/utils/lib/fileUploadRestrictions.js
+++ b/app/utils/lib/fileUploadRestrictions.js
@@ -1,6 +1,7 @@
-import { settings } from '../../settings';
 import _ from 'underscore';
 
+import { settings } from '../../settings';
+
 export const fileUploadMediaWhiteList = function() {
 	const mediaTypeWhiteList = settings.get('FileUpload_MediaTypeWhiteList');
 
@@ -24,14 +25,14 @@ export const fileUploadIsValidContentType = function(type) {
 
 	if (_.contains(list, type)) {
 		return true;
-	} else {
-		const wildCardGlob = '/*';
-		const wildcards = _.filter(list, function(item) {
-			return item.indexOf(wildCardGlob) > 0;
-		});
-		if (_.contains(wildcards, type.replace(/(\/.*)$/, wildCardGlob))) {
-			return true;
-		}
 	}
+	const wildCardGlob = '/*';
+	const wildcards = _.filter(list, function(item) {
+		return item.indexOf(wildCardGlob) > 0;
+	});
+	if (_.contains(wildcards, type.replace(/(\/.*)$/, wildCardGlob))) {
+		return true;
+	}
+
 	return false;
 };
diff --git a/app/utils/lib/getRoomAvatarURL.js b/app/utils/lib/getRoomAvatarURL.js
index 5f5f449c853..aa3fc898a70 100644
--- a/app/utils/lib/getRoomAvatarURL.js
+++ b/app/utils/lib/getRoomAvatarURL.js
@@ -1,5 +1,5 @@
-import { settings } from '../../settings';
 import { getAvatarURL } from './getAvatarURL';
+import { settings } from '../../settings';
 
 export const getRoomAvatarURL = function(roomId) {
 	const externalSource = (settings.get('Accounts_AvatarExternalProviderUrl') || '').trim().replace(/\/$/, '');
diff --git a/app/utils/lib/getURL.js b/app/utils/lib/getURL.js
index 3ffb8e1c88a..1498dc77b1f 100644
--- a/app/utils/lib/getURL.js
+++ b/app/utils/lib/getURL.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
-import { settings } from '../../settings';
 import s from 'underscore.string';
+
 import { isURL } from './isURL';
+import { settings } from '../../settings';
 
 export const getURL = (path, { cdn = true, full = false } = {}) => {
 	if (isURL(path)) {
diff --git a/app/utils/lib/getUserAvatarURL.js b/app/utils/lib/getUserAvatarURL.js
index 0310234fe7e..82f0905f571 100644
--- a/app/utils/lib/getUserAvatarURL.js
+++ b/app/utils/lib/getUserAvatarURL.js
@@ -1,7 +1,8 @@
 import { Session } from 'meteor/session';
 import { Tracker } from 'meteor/tracker';
-import { settings } from '../../settings';
+
 import { getAvatarURL } from './getAvatarURL';
+import { settings } from '../../settings';
 
 export const getUserAvatarURL = function(username) {
 	const externalSource = (settings.get('Accounts_AvatarExternalProviderUrl') || '').trim().replace(/\/$/, '');
diff --git a/app/utils/lib/getUserPreference.js b/app/utils/lib/getUserPreference.js
index c9785eb34e8..1cb3ad7bd80 100644
--- a/app/utils/lib/getUserPreference.js
+++ b/app/utils/lib/getUserPreference.js
@@ -6,8 +6,8 @@ export const getUserPreference = (user, key, defaultValue = undefined) => {
 	if (typeof user === typeof '') {
 		user = Users.findOne(user, { fields: { [`settings.preferences.${ key }`]: 1 } });
 	}
-	if (user && user.settings && user.settings.preferences &&
-		user.settings.preferences.hasOwnProperty(key)) {
+	if (user && user.settings && user.settings.preferences
+		&& user.settings.preferences.hasOwnProperty(key)) {
 		preference = user.settings.preferences[key];
 	} else if (defaultValue === undefined) {
 		preference = settings.get(`Accounts_Default_User_Preferences_${ key }`);
diff --git a/app/utils/lib/getValidRoomName.js b/app/utils/lib/getValidRoomName.js
index 5436d7d5cac..fdc8d31b2a1 100644
--- a/app/utils/lib/getValidRoomName.js
+++ b/app/utils/lib/getValidRoomName.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import limax from 'limax';
+
 import { settings } from '../../settings';
 import { Rooms } from '../../models';
 
diff --git a/app/utils/lib/placeholders.js b/app/utils/lib/placeholders.js
index b68db8eddb7..ffb93e7312a 100644
--- a/app/utils/lib/placeholders.js
+++ b/app/utils/lib/placeholders.js
@@ -1,6 +1,7 @@
-import { settings } from '../../settings';
 import s from 'underscore.string';
 
+import { settings } from '../../settings';
+
 export const placeholders = {
 	replace: (str, data) => {
 		if (!str) {
@@ -25,7 +26,7 @@ export const placeholders = {
 			}
 		}
 
-		str = str.replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1' + '<br>' + '$2');
+		str = str.replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1<br>$2');
 
 		return str;
 	},
diff --git a/app/utils/lib/roomExit.js b/app/utils/lib/roomExit.js
index ada0fe375ea..6b66ee3e76b 100644
--- a/app/utils/lib/roomExit.js
+++ b/app/utils/lib/roomExit.js
@@ -1,5 +1,6 @@
 import { Blaze } from 'meteor/blaze';
 import { BlazeLayout } from 'meteor/kadira:blaze-layout';
+
 import { callbacks } from '../../callbacks';
 
 export const roomExit = function() {
diff --git a/app/utils/lib/tapi18n.js b/app/utils/lib/tapi18n.js
index 77a11c881a8..665913b5787 100644
--- a/app/utils/lib/tapi18n.js
+++ b/app/utils/lib/tapi18n.js
@@ -4,12 +4,11 @@ import { TAPi18n } from 'meteor/tap:i18n';
 export const t = function(key, ...replaces) {
 	if (_.isObject(replaces[0])) {
 		return TAPi18n.__(key, ...replaces);
-	} else {
-		return TAPi18n.__(key, {
-			postProcess: 'sprintf',
-			sprintf: replaces,
-		});
 	}
+	return TAPi18n.__(key, {
+		postProcess: 'sprintf',
+		sprintf: replaces,
+	});
 };
 
 export const isRtl = (lang) => {
diff --git a/app/utils/lib/templateVarHandler.js b/app/utils/lib/templateVarHandler.js
index 8b8070ca896..463a48ed34e 100644
--- a/app/utils/lib/templateVarHandler.js
+++ b/app/utils/lib/templateVarHandler.js
@@ -8,7 +8,6 @@ if (Meteor.isServer) {
 }
 
 export const templateVarHandler = function(variable, object) {
-
 	const templateRegex = /#{([\w\-]+)}/gi;
 	let match = templateRegex.exec(variable);
 	let tmpVariable = variable;
@@ -19,22 +18,21 @@ export const templateVarHandler = function(variable, object) {
 			return;
 		}
 		return object[variable];
-	} else {
-		logger && logger.debug('template found. replacing values');
-		while (match != null) {
-			const tmplVar = match[0];
-			const tmplAttrName = match[1];
-
-			if (!object.hasOwnProperty(tmplAttrName)) {
-				logger && logger.debug(`user does not have attribute: ${ tmplAttrName }`);
-				return;
-			}
+	}
+	logger && logger.debug('template found. replacing values');
+	while (match != null) {
+		const tmplVar = match[0];
+		const tmplAttrName = match[1];
 
-			const attrVal = object[tmplAttrName];
-			logger && logger.debug(`replacing template var: ${ tmplVar } with value: ${ attrVal }`);
-			tmpVariable = tmpVariable.replace(tmplVar, attrVal);
-			match = templateRegex.exec(variable);
+		if (!object.hasOwnProperty(tmplAttrName)) {
+			logger && logger.debug(`user does not have attribute: ${ tmplAttrName }`);
+			return;
 		}
-		return tmpVariable;
+
+		const attrVal = object[tmplAttrName];
+		logger && logger.debug(`replacing template var: ${ tmplVar } with value: ${ attrVal }`);
+		tmpVariable = tmpVariable.replace(tmplVar, attrVal);
+		match = templateRegex.exec(variable);
 	}
+	return tmpVariable;
 };
diff --git a/app/utils/server/functions/getMongoInfo.js b/app/utils/server/functions/getMongoInfo.js
index b8137afe0d9..49baab0536d 100644
--- a/app/utils/server/functions/getMongoInfo.js
+++ b/app/utils/server/functions/getMongoInfo.js
@@ -43,12 +43,9 @@ export function getMongoInfo() {
 
 		mongoVersion = version;
 		mongoStorageEngine = storageEngine.name;
-
 	} catch (e) {
 		return fallbackMongoInfo();
 	}
 
 	return { oplogEnabled, mongoVersion, mongoStorageEngine };
 }
-
-
diff --git a/app/utils/server/lib/roomTypes.js b/app/utils/server/lib/roomTypes.js
index 3e8c5a13d61..d4b2adcab3d 100644
--- a/app/utils/server/lib/roomTypes.js
+++ b/app/utils/server/lib/roomTypes.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { RoomTypesCommon } from '../../lib/RoomTypesCommon';
 
 export const roomTypes = new class roomTypesServer extends RoomTypesCommon {
@@ -15,7 +16,7 @@ export const roomTypes = new class roomTypesServer extends RoomTypesCommon {
 		if (this.roomTypes[roomType] == null) {
 			this.roomTypes[roomType] = {};
 		}
-		return this.roomTypes[roomType].publish = callback;
+		this.roomTypes[roomType].publish = callback;
 	}
 
 	setRoomFind(roomType, callback) {
@@ -25,7 +26,7 @@ export const roomTypes = new class roomTypesServer extends RoomTypesCommon {
 		if (this.roomTypes[roomType] == null) {
 			this.roomTypes[roomType] = {};
 		}
-		return this.roomTypes[roomType].roomFind = callback;
+		this.roomTypes[roomType].roomFind = callback;
 	}
 
 	getRoomFind(roomType) {
@@ -46,5 +47,4 @@ export const roomTypes = new class roomTypesServer extends RoomTypesCommon {
 	runPublish(scope, roomType, identifier) {
 		return this.roomTypes[roomType] && this.roomTypes[roomType].publish && this.roomTypes[roomType].publish.call(scope, identifier);
 	}
-
-};
+}();
diff --git a/app/version-check/client/index.js b/app/version-check/client/index.js
index 51282acc7cb..2409e39f484 100644
--- a/app/version-check/client/index.js
+++ b/app/version-check/client/index.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
 import { TAPi18n } from 'meteor/tap:i18n';
+
 import { alerts } from '../../ui-utils';
 
 Meteor.startup(function() {
diff --git a/app/version-check/server/functions/checkVersionUpdate.js b/app/version-check/server/functions/checkVersionUpdate.js
index b775e1e9397..702c74e1e85 100644
--- a/app/version-check/server/functions/checkVersionUpdate.js
+++ b/app/version-check/server/functions/checkVersionUpdate.js
@@ -1,11 +1,12 @@
 import { Meteor } from 'meteor/meteor';
 import { TAPi18n } from 'meteor/tap:i18n';
+import semver from 'semver';
+
+import getNewUpdates from './getNewUpdates';
 import { settings } from '../../../settings';
 import { Info } from '../../../utils';
 import { Roles, Users } from '../../../models';
-import semver from 'semver';
 import logger from '../logger';
-import getNewUpdates from './getNewUpdates';
 // import getNewUpdates from '../sampleUpdateData';
 
 export default () => {
@@ -75,7 +76,7 @@ export default () => {
 					}
 
 					const msg = {
-						msg: `*${ TAPi18n.__('Rocket_Chat_Alert', adminUser.language) }:*\n\n*${ TAPi18n.__(alert.title, adminUser.language) }*\n${ TAPi18n.__(alert.text, ...(alert.textArguments || []), adminUser.language) }\n${ alert.infoUrl }`,
+						msg: `*${ TAPi18n.__('Rocket_Chat_Alert', adminUser.language) }:*\n\n*${ TAPi18n.__(alert.title, adminUser.language) }*\n${ TAPi18n.__(alert.text, ...alert.textArguments || [], adminUser.language) }\n${ alert.infoUrl }`,
 						rid: [adminUser._id, 'rocket.cat'].sort().join(''),
 					};
 
diff --git a/app/version-check/server/functions/getNewUpdates.js b/app/version-check/server/functions/getNewUpdates.js
index 1694e5b4167..f2f35cb622e 100644
--- a/app/version-check/server/functions/getNewUpdates.js
+++ b/app/version-check/server/functions/getNewUpdates.js
@@ -1,10 +1,12 @@
 import os from 'os';
+
 import { HTTP } from 'meteor/http';
 import { check, Match } from 'meteor/check';
+import { MongoInternals } from 'meteor/mongo';
+
 import { Settings } from '../../../models';
 import { Info } from '../../../utils';
 import { getWorkspaceAccessToken } from '../../../cloud/server';
-import { MongoInternals } from 'meteor/mongo';
 
 export default () => {
 	try {
diff --git a/app/version-check/server/index.js b/app/version-check/server/index.js
index 601ad375a17..acf5998dbff 100644
--- a/app/version-check/server/index.js
+++ b/app/version-check/server/index.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { SyncedCron } from 'meteor/littledata:synced-cron';
+
 import checkVersionUpdate from './functions/checkVersionUpdate';
 import './methods/banner_dismiss';
 import './addSettings';
diff --git a/app/version-check/server/methods/banner_dismiss.js b/app/version-check/server/methods/banner_dismiss.js
index 9eac456984b..217aaf49252 100644
--- a/app/version-check/server/methods/banner_dismiss.js
+++ b/app/version-check/server/methods/banner_dismiss.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Users } from '../../../models';
 
 Meteor.methods({
diff --git a/app/videobridge/client/actionLink.js b/app/videobridge/client/actionLink.js
index 8adeb233ac0..dffb509114f 100644
--- a/app/videobridge/client/actionLink.js
+++ b/app/videobridge/client/actionLink.js
@@ -1,8 +1,9 @@
 import { Session } from 'meteor/session';
 import { TAPi18n } from 'meteor/tap:i18n';
+import toastr from 'toastr';
+
 import { actionLinks } from '../../action-links';
 import { Rooms } from '../../models';
-import toastr from 'toastr';
 
 actionLinks.register('joinJitsiCall', function(message, params, instance) {
 	if (Session.get('openedRoom')) {
diff --git a/app/videobridge/client/tabBar.js b/app/videobridge/client/tabBar.js
index 42345646868..a6617d8b8a5 100644
--- a/app/videobridge/client/tabBar.js
+++ b/app/videobridge/client/tabBar.js
@@ -1,12 +1,12 @@
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
 import { Session } from 'meteor/session';
+
 import { settings } from '../../settings';
 import { TabBar } from '../../ui-utils';
 import { Rooms } from '../../models';
 
 Meteor.startup(function() {
-
 	Tracker.autorun(function() {
 		if (!settings.get('bigbluebutton_Enabled')) {
 			return TabBar.removeButton('bbb_video');
diff --git a/app/videobridge/client/views/videoFlexTab.js b/app/videobridge/client/views/videoFlexTab.js
index 8abfa4d9db3..05889999291 100644
--- a/app/videobridge/client/views/videoFlexTab.js
+++ b/app/videobridge/client/views/videoFlexTab.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
+
 import { settings } from '../../../settings';
 import { modal, TabBar } from '../../../ui-utils';
 import { t } from '../../../utils';
diff --git a/app/videobridge/client/views/videoFlexTabBbb.js b/app/videobridge/client/views/videoFlexTabBbb.js
index d7ce80ec454..a12581da360 100644
--- a/app/videobridge/client/views/videoFlexTabBbb.js
+++ b/app/videobridge/client/views/videoFlexTabBbb.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Template } from 'meteor/templating';
+
 import { settings } from '../../../settings';
 import { Rooms } from '../../../models';
 import { hasAllPermission } from '../../../authorization';
diff --git a/app/videobridge/lib/messageType.js b/app/videobridge/lib/messageType.js
index 0d97b899553..2ad1871fa3f 100644
--- a/app/videobridge/lib/messageType.js
+++ b/app/videobridge/lib/messageType.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { TAPi18n } from 'meteor/tap:i18n';
+
 import { MessageTypes } from '../../ui-utils';
 
 Meteor.startup(function() {
diff --git a/app/videobridge/server/methods/bbb.js b/app/videobridge/server/methods/bbb.js
index 8f7a708cdee..04b1d6030ed 100644
--- a/app/videobridge/server/methods/bbb.js
+++ b/app/videobridge/server/methods/bbb.js
@@ -1,11 +1,12 @@
 import { Meteor } from 'meteor/meteor';
+import { HTTP } from 'meteor/http';
+import xml2js from 'xml2js';
+
 import BigBlueButtonApi from '../../../bigbluebutton';
 import { settings } from '../../../settings';
 import { Rooms, Users } from '../../../models';
 import { saveStreamingOptions } from '../../../channel-settings';
 import { API } from '../../../api';
-import { HTTP } from 'meteor/http';
-import xml2js from 'xml2js';
 
 const parser = new xml2js.Parser({
 	explicitRoot: true,
@@ -22,7 +23,6 @@ const getBBBAPI = () => {
 
 Meteor.methods({
 	bbbJoin({ rid }) {
-
 		if (!this.userId) {
 			throw new Meteor.Error('error-invalid-user', 'Invalid user', { method: 'bbbJoin' });
 		}
diff --git a/app/videobridge/server/methods/jitsiSetTimeout.js b/app/videobridge/server/methods/jitsiSetTimeout.js
index 763940e55c4..71b892f4f7e 100644
--- a/app/videobridge/server/methods/jitsiSetTimeout.js
+++ b/app/videobridge/server/methods/jitsiSetTimeout.js
@@ -8,7 +8,6 @@ import { canAccessRoom } from '../../../authorization/server';
 
 Meteor.methods({
 	'jitsi:updateTimeout': (rid) => {
-
 		if (!Meteor.userId()) {
 			throw new Meteor.Error('error-invalid-user', 'Invalid user', { method: 'jitsi:updateTimeout' });
 		}
@@ -29,15 +28,15 @@ Meteor.methods({
 
 		if (!jitsiTimeout || currentTime > jitsiTimeout) {
 			const message = Messages.createWithTypeRoomIdMessageAndUser('jitsi_call_started', rid, '', Meteor.user(), {
-				actionLinks : [
+				actionLinks: [
 					{ icon: 'icon-videocam', label: TAPi18n.__('Click_to_join'), method_id: 'joinJitsiCall', params: '' },
 				],
 			});
 			message.msg = TAPi18n.__('Started_a_video_call');
 			message.mentions = [
 				{
-					_id:'here',
-					username:'here',
+					_id: 'here',
+					username: 'here',
 				},
 			];
 			callbacks.run('afterSaveMessage', message, { ...room, jitsiTimeout: currentTime + CONSTANTS.TIMEOUT });
diff --git a/app/videobridge/server/settings.js b/app/videobridge/server/settings.js
index 60c68517308..cfb7f90e8d5 100644
--- a/app/videobridge/server/settings.js
+++ b/app/videobridge/server/settings.js
@@ -1,11 +1,10 @@
 import { Meteor } from 'meteor/meteor';
+
 import { settings } from '../../settings';
 
 Meteor.startup(function() {
 	settings.addGroup('Video Conference', function() {
-
 		this.section('BigBlueButton', function() {
-
 			this.add('bigbluebutton_Enabled', false, {
 				type: 'boolean',
 				i18nLabel: 'Enabled',
@@ -60,7 +59,6 @@ Meteor.startup(function() {
 				},
 				public: true,
 			});
-
 		});
 
 		this.section('Jitsi', function() {
diff --git a/app/webdav/client/actionButton.js b/app/webdav/client/actionButton.js
index 62656975cc5..76d520d0ce8 100644
--- a/app/webdav/client/actionButton.js
+++ b/app/webdav/client/actionButton.js
@@ -1,11 +1,12 @@
 import { Meteor } from 'meteor/meteor';
+
 import { t, getURL } from '../../utils';
 import { Subscriptions, WebdavAccounts } from '../../models';
 import { settings } from '../../settings';
 import { MessageAction, modal } from '../../ui-utils';
 import { messageArgs } from '../../ui-utils/client/lib/messageArgs';
-Meteor.startup(function() {
 
+Meteor.startup(function() {
 	MessageAction.addButton({
 		id: 'webdav-upload',
 		icon: 'upload',
diff --git a/app/webdav/client/addWebdavAccount.js b/app/webdav/client/addWebdavAccount.js
index 1d7bcb3c067..8cdb66a3047 100644
--- a/app/webdav/client/addWebdavAccount.js
+++ b/app/webdav/client/addWebdavAccount.js
@@ -1,11 +1,12 @@
 import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
-import { modal } from '../../ui-utils';
-import { t } from '../../utils';
 import _ from 'underscore';
 import toastr from 'toastr';
 
+import { modal } from '../../ui-utils';
+import { t } from '../../utils';
+
 Template.addWebdavAccount.helpers({
 	btnAddNewServer() {
 		if (Template.instance().loading.get()) {
diff --git a/app/webdav/client/selectWebdavAccount.js b/app/webdav/client/selectWebdavAccount.js
index d94fddf1f54..18125501c86 100644
--- a/app/webdav/client/selectWebdavAccount.js
+++ b/app/webdav/client/selectWebdavAccount.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { Template } from 'meteor/templating';
 import toastr from 'toastr';
+
 import { modal } from '../../ui-utils';
 import { t } from '../../utils';
 import { WebdavAccounts } from '../../models';
diff --git a/app/webdav/client/startup/messageBoxActions.js b/app/webdav/client/startup/messageBoxActions.js
index 95d60169787..0ccfcb1760a 100644
--- a/app/webdav/client/startup/messageBoxActions.js
+++ b/app/webdav/client/startup/messageBoxActions.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
+
 import { t } from '../../../utils';
 import { settings } from '../../../settings';
 import { messageBox, modal } from '../../../ui-utils';
diff --git a/app/webdav/client/webdavFilePicker.js b/app/webdav/client/webdavFilePicker.js
index 5484e683d40..fc6edd3edfd 100644
--- a/app/webdav/client/webdavFilePicker.js
+++ b/app/webdav/client/webdavFilePicker.js
@@ -3,10 +3,11 @@ import { Template } from 'meteor/templating';
 import _ from 'underscore';
 import toastr from 'toastr';
 import { Session } from 'meteor/session';
+import { Handlebars } from 'meteor/ui';
+
 import { modal, call } from '../../ui-utils';
 import { t } from '../../utils';
 import { fileUploadHandler } from '../../file-upload';
-import { Handlebars } from 'meteor/ui';
 
 Template.webdavFilePicker.rendered = async function() {
 	const { accountId } = this.data;
diff --git a/app/webdav/server/methods/addWebdavAccount.js b/app/webdav/server/methods/addWebdavAccount.js
index 60ac0fd2e69..2834eb52de2 100644
--- a/app/webdav/server/methods/addWebdavAccount.js
+++ b/app/webdav/server/methods/addWebdavAccount.js
@@ -1,12 +1,12 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+import { createClient } from 'webdav';
+
 import { settings } from '../../../settings';
 import { WebdavAccounts } from '../../../models';
-import { createClient } from 'webdav';
 
 Meteor.methods({
 	async addWebdavAccount(formData) {
-
 		const userId = Meteor.userId();
 
 		if (!userId) {
@@ -50,6 +50,5 @@ Meteor.methods({
 		} catch (error) {
 			return { success: false, message: error.code === 11000 ? 'duplicated-account' : 'unknown-write-error', error };
 		}
-
 	},
 });
diff --git a/app/webdav/server/methods/getFileFromWebdav.js b/app/webdav/server/methods/getFileFromWebdav.js
index c5d417da38e..c4a7d78fadb 100644
--- a/app/webdav/server/methods/getFileFromWebdav.js
+++ b/app/webdav/server/methods/getFileFromWebdav.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
+import { createClient } from 'webdav';
+
 import { settings } from '../../../settings';
 import { WebdavAccounts } from '../../../models';
-import { createClient } from 'webdav';
 
 Meteor.methods({
 	async getFileFromWebdav(accountId, file) {
diff --git a/app/webdav/server/methods/getWebdavFileList.js b/app/webdav/server/methods/getWebdavFileList.js
index a637abd612a..3f48d845eda 100644
--- a/app/webdav/server/methods/getWebdavFileList.js
+++ b/app/webdav/server/methods/getWebdavFileList.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
+import { createClient } from 'webdav';
+
 import { settings } from '../../../settings';
 import { WebdavAccounts } from '../../../models';
-import { createClient } from 'webdav';
 
 Meteor.methods({
 	async getWebdavFileList(accountId, path) {
diff --git a/app/webdav/server/methods/removeWebdavAccount.js b/app/webdav/server/methods/removeWebdavAccount.js
index cf461ae8e8d..d7305f0f64c 100644
--- a/app/webdav/server/methods/removeWebdavAccount.js
+++ b/app/webdav/server/methods/removeWebdavAccount.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { WebdavAccounts } from '../../../models';
 
 Meteor.methods({
diff --git a/app/webdav/server/methods/uploadFileToWebdav.js b/app/webdav/server/methods/uploadFileToWebdav.js
index a6f5f776850..7460d87050a 100644
--- a/app/webdav/server/methods/uploadFileToWebdav.js
+++ b/app/webdav/server/methods/uploadFileToWebdav.js
@@ -1,9 +1,11 @@
+import stream from 'stream';
+
 import { Meteor } from 'meteor/meteor';
-import { settings } from '../../../settings';
-import { WebdavAccounts } from '../../../models';
 import Future from 'fibers/future';
 import { createClient } from 'webdav';
-import stream from 'stream';
+
+import { settings } from '../../../settings';
+import { WebdavAccounts } from '../../../models';
 
 Meteor.methods({
 	async uploadFileToWebdav(accountId, fileData, name) {
diff --git a/app/webdav/server/publications/webdavAccounts.js b/app/webdav/server/publications/webdavAccounts.js
index b67c8b303a3..9a067fa4e4e 100644
--- a/app/webdav/server/publications/webdavAccounts.js
+++ b/app/webdav/server/publications/webdavAccounts.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { WebdavAccounts } from '../../../models';
 
 Meteor.publish('webdavAccounts', function() {
@@ -8,7 +9,7 @@ Meteor.publish('webdavAccounts', function() {
 
 	return WebdavAccounts.findWithUserId(this.userId, {
 		fields: {
-			_id:1,
+			_id: 1,
 			username: 1,
 			server_url: 1,
 			name: 1,
diff --git a/app/webrtc/client/WebRTCClass.js b/app/webrtc/client/WebRTCClass.js
index 3bef0bcd60f..09af52fb423 100644
--- a/app/webrtc/client/WebRTCClass.js
+++ b/app/webrtc/client/WebRTCClass.js
@@ -1,10 +1,11 @@
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
 import { ReactiveVar } from 'meteor/reactive-var';
-import { FlowRouter } from 'meteor/kadira:flow-router' ;
+import { FlowRouter } from 'meteor/kadira:flow-router';
 import { TAPi18n } from 'meteor/tap:i18n';
-import { t } from '../../utils';
+
 import { ChromeScreenShare } from './screenShare';
+import { t } from '../../utils';
 import { Notifications } from '../../notifications';
 import { settings } from '../../settings';
 import { modal } from '../../ui-utils';
@@ -151,8 +152,6 @@ class WebRTCTransportClass {
 		}
 		callbacks.onRemoteStatus.push(fn);
 	}
-
-
 }
 
 class WebRTCClass {
@@ -195,7 +194,7 @@ class WebRTCClass {
 		this.videoEnabled = new ReactiveVar(true);
 		this.overlayEnabled = new ReactiveVar(false);
 		this.screenShareEnabled = new ReactiveVar(false);
-		this.localUrl = new ReactiveVar;
+		this.localUrl = new ReactiveVar();
 		this.active = false;
 		this.remoteMonitoring = false;
 		this.monitor = false;
@@ -406,7 +405,7 @@ class WebRTCClass {
 	_getUserMedia(media, onSuccess, onError) {
 		const onSuccessLocal = (stream) => {
 			if (AudioContext && stream.getAudioTracks().length > 0) {
-				const audioContext = new AudioContext;
+				const audioContext = new AudioContext();
 				const source = audioContext.createMediaStreamSource(stream);
 				const volume = audioContext.createGain();
 				source.connect(volume);
@@ -954,7 +953,6 @@ class WebRTCClass {
 			peerConnection.setRemoteDescription(new RTCSessionDescription(data.description));
 		}
 	}
-
 }
 
 const WebRTC = new class {
@@ -986,7 +984,7 @@ const WebRTC = new class {
 		}
 		return this.instancesByRoomId[roomId];
 	}
-};
+}();
 
 Meteor.startup(function() {
 	Tracker.autorun(function() {
diff --git a/app/webrtc/client/screenShare.js b/app/webrtc/client/screenShare.js
index 66f14ed9579..827d1fb3eba 100644
--- a/app/webrtc/client/screenShare.js
+++ b/app/webrtc/client/screenShare.js
@@ -13,7 +13,7 @@ export const ChromeScreenShare = {
 	},
 	getSourceId(navigator, callback) {
 		if (callback == null) {
-			throw '"callback" parameter is mandatory.';
+			throw new Error('"callback" parameter is mandatory.');
 		}
 		this.callbacks.getSourceId = callback;
 		if (navigator === 'electron') {
diff --git a/app/wordpress/lib/common.js b/app/wordpress/lib/common.js
index dc77951554e..909342850d2 100644
--- a/app/wordpress/lib/common.js
+++ b/app/wordpress/lib/common.js
@@ -1,10 +1,11 @@
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
-import { settings } from '../../settings';
 import { ServiceConfiguration } from 'meteor/service-configuration';
-import { CustomOAuth } from '../../custom-oauth';
 import _ from 'underscore';
 
+import { settings } from '../../settings';
+import { CustomOAuth } from '../../custom-oauth';
+
 const config = {
 	serverURL: '',
 	identityPath: '/oauth/me',
diff --git a/app/wordpress/server/startup.js b/app/wordpress/server/startup.js
index b239d6d0a5a..871a515d0e8 100644
--- a/app/wordpress/server/startup.js
+++ b/app/wordpress/server/startup.js
@@ -2,7 +2,6 @@ import { settings } from '../../settings';
 
 settings.addGroup('OAuth', function() {
 	return this.section('WordPress', function() {
-
 		const enableQuery = {
 			_id: 'Accounts_OAuth_Wordpress',
 			value: true,
diff --git a/client/methods/deleteMessage.js b/client/methods/deleteMessage.js
index f2ae46a1bed..2badef099b8 100644
--- a/client/methods/deleteMessage.js
+++ b/client/methods/deleteMessage.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { ChatMessage } from '../../app/models/client';
 import { canDeleteMessage } from '../../app/utils/client';
 
diff --git a/client/methods/hideRoom.js b/client/methods/hideRoom.js
index 9b93fe9e4cf..832dc3a49d2 100644
--- a/client/methods/hideRoom.js
+++ b/client/methods/hideRoom.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { ChatSubscription } from '../../app/models';
 
 Meteor.methods({
diff --git a/client/methods/openRoom.js b/client/methods/openRoom.js
index cc242a2c05e..78a529c86f8 100644
--- a/client/methods/openRoom.js
+++ b/client/methods/openRoom.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { ChatSubscription } from '../../app/models';
 
 Meteor.methods({
diff --git a/client/methods/setUserActiveStatus.js b/client/methods/setUserActiveStatus.js
index 99121d34b71..eaebed8199c 100644
--- a/client/methods/setUserActiveStatus.js
+++ b/client/methods/setUserActiveStatus.js
@@ -1,4 +1,5 @@
 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 e6a4ebbeec3..ff4a4a99d64 100644
--- a/client/methods/toggleFavorite.js
+++ b/client/methods/toggleFavorite.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { ChatSubscription } from '../../app/models';
 
 Meteor.methods({
diff --git a/client/methods/updateMessage.js b/client/methods/updateMessage.js
index 904cd9b9dc3..f51e3046be1 100644
--- a/client/methods/updateMessage.js
+++ b/client/methods/updateMessage.js
@@ -1,14 +1,15 @@
 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';
+
 import { t } from '../../app/utils';
 import { ChatMessage } from '../../app/models';
 import { hasAtLeastOnePermission } from '../../app/authorization';
 import { settings } from '../../app/settings';
 import { callbacks } from '../../app/callbacks';
-import _ from 'underscore';
-import moment from 'moment';
-import toastr from 'toastr';
 
 Meteor.methods({
 	updateMessage(message) {
@@ -50,7 +51,6 @@ Meteor.methods({
 		}
 
 		Tracker.nonreactive(function() {
-
 			if (isNaN(TimeSync.serverOffset())) {
 				message.editedAt = new Date();
 			} else {
@@ -73,7 +73,7 @@ Meteor.methods({
 			ChatMessage.update({
 				_id: message._id,
 				'u._id': Meteor.userId(),
-			}, { $set : messageObject });
+			}, { $set: messageObject });
 		});
 	},
 });
diff --git a/client/notifications/UsersNameChanged.js b/client/notifications/UsersNameChanged.js
index 8af9032ce10..7cba85af027 100644
--- a/client/notifications/UsersNameChanged.js
+++ b/client/notifications/UsersNameChanged.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Notifications } from '../../app/notifications';
 import { Messages, Subscriptions } from '../../app/models';
 
diff --git a/client/notifications/notification.js b/client/notifications/notification.js
index 67dfabfd806..ca374de4816 100644
--- a/client/notifications/notification.js
+++ b/client/notifications/notification.js
@@ -2,6 +2,7 @@ import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Session } from 'meteor/session';
+
 import { KonchatNotification } from '../../app/ui';
 import { CachedChatSubscription } from '../../app/models';
 import { fireGlobalEvent, readMessage, Layout } from '../../app/ui-utils';
@@ -13,7 +14,6 @@ import { Notifications } from '../../app/notifications';
 // group messages in which the user is mentioned.
 
 function notifyNewRoom(sub) {
-
 	// Do not play new room sound if user is busy
 	if (Session.equals(`user_${ Meteor.userId() }_status`, 'busy')) {
 		return;
@@ -28,7 +28,6 @@ Meteor.startup(function() {
 	Tracker.autorun(function() {
 		if (Meteor.userId()) {
 			Notifications.onUser('notification', function(notification) {
-
 				let openedRoomId = undefined;
 				if (['channel', 'group', 'direct'].includes(FlowRouter.getRouteName())) {
 					openedRoomId = Session.get('openedRoom');
@@ -56,7 +55,6 @@ Meteor.startup(function() {
 			});
 
 			Notifications.onUser('audioNotification', function(notification) {
-
 				const openedRoomId = Session.get('openedRoom');
 
 				// This logic is duplicated in /client/startup/unread.coffee.
diff --git a/client/notifications/updateAvatar.js b/client/notifications/updateAvatar.js
index 2dd3bf6a63f..8fc2684842c 100644
--- a/client/notifications/updateAvatar.js
+++ b/client/notifications/updateAvatar.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { updateAvatarOfUsername } from '../../app/ui-utils';
 import { Notifications } from '../../app/notifications';
 
diff --git a/client/notifications/updateUserState.js b/client/notifications/updateUserState.js
index b2e8c047754..faaaa30fb7d 100644
--- a/client/notifications/updateUserState.js
+++ b/client/notifications/updateUserState.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { fireGlobalEvent } from '../../app/ui-utils';
 import { callbacks } from '../../app/callbacks';
 
diff --git a/client/routes/adminRouter.js b/client/routes/adminRouter.js
index 7d13cbf5e0e..4cacb323836 100644
--- a/client/routes/adminRouter.js
+++ b/client/routes/adminRouter.js
@@ -1,4 +1,4 @@
-import { FlowRouter } from 'meteor/kadira:flow-router' ;
+import { FlowRouter } from 'meteor/kadira:flow-router';
 import { BlazeLayout } from 'meteor/kadira:blaze-layout';
 
 FlowRouter.route('/admin/users', {
diff --git a/client/routes/roomRoute.js b/client/routes/roomRoute.js
index ef0c29aef73..522dcb99bb6 100644
--- a/client/routes/roomRoute.js
+++ b/client/routes/roomRoute.js
@@ -1,6 +1,6 @@
 import mem from 'mem';
-
 import { FlowRouter } from 'meteor/kadira:flow-router';
+
 import { ChatSubscription } from '../../app/models';
 import { roomTypes } from '../../app/utils';
 import { call } from '../../app/ui-utils';
diff --git a/client/routes/router.js b/client/routes/router.js
index 105cf8493f6..15dfc0237f5 100644
--- a/client/routes/router.js
+++ b/client/routes/router.js
@@ -6,6 +6,7 @@ import { Blaze } from 'meteor/blaze';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { BlazeLayout } from 'meteor/kadira:blaze-layout';
 import { Session } from 'meteor/session';
+
 import { KonchatNotification } from '../../app/ui';
 
 Blaze.registerHelper('pathFor', function(path, kw) {
@@ -186,4 +187,3 @@ FlowRouter.notFound = {
 		BlazeLayout.render('pageNotFound');
 	},
 };
-
diff --git a/client/startup/emailVerification.js b/client/startup/emailVerification.js
index acc0f762ad9..690817dbf62 100644
--- a/client/startup/emailVerification.js
+++ b/client/startup/emailVerification.js
@@ -2,9 +2,10 @@ import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
 import { Session } from 'meteor/session';
 import { TAPi18n } from 'meteor/tap:i18n';
-import { settings } from '../../app/settings';
 import toastr from 'toastr';
 
+import { settings } from '../../app/settings';
+
 Meteor.startup(function() {
 	Tracker.autorun(function() {
 		const user = Meteor.user();
diff --git a/client/startup/i18n.js b/client/startup/i18n.js
index 4dfd9f458e8..57ddf034822 100644
--- a/client/startup/i18n.js
+++ b/client/startup/i18n.js
@@ -2,10 +2,11 @@ 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';
+
 import { isRtl } from '../../app/utils';
 import { settings } from '../../app/settings';
 import { Users } from '../../app/models';
-import moment from 'moment';
 
 const currentLanguage = new ReactiveVar();
 
diff --git a/client/startup/roomObserve.js b/client/startup/roomObserve.js
index 8214a993f6d..4dd658b8565 100644
--- a/client/startup/roomObserve.js
+++ b/client/startup/roomObserve.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Session } from 'meteor/session';
+
 import { ChatRoom } from '../../app/models';
 
 Meteor.startup(function() {
diff --git a/client/startup/startup.js b/client/startup/startup.js
index eed7ec00551..1393e2fcd42 100644
--- a/client/startup/startup.js
+++ b/client/startup/startup.js
@@ -3,12 +3,13 @@ import { Tracker } from 'meteor/tracker';
 import { Session } from 'meteor/session';
 import { TimeSync } from 'meteor/mizzao:timesync';
 import { UserPresence } from 'meteor/konecty:user-presence';
+import toastr from 'toastr';
+import hljs from 'highlight.js';
+
 import { fireGlobalEvent } from '../../app/ui-utils';
 import { settings } from '../../app/settings';
 import { Users } from '../../app/models';
 import { getUserPreference } from '../../app/utils';
-import toastr from 'toastr';
-import hljs from 'highlight.js';
 import 'highlight.js/styles/github.css';
 
 hljs.initHighlightingOnLoad();
diff --git a/client/startup/unread.js b/client/startup/unread.js
index abc28c9068c..640ad63275e 100644
--- a/client/startup/unread.js
+++ b/client/startup/unread.js
@@ -2,6 +2,7 @@ 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 '../../app/favico';
 import { ChatSubscription } from '../../app/models';
 import { RoomManager, menu, fireGlobalEvent, readMessage } from '../../app/ui-utils';
diff --git a/client/startup/userSetUtcOffset.js b/client/startup/userSetUtcOffset.js
index 7ce89fec7b6..710ae971089 100644
--- a/client/startup/userSetUtcOffset.js
+++ b/client/startup/userSetUtcOffset.js
@@ -1,8 +1,9 @@
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
-import { Users } from '../../app/models';
 import moment from 'moment';
 
+import { Users } from '../../app/models';
+
 Meteor.startup(function() {
 	Tracker.autorun(function() {
 		const user = Users.findOne({ _id: Meteor.userId() }, { fields: { statusConnection: 1, utcOffset: 1 } });
diff --git a/client/startup/usersObserve.js b/client/startup/usersObserve.js
index 4bc6292d648..af2ac527556 100644
--- a/client/startup/usersObserve.js
+++ b/client/startup/usersObserve.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Session } from 'meteor/session';
+
 import { RoomManager } from '../../app/ui-utils';
 
 Meteor.startup(function() {
diff --git a/imports/message-read-receipt/client/main.js b/imports/message-read-receipt/client/main.js
index e1f6274d508..09956e86488 100644
--- a/imports/message-read-receipt/client/main.js
+++ b/imports/message-read-receipt/client/main.js
@@ -1,4 +1,5 @@
 import { Template } from 'meteor/templating';
+
 import { settings } from '../../../app/settings';
 
 Template.main.helpers({
diff --git a/imports/message-read-receipt/client/message.js b/imports/message-read-receipt/client/message.js
index 2b406ba32bc..76c7c4ce8f7 100644
--- a/imports/message-read-receipt/client/message.js
+++ b/imports/message-read-receipt/client/message.js
@@ -1,4 +1,5 @@
 import { Template } from 'meteor/templating';
+
 import { settings } from '../../../app/settings';
 
 Template.message.helpers({
diff --git a/imports/message-read-receipt/client/readReceipts.js b/imports/message-read-receipt/client/readReceipts.js
index df05373d3d7..b8890c53d31 100644
--- a/imports/message-read-receipt/client/readReceipts.js
+++ b/imports/message-read-receipt/client/readReceipts.js
@@ -1,9 +1,10 @@
 import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
-import { settings } from '../../../app/settings';
 import moment from 'moment';
 
+import { settings } from '../../../app/settings';
+
 import './readReceipts.css';
 import './readReceipts.html';
 
diff --git a/imports/message-read-receipt/server/api/methods/getReadReceipts.js b/imports/message-read-receipt/server/api/methods/getReadReceipts.js
index fdc0d0d4204..f73448b92d3 100644
--- a/imports/message-read-receipt/server/api/methods/getReadReceipts.js
+++ b/imports/message-read-receipt/server/api/methods/getReadReceipts.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Messages } from '../../../../../app/models';
 import { ReadReceipt } from '../../lib/ReadReceipt';
 
diff --git a/imports/message-read-receipt/server/hooks.js b/imports/message-read-receipt/server/hooks.js
index 29e8388868a..eee2b1f3d79 100644
--- a/imports/message-read-receipt/server/hooks.js
+++ b/imports/message-read-receipt/server/hooks.js
@@ -1,9 +1,8 @@
+import { ReadReceipt } from './lib/ReadReceipt';
 import { callbacks } from '../../../app/callbacks';
 import { Subscriptions } from '../../../app/models';
-import { ReadReceipt } from './lib/ReadReceipt';
 
 callbacks.add('afterSaveMessage', (message, room) => {
-
 	// skips this callback if the message was edited
 	if (message.editedAt) {
 		return message;
diff --git a/imports/message-read-receipt/server/lib/ReadReceipt.js b/imports/message-read-receipt/server/lib/ReadReceipt.js
index c826a9a4444..a631a12afea 100644
--- a/imports/message-read-receipt/server/lib/ReadReceipt.js
+++ b/imports/message-read-receipt/server/lib/ReadReceipt.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Random } from 'meteor/random';
+
 import { ReadReceipts, Subscriptions, Messages, Rooms, Users, LivechatVisitors } from '../../../../app/models';
 import { settings } from '../../../../app/settings';
 import { roomTypes } from '../../../../app/utils';
diff --git a/imports/personal-access-tokens/client/personalAccessTokens.js b/imports/personal-access-tokens/client/personalAccessTokens.js
index 6fea0b65e1f..3216f4ddb02 100644
--- a/imports/personal-access-tokens/client/personalAccessTokens.js
+++ b/imports/personal-access-tokens/client/personalAccessTokens.js
@@ -3,11 +3,12 @@ import { Mongo } from 'meteor/mongo';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Tracker } from 'meteor/tracker';
 import { Template } from 'meteor/templating';
+import toastr from 'toastr';
+import moment from 'moment';
+
 import { t } from '../../../app/utils';
 import { modal, SideNav } from '../../../app/ui-utils';
 import { hasAllPermission } from '../../../app/authorization';
-import toastr from 'toastr';
-import moment from 'moment';
 
 import './personalAccessTokens.html';
 
diff --git a/imports/personal-access-tokens/server/api/methods/generateToken.js b/imports/personal-access-tokens/server/api/methods/generateToken.js
index 17a714a5062..100c6e71bc2 100644
--- a/imports/personal-access-tokens/server/api/methods/generateToken.js
+++ b/imports/personal-access-tokens/server/api/methods/generateToken.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { Random } from 'meteor/random';
 import { Accounts } from 'meteor/accounts-base';
+
 import { hasPermission } from '../../../../../app/authorization';
 import { Users } from '../../../../../app/models';
 
diff --git a/imports/personal-access-tokens/server/api/methods/regenerateToken.js b/imports/personal-access-tokens/server/api/methods/regenerateToken.js
index 5fc71b0fe23..3745c2b048a 100644
--- a/imports/personal-access-tokens/server/api/methods/regenerateToken.js
+++ b/imports/personal-access-tokens/server/api/methods/regenerateToken.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../../../app/authorization';
 import { Users } from '../../../../../app/models';
 
diff --git a/imports/personal-access-tokens/server/api/methods/removeToken.js b/imports/personal-access-tokens/server/api/methods/removeToken.js
index d0b60b6afa2..5a304b6b798 100644
--- a/imports/personal-access-tokens/server/api/methods/removeToken.js
+++ b/imports/personal-access-tokens/server/api/methods/removeToken.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../../../app/authorization';
 import { Users } from '../../../../../app/models';
 
diff --git a/imports/personal-access-tokens/server/index.js b/imports/personal-access-tokens/server/index.js
index d384c4a8a2e..20815977fa0 100644
--- a/imports/personal-access-tokens/server/index.js
+++ b/imports/personal-access-tokens/server/index.js
@@ -1,4 +1,2 @@
 import './api/methods';
 import './publications';
-
-
diff --git a/imports/personal-access-tokens/server/publications/personalAccessTokens.js b/imports/personal-access-tokens/server/publications/personalAccessTokens.js
index 71be1107a94..cff965bd494 100644
--- a/imports/personal-access-tokens/server/publications/personalAccessTokens.js
+++ b/imports/personal-access-tokens/server/publications/personalAccessTokens.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../../../app/authorization';
 import { Users } from '../../../../app/models';
 
diff --git a/package-lock.json b/package-lock.json
index 3eee2efc0db..d529ba6f23f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -688,12 +688,12 @@
 			}
 		},
 		"@rocket.chat/eslint-config": {
-			"version": "0.2.0",
-			"resolved": "https://registry.npmjs.org/@rocket.chat/eslint-config/-/eslint-config-0.2.0.tgz",
-			"integrity": "sha512-ePg8ykVzNMsU3MnRaY458Ech0wEwaGsueZfNwpOkof9EVW/yXS97HbwGO5RSiifu+GcZPUCItQ6u/DrUT75gLw==",
+			"version": "0.3.0",
+			"resolved": "https://registry.npmjs.org/@rocket.chat/eslint-config/-/eslint-config-0.3.0.tgz",
+			"integrity": "sha512-3AlJvlohi7uwYRbKJP/v3uFCAI69J/2bU/rDAfF0GDifGDPsHAfhLIzSOshtjjIiQHtHeJ/Hg9yz/5U6E9pCrg==",
 			"dev": true,
 			"requires": {
-				"eslint-plugin-import": "^2.16.0"
+				"eslint-plugin-import": "^2.17.2"
 			}
 		},
 		"@slack/client": {
@@ -3946,6 +3946,16 @@
 			"integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=",
 			"dev": true
 		},
+		"camel-case": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
+			"integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
+			"dev": true,
+			"requires": {
+				"no-case": "^2.2.0",
+				"upper-case": "^1.1.1"
+			}
+		},
 		"camelcase": {
 			"version": "2.1.1",
 			"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
@@ -4272,11 +4282,13 @@
 				"chromedriver": "^2.35",
 				"colors": "1.1.2",
 				"commander": "^2.9.0",
+				"cucumber": "github:xolvio/cucumber-js#cf953cb5b5de30dbcc279f59e4ebff3aa040071c",
 				"deep-extend": "^0.4.1",
 				"exit": "^0.1.2",
 				"fibers": "^1.0.14",
 				"freeport": "~1.0.5",
 				"fs-extra": "^1.0.0",
+				"glob": "github:lucetius/node-glob#51c7ca6e69bfbd17db5f1ea710e3f2a7a457d9ce",
 				"hapi": "8.8.0",
 				"jasmine": "^2.4.1",
 				"loglevel": "~1.4.0",
@@ -4314,19 +4326,6 @@
 						"type-detect": "^4.0.0"
 					}
 				},
-				"cucumber": {
-					"version": "github:xolvio/cucumber-js#cf953cb5b5de30dbcc279f59e4ebff3aa040071c",
-					"from": "github:xolvio/cucumber-js#cf953cb5b5de30dbcc279f59e4ebff3aa040071c",
-					"requires": {
-						"co": "^4.6.0",
-						"colors": "^1.1.2",
-						"commander": "^2.9.0",
-						"fibers": "^1.0.7",
-						"glob": "^7.0.0",
-						"lodash": "^4.0.0",
-						"meteor-promise": "^0.8.0"
-					}
-				},
 				"debug": {
 					"version": "3.1.0",
 					"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
@@ -4345,11 +4344,13 @@
 				"fibers": {
 					"version": "1.0.15",
 					"resolved": "https://registry.npmjs.org/fibers/-/fibers-1.0.15.tgz",
-					"integrity": "sha1-IvA5yPGLhWGQ+75N7PBWFUwerpw="
+					"integrity": "sha1-IvA5yPGLhWGQ+75N7PBWFUwerpw=",
+					"dev": true
 				},
 				"glob": {
-					"version": "7.1.1",
-					"resolved": "github:lucetius/node-glob#51c7ca6e69bfbd17db5f1ea710e3f2a7a457d9ce",
+					"version": "github:lucetius/node-glob#51c7ca6e69bfbd17db5f1ea710e3f2a7a457d9ce",
+					"from": "github:lucetius/node-glob#chimp",
+					"dev": true,
 					"requires": {
 						"fs.realpath": "^1.0.0",
 						"inflight": "^1.0.4",
@@ -4426,7 +4427,8 @@
 				"once": {
 					"version": "1.3.0",
 					"resolved": "https://registry.npmjs.org/once/-/once-1.3.0.tgz",
-					"integrity": "sha1-FRr4a/wfCMS58H0GqyUP/L61ZYE="
+					"integrity": "sha1-FRr4a/wfCMS58H0GqyUP/L61ZYE=",
+					"dev": true
 				},
 				"progress": {
 					"version": "1.1.8",
@@ -4572,6 +4574,23 @@
 				"restore-cursor": "^2.0.0"
 			}
 		},
+		"cli-table": {
+			"version": "0.3.1",
+			"resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz",
+			"integrity": "sha1-9TsFJmqLGguTSz0IIebi3FkUriM=",
+			"dev": true,
+			"requires": {
+				"colors": "1.0.3"
+			},
+			"dependencies": {
+				"colors": {
+					"version": "1.0.3",
+					"resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
+					"integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=",
+					"dev": true
+				}
+			}
+		},
 		"cli-width": {
 			"version": "2.2.0",
 			"resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
@@ -4689,7 +4708,8 @@
 		"colors": {
 			"version": "1.1.2",
 			"resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
-			"integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM="
+			"integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
+			"dev": true
 		},
 		"colour": {
 			"version": "0.7.1",
@@ -4789,6 +4809,12 @@
 				"utils-merge": "1.0.1"
 			}
 		},
+		"connected-domain": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/connected-domain/-/connected-domain-1.0.0.tgz",
+			"integrity": "sha1-v+dyOMdL5FOnnwy2BY3utPI1jpM=",
+			"dev": true
+		},
 		"console-browserify": {
 			"version": "1.1.0",
 			"resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
@@ -5111,6 +5137,36 @@
 			"integrity": "sha1-gsGMJGH3QRTvFsE1IkrQuRRMoS8=",
 			"dev": true
 		},
+		"cucumber": {
+			"version": "github:xolvio/cucumber-js#cf953cb5b5de30dbcc279f59e4ebff3aa040071c",
+			"from": "github:xolvio/cucumber-js#v1.3.0-chimp.6",
+			"dev": true,
+			"requires": {
+				"camel-case": "^3.0.0",
+				"cli-table": "^0.3.1",
+				"co": "^4.6.0",
+				"colors": "^1.1.2",
+				"commander": "^2.9.0",
+				"duration": "^0.2.0",
+				"fibers": "^1.0.7",
+				"figures": "1.7.0",
+				"gherkin": "4.0.0",
+				"glob": "^7.0.0",
+				"is-generator": "^1.0.2",
+				"lodash": "^4.0.0",
+				"meteor-promise": "^0.8.0",
+				"stack-chain": "^1.3.5",
+				"stacktrace-js": "^1.3.0"
+			},
+			"dependencies": {
+				"fibers": {
+					"version": "1.0.15",
+					"resolved": "https://registry.npmjs.org/fibers/-/fibers-1.0.15.tgz",
+					"integrity": "sha1-IvA5yPGLhWGQ+75N7PBWFUwerpw=",
+					"dev": true
+				}
+			}
+		},
 		"cuid": {
 			"version": "1.3.8",
 			"resolved": "https://registry.npmjs.org/cuid/-/cuid-1.3.8.tgz",
@@ -5148,6 +5204,15 @@
 			"integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=",
 			"dev": true
 		},
+		"d": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
+			"integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
+			"dev": true,
+			"requires": {
+				"es5-ext": "^0.10.9"
+			}
+		},
 		"dashdash": {
 			"version": "1.14.1",
 			"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
@@ -5252,6 +5317,30 @@
 			"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
 			"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
 		},
+		"decompress": {
+			"version": "4.2.0",
+			"resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz",
+			"integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=",
+			"dev": true,
+			"requires": {
+				"decompress-tar": "^4.0.0",
+				"decompress-tarbz2": "^4.0.0",
+				"decompress-targz": "^4.0.0",
+				"decompress-unzip": "^4.0.1",
+				"graceful-fs": "^4.1.10",
+				"make-dir": "^1.0.0",
+				"pify": "^2.3.0",
+				"strip-dirs": "^2.0.0"
+			},
+			"dependencies": {
+				"pify": {
+					"version": "2.3.0",
+					"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+					"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+					"dev": true
+				}
+			}
+		},
 		"decompress-response": {
 			"version": "3.3.0",
 			"resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
@@ -5260,6 +5349,120 @@
 				"mimic-response": "^1.0.0"
 			}
 		},
+		"decompress-tar": {
+			"version": "4.1.1",
+			"resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz",
+			"integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==",
+			"dev": true,
+			"requires": {
+				"file-type": "^5.2.0",
+				"is-stream": "^1.1.0",
+				"tar-stream": "^1.5.2"
+			},
+			"dependencies": {
+				"file-type": {
+					"version": "5.2.0",
+					"resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz",
+					"integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=",
+					"dev": true
+				}
+			}
+		},
+		"decompress-tarbz2": {
+			"version": "4.1.1",
+			"resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz",
+			"integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==",
+			"dev": true,
+			"requires": {
+				"decompress-tar": "^4.1.0",
+				"file-type": "^6.1.0",
+				"is-stream": "^1.1.0",
+				"seek-bzip": "^1.0.5",
+				"unbzip2-stream": "^1.0.9"
+			},
+			"dependencies": {
+				"file-type": {
+					"version": "6.2.0",
+					"resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz",
+					"integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==",
+					"dev": true
+				}
+			}
+		},
+		"decompress-targz": {
+			"version": "4.1.1",
+			"resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz",
+			"integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==",
+			"dev": true,
+			"requires": {
+				"decompress-tar": "^4.1.1",
+				"file-type": "^5.2.0",
+				"is-stream": "^1.1.0"
+			},
+			"dependencies": {
+				"file-type": {
+					"version": "5.2.0",
+					"resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz",
+					"integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=",
+					"dev": true
+				}
+			}
+		},
+		"decompress-unzip": {
+			"version": "4.0.1",
+			"resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz",
+			"integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=",
+			"dev": true,
+			"requires": {
+				"file-type": "^3.8.0",
+				"get-stream": "^2.2.0",
+				"pify": "^2.3.0",
+				"yauzl": "^2.4.2"
+			},
+			"dependencies": {
+				"fd-slicer": {
+					"version": "1.1.0",
+					"resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
+					"integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
+					"dev": true,
+					"requires": {
+						"pend": "~1.2.0"
+					}
+				},
+				"file-type": {
+					"version": "3.9.0",
+					"resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz",
+					"integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=",
+					"dev": true
+				},
+				"get-stream": {
+					"version": "2.3.1",
+					"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz",
+					"integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=",
+					"dev": true,
+					"requires": {
+						"object-assign": "^4.0.1",
+						"pinkie-promise": "^2.0.0"
+					}
+				},
+				"pify": {
+					"version": "2.3.0",
+					"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+					"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+					"dev": true
+				},
+				"yauzl": {
+					"version": "2.10.0",
+					"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
+					"integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
+					"dev": true,
+					"requires": {
+						"buffer-crc32": "~0.2.3",
+						"fd-slicer": "~1.1.0"
+					}
+				}
+			}
+		},
 		"deep-copy": {
 			"version": "1.4.2",
 			"resolved": "https://registry.npmjs.org/deep-copy/-/deep-copy-1.4.2.tgz",
@@ -5585,6 +5788,16 @@
 				"stream-shift": "^1.0.0"
 			}
 		},
+		"duration": {
+			"version": "0.2.2",
+			"resolved": "https://registry.npmjs.org/duration/-/duration-0.2.2.tgz",
+			"integrity": "sha512-06kgtea+bGreF5eKYgI/36A6pLXggY7oR4p1pq4SmdFBn1ReOL5D8RhG64VrqfTTKNucqqtBAwEj8aB88mcqrg==",
+			"dev": true,
+			"requires": {
+				"d": "1",
+				"es5-ext": "~0.10.46"
+			}
+		},
 		"eastasianwidth": {
 			"version": "0.2.0",
 			"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
@@ -5759,6 +5972,15 @@
 				}
 			}
 		},
+		"error-stack-parser": {
+			"version": "1.3.6",
+			"resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-1.3.6.tgz",
+			"integrity": "sha1-4Oc7k+QXE40c18C3RrGkoUhUwpI=",
+			"dev": true,
+			"requires": {
+				"stackframe": "^0.3.1"
+			}
+		},
 		"es-abstract": {
 			"version": "1.12.0",
 			"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz",
@@ -5781,6 +6003,28 @@
 				"is-symbol": "^1.0.2"
 			}
 		},
+		"es5-ext": {
+			"version": "0.10.50",
+			"resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.50.tgz",
+			"integrity": "sha512-KMzZTPBkeQV/JcSQhI5/z6d9VWJ3EnQ194USTUwIYZ2ZbpN8+SGXQKt1h68EX44+qt+Fzr8DO17vnxrw7c3agw==",
+			"dev": true,
+			"requires": {
+				"es6-iterator": "~2.0.3",
+				"es6-symbol": "~3.1.1",
+				"next-tick": "^1.0.0"
+			}
+		},
+		"es6-iterator": {
+			"version": "2.0.3",
+			"resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
+			"integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
+			"dev": true,
+			"requires": {
+				"d": "1",
+				"es5-ext": "^0.10.35",
+				"es6-symbol": "^3.1.1"
+			}
+		},
 		"es6-promise": {
 			"version": "4.2.5",
 			"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz",
@@ -5794,6 +6038,16 @@
 				"es6-promise": "^4.0.3"
 			}
 		},
+		"es6-symbol": {
+			"version": "3.1.1",
+			"resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
+			"integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
+			"dev": true,
+			"requires": {
+				"d": "1",
+				"es5-ext": "~0.10.14"
+			}
+		},
 		"escape-html": {
 			"version": "1.0.3",
 			"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
@@ -6754,6 +7008,16 @@
 			"integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==",
 			"dev": true
 		},
+		"figures": {
+			"version": "1.7.0",
+			"resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
+			"integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
+			"dev": true,
+			"requires": {
+				"escape-string-regexp": "^1.0.5",
+				"object-assign": "^4.1.0"
+			}
+		},
 		"file-entry-cache": {
 			"version": "2.0.0",
 			"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz",
@@ -7065,8 +7329,7 @@
 				"ansi-regex": {
 					"version": "2.1.1",
 					"bundled": true,
-					"dev": true,
-					"optional": true
+					"dev": true
 				},
 				"aproba": {
 					"version": "1.2.0",
@@ -7087,14 +7350,12 @@
 				"balanced-match": {
 					"version": "1.0.0",
 					"bundled": true,
-					"dev": true,
-					"optional": true
+					"dev": true
 				},
 				"brace-expansion": {
 					"version": "1.1.11",
 					"bundled": true,
 					"dev": true,
-					"optional": true,
 					"requires": {
 						"balanced-match": "^1.0.0",
 						"concat-map": "0.0.1"
@@ -7109,20 +7370,17 @@
 				"code-point-at": {
 					"version": "1.1.0",
 					"bundled": true,
-					"dev": true,
-					"optional": true
+					"dev": true
 				},
 				"concat-map": {
 					"version": "0.0.1",
 					"bundled": true,
-					"dev": true,
-					"optional": true
+					"dev": true
 				},
 				"console-control-strings": {
 					"version": "1.1.0",
 					"bundled": true,
-					"dev": true,
-					"optional": true
+					"dev": true
 				},
 				"core-util-is": {
 					"version": "1.0.2",
@@ -7239,8 +7497,7 @@
 				"inherits": {
 					"version": "2.0.3",
 					"bundled": true,
-					"dev": true,
-					"optional": true
+					"dev": true
 				},
 				"ini": {
 					"version": "1.3.5",
@@ -7252,7 +7509,6 @@
 					"version": "1.0.0",
 					"bundled": true,
 					"dev": true,
-					"optional": true,
 					"requires": {
 						"number-is-nan": "^1.0.0"
 					}
@@ -7267,7 +7523,6 @@
 					"version": "3.0.4",
 					"bundled": true,
 					"dev": true,
-					"optional": true,
 					"requires": {
 						"brace-expansion": "^1.1.7"
 					}
@@ -7275,14 +7530,12 @@
 				"minimist": {
 					"version": "0.0.8",
 					"bundled": true,
-					"dev": true,
-					"optional": true
+					"dev": true
 				},
 				"minipass": {
 					"version": "2.3.5",
 					"bundled": true,
 					"dev": true,
-					"optional": true,
 					"requires": {
 						"safe-buffer": "^5.1.2",
 						"yallist": "^3.0.0"
@@ -7301,7 +7554,6 @@
 					"version": "0.5.1",
 					"bundled": true,
 					"dev": true,
-					"optional": true,
 					"requires": {
 						"minimist": "0.0.8"
 					}
@@ -7382,8 +7634,7 @@
 				"number-is-nan": {
 					"version": "1.0.1",
 					"bundled": true,
-					"dev": true,
-					"optional": true
+					"dev": true
 				},
 				"object-assign": {
 					"version": "4.1.1",
@@ -7395,7 +7646,6 @@
 					"version": "1.4.0",
 					"bundled": true,
 					"dev": true,
-					"optional": true,
 					"requires": {
 						"wrappy": "1"
 					}
@@ -7481,8 +7731,7 @@
 				"safe-buffer": {
 					"version": "5.1.2",
 					"bundled": true,
-					"dev": true,
-					"optional": true
+					"dev": true
 				},
 				"safer-buffer": {
 					"version": "2.1.2",
@@ -7518,7 +7767,6 @@
 					"version": "1.0.2",
 					"bundled": true,
 					"dev": true,
-					"optional": true,
 					"requires": {
 						"code-point-at": "^1.0.0",
 						"is-fullwidth-code-point": "^1.0.0",
@@ -7538,7 +7786,6 @@
 					"version": "3.0.1",
 					"bundled": true,
 					"dev": true,
-					"optional": true,
 					"requires": {
 						"ansi-regex": "^2.0.0"
 					}
@@ -7582,14 +7829,12 @@
 				"wrappy": {
 					"version": "1.0.2",
 					"bundled": true,
-					"dev": true,
-					"optional": true
+					"dev": true
 				},
 				"yallist": {
 					"version": "3.0.3",
 					"bundled": true,
-					"dev": true,
-					"optional": true
+					"dev": true
 				}
 			}
 		},
@@ -7678,6 +7923,26 @@
 			"resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
 			"integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
 		},
+		"getos": {
+			"version": "2.8.4",
+			"resolved": "https://registry.npmjs.org/getos/-/getos-2.8.4.tgz",
+			"integrity": "sha1-e4YD02GcKOOMsP56T2PDrLgNUWM=",
+			"dev": true,
+			"requires": {
+				"async": "2.1.4"
+			},
+			"dependencies": {
+				"async": {
+					"version": "2.1.4",
+					"resolved": "https://registry.npmjs.org/async/-/async-2.1.4.tgz",
+					"integrity": "sha1-LSFgx3iAMuTdbL4lAvH5osj2zeQ=",
+					"dev": true,
+					"requires": {
+						"lodash": "^4.14.0"
+					}
+				}
+			}
+		},
 		"getpass": {
 			"version": "0.1.7",
 			"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
@@ -7686,6 +7951,12 @@
 				"assert-plus": "^1.0.0"
 			}
 		},
+		"gherkin": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/gherkin/-/gherkin-4.0.0.tgz",
+			"integrity": "sha1-edzgTRIj6kO0hip2vlzo+JwSwyw=",
+			"dev": true
+		},
 		"github-from-package": {
 			"version": "0.0.0",
 			"resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
@@ -7976,6 +8247,12 @@
 			"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
 			"integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA=="
 		},
+		"graceful-readlink": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
+			"integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
+			"dev": true
+		},
 		"grant": {
 			"version": "3.8.0",
 			"resolved": "https://registry.npmjs.org/grant/-/grant-3.8.0.tgz",
@@ -8792,18 +9069,6 @@
 						"hoek": "2.x.x",
 						"joi": "6.x.x",
 						"wreck": "5.x.x"
-					},
-					"dependencies": {
-						"wreck": {
-							"version": "5.6.1",
-							"resolved": "https://registry.npmjs.org/wreck/-/wreck-5.6.1.tgz",
-							"integrity": "sha1-r/ADBAATiJ11YZtccYcN0qjdBpo=",
-							"dev": true,
-							"requires": {
-								"boom": "2.x.x",
-								"hoek": "2.x.x"
-							}
-						}
 					}
 				},
 				"heavy": {
@@ -8815,20 +9080,6 @@
 						"boom": "2.x.x",
 						"hoek": "2.x.x",
 						"joi": "5.x.x"
-					},
-					"dependencies": {
-						"joi": {
-							"version": "5.1.0",
-							"resolved": "https://registry.npmjs.org/joi/-/joi-5.1.0.tgz",
-							"integrity": "sha1-FSrQfbjunGQBmX/1/SwSiWBwv1g=",
-							"dev": true,
-							"requires": {
-								"hoek": "^2.2.x",
-								"isemail": "1.x.x",
-								"moment": "2.x.x",
-								"topo": "1.x.x"
-							}
-						}
 					}
 				},
 				"hoek": {
@@ -9974,6 +10225,12 @@
 				"number-is-nan": "^1.0.0"
 			}
 		},
+		"is-generator": {
+			"version": "1.0.3",
+			"resolved": "https://registry.npmjs.org/is-generator/-/is-generator-1.0.3.tgz",
+			"integrity": "sha1-wUwhBX7TbjKNuANHlmxpP4hjifM=",
+			"dev": true
+		},
 		"is-glob": {
 			"version": "4.0.0",
 			"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
@@ -9988,6 +10245,12 @@
 			"integrity": "sha512-but/G3sapV3MNyqiDBLrOi4x8uCIw0RY3o/Vb5GT0sMFHrVV7731wFSVy41T5FO1og7G0gXLJh0MkgPRouko/A==",
 			"dev": true
 		},
+		"is-natural-number": {
+			"version": "4.0.1",
+			"resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz",
+			"integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=",
+			"dev": true
+		},
 		"is-number": {
 			"version": "3.0.0",
 			"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
@@ -11122,6 +11385,12 @@
 				"signal-exit": "^3.0.0"
 			}
 		},
+		"lower-case": {
+			"version": "1.1.4",
+			"resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
+			"integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=",
+			"dev": true
+		},
 		"lru-cache": {
 			"version": "5.1.1",
 			"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
@@ -11237,6 +11506,12 @@
 			"integrity": "sha512-3Zs9P/0zzwTob2pdgT0CHZuMbnSUSp8MB1bddfm+HDmnFWHGT4jvEZRf+2RuPoa+cjdn/z25SEt5gFTqdhvJAg==",
 			"dev": true
 		},
+		"md5-file": {
+			"version": "3.1.1",
+			"resolved": "https://registry.npmjs.org/md5-file/-/md5-file-3.1.1.tgz",
+			"integrity": "sha1-2zySwJu9pcLeiD+lSQ3XEf3burk=",
+			"dev": true
+		},
 		"md5.js": {
 			"version": "1.3.5",
 			"resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
@@ -11616,7 +11891,8 @@
 		"meteor-promise": {
 			"version": "0.8.6",
 			"resolved": "https://registry.npmjs.org/meteor-promise/-/meteor-promise-0.8.6.tgz",
-			"integrity": "sha512-HP6tOr67z/9XU2Dr0F2SSr8WRTuE23AG9Dj578DCJPEYHs67OLKBviU8A8rwvbwMD7Lu2+Of+yAMz2Wd8r4yxg=="
+			"integrity": "sha512-HP6tOr67z/9XU2Dr0F2SSr8WRTuE23AG9Dj578DCJPEYHs67OLKBviU8A8rwvbwMD7Lu2+Of+yAMz2Wd8r4yxg==",
+			"dev": true
 		},
 		"methods": {
 			"version": "1.1.2",
@@ -11956,6 +12232,36 @@
 				"moment": ">= 2.9.0"
 			}
 		},
+		"mongo-unit": {
+			"version": "1.4.4",
+			"resolved": "https://registry.npmjs.org/mongo-unit/-/mongo-unit-1.4.4.tgz",
+			"integrity": "sha512-65maFMGR/h/dixhRXaDBEJgkDN5E9OoIDfqR+mt6bbTXFS3kqScA7FDWpzpFopcvkP3z8AzTrA9N1t2u/+vhFg==",
+			"dev": true,
+			"requires": {
+				"debug": "^3.0.1",
+				"mongodb": "~2.2.31",
+				"mongodb-prebuilt": "~6.4.0",
+				"portfinder": "^1.0.10",
+				"ps-node": "^0.1.4"
+			},
+			"dependencies": {
+				"debug": {
+					"version": "3.2.6",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+					"integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+					"dev": true,
+					"requires": {
+						"ms": "^2.1.1"
+					}
+				},
+				"ms": {
+					"version": "2.1.1",
+					"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+					"integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+					"dev": true
+				}
+			}
+		},
 		"mongodb": {
 			"version": "2.2.36",
 			"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-2.2.36.tgz",
@@ -12016,6 +12322,48 @@
 				}
 			}
 		},
+		"mongodb-download": {
+			"version": "2.2.7",
+			"resolved": "https://registry.npmjs.org/mongodb-download/-/mongodb-download-2.2.7.tgz",
+			"integrity": "sha512-39/eiEmCqig0gCR3tNbmbTk6rIpWzEGqcXT0BE645stlA+DY7WlrIWZGEG51BcI3MUdGzqVYFj+qLoRw+HsJSA==",
+			"dev": true,
+			"requires": {
+				"debug": "^2.2.0",
+				"decompress": "^4.0.0",
+				"fs-extra": "^2.0.0",
+				"getos": "^2.7.0",
+				"md5-file": "3.1.1",
+				"request": "^2.79.0",
+				"request-promise": "^4.1.1",
+				"semver": "^5.6.0",
+				"yargs": "^3.26.0"
+			},
+			"dependencies": {
+				"fs-extra": {
+					"version": "2.1.2",
+					"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-2.1.2.tgz",
+					"integrity": "sha1-BGxwFjzvmq1GsOSn+kZ/si1x3jU=",
+					"dev": true,
+					"requires": {
+						"graceful-fs": "^4.1.2",
+						"jsonfile": "^2.1.0"
+					}
+				}
+			}
+		},
+		"mongodb-prebuilt": {
+			"version": "6.4.0",
+			"resolved": "https://registry.npmjs.org/mongodb-prebuilt/-/mongodb-prebuilt-6.4.0.tgz",
+			"integrity": "sha512-ws6c31q3QfJ2OowRneseaydQxmF/66wPmtNm4x+F31ZB1myDFjDrn+M0Fs4FhZotBAmYVKtzoSVM6if2ekB7Ew==",
+			"dev": true,
+			"requires": {
+				"debug": "^2.2.0",
+				"glob": "^7.1.1",
+				"mongodb-download": "^2.2.7",
+				"spawn-sync": "1.0.15",
+				"yargs": "^3.26.0"
+			}
+		},
 		"more-entropy": {
 			"version": "0.0.7",
 			"resolved": "https://registry.npmjs.org/more-entropy/-/more-entropy-0.0.7.tgz",
@@ -12123,11 +12471,26 @@
 			"integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==",
 			"dev": true
 		},
+		"next-tick": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
+			"integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
+			"dev": true
+		},
 		"nice-try": {
 			"version": "1.0.5",
 			"resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
 			"integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
 		},
+		"no-case": {
+			"version": "2.3.2",
+			"resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
+			"integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==",
+			"dev": true,
+			"requires": {
+				"lower-case": "^1.1.1"
+			}
+		},
 		"node-abi": {
 			"version": "2.7.1",
 			"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.7.1.tgz",
@@ -12615,6 +12978,12 @@
 				"windows-release": "^3.1.0"
 			}
 		},
+		"os-shim": {
+			"version": "0.1.3",
+			"resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz",
+			"integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=",
+			"dev": true
+		},
 		"os-tmpdir": {
 			"version": "1.0.2",
 			"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
@@ -13180,6 +13549,25 @@
 				"optimist": "*"
 			}
 		},
+		"portfinder": {
+			"version": "1.0.20",
+			"resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.20.tgz",
+			"integrity": "sha512-Yxe4mTyDzTd59PZJY4ojZR8F+E5e97iq2ZOHPz3HDgSvYC5siNad2tLooQ5y5QHyQhc3xVqvyk/eNA3wuoa7Sw==",
+			"dev": true,
+			"requires": {
+				"async": "^1.5.2",
+				"debug": "^2.2.0",
+				"mkdirp": "0.5.x"
+			},
+			"dependencies": {
+				"async": {
+					"version": "1.5.2",
+					"resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+					"integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
+					"dev": true
+				}
+			}
+		},
 		"posix-character-classes": {
 			"version": "0.1.1",
 			"resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
@@ -13899,6 +14287,15 @@
 			"resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
 			"integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY="
 		},
+		"ps-node": {
+			"version": "0.1.6",
+			"resolved": "https://registry.npmjs.org/ps-node/-/ps-node-0.1.6.tgz",
+			"integrity": "sha1-mvZ6mdex0BMuUaUDCZ04qNKs4sM=",
+			"dev": true,
+			"requires": {
+				"table-parser": "^0.1.3"
+			}
+		},
 		"pseudomap": {
 			"version": "1.0.2",
 			"resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
@@ -14444,6 +14841,29 @@
 				"throttleit": "^1.0.0"
 			}
 		},
+		"request-promise": {
+			"version": "4.2.4",
+			"resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.4.tgz",
+			"integrity": "sha512-8wgMrvE546PzbR5WbYxUQogUnUDfM0S7QIFZMID+J73vdFARkFy+HElj4T+MWYhpXwlLp0EQ8Zoj8xUA0he4Vg==",
+			"dev": true,
+			"requires": {
+				"bluebird": "^3.5.0",
+				"request-promise-core": "1.1.2",
+				"stealthy-require": "^1.1.1",
+				"tough-cookie": "^2.3.3"
+			},
+			"dependencies": {
+				"request-promise-core": {
+					"version": "1.1.2",
+					"resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz",
+					"integrity": "sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==",
+					"dev": true,
+					"requires": {
+						"lodash": "^4.17.11"
+					}
+				}
+			}
+		},
 		"request-promise-core": {
 			"version": "1.1.1",
 			"resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.1.tgz",
@@ -14739,6 +15159,26 @@
 			"resolved": "https://registry.npmjs.org/scmp/-/scmp-0.0.3.tgz",
 			"integrity": "sha1-NkjfLXKUZB5/eGc//CloHZutkHM="
 		},
+		"seek-bzip": {
+			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz",
+			"integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=",
+			"dev": true,
+			"requires": {
+				"commander": "~2.8.1"
+			},
+			"dependencies": {
+				"commander": {
+					"version": "2.8.1",
+					"resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
+					"integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=",
+					"dev": true,
+					"requires": {
+						"graceful-readlink": ">= 1.0.0"
+					}
+				}
+			}
+		},
 		"select": {
 			"version": "1.1.2",
 			"resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz",
@@ -15168,6 +15608,16 @@
 			"resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
 			"integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM="
 		},
+		"spawn-sync": {
+			"version": "1.0.15",
+			"resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz",
+			"integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=",
+			"dev": true,
+			"requires": {
+				"concat-stream": "^1.4.7",
+				"os-shim": "^0.1.2"
+			}
+		},
 		"spdx-correct": {
 			"version": "3.0.2",
 			"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.2.tgz",
@@ -15265,11 +15715,69 @@
 				"figgy-pudding": "^3.5.1"
 			}
 		},
+		"stack-chain": {
+			"version": "1.3.7",
+			"resolved": "https://registry.npmjs.org/stack-chain/-/stack-chain-1.3.7.tgz",
+			"integrity": "sha1-0ZLJ/06moiyUxN1FkXHj8AzqEoU=",
+			"dev": true
+		},
+		"stack-generator": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/stack-generator/-/stack-generator-1.1.0.tgz",
+			"integrity": "sha1-NvapIHUabBD0maE8Msu19RoLiyU=",
+			"dev": true,
+			"requires": {
+				"stackframe": "^1.0.2"
+			},
+			"dependencies": {
+				"stackframe": {
+					"version": "1.0.4",
+					"resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.0.4.tgz",
+					"integrity": "sha512-to7oADIniaYwS3MhtCa/sQhrxidCCQiF/qp4/m5iN3ipf0Y7Xlri0f6eG29r08aL7JYl8n32AF3Q5GYBZ7K8vw==",
+					"dev": true
+				}
+			}
+		},
 		"stack-trace": {
 			"version": "0.0.10",
 			"resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
 			"integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA="
 		},
+		"stackframe": {
+			"version": "0.3.1",
+			"resolved": "https://registry.npmjs.org/stackframe/-/stackframe-0.3.1.tgz",
+			"integrity": "sha1-M6qE8Rd6VUjIk1Uzy/6zQgl19aQ=",
+			"dev": true
+		},
+		"stacktrace-gps": {
+			"version": "2.4.4",
+			"resolved": "https://registry.npmjs.org/stacktrace-gps/-/stacktrace-gps-2.4.4.tgz",
+			"integrity": "sha1-acgn6dbW9Bz0ONfxleLjy/zyjEQ=",
+			"dev": true,
+			"requires": {
+				"source-map": "0.5.6",
+				"stackframe": "~0.3"
+			},
+			"dependencies": {
+				"source-map": {
+					"version": "0.5.6",
+					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+					"integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+					"dev": true
+				}
+			}
+		},
+		"stacktrace-js": {
+			"version": "1.3.1",
+			"resolved": "https://registry.npmjs.org/stacktrace-js/-/stacktrace-js-1.3.1.tgz",
+			"integrity": "sha1-Z8qyWJr1xBe5Yvc2mUAne7O2oYs=",
+			"dev": true,
+			"requires": {
+				"error-stack-parser": "^1.3.6",
+				"stack-generator": "^1.0.7",
+				"stacktrace-gps": "^2.4.3"
+			}
+		},
 		"starttls": {
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/starttls/-/starttls-1.0.1.tgz",
@@ -15433,6 +15941,15 @@
 			"integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
 			"dev": true
 		},
+		"strip-dirs": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz",
+			"integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==",
+			"dev": true,
+			"requires": {
+				"is-natural-number": "^4.0.1"
+			}
+		},
 		"strip-eof": {
 			"version": "1.0.0",
 			"resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
@@ -15784,6 +16301,15 @@
 				}
 			}
 		},
+		"table-parser": {
+			"version": "0.1.3",
+			"resolved": "https://registry.npmjs.org/table-parser/-/table-parser-0.1.3.tgz",
+			"integrity": "sha1-BEHPzhallIFoTCfRtaZ/8VpDx7A=",
+			"dev": true,
+			"requires": {
+				"connected-domain": "^1.0.0"
+			}
+		},
 		"tapable": {
 			"version": "1.1.1",
 			"resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.1.tgz",
@@ -16325,6 +16851,16 @@
 				"random-bytes": "~1.0.0"
 			}
 		},
+		"unbzip2-stream": {
+			"version": "1.3.3",
+			"resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.3.3.tgz",
+			"integrity": "sha512-fUlAF7U9Ah1Q6EieQ4x4zLNejrRvDWUYmxXUpN3uziFYCHapjWFaCAnreY9bGgxzaMCFAPPpYNng57CypwJVhg==",
+			"dev": true,
+			"requires": {
+				"buffer": "^5.2.1",
+				"through": "^2.3.8"
+			}
+		},
 		"underscore": {
 			"version": "1.9.1",
 			"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz",
@@ -16546,6 +17082,12 @@
 			"integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==",
 			"dev": true
 		},
+		"upper-case": {
+			"version": "1.1.3",
+			"resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
+			"integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=",
+			"dev": true
+		},
 		"uri-js": {
 			"version": "4.2.2",
 			"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
diff --git a/package.json b/package.json
index a881cdc4ae6..a4daef73379 100644
--- a/package.json
+++ b/package.json
@@ -92,7 +92,7 @@
 	},
 	"devDependencies": {
 		"@octokit/rest": "^16.1.0",
-		"@rocket.chat/eslint-config": "^0.2.0",
+		"@rocket.chat/eslint-config": "^0.3.0",
 		"acorn": "^6.0.7",
 		"autoprefixer": "^9.4.1",
 		"babel-eslint": "^10.0.1",
diff --git a/packages/meteor-autocomplete/client/autocomplete-client.js b/packages/meteor-autocomplete/client/autocomplete-client.js
index 6f39c688cb2..f8b9efda71c 100755
--- a/packages/meteor-autocomplete/client/autocomplete-client.js
+++ b/packages/meteor-autocomplete/client/autocomplete-client.js
@@ -3,9 +3,10 @@ import { Match } from 'meteor/check';
 import { Blaze } from 'meteor/blaze';
 import { Deps } from 'meteor/deps';
 import _ from 'underscore';
-import AutoCompleteRecords from './collection';
 import { getCaretCoordinates } from 'meteor/dandv:caret-position';
 
+import AutoCompleteRecords from './collection';
+
 const isServerSearch = function(rule) {
 	return _.isString(rule.collection);
 };
@@ -29,10 +30,9 @@ const getRegExp = function(rule) {
 	if (!isWholeField(rule)) {
 		// Expressions for the range from the last word break to the current cursor position
 		return new RegExp(`(^|\\b|\\s)${ rule.token }([\\w.]*)$`);
-	} else {
-		// Whole-field behavior - word characters or spaces
-		return new RegExp('(^)(.*)$');
 	}
+	// Whole-field behavior - word characters or spaces
+	return new RegExp('(^)(.*)$');
 };
 
 const getFindParams = function(rule, filter, limit) {
@@ -101,9 +101,9 @@ export default class AutoComplete {
 		this.loaded = true;
 
 		// Reactive dependencies for current matching rule and filter
-		this.ruleDep = new Deps.Dependency;
-		this.filterDep = new Deps.Dependency;
-		this.loadingDep = new Deps.Dependency;
+		this.ruleDep = new Deps.Dependency();
+		this.filterDep = new Deps.Dependency();
+		this.loadingDep = new Deps.Dependency();
 
 		// Autosubscribe to the record set published by the server based on the filter
 		// This will tear down server subscriptions when they are no longer being used.
@@ -145,9 +145,8 @@ export default class AutoComplete {
 		this.ruleDep.depend();
 		if (this.matched >= 0) {
 			return this.rules[this.matched];
-		} else {
-			return null;
 		}
+		return null;
 	}
 
 	setMatchedRule(i) {
@@ -320,7 +319,6 @@ export default class AutoComplete {
 		const doc = Blaze.getData(node);
 		if (!doc) {
 			return false; // Don't select if nothing matched
-
 		}
 		this.processSelection(doc, this.rules[this.matched]);
 		return true;
@@ -332,7 +330,6 @@ export default class AutoComplete {
 			this.replace(replacement, rule);
 			this.hideList();
 		} else {
-
 			// Empty string or doesn't exist?
 			// Single-field replacement: replace whole field
 			this.setText(replacement);
@@ -354,7 +351,7 @@ export default class AutoComplete {
 		let val = fullStuff.substring(0, startpos);
 		val = val.replace(this.expressions[this.matched], `$1${ this.rules[this.matched].token }${ replacement }`);
 		const posfix = fullStuff.substring(startpos, fullStuff.length);
-		const separator = (posfix.match(/^\s/) ? '' : ' ');
+		const separator = posfix.match(/^\s/) ? '' : ' ';
 		const finalFight = val + separator + posfix;
 		this.setText(finalFight);
 		const newPosition = val.length + 1;
@@ -402,7 +399,6 @@ export default class AutoComplete {
 			pos.left = position.left;
 			if (rule.doNotChangeWidth !== false) {
 				pos.width = element.outerWidth(); // position.offsetWidth
-
 			}
 		} else { // Normal positioning, at token word
 			pos = { left: position.left + offset.left };
@@ -462,5 +458,4 @@ export default class AutoComplete {
 	currentTemplate() {
 		return this.rules[this.matched].template;
 	}
-
 }
diff --git a/packages/meteor-autocomplete/client/templates.js b/packages/meteor-autocomplete/client/templates.js
index 81782c33ecd..e1c0416c714 100755
--- a/packages/meteor-autocomplete/client/templates.js
+++ b/packages/meteor-autocomplete/client/templates.js
@@ -1,8 +1,9 @@
 import { Blaze } from 'meteor/blaze';
 import { Template } from 'meteor/templating';
-import AutoComplete from './autocomplete-client';
 import _ from 'underscore';
 
+import AutoComplete from './autocomplete-client';
+
 //  Events on template instances, sent to the autocomplete class
 const acEvents = {
 	'keydown'(e, t) {
@@ -25,7 +26,6 @@ Template.textareaAutocomplete.events(acEvents);
 
 const attributes = function() {
 	return _.omit(this, 'settings'); // Render all but the settings parameter
-
 };
 
 const autocompleteHelpers = {
diff --git a/packages/rocketchat-google-natural-language/client/index.js b/packages/rocketchat-google-natural-language/client/index.js
index 144d68e62d9..4d104379c7a 100644
--- a/packages/rocketchat-google-natural-language/client/index.js
+++ b/packages/rocketchat-google-natural-language/client/index.js
@@ -12,9 +12,9 @@ Template.room.helpers({
 
 		if (room.sentiment >= 0.3) {
 			return ':)';
-		} else if (room.sentiment >= -0.3) {
+		} if (room.sentiment >= -0.3) {
 			return ':|';
-		} else if (room.sentiment < -0.3) {
+		} if (room.sentiment < -0.3) {
 			return ':(';
 		}
 	},
diff --git a/packages/rocketchat-livechat/.app/client/lib/CustomFields.js b/packages/rocketchat-livechat/.app/client/lib/CustomFields.js
index f9968cfe222..9a0da0eafb2 100644
--- a/packages/rocketchat-livechat/.app/client/lib/CustomFields.js
+++ b/packages/rocketchat-livechat/.app/client/lib/CustomFields.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
+
 import visitor from '../../imports/client/visitor';
 
 this.CustomFields = (function() {
diff --git a/packages/rocketchat-livechat/.app/client/lib/LivechatFileUpload.js b/packages/rocketchat-livechat/.app/client/lib/LivechatFileUpload.js
index 05e749a0df3..89d16be71e5 100644
--- a/packages/rocketchat-livechat/.app/client/lib/LivechatFileUpload.js
+++ b/packages/rocketchat-livechat/.app/client/lib/LivechatFileUpload.js
@@ -1,9 +1,10 @@
 /* globals fileUpload, Livechat, Handlebars, showError, sendFileUpload */
 /* exported LivechatFileUpload, fileUpload, sendFileUpload */
 import { Meteor } from 'meteor/meteor';
-import visitor from '../../imports/client/visitor';
 import swal from 'sweetalert2';
 
+import visitor from '../../imports/client/visitor';
+
 const handleRequestError = (response) => {
 	if (!response.success) {
 		let reason = t('FileUpload_Error');
@@ -57,7 +58,7 @@ function getUploadPreview(file, callback) {
 	// If greater then 10MB don't try and show a preview
 	if (file.file.size > (10 * 1000000)) {
 		return callback(file, null);
-	} else if (file.file.type == null) {
+	} if (file.file.type == null) {
 		callback(file, null);
 	} else if ((file.file.type.indexOf('audio') > -1) || (file.file.type.indexOf('video') > -1) || (file.file.type.indexOf('image') > -1)) {
 		file.type = file.file.type.split('/')[0];
@@ -157,7 +158,6 @@ sendFileUpload = (file) => getUploadPreview(file, function(file, preview) {
 });
 
 fileUpload = (file) => {
-
 	if (file.size === 0) {
 		swal({
 			title: t('FileUpload_File_Empty'),
diff --git a/packages/rocketchat-livechat/.app/client/lib/LivechatVideoCall.js b/packages/rocketchat-livechat/.app/client/lib/LivechatVideoCall.js
index 4643ebf3a45..bdbb2e971d4 100644
--- a/packages/rocketchat-livechat/.app/client/lib/LivechatVideoCall.js
+++ b/packages/rocketchat-livechat/.app/client/lib/LivechatVideoCall.js
@@ -1,9 +1,10 @@
 /* globals LivechatVideoCall, JitsiMeetExternalAPI */
 import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
+
 import visitor from '../../imports/client/visitor';
 
-LivechatVideoCall = new (class LivechatVideoCall {
+LivechatVideoCall = new class LivechatVideoCall {
 	constructor() {
 		this.live = new ReactiveVar(false);
 		this.calling = new ReactiveVar(false);
@@ -67,6 +68,6 @@ LivechatVideoCall = new (class LivechatVideoCall {
 	isLive() {
 		return this.live.get();
 	}
-});
+}();
 
 /* exported LivechatVideoCall */
diff --git a/packages/rocketchat-livechat/.app/client/lib/_livechat.js b/packages/rocketchat-livechat/.app/client/lib/_livechat.js
index c9c0999ed76..76871f73d0d 100644
--- a/packages/rocketchat-livechat/.app/client/lib/_livechat.js
+++ b/packages/rocketchat-livechat/.app/client/lib/_livechat.js
@@ -2,9 +2,10 @@ import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Tracker } from 'meteor/tracker';
 import { TAPi18n } from 'meteor/tap:i18n';
+
 import visitor from '../../imports/client/visitor';
 
-this.Livechat = new (class Livechat {
+this.Livechat = new class Livechat {
 	constructor() {
 		this._online = new ReactiveVar(null);
 
@@ -70,78 +71,101 @@ this.Livechat = new (class Livechat {
 	get online() {
 		return this._online.get();
 	}
+
 	get color() {
 		if (!this._online.get()) {
 			return this._offlineColor.get();
 		}
 		return this._customColor.get() || this._onlineColor.get();
 	}
+
 	get fontColor() {
 		if (!this._online.get()) {
 			return this._offlineFontColor.get();
 		}
 		return this._customFontColor.get() || this._onlineFontColor.get();
 	}
+
 	get title() {
 		return this._title.get();
 	}
+
 	get registrationForm() {
 		return this._registrationForm.get();
 	}
+
 	get showSwitchDepartmentForm() {
 		return this._showSwitchDepartmentForm.get();
 	}
+
 	get allowSwitchingDepartments() {
 		return this._allowSwitchingDepartments.get();
 	}
+
 	get offlineMessage() {
 		return this._offlineMessage.get();
 	}
+
 	get offlineUnavailableMessage() {
 		return this._offlineUnavailableMessage.get();
 	}
+
 	get displayOfflineForm() {
 		return this._displayOfflineForm.get();
 	}
+
 	get offlineSuccessMessage() {
 		return this._offlineSuccessMessage.get();
 	}
+
 	get videoCall() {
 		return this._videoCall.get();
 	}
+
 	get fileUpload() {
 		return this._fileUpload.get();
 	}
+
 	get transcriptMessage() {
 		return this._transcriptMessage.get();
 	}
+
 	get conversationFinishedMessage() {
 		return this._conversationFinishedMessage.get();
 	}
+
 	get nameFieldRegistrationForm() {
 		return this._nameFieldRegistrationForm.get();
 	}
+
 	get emailFieldRegistrationForm() {
 		return this._emailFieldRegistrationForm.get();
 	}
+
 	get department() {
 		return this._department.get();
 	}
+
 	get connecting() {
 		return this._connecting.get();
 	}
+
 	get agent() {
 		return this._agent.get();
 	}
+
 	get guestName() {
 		return this._guestName.get();
 	}
+
 	get guestEmail() {
 		return this._guestEmail.get();
 	}
+
 	get room() {
 		return this._room.get();
 	}
+
 	get registrationFormMessage() {
 		return this._registrationFormMessage.get();
 	}
@@ -149,85 +173,112 @@ this.Livechat = new (class Livechat {
 	set online(value) {
 		this._online.set(value);
 	}
+
 	set title(value) {
 		this._title.set(value);
 	}
+
 	set registrationForm(value) {
 		this._registrationForm.set(value);
 	}
+
 	set showSwitchDepartmentForm(value) {
 		this._showSwitchDepartmentForm.set(value);
 	}
+
 	set allowSwitchingDepartments(value) {
 		this._allowSwitchingDepartments.set(value);
 	}
+
 	set offlineMessage(value) {
 		this._offlineMessage.set(value);
 	}
+
 	set offlineUnavailableMessage(value) {
 		this._offlineUnavailableMessage.set(value);
 	}
+
 	set displayOfflineForm(value) {
 		this._displayOfflineForm.set(value);
 	}
+
 	set offlineSuccessMessage(value) {
 		this._offlineSuccessMessage.set(value);
 	}
+
 	set customColor(value) {
 		this._customColor.set(value);
 	}
+
 	set onlineColor(value) {
 		this._onlineColor.set(value);
 	}
+
 	set offlineColor(value) {
 		this._offlineColor.set(value);
 	}
+
 	set customFontColor(value) {
 		this._customFontColor.set(value);
 	}
+
 	set onlineFontColor(value) {
 		this._onlineFontColor.set(value);
 	}
+
 	set offlineFontColor(value) {
 		this._offlineFontColor.set(value);
 	}
+
 	set videoCall(value) {
 		this._videoCall.set(value);
 	}
+
 	set fileUpload(value) {
 		this._fileUpload.set(value);
 	}
+
 	set transcriptMessage(value) {
 		this._transcriptMessage.set(value);
 	}
+
 	set conversationFinishedMessage(value) {
 		this._conversationFinishedMessage.set(value);
 	}
+
 	set nameFieldRegistrationForm(value) {
 		this._nameFieldRegistrationForm.set(value);
 	}
+
 	set emailFieldRegistrationForm(value) {
 		this._emailFieldRegistrationForm.set(value);
 	}
+
 	set connecting(value) {
 		this._connecting.set(value);
 	}
+
 	set room(roomId) {
 		this._room.set(roomId);
 	}
+
 	set department(departmentId) {
 		const dept = Department.findOne({ _id: departmentId }) || Department.findOne({ name: departmentId });
 		this._department.set(dept && dept._id);
 	}
+
 	set agent(agentData) {
 		this._agent.set(agentData);
 	}
+
 	set guestName(name) {
 		return this._guestName.set(name);
 	}
+
 	set guestEmail(email) {
 		return this._guestEmail.set(email);
 	}
+
 	set registrationFormMessage(value) {
 		this._registrationFormMessage.set(value);
 	}
@@ -251,4 +302,4 @@ this.Livechat = new (class Livechat {
 	isWidgetOpened() {
 		return this._widgetOpened.get();
 	}
-})();
+}();
diff --git a/packages/rocketchat-livechat/.app/client/lib/chatMessages.js b/packages/rocketchat-livechat/.app/client/lib/chatMessages.js
index 95880c92e25..5988b486555 100644
--- a/packages/rocketchat-livechat/.app/client/lib/chatMessages.js
+++ b/packages/rocketchat-livechat/.app/client/lib/chatMessages.js
@@ -4,6 +4,7 @@ import { Random } from 'meteor/random';
 import _ from 'underscore';
 import s from 'underscore.string';
 import toastr from 'toastr';
+
 import visitor from '../../imports/client/visitor';
 
 this.ChatMessages = class ChatMessages {
@@ -14,7 +15,6 @@ this.ChatMessages = class ChatMessages {
 		this.wrapper = $(node).find('.wrapper');
 		this.input = $(node).find('.input-message').get(0);
 		// this.bindEvents()
-		return;
 	}
 
 	resize() {
@@ -258,7 +258,6 @@ this.ChatMessages = class ChatMessages {
 				event.preventDefault();
 				event.stopPropagation();
 				this.clearEditing();
-				return;
 			}
 			// else if k is 38 or k is 40 # Arrow Up or down
 			// 	if k is 38
diff --git a/packages/rocketchat-livechat/.app/client/lib/commands.js b/packages/rocketchat-livechat/.app/client/lib/commands.js
index 76268455eef..16931592533 100644
--- a/packages/rocketchat-livechat/.app/client/lib/commands.js
+++ b/packages/rocketchat-livechat/.app/client/lib/commands.js
@@ -4,12 +4,13 @@ import { Blaze } from 'meteor/blaze';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
 import swal from 'sweetalert2';
+
 import visitor from '../../imports/client/visitor';
 
 // Functions to call on messages of type 'command'
 this.Commands = {
 	survey() {
-		if (!($('body #survey').length)) {
+		if (!$('body #survey').length) {
 			Blaze.render(Template.survey, $('body').get(0));
 		}
 	},
@@ -22,7 +23,7 @@ this.Commands = {
 		if (Livechat.transcript) {
 			const visitorData = visitor.getData();
 			const email = visitorData && visitorData.visitorEmails && visitorData.visitorEmails.length > 0 ? visitorData.visitorEmails[0].address : '';
-			const transcriptMessage = (Livechat.transcriptMessage) ? Livechat.transcriptMessage : (TAPi18n.__('Would_you_like_a_copy_if_this_chat_emailed'));
+			const transcriptMessage = Livechat.transcriptMessage ? Livechat.transcriptMessage : TAPi18n.__('Would_you_like_a_copy_if_this_chat_emailed');
 
 			swal({
 				title: t('Chat_ended'),
diff --git a/packages/rocketchat-livechat/.app/client/lib/fromApp/Notifications.js b/packages/rocketchat-livechat/.app/client/lib/fromApp/Notifications.js
index 4dcdab90799..3ed14a00e2c 100644
--- a/packages/rocketchat-livechat/.app/client/lib/fromApp/Notifications.js
+++ b/packages/rocketchat-livechat/.app/client/lib/fromApp/Notifications.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
+
 import visitor from '../../../imports/client/visitor';
 
 this.Notifications = new class {
@@ -10,7 +11,7 @@ this.Notifications = new class {
 			if (visitor.getId() !== null && this.logged === false) {
 				this.loginCb.forEach((cb) => cb());
 			}
-			return this.logged = visitor.getId() !== null;
+			this.logged = visitor.getId() !== null;
 		});
 		this.debug = false;
 		this.streamAll = new Meteor.Streamer('notify-all');
@@ -34,6 +35,7 @@ this.Notifications = new class {
 			return cb();
 		}
 	}
+
 	notifyRoom(room, eventName, ...args) {
 		if (this.debug === true) {
 			console.log('RocketChat.Notifications: notifyRoom', room, eventName, ...args);
@@ -41,6 +43,7 @@ this.Notifications = new class {
 		args.unshift(`${ room }/${ eventName }`);
 		return this.streamRoom.emit.apply(this.streamRoom, args);
 	}
+
 	notifyUser(userId, eventName, ...args) {
 		if (this.debug === true) {
 			console.log('RocketChat.Notifications: notifyUser', userId, eventName, ...args);
@@ -48,12 +51,15 @@ this.Notifications = new class {
 		args.unshift(`${ userId }/${ eventName }`);
 		return this.streamUser.emit.apply(this.streamUser, args);
 	}
+
 	onAll(eventName, callback) {
 		return this.streamAll.on(eventName, { token: visitor.getToken() }, callback);
 	}
+
 	onLogged(eventName, callback) {
 		return this.onLogin(() => this.streamLogged.on(eventName, { token: visitor.getToken() }, callback));
 	}
+
 	onRoom(room, eventName, callback) {
 		if (this.debug === true) {
 			this.streamRoom.on(room, { token: visitor.getToken() }, function() {
@@ -62,20 +68,24 @@ this.Notifications = new class {
 		}
 		return this.streamRoom.on(`${ room }/${ eventName }`, { token: visitor.getToken() }, callback);
 	}
+
 	onUser(eventName, callback) {
 		return this.streamUser.on(`${ visitor.getId() }/${ eventName }`, { token: visitor.getToken() }, callback);
 	}
+
 	unAll(callback) {
 		return this.streamAll.removeListener('notify', callback);
 	}
+
 	unLogged(callback) {
 		return this.streamLogged.removeListener('notify', callback);
 	}
+
 	unRoom(room, eventName, callback) {
 		return this.streamRoom.removeListener(`${ room }/${ eventName }`, callback);
 	}
+
 	unUser(eventName, callback) {
 		return this.streamUser.removeListener(`${ visitor.getId() }/${ eventName }`, callback);
 	}
-
-};
+}();
diff --git a/packages/rocketchat-livechat/.app/client/lib/fromApp/RoomHistoryManager.js b/packages/rocketchat-livechat/.app/client/lib/fromApp/RoomHistoryManager.js
index aec7846d3dd..325f5269523 100644
--- a/packages/rocketchat-livechat/.app/client/lib/fromApp/RoomHistoryManager.js
+++ b/packages/rocketchat-livechat/.app/client/lib/fromApp/RoomHistoryManager.js
@@ -3,22 +3,24 @@
 import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Blaze } from 'meteor/blaze';
-import visitor from '../../../imports/client/visitor';
 import _ from 'underscore';
 
+import visitor from '../../../imports/client/visitor';
+
 export const RoomHistoryManager = new class {
 	constructor() {
 		this.defaultLimit = 50;
 		this.histories = {};
 	}
+
 	getRoom(rid) {
-		if ((this.histories[rid] == null)) {
+		if (this.histories[rid] == null) {
 			this.histories[rid] = {
 				hasMore: new ReactiveVar(true),
 				hasMoreNext: new ReactiveVar(false),
 				isLoading: new ReactiveVar(false),
 				unreadNotLoaded: new ReactiveVar(0),
-				firstUnread: new ReactiveVar,
+				firstUnread: new ReactiveVar(),
 				loaded: undefined,
 			};
 		}
@@ -139,65 +141,64 @@ export const RoomHistoryManager = new class {
 
 			setTimeout(function() {
 				const messages = wrapper[0];
-				return instance.atBottom = messages.scrollTop >= (messages.scrollHeight - messages.clientHeight);
+				instance.atBottom = messages.scrollTop >= (messages.scrollHeight - messages.clientHeight);
 			});
 
 			return setTimeout(() => msgElement.removeClass('highlight'), 500);
+		}
+		const room = this.getRoom(message.rid);
+		room.isLoading.set(true);
+		ChatMessage.remove({ rid: message.rid });
+
+		let typeName = undefined;
+
+		const subscription = ChatSubscription.findOne({ rid: message.rid });
+		if (subscription) {
+			// const { ls } = subscription;
+			typeName = subscription.t + subscription.name;
 		} else {
-			const room = this.getRoom(message.rid);
-			room.isLoading.set(true);
-			ChatMessage.remove({ rid: message.rid });
-
-			let typeName = undefined;
-
-			const subscription = ChatSubscription.findOne({ rid: message.rid });
-			if (subscription) {
-				// const { ls } = subscription;
-				typeName = subscription.t + subscription.name;
-			} else {
-				const curRoomDoc = ChatRoom.findOne({ _id: message.rid });
-				typeName = (curRoomDoc != null ? curRoomDoc.t : undefined) + (curRoomDoc != null ? curRoomDoc.name : undefined);
-			}
+			const curRoomDoc = ChatRoom.findOne({ _id: message.rid });
+			typeName = (curRoomDoc != null ? curRoomDoc.t : undefined) + (curRoomDoc != null ? curRoomDoc.name : undefined);
+		}
 
-			return Meteor.call('loadSurroundingMessages', message, limit, function(err, result) {
-				for (const item of Array.from((result != null ? result.messages : undefined) || [])) {
-					if (item.t !== 'command') {
-						const roles = [
-							(item.u && item.u._id && UserRoles.findOne(item.u._id, { fields: { roles: 1 } })) || {},
-							(item.u && item.u._id && RoomRoles.findOne({ rid: item.rid, 'u._id': item.u._id })) || {},
-						].map((e) => e.roles);
-						item.roles = _.union.apply(_.union, roles);
-						ChatMessage.upsert({ _id: item._id }, item);
-					}
+		return Meteor.call('loadSurroundingMessages', message, limit, function(err, result) {
+			for (const item of Array.from((result != null ? result.messages : undefined) || [])) {
+				if (item.t !== 'command') {
+					const roles = [
+						(item.u && item.u._id && UserRoles.findOne(item.u._id, { fields: { roles: 1 } })) || {},
+						(item.u && item.u._id && RoomRoles.findOne({ rid: item.rid, 'u._id': item.u._id })) || {},
+					].map((e) => e.roles);
+					item.roles = _.union.apply(_.union, roles);
+					ChatMessage.upsert({ _id: item._id }, item);
 				}
+			}
 
-				Meteor.defer(function() {
-					readMessage.refreshUnreadMark(message.rid, true);
-					RoomManager.updateMentionsMarksOfRoom(typeName);
-					const wrapper = $('.messages-box .wrapper');
-					const msgElement = $(`#${ message._id }`, wrapper);
-					const pos = (wrapper.scrollTop() + msgElement.offset().top) - (wrapper.height() / 2);
-					wrapper.animate({
-						scrollTop: pos,
-					}, 500);
-
-					msgElement.addClass('highlight');
-
-					setTimeout(function() {
-						room.isLoading.set(false);
-						const messages = wrapper[0];
-						instance.atBottom = !result.moreAfter && (messages.scrollTop >= (messages.scrollHeight - messages.clientHeight));
-						return 500;
-					});
-
-					return setTimeout(() => msgElement.removeClass('highlight'), 500);
+			Meteor.defer(function() {
+				readMessage.refreshUnreadMark(message.rid, true);
+				RoomManager.updateMentionsMarksOfRoom(typeName);
+				const wrapper = $('.messages-box .wrapper');
+				const msgElement = $(`#${ message._id }`, wrapper);
+				const pos = (wrapper.scrollTop() + msgElement.offset().top) - (wrapper.height() / 2);
+				wrapper.animate({
+					scrollTop: pos,
+				}, 500);
+
+				msgElement.addClass('highlight');
+
+				setTimeout(function() {
+					room.isLoading.set(false);
+					const messages = wrapper[0];
+					instance.atBottom = !result.moreAfter && (messages.scrollTop >= (messages.scrollHeight - messages.clientHeight));
+					return 500;
 				});
-				if (room.loaded == null) { room.loaded = 0; }
-				room.loaded += result.messages.length;
-				room.hasMore.set(result.moreBefore);
-				return room.hasMoreNext.set(result.moreAfter);
+
+				return setTimeout(() => msgElement.removeClass('highlight'), 500);
 			});
-		}
+			if (room.loaded == null) { room.loaded = 0; }
+			room.loaded += result.messages.length;
+			room.hasMore.set(result.moreBefore);
+			return room.hasMoreNext.set(result.moreAfter);
+		});
 	}
 
 	hasMore(rid) {
@@ -230,8 +231,8 @@ export const RoomHistoryManager = new class {
 		if (this.histories[rid] != null) {
 			this.histories[rid].hasMore.set(true);
 			this.histories[rid].isLoading.set(false);
-			return this.histories[rid].loaded = undefined;
+			this.histories[rid].loaded = undefined;
 		}
 	}
-};
+}();
 this.RoomHistoryManager = RoomHistoryManager;
diff --git a/packages/rocketchat-livechat/.app/client/lib/hooks.js b/packages/rocketchat-livechat/.app/client/lib/hooks.js
index 4f66f2aec9f..04f4c61d2a6 100644
--- a/packages/rocketchat-livechat/.app/client/lib/hooks.js
+++ b/packages/rocketchat-livechat/.app/client/lib/hooks.js
@@ -2,6 +2,7 @@
 import { Meteor } from 'meteor/meteor';
 import { Random } from 'meteor/random';
 import { Tracker } from 'meteor/tracker';
+
 import visitor from '../../imports/client/visitor';
 
 const api = {
diff --git a/packages/rocketchat-livechat/.app/client/lib/msgTyping.js b/packages/rocketchat-livechat/.app/client/lib/msgTyping.js
index 1231daad287..cab9b9f47fb 100644
--- a/packages/rocketchat-livechat/.app/client/lib/msgTyping.js
+++ b/packages/rocketchat-livechat/.app/client/lib/msgTyping.js
@@ -2,9 +2,10 @@
 import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Tracker } from 'meteor/tracker';
-import visitor from '../../imports/client/visitor';
 import _ from 'underscore';
 
+import visitor from '../../imports/client/visitor';
+
 export const MsgTyping = (function() {
 	const timeout = 15000;
 	const timeouts = {};
@@ -12,7 +13,7 @@ export const MsgTyping = (function() {
 	const renewTimeout = 10000;
 	const selfTyping = new ReactiveVar(false);
 	const usersTyping = {};
-	const dep = new Tracker.Dependency;
+	const dep = new Tracker.Dependency();
 	let oldRoom;
 
 	const addStream = function(room) {
@@ -63,14 +64,15 @@ export const MsgTyping = (function() {
 	const start = function(room) {
 		if (!renew) { return; }
 
-		setTimeout(() => renew = true, renewTimeout);
+		setTimeout(() => { renew = true; }, renewTimeout);
 
 		renew = false;
 		selfTyping.set(true);
 		const visitorData = visitor.getData();
 		Notifications.notifyRoom(room, 'typing', visitorData && visitorData.username, true, { token: visitor.getToken() });
 		clearTimeout(timeouts[room]);
-		return timeouts[room] = Meteor.setTimeout(() => stop(room), timeout);
+		timeouts[room] = Meteor.setTimeout(() => stop(room), timeout);
+		return timeouts[room];
 	};
 
 	const get = function(room) {
diff --git a/packages/rocketchat-livechat/.app/client/lib/tapi18n.js b/packages/rocketchat-livechat/.app/client/lib/tapi18n.js
index 57ce066d5b7..c4a8b55b7e2 100644
--- a/packages/rocketchat-livechat/.app/client/lib/tapi18n.js
+++ b/packages/rocketchat-livechat/.app/client/lib/tapi18n.js
@@ -4,23 +4,21 @@ import _ from 'underscore';
 this.t = function(key, ...replaces) {
 	if (_.isObject(replaces[0])) {
 		return TAPi18n.__(key, replaces);
-	} else {
-		return TAPi18n.__(key, {
-			postProcess: 'sprintf',
-			sprintf: replaces,
-		});
 	}
+	return TAPi18n.__(key, {
+		postProcess: 'sprintf',
+		sprintf: replaces,
+	});
 };
 
 this.tr = function(key, options, ...replaces) {
 	if (_.isObject(replaces[0])) {
 		return TAPi18n.__(key, options, replaces);
-	} else {
-		return TAPi18n.__(key, options, {
-			postProcess: 'sprintf',
-			sprintf: replaces,
-		});
 	}
+	return TAPi18n.__(key, options, {
+		postProcess: 'sprintf',
+		sprintf: replaces,
+	});
 };
 
 this.isRtl = (lang) => {
diff --git a/packages/rocketchat-livechat/.app/client/lib/triggers.js b/packages/rocketchat-livechat/.app/client/lib/triggers.js
index bdd46364e4a..4e2010f2f85 100644
--- a/packages/rocketchat-livechat/.app/client/lib/triggers.js
+++ b/packages/rocketchat-livechat/.app/client/lib/triggers.js
@@ -2,6 +2,7 @@
 import { Meteor } from 'meteor/meteor';
 import { Random } from 'meteor/random';
 import { Session } from 'meteor/session';
+
 import visitor from '../../imports/client/visitor';
 
 const firedTriggers = JSON.parse(localStorage.getItem('rocketChatFiredTriggers')) || [];
diff --git a/packages/rocketchat-livechat/.app/client/methods/sendMessageExternal.js b/packages/rocketchat-livechat/.app/client/methods/sendMessageExternal.js
index 29723d521ee..a555db944fd 100644
--- a/packages/rocketchat-livechat/.app/client/methods/sendMessageExternal.js
+++ b/packages/rocketchat-livechat/.app/client/methods/sendMessageExternal.js
@@ -1,8 +1,9 @@
 import { Meteor } from 'meteor/meteor';
 import { TimeSync } from 'meteor/mizzao:timesync';
-import visitor from '../../imports/client/visitor';
 import s from 'underscore.string';
 
+import visitor from '../../imports/client/visitor';
+
 Meteor.methods({
 	sendMessageLivechat(message) {
 		if (s.trim(message.msg) !== '') {
diff --git a/packages/rocketchat-livechat/.app/client/routes/router.js b/packages/rocketchat-livechat/.app/client/routes/router.js
index ae4fca72112..55c8620365d 100644
--- a/packages/rocketchat-livechat/.app/client/routes/router.js
+++ b/packages/rocketchat-livechat/.app/client/routes/router.js
@@ -1,7 +1,8 @@
-import visitor from '../../imports/client/visitor';
 import { FlowRouter } from 'meteor/kadira:flow-router';
 import { BlazeLayout } from 'meteor/kadira:blaze-layout';
 
+import visitor from '../../imports/client/visitor';
+
 BlazeLayout.setRoot('body');
 
 FlowRouter.route('/livechat', {
diff --git a/packages/rocketchat-livechat/.app/client/startup/visitor.js b/packages/rocketchat-livechat/.app/client/startup/visitor.js
index f30e4cc806c..f43f0507e4f 100644
--- a/packages/rocketchat-livechat/.app/client/startup/visitor.js
+++ b/packages/rocketchat-livechat/.app/client/startup/visitor.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { Random } from 'meteor/random';
 import { Tracker } from 'meteor/tracker';
+
 import visitor from '../../imports/client/visitor';
 
 Meteor.startup(() => {
diff --git a/packages/rocketchat-livechat/.app/client/views/avatar.js b/packages/rocketchat-livechat/.app/client/views/avatar.js
index 3fc7c01b663..3464e77fd55 100644
--- a/packages/rocketchat-livechat/.app/client/views/avatar.js
+++ b/packages/rocketchat-livechat/.app/client/views/avatar.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
+
 import visitor from '../../imports/client/visitor';
 
 Template.avatar.helpers({
diff --git a/packages/rocketchat-livechat/.app/client/views/livechatWindow.js b/packages/rocketchat-livechat/.app/client/views/livechatWindow.js
index 6358874a7db..0512c71950c 100644
--- a/packages/rocketchat-livechat/.app/client/views/livechatWindow.js
+++ b/packages/rocketchat-livechat/.app/client/views/livechatWindow.js
@@ -4,6 +4,7 @@ import { FlowRouter } from 'meteor/kadira:flow-router';
 import { Session } from 'meteor/session';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
+
 import visitor from '../../imports/client/visitor';
 
 function showDepartments() {
@@ -30,7 +31,7 @@ Template.livechatWindow.helpers({
 		if (Session.get('triggered') || visitor.getId()) {
 			return false;
 		}
-		return (Livechat.registrationForm && (Livechat.nameFieldRegistrationForm || Livechat.emailFieldRegistrationForm || showDepartments()));
+		return Livechat.registrationForm && (Livechat.nameFieldRegistrationForm || Livechat.emailFieldRegistrationForm || showDepartments());
 	},
 	showSwitchDepartmentForm() {
 		return Livechat.showSwitchDepartmentForm;
@@ -78,7 +79,8 @@ Template.livechatWindow.events({
 			parentCall('stopDragWindow');
 			window.removeEventListener('mousemove', this.onDrag);
 			window.removeEventListener('mousedown', this.onDragStop);
-			this.onDrag = this.onDragStop = null;
+			this.onDrag = null;
+			this.onDragStop = null;
 		};
 
 		window.addEventListener('mousemove', this.onDrag);
diff --git a/packages/rocketchat-livechat/.app/client/views/message.js b/packages/rocketchat-livechat/.app/client/views/message.js
index 0ded2996ce6..69381c49747 100644
--- a/packages/rocketchat-livechat/.app/client/views/message.js
+++ b/packages/rocketchat-livechat/.app/client/views/message.js
@@ -2,9 +2,10 @@
 import { Blaze } from 'meteor/blaze';
 import { Template } from 'meteor/templating';
 import moment from 'moment';
-import visitor from '../../imports/client/visitor';
 import s from 'underscore.string';
 
+import visitor from '../../imports/client/visitor';
+
 Template.message.helpers({
 	own() {
 		if (this.u && this.u._id === visitor.getId()) {
@@ -42,7 +43,7 @@ Template.message.helpers({
 			case 'wm':
 				return t('Welcome', { user: this.u.username });
 			case 'livechat-close':
-				return (Livechat.conversationFinishedMessage) ? Livechat.conversationFinishedMessage : t('Conversation_finished');
+				return Livechat.conversationFinishedMessage ? Livechat.conversationFinishedMessage : t('Conversation_finished');
 			//  case 'rtc': return RocketChat.callbacks.run('renderRtcMessage', this);
 			default:
 				this.html = this.msg;
diff --git a/packages/rocketchat-livechat/.app/client/views/messages.js b/packages/rocketchat-livechat/.app/client/views/messages.js
index 06ea6dd5a8d..b698dfd0a33 100644
--- a/packages/rocketchat-livechat/.app/client/views/messages.js
+++ b/packages/rocketchat-livechat/.app/client/views/messages.js
@@ -3,10 +3,11 @@ import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
-import visitor from '../../imports/client/visitor';
 import _ from 'underscore';
 import mime from 'mime-type/with-db';
 
+import visitor from '../../imports/client/visitor';
+
 Template.messages.helpers({
 	messages() {
 		return ChatMessage.find({
@@ -23,16 +24,14 @@ Template.messages.helpers({
 	showOptions() {
 		if (Template.instance().showOptions.get()) {
 			return 'show';
-		} else {
-			return '';
 		}
+		return '';
 	},
 	optionsLink() {
 		if (Template.instance().showOptions.get()) {
 			return t('Close_menu');
-		} else {
-			return t('Options');
 		}
+		return t('Options');
 	},
 	videoCallEnabled() {
 		return Livechat.videoCall;
diff --git a/packages/rocketchat-livechat/.app/client/views/offlineForm.js b/packages/rocketchat-livechat/.app/client/views/offlineForm.js
index 436758697a4..0a9e61f8f4d 100644
--- a/packages/rocketchat-livechat/.app/client/views/offlineForm.js
+++ b/packages/rocketchat-livechat/.app/client/views/offlineForm.js
@@ -13,14 +13,13 @@ Template.offlineForm.helpers({
 		return Template.instance().messageSent.get();
 	},
 	offlineMessage() {
-		return (!_.isEmpty(this.offlineMessage)) ? this.offlineMessage.replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1<br>$2') : TAPi18n.__('We_are_not_online_right_now_please_leave_a_message');
+		return !_.isEmpty(this.offlineMessage) ? this.offlineMessage.replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1<br>$2') : TAPi18n.__('We_are_not_online_right_now_please_leave_a_message');
 	},
 	offlineSuccessMessage() {
 		if (!_.isEmpty(this.offlineSuccessMessage)) {
 			return this.offlineSuccessMessage.replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1<br>$2');
-		} else {
-			return TAPi18n.__('Thanks_We_ll_get_back_to_you_soon');
 		}
+		return TAPi18n.__('Thanks_We_ll_get_back_to_you_soon');
 	},
 });
 
@@ -48,10 +47,9 @@ Template.offlineForm.events({
 
 			if (error) {
 				return instance.showError(error.reason);
-			} else {
-				instance.messageSent.set(true);
-				parentCall('callback', ['offline-form-submit', data]);
 			}
+			instance.messageSent.set(true);
+			parentCall('callback', ['offline-form-submit', data]);
 		});
 	},
 });
diff --git a/packages/rocketchat-livechat/.app/client/views/options.js b/packages/rocketchat-livechat/.app/client/views/options.js
index b8ba4742642..c791fc2288b 100644
--- a/packages/rocketchat-livechat/.app/client/views/options.js
+++ b/packages/rocketchat-livechat/.app/client/views/options.js
@@ -2,6 +2,7 @@
 import { Meteor } from 'meteor/meteor';
 import { Template } from 'meteor/templating';
 import swal from 'sweetalert2';
+
 import visitor from '../../imports/client/visitor';
 
 Template.options.helpers({
diff --git a/packages/rocketchat-livechat/.app/client/views/register.js b/packages/rocketchat-livechat/.app/client/views/register.js
index ee7306c5a50..bee093dfd66 100644
--- a/packages/rocketchat-livechat/.app/client/views/register.js
+++ b/packages/rocketchat-livechat/.app/client/views/register.js
@@ -3,10 +3,11 @@ import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
 import { TAPi18n } from 'meteor/tap:i18n';
-import visitor from '../../imports/client/visitor';
 import _ from 'underscore';
 import s from 'underscore.string';
 
+import visitor from '../../imports/client/visitor';
+
 Template.register.helpers({
 	error() {
 		return Template.instance().error.get();
@@ -68,34 +69,33 @@ Template.register.events({
 
 		if (!instance.validateForm(form, fields)) {
 			return instance.showError(TAPi18n.__('You_must_complete_all_fields'));
-		} else {
-			let departmentId = instance.$('select[name=department]').val();
-			if (!departmentId) {
-				const department = Department.findOne({ showOnRegistration: true });
-				if (department) {
-					departmentId = department._id;
-				}
+		}
+		let departmentId = instance.$('select[name=department]').val();
+		if (!departmentId) {
+			const department = Department.findOne({ showOnRegistration: true });
+			if (department) {
+				departmentId = department._id;
 			}
+		}
 
-			Livechat.department = departmentId;
+		Livechat.department = departmentId;
 
-			const guest = {
-				token: visitor.getToken(),
-				name,
-				email,
-				department: Livechat.department,
-			};
+		const guest = {
+			token: visitor.getToken(),
+			name,
+			email,
+			department: Livechat.department,
+		};
 
-			Meteor.call('livechat:registerGuest', guest, function(error, result) {
-				if (error != null) {
-					return instance.showError(error.reason);
-				}
-				parentCall('callback', ['pre-chat-form-submit', _.omit(guest, 'token')]);
-				visitor.setId(result.userId);
-				visitor.setData(result.visitor);
-				start();
-			});
-		}
+		Meteor.call('livechat:registerGuest', guest, function(error, result) {
+			if (error != null) {
+				return instance.showError(error.reason);
+			}
+			parentCall('callback', ['pre-chat-form-submit', _.omit(guest, 'token')]);
+			visitor.setId(result.userId);
+			visitor.setData(result.visitor);
+			start();
+		});
 	},
 	'click .error'(e, instance) {
 		return instance.hideError();
diff --git a/packages/rocketchat-livechat/.app/client/views/survey.js b/packages/rocketchat-livechat/.app/client/views/survey.js
index 1bf5b1a1168..6331c981414 100644
--- a/packages/rocketchat-livechat/.app/client/views/survey.js
+++ b/packages/rocketchat-livechat/.app/client/views/survey.js
@@ -2,6 +2,7 @@
 import { Meteor } from 'meteor/meteor';
 import { Template } from 'meteor/templating';
 import swal from 'sweetalert2';
+
 import visitor from '../../imports/client/visitor';
 
 Template.survey.events({
diff --git a/packages/rocketchat-livechat/.app/client/views/switchDepartment.js b/packages/rocketchat-livechat/.app/client/views/switchDepartment.js
index c31e5b6a68c..b14c6e8921a 100644
--- a/packages/rocketchat-livechat/.app/client/views/switchDepartment.js
+++ b/packages/rocketchat-livechat/.app/client/views/switchDepartment.js
@@ -3,6 +3,7 @@ import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
 import { Template } from 'meteor/templating';
 import swal from 'sweetalert2';
+
 import visitor from '../../imports/client/visitor';
 
 Template.switchDepartment.helpers({
diff --git a/packages/rocketchat-livechat/.app/imports/client/visitor.js b/packages/rocketchat-livechat/.app/imports/client/visitor.js
index c1aaf04ef70..836333f6be1 100644
--- a/packages/rocketchat-livechat/.app/imports/client/visitor.js
+++ b/packages/rocketchat-livechat/.app/imports/client/visitor.js
@@ -76,7 +76,6 @@ export default {
 		this.token.set(token);
 
 		Meteor.call('livechat:loginByToken', token, (err, result) => {
-
 			if (!result) {
 				return;
 			}
diff --git a/packages/rocketchat-livechat/plugin/build-livechat.js b/packages/rocketchat-livechat/plugin/build-livechat.js
index 16461f3a8ed..cae2c077b28 100644
--- a/packages/rocketchat-livechat/plugin/build-livechat.js
+++ b/packages/rocketchat-livechat/plugin/build-livechat.js
@@ -1,6 +1,7 @@
 import path from 'path';
 import { execSync } from 'child_process';
 import fs from 'fs';
+
 import UglifyJS from 'uglify-js';
 
 const livechatSource = path.resolve('packages', 'rocketchat-livechat', 'assets', 'rocket-livechat.js');
diff --git a/packages/rocketchat-version/plugin/compile-version.js b/packages/rocketchat-version/plugin/compile-version.js
index 8e3a9b6cd5d..19da988d165 100644
--- a/packages/rocketchat-version/plugin/compile-version.js
+++ b/packages/rocketchat-version/plugin/compile-version.js
@@ -2,12 +2,13 @@ import { exec } from 'child_process';
 import os from 'os';
 import fs from 'fs';
 import path from 'path';
+
 import Future from 'fibers/future';
 import async from 'async';
 
 class VersionCompiler {
 	processFilesForTarget(files) {
-		const future = new Future;
+		const future = new Future();
 		const processFile = function(file, cb) {
 			if (!file.getDisplayPath().match(/rocketchat\.info$/)) {
 				return cb();
diff --git a/private/node_scripts/auto-translate.js b/private/node_scripts/auto-translate.js
index 5b5cf98a141..b9be97d0a86 100644
--- a/private/node_scripts/auto-translate.js
+++ b/private/node_scripts/auto-translate.js
@@ -1,15 +1,17 @@
 /* eslint import/no-unresolved: 0 */
 
-const async = require('async');
 const fs = require('fs');
+
+const async = require('async');
 const _ = require('underscore');
+const translate = require('google-translate');
 
 if (!process.argv[2]) {
 	console.error('\You must inform your Google API key: node auto-translate.js [google-api-key]\n');
 	process.exit();
 }
 
-const googleTranslate = require('google-translate')(process.argv[2]);
+const googleTranslate = translate(process.argv[2]);
 
 googleTranslate.getSupportedLanguages(function(err, langs) {
 	if (err) {
@@ -25,9 +27,8 @@ googleTranslate.getSupportedLanguages(function(err, langs) {
 		_.keys(enUnsorted).sort(function(a, b) {
 			if (a.toLowerCase() !== b.toLowerCase()) {
 				return a.toLowerCase().localeCompare(b.toLowerCase());
-			} else {
-				return a.localeCompare(b);
 			}
+			return a.localeCompare(b);
 		}).forEach(function(key) {
 			en[key] = enUnsorted[key];
 		});
diff --git a/private/node_scripts/check-unused-i18n.js b/private/node_scripts/check-unused-i18n.js
index f5bdbc8b73e..f134375f0ca 100644
--- a/private/node_scripts/check-unused-i18n.js
+++ b/private/node_scripts/check-unused-i18n.js
@@ -1,5 +1,6 @@
 const fs = require('fs');
 const path = require('path');
+
 const _ = require('underscore');
 
 let contents = fs.readFileSync(`${ __dirname }/../../packages/rocketchat-lib/i18n/en.i18n.json`, 'utf-8');
diff --git a/private/node_scripts/unsubscribe_csv/unsubscribe.js b/private/node_scripts/unsubscribe_csv/unsubscribe.js
index a78fbd91fea..954de0116a8 100644
--- a/private/node_scripts/unsubscribe_csv/unsubscribe.js
+++ b/private/node_scripts/unsubscribe_csv/unsubscribe.js
@@ -5,9 +5,9 @@ import program from 'commander';
 import wait from 'wait.for';
 import { MongoClient } from 'mongodb';
 
-program.usage('[options]').option('-v, --verbose', 'Verbose', (function(v, total) {
+program.usage('[options]').option('-v, --verbose', 'Verbose', function(v, total) {
 	return total + 1;
-}), 0).option('-M, --mongo-db [mongo db]', 'Mongo DB', 'localhost:27017').option('-N, --db-name [db name]', 'DB Name', 'meteor').on('--help', function() {
+}, 0).option('-M, --mongo-db [mongo db]', 'Mongo DB', 'localhost:27017').option('-N, --db-name [db name]', 'DB Name', 'meteor').on('--help', function() {
 	console.log('  Example:');
 	console.log('');
 	console.log('    $ node unsubscribe.js');
diff --git a/server/configuration/accounts_meld.js b/server/configuration/accounts_meld.js
index 24821494e20..139b1be0262 100644
--- a/server/configuration/accounts_meld.js
+++ b/server/configuration/accounts_meld.js
@@ -1,5 +1,6 @@
 import _ from 'underscore';
 import { Accounts } from 'meteor/accounts-base';
+
 import { Users } from '../../app/models';
 
 const orig_updateOrCreateUserFromExternalService = Accounts.updateOrCreateUserFromExternalService;
diff --git a/server/lib/accounts.js b/server/lib/accounts.js
index 16130d2d395..c9a47e50d17 100644
--- a/server/lib/accounts.js
+++ b/server/lib/accounts.js
@@ -4,6 +4,7 @@ import { Accounts } from 'meteor/accounts-base';
 import { TAPi18n } from 'meteor/tap:i18n';
 import _ from 'underscore';
 import s from 'underscore.string';
+
 import * as Mailer from '../../app/mailer';
 import { settings } from '../../app/settings';
 import { callbacks } from '../../app/callbacks';
diff --git a/server/lib/cordova.js b/server/lib/cordova.js
index 57a27a0e4fa..363921fdf30 100644
--- a/server/lib/cordova.js
+++ b/server/lib/cordova.js
@@ -1,9 +1,10 @@
 import { Meteor } from 'meteor/meteor';
 import { HTTP } from 'meteor/http';
 import { TAPi18n } from 'meteor/tap:i18n';
+import { Push } from 'meteor/rocketchat:push';
+
 import { SystemLogger } from '../../app/logger';
 import { getWorkspaceAccessToken } from '../../app/cloud/server';
-import { Push } from 'meteor/rocketchat:push';
 import { hasRole } from '../../app/authorization';
 import { settings } from '../../app/settings';
 
diff --git a/server/lib/roomFiles.js b/server/lib/roomFiles.js
index 19152166329..f7a716ac1ca 100644
--- a/server/lib/roomFiles.js
+++ b/server/lib/roomFiles.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Users, Uploads } from '../../app/models';
 
 export const roomFiles = (pub, { rid, searchText, limit = 50 }) => {
diff --git a/server/methods/OEmbedCacheCleanup.js b/server/methods/OEmbedCacheCleanup.js
index dce33adcd46..168cc4aba10 100644
--- a/server/methods/OEmbedCacheCleanup.js
+++ b/server/methods/OEmbedCacheCleanup.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { OEmbedCache } from '../../app/models';
 import { settings } from '../../app/settings';
 import { hasRole } from '../../app/authorization';
diff --git a/server/methods/addAllUserToRoom.js b/server/methods/addAllUserToRoom.js
index 8270f05d77b..d8379b2030c 100644
--- a/server/methods/addAllUserToRoom.js
+++ b/server/methods/addAllUserToRoom.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { hasRole } from '../../app/authorization';
 import { Users, Rooms, Subscriptions, Messages } from '../../app/models';
 import { settings } from '../../app/settings';
@@ -7,9 +8,8 @@ import { callbacks } from '../../app/callbacks';
 
 Meteor.methods({
 	addAllUserToRoom(rid, activeUsersOnly = false) {
-
-		check (rid, String);
-		check (activeUsersOnly, Boolean);
+		check(rid, String);
+		check(activeUsersOnly, Boolean);
 
 		if (hasRole(this.userId, 'admin') === true) {
 			const userCount = Users.find().count();
@@ -54,10 +54,9 @@ Meteor.methods({
 				return callbacks.run('afterJoinRoom', user, room);
 			});
 			return true;
-		} else {
-			throw (new Meteor.Error(403, 'Access to Method Forbidden', {
-				method: 'addAllToRoom',
-			}));
 		}
+		throw new Meteor.Error(403, 'Access to Method Forbidden', {
+			method: 'addAllToRoom',
+		});
 	},
 });
diff --git a/server/methods/addRoomLeader.js b/server/methods/addRoomLeader.js
index fce2764c4a7..548abf36a98 100644
--- a/server/methods/addRoomLeader.js
+++ b/server/methods/addRoomLeader.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { hasPermission } from '../../app/authorization';
 import { Users, Subscriptions, Messages } from '../../app/models';
 import { settings } from '../../app/settings';
diff --git a/server/methods/addRoomModerator.js b/server/methods/addRoomModerator.js
index 69bf8cc9f24..04a593768e2 100644
--- a/server/methods/addRoomModerator.js
+++ b/server/methods/addRoomModerator.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { hasPermission } from '../../app/authorization';
 import { Users, Subscriptions, Messages } from '../../app/models';
 import { settings } from '../../app/settings';
diff --git a/server/methods/addRoomOwner.js b/server/methods/addRoomOwner.js
index 5935dfd133a..b6e0080f3a1 100644
--- a/server/methods/addRoomOwner.js
+++ b/server/methods/addRoomOwner.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { hasPermission } from '../../app/authorization';
 import { Users, Subscriptions, Messages } from '../../app/models';
 import { settings } from '../../app/settings';
diff --git a/server/methods/afterVerifyEmail.js b/server/methods/afterVerifyEmail.js
index 88aaa93df4c..107a8bfab46 100644
--- a/server/methods/afterVerifyEmail.js
+++ b/server/methods/afterVerifyEmail.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
-import { Users, Roles } from '../../app/models';
 import _ from 'underscore';
 
+import { Users, Roles } from '../../app/models';
+
 Meteor.methods({
 	afterVerifyEmail() {
 		const userId = Meteor.userId();
diff --git a/server/methods/browseChannels.js b/server/methods/browseChannels.js
index e23f7ed2d11..2d8d9ffb3c7 100644
--- a/server/methods/browseChannels.js
+++ b/server/methods/browseChannels.js
@@ -1,9 +1,9 @@
 import { Meteor } from 'meteor/meteor';
 import { DDPRateLimiter } from 'meteor/ddp-rate-limiter';
-import { hasPermission } from '../../app/authorization';
-import { Rooms, Users } from '../../app/models';
 import s from 'underscore.string';
 
+import { hasPermission } from '../../app/authorization';
+import { Rooms, Users } from '../../app/models';
 import { Federation } from '../../app/federation/server';
 
 const sortChannels = function(field, direction) {
diff --git a/server/methods/canAccessRoom.js b/server/methods/canAccessRoom.js
index ee270af0fa6..008a2505f81 100644
--- a/server/methods/canAccessRoom.js
+++ b/server/methods/canAccessRoom.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+
 import { Users, Rooms } from '../../app/models';
 import { canAccessRoom } from '../../app/authorization';
 import { settings } from '../../app/settings';
@@ -37,7 +38,6 @@ Meteor.methods({
 			throw new Meteor.Error('error-invalid-room', 'Invalid room', {
 				method: 'canAccessRoom',
 			});
-
 		}
 
 		if (canAccessRoom.call(this, room, user, extraData)) {
diff --git a/server/methods/channelsList.js b/server/methods/channelsList.js
index cbb85ef93f1..cbf39337185 100644
--- a/server/methods/channelsList.js
+++ b/server/methods/channelsList.js
@@ -1,11 +1,12 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+import _ from 'underscore';
+import s from 'underscore.string';
+
 import { hasPermission } from '../../app/authorization';
 import { Rooms, Subscriptions, Users } from '../../app/models';
 import { getUserPreference } from '../../app/utils';
 import { settings } from '../../app/settings';
-import _ from 'underscore';
-import s from 'underscore.string';
 
 Meteor.methods({
 	channelsList(filter, channelType, limit, sort) {
diff --git a/server/methods/createDirectMessage.js b/server/methods/createDirectMessage.js
index 6577182ea1b..2fb89543598 100644
--- a/server/methods/createDirectMessage.js
+++ b/server/methods/createDirectMessage.js
@@ -1,12 +1,12 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { settings } from '../../app/settings';
 import { hasPermission } from '../../app/authorization';
 import { Users, Rooms, Subscriptions } from '../../app/models';
 import { getDefaultSubscriptionPref } from '../../app/utils';
 import { RateLimiter } from '../../app/lib';
 import { callbacks } from '../../app/callbacks';
-
 import { Federation } from '../../app/federation/server';
 
 Meteor.methods({
diff --git a/server/methods/deleteFileMessage.js b/server/methods/deleteFileMessage.js
index ba946c2e4e9..18353d1a45c 100644
--- a/server/methods/deleteFileMessage.js
+++ b/server/methods/deleteFileMessage.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { FileUpload } from '../../app/file-upload';
 import { Messages } from '../../app/models';
 
diff --git a/server/methods/deleteUser.js b/server/methods/deleteUser.js
index bab9b7ea840..9c8f1d266ab 100644
--- a/server/methods/deleteUser.js
+++ b/server/methods/deleteUser.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { Users } from '../../app/models';
 import { hasPermission } from '../../app/authorization';
 import { deleteUser } from '../../app/lib';
diff --git a/server/methods/eraseRoom.js b/server/methods/eraseRoom.js
index ffea46ee513..5be022bc14b 100644
--- a/server/methods/eraseRoom.js
+++ b/server/methods/eraseRoom.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { deleteRoom } from '../../app/lib';
 import { hasPermission } from '../../app/authorization';
 import { Rooms } from '../../app/models';
diff --git a/server/methods/getAvatarSuggestion.js b/server/methods/getAvatarSuggestion.js
index d4ac947e91c..53f27ad5b47 100644
--- a/server/methods/getAvatarSuggestion.js
+++ b/server/methods/getAvatarSuggestion.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { getAvatarSuggestionForUser } from '../../app/lib';
 
 Meteor.methods({
diff --git a/server/methods/getRoomById.js b/server/methods/getRoomById.js
index 4550d824e2f..9bae89ab1de 100644
--- a/server/methods/getRoomById.js
+++ b/server/methods/getRoomById.js
@@ -2,6 +2,7 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
 import { DDPRateLimiter } from 'meteor/ddp-rate-limiter';
+
 import { Rooms } from '../../app/models';
 import { canAccessRoom } from '../../app/authorization';
 
diff --git a/server/methods/getRoomIdByNameOrId.js b/server/methods/getRoomIdByNameOrId.js
index 43e3d977316..8718bbf4dbb 100644
--- a/server/methods/getRoomIdByNameOrId.js
+++ b/server/methods/getRoomIdByNameOrId.js
@@ -1,6 +1,7 @@
 // DEPRECATE
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { Rooms } from '../../app/models';
 import { canAccessRoom } from '../../app/authorization';
 
diff --git a/server/methods/getRoomNameById.js b/server/methods/getRoomNameById.js
index 897483d6950..81f596d520b 100644
--- a/server/methods/getRoomNameById.js
+++ b/server/methods/getRoomNameById.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { Rooms, Subscriptions } from '../../app/models';
 import { hasPermission } from '../../app/authorization';
 
diff --git a/server/methods/getTotalChannels.js b/server/methods/getTotalChannels.js
index d1145c5fdc2..0fcfaff4165 100644
--- a/server/methods/getTotalChannels.js
+++ b/server/methods/getTotalChannels.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Rooms } from '../../app/models';
 
 Meteor.methods({
diff --git a/server/methods/getUsersOfRoom.js b/server/methods/getUsersOfRoom.js
index 02d4524f3e7..dda28c79a08 100644
--- a/server/methods/getUsersOfRoom.js
+++ b/server/methods/getUsersOfRoom.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Subscriptions } from '../../app/models';
 import { hasPermission } from '../../app/authorization';
 import { settings } from '../../app/settings';
@@ -23,14 +24,14 @@ function findUsers({ rid, status, skip, limit }) {
 				'u.status': 1,
 			},
 		},
-		...(status ? [{ $match: { 'u.status': status } }] : []),
+		...status ? [{ $match: { 'u.status': status } }] : [],
 		{
 			$sort: {
 				[settings.get('UI_Use_Real_Name') ? 'u.name' : 'u.username']: 1,
 			},
 		},
-		...(skip > 0 ? [{ $skip: skip }] : []),
-		...(limit > 0 ? [{ $limit: limit }] : []),
+		...skip > 0 ? [{ $skip: skip }] : [],
+		...limit > 0 ? [{ $limit: limit }] : [],
 		{
 			$project: {
 				_id: { $arrayElemAt: ['$u._id', 0] },
diff --git a/server/methods/hideRoom.js b/server/methods/hideRoom.js
index b1beddd89aa..8c632eb8ac4 100644
--- a/server/methods/hideRoom.js
+++ b/server/methods/hideRoom.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { Subscriptions } from '../../app/models';
 
 Meteor.methods({
diff --git a/server/methods/ignoreUser.js b/server/methods/ignoreUser.js
index d4dc0ee006a..c907c0fbcd1 100644
--- a/server/methods/ignoreUser.js
+++ b/server/methods/ignoreUser.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { Subscriptions } from '../../app/models';
 
 Meteor.methods({
diff --git a/server/methods/loadHistory.js b/server/methods/loadHistory.js
index b0e9d3d628a..f4187c84a0c 100644
--- a/server/methods/loadHistory.js
+++ b/server/methods/loadHistory.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { Subscriptions } from '../../app/models';
 import { hasPermission } from '../../app/authorization';
 import { settings } from '../../app/settings';
diff --git a/server/methods/loadMissedMessages.js b/server/methods/loadMissedMessages.js
index 13a773e1102..5079e23b0dc 100644
--- a/server/methods/loadMissedMessages.js
+++ b/server/methods/loadMissedMessages.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { Messages } from '../../app/models';
 import { settings } from '../../app/settings';
 
diff --git a/server/methods/loadNextMessages.js b/server/methods/loadNextMessages.js
index 1ebc69f5059..7136447873e 100644
--- a/server/methods/loadNextMessages.js
+++ b/server/methods/loadNextMessages.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { Messages } from '../../app/models';
 import { settings } from '../../app/settings';
 import { normalizeMessagesForUser } from '../../app/utils/server/lib/normalizeMessagesForUser';
diff --git a/server/methods/loadSurroundingMessages.js b/server/methods/loadSurroundingMessages.js
index 23ac57766ad..180f9f4b3e1 100644
--- a/server/methods/loadSurroundingMessages.js
+++ b/server/methods/loadSurroundingMessages.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { Messages } from '../../app/models';
 import { settings } from '../../app/settings';
 import { normalizeMessagesForUser } from '../../app/utils/server/lib/normalizeMessagesForUser';
@@ -31,7 +32,7 @@ Meteor.methods({
 			return false;
 		}
 
-		limit = limit - 1;
+		limit -= 1;
 
 		const options = {
 			sort: {
diff --git a/server/methods/logoutCleanUp.js b/server/methods/logoutCleanUp.js
index 37d3fd17a12..db6cba739aa 100644
--- a/server/methods/logoutCleanUp.js
+++ b/server/methods/logoutCleanUp.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { callbacks } from '../../app/callbacks';
 
 Meteor.methods({
diff --git a/server/methods/messageSearch.js b/server/methods/messageSearch.js
index 6251d25852f..f58674c598e 100644
--- a/server/methods/messageSearch.js
+++ b/server/methods/messageSearch.js
@@ -1,8 +1,9 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+import s from 'underscore.string';
+
 import { Subscriptions, Messages } from '../../app/models';
 import { settings } from '../../app/settings';
-import s from 'underscore.string';
 
 Meteor.methods({
 	messageSearch(text, rid, limit) {
@@ -13,7 +14,7 @@ Meteor.methods({
 		// TODO: Evaluate why we are returning `users` and `channels`, as the only thing that gets set is the `messages`.
 		const result = {
 			message: {
-				docs:[],
+				docs: [],
 			},
 		};
 
diff --git a/server/methods/migrate.js b/server/methods/migrate.js
index 466eb433c37..e0301756b89 100644
--- a/server/methods/migrate.js
+++ b/server/methods/migrate.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { Migrations } from '../../app/migrations';
 import { hasPermission } from '../../app/authorization';
 
diff --git a/server/methods/muteUserInRoom.js b/server/methods/muteUserInRoom.js
index 464d3c5f5ad..9f39ce95543 100644
--- a/server/methods/muteUserInRoom.js
+++ b/server/methods/muteUserInRoom.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+
 import { Rooms, Subscriptions, Users, Messages } from '../../app/models';
 import { hasPermission } from '../../app/authorization';
 import { callbacks } from '../../app/callbacks';
diff --git a/server/methods/openRoom.js b/server/methods/openRoom.js
index bd327f6c8ed..61ca1129a9f 100644
--- a/server/methods/openRoom.js
+++ b/server/methods/openRoom.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { Subscriptions } from '../../app/models';
 
 Meteor.methods({
diff --git a/server/methods/readMessages.js b/server/methods/readMessages.js
index 331bf783d1a..3301524d34e 100644
--- a/server/methods/readMessages.js
+++ b/server/methods/readMessages.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { callbacks } from '../../app/callbacks';
 import { Subscriptions } from '../../app/models';
 
diff --git a/server/methods/registerUser.js b/server/methods/registerUser.js
index 47a99242e3b..83464419607 100644
--- a/server/methods/registerUser.js
+++ b/server/methods/registerUser.js
@@ -2,6 +2,7 @@ import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
 import { Accounts } from 'meteor/accounts-base';
 import s from 'underscore.string';
+
 import * as Mailer from '../../app/mailer';
 import { Users } from '../../app/models';
 import { settings } from '../../app/settings';
@@ -29,20 +30,20 @@ Meteor.methods({
 
 			Accounts._insertLoginToken(userId, stampedLoginToken);
 			return stampedLoginToken;
-		} else {
-			check(formData, Match.ObjectIncluding({
-				email: String,
-				pass: String,
-				name: String,
-				secretURL: Match.Optional(String),
-				reason: Match.Optional(String),
-			}));
 		}
+		check(formData, Match.ObjectIncluding({
+			email: String,
+			pass: String,
+			name: String,
+			secretURL: Match.Optional(String),
+			reason: Match.Optional(String),
+		}));
+
 
 		if (settings.get('Accounts_RegistrationForm') === 'Disabled') {
 			throw new Meteor.Error('error-user-registration-disabled', 'User registration is disabled', { method: 'registerUser' });
 		} else if (settings.get('Accounts_RegistrationForm') === 'Secret URL' && (!formData.secretURL || formData.secretURL !== settings.get('Accounts_RegistrationForm_SecretURL'))) {
-			throw new Meteor.Error ('error-user-registration-secret', 'User registration is only allowed via Secret URL', { method: 'registerUser' });
+			throw new Meteor.Error('error-user-registration-secret', 'User registration is only allowed via Secret URL', { method: 'registerUser' });
 		}
 
 		passwordPolicy.validate(formData.pass);
@@ -76,7 +77,6 @@ Meteor.methods({
 		saveCustomFields(userId, formData);
 
 		try {
-
 			const subject = Mailer.replace(settings.get('Verification_Email_Subject'));
 
 			Accounts.emailTemplates.verifyEmail.subject = () => subject;
diff --git a/server/methods/removeRoomLeader.js b/server/methods/removeRoomLeader.js
index 90aebe4c38c..b0576c3d207 100644
--- a/server/methods/removeRoomLeader.js
+++ b/server/methods/removeRoomLeader.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { hasPermission } from '../../app/authorization';
 import { Users, Subscriptions, Messages } from '../../app/models';
 import { settings } from '../../app/settings';
diff --git a/server/methods/removeRoomModerator.js b/server/methods/removeRoomModerator.js
index eea88e224af..ae00b1aeb2f 100644
--- a/server/methods/removeRoomModerator.js
+++ b/server/methods/removeRoomModerator.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { hasPermission } from '../../app/authorization';
 import { Users, Subscriptions, Messages } from '../../app/models';
 import { settings } from '../../app/settings';
diff --git a/server/methods/removeRoomOwner.js b/server/methods/removeRoomOwner.js
index a818c5da2e8..2dbd82e6cb8 100644
--- a/server/methods/removeRoomOwner.js
+++ b/server/methods/removeRoomOwner.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { hasPermission, getUsersInRole } from '../../app/authorization';
 import { Users, Subscriptions, Messages } from '../../app/models';
 import { settings } from '../../app/settings';
diff --git a/server/methods/removeUserFromRoom.js b/server/methods/removeUserFromRoom.js
index 69bc4f52d77..45839078e7a 100644
--- a/server/methods/removeUserFromRoom.js
+++ b/server/methods/removeUserFromRoom.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+
 import { hasPermission, hasRole, getUsersInRole, removeUserFromRoles } from '../../app/authorization';
 import { Users, Subscriptions, Rooms, Messages } from '../../app/models';
 import { callbacks } from '../../app/callbacks';
diff --git a/server/methods/reportMessage.js b/server/methods/reportMessage.js
index 13c66136b8a..9ff33ef8426 100644
--- a/server/methods/reportMessage.js
+++ b/server/methods/reportMessage.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { Messages, Reports } from '../../app/models';
 
 Meteor.methods({
diff --git a/server/methods/requestDataDownload.js b/server/methods/requestDataDownload.js
index f1d444bf59e..604d68c72ec 100644
--- a/server/methods/requestDataDownload.js
+++ b/server/methods/requestDataDownload.js
@@ -1,8 +1,10 @@
+import fs from 'fs';
+import path from 'path';
+
 import { Meteor } from 'meteor/meteor';
+
 import { ExportOperations } from '../../app/models';
 import { settings } from '../../app/settings';
-import fs from 'fs';
-import path from 'path';
 
 let tempFolder = '/tmp/userData';
 if (settings.get('UserData_FileSystemPath') != null) {
@@ -50,7 +52,7 @@ Meteor.methods({
 		}
 
 		const exportOperation = {
-			userId : currentUserData._id,
+			userId: currentUserData._id,
 			roomList: null,
 			status: 'pending',
 			exportPath: folderName,
diff --git a/server/methods/resetAvatar.js b/server/methods/resetAvatar.js
index 77bea775507..f60b0aefc43 100644
--- a/server/methods/resetAvatar.js
+++ b/server/methods/resetAvatar.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { DDPRateLimiter } from 'meteor/ddp-rate-limiter';
+
 import { FileUpload } from '../../app/file-upload';
 import { Users } from '../../app/models/server';
 import { settings } from '../../app/settings';
diff --git a/server/methods/roomNameExists.js b/server/methods/roomNameExists.js
index 5bb3e5e68dd..ef2c2a5d167 100644
--- a/server/methods/roomNameExists.js
+++ b/server/methods/roomNameExists.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { Rooms } from '../../app/models';
 
 Meteor.methods({
diff --git a/server/methods/saveUserPreferences.js b/server/methods/saveUserPreferences.js
index fd389a20a52..04408d12180 100644
--- a/server/methods/saveUserPreferences.js
+++ b/server/methods/saveUserPreferences.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+
 import { Users, Subscriptions } from '../../app/models';
 
 Meteor.methods({
diff --git a/server/methods/saveUserProfile.js b/server/methods/saveUserProfile.js
index 429fdf4ccc0..788ee9281d0 100644
--- a/server/methods/saveUserProfile.js
+++ b/server/methods/saveUserProfile.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
 import { Accounts } from 'meteor/accounts-base';
+
 import { saveCustomFields, passwordPolicy } from '../../app/lib';
 import { Users } from '../../app/models';
 import { settings as rcSettings } from '../../app/settings';
@@ -59,7 +60,7 @@ Meteor.methods({
 		}
 
 		// Should be the last check to prevent error when trying to check password for users without password
-		if ((settings.newPassword) && rcSettings.get('Accounts_AllowPasswordChange') === true) {
+		if (settings.newPassword && rcSettings.get('Accounts_AllowPasswordChange') === true) {
 			if (!checkPassword(user, settings.typedPassword)) {
 				throw new Meteor.Error('error-invalid-password', 'Invalid password', {
 					method: 'saveUserProfile',
diff --git a/server/methods/sendConfirmationEmail.js b/server/methods/sendConfirmationEmail.js
index a2ee55be978..5749d0e5869 100644
--- a/server/methods/sendConfirmationEmail.js
+++ b/server/methods/sendConfirmationEmail.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
 import { Accounts } from 'meteor/accounts-base';
+
 import * as Mailer from '../../app/mailer';
 import { Users } from '../../app/models';
 import { settings } from '../../app/settings';
@@ -34,7 +35,7 @@ Meteor.methods({
 		};
 
 		Accounts.emailTemplates.verifyEmail.html = function(userModel, url) {
-			return Mailer.replace(html, { Verification_Url:url, name: user.name });
+			return Mailer.replace(html, { Verification_Url: url, name: user.name });
 		};
 
 		try {
@@ -45,6 +46,5 @@ Meteor.methods({
 				message: error.message,
 			});
 		}
-
 	},
 });
diff --git a/server/methods/sendForgotPasswordEmail.js b/server/methods/sendForgotPasswordEmail.js
index 91fdb918b33..c8ba6c8c340 100644
--- a/server/methods/sendForgotPasswordEmail.js
+++ b/server/methods/sendForgotPasswordEmail.js
@@ -2,6 +2,7 @@ import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
 import { Accounts } from 'meteor/accounts-base';
 import s from 'underscore.string';
+
 import * as Mailer from '../../app/mailer';
 import { Users } from '../../app/models';
 import { settings } from '../../app/settings';
@@ -42,7 +43,6 @@ Meteor.methods({
 		Accounts.emailTemplates.from = `${ settings.get('Site_Name') } <${ settings.get('From_Email') }>`;
 
 		try {
-
 			Accounts.emailTemplates.resetPassword.subject = function(/* userModel*/) {
 				return subject; // TODO check a better way to do this
 			};
diff --git a/server/methods/setAvatarFromService.js b/server/methods/setAvatarFromService.js
index c93cd2c2d4a..2d1a7aeb8a5 100644
--- a/server/methods/setAvatarFromService.js
+++ b/server/methods/setAvatarFromService.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
 import { DDPRateLimiter } from 'meteor/ddp-rate-limiter';
+
 import { settings } from '../../app/settings';
 import { setUserAvatar } from '../../app/lib';
 import { Users } from '../../app/models/server';
diff --git a/server/methods/setUserActiveStatus.js b/server/methods/setUserActiveStatus.js
index 2577af9e4ed..2328d79d54c 100644
--- a/server/methods/setUserActiveStatus.js
+++ b/server/methods/setUserActiveStatus.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
 import { Accounts } from 'meteor/accounts-base';
+
 import * as Mailer from '../../app/mailer';
 import { hasPermission } from '../../app/authorization';
 import { Users, Subscriptions } from '../../app/models';
@@ -61,6 +62,5 @@ Meteor.methods({
 
 
 		return true;
-
 	},
 });
diff --git a/server/methods/setUserPassword.js b/server/methods/setUserPassword.js
index 8f5c91eb941..5ebcc135a2a 100644
--- a/server/methods/setUserPassword.js
+++ b/server/methods/setUserPassword.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
 import { Accounts } from 'meteor/accounts-base';
+
 import { Users } from '../../app/models';
 import { passwordPolicy } from '../../app/lib';
 
diff --git a/server/methods/toogleFavorite.js b/server/methods/toogleFavorite.js
index 82293eae4de..9cc84bf82f9 100644
--- a/server/methods/toogleFavorite.js
+++ b/server/methods/toogleFavorite.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+
 import { Subscriptions } from '../../app/models';
 
 Meteor.methods({
diff --git a/server/methods/unmuteUserInRoom.js b/server/methods/unmuteUserInRoom.js
index b90cadd03a9..759c2148390 100644
--- a/server/methods/unmuteUserInRoom.js
+++ b/server/methods/unmuteUserInRoom.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Match, check } from 'meteor/check';
+
 import { hasPermission } from '../../app/authorization';
 import { Users, Subscriptions, Rooms, Messages } from '../../app/models';
 import { callbacks } from '../../app/callbacks';
diff --git a/server/methods/userSetUtcOffset.js b/server/methods/userSetUtcOffset.js
index ad33d8c1a23..f99bef47aff 100644
--- a/server/methods/userSetUtcOffset.js
+++ b/server/methods/userSetUtcOffset.js
@@ -1,6 +1,7 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
 import { DDPRateLimiter } from 'meteor/ddp-rate-limiter';
+
 import { Users } from '../../app/models';
 
 Meteor.methods({
diff --git a/server/publications/activeUsers.js b/server/publications/activeUsers.js
index 180def537d0..c6e33e28351 100644
--- a/server/publications/activeUsers.js
+++ b/server/publications/activeUsers.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Users } from '../../app/models';
 
 Meteor.publish('activeUsers', function() {
diff --git a/server/publications/channelAndPrivateAutocomplete.js b/server/publications/channelAndPrivateAutocomplete.js
index bda54b0bd32..17cb499dd9b 100644
--- a/server/publications/channelAndPrivateAutocomplete.js
+++ b/server/publications/channelAndPrivateAutocomplete.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../app/authorization';
 import { Rooms } from '../../app/models';
 
diff --git a/server/publications/fullUserData.js b/server/publications/fullUserData.js
index aa6d2e9ccc5..30151581250 100644
--- a/server/publications/fullUserData.js
+++ b/server/publications/fullUserData.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { getFullUserData } from '../../app/lib';
 
 Meteor.publish('fullUserData', function(filter, limit) {
diff --git a/server/publications/messages.js b/server/publications/messages.js
index ac0ce3cff1f..625eb8a5fcd 100644
--- a/server/publications/messages.js
+++ b/server/publications/messages.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { check } from 'meteor/check';
+
 import { normalizeMessagesForUser } from '../../app/utils/server/lib/normalizeMessagesForUser';
 import { Messages } from '../../app/models';
 
@@ -95,6 +96,5 @@ Meteor.methods({
 		}
 
 		return Meteor.call('getChannelHistory', { rid, latest: latestDate, oldest: oldestDate, inclusive, count, unreads });
-
 	},
 });
diff --git a/server/publications/room.js b/server/publications/room.js
index 48cc90ca99f..570e04ea906 100644
--- a/server/publications/room.js
+++ b/server/publications/room.js
@@ -1,10 +1,11 @@
 import { Meteor } from 'meteor/meteor';
+import _ from 'underscore';
+
 import { roomTypes } from '../../app/utils';
 import { hasPermission } from '../../app/authorization';
 import { Rooms, Subscriptions } from '../../app/models';
 import { settings } from '../../app/settings';
 import { Notifications } from '../../app/notifications';
-import _ from 'underscore';
 
 const fields = {
 	_id: 1,
diff --git a/server/publications/roomFiles.js b/server/publications/roomFiles.js
index ff954170170..3f425819320 100644
--- a/server/publications/roomFiles.js
+++ b/server/publications/roomFiles.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { roomFiles } from '../lib/roomFiles';
 
 Meteor.publish('roomFiles', function(rid, limit = 50) {
diff --git a/server/publications/roomFilesWithSearchText.js b/server/publications/roomFilesWithSearchText.js
index 7d0d975beaa..f7f26d13a01 100644
--- a/server/publications/roomFilesWithSearchText.js
+++ b/server/publications/roomFilesWithSearchText.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { roomFiles } from '../lib/roomFiles';
 
 Meteor.publish('roomFilesWithSearchText', function(rid, searchText, limit = 50) {
diff --git a/server/publications/roomSubscriptionsByRole.js b/server/publications/roomSubscriptionsByRole.js
index 8d6d56feab5..17ed6963437 100644
--- a/server/publications/roomSubscriptionsByRole.js
+++ b/server/publications/roomSubscriptionsByRole.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../app/authorization';
 import { Subscriptions } from '../../app/models';
 
diff --git a/server/publications/spotlight.js b/server/publications/spotlight.js
index faa3b5e9318..93e313facf6 100644
--- a/server/publications/spotlight.js
+++ b/server/publications/spotlight.js
@@ -1,10 +1,11 @@
 import { Meteor } from 'meteor/meteor';
 import { DDPRateLimiter } from 'meteor/ddp-rate-limiter';
+import s from 'underscore.string';
+
 import { hasPermission } from '../../app/authorization';
 import { Users, Subscriptions, Rooms } from '../../app/models';
 import { settings } from '../../app/settings';
 import { roomTypes } from '../../app/utils';
-import s from 'underscore.string';
 
 function fetchRooms(userId, rooms) {
 	if (!settings.get('Store_Last_Message') || hasPermission(userId, 'preview-c-room')) {
@@ -83,7 +84,8 @@ Meteor.methods({
 			}
 		} else if (type.users === true && rid) {
 			const subscriptions = Subscriptions.find({
-				rid, 'u.username': {
+				rid,
+				'u.username': {
 					$regex: regex,
 					$nin: [...usernames, Meteor.user().username],
 				},
diff --git a/server/publications/subscription.js b/server/publications/subscription.js
index 15b1bafce93..182de0eaf38 100644
--- a/server/publications/subscription.js
+++ b/server/publications/subscription.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Subscriptions } from '../../app/models';
 import { Notifications } from '../../app/notifications';
 
diff --git a/server/publications/userAutocomplete.js b/server/publications/userAutocomplete.js
index 36f315f9aee..e7911b4356b 100644
--- a/server/publications/userAutocomplete.js
+++ b/server/publications/userAutocomplete.js
@@ -1,7 +1,8 @@
 import { Meteor } from 'meteor/meteor';
-import { Users } from '../../app/models';
 import _ from 'underscore';
 
+import { Users } from '../../app/models';
+
 Meteor.publish('userAutocomplete', function(selector) {
 	if (!this.userId) {
 		return this.ready();
diff --git a/server/publications/userChannels.js b/server/publications/userChannels.js
index e67e106975c..ac7a3777857 100644
--- a/server/publications/userChannels.js
+++ b/server/publications/userChannels.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../app/authorization';
 import { Subscriptions } from '../../app/models';
 
diff --git a/server/publications/userData.js b/server/publications/userData.js
index 200db4b3c01..c8438a98a48 100644
--- a/server/publications/userData.js
+++ b/server/publications/userData.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Users } from '../../app/models';
 
 Meteor.publish('userData', function() {
diff --git a/server/routes/avatar/room.js b/server/routes/avatar/room.js
index ac27c73be82..450e211e54c 100644
--- a/server/routes/avatar/room.js
+++ b/server/routes/avatar/room.js
@@ -1,14 +1,14 @@
 import { Meteor } from 'meteor/meteor';
 
-import { Rooms } from '../../../app/models/server';
-import { roomTypes } from '../../../app/utils';
-
 import {
 	renderSVGLetters,
 	serveAvatar,
 	wasFallbackModified,
 	setCacheAndDispositionHeaders,
 } from './utils';
+import { Rooms } from '../../../app/models/server';
+import { roomTypes } from '../../../app/utils';
+
 
 const getRoom = (roomId) => {
 	const room = Rooms.findOneById(roomId, { fields: { t: 1, prid: 1, name: 1, fname: 1 } });
diff --git a/server/routes/avatar/user.js b/server/routes/avatar/user.js
index 20ed189044c..ac93faca256 100644
--- a/server/routes/avatar/user.js
+++ b/server/routes/avatar/user.js
@@ -1,15 +1,15 @@
 import { Meteor } from 'meteor/meteor';
 
-import { FileUpload } from '../../../app/file-upload';
-import { settings } from '../../../app/settings/server';
-import { Users, Avatars } from '../../../app/models/server';
-
 import {
 	renderSVGLetters,
 	serveAvatar,
 	wasFallbackModified,
 	setCacheAndDispositionHeaders,
 } from './utils';
+import { FileUpload } from '../../../app/file-upload';
+import { settings } from '../../../app/settings/server';
+import { Users, Avatars } from '../../../app/models/server';
+
 
 // request /avatar/@name forces returning the svg
 export const userAvatar = Meteor.bindEnvironment(function(req, res) {
@@ -74,5 +74,4 @@ export const userAvatar = Meteor.bindEnvironment(function(req, res) {
 	}
 
 	serveAvatar(svg, req.query.format, res);
-	return;
 });
diff --git a/server/routes/avatar/utils.js b/server/routes/avatar/utils.js
index 0db31ea180f..9334b53de4a 100644
--- a/server/routes/avatar/utils.js
+++ b/server/routes/avatar/utils.js
@@ -1,6 +1,5 @@
 import sharp from 'sharp';
 import { throttle } from 'underscore';
-
 import { Cookies } from 'meteor/ostrio:cookies';
 
 import { Users } from '../../../app/models/server';
@@ -38,7 +37,7 @@ function isUserAuthenticated({ headers, query }) {
 	let { rc_uid, rc_token } = query;
 
 	if (!rc_uid && headers.cookie) {
-		rc_uid = cookie.get('rc_uid', headers.cookie) ;
+		rc_uid = cookie.get('rc_uid', headers.cookie);
 		rc_token = cookie.get('rc_token', headers.cookie);
 	}
 
diff --git a/server/startup/cron.js b/server/startup/cron.js
index 7149871300e..4f7c178ad81 100644
--- a/server/startup/cron.js
+++ b/server/startup/cron.js
@@ -1,8 +1,9 @@
 import { Meteor } from 'meteor/meteor';
 import { HTTP } from 'meteor/http';
+import { SyncedCron } from 'meteor/littledata:synced-cron';
+
 import { Logger } from '../../app/logger';
 import { getWorkspaceAccessToken } from '../../app/cloud/server';
-import { SyncedCron } from 'meteor/littledata:synced-cron';
 import { statistics } from '../../app/statistics';
 import { settings } from '../../app/settings';
 
diff --git a/server/startup/initialData.js b/server/startup/initialData.js
index 3c24330b58b..a204992ca07 100644
--- a/server/startup/initialData.js
+++ b/server/startup/initialData.js
@@ -1,12 +1,13 @@
 import { Meteor } from 'meteor/meteor';
 import { Accounts } from 'meteor/accounts-base';
+import _ from 'underscore';
+
 import { RocketChatFile } from '../../app/file';
 import { FileUpload } from '../../app/file-upload';
 import { addUserRoles, getUsersInRole } from '../../app/authorization';
 import { Users, Settings, Rooms } from '../../app/models';
 import { settings } from '../../app/settings';
 import { checkUsernameAvailability, addUserToDefaultChannels } from '../../app/lib';
-import _ from 'underscore';
 
 Meteor.startup(function() {
 	Meteor.defer(() => {
@@ -60,7 +61,7 @@ Meteor.startup(function() {
 					adminUser.name = process.env.ADMIN_NAME;
 				}
 
-				console.log((`Name: ${ adminUser.name }`).green);
+				console.log(`Name: ${ adminUser.name }`.green);
 
 				if (process.env.ADMIN_EMAIL) {
 					const re = /^[^@].*@[^@]+$/i;
@@ -72,7 +73,7 @@ Meteor.startup(function() {
 								verified: true,
 							}];
 
-							console.log((`Email: ${ process.env.ADMIN_EMAIL }`).green);
+							console.log(`Email: ${ process.env.ADMIN_EMAIL }`.green);
 						} else {
 							console.log('Email provided already exists; Ignoring environment variables ADMIN_EMAIL'.red);
 						}
@@ -101,7 +102,7 @@ Meteor.startup(function() {
 					}
 				}
 
-				console.log((`Username: ${ adminUser.username }`).green);
+				console.log(`Username: ${ adminUser.username }`.green);
 
 				adminUser.type = 'user';
 
@@ -109,7 +110,7 @@ Meteor.startup(function() {
 
 				Accounts.setPassword(id, process.env.ADMIN_PASS);
 
-				console.log((`Password: ${ process.env.ADMIN_PASS }`).green);
+				console.log(`Password: ${ process.env.ADMIN_PASS }`.green);
 
 				addUserRoles(id, 'admin');
 			} else {
@@ -171,10 +172,10 @@ Meteor.startup(function() {
 				type: 'user',
 			};
 
-			console.log((`Name: ${ adminUser.name }`).green);
-			console.log((`Email: ${ adminUser.emails[0].address }`).green);
-			console.log((`Username: ${ adminUser.username }`).green);
-			console.log((`Password: ${ adminUser._id }`).green);
+			console.log(`Name: ${ adminUser.name }`.green);
+			console.log(`Email: ${ adminUser.emails[0].address }`.green);
+			console.log(`Username: ${ adminUser.username }`.green);
+			console.log(`Password: ${ adminUser._id }`.green);
 
 			if (Users.findOneByEmailAddress(adminUser.emails[0].address)) {
 				throw new Meteor.Error(`Email ${ adminUser.emails[0].address } already exists`, 'Rocket.Chat can\'t run in test mode');
diff --git a/server/startup/migrations/v001.js b/server/startup/migrations/v001.js
index 6dd91abeaf1..f92b833c1ee 100644
--- a/server/startup/migrations/v001.js
+++ b/server/startup/migrations/v001.js
@@ -16,9 +16,8 @@ Migrations.add({
 			const username = generateUsernameSuggestion(user);
 			if (username && username.trim() !== '') {
 				return Users.setUsername(user._id, username);
-			} else {
-				return console.log('User without username', JSON.stringify(user, null, ' '));
 			}
+			return console.log('User without username', JSON.stringify(user, null, ' '));
 		});
 	},
 });
diff --git a/server/startup/migrations/v003.js b/server/startup/migrations/v003.js
index 29b62da5352..e8de574f6ea 100644
--- a/server/startup/migrations/v003.js
+++ b/server/startup/migrations/v003.js
@@ -128,9 +128,8 @@ Migrations.add({
 				}, {
 					multi: true,
 				});
-			} else {
-				return Rooms.update(room._id, update);
 			}
+			return Rooms.update(room._id, update);
 		});
 
 		console.log('Fixing ChatMessage uid');
diff --git a/server/startup/migrations/v004.js b/server/startup/migrations/v004.js
index 81d6e02165a..911bd32e0c9 100644
--- a/server/startup/migrations/v004.js
+++ b/server/startup/migrations/v004.js
@@ -1,4 +1,5 @@
 import { Random } from 'meteor/random';
+
 import { Migrations } from '../../../app/migrations';
 import { Rooms, Subscriptions, Messages } from '../../../app/models';
 
@@ -45,7 +46,6 @@ Migrations.add({
 		console.log('Making room names unique');
 
 		Rooms.find().forEach(function(room) {
-
 			return Rooms.find({
 				name: room.name,
 				_id: {
diff --git a/server/startup/migrations/v005.js b/server/startup/migrations/v005.js
index c823c7f5b4e..bb6a4ab1efe 100644
--- a/server/startup/migrations/v005.js
+++ b/server/startup/migrations/v005.js
@@ -40,11 +40,11 @@ Migrations.add({
 		}).forEach((user) => {
 			let newUserName = user.emails[0].address.split('@')[0];
 			if (Users.findOneByUsernameIgnoringCase(newUserName)) {
-				newUserName = newUserName + Math.floor((Math.random() * 10) + 1);
+				newUserName += Math.floor((Math.random() * 10) + 1);
 				if (Users.findOneByUsernameIgnoringCase(newUserName)) {
-					newUserName = newUserName + Math.floor((Math.random() * 10) + 1);
+					newUserName += Math.floor((Math.random() * 10) + 1);
 					if (Users.findOneByUsernameIgnoringCase(newUserName)) {
-						newUserName = newUserName + Math.floor((Math.random() * 10) + 1);
+						newUserName += Math.floor((Math.random() * 10) + 1);
 					}
 				}
 			}
diff --git a/server/startup/migrations/v007.js b/server/startup/migrations/v007.js
index c15edc15865..bed0fffa3ae 100644
--- a/server/startup/migrations/v007.js
+++ b/server/startup/migrations/v007.js
@@ -1,7 +1,8 @@
+import _ from 'underscore';
+
 import { OEmbed } from '../../../app/oembed/server';
 import { Migrations } from '../../../app/migrations';
 import { Messages } from '../../../app/models';
-import _ from 'underscore';
 
 Migrations.add({
 	version: 7,
diff --git a/server/startup/migrations/v009.js b/server/startup/migrations/v009.js
index 98574e9688e..f98905072dd 100644
--- a/server/startup/migrations/v009.js
+++ b/server/startup/migrations/v009.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Mongo } from 'meteor/mongo';
+
 import { Migrations } from '../../../app/migrations';
 import { Rooms, Subscriptions, Messages, Settings, OEmbedCache } from '../../../app/models';
 
diff --git a/server/startup/migrations/v010.js b/server/startup/migrations/v010.js
index b6b96a037c9..e4c26c261bb 100644
--- a/server/startup/migrations/v010.js
+++ b/server/startup/migrations/v010.js
@@ -1,6 +1,7 @@
+import _ from 'underscore';
+
 import { Migrations } from '../../../app/migrations';
 import { Rooms } from '../../../app/models';
-import _ from 'underscore';
 
 Migrations.add({
 	version: 10,
diff --git a/server/startup/migrations/v012.js b/server/startup/migrations/v012.js
index d048552a4df..a535696eb06 100644
--- a/server/startup/migrations/v012.js
+++ b/server/startup/migrations/v012.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Migrations } from '../../../app/migrations';
 import { Users } from '../../../app/models';
 
diff --git a/server/startup/migrations/v015.js b/server/startup/migrations/v015.js
index 0410e14eded..42654204029 100644
--- a/server/startup/migrations/v015.js
+++ b/server/startup/migrations/v015.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import { Mongo } from 'meteor/mongo';
+
 import { Migrations } from '../../../app/migrations';
 import { Uploads, Messages } from '../../../app/models';
 
@@ -81,7 +82,7 @@ Migrations.add({
 				}],
 			}).forEach((message) => {
 				for (const urlsItem of message.urls) {
-					if (urlsItem.url === (`https://open.rocket.chat/cfs/files/Files/${ cfsRecord._id }`) || urlsItem.url === (`https://rocket.chat/cfs/files/Files/${ cfsRecord._id }`)) {
+					if (urlsItem.url === `https://open.rocket.chat/cfs/files/Files/${ cfsRecord._id }` || urlsItem.url === `https://rocket.chat/cfs/files/Files/${ cfsRecord._id }`) {
 						urlsItem.url = Meteor.absoluteUrl() + url;
 						if (urlsItem.parsedUrl && urlsItem.parsedUrl.pathname) {
 							urlsItem.parsedUrl.pathname = `/${ url }`;
diff --git a/server/startup/migrations/v018.js b/server/startup/migrations/v018.js
index 5a8181a121b..8da8cc5a0d1 100644
--- a/server/startup/migrations/v018.js
+++ b/server/startup/migrations/v018.js
@@ -1,4 +1,5 @@
 import { ServiceConfiguration } from 'meteor/service-configuration';
+
 import { Migrations } from '../../../app/migrations';
 import { Settings } from '../../../app/models';
 
diff --git a/server/startup/migrations/v019.js b/server/startup/migrations/v019.js
index 0e5deed8a79..5fe4c2d341b 100644
--- a/server/startup/migrations/v019.js
+++ b/server/startup/migrations/v019.js
@@ -1,8 +1,9 @@
 import { Meteor } from 'meteor/meteor';
+import _ from 'underscore';
+
 import { Migrations } from '../../../app/migrations';
 import { addUserRoles } from '../../../app/authorization';
 import { Rooms, Subscriptions, Messages } from '../../../app/models';
-import _ from 'underscore';
 
 Migrations.add({
 	version: 19,
@@ -35,7 +36,7 @@ Migrations.add({
 
 		let usernames = _.pluck(admins, 'username').join(', ');
 
-		console.log((`Migrate ${ usernames } from admin field to 'admin' role`).green);
+		console.log(`Migrate ${ usernames } from admin field to 'admin' role`.green);
 
 		// Add 'user' role to all users
 		const users = Meteor.users.find().fetch();
@@ -44,7 +45,7 @@ Migrations.add({
 		});
 
 		usernames = _.pluck(users, 'username').join(', ');
-		console.log((`Add ${ usernames } to 'user' role`).green);
+		console.log(`Add ${ usernames } to 'user' role`.green);
 
 		// Add 'moderator' role to channel/group creators
 		const rooms = Rooms.findByTypes(['c', 'p']).fetch();
@@ -56,11 +57,10 @@ Migrations.add({
 					_id: creator,
 				})) {
 					return addUserRoles(creator, ['moderator'], room._id);
-				} else {
-					Subscriptions.removeByRoomId(room._id);
-					Messages.removeByRoomId(room._id);
-					return Rooms.removeById(room._id);
 				}
+				Subscriptions.removeByRoomId(room._id);
+				Messages.removeByRoomId(room._id);
+				return Rooms.removeById(room._id);
 			}
 		});
 	},
diff --git a/server/startup/migrations/v027.js b/server/startup/migrations/v027.js
index 49fd58e71c6..19ab5fc4e52 100644
--- a/server/startup/migrations/v027.js
+++ b/server/startup/migrations/v027.js
@@ -4,7 +4,6 @@ import { Users, Roles } from '../../../app/models';
 Migrations.add({
 	version: 27,
 	up() {
-
 		Users.update({}, {
 			$rename: {
 				roles: '_roles',
diff --git a/server/startup/migrations/v029.js b/server/startup/migrations/v029.js
index 61038bf4396..0879bee544c 100644
--- a/server/startup/migrations/v029.js
+++ b/server/startup/migrations/v029.js
@@ -16,7 +16,7 @@ Migrations.add({
 					value: LDAP_Url,
 				},
 				$setOnInsert: {
-					createdAt: new Date,
+					createdAt: new Date(),
 				},
 			});
 		}
@@ -27,7 +27,7 @@ Migrations.add({
 					value: 'tls',
 				},
 				$setOnInsert: {
-					createdAt: new Date,
+					createdAt: new Date(),
 				},
 			});
 		}
@@ -38,7 +38,7 @@ Migrations.add({
 					value: LDAP_DN,
 				},
 				$setOnInsert: {
-					createdAt: new Date,
+					createdAt: new Date(),
 				},
 			});
 
@@ -47,7 +47,7 @@ Migrations.add({
 					value: '',
 				},
 				$setOnInsert: {
-					createdAt: new Date,
+					createdAt: new Date(),
 				},
 			});
 
@@ -56,7 +56,7 @@ Migrations.add({
 					value: '',
 				},
 				$setOnInsert: {
-					createdAt: new Date,
+					createdAt: new Date(),
 				},
 			});
 		}
@@ -67,7 +67,7 @@ Migrations.add({
 					value: LDAP_Bind_Search,
 				},
 				$setOnInsert: {
-					createdAt: new Date,
+					createdAt: new Date(),
 				},
 			});
 
@@ -76,7 +76,7 @@ Migrations.add({
 					value: true,
 				},
 				$setOnInsert: {
-					createdAt: new Date,
+					createdAt: new Date(),
 				},
 			});
 		}
diff --git a/server/startup/migrations/v030.js b/server/startup/migrations/v030.js
index c8a4d32d6a5..d064c4a300b 100644
--- a/server/startup/migrations/v030.js
+++ b/server/startup/migrations/v030.js
@@ -37,7 +37,7 @@ Migrations.add({
 					value: servers,
 				},
 				$setOnInsert: {
-					createdAt: new Date,
+					createdAt: new Date(),
 				},
 			});
 		}
diff --git a/server/startup/migrations/v036.js b/server/startup/migrations/v036.js
index e73d28b5a26..a4f97e7bf80 100644
--- a/server/startup/migrations/v036.js
+++ b/server/startup/migrations/v036.js
@@ -1,9 +1,11 @@
+import url from 'url';
+
 import { Meteor } from 'meteor/meteor';
 import { HTTP } from 'meteor/http';
+
 import { Migrations } from '../../../app/migrations';
 import { Settings } from '../../../app/models';
 import { RocketChatAssets } from '../../../app/assets';
-import url from 'url';
 
 Migrations.add({
 	version: 36,
diff --git a/server/startup/migrations/v037.js b/server/startup/migrations/v037.js
index 8ce42c36482..93cd5ea9171 100644
--- a/server/startup/migrations/v037.js
+++ b/server/startup/migrations/v037.js
@@ -5,7 +5,6 @@ Migrations.add({
 	version: 37,
 	up() {
 		if (Permissions) {
-
 			// Find permission add-user (changed it to create-user)
 			const addUserPermission = Permissions.findOne('add-user');
 
diff --git a/server/startup/migrations/v042.js b/server/startup/migrations/v042.js
index 69578835174..dc95a49cbae 100644
--- a/server/startup/migrations/v042.js
+++ b/server/startup/migrations/v042.js
@@ -1,4 +1,5 @@
 import { Mongo } from 'meteor/mongo';
+
 import { Migrations } from '../../../app/migrations';
 import { settings } from '../../../app/settings';
 import { RocketChatAssets } from '../../../app/assets';
diff --git a/server/startup/migrations/v045.js b/server/startup/migrations/v045.js
index 806520def56..478fdf2ef74 100644
--- a/server/startup/migrations/v045.js
+++ b/server/startup/migrations/v045.js
@@ -5,14 +5,13 @@ import { settings } from '../../../app/settings';
 Migrations.add({
 	version: 45,
 	up() {
-
 		// finds the latest created visitor
 		const lastVisitor = Users.find({ type: 'visitor' }, { fields: { username: 1 }, sort: { createdAt: -1 }, limit: 1 }).fetch();
 
 		if (lastVisitor && lastVisitor.length > 0) {
 			const lastNumber = lastVisitor[0].username.replace(/^guest\-/, '');
 
-			settings.add('Livechat_guest_count', (parseInt(lastNumber) + 1), { type: 'int', group: 'Livechat' });
+			settings.add('Livechat_guest_count', parseInt(lastNumber) + 1, { type: 'int', group: 'Livechat' });
 		}
 	},
 });
diff --git a/server/startup/migrations/v048.js b/server/startup/migrations/v048.js
index 50e624e8ee3..b8c1334a78d 100644
--- a/server/startup/migrations/v048.js
+++ b/server/startup/migrations/v048.js
@@ -5,7 +5,6 @@ Migrations.add({
 	version: 48,
 	up() {
 		if (Settings) {
-
 			const RocketBot_Enabled = Settings.findOne({
 				_id: 'RocketBot_Enabled',
 			});
@@ -37,7 +36,6 @@ Migrations.add({
 					},
 				});
 			}
-
 		}
 	},
 });
diff --git a/server/startup/migrations/v049.js b/server/startup/migrations/v049.js
index 802153d692c..a30d5748b0e 100644
--- a/server/startup/migrations/v049.js
+++ b/server/startup/migrations/v049.js
@@ -4,7 +4,6 @@ import { Rooms, Subscriptions, Settings } from '../../../app/models';
 Migrations.add({
 	version: 49,
 	up() {
-
 		let count = 1;
 
 		Rooms.find({ t: 'l' }, { sort: { ts: 1 }, fields: { _id: 1 } }).forEach(function(room) {
diff --git a/server/startup/migrations/v055.js b/server/startup/migrations/v055.js
index 51b57b203c9..c7bc9cdb719 100644
--- a/server/startup/migrations/v055.js
+++ b/server/startup/migrations/v055.js
@@ -1,6 +1,7 @@
+import s from 'underscore.string';
+
 import { Migrations } from '../../../app/migrations';
 import { Rooms, Messages } from '../../../app/models';
-import s from 'underscore.string';
 
 Migrations.add({
 	version: 55,
diff --git a/server/startup/migrations/v060.js b/server/startup/migrations/v060.js
index d9be7e5a7c5..2daff7bc3c5 100644
--- a/server/startup/migrations/v060.js
+++ b/server/startup/migrations/v060.js
@@ -1,6 +1,7 @@
+import _ from 'underscore';
+
 import { Migrations } from '../../../app/migrations';
 import { Users, Subscriptions } from '../../../app/models';
-import _ from 'underscore';
 
 Migrations.add({
 	version: 60,
diff --git a/server/startup/migrations/v063.js b/server/startup/migrations/v063.js
index 4b5b4bcc79c..659e88dcba9 100644
--- a/server/startup/migrations/v063.js
+++ b/server/startup/migrations/v063.js
@@ -4,8 +4,8 @@ import { Settings } from '../../../app/models';
 Migrations.add({
 	version: 63,
 	up() {
-		const forward = Settings.findOne({ _id:'Livechat_forward_open_chats' });
-		const timeout = Settings.findOne({ _id:'Livechat_forward_open_chats_timeout' });
+		const forward = Settings.findOne({ _id: 'Livechat_forward_open_chats' });
+		const timeout = Settings.findOne({ _id: 'Livechat_forward_open_chats_timeout' });
 
 		if (forward && forward.value) {
 			Settings.upsert({ _id: 'Livechat_agent_leave_action' }, {
diff --git a/server/startup/migrations/v064.js b/server/startup/migrations/v064.js
index b5d73f096db..3016bdf6764 100644
--- a/server/startup/migrations/v064.js
+++ b/server/startup/migrations/v064.js
@@ -1,6 +1,7 @@
+import s from 'underscore.string';
+
 import { Migrations } from '../../../app/migrations';
 import { Messages } from '../../../app/models';
-import s from 'underscore.string';
 
 Migrations.add({
 	version: 64,
diff --git a/server/startup/migrations/v065.js b/server/startup/migrations/v065.js
index 96b5aea12e7..afa87af46dc 100644
--- a/server/startup/migrations/v065.js
+++ b/server/startup/migrations/v065.js
@@ -5,7 +5,6 @@ Migrations.add({
 	version: 65,
 	up() {
 		if (Settings) {
-
 			// New color settings - start with old settings as defaults
 			const replace1 = Settings.findOne({ _id: 'theme-color-quaternary-font-color' });
 			const replace2 = Settings.findOne({ _id: 'theme-color-input-font-color' });
diff --git a/server/startup/migrations/v066.js b/server/startup/migrations/v066.js
index d111515a8a5..d07f46a0d83 100644
--- a/server/startup/migrations/v066.js
+++ b/server/startup/migrations/v066.js
@@ -5,7 +5,6 @@ Migrations.add({
 	version: 66,
 	up() {
 		if (Settings) {
-
 			// New color settings - start with old settings as defaults
 			const replace1 = Settings.findOne({ _id: 'theme-color-tertiary-background-color' });
 			if (replace1) {
diff --git a/server/startup/migrations/v068.js b/server/startup/migrations/v068.js
index 0eaa26b0c54..4d55e352035 100644
--- a/server/startup/migrations/v068.js
+++ b/server/startup/migrations/v068.js
@@ -17,4 +17,3 @@ Migrations.add({
 		Settings.remove({ _id: 'GoogleSiteVerification_id' });
 	},
 });
-
diff --git a/server/startup/migrations/v075.js b/server/startup/migrations/v075.js
index 25b88b9cebd..d6bd48a95cb 100644
--- a/server/startup/migrations/v075.js
+++ b/server/startup/migrations/v075.js
@@ -1,6 +1,7 @@
-import { Migrations } from '../../../app/migrations';
 import { ServiceConfiguration } from 'meteor/service-configuration';
 
+import { Migrations } from '../../../app/migrations';
+
 Migrations.add({
 	version: 71.1,
 	up() {
@@ -14,4 +15,3 @@ Migrations.add({
 		ServiceConfiguration.configurations.remove({});
 	},
 });
-
diff --git a/server/startup/migrations/v077.js b/server/startup/migrations/v077.js
index b9cafc473ee..14b57c5e5ad 100644
--- a/server/startup/migrations/v077.js
+++ b/server/startup/migrations/v077.js
@@ -25,4 +25,3 @@ Migrations.add({
 		}
 	},
 });
-
diff --git a/server/startup/migrations/v084.js b/server/startup/migrations/v084.js
index e36683c8847..29f8b87624e 100644
--- a/server/startup/migrations/v084.js
+++ b/server/startup/migrations/v084.js
@@ -5,7 +5,6 @@ Migrations.add({
 	version: 84,
 	up() {
 		if (Permissions) {
-
 			// Update permission name, copy values from old name
 			const oldPermission = Permissions.findOne('add-user-to-room');
 			if (oldPermission && oldPermission.roles.length) {
@@ -17,7 +16,6 @@ Migrations.add({
 
 	down() {
 		if (Permissions) {
-
 			// Revert permission name, copy values from updated name
 			const newPermission = Permissions.findOne('add-user-to-joined-room');
 			if (newPermission && newPermission.roles.length) {
diff --git a/server/startup/migrations/v093.js b/server/startup/migrations/v093.js
index 6a67b1b2ccd..c872be47c4d 100644
--- a/server/startup/migrations/v093.js
+++ b/server/startup/migrations/v093.js
@@ -4,7 +4,6 @@ import { Settings, Permissions } from '../../../app/models';
 Migrations.add({
 	version: 93,
 	up() {
-
 		if (Settings) {
 			const setting = Settings.findOne({ _id: 'Accounts_AllowAnonymousAccess' });
 			if (setting && setting.value === true) {
diff --git a/server/startup/migrations/v099.js b/server/startup/migrations/v099.js
index df216ca8626..acf9dec63b8 100644
--- a/server/startup/migrations/v099.js
+++ b/server/startup/migrations/v099.js
@@ -1,13 +1,15 @@
+import fs from 'fs';
+import path from 'path';
+
 import { Meteor } from 'meteor/meteor';
 import { Match } from 'meteor/check';
 import { Mongo } from 'meteor/mongo';
+
 import { RocketChatFile } from '../../../app/file';
 import { SystemLogger } from '../../../app/logger';
 import { FileUpload } from '../../../app/file-upload';
 import { Migrations } from '../../../app/migrations';
 import { Uploads, Settings, Users } from '../../../app/models';
-import fs from 'fs';
-import path from 'path';
 
 function log(...args) {
 	console.log('[AVATAR]', ...args);
diff --git a/server/startup/migrations/v100.js b/server/startup/migrations/v100.js
index 8d7244fbfc7..b59a4fd91da 100644
--- a/server/startup/migrations/v100.js
+++ b/server/startup/migrations/v100.js
@@ -4,6 +4,6 @@ import { Subscriptions } from '../../../app/models';
 Migrations.add({
 	version: 100,
 	up() {
-		Subscriptions.update({ audioNotification:{ $exists:1 } }, { $rename: { audioNotification: 'audioNotifications' } });
+		Subscriptions.update({ audioNotification: { $exists: 1 } }, { $rename: { audioNotification: 'audioNotifications' } });
 	},
 });
diff --git a/server/startup/migrations/v101.js b/server/startup/migrations/v101.js
index 7606bfc9ed6..8daa7da3d2b 100644
--- a/server/startup/migrations/v101.js
+++ b/server/startup/migrations/v101.js
@@ -4,6 +4,6 @@ import { Subscriptions } from '../../../app/models';
 Migrations.add({
 	version: 101,
 	up() {
-		Subscriptions.update({ lastActivity:{ $exists:1 } }, { $unset: { lastActivity: '' } }, { multi: true });
+		Subscriptions.update({ lastActivity: { $exists: 1 } }, { $unset: { lastActivity: '' } }, { multi: true });
 	},
 });
diff --git a/server/startup/migrations/v103.js b/server/startup/migrations/v103.js
index 9fc8740e9ef..5e88205a3f6 100644
--- a/server/startup/migrations/v103.js
+++ b/server/startup/migrations/v103.js
@@ -76,7 +76,7 @@ Migrations.add({
 					color.value = newvariables[color.value.replace('@', '')];
 				}
 				const id = `theme-color-${ key }`;
-				Settings.update({ _id: id }, { $set: { value : color.value, editor: /^#.+/.test(color.value) ? 'color' : 'expression' } });
+				Settings.update({ _id: id }, { $set: { value: color.value, editor: /^#.+/.test(color.value) ? 'color' : 'expression' } });
 				if (key === 'rc-color-primary') {
 					Settings.update({ _id: 'theme-color-rc-color-primary-darkest' }, { $set: { editor: 'color', value: lightenDarkenColor(color.value, -16) } });
 					Settings.update({ _id: 'theme-color-rc-color-primary-dark' }, { $set: { editor: 'color', value: lightenDarkenColor(color.value, 18) } });
diff --git a/server/startup/migrations/v104.js b/server/startup/migrations/v104.js
index 011027cb926..fbecd5acd8f 100644
--- a/server/startup/migrations/v104.js
+++ b/server/startup/migrations/v104.js
@@ -4,12 +4,12 @@ import { Settings } from '../../../app/models';
 Migrations.add({
 	version: 104,
 	up() {
-		if ((Settings.findOne({ _id: 'theme-color-rc-color-primary' }) || {}).value === '#04436A' &&
-			(Settings.findOne({ _id: 'theme-color-rc-color-primary-darkest' }) || {}).value === '#335a' &&
-			(Settings.findOne({ _id: 'theme-color-rc-color-primary-dark' }) || {}).value === '#16557c' &&
-			(Settings.findOne({ _id: 'theme-color-rc-color-primary-light' }) || {}).value === '#72b1d8' &&
-			(Settings.findOne({ _id: 'theme-color-rc-color-primary-light-medium' }) || {}).value === '#a0dfff' &&
-			(Settings.findOne({ _id: 'theme-color-rc-color-primary-lightest' }) || {}).value === '#ccffff'
+		if ((Settings.findOne({ _id: 'theme-color-rc-color-primary' }) || {}).value === '#04436A'
+			&& (Settings.findOne({ _id: 'theme-color-rc-color-primary-darkest' }) || {}).value === '#335a'
+			&& (Settings.findOne({ _id: 'theme-color-rc-color-primary-dark' }) || {}).value === '#16557c'
+			&& (Settings.findOne({ _id: 'theme-color-rc-color-primary-light' }) || {}).value === '#72b1d8'
+			&& (Settings.findOne({ _id: 'theme-color-rc-color-primary-light-medium' }) || {}).value === '#a0dfff'
+			&& (Settings.findOne({ _id: 'theme-color-rc-color-primary-lightest' }) || {}).value === '#ccffff'
 		) {
 			Settings.update({ _id: 'theme-color-rc-color-primary' }, { $set: { editor: 'expression', value: 'color-dark' } });
 			Settings.update({ _id: 'theme-color-rc-color-primary-darkest' }, { $set: { editor: 'expression', value: 'color-darkest' } });
diff --git a/server/startup/migrations/v106.js b/server/startup/migrations/v106.js
index a88641621de..05f10274820 100644
--- a/server/startup/migrations/v106.js
+++ b/server/startup/migrations/v106.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { LivechatVisitors } from '../../../app/models';
 import { Migrations } from '../../../app/migrations';
 
diff --git a/server/startup/migrations/v107.js b/server/startup/migrations/v107.js
index 657f746b390..fd1ec51a14c 100644
--- a/server/startup/migrations/v107.js
+++ b/server/startup/migrations/v107.js
@@ -4,8 +4,6 @@ import { Users } from '../../../app/models';
 Migrations.add({
 	version: 107,
 	up() {
-
-
 		Users.update({
 			'preferences.roomsListExhibitionMode': 'activity',
 		}, {
@@ -26,7 +24,7 @@ Migrations.add({
 			},
 			$set: {
 				'preferences.sidebarSortby': 'alphabetical',
-				'preferences.sidebarShowUnread' : true,
+				'preferences.sidebarShowUnread': true,
 				'preferences.sidebarShowFavorites': true,
 			},
 		});
diff --git a/server/startup/migrations/v113.js b/server/startup/migrations/v113.js
index ef4241cab12..cc83895cea3 100644
--- a/server/startup/migrations/v113.js
+++ b/server/startup/migrations/v113.js
@@ -12,7 +12,7 @@ Migrations.add({
 			const filesToUpdate = Uploads.find(fileQuery);
 			filesToUpdate.forEach((file) => {
 				const messageQuery = {
-					'file._id' : file._id,
+					'file._id': file._id,
 				};
 				const message = Messages.findOne(messageQuery);
 				if (message) {
diff --git a/server/startup/migrations/v118.js b/server/startup/migrations/v118.js
index a919d7aeba3..9ba4366bafd 100644
--- a/server/startup/migrations/v118.js
+++ b/server/startup/migrations/v118.js
@@ -12,7 +12,7 @@ Migrations.add({
 				emailNotifications: 'mentions',
 			},
 		}, {
-			multi:true,
+			multi: true,
 		});
 
 		Users.update({
@@ -22,7 +22,7 @@ Migrations.add({
 				'settings.preferences.emailNotificationMode': 'nothing',
 			},
 		}, {
-			multi:true,
+			multi: true,
 		});
 
 		Users.update({
@@ -32,7 +32,7 @@ Migrations.add({
 				'settings.preferences.emailNotificationMode': 'mentions',
 			},
 		}, {
-			multi:true,
+			multi: true,
 		});
 
 		Settings.update({
diff --git a/server/startup/migrations/v120.js b/server/startup/migrations/v120.js
index 37944478374..1e88c3fb391 100644
--- a/server/startup/migrations/v120.js
+++ b/server/startup/migrations/v120.js
@@ -24,7 +24,7 @@ Migrations.add({
 			},
 			$set: {
 				'settings.preferences.sidebarSortby': 'alphabetical',
-				'settings.preferences.sidebarShowUnread' : true,
+				'settings.preferences.sidebarShowUnread': true,
 				'settings.preferences.sidebarShowFavorites': true,
 			},
 		});
diff --git a/server/startup/migrations/v121.js b/server/startup/migrations/v121.js
index 05efa66a12c..0d0da59f899 100644
--- a/server/startup/migrations/v121.js
+++ b/server/startup/migrations/v121.js
@@ -4,7 +4,6 @@ import { Users, Subscriptions } from '../../../app/models';
 Migrations.add({
 	version: 121,
 	up() {
-
 		// set user preferences on subscriptions
 		Users.find({
 			$or: [
diff --git a/server/startup/migrations/v123.js b/server/startup/migrations/v123.js
index 8c7ee9e7037..764f609b72b 100644
--- a/server/startup/migrations/v123.js
+++ b/server/startup/migrations/v123.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { Migrations } from '../../../app/migrations';
 import { Messages, Rooms, LivechatPageVisited } from '../../../app/models';
 
@@ -37,11 +38,11 @@ async function migrateHistory(total, current) {
 			ts: item.ts,
 			msg: `${ item.page.title } - ${ item.page.location.href }`,
 			u: {
-				_id : 'rocket.cat',
-				username : 'rocket.cat',
+				_id: 'rocket.cat',
+				username: 'rocket.cat',
 			},
-			groupable : false,
-			navigation : {
+			groupable: false,
+			navigation: {
 				page: item.page,
 				token: item.token,
 			},
diff --git a/server/startup/migrations/v127.js b/server/startup/migrations/v127.js
index 99b676b2c1f..1e2f3cc0646 100644
--- a/server/startup/migrations/v127.js
+++ b/server/startup/migrations/v127.js
@@ -5,7 +5,6 @@ Migrations.add({
 	version: 127,
 	up() {
 		if (Permissions) {
-
 			const newPermission = Permissions.findOne('view-livechat-manager');
 			if (newPermission && newPermission.roles.length) {
 				Permissions.upsert({ _id: 'remove-closed-livechat-rooms' }, { $set: { roles: newPermission.roles } });
@@ -15,7 +14,6 @@ Migrations.add({
 
 	down() {
 		if (Permissions) {
-
 			// Revert permission
 			Permissions.remove({ _id: 'remove-closed-livechat-rooms' });
 		}
diff --git a/server/startup/migrations/v130.js b/server/startup/migrations/v130.js
index 83226bf7355..f64b845b0a4 100644
--- a/server/startup/migrations/v130.js
+++ b/server/startup/migrations/v130.js
@@ -1,5 +1,6 @@
 import { Meteor } from 'meteor/meteor';
 import Future from 'fibers/future';
+
 import { Migrations } from '../../../app/migrations';
 import { Rooms, Subscriptions, Users } from '../../../app/models';
 
diff --git a/server/startup/migrations/v131.js b/server/startup/migrations/v131.js
index 3cd2bcd3f5c..0d047991e8f 100644
--- a/server/startup/migrations/v131.js
+++ b/server/startup/migrations/v131.js
@@ -6,7 +6,7 @@ Migrations.add({
 	up() {
 		const userOptions = {
 			fields: {
-				_id : 1,
+				_id: 1,
 			},
 		};
 
@@ -14,16 +14,16 @@ Migrations.add({
 		const userIds = users.map((user) => user._id);
 
 		const subscriptionQuery = {
-			'u._id' : {
-				$nin : userIds,
+			'u._id': {
+				$nin: userIds,
 			},
 		};
 
 		const subscriptionOptions = {
-			fields : {
-				_id : 1,
-				rid : 1,
-				'u._id' : 1,
+			fields: {
+				_id: 1,
+				rid: 1,
+				'u._id': 1,
 			},
 		};
 
diff --git a/server/startup/migrations/v134.js b/server/startup/migrations/v134.js
index 11ae56f0f1d..ab449121543 100644
--- a/server/startup/migrations/v134.js
+++ b/server/startup/migrations/v134.js
@@ -61,8 +61,6 @@ Migrations.add({
 			if (setting.value === oldValue) {
 				Settings.updateValueById(_id, setting.packageValue);
 			}
-
 		});
-
 	},
 });
diff --git a/server/startup/migrations/v139.js b/server/startup/migrations/v139.js
index bb8a984902d..58cd2cfeafb 100644
--- a/server/startup/migrations/v139.js
+++ b/server/startup/migrations/v139.js
@@ -1,5 +1,4 @@
 import { Migrations } from '../../../app/migrations/server';
-
 import { Messages, Permissions, Rooms, Settings } from '../../../app/models/server';
 
 const getField = (msg, fieldType, fieldName) => {
diff --git a/server/startup/migrations/v140.js b/server/startup/migrations/v140.js
index efa35de8077..f21166d7ac1 100644
--- a/server/startup/migrations/v140.js
+++ b/server/startup/migrations/v140.js
@@ -1,5 +1,4 @@
 import { Migrations } from '../../../app/migrations/server';
-
 import { Messages, Rooms } from '../../../app/models/server';
 
 Migrations.add({
diff --git a/server/startup/migrations/xrun.js b/server/startup/migrations/xrun.js
index 609b2caaa2c..7489bacc3ca 100644
--- a/server/startup/migrations/xrun.js
+++ b/server/startup/migrations/xrun.js
@@ -1,4 +1,5 @@
 import _ from 'underscore';
+
 import { Migrations } from '../../../app/migrations';
 
 if (Migrations.getVersion() !== 0) {
diff --git a/server/startup/presence.js b/server/startup/presence.js
index e57abac7f49..10abc5b7a78 100644
--- a/server/startup/presence.js
+++ b/server/startup/presence.js
@@ -17,8 +17,8 @@ Meteor.startup(function() {
 
 	UserPresence.start();
 
-	const startMonitor = typeof process.env.DISABLE_PRESENCE_MONITOR === 'undefined' ||
-		!['true', 'yes'].includes(String(process.env.DISABLE_PRESENCE_MONITOR).toLowerCase());
+	const startMonitor = typeof process.env.DISABLE_PRESENCE_MONITOR === 'undefined'
+		|| !['true', 'yes'].includes(String(process.env.DISABLE_PRESENCE_MONITOR).toLowerCase());
 	if (startMonitor) {
 		UserPresenceMonitor.start();
 	}
diff --git a/server/startup/serverRunning.js b/server/startup/serverRunning.js
index bed6084a791..31174413b13 100644
--- a/server/startup/serverRunning.js
+++ b/server/startup/serverRunning.js
@@ -1,10 +1,12 @@
+import fs from 'fs';
+import path from 'path';
+
+import semver from 'semver';
 import { Meteor } from 'meteor/meteor';
+
 import { SystemLogger } from '../../app/logger';
 import { settings } from '../../app/settings';
 import { Info, getMongoInfo } from '../../app/utils';
-import fs from 'fs';
-import path from 'path';
-import semver from 'semver';
 
 Meteor.startup(function() {
 	const { oplogEnabled, mongoVersion, mongoStorageEngine } = getMongoInfo();
diff --git a/server/stream/messages.js b/server/stream/messages.js
index 205ed8f978f..d04f155a9e3 100644
--- a/server/stream/messages.js
+++ b/server/stream/messages.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+
 import { hasPermission } from '../../app/authorization';
 import { settings } from '../../app/settings';
 import { Subscriptions, Users, Messages } from '../../app/models';
@@ -22,7 +23,6 @@ msgStream.allowRead(function(eventName, args) {
 
 		return true;
 	} catch (error) {
-
 		/* error*/
 		return false;
 	}
@@ -43,7 +43,6 @@ msgStream.allowEmit(MY_MESSAGE, function(eventName, msg) {
 			roomType: room.t,
 			roomName: room.name,
 		};
-
 	} catch (error) {
 		/* error*/
 		return false;
diff --git a/server/stream/streamBroadcast.js b/server/stream/streamBroadcast.js
index 9d379b3d066..f5a2cb0c734 100644
--- a/server/stream/streamBroadcast.js
+++ b/server/stream/streamBroadcast.js
@@ -4,6 +4,7 @@ import { check } from 'meteor/check';
 import _ from 'underscore';
 import { DDP } from 'meteor/ddp';
 import { DDPCommon } from 'meteor/ddp-common';
+
 import { Logger, LoggerManager } from '../../app/logger';
 import { hasPermission } from '../../app/authorization';
 import { settings } from '../../app/settings';
@@ -95,7 +96,7 @@ function startMatrixBroadcast() {
 			connections[instance].instanceRecord = record;
 			connections[instance].instanceId = record._id;
 
-			return connections[instance].onReconnect = function() {
+			connections[instance].onReconnect = function() {
 				return authorizeConnection(instance);
 			};
 		},
@@ -133,7 +134,7 @@ Meteor.methods({
 			_id: remoteId,
 		};
 
-		if (selfId === InstanceStatus.id() && remoteId !== InstanceStatus.id() && (InstanceStatus.getCollection().findOne(query))) {
+		if (selfId === InstanceStatus.id() && remoteId !== InstanceStatus.id() && InstanceStatus.getCollection().findOne(query)) {
 			this.connection.broadcastAuth = true;
 		}
 
@@ -225,9 +226,8 @@ function startStreamBroadcast() {
 
 		if (value && value.trim() !== '') {
 			return startStreamCastBroadcast(value);
-		} else {
-			return startMatrixBroadcast();
 		}
+		return startMatrixBroadcast();
 	});
 
 	function broadcast(streamName, eventName, args/* , userId*/) {
@@ -245,18 +245,18 @@ function startStreamBroadcast() {
 
 					switch (response) {
 						case 'self-not-authorized':
-							logger.stream.error((`Stream broadcast from '${ fromInstance }' to '${ connection._stream.endpoint }' with name ${ streamName } to self is not authorized`).red);
+							logger.stream.error(`Stream broadcast from '${ fromInstance }' to '${ connection._stream.endpoint }' with name ${ streamName } to self is not authorized`.red);
 							logger.stream.debug('    -> connection authorized'.red, connection.broadcastAuth);
 							logger.stream.debug('    -> connection status'.red, connection.status());
 							return logger.stream.debug('    -> arguments'.red, eventName, args);
 						case 'not-authorized':
-							logger.stream.error((`Stream broadcast from '${ fromInstance }' to '${ connection._stream.endpoint }' with name ${ streamName } not authorized`).red);
+							logger.stream.error(`Stream broadcast from '${ fromInstance }' to '${ connection._stream.endpoint }' with name ${ streamName } not authorized`.red);
 							logger.stream.debug('    -> connection authorized'.red, connection.broadcastAuth);
 							logger.stream.debug('    -> connection status'.red, connection.status());
 							logger.stream.debug('    -> arguments'.red, eventName, args);
 							return authorizeConnection(instance);
 						case 'stream-not-exists':
-							logger.stream.error((`Stream broadcast from '${ fromInstance }' to '${ connection._stream.endpoint }' with name ${ streamName } does not exist`).red);
+							logger.stream.error(`Stream broadcast from '${ fromInstance }' to '${ connection._stream.endpoint }' with name ${ streamName } does not exist`.red);
 							logger.stream.debug('    -> connection authorized'.red, connection.broadcastAuth);
 							logger.stream.debug('    -> connection status'.red, connection.status());
 							return logger.stream.debug('    -> arguments'.red, eventName, args);
diff --git a/tests/data/api-data.js b/tests/data/api-data.js
index 92773d95ce5..02fb2a52f28 100644
--- a/tests/data/api-data.js
+++ b/tests/data/api-data.js
@@ -1,7 +1,9 @@
+import supertest from 'supertest';
+
 import { publicChannelName, privateChannelName } from './channel.js';
 import { roleNameUsers, roleNameSubscriptions, roleScopeUsers, roleScopeSubscriptions, roleDescription } from './role.js';
 import { username, email, adminUsername, adminPassword } from './user.js';
-import supertest from 'supertest';
+
 export const request = supertest('http://localhost:3000');
 const prefix = '/api/v1/';
 
@@ -23,8 +25,8 @@ export const message = {};
 export const directMessage = {};
 export const integration = {};
 export const credentials = {
-	['X-Auth-Token']: undefined,
-	['X-User-Id']: undefined,
+	'X-Auth-Token': undefined,
+	'X-User-Id': undefined,
 };
 export const login = {
 	user: adminUsername,
@@ -54,4 +56,3 @@ export function getCredentials(done = function() {}) {
 		})
 		.end(done);
 }
-
diff --git a/tests/data/rooms.helper.js b/tests/data/rooms.helper.js
index f3213591d6e..9c995969fbf 100644
--- a/tests/data/rooms.helper.js
+++ b/tests/data/rooms.helper.js
@@ -13,8 +13,8 @@ export const createRoom = ({ name, type, username }) => {
 		d: 'im.create',
 	};
 	const params = type === 'd'
-		? ({ username })
-		: ({ name });
+		? { username }
+		: { name };
 
 	return request.post(api(endpoints[type]))
 		.set(credentials)
diff --git a/tests/end-to-end/api/00-miscellaneous.js b/tests/end-to-end/api/00-miscellaneous.js
index 1dba5d0a756..aa27be53a9a 100644
--- a/tests/end-to-end/api/00-miscellaneous.js
+++ b/tests/end-to-end/api/00-miscellaneous.js
@@ -213,9 +213,9 @@ describe('miscellaneous', function() {
 						text: testChannel.name,
 						type: 'channels',
 					}),
-					sort: JSON.stringify(({
+					sort: JSON.stringify({
 						name: 1,
-					})),
+					}),
 				})
 				.expect('Content-Type', 'application/json')
 				.expect(200)
@@ -256,10 +256,10 @@ describe('miscellaneous', function() {
 						text: testChannel.name,
 						type: 'channels',
 					}),
-					sort: JSON.stringify(({
+					sort: JSON.stringify({
 						name: 1,
 						test: 1,
-					})),
+					}),
 				})
 				.expect('Content-Type', 'application/json')
 				.expect(400)
diff --git a/tests/end-to-end/api/01-users.js b/tests/end-to-end/api/01-users.js
index 285334a6c63..10a6c00dcd8 100644
--- a/tests/end-to-end/api/01-users.js
+++ b/tests/end-to-end/api/01-users.js
@@ -1,4 +1,5 @@
 import crypto from 'crypto';
+
 import {
 	getCredentials,
 	api,
@@ -324,7 +325,6 @@ describe('[Users]', function() {
 					userCredentials['X-User-Id'] = res.body.data.userId;
 				})
 				.end(done);
-
 		});
 		before((done) => {
 			updatePermission('edit-other-user-info', ['admin', 'user']).then(done);
@@ -966,8 +966,8 @@ describe('[Users]', function() {
 				.set(credentials)
 				.send({ username: user.username })
 				.expect('Content-Type', 'application/json')
-				.end((err, res) => (err ? done() :
-					request.get(api('me'))
+				.end((err, res) => (err ? done()
+					: request.get(api('me'))
 						.set({ 'X-Auth-Token': `${ res.body.data.authToken }`, 'X-User-Id': res.body.data.userId })
 						.expect(200)
 						.expect((res) => {
@@ -1112,7 +1112,6 @@ describe('[Users]', function() {
 				})
 				.end(done);
 		});
-
 	});
 
 	describe('[/users.deleteOwnAccount]', () => {
@@ -1177,7 +1176,6 @@ describe('[Users]', function() {
 				})
 				.end(done);
 		});
-
 	});
 
 	describe('[/users.delete]', () => {
@@ -1464,7 +1462,6 @@ describe('[Users]', function() {
 					userCredentials['X-User-Id'] = res.body.data.userId;
 				})
 				.end(done);
-
 		});
 		before((done) => {
 			updatePermission('edit-other-user-active-status', ['admin', 'user']).then(done);
diff --git a/tests/end-to-end/api/02-channels.js b/tests/end-to-end/api/02-channels.js
index 40d3a5925fe..d5eeee2dacc 100644
--- a/tests/end-to-end/api/02-channels.js
+++ b/tests/end-to-end/api/02-channels.js
@@ -620,7 +620,7 @@ describe('[Channels]', function() {
 	describe('/channels.setCustomFields:', () => {
 		let cfchannel;
 		it('create channel with customFields', (done) => {
-			const customFields = { field0:'value0' };
+			const customFields = { field0: 'value0' };
 			request.post(api('channels.create'))
 				.set(credentials)
 				.send({
@@ -647,7 +647,7 @@ describe('[Channels]', function() {
 				.end(done);
 		});
 		it('change customFields', async (done) => {
-			const customFields = { field9:'value9' };
+			const customFields = { field9: 'value9' };
 			request.post(api('channels.setCustomFields'))
 				.set(credentials)
 				.send({
@@ -705,7 +705,7 @@ describe('[Channels]', function() {
 				});
 		});
 		it('set customFields with one nested field', async (done) => {
-			const customFields = { field1:'value1' };
+			const customFields = { field1: 'value1' };
 			request.post(api('channels.setCustomFields'))
 				.set(credentials)
 				.send({
@@ -724,7 +724,7 @@ describe('[Channels]', function() {
 				.end(done);
 		});
 		it('set customFields with multiple nested fields', async (done) => {
-			const customFields = { field2:'value2', field3:'value3', field4:'value4' };
+			const customFields = { field2: 'value2', field3: 'value3', field4: 'value4' };
 
 			request.post(api('channels.setCustomFields'))
 				.set(credentials)
diff --git a/tests/end-to-end/api/03-groups.js b/tests/end-to-end/api/03-groups.js
index 0bc80ac621a..d32cf2ff32a 100644
--- a/tests/end-to-end/api/03-groups.js
+++ b/tests/end-to-end/api/03-groups.js
@@ -602,7 +602,7 @@ describe('[Groups]', function() {
 	describe('/groups.setCustomFields:', () => {
 		let cfchannel;
 		it('create group with customFields', (done) => {
-			const customFields = { field0:'value0' };
+			const customFields = { field0: 'value0' };
 			request.post(api('groups.create'))
 				.set(credentials)
 				.send({
@@ -629,7 +629,7 @@ describe('[Groups]', function() {
 				.end(done);
 		});
 		it('change customFields', async (done) => {
-			const customFields = { field9:'value9' };
+			const customFields = { field9: 'value9' };
 			request.post(api('groups.setCustomFields'))
 				.set(credentials)
 				.send({
@@ -687,7 +687,7 @@ describe('[Groups]', function() {
 				});
 		});
 		it('set customFields with one nested field', async (done) => {
-			const customFields = { field1:'value1' };
+			const customFields = { field1: 'value1' };
 			request.post(api('groups.setCustomFields'))
 				.set(credentials)
 				.send({
@@ -706,7 +706,7 @@ describe('[Groups]', function() {
 				.end(done);
 		});
 		it('set customFields with multiple nested fields', async (done) => {
-			const customFields = { field2:'value2', field3:'value3', field4:'value4' };
+			const customFields = { field2: 'value2', field3: 'value3', field4: 'value4' };
 
 			request.post(api('groups.setCustomFields'))
 				.set(credentials)
diff --git a/tests/end-to-end/api/05-chat.js b/tests/end-to-end/api/05-chat.js
index 65eda7a4bd2..04e8f9ea7c9 100644
--- a/tests/end-to-end/api/05-chat.js
+++ b/tests/end-to-end/api/05-chat.js
@@ -17,7 +17,6 @@ describe('[Chat]', function() {
 	before((done) => getCredentials(done));
 
 	describe('/chat.postMessage', () => {
-
 		it('should throw an error when at least one of required parameters(channel, roomId) is not sent', (done) => {
 			request.post(api('chat.postMessage'))
 				.set(credentials)
@@ -74,7 +73,6 @@ describe('[Chat]', function() {
 		});
 
 		describe('should throw an error when the sensitive properties contain malicious XSS values', () => {
-
 			it('attachment.message_link', (done) =>
 				request.post(api('chat.postMessage'))
 					.set(credentials)
@@ -273,7 +271,6 @@ describe('[Chat]', function() {
 				})
 				.end(done);
 		});
-
 	});
 
 	describe('/chat.getMessage', () => {
@@ -294,7 +291,6 @@ describe('[Chat]', function() {
 	});
 
 	describe('/chat.sendMessage', () => {
-
 		it('should throw an error when the required param \'rid\' is not sent', (done) => {
 			request.post(api('chat.sendMessage'))
 				.set(credentials)
@@ -316,7 +312,6 @@ describe('[Chat]', function() {
 		});
 
 		describe('should throw an error when the sensitive properties contain malicious XSS values', () => {
-
 			it('attachment.message_link', (done) =>
 				request.post(api('chat.postMessage'))
 					.set(credentials)
@@ -553,7 +548,6 @@ describe('[Chat]', function() {
 					.end(done);
 			});
 		});
-
 	});
 
 	describe('/chat.update', () => {
diff --git a/tests/end-to-end/api/09-rooms.js b/tests/end-to-end/api/09-rooms.js
index f9c31ac030c..2a33745d11c 100644
--- a/tests/end-to-end/api/09-rooms.js
+++ b/tests/end-to-end/api/09-rooms.js
@@ -25,7 +25,7 @@ describe('[Rooms]', function() {
 		request.get(api('rooms.get'))
 			.set(credentials)
 			.query({
-				updatedSince: new Date,
+				updatedSince: new Date(),
 			})
 			.expect(200)
 			.expect((res) => {
@@ -291,14 +291,14 @@ describe('[Rooms]', function() {
 				});
 		});
 		it('create a group', (done) => {
-			createRoom(({ type: 'p', name: testGroupName }))
+			createRoom({ type: 'p', name: testGroupName })
 				.end((err, res) => {
 					testGroup = res.body.group;
 					done();
 				});
 		});
 		it('create a Direct message room with rocket.cat', (done) => {
-			createRoom(({ type: 'd', username: 'rocket.cat' }))
+			createRoom({ type: 'd', username: 'rocket.cat' })
 				.end((err, res) => {
 					testDM = res.body.room;
 					done();
@@ -409,14 +409,14 @@ describe('[Rooms]', function() {
 				});
 		});
 		it('create a group', (done) => {
-			createRoom(({ type: 'p', name: testGroupName }))
+			createRoom({ type: 'p', name: testGroupName })
 				.end((err, res) => {
 					testGroup = res.body.group;
 					done();
 				});
 		});
 		it('create a Direct message room with rocket.cat', (done) => {
-			createRoom(({ type: 'd', username: 'rocket.cat' }))
+			createRoom({ type: 'd', username: 'rocket.cat' })
 				.end((err, res) => {
 					testDM = res.body.room;
 					done();
diff --git a/tests/end-to-end/api/10-subscriptions.js b/tests/end-to-end/api/10-subscriptions.js
index a88a9305e94..6a82aa8f6b7 100644
--- a/tests/end-to-end/api/10-subscriptions.js
+++ b/tests/end-to-end/api/10-subscriptions.js
@@ -22,7 +22,7 @@ describe('[Subscriptions]', function() {
 		request.get(api('subscriptions.get'))
 			.set(credentials)
 			.query({
-				updatedSince: new Date,
+				updatedSince: new Date(),
 			})
 			.expect(200)
 			.expect((res) => {
diff --git a/tests/end-to-end/api/11-graphql.js b/tests/end-to-end/api/11-graphql.js
index 258e4d02b9f..ca307a57735 100644
--- a/tests/end-to-end/api/11-graphql.js
+++ b/tests/end-to-end/api/11-graphql.js
@@ -1,8 +1,9 @@
-const supertest = require('supertest');
-const request = supertest('http://localhost:3000');
+import supertest from 'supertest';
 
 import { adminUsername, adminPassword, adminEmail } from '../../data/user.js';
 
+const request = supertest('http://localhost:3000');
+
 const user = { username: adminUsername, password: adminPassword, email: adminEmail, accessToken: null };
 const channel = {};
 const message = { content: 'Test Message GraphQL', modifiedContent: 'Test Message GraphQL Modified' };
@@ -10,8 +11,8 @@ const message = { content: 'Test Message GraphQL', modifiedContent: 'Test Messag
 const { expect } = require('chai');
 
 const credentials = {
-	['X-Auth-Token']: undefined,
-	['X-User-Id']: undefined,
+	'X-Auth-Token': undefined,
+	'X-User-Id': undefined,
 };
 
 const login = {
@@ -93,7 +94,6 @@ describe('GraphQL Tests', function() {
 				user.accessToken = data.tokens.accessToken;
 				expect(data.user).to.have.property('username', user.username);
 				expect(data.user).to.have.property('email', user.email);
-
 			})
 			.end(done);
 	});
diff --git a/tests/end-to-end/api/12-emoji-custom.js b/tests/end-to-end/api/12-emoji-custom.js
index 16ff9c7e38e..057c6022b1a 100644
--- a/tests/end-to-end/api/12-emoji-custom.js
+++ b/tests/end-to-end/api/12-emoji-custom.js
@@ -1,5 +1,6 @@
 import { getCredentials, api, request, credentials } from '../../data/api-data.js';
 import { imgURL } from '../../data/interactions';
+
 const customEmojiName = `my-custom-emoji-${ Date.now() }`;
 let createdCustomEmoji;
 
diff --git a/tests/end-to-end/ui/03-user-creation.js b/tests/end-to-end/ui/03-user-creation.js
index 8ad2f644f99..97996cd4a9e 100644
--- a/tests/end-to-end/ui/03-user-creation.js
+++ b/tests/end-to-end/ui/03-user-creation.js
@@ -1,7 +1,5 @@
 import loginPage from '../../pageobjects/login.page';
 import mainContent from '../../pageobjects/main-content.page';
-
-// test data imports
 import { username, email, password } from '../../data/user.js';
 
 
diff --git a/tests/end-to-end/ui/04-main-elements-render.js b/tests/end-to-end/ui/04-main-elements-render.js
index 3c61dccf673..ed408391808 100644
--- a/tests/end-to-end/ui/04-main-elements-render.js
+++ b/tests/end-to-end/ui/04-main-elements-render.js
@@ -1,8 +1,6 @@
 import flexTab from '../../pageobjects/flex-tab.page';
 import mainContent from '../../pageobjects/main-content.page';
 import sideNav from '../../pageobjects/side-nav.page';
-
-// test data imports
 import { checkIfUserIsValid } from '../../data/checks';
 import { username, email, password } from '../../data/user.js';
 
@@ -36,6 +34,7 @@ describe('[Main Elements Render]', function() {
 			});
 			it('it should show spotlight search bar', () => {
 				sideNav.spotlightSearchIcon.click();
+				sideNav.spotlightSearch.waitForVisible(500);
 				sideNav.spotlightSearch.isVisible().should.be.true;
 			});
 
@@ -207,7 +206,6 @@ describe('[Main Elements Render]', function() {
 					flexTab.channelSettingName.waitForVisible();
 					flexTab.channelSettingName.getAttribute('title').should.equal('general');
 				});
-
 			});
 
 			describe('Search Tab:', () => {
@@ -298,7 +296,6 @@ describe('[Main Elements Render]', function() {
 			});
 
 			describe('Mentions Tab:', () => {
-
 				before(() => {
 					if (flexTab.mentionsTab.isVisible()) {
 						this.shouldClose = undefined;
diff --git a/tests/end-to-end/ui/05-channel-creation.js b/tests/end-to-end/ui/05-channel-creation.js
index cd150f0e2ef..13f0142c17d 100644
--- a/tests/end-to-end/ui/05-channel-creation.js
+++ b/tests/end-to-end/ui/05-channel-creation.js
@@ -1,10 +1,9 @@
 import sideNav from '../../pageobjects/side-nav.page';
 import { publicChannelName, privateChannelName } from '../../data/channel.js';
 import { targetUser } from '../../data/interactions.js';
-
-// test data imports
 import { checkIfUserIsValid, setPublicChannelCreated, setPrivateChannelCreated, setDirectMessageCreated } from '../../data/checks';
 import { username, email, password } from '../../data/user.js';
+
 // Basic usage test start
 describe('[Channel creation]', function() {
 	before(() => {
diff --git a/tests/end-to-end/ui/06-messaging.js b/tests/end-to-end/ui/06-messaging.js
index 63fb8ed609a..a2b70a7adba 100644
--- a/tests/end-to-end/ui/06-messaging.js
+++ b/tests/end-to-end/ui/06-messaging.js
@@ -1,8 +1,6 @@
 import mainContent from '../../pageobjects/main-content.page';
 import sideNav from '../../pageobjects/side-nav.page';
 import Global from '../../pageobjects/global';
-
-// test data imports
 import { username, email, password } from '../../data/user.js';
 import { publicChannelName, privateChannelName } from '../../data/channel.js';
 import { targetUser, imgURL } from '../../data/interactions.js';
diff --git a/tests/end-to-end/ui/07-emoji.js b/tests/end-to-end/ui/07-emoji.js
index 52bf414ffff..d13099dae9e 100644
--- a/tests/end-to-end/ui/07-emoji.js
+++ b/tests/end-to-end/ui/07-emoji.js
@@ -1,6 +1,5 @@
 import mainContent from '../../pageobjects/main-content.page';
 import sideNav from '../../pageobjects/side-nav.page';
-
 import { username, email, password } from '../../data/user.js';
 import { checkIfUserIsValid } from '../../data/checks';
 
@@ -138,5 +137,4 @@ describe('[Emoji]', () => {
 			});
 		});
 	});
-
 });
diff --git a/tests/end-to-end/ui/08-resolutions.js b/tests/end-to-end/ui/08-resolutions.js
index a5ccd1d96c4..edd015ea758 100644
--- a/tests/end-to-end/ui/08-resolutions.js
+++ b/tests/end-to-end/ui/08-resolutions.js
@@ -1,7 +1,6 @@
 import Global from '../../pageobjects/global';
 import mainContent from '../../pageobjects/main-content.page';
 import sideNav from '../../pageobjects/side-nav.page';
-
 import { username, email, password } from '../../data/user.js';
 import { checkIfUserIsValid } from '../../data/checks';
 
@@ -23,7 +22,7 @@ describe('[Resolution]', () => {
 
 		describe('moving elements:', () => {
 			it('it should close the sidenav', () => {
-				mainContent.mainContent.getLocation().should.deep.include({ x:0 });
+				mainContent.mainContent.getLocation().should.deep.include({ x: 0 });
 			});
 
 			it('it should press the navbar button', () => {
@@ -32,7 +31,7 @@ describe('[Resolution]', () => {
 			});
 
 			it('it should open de sidenav', () => {
-				mainContent.mainContent.getLocation().should.not.deep.equal({ x:0 });
+				mainContent.mainContent.getLocation().should.not.deep.equal({ x: 0 });
 			});
 
 			it('it should not close sidebar on pressing the sidebar item menu', () => {
@@ -40,7 +39,7 @@ describe('[Resolution]', () => {
 				sideNav.firstSidebarItemMenu.waitForVisible(10000);
 				sideNav.firstSidebarItemMenu.click();
 				browser.pause(100);
-				mainContent.mainContent.getLocation().should.not.deep.equal({ x:0 });
+				mainContent.mainContent.getLocation().should.not.deep.equal({ x: 0 });
 				sideNav.popoverOverlay.click();
 			});
 
@@ -49,7 +48,7 @@ describe('[Resolution]', () => {
 			});
 
 			it('it should close the sidenav', () => {
-				mainContent.mainContent.getLocation().should.deep.include({ x:0 });
+				mainContent.mainContent.getLocation().should.deep.include({ x: 0 });
 			});
 
 			it('it should press the navbar button', () => {
@@ -70,7 +69,7 @@ describe('[Resolution]', () => {
 			});
 
 			it('it should close the sidenav', () => {
-				mainContent.mainContent.getLocation().should.deep.include({ x:0 });
+				mainContent.mainContent.getLocation().should.deep.include({ x: 0 });
 			});
 
 			it('it should press the navbar button', () => {
@@ -84,7 +83,7 @@ describe('[Resolution]', () => {
 			});
 
 			it('it should close the sidenav', () => {
-				mainContent.mainContent.getLocation().should.deep.include({ x:0 });
+				mainContent.mainContent.getLocation().should.deep.include({ x: 0 });
 			});
 
 			it('it should press the navbar button', () => {
diff --git a/tests/end-to-end/ui/09-channel.js b/tests/end-to-end/ui/09-channel.js
index ea9ffd4561d..96e56ccdcae 100644
--- a/tests/end-to-end/ui/09-channel.js
+++ b/tests/end-to-end/ui/09-channel.js
@@ -2,7 +2,6 @@ import flexTab from '../../pageobjects/flex-tab.page';
 import mainContent from '../../pageobjects/main-content.page';
 import sideNav from '../../pageobjects/side-nav.page';
 import Global from '../../pageobjects/global';
-
 import { username, email, password } from '../../data/user.js';
 import { checkIfUserIsValid, publicChannelCreated, setPublicChannelCreated } from '../../data/checks';
 import { publicChannelName } from '../../data/channel.js';
@@ -117,13 +116,11 @@ describe('[Channel]', () => {
 					Global.toastAlert.waitForVisible(5000, true);
 				}
 				flexTab.operateFlexTab('members', false);
-
 			});
 
 			it('it should add people to the room', () => {
 				flexTab.addPeopleToChannel(targetUser);
 			});
-
 		});
 
 		describe('Channel settings:', () => {
@@ -134,7 +131,6 @@ describe('[Channel]', () => {
 						Global.toastAlert.waitForVisible(5000, true);
 					}
 					flexTab.operateFlexTab('info', true);
-
 				});
 
 				after(() => {
@@ -327,7 +323,6 @@ describe('[Channel]', () => {
 						Global.toastAlert.waitForVisible(5000, true);
 					}
 					flexTab.operateFlexTab('members', true);
-
 				});
 
 				after(() => {
@@ -388,7 +383,6 @@ describe('[Channel]', () => {
 					sideNav.searchChannel(`NAME-EDITED-${ publicChannelName }`);
 					mainContent.joinChannelBtn.waitForVisible(5000);
 					mainContent.joinChannelBtn.click();
-
 				});
 
 				it('it should show the channel on the list', () => {
diff --git a/tests/end-to-end/ui/10-user-preferences.js b/tests/end-to-end/ui/10-user-preferences.js
index acdf4db4731..0df8dd83f9b 100644
--- a/tests/end-to-end/ui/10-user-preferences.js
+++ b/tests/end-to-end/ui/10-user-preferences.js
@@ -3,11 +3,9 @@ import mainContent from '../../pageobjects/main-content.page';
 import sideNav from '../../pageobjects/side-nav.page';
 import preferencesMainContent from '../../pageobjects/preferences-main-content.page';
 import admin from '../../pageobjects/administration.page';
-
 import { username, password, email, adminUsername, adminEmail, adminPassword } from '../../data/user.js';
-// import {imgURL} from '../../data/interactions.js';
-
 import { checkIfUserIsValid, checkIfUserIsAdmin } from '../../data/checks';
+// import {imgURL} from '../../data/interactions.js';
 
 
 describe('[User Preferences]', () => {
@@ -52,7 +50,6 @@ describe('[User Preferences]', () => {
 			it('it should show the submit button', () => {
 				preferencesMainContent.submitBtn.isVisible().should.be.true;
 			});
-
 		});
 
 		describe('user info change:', () => {
diff --git a/tests/end-to-end/ui/11-admin.js b/tests/end-to-end/ui/11-admin.js
index 39224039f54..5256e27436d 100644
--- a/tests/end-to-end/ui/11-admin.js
+++ b/tests/end-to-end/ui/11-admin.js
@@ -1,8 +1,6 @@
 import sideNav from '../../pageobjects/side-nav.page';
 import flexTab from '../../pageobjects/flex-tab.page';
 import admin from '../../pageobjects/administration.page';
-
-// test data imports
 import { checkIfUserIsAdmin } from '../../data/checks';
 import { adminUsername, adminEmail, adminPassword } from '../../data/user.js';
 
diff --git a/tests/end-to-end/ui/12-settings.js b/tests/end-to-end/ui/12-settings.js
index 1301e3c681b..7b9823845b4 100644
--- a/tests/end-to-end/ui/12-settings.js
+++ b/tests/end-to-end/ui/12-settings.js
@@ -1,25 +1,23 @@
-import loginPage from '../../pageobjects/login.page';
 import supertest from 'supertest';
-const request = supertest('http://localhost:3000');
-const prefix = '/api/v1/';
 
+import loginPage from '../../pageobjects/login.page';
 import flexTab from '../../pageobjects/flex-tab.page';
 import mainContent from '../../pageobjects/main-content.page';
 import sideNav from '../../pageobjects/side-nav.page';
 import admin from '../../pageobjects/administration.page';
-
-// test data imports
 import { checkIfUserIsValid, checkIfUserIsAdmin } from '../../data/checks';
-
 import { adminUsername, adminEmail, adminPassword, username, email, password, reason } from '../../data/user.js';
 
+const request = supertest('http://localhost:3000');
+const prefix = '/api/v1/';
+
 function api(path) {
 	return prefix + path;
 }
 
 const credentials = {
-	['X-Auth-Token']: undefined,
-	['X-User-Id']: undefined,
+	'X-Auth-Token': undefined,
+	'X-User-Id': undefined,
 };
 
 const login = {
@@ -59,7 +57,7 @@ describe('[Api Settings Change]', () => {
 		it('it should change the message editing via api', (done) => {
 			request.post(api('settings/Message_AllowEditing'))
 				.set(credentials)
-				.send({ value : false })
+				.send({ value: false })
 				.expect('Content-Type', 'application/json')
 				.expect(200)
 				.expect((res) => {
@@ -78,7 +76,7 @@ describe('[Api Settings Change]', () => {
 		it('it should change the message editing via api', (done) => {
 			request.post(api('settings/Message_AllowEditing'))
 				.set(credentials)
-				.send({ value : true })
+				.send({ value: true })
 				.expect('Content-Type', 'application/json')
 				.expect(200)
 				.expect((res) => {
@@ -92,7 +90,7 @@ describe('[Api Settings Change]', () => {
 		it('it should change the message deleting via api', (done) => {
 			request.post(api('settings/Message_AllowDeleting'))
 				.set(credentials)
-				.send({ value : false })
+				.send({ value: false })
 				.expect('Content-Type', 'application/json')
 				.expect(200)
 				.expect((res) => {
@@ -111,7 +109,7 @@ describe('[Api Settings Change]', () => {
 		it('it should change the message deleting via api', (done) => {
 			request.post(api('settings/Message_AllowDeleting'))
 				.set(credentials)
-				.send({ value : true })
+				.send({ value: true })
 				.expect('Content-Type', 'application/json')
 				.expect(200)
 				.expect((res) => {
@@ -125,7 +123,7 @@ describe('[Api Settings Change]', () => {
 		it('it should change the message audio files via api', (done) => {
 			request.post(api('settings/Message_AudioRecorderEnabled'))
 				.set(credentials)
-				.send({ value : false })
+				.send({ value: false })
 				.expect('Content-Type', 'application/json')
 				.expect(200)
 				.expect((res) => {
@@ -143,7 +141,7 @@ describe('[Api Settings Change]', () => {
 		it('it should change the message audio files via api', (done) => {
 			request.post(api('settings/Message_AudioRecorderEnabled'))
 				.set(credentials)
-				.send({ value : true })
+				.send({ value: true })
 				.expect('Content-Type', 'application/json')
 				.expect(200)
 				.expect((res) => {
@@ -157,7 +155,7 @@ describe('[Api Settings Change]', () => {
 		it('it should change the message video files via api', (done) => {
 			request.post(api('settings/Message_VideoRecorderEnabled'))
 				.set(credentials)
-				.send({ value : false })
+				.send({ value: false })
 				.expect('Content-Type', 'application/json')
 				.expect(200)
 				.expect((res) => {
@@ -175,7 +173,7 @@ describe('[Api Settings Change]', () => {
 		it('it should change the message video files via api', (done) => {
 			request.post(api('settings/Message_VideoRecorderEnabled'))
 				.set(credentials)
-				.send({ value : true })
+				.send({ value: true })
 				.expect('Content-Type', 'application/json')
 				.expect(200)
 				.expect((res) => {
@@ -189,7 +187,7 @@ describe('[Api Settings Change]', () => {
 		it('it should change the bad words filter via api', (done) => {
 			request.post(api('settings/Message_AllowBadWordsFilter'))
 				.set(credentials)
-				.send({ value : true })
+				.send({ value: true })
 				.expect('Content-Type', 'application/json')
 				.expect(200)
 				.expect((res) => {
@@ -201,7 +199,7 @@ describe('[Api Settings Change]', () => {
 		it('it should add bad words to the filter via api', (done) => {
 			request.post(api('settings/Message_BadWordsFilterList'))
 				.set(credentials)
-				.send({ value : 'badword' })
+				.send({ value: 'badword' })
 				.expect('Content-Type', 'application/json')
 				.expect(200)
 				.expect((res) => {
@@ -221,7 +219,7 @@ describe('[Api Settings Change]', () => {
 		it('it should change the bad words filter via api', (done) => {
 			request.post(api('settings/Message_AllowBadWordsFilter'))
 				.set(credentials)
-				.send({ value : false })
+				.send({ value: false })
 				.expect('Content-Type', 'application/json')
 				.expect(200)
 				.expect((res) => {
@@ -235,7 +233,7 @@ describe('[Api Settings Change]', () => {
 		it('it should change the message pin via api', (done) => {
 			request.post(api('settings/Message_AllowPinning'))
 				.set(credentials)
-				.send({ value : false })
+				.send({ value: false })
 				.expect('Content-Type', 'application/json')
 				.expect(200)
 				.expect((res) => {
@@ -260,7 +258,7 @@ describe('[Api Settings Change]', () => {
 		it('it should change the message pin via api', (done) => {
 			request.post(api('settings/Message_AllowPinning'))
 				.set(credentials)
-				.send({ value : true })
+				.send({ value: true })
 				.expect('Content-Type', 'application/json')
 				.expect(200)
 				.expect((res) => {
@@ -274,7 +272,7 @@ describe('[Api Settings Change]', () => {
 		it('it should change the message star via api', (done) => {
 			request.post(api('settings/Message_AllowStarring'))
 				.set(credentials)
-				.send({ value : false })
+				.send({ value: false })
 				.expect('Content-Type', 'application/json')
 				.expect(200)
 				.expect((res) => {
@@ -299,7 +297,7 @@ describe('[Api Settings Change]', () => {
 		it('it should change the message star via api', (done) => {
 			request.post(api('settings/Message_AllowStarring'))
 				.set(credentials)
-				.send({ value : true })
+				.send({ value: true })
 				.expect('Content-Type', 'application/json')
 				.expect(200)
 				.expect((res) => {
@@ -313,7 +311,7 @@ describe('[Api Settings Change]', () => {
 		it('it should change the file upload via api', (done) => {
 			request.post(api('settings/FileUpload_Enabled'))
 				.set(credentials)
-				.send({ value : false })
+				.send({ value: false })
 				.expect('Content-Type', 'application/json')
 				.expect(200)
 				.expect((res) => {
@@ -329,7 +327,7 @@ describe('[Api Settings Change]', () => {
 		it('it should change the file upload via api', (done) => {
 			request.post(api('settings/FileUpload_Enabled'))
 				.set(credentials)
-				.send({ value : true })
+				.send({ value: true })
 				.expect('Content-Type', 'application/json')
 				.expect(200)
 				.expect((res) => {
@@ -357,7 +355,7 @@ describe('[Api Settings Change]', () => {
 			it('it should change the allow user profile change via api', (done) => {
 				request.post(api('settings/Accounts_AllowUserProfileChange'))
 					.set(credentials)
-					.send({ value : false })
+					.send({ value: false })
 					.expect('Content-Type', 'application/json')
 					.expect(200)
 					.expect((res) => {
@@ -373,7 +371,7 @@ describe('[Api Settings Change]', () => {
 			it('it should change the allow user profile change via api', (done) => {
 				request.post(api('settings/Accounts_AllowUserProfileChange'))
 					.set(credentials)
-					.send({ value : true })
+					.send({ value: true })
 					.expect('Content-Type', 'application/json')
 					.expect(200)
 					.expect((res) => {
@@ -387,7 +385,7 @@ describe('[Api Settings Change]', () => {
 			it('it should change the allow user avatar change via api', (done) => {
 				request.post(api('settings/Accounts_AllowUserAvatarChange'))
 					.set(credentials)
-					.send({ value : false })
+					.send({ value: false })
 					.expect('Content-Type', 'application/json')
 					.expect(200)
 					.expect((res) => {
@@ -403,7 +401,7 @@ describe('[Api Settings Change]', () => {
 			it('it should change the allow user avatar change via api', (done) => {
 				request.post(api('settings/Accounts_AllowUserAvatarChange'))
 					.set(credentials)
-					.send({ value : true })
+					.send({ value: true })
 					.expect('Content-Type', 'application/json')
 					.expect(200)
 					.expect((res) => {
@@ -427,7 +425,7 @@ describe('[Api Settings Change]', () => {
 		it('it should change the Manually Approve New Users via api', (done) => {
 			request.post(api('settings/Accounts_ManuallyApproveNewUsers'))
 				.set(credentials)
-				.send({ value : true })
+				.send({ value: true })
 				.expect('Content-Type', 'application/json')
 				.expect(200)
 				.expect((res) => {
@@ -497,7 +495,7 @@ describe('[Api Settings Change]', () => {
 		it('it should change the Manually Approve New Users via api', (done) => {
 			request.post(api('settings/Accounts_ManuallyApproveNewUsers'))
 				.set(credentials)
-				.send({ value : false })
+				.send({ value: false })
 				.expect('Content-Type', 'application/json')
 				.expect(200)
 				.expect((res) => {
diff --git a/tests/end-to-end/ui/13-permissions.js b/tests/end-to-end/ui/13-permissions.js
index 1b5f49ba501..545f3940ed5 100644
--- a/tests/end-to-end/ui/13-permissions.js
+++ b/tests/end-to-end/ui/13-permissions.js
@@ -3,8 +3,6 @@ import flexTab from '../../pageobjects/flex-tab.page';
 import admin from '../../pageobjects/administration.page';
 import mainContent from '../../pageobjects/main-content.page';
 import { checkIfUserIsValid, checkIfUserIsAdmin } from '../../data/checks';
-
-// test data imports
 import { username, email, password, adminUsername, adminEmail, adminPassword } from '../../data/user.js';
 
 describe.skip('[Permissions]', () => {
diff --git a/tests/end-to-end/ui/14-message-popup.js b/tests/end-to-end/ui/14-message-popup.js
index 781dedfdf10..fe2e7d166e7 100644
--- a/tests/end-to-end/ui/14-message-popup.js
+++ b/tests/end-to-end/ui/14-message-popup.js
@@ -1,5 +1,4 @@
 import { adminEmail, adminPassword } from '../../data/user.js';
-
 import {
 	api,
 	request,
@@ -74,7 +73,7 @@ describe('[Message Popup]', () => {
 
 			browser.call(async () => {
 				for (const user of users) {
-					await createTestUser(user);
+					await createTestUser(user); // eslint-disable-line no-await-in-loop
 				}
 			});
 
diff --git a/tests/end-to-end/ui/15-discussion.js b/tests/end-to-end/ui/15-discussion.js
index 5d94a9dc634..3687002fdcf 100644
--- a/tests/end-to-end/ui/15-discussion.js
+++ b/tests/end-to-end/ui/15-discussion.js
@@ -8,12 +8,12 @@ import { sendEscape } from '../../pageobjects/keyboard';
 import { discussion } from '../../pageobjects/discussion.page';
 import { username, email, password } from '../../data/user.js';
 import { checkIfUserIsValid } from '../../data/checks';
+
 const parentChannelName = 'unit-testing';
 const discussionName = 'Lorem ipsum dolor sit amet';
 const message = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.';
 
 describe('[Discussion]', function () {
-
 	before(function () {
 		checkIfUserIsValid(username, email, password);
 		sideNav.spotlightSearchIcon.waitForVisible(3000);
@@ -60,5 +60,4 @@ describe('[Discussion]', function () {
 			discussion.deleteRoom(parentChannelName);
 		});
 	});
-
 });
diff --git a/tests/pageobjects/administration.page.js b/tests/pageobjects/administration.page.js
index 21a77825f9d..15a3a674601 100644
--- a/tests/pageobjects/administration.page.js
+++ b/tests/pageobjects/administration.page.js
@@ -2,61 +2,113 @@ import Page from './Page';
 
 class Administration extends Page {
 	get flexNav() { return browser.element('.flex-nav'); }
+
 	get flexNavContent() { return browser.element('.flex-nav'); }
+
 	get settingsSearch() { return browser.element('[name=settings-search]'); }
+
 	get layoutLink() { return browser.element('.flex-nav [href="/admin/Layout"]'); }
+
 	get infoLink() { return browser.element('.flex-nav [href="/admin/info"]'); }
+
 	get roomsLink() { return browser.element('.flex-nav [href="/admin/rooms"]'); }
+
 	get usersLink() { return browser.element('.flex-nav [href="/admin/users"]'); }
+
 	get accountsLink() { return browser.element('.flex-nav [href="/admin/Accounts"]'); }
+
 	get generalLink() { return browser.element('.flex-nav [href="/admin/General"]'); }
+
 	get permissionsLink() { return browser.element('.flex-nav [href="/admin/permissions"]'); }
+
 	get customScriptBtn() { return browser.element('.section:nth-of-type(6) .collapse'); }
+
 	get customScriptLoggedOutTextArea() { return browser.element('.section:nth-of-type(6) .CodeMirror-scroll'); }
+
 	get customScriptLoggedInTextArea() { return browser.element('.CodeMirror.cm-s-default:nth-of-type(2)'); }
+
 	get infoRocketChatTableTitle() { return browser.element('.content h3'); }
+
 	get infoRocketChatTable() { return browser.element('.content .statistics-table'); }
+
 	get infoCommitTableTitle() { return browser.element('.content h3:nth-of-type(2)'); }
+
 	get infoCommitTable() { return browser.element('.content .statistics-table:nth-of-type(2)'); }
+
 	get infoRuntimeTableTitle() { return browser.element('.content h3:nth-of-type(3)'); }
+
 	get infoRuntimeTable() { return browser.element('.content .statistics-table:nth-of-type(3)'); }
+
 	get infoBuildTableTitle() { return browser.element('.content h3:nth-of-type(4)'); }
+
 	get infoBuildTable() { return browser.element('.content .statistics-table:nth-of-type(4)'); }
+
 	get infoUsageTableTitle() { return browser.element('.content h3:nth-of-type(5)'); }
+
 	get infoUsageTable() { return browser.element('.content .statistics-table:nth-of-type(5)'); }
+
 	get roomsSearchForm() { return browser.element('.content .search'); }
+
 	get roomsFilter() { return browser.element('#rooms-filter'); }
+
 	get roomsChannelsCheckbox() { return browser.element('label:nth-of-type(1) input[name="room-type"]'); }
+
 	get roomsDirectCheckbox() { return browser.element('label:nth-of-type(2) input[name="room-type"]'); }
+
 	get roomsPrivateCheckbox() { return browser.element('label:nth-of-type(3) input[name="room-type"]'); }
+
 	get roomsGeneralChannel() { return browser.element('td=general'); }
+
 	get usersRocketCat() { return browser.element('td=Rocket.Cat'); }
+
 	get usersInternalAdmin() { return browser.element('td=rocketchat.internal.admin.test'); }
+
 	get usersFilter() { return browser.element('#users-filter'); }
+
 	get rolesNewRolesButton() { return browser.element('.rc-button.new-role'); }
+
 	get rolesPermissionGrid() { return browser.element('.permission-grid'); }
+
 	get rolesAdmin() { return browser.element('[title="Admin"]'); }
+
 	get rolesModerator() { return browser.element('[title="Moderator"]'); }
+
 	get rolesOwner() { return browser.element('[title="Owner"]'); }
+
 	get rolesReturnLink() { return browser.element('[href="/admin/permissions"]'); }
+
 	get rolesNewRoleName() { return browser.element('[name="name"]'); }
+
 	get rolesNewRoleDesc() { return browser.element('[name="description"]'); }
+
 	get rolesNewRoleScope() { return browser.element('[name="scope"]'); }
+
 	get rolesAddBtn() { return browser.element('button.add'); }
+
 	get rolesRoomsSearchForm() { return browser.element('.search [name="room"]'); }
 
 	// permissions grids checkboxes
 
 	get rolesUserCreateC() { return browser.element('[name="perm[user][create-c]"]'); }
+
 	get rolesUserCreateP() { return browser.element('[name="perm[user][create-p]"]'); }
+
 	get rolesUserCreateD() { return browser.element('[name="perm[user][create-d]"]'); }
+
 	get rolesUserMentionAll() { return browser.element('[name="perm[user][mention-all]"]'); }
+
 	get rolesUserPreviewC() { return browser.element('[name="perm[user][preview-c-room]"]'); }
+
 	get rolesUserViewC() { return browser.element('[name="perm[user][view-c-room]"]'); }
+
 	get rolesUserViewD() { return browser.element('[name="perm[user][view-d-room]"]'); }
+
 	get rolesUserViewP() { return browser.element('[name="perm[user][view-p-room]"]'); }
+
 	get rolesUserHistory() { return browser.element('[name="perm[user][view-history]"]'); }
+
 	get rolesOwnerDeleteMessage() { return browser.element('[name="perm[owner][delete-message]"]'); }
+
 	get rolesOwnerEditMessage() { return browser.element('[name="perm[owner][edit-message]"]'); }
 
 
@@ -66,159 +118,254 @@ class Administration extends Page {
 	get buttonSave() { return browser.element('button.save'); }
 
 	get generalButtonExpandIframe() { return browser.element('.section:nth-of-type(4) .expand'); }
+
 	get generalButtonExpandNotifications() { return browser.element('.section:nth-of-type(5) .expand'); }
+
 	get generalButtonExpandRest() { return browser.element('.section:nth-of-type(6) .expand'); }
+
 	get generalButtonExpandReporting() { return browser.element('.section:nth-of-type(7) .expand'); }
+
 	get generalButtonExpandStreamCast() { return browser.element('.section:nth-of-type(8) .expand'); }
+
 	get generalButtonExpandTranslations() { return browser.element('.section:nth-of-type(9) .expand'); }
+
 	get generalButtonExpandUTF8() { return browser.element('.section:nth-of-type(10) .expand'); }
 
 	get generalSiteUrl() { return browser.element('[name="Site_Url"]'); }
+
 	get generalSiteUrlReset() { return browser.element('.reset-setting[data-setting="Site_Url"]'); }
+
 	get generalSiteName() { return browser.element('[name="Site_Name"]'); }
+
 	get generalSiteNameReset() { return browser.element('.reset-setting[data-setting="Site_Name"]'); }
+
 	get generalLanguage() { return browser.element('[name="Language"]'); }
+
 	get generalLanguagePtOption() { return browser.element('[value="pt"]'); }
+
 	get generalLanguageReset() { return browser.element('.reset-setting[data-setting="Language"]'); }
+
 	get generalSelfSignedCertsTrue() { return browser.element('label:nth-of-type(1) [name="Allow_Invalid_SelfSigned_Certs"]'); }
+
 	get generalSelfSignedCertsFalse() { return browser.element('label:nth-of-type(2) [name="Allow_Invalid_SelfSigned_Certs"]'); }
+
 	get generalSelfSignedCertsReset() { return browser.element('.reset-setting[data-setting="Allow_Invalid_SelfSigned_Certs"]'); }
+
 	get generalFavoriteRoomTrue() { return browser.element('label:nth-of-type(1) [name="Favorite_Rooms"]'); }
+
 	get generalFavoriteRoomFalse() { return browser.element('label:nth-of-type(2) [name="Favorite_Rooms"]'); }
+
 	get generalFavoriteRoomReset() { return browser.element('.reset-setting[data-setting="Favorite_Rooms"]'); }
+
 	get generalOpenFirstChannel() { return browser.element('[name="First_Channel_After_Login"]'); }
+
 	get generalOpenFirstChannelReset() { return browser.element('.reset-setting[data-setting="First_Channel_After_Login"]'); }
+
 	get generalCdnPrefix() { return browser.element('[name="CDN_PREFIX"]'); }
+
 	get generalCdnPrefixReset() { return browser.element('.reset-setting[data-setting="CDN_PREFIX"]'); }
+
 	get generalForceSSLTrue() { return browser.element('label:nth-of-type(1) [name="Force_SSL"]'); }
+
 	get generalForceSSLFalse() { return browser.element('label:nth-of-type(2) [name="Force_SSL"]'); }
+
 	get generalForceSSLReset() { return browser.element('.reset-setting[data-setting="Force_SSL"]'); }
+
 	get generalGoogleTagId() { return browser.element('[name="GoogleTagManager_id"]'); }
+
 	get generalGoogleTagIdReset() { return browser.element('.reset-setting[data-setting="GoogleTagManager_id"]'); }
+
 	get generalBugsnagKey() { return browser.element('[name="Bugsnag_api_key"]'); }
+
 	get generalBugsnagKeyReset() { return browser.element('.reset-setting[data-setting="Bugsnag_api_key"]'); }
+
 	get generalIframeSendTrue() { return browser.element('label:nth-of-type(1) [name="Iframe_Integration_send_enable"]'); }
+
 	get generalIframeSendFalse() { return browser.element('label:nth-of-type(2) [name="Iframe_Integration_send_enable"]'); }
+
 	get generalIframeSendReset() { return browser.element('.reset-setting[data-setting="Iframe_Integration_send_enable"]'); }
+
 	get generalIframeSendTargetOrigin() { return browser.element('[name="Iframe_Integration_send_target_origin"]'); }
+
 	get generalIframeSendTargetOriginReset() { return browser.element('.reset-setting[data-setting="Iframe_Integration_send_target_origin"]'); }
+
 	get generalIframeRecieveTrue() { return browser.element('label:nth-of-type(1) [name="Iframe_Integration_receive_enable"]'); }
+
 	get generalIframeRecieveFalse() { return browser.element('label:nth-of-type(2) [name="Iframe_Integration_receive_enable"]'); }
+
 	get generalIframeRecieveFalseReset() { return browser.element('.reset-setting[data-setting="Iframe_Integration_receive_enable"]'); }
+
 	get generalIframeRecieveOrigin() { return browser.element('[name="Iframe_Integration_receive_origin"]'); }
+
 	get generalIframeRecieveOriginReset() { return browser.element('.reset-setting[data-setting="Iframe_Integration_receive_origin"]'); }
+
 	get generalNotificationsMaxRoomMembers() { return browser.element('[name="Notifications_Max_Room_Members"]'); }
+
 	get generalNotificationsMaxRoomMembersReset() { return browser.element('.reset-setting[data-setting="Notifications_Max_Room_Members"]'); }
+
 	get generalRestApiUserLimit() { return browser.element('[name="API_User_Limit"]'); }
+
 	get generalRestApiUserLimitReset() { return browser.element('.reset-setting[data-setting="API_User_Limit"]'); }
+
 	get generalReportingTrue() { return browser.element('label:nth-of-type(1) [name="Statistics_reporting"]'); }
+
 	get generalReportingFalse() { return browser.element('label:nth-of-type(2) [name="Statistics_reporting"]'); }
+
 	get generalReportingReset() { return browser.element('.reset-setting[data-setting="Statistics_reporting"]'); }
+
 	get generalStreamCastAdress() { return browser.element('[name="Stream_Cast_Address"]'); }
+
 	get generalStreamCastAdressReset() { return browser.element('.reset-setting[data-setting="Stream_Cast_Address"]'); }
+
 	get generalUTF8Regex() { return browser.element('[name="UTF8_Names_Validation"]'); }
+
 	get generalUTF8RegexReset() { return browser.element('.reset-setting[data-setting="UTF8_Names_Validation"]'); }
+
 	get generalUTF8NamesSlugTrue() { return browser.element('label:nth-of-type(1) [name="UTF8_Names_Slugify"]'); }
+
 	get generalUTF8NamesSlugFalse() { return browser.element('label:nth-of-type(2) [name="UTF8_Names_Slugify"]'); }
+
 	get generalUTF8NamesSlugReset() { return browser.element('.reset-setting[data-setting="UTF8_Names_Slugify"]'); }
 
 	// accounts
 	get accountsButtonExpandDefaultUserPreferences() { return browser.element('.section:nth-of-type(2) .expand'); }
+
 	get accountsButtonCollapseDefaultUserPreferences() { return browser.element('.section:nth-of-type(2) .collapse'); }
 
 	get accountsEnableAutoAwayTrue() { return browser.element('label:nth-of-type(1) [name="Accounts_Default_User_Preferences_enableAutoAway"]'); }
+
 	get accountsEnableAutoAwayFalse() { return browser.element('label:nth-of-type(2) [name="Accounts_Default_User_Preferences_enableAutoAway"]'); }
+
 	get accountsEnableAutoAwayReset() { return browser.element('.reset-setting[data-setting="Accounts_Default_User_Preferences_enableAutoAway"]'); }
 
 	get accountsidleTimeLimit() { return browser.element('[name="Accounts_Default_User_Preferences_idleTimeLimit"]'); }
+
 	get accountsidleTimeLimitReset() { return browser.element('.reset-setting[data-setting="Accounts_Default_User_Preferences_idleTimeLimit"]'); }
 
 	get accountsNotificationDuration() { return browser.element('[name="Accounts_Default_User_Preferences_desktopNotificationDuration"]'); }
+
 	get accountsNotificationDurationReset() { return browser.element('.reset-setting[data-setting="Accounts_Default_User_Preferences_desktopNotificationDuration"]'); }
 
 	get accountsAudioNotifications() { return browser.element('[name="Accounts_Default_User_Preferences_audioNotifications"]'); }
+
 	get accountsAudioNotificationsReset() { return browser.element('.reset-setting[data-setting="Accounts_Default_User_Preferences_audioNotifications"]'); }
 
 	get accountsDesktopNotifications() { return browser.element('[name="Accounts_Default_User_Preferences_desktopNotifications"]'); }
+
 	get accountsDesktopNotificationsReset() { return browser.element('.reset-setting[data-setting="Accounts_Default_User_Preferences_desktopNotifications"]'); }
 
 	get accountsMobileNotifications() { return browser.element('[name="Accounts_Default_User_Preferences_mobileNotifications"]'); }
+
 	get accountsMobileNotificationsReset() { return browser.element('.reset-setting[data-setting="Accounts_Default_User_Preferences_mobileNotifications"]'); }
 
 	get accountsUnreadAlertTrue() { return browser.element('label:nth-of-type(1) [name="Accounts_Default_User_Preferences_unreadAlert"]'); }
+
 	get accountsUnreadAlertFalse() { return browser.element('label:nth-of-type(2) [name="Accounts_Default_User_Preferences_unreadAlert"]'); }
+
 	get accountsUnreadAlertReset() { return browser.element('.reset-setting[data-setting="Accounts_Default_User_Preferences_unreadAlert"]'); }
 
 	get accountsUseEmojisTrue() { return browser.element('label:nth-of-type(1) [name="Accounts_Default_User_Preferences_useEmojis"]'); }
+
 	get accountsUseEmojisFalse() { return browser.element('label:nth-of-type(2) [name="Accounts_Default_User_Preferences_useEmojis"]'); }
+
 	get accountsUseEmojisReset() { return browser.element('.reset-setting[data-setting="Accounts_Default_User_Preferences_useEmojis"]'); }
 
 	get accountsConvertAsciiEmojiTrue() { return browser.element('label:nth-of-type(1) [name="Accounts_Default_User_Preferences_convertAsciiEmoji"]'); }
+
 	get accountsConvertAsciiEmojiFalse() { return browser.element('label:nth-of-type(2) [name="Accounts_Default_User_Preferences_convertAsciiEmoji"]'); }
+
 	get accountsConvertAsciiEmojiReset() { return browser.element('.reset-setting[data-setting="Accounts_Default_User_Preferences_convertAsciiEmoji"]'); }
 
 	get accountsAutoImageLoadTrue() { return browser.element('label:nth-of-type(1) [name="Accounts_Default_User_Preferences_autoImageLoad"]'); }
+
 	get accountsAutoImageLoadFalse() { return browser.element('label:nth-of-type(2) [name="Accounts_Default_User_Preferences_autoImageLoad"]'); }
+
 	get accountsAutoImageLoadReset() { return browser.element('.reset-setting[data-setting="Accounts_Default_User_Preferences_autoImageLoad"]'); }
 
 	get accountsSaveMobileBandwidthTrue() { return browser.element('label:nth-of-type(1) [name="Accounts_Default_User_Preferences_saveMobileBandwidth"]'); }
+
 	get accountsSaveMobileBandwidthFalse() { return browser.element('label:nth-of-type(2) [name="Accounts_Default_User_Preferences_saveMobileBandwidth"]'); }
+
 	get accountsSaveMobileBandwidthReset() { return browser.element('.reset-setting[data-setting="Accounts_Default_User_Preferences_saveMobileBandwidth"]'); }
 
 	get accountsCollapseMediaByDefaultTrue() { return browser.element('label:nth-of-type(1) [name="Accounts_Default_User_Preferences_collapseMediaByDefault"]'); }
+
 	get accountsCollapseMediaByDefaultFalse() { return browser.element('label:nth-of-type(2) [name="Accounts_Default_User_Preferences_collapseMediaByDefault"]'); }
+
 	get accountsCollapseMediaByDefaultReset() { return browser.element('.reset-setting[data-setting="Accounts_Default_User_Preferences_collapseMediaByDefault"]'); }
 
 	get accountsHideUsernamesTrue() { return browser.element('label:nth-of-type(1) [name="Accounts_Default_User_Preferences_hideUsernames"]'); }
+
 	get accountsHideUsernamesFalse() { return browser.element('label:nth-of-type(2) [name="Accounts_Default_User_Preferences_hideUsernames"]'); }
+
 	get accountsHideUsernamesReset() { return browser.element('.reset-setting[data-setting="Accounts_Default_User_Preferences_hideUsernames"]'); }
 
 	get accountsHideRolesTrue() { return browser.element('label:nth-of-type(1) [name="Accounts_Default_User_Preferences_hideRoles"]'); }
+
 	get accountsHideRolesFalse() { return browser.element('label:nth-of-type(2) [name="Accounts_Default_User_Preferences_hideRoles"]'); }
+
 	get accountsHideRolesReset() { return browser.element('.reset-setting[data-setting="Accounts_Default_User_Preferences_hideRoles"]'); }
 
 	get accountsHideFlexTabTrue() { return browser.element('label:nth-of-type(1) [name="Accounts_Default_User_Preferences_hideFlexTab"]'); }
+
 	get accountsHideFlexTabFalse() { return browser.element('label:nth-of-type(2) [name="Accounts_Default_User_Preferences_hideFlexTab"]'); }
+
 	get accountsHideFlexTabReset() { return browser.element('.reset-setting[data-setting="Accounts_Default_User_Preferences_hideFlexTab"]'); }
 
 	get accountsHideAvatarsTrue() { return browser.element('label:nth-of-type(1) [name="Accounts_Default_User_Preferences_hideAvatars"]'); }
+
 	get accountsHideAvatarsFalse() { return browser.element('label:nth-of-type(2) [name="Accounts_Default_User_Preferences_hideAvatars"]'); }
+
 	get accountsHideAvatarsReset() { return browser.element('.reset-setting[data-setting="Accounts_Default_User_Preferences_hideAvatars"]'); }
 
 	get accountsMergeChannelsTrue() { return browser.element('label:nth-of-type(1) [name="Accounts_Default_User_Preferences_mergeChannels"]'); }
+
 	get accountsMergeChannelsFalse() { return browser.element('label:nth-of-type(2) [name="Accounts_Default_User_Preferences_mergeChannels"]'); }
+
 	get accountsMergeChannelsReset() { return browser.element('.reset-setting[data-setting="Accounts_Default_User_Preferences_mergeChannels"]'); }
 
 	get accountsSendOnEnter() { return browser.element('[name="Accounts_Default_User_Preferences_sendOnEnter"]'); }
+
 	get accountsSendOnEnterReset() { return browser.element('.reset-setting[data-setting="Accounts_Default_User_Preferences_sendOnEnter"]'); }
 
 	get accountsMessageViewMode() { return browser.element('[name="Accounts_Default_User_Preferences_messageViewMode"]'); }
+
 	get accountsMessageViewModeReset() { return browser.element('.reset-setting[data-setting="Accounts_Default_User_Preferences_messageViewMode"]'); }
 
 	get accountsEmailNotificationMode() { return browser.element('[name="Accounts_Default_User_Preferences_emailNotificationMode"]'); }
+
 	get accountsEmailNotificationModeReset() { return browser.element('.reset-setting[data-setting="Accounts_Default_User_Preferences_emailNotificationMode"]'); }
 
 	get accountsRoomCounterSidebarTrue() { return browser.element('label:nth-of-type(1) [name="Accounts_Default_User_Preferences_roomCounterSidebar"]'); }
+
 	get accountsRoomCounterSidebarFalse() { return browser.element('label:nth-of-type(2) [name="Accounts_Default_User_Preferences_roomCounterSidebar"]'); }
+
 	get accountsRoomCounterSidebarReset() { return browser.element('.reset-setting[data-setting="Accounts_Default_User_Preferences_roomCounterSidebar"]'); }
 
 	get accountsNewRoomNotification() { return browser.element('[name="Accounts_Default_User_Preferences_newRoomNotification"]'); }
+
 	get accountsNewRoomNotificationReset() { return browser.element('.reset-setting[data-setting="Accounts_Default_User_Preferences_newRoomNotification"]'); }
 
 	get accountsNewMessageNotification() { return browser.element('[name="Accounts_Default_User_Preferences_newMessageNotification"]'); }
+
 	get accountsNewMessageNotificationReset() { return browser.element('.reset-setting[data-setting="Accounts_Default_User_Preferences_newMessageNotification"]'); }
 
 	get accountsMuteFocusedConversationsTrue() { return browser.element('label:nth-of-type(1) [name="Accounts_Default_User_Preferences_muteFocusedConversations"]'); }
+
 	get accountsMuteFocusedConversationsFalse() { return browser.element('label:nth-of-type(2) [name="Accounts_Default_User_Preferences_muteFocusedConversations"]'); }
+
 	get accountsMuteFocusedConversationsReset() { return browser.element('.reset-setting[data-setting="Accounts_Default_User_Preferences_muteFocusedConversations"]'); }
 
 	get accountsNotificationsSoundVolume() { return browser.element('[name="Accounts_Default_User_Preferences_notificationsSoundVolume"]'); }
+
 	get accountsNotificationsSoundVolumeReset() { return browser.element('.reset-setting[data-setting="Accounts_Default_User_Preferences_notificationsSoundVolume"]'); }
 
 	get accountsRealNameChangeTrue() { return browser.element('label:nth-of-type(1) [name="Accounts_AllowRealNameChange"]'); }
+
 	get accountsRealNameChangeFalse() { return browser.element('label:nth-of-type(2) [name="Accounts_AllowRealNameChange"]'); }
 
 	get accountsUsernameChangeTrue() { return browser.element('label:nth-of-type(1) [name="Accounts_AllowUsernameChange"]'); }
+
 	get accountsUsernameChangeFalse() { return browser.element('label:nth-of-type(2) [name="Accounts_AllowUsernameChange"]'); }
 
 	checkUserList(user) {
diff --git a/tests/pageobjects/discussion.page.js b/tests/pageobjects/discussion.page.js
index 2996d37648b..7e3994196f0 100644
--- a/tests/pageobjects/discussion.page.js
+++ b/tests/pageobjects/discussion.page.js
@@ -1,5 +1,4 @@
 import Page from './Page';
-
 import sideNav from './side-nav.page';
 import flexTab from './flex-tab.page';
 import global from './global';
diff --git a/tests/pageobjects/flex-tab.page.js b/tests/pageobjects/flex-tab.page.js
index 326b41461af..1591323b62e 100644
--- a/tests/pageobjects/flex-tab.page.js
+++ b/tests/pageobjects/flex-tab.page.js
@@ -2,104 +2,174 @@ import Page from './Page';
 import Global from './global';
 
 class FlexTab extends Page {
-	get moreActions() { return browser.element('.rc-room-actions__button.js-more') ; }
+	get moreActions() { return browser.element('.rc-room-actions__button.js-more'); }
+
 	// Channel Info Tab
 	get channelTab() { return browser.element('.tab-button:not(.hidden) .tab-button-icon--info-circled'); }
+
 	get channelSettings() { return browser.element('.channel-settings'); }
+
 	get channelSettingName() { return browser.element('.channel-settings .rc-user-info__name'); }
+
 	get archiveBtn() { return browser.element('.clearfix:last-child .icon-pencil'); }
+
 	get archiveRadio() { return browser.element('.editing'); }
+
 	get archiveSave() { return browser.element('.save'); }
+
 	get editNameBtn() { return browser.element('[data-edit="name"]'); }
+
 	get editTopicBtn() { return browser.element('[data-edit="topic"]'); }
+
 	get editAnnouncementBtn() { return browser.element('[data-edit="announcement"]'); }
+
 	get editDescriptionBtn() { return browser.element('[data-edit="description"]'); }
+
 	get editNotificationBtn() { return browser.element('[data-edit="desktopNotifications"]'); }
+
 	get editMobilePushBtn() { return browser.element('[data-edit="mobilePushNotifications"]'); }
+
 	get editEmailNotificationBtn() { return browser.element('[data-edit="emailNotifications"]'); }
+
 	get editUnreadAlertBtn() { return browser.element('[data-edit="unreadAlert"]'); }
+
 	get editNameTextInput() { return browser.element('.channel-settings input[name="name"]'); }
+
 	get editTopicTextInput() { return browser.element('.channel-settings input[name="topic"]'); }
+
 	get editAnnouncementTextInput() { return browser.element('.channel-settings input[name="announcement"]'); }
+
 	get editDescriptionTextInput() { return browser.element('.channel-settings input[name="description"]'); }
+
 	get editNameSave() { return browser.element('.channel-settings .save'); }
+
 	get deleteBtn() { return browser.element('.channel-settings .js-delete'); }
 
 	// Members Tab
 	get membersTab() { return browser.element('.tab-button:not(.hidden) .tab-button-icon--team'); }
+
 	get membersTabContent() { return browser.element('.animated'); }
+
 	get userSearchBar() { return browser.element('#user-add-search'); }
+
 	get removeUserBtn() { return browser.element('.remove-user'); }
+
 	get setOwnerBtn() { return browser.element('.set-owner'); }
+
 	get setModeratorBtn() { return browser.element('.set-moderator'); }
+
 	get muteUserBtn() { return browser.element('.mute-user'); }
+
 	get viewAllBtn() { return browser.element('.button.back'); }
+
 	get startVideoCall() { return browser.element('.start-video-call'); }
+
 	get startAudioCall() { return browser.element('.start-audio-call'); }
+
 	get showAll() { return browser.element('.see-all'); }
+
 	get membersUserInfo() { return browser.element('.flex-tab-container .info'); }
+
 	get avatarImage() { return browser.element('.flex-tab-container .avatar-image'); }
+
 	get memberUserName() { return browser.element('.info h3'); }
+
 	get memberRealName() { return browser.element('.info p'); }
 
 
 	// Search Tab
 	get searchTab() { return browser.element('.tab-button:not(.hidden) .tab-button-icon--magnifier'); }
+
 	get searchTabContent() { return browser.element('.rocket-search-result'); }
+
 	get messageSearchBar() { return browser.element('#message-search'); }
+
 	get searchResult() { return browser.element('.new-day'); }
 
 	// Notifications Tab
 	get notificationsTab() { return browser.element('.rc-popover__item[data-id=push-notifications]'); }
+
 	get notificationsSettings() { return browser.element('.push-notifications'); }
 
 	// Files Tab
 	get filesTab() { return browser.element('.rc-popover__item[data-id=uploaded-files-list], .tab-button[data-id=uploaded-files-list]'); }
+
 	get fileItem() { return browser.element('.uploaded-files-list ul:first-child'); }
+
 	get filesTabContent() { return browser.element('.uploaded-files-list'); }
+
 	get fileDelete() { return browser.element('.uploaded-files-list ul:first-child .file-delete'); }
+
 	get fileDownload() { return browser.element('.uploaded-files-list ul:first-child .file-download'); }
+
 	get fileName() { return browser.element('.uploaded-files-list ul:first-child .room-file-item'); }
 
 	// Mentions Tab
 	get mentionsTab() { return browser.element('.rc-popover__item[data-id=mentions], .tab-button[data-id=mentions]'); }
+
 	get mentionsTabContent() { return browser.element('.mentioned-messages-list'); }
 
 	// Starred Tab
 	get starredTab() { return browser.element('.rc-popover__item[data-id=starred-messages], .tab-button[data-id=starred-messages]'); }
+
 	get starredTabContent() { return browser.element('.starred-messages-list'); }
 
 	// Pinned Tab
 	get pinnedTab() { return browser.element('.rc-popover__item[data-id=pinned-messages], .tab-button[data-id=pinned-messages]'); }
+
 	get pinnedTabContent() { return browser.element('.pinned-messages-list'); }
 
 	get firstSetting() { return browser.element('.clearfix li:nth-child(1) .current-setting'); }
+
 	get secondSetting() { return browser.element('.clearfix li:nth-child(2) .current-setting'); }
+
 	get thirdSetting() { return browser.element('.clearfix li:nth-child(3) .current-setting'); }
+
 	get fourthSetting() { return browser.element('.clearfix li:nth-child(4) .current-setting'); }
 
 	// admin view flextab items
 	get usersSendInvitationTab() { return browser.element('.tab-button:not(.hidden) .tab-button-icon--send'); }
+
 	get usersAddUserTab() { return browser.element('.tab-button:not(.hidden) .tab-button-icon--plus'); }
+
 	get usersSendInvitationTextArea() { return browser.element('#inviteEmails'); }
+
 	get usersButtonCancel() { return browser.element('.button.cancel'); }
+
 	get usersSendInvitationSend() { return browser.element('.button.send'); }
+
 	get usersButtonSave() { return browser.element('.button.save'); }
+
 	get usersAddUserName() { return browser.element('#name'); }
+
 	get usersAddUserUsername() { return browser.element('#username'); }
+
 	get usersAddUserEmail() { return browser.element('#email'); }
+
 	get usersAddUserRoleList() { return browser.element('#roleSelect'); }
+
 	get usersAddUserPassword() { return browser.element('#password'); }
+
 	get usersAddUserRoleButton() { return browser.element('#addRole'); }
+
 	get usersAddUserVerifiedCheckbox() { return browser.element('#verified'); }
+
 	get usersAddUserChangePasswordCheckbox() { return browser.element('#changePassword'); }
+
 	get usersAddUserDefaultChannelCheckbox() { return browser.element('#joinDefaultChannels'); }
+
 	get usersAddUserWelcomeEmailCheckbox() { return browser.element('#sendWelcomeEmail'); }
+
 	get usersAddUserRandomPassword() { return browser.element('#randomPassword'); }
+
 	get emojiNewAliases() { return browser.element('#aliases'); }
+
 	get emojiNewImageInput() { return browser.element('#image'); }
+
 	get usersView() { return browser.element('.rc-user-info-action'); }
+
 	get usersActivate() { return browser.element('.rc-popover__item[data-id=activate]'); }
+
 	get usersDeactivate() { return browser.element('.rc-popover__item[data-id=deactivate]'); }
 
 	getUserEl(username) { return browser.element(`.flex-tab button[title="${ username }"] > p`); }
diff --git a/tests/pageobjects/global.js b/tests/pageobjects/global.js
index a3a2c9b12ba..52ac7e144ad 100644
--- a/tests/pageobjects/global.js
+++ b/tests/pageobjects/global.js
@@ -1,13 +1,21 @@
 class Global {
 	// Modal
 	get modalOverlay() { return browser.element('.rc-modal-wrapper'); }
+
 	get modal() { return browser.element('.rc-modal'); }
+
 	get modalConfirm() { return browser.element('.rc-modal .js-confirm'); }
+
 	get modalCancel() { return browser.element('.rc-modal .js-modal'); }
+
 	get modalPasswordField() { return browser.element('.rc-modal [type="password"]'); }
+
 	get modalFileName() { return browser.element('.rc-modal #file-name'); }
+
 	get modalFileDescription() { return browser.element('.rc-modal #file-description'); }
+
 	get modalFilePreview() { return browser.element('.rc-modal .upload-preview-file'); }
+
 	get modalFileTitle() { return browser.element('.rc-modal .upload-preview-title'); }
 
 	get toastAlert() { return browser.element('.toast'); }
diff --git a/tests/pageobjects/login.page.js b/tests/pageobjects/login.page.js
index c18e974521e..11e5c46bde3 100644
--- a/tests/pageobjects/login.page.js
+++ b/tests/pageobjects/login.page.js
@@ -3,23 +3,37 @@ import mainContent from './main-content.page';
 
 class LoginPage extends Page {
 	get registerButton() { return browser.element('button.register'); }
+
 	get forgotPasswordButton() { return browser.element('.forgot-password'); }
+
 	get backToLoginButton() { return browser.element('.back-to-login'); }
+
 	get submitButton() { return browser.element('.login'); }
 
 	get emailOrUsernameField() { return browser.element('[name=emailOrUsername]'); }
+
 	get nameField() { return browser.element('[name=name]'); }
+
 	get emailField() { return browser.element('[name=email]'); }
+
 	get passwordField() { return browser.element('[name=pass]'); }
+
 	get confirmPasswordField() { return browser.element('[name=confirm-pass]'); }
+
 	get reasonField() { return browser.element('[name=reason]'); }
+
 	get inputUsername() { return browser.element('form#login-card input#username'); }
 
 	get emailOrUsernameInvalidText() { return browser.element('[name=emailOrUsername]~.input-error'); }
+
 	get nameInvalidText() { return browser.element('[name=name]~.input-error'); }
+
 	get emailInvalidText() { return browser.element('[name=email]~.input-error'); }
+
 	get passwordInvalidText() { return browser.element('[name=pass]~.input-error'); }
+
 	get confirmPasswordInvalidText() { return browser.element('[name=confirm-pass]~.input-error'); }
+
 	get registrationSucceededCard() { return browser.element('#login-card h2'); }
 
 	open() {
diff --git a/tests/pageobjects/main-content.page.js b/tests/pageobjects/main-content.page.js
index d34fe5b869b..0ac20cff236 100644
--- a/tests/pageobjects/main-content.page.js
+++ b/tests/pageobjects/main-content.page.js
@@ -1,70 +1,118 @@
 import Page from './Page';
 
 class MainContent extends Page {
-
 	get mainContent() { return browser.element('.main-content'); }
 
 	// Main Content Header (Channel Title Area)
 	get emptyFavoriteStar() { return browser.element('.rc-header__toggle-favorite.empty'); }
+
 	get favoriteStar() { return browser.element('.rc-header__toggle-favorite.favorite-room'); }
+
 	get channelTitle() { return browser.element('.rc-header__name'); }
 
 	// Main Content Footer (Message Input Area)
 	get messageInput() { return browser.element('.js-input-message'); }
+
 	get sendBtn() { return browser.element('.rc-message-box__icon.js-send'); }
+
 	get messageBoxActions() { return browser.element('.rc-message-box__icon'); }
+
 	get recordBtn() { return browser.element('.js-audio-message-record'); }
+
 	get videoCamBtn() { return browser.element('.message-buttons .icon-videocam'); }
+
 	get emojiBtn() { return browser.element('.rc-message-box__icon.emoji-picker-icon'); }
+
 	get messagePopUp() { return browser.element('.message-popup'); }
+
 	get messagePopUpTitle() { return browser.element('.message-popup-title'); }
+
 	get messagePopUpItems() { return browser.element('.message-popup-items'); }
+
 	get messagePopUpFirstItem() { return browser.element('.popup-item.selected'); }
+
 	get mentionAllPopUp() { return browser.element('.popup-item[data-id="all"]'); }
+
 	get joinChannelBtn() { return browser.element('.button.join'); }
 
 	// Messages
 	get lastMessageUser() { return browser.element('.message:last-child .title .user-card-message'); }
+
 	get lastMessage() { return browser.element('.message:last-child .body'); }
+
 	get lastMessageDesc() { return browser.element('.message:last-child .body .attachment-description'); }
+
 	get lastMessageRoleAdded() { return browser.element('.message:last-child.subscription-role-added .body'); }
+
 	get beforeLastMessage() { return browser.element('.message:nth-last-child(2) .body'); }
+
 	get lastMessageUserTag() { return browser.element('.message:last-child .role-tag'); }
+
 	get lastMessageImg() { return browser.element('.message:last-child .attachment-image img'); }
+
 	get lastMessageTextAttachment() { return browser.element('.message:last-child .attachment-text'); }
+
 	get beforeLastMessageQuote() { return browser.element('.message:nth-last-child(2)'); }
+
 	get lastMessageQuote() { return browser.element('.message:last-child'); }
+
 	get messageOptionsBtn() { return browser.element('.message:last-child .message-actions__menu'); }
+
 	get messageActionMenu() { return browser.element('.rc-popover .rc-popover__content'); }
+
 	get messageReply() { return browser.element('[data-id="reply-in-thread"][data-type="message-action"]'); }
+
 	get messageEdit() { return browser.element('[data-id="edit-message"][data-type="message-action"]'); }
+
 	get messageDelete() { return browser.element('[data-id="delete-message"][data-type="message-action"]'); }
+
 	get messagePermalink() { return browser.element('[data-id="permalink"][data-type="message-action"]'); }
+
 	get messageCopy() { return browser.element('[data-id="copy"][data-type="message-action"]'); }
+
 	get messageQuote() { return browser.element('[data-id="quote-message"][data-type="message-action"]'); }
+
 	get messageStar() { return browser.element('[data-id="star-message"][data-type="message-action"]'); }
+
 	get messageUnread() { return browser.element('[data-id="mark-message-as-unread"][data-type="message-action"]'); }
+
 	// get messageReaction() { return browser.element('.message-actions__button[data-message-action="reaction-message"]'); }
 	get messagePin() { return browser.element('[data-id="pin-message"][data-type="message-action"]'); }
 	// get messageClose() { return browser.element('[data-id="rc-popover-close"][data-type="message-action"]'); }
 
 	// Emojis
 	get emojiPickerMainScreen() { return browser.element('.emoji-picker'); }
+
 	get emojiPickerPeopleIcon() { return browser.element('.emoji-picker .icon-people'); }
+
 	get emojiPickerNatureIcon() { return browser.element('.emoji-picker .icon-nature'); }
+
 	get emojiPickerFoodIcon() { return browser.element('.emoji-picker .icon-food'); }
+
 	get emojiPickerActivityIcon() { return browser.element('.emoji-picker .icon-activity'); }
+
 	get emojiPickerTravelIcon() { return browser.element('.emoji-picker .icon-travel'); }
+
 	get emojiPickerObjectsIcon() { return browser.element('.emoji-picker .icon-objects'); }
+
 	get emojiPickerSymbolsIcon() { return browser.element('.emoji-picker .icon-symbols'); }
+
 	get emojiPickerFlagsIcon() { return browser.element('.emoji-picker .icon-flags'); }
+
 	get emojiPickerModifierIcon() { return browser.element('.emoji-picker .icon-symbols'); }
+
 	get emojiPickerChangeTone() { return browser.element('.emoji-picker .change-tone'); }
+
 	get emojiPickerCustomIcon() { return browser.element('.emoji-picker .icon-rocket'); }
+
 	get emojiPickerRecentIcon() { return browser.element('.emoji-picker .icon-recent'); }
+
 	get emojiPickerFilter() { return browser.element('.emoji-picker .js-emojipicker-search'); }
+
 	get emojiPickerEmojiContainer() { return browser.element('.emoji-picker .emojis'); }
+
 	get emojiGrinning() { return browser.element('.emoji-picker .emoji-grinning'); }
+
 	get emojiSmile() { return browser.element('.emoji-picker .emoji-smile'); }
 
 	// Popover
@@ -107,7 +155,6 @@ class MainContent extends Page {
 	}
 
 	waitForLastMessageTextAttachmentEqualsText(text) {
-
 		browser.waitForVisible('.message:last-child .attachment-text', 5000);
 		return browser.getText('.message:last-child .attachment-text') === text;
 	}
diff --git a/tests/pageobjects/preferences-main-content.page.js b/tests/pageobjects/preferences-main-content.page.js
index 8f9e15bf173..f2cbdb6837b 100644
--- a/tests/pageobjects/preferences-main-content.page.js
+++ b/tests/pageobjects/preferences-main-content.page.js
@@ -2,16 +2,25 @@ import Page from './Page';
 
 class PreferencesMainContent extends Page {
 	get formTextInput() { return browser.element('.rocket-form'); }
+
 	get realNameTextInput() { return browser.element('input[name="realname"]'); }
+
 	get userNameTextInput() { return browser.element('input[name="username"]'); }
+
 	get emailTextInput() { return browser.element('[name="email"]'); }
+
 	get passwordTextInput() { return browser.element('[name="password"]'); }
+
 	get resendVerificationEmailBtn() { return browser.element('#resend-verification-email'); }
+
 	get avatarFileInput() { return browser.element('.avatar-file-input'); }
+
 	get useUploadedAvatar() { return browser.element('.avatar-suggestion-item:nth-of-type(2) .select-service'); }
+
 	get submitBtn() { return browser.element('.rc-button[type="submit"]'); }
 
 	realNameTextInputEnabled() { return browser.isEnabled('input[name="realname"]'); }
+
 	userNameTextInputEnabled() { return browser.isEnabled('input[name="username"]'); }
 
 	changeUsername(userName) {
diff --git a/tests/pageobjects/settings.js b/tests/pageobjects/settings.js
index b01c6207891..e1f3794c547 100644
--- a/tests/pageobjects/settings.js
+++ b/tests/pageobjects/settings.js
@@ -17,8 +17,8 @@ function api(path) {
 
 export async function getSettingValue(name) {
 	let credentials = {
-		['X-Auth-Token']: undefined,
-		['X-User-Id']: undefined,
+		'X-Auth-Token': undefined,
+		'X-User-Id': undefined,
 	};
 
 	// login
@@ -28,8 +28,8 @@ export async function getSettingValue(name) {
 		.expect(200);
 
 	credentials = {
-		['X-Auth-Token']: reponseLogin.body.data.authToken,
-		['X-User-Id']: reponseLogin.body.data.userId,
+		'X-Auth-Token': reponseLogin.body.data.authToken,
+		'X-User-Id': reponseLogin.body.data.userId,
 	};
 
 	const responseGetSetting = await request.get(api(`settings/${ name }`))
@@ -44,4 +44,3 @@ export async function getSettingValue(name) {
 
 	return responseGetSetting.body.value;
 }
-
diff --git a/tests/pageobjects/setup-wizard.page.js b/tests/pageobjects/setup-wizard.page.js
index d037d138a45..296f178bfc2 100644
--- a/tests/pageobjects/setup-wizard.page.js
+++ b/tests/pageobjects/setup-wizard.page.js
@@ -4,17 +4,29 @@ import { adminEmail, adminPassword } from '../data/user';
 
 class SetupWizard extends Page {
 	get nextButton() { return browser.element('.setup-wizard-forms__footer-next:enabled'); }
+
 	get goToWorkspace() { return browser.element('button.js-finish'); }
+
 	get organizationType() { return browser.element('select[name="Organization_Type"]'); }
+
 	get organizationName() { return browser.element('input[name="Organization_Name"]'); }
+
 	get industry() { return browser.element('select[name="Industry"]'); }
+
 	get size() { return browser.element('select[name="Size"]'); }
+
 	get country() { return browser.element('select[name="Country"]'); }
+
 	get website() { return browser.element('input[name="Website"]'); }
+
 	get siteName() { return browser.element('input[name="Site_Name"]'); }
+
 	get language() { return browser.element('select[name="Language"]'); }
+
 	get serverType() { return browser.element('select[name="Server_Type"]'); }
+
 	get registeredServer() { return browser.element('input[name="registerServer"][value="true"]'); }
+
 	get standaloneServer() { return browser.element('input[name="registerServer"][value="false"]'); }
 
 	login() {
diff --git a/tests/pageobjects/side-nav.page.js b/tests/pageobjects/side-nav.page.js
index baed6e3b07a..6cf4b2f3c89 100644
--- a/tests/pageobjects/side-nav.page.js
+++ b/tests/pageobjects/side-nav.page.js
@@ -3,49 +3,77 @@ import Page from './Page';
 class SideNav extends Page {
 	// New channel
 	get channelType() { return browser.element('.create-channel__content .rc-switch__button'); }
+
 	get channelReadOnly() { return browser.elements('.create-channel__switches .rc-switch__button').value[1]; }
+
 	get channelName() { return browser.element('.create-channel__content input[name="name"]'); }
+
 	get saveChannelBtn() { return browser.element('.rc-modal__content [data-button="create"]'); }
 
 	// Account box
 	getPopOverContent() { return browser.element('.rc-popover__content'); }
+
 	get accountBoxUserName() { return browser.element('.sidebar__account-username'); }
+
 	get accountBoxUserAvatar() { return browser.element('.sidebar__account .avatar-image'); }
+
 	get accountMenu() { return browser.element('.sidebar__account'); }
+
 	get sidebarHeader() { return browser.element('.sidebar__header'); }
+
 	get sidebarUserMenu() { return browser.element('.sidebar__header .avatar'); }
+
 	get sidebarMenu() { return browser.element('.sidebar__toolbar-button-icon--menu'); }
+
 	get popOverContent() { return browser.element('.rc-popover__content'); }
+
 	get statusOnline() { return browser.element('.rc-popover__item--online'); }
+
 	get statusAway() { return browser.element('.rc-popover__item--away'); }
+
 	get statusBusy() { return browser.element('.rc-popover__item--busy'); }
+
 	get statusOffline() { return browser.element('.rc-popover__item--offline'); }
+
 	get account() { return browser.element('[data-id="account"][data-type="open"]'); }
+
 	get admin() { return browser.element('[data-id="administration"][data-type="open"]'); }
+
 	get logout() { return browser.element('[data-id="logout"][data-type="open"]'); }
+
 	get sideNavBar() { return browser.element('.sidebar'); }
 
 	// Toolbar
 	get spotlightSearchIcon() { return browser.element('.sidebar__toolbar-button-icon--magnifier'); }
+
 	get spotlightSearch() { return browser.element('.toolbar__search input'); }
+
 	get spotlightSearchPopUp() { return browser.element('.rooms-list__toolbar-search'); }
+
 	get newChannelBtnToolbar() { return browser.element('.sidebar__toolbar-button-icon--edit-rounded'); }
 
 	get newChannelBtn() { return browser.element('.rc-popover__icon-element--hashtag'); }
+
 	get newDiscussionBtn() { return browser.element('.rc-popover__icon-element--discussion'); }
 
 	get newChannelIcon() { return browser.element('.toolbar__icon.toolbar__search-create-channel'); }
 
 	// Rooms List
 	get general() { return this.getChannelFromList('general'); }
+
 	get channelLeave() { return browser.element('.leave-room'); }
+
 	get channelHoverIcon() { return browser.element('.rooms-list > .wrapper > ul [title="general"] .icon-eye-off'); }
+
 	get moreChannels() { return browser.element('.rooms-list .more-channels'); }
 
 	// Account
 	get preferences() { return browser.element('[href="/account/preferences"]'); }
+
 	get profile() { return browser.element('[href="/account/profile"]'); }
+
 	get avatar() { return browser.element('[href="/changeavatar"]'); }
+
 	get preferencesClose() { return browser.element('.sidebar-flex__close-button[data-action="close"]'); }
 
 	get burgerBtn() { return browser.element('.burger'); }
@@ -53,7 +81,9 @@ class SideNav extends Page {
 	get sidebarWrap() { return browser.element('.sidebar-wrap'); }
 
 	get firstSidebarItem() { return browser.element('.sidebar-item'); }
+
 	get firstSidebarItemMenu() { return browser.element('.sidebar-item__menu'); }
+
 	get popoverOverlay() { return browser.element('.rc-popover.rc-popover--sidebar-item'); }
 
 	// Opens a channel via rooms list
-- 
GitLab