Merge branch 'develop' into replace-demo-with-open

pull/8793/head
Rodrigo Nascimento 8 years ago committed by GitHub
commit 1b38f872bf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 88
      .circleci/config.yml
  2. 2
      .docker/Dockerfile
  3. 4
      .eslintrc
  4. 35
      .meteor/packages
  5. 2
      .meteor/release
  6. 93
      .meteor/versions
  7. 16
      .postcssrc
  8. 2
      .snapcraft/snapcraft.yaml
  9. 2
      .travis.yml
  10. 7
      client/lib/handleError.js
  11. 1
      client/methods/deleteMessage.js
  12. 1
      client/methods/updateMessage.js
  13. 3
      client/routes/router.js
  14. 16
      lib/underscore.string.js
  15. 11962
      package-lock.json
  16. 44
      package.json
  17. 3
      packages/autoupdate/package.js
  18. 70
      packages/meteor-accounts-saml/.npm/package/npm-shrinkwrap.json
  19. 2
      packages/meteor-accounts-saml/package.js
  20. 1
      packages/meteor-accounts-saml/saml_server.js
  21. 1
      packages/meteor-autocomplete/client/autocomplete-client.js
  22. 2
      packages/meteor-autocomplete/client/templates.js
  23. 2
      packages/meteor-autocomplete/package.js
  24. 2
      packages/meteor-timesync/package.js
  25. 7
      packages/rocketchat-2fa/.npm/package/npm-shrinkwrap.json
  26. 17
      packages/rocketchat-api/.npm/package/npm-shrinkwrap.json
  27. 1
      packages/rocketchat-api/package.js
  28. 2
      packages/rocketchat-api/server/api.js
  29. 2
      packages/rocketchat-api/server/v1/channels.js
  30. 2
      packages/rocketchat-api/server/v1/groups.js
  31. 12
      packages/rocketchat-api/server/v1/im.js
  32. 3
      packages/rocketchat-api/server/v1/integrations.js
  33. 2
      packages/rocketchat-api/server/v1/misc.js
  34. 2
      packages/rocketchat-api/server/v1/settings.js
  35. 2
      packages/rocketchat-api/server/v1/users.js
  36. 13
      packages/rocketchat-assets/.npm/package/npm-shrinkwrap.json
  37. 1
      packages/rocketchat-assets/package.js
  38. 1
      packages/rocketchat-assets/server/assets.js
  39. 2
      packages/rocketchat-authorization/client/lib/models/Subscriptions.js
  40. 2
      packages/rocketchat-authorization/client/lib/models/Users.js
  41. 1
      packages/rocketchat-authorization/package.js
  42. 2
      packages/rocketchat-authorization/server/functions/addUserRoles.js
  43. 2
      packages/rocketchat-authorization/server/functions/removeUserFromRoles.js
  44. 2
      packages/rocketchat-authorization/server/methods/addUserToRole.js
  45. 2
      packages/rocketchat-authorization/server/methods/removeUserFromRole.js
  46. 2
      packages/rocketchat-authorization/server/models/Base.js
  47. 2
      packages/rocketchat-authorization/server/models/Subscriptions.js
  48. 3
      packages/rocketchat-autolinker/.npm/package/npm-shrinkwrap.json
  49. 4
      packages/rocketchat-autolinker/client/client.js
  50. 2
      packages/rocketchat-autotranslate/client/lib/autotranslate.js
  51. 1
      packages/rocketchat-autotranslate/client/views/autoTranslateFlexTab.js
  52. 3
      packages/rocketchat-autotranslate/server/autotranslate.js
  53. 1
      packages/rocketchat-bot-helpers/package.js
  54. 2
      packages/rocketchat-bot-helpers/server/index.js
  55. 46
      packages/rocketchat-cas/.npm/package/npm-shrinkwrap.json
  56. 1
      packages/rocketchat-cas/package.js
  57. 1
      packages/rocketchat-cas/server/cas_server.js
  58. 2
      packages/rocketchat-channel-settings-mail-messages/client/views/mailMessagesInstructions.js
  59. 1
      packages/rocketchat-channel-settings-mail-messages/server/methods/mailMessages.js
  60. 1
      packages/rocketchat-channel-settings/client/lib/ChannelSettings.js
  61. 1
      packages/rocketchat-channel-settings/client/views/channelSettings.js
  62. 2
      packages/rocketchat-channel-settings/server/functions/saveRoomAnnouncement.js
  63. 2
      packages/rocketchat-channel-settings/server/functions/saveRoomDescription.js
  64. 2
      packages/rocketchat-channel-settings/server/functions/saveRoomTopic.js
  65. 4
      packages/rocketchat-colors/client/client.js
  66. 1
      packages/rocketchat-cors/cors.js
  67. 3
      packages/rocketchat-crowd/.npm/package/npm-shrinkwrap.json
  68. 2
      packages/rocketchat-custom-oauth/client/custom_oauth_client.js
  69. 2
      packages/rocketchat-custom-oauth/package.js
  70. 1
      packages/rocketchat-custom-oauth/server/custom_oauth_server.js
  71. 4
      packages/rocketchat-custom-sounds/client/admin/adminSounds.js
  72. 1
      packages/rocketchat-custom-sounds/client/admin/soundEdit.js
  73. 2
      packages/rocketchat-custom-sounds/client/lib/CustomSounds.js
  74. 1
      packages/rocketchat-custom-sounds/package.js
  75. 2
      packages/rocketchat-custom-sounds/server/methods/insertOrUpdateSound.js
  76. 2
      packages/rocketchat-custom-sounds/server/publications/customSounds.js
  77. 2
      packages/rocketchat-custom-sounds/server/startup/custom-sounds.js
  78. 4
      packages/rocketchat-emoji-custom/admin/adminEmoji.js
  79. 1
      packages/rocketchat-emoji-custom/admin/emojiEdit.js
  80. 1
      packages/rocketchat-emoji-custom/package.js
  81. 3
      packages/rocketchat-emoji-custom/server/methods/insertOrUpdateEmoji.js
  82. 2
      packages/rocketchat-emoji-custom/server/publications/fullEmojiData.js
  83. 2
      packages/rocketchat-emoji-custom/server/startup/emoji-custom.js
  84. 6
      packages/rocketchat-emoji/client/emojiParser.js
  85. 2
      packages/rocketchat-emoji/client/lib/EmojiPicker.js
  86. 1
      packages/rocketchat-emoji/package.js
  87. 13
      packages/rocketchat-file-upload/.npm/package/npm-shrinkwrap.json
  88. 1
      packages/rocketchat-file-upload/lib/FileUploadBase.js
  89. 1
      packages/rocketchat-file-upload/package.js
  90. 1
      packages/rocketchat-file-upload/server/config/AmazonS3.js
  91. 1
      packages/rocketchat-file-upload/server/config/FileSystem.js
  92. 1
      packages/rocketchat-file-upload/server/config/GoogleStorage.js
  93. 1
      packages/rocketchat-file-upload/server/config/Slingshot_DEPRECATED.js
  94. 1
      packages/rocketchat-file-upload/server/config/_configUploadStorage.js
  95. 2
      packages/rocketchat-file-upload/server/methods/sendFileMessage.js
  96. 2
      packages/rocketchat-file-upload/ufs/AmazonS3/server.js
  97. 31
      packages/rocketchat-file/.npm/package/npm-shrinkwrap.json
  98. 591
      packages/rocketchat-google-vision/.npm/package/npm-shrinkwrap.json
  99. 6
      packages/rocketchat-highlight-words/client/client.js
  100. 8
      packages/rocketchat-i18n/i18n/de.i18n.json
  101. Some files were not shown because too many files have changed in this diff Show More

@ -6,18 +6,18 @@ jobs:
build:
<<: *defaults
docker:
- image: circleci/node:4.8
- image: circleci/node:8
steps:
- checkout
- restore_cache:
keys:
- node-modules-cache-{{ checksum ".circleci/config.yml" }}-{{ checksum "package.json" }}
# - restore_cache:
# keys:
# - node-modules-cache-{{ checksum ".circleci/config.yml" }}-{{ checksum "package.json" }}
- restore_cache:
keys:
- meteor-{{ checksum ".circleci/config.yml" }}-{{ checksum ".meteor/release" }}
# - restore_cache:
# keys:
# - meteor-{{ checksum ".circleci/config.yml" }}-{{ checksum ".meteor/release" }}
- run:
name: Install Meteor
@ -67,17 +67,17 @@ jobs:
command: |
meteor npm run testunit
- restore_cache:
keys:
- meteor-cache-{{ checksum ".circleci/config.yml" }}-{{ checksum ".meteor/versions" }}
# - restore_cache:
# keys:
# - meteor-cache-{{ checksum ".circleci/config.yml" }}-{{ checksum ".meteor/versions" }}
- restore_cache:
keys:
- livechat-meteor-cache-{{ checksum ".circleci/config.yml" }}-{{ checksum "packages/rocketchat-livechat/app/.meteor/versions" }}
# - restore_cache:
# keys:
# - livechat-meteor-cache-{{ checksum ".circleci/config.yml" }}-{{ checksum "packages/rocketchat-livechat/app/.meteor/versions" }}
- restore_cache:
keys:
- livechat-node-modules-cache-{{ checksum ".circleci/config.yml" }}-{{ checksum "packages/rocketchat-livechat/app/package.json" }}
# - restore_cache:
# keys:
# - livechat-node-modules-cache-{{ checksum ".circleci/config.yml" }}-{{ checksum "packages/rocketchat-livechat/app/package.json" }}
- run:
name: Build Rocket.Chat
@ -97,30 +97,30 @@ jobs:
cd /tmp/build-test/bundle/programs/server
npm install
- save_cache:
key: node-modules-cache-{{ checksum ".circleci/config.yml" }}-{{ checksum "package.json" }}
paths:
- ./node_modules
# - save_cache:
# key: node-modules-cache-{{ checksum ".circleci/config.yml" }}-{{ checksum "package.json" }}
# paths:
# - ./node_modules
- save_cache:
key: meteor-cache-{{ checksum ".circleci/config.yml" }}-{{ checksum ".meteor/versions" }}
paths:
- ./.meteor/local
# - save_cache:
# key: meteor-cache-{{ checksum ".circleci/config.yml" }}-{{ checksum ".meteor/versions" }}
# paths:
# - ./.meteor/local
- save_cache:
key: livechat-node-modules-cache-{{ checksum ".circleci/config.yml" }}-{{ checksum "packages/rocketchat-livechat/app/package.json" }}
paths:
- ./packages/rocketchat-livechat/app/node_modules
# - save_cache:
# key: livechat-node-modules-cache-{{ checksum ".circleci/config.yml" }}-{{ checksum "packages/rocketchat-livechat/app/package.json" }}
# paths:
# - ./packages/rocketchat-livechat/app/node_modules
- save_cache:
key: livechat-meteor-cache-{{ checksum ".circleci/config.yml" }}-{{ checksum "packages/rocketchat-livechat/app/.meteor/versions" }}
paths:
- ./packages/rocketchat-livechat/app/.meteor/local
# - save_cache:
# key: livechat-meteor-cache-{{ checksum ".circleci/config.yml" }}-{{ checksum "packages/rocketchat-livechat/app/.meteor/versions" }}
# paths:
# - ./packages/rocketchat-livechat/app/.meteor/local
- save_cache:
key: meteor-{{ checksum ".circleci/config.yml" }}-{{ checksum ".meteor/release" }}
paths:
- ~/.meteor
# - save_cache:
# key: meteor-{{ checksum ".circleci/config.yml" }}-{{ checksum ".meteor/release" }}
# paths:
# - ~/.meteor
- persist_to_workspace:
root: /tmp/
@ -134,7 +134,7 @@ jobs:
test-with-oplog:
<<: *defaults
docker:
- image: circleci/node:4.8-browsers
- image: circleci/node:8-browsers
- image: mongo:3.4
command: [mongod, --nojournal, --noprealloc, --smallfiles, --replSet=rs0]
@ -163,11 +163,6 @@ jobs:
mongo --eval 'rs.initiate({_id:"rs0", members: [{"_id":1, "host":"localhost:27017"}]})'
mongo --eval 'rs.status()'
- run:
name: Update NPM
command: |
sudo npm install -g npm
- run:
name: NPM install
command: |
@ -179,12 +174,12 @@ jobs:
for i in $(seq 1 5); do npm test && s=0 && break || s=$? && sleep 1; done; (exit $s)
- store_artifacts:
path: ~/repo/.screenshots
path: .screenshots/
test-without-oplog:
<<: *defaults
docker:
- image: circleci/node:4.8-browsers
- image: circleci/node:8-browsers
- image: circleci/mongo:3.4
environment:
@ -197,11 +192,6 @@ jobs:
- checkout
- run:
name: Update NPM
command: |
sudo npm install -g npm
- run:
name: NPM install
command: |

@ -1,4 +1,4 @@
FROM rocketchat/base:4
FROM rocketchat/base:8
ENV RC_VERSION 0.59.0-develop

@ -3,7 +3,7 @@
"sourceType": "module",
"ecmaVersion": 2017,
"ecmaFeatures": {
"experimentalObjectRestSpread" : true,
"experimentalObjectRestSpread" : true
}
},
"env": {
@ -89,7 +89,6 @@
"object-shorthand": 2
},
"globals": {
"_" : false,
"__meteor_runtime_config__" : false,
"AccountBox" : false,
"Accounts" : false,
@ -135,7 +134,6 @@
"RocketChatFile" : false,
"RoomHistoryManager" : false,
"RoomManager" : false,
"s" : false,
"ServiceConfiguration" : false,
"Session" : false,
"Settings" : false,

@ -4,36 +4,36 @@
# but you can also edit it by hand.
rocketchat:cors
accounts-facebook@1.2.1
accounts-github@1.3.0
accounts-google@1.2.0
accounts-meteor-developer@1.3.0
accounts-password@1.4.0
accounts-twitter@1.3.0
accounts-facebook@1.3.0
accounts-github@1.4.0
accounts-google@1.3.0
accounts-meteor-developer@1.4.0
accounts-password@1.5.0
accounts-twitter@1.4.0
blaze-html-templates
check@1.2.5
ddp-rate-limiter@1.0.7
ecmascript@0.8.3
ejson@1.0.14
ecmascript@0.9.0
ejson@1.1.0
email@1.2.3
fastclick@1.0.13
http@1.2.12
http@1.3.0
jquery@1.11.10
less@2.7.9
logging@1.1.17
meteor-base@1.1.0
less@2.7.11
logging@1.1.19
meteor-base@1.2.0
mobile-experience@1.0.5
mongo@1.2.2
mongo@1.3.0
random@1.0.10
rate-limit@1.0.8
reactive-dict@1.1.9
reactive-dict@1.2.0
reactive-var@1.0.11
reload@1.1.11
service-configuration@1.0.11
session@1.1.7
shell-server@0.2.4
shell-server@0.3.0
spacebars
standard-minifier-js@2.1.2
standard-minifier-js@2.2.0
tracker@1.1.3
rocketchat:2fa
@ -170,10 +170,9 @@ smoral:sweetalert
steffo:meteor-accounts-saml
tmeasday:crypto-md5
todda00:friendly-slugs
underscorestring:underscore.string
yasaricli:slugify
yasinuslu:blaze-meta
deepwell:bootstrap-datepicker2
rocketchat:postcss
dynamic-import@0.1.3
dynamic-import@0.2.0
keepnox:perfect-scrollbar

@ -1 +1 @@
METEOR@1.5.2.2
METEOR@1.6

@ -1,49 +1,49 @@
accounts-base@1.3.4
accounts-facebook@1.2.1
accounts-github@1.3.0
accounts-google@1.2.0
accounts-meteor-developer@1.3.0
accounts-base@1.4.0
accounts-facebook@1.3.0
accounts-github@1.4.0
accounts-google@1.3.0
accounts-meteor-developer@1.4.0
accounts-oauth@1.1.15
accounts-password@1.4.0
accounts-twitter@1.3.0
accounts-password@1.5.0
accounts-twitter@1.4.0
aldeed:simple-schema@1.5.3
allow-deny@1.0.9
allow-deny@1.1.0
autoupdate@1.3.12
babel-compiler@6.20.0
babel-runtime@1.0.1
babel-compiler@6.24.7
babel-runtime@1.1.1
base64@1.0.10
binary-heap@1.0.10
blaze@2.3.2
blaze-html-templates@1.1.2
blaze-tools@1.0.10
boilerplate-generator@1.2.0
boilerplate-generator@1.3.0
caching-compiler@1.1.9
caching-html-compiler@1.1.2
callback-hook@1.0.10
cfs:http-methods@0.0.32
check@1.2.5
coffeescript@1.12.7_1
coffeescript-compiler@1.12.7_1
coffeescript@1.12.7_3
coffeescript-compiler@1.12.7_3
dandv:caret-position@2.1.1
ddp@1.3.1
ddp-client@2.1.3
ddp-common@1.2.9
ddp@1.4.0
ddp-client@2.2.0
ddp-common@1.3.0
ddp-rate-limiter@1.0.7
ddp-server@2.0.2
ddp-server@2.1.0
deepwell:bootstrap-datepicker2@1.3.0
deps@1.0.12
diff-sequence@1.0.7
dispatch:run-as-user@1.1.1
dynamic-import@0.1.3
ecmascript@0.8.3
ecmascript-runtime@0.4.1
ecmascript-runtime-client@0.4.3
ecmascript-runtime-server@0.4.1
dynamic-import@0.2.0
ecmascript@0.9.0
ecmascript-runtime@0.5.0
ecmascript-runtime-client@0.5.0
ecmascript-runtime-server@0.5.0
edgee:slingshot@0.7.1
ejson@1.0.14
ejson@1.1.0
email@1.2.3
emojione:emojione@2.2.6
facebook-oauth@1.3.2
facebook-oauth@1.4.0
fastclick@1.0.13
francocatena:status@1.5.3
geojson-utils@1.0.10
@ -52,7 +52,7 @@ google-oauth@1.2.4
hot-code-push@1.0.4
html-tools@1.0.11
htmljs@1.0.11
http@1.2.12
http@1.3.0
id-map@1.0.9
jalik:ufs@0.7.4_1
jalik:ufs-gridfs@0.2.1
@ -71,29 +71,29 @@ konecty:multiple-instances-status@1.0.6_1
konecty:nrr@2.0.2
konecty:user-presence@1.2.9
launch-screen@1.1.1
less@2.7.9
less@2.7.11
livedata@1.0.18
localstorage@1.1.1
logging@1.1.17
localstorage@1.2.0
logging@1.1.19
matb33:collection-hooks@0.8.4
mdg:validation-error@0.5.1
meteor@1.7.2
meteor-base@1.1.0
meteor@1.8.0
meteor-base@1.2.0
meteor-developer-oauth@1.2.0
meteorhacks:inject-initial@1.0.4
meteorhacks:meteorx@1.4.1
meteorspark:util@0.2.0
minifier-css@1.2.16
minifier-js@2.1.4
minimongo@1.3.2
minifier-js@2.2.1
minimongo@1.4.0
mizzao:autocomplete@0.5.1
mizzao:timesync@0.3.4
mobile-experience@1.0.5
mobile-status-bar@1.0.14
modules@0.10.0
modules-runtime@0.8.0
mongo@1.2.2
mongo-dev-server@1.0.1
modules@0.11.0
modules-runtime@0.9.0
mongo@1.3.0
mongo-dev-server@1.1.0
mongo-id@1.0.6
mongo-livedata@1.0.12
mrt:reactive-store@0.0.1
@ -101,17 +101,17 @@ mystor:device-detection@0.2.0
nimble:restivus@0.8.12
nooitaf:colors@1.1.2_1
npm-bcrypt@0.9.3
npm-mongo@2.2.30
oauth@1.1.13
oauth1@1.1.11
oauth2@1.1.11
npm-mongo@2.2.33
oauth@1.2.0
oauth1@1.2.0
oauth2@1.2.0
observe-sequence@1.0.16
ordered-dict@1.0.9
ostrio:cookies@2.2.2
ostrio:cookies@2.2.3
pauli:accounts-linkedin@2.1.3
pauli:linkedin-oauth@1.2.0
percolate:synced-cron@1.3.2
promise@0.9.0
promise@0.10.0
raix:eventemitter@0.1.3
raix:eventstate@0.0.4
raix:handlebar-helpers@0.2.5
@ -119,7 +119,7 @@ raix:push@3.0.3-rc.7
raix:ui-dropped-event@0.0.7
random@1.0.10
rate-limit@1.0.8
reactive-dict@1.1.9
reactive-dict@1.2.0
reactive-var@1.0.11
reload@1.1.11
retry@1.0.9
@ -232,13 +232,13 @@ routepolicy@1.0.12
service-configuration@1.0.11
session@1.1.7
sha@1.0.9
shell-server@0.2.4
shell-server@0.3.0
simple:json-routes@2.1.0
smoral:sweetalert@1.1.1
spacebars@1.0.15
spacebars-compiler@1.1.3
srp@1.0.10
standard-minifier-js@2.1.2
standard-minifier-js@2.2.1
steffo:meteor-accounts-saml@0.0.1
tap:i18n@1.8.2
templating@1.3.2
@ -252,9 +252,8 @@ tracker@1.1.3
twitter-oauth@1.2.0
ui@1.0.13
underscore@1.0.10
underscorestring:underscore.string@3.3.4
url@1.1.0
webapp@1.3.19
webapp@1.4.0
webapp-hashing@1.0.9
yasaricli:slugify@0.0.7
yasinuslu:blaze-meta@0.3.3

@ -1,12 +1,14 @@
{
"plugins": {
"postcss-smart-import": {},
"postcss-cssnext": {
"features": {
"customProperties": {
"preserve": true
}
},
"postcss-import": {},
"postcss-custom-properties": {
"preserve": true
},
"postcss-media-minmax": {},
"postcss-selector-not": {},
"postcss-calc": {},
"postcss-nesting": {},
"autoprefixer": {
"browsers": [
"ie > 10",
"last 2 Edge versions",

@ -39,7 +39,7 @@ apps:
parts:
node:
plugin: nodejs
node-engine: 4.8.4
node-engine: 8.8.1
build-packages:
# For fibers
- python

@ -9,7 +9,7 @@ branches:
git:
depth: 1
node_js:
- '4'
- '8'
addons:
apt:
sources:

@ -1,4 +1,7 @@
import _ from 'underscore';
import s from 'underscore.string';
import toastr from 'toastr';
this.handleError = function(error, useToastr = true) {
if (_.isObject(error.details)) {
for (const key in error.details) {
@ -9,8 +12,8 @@ this.handleError = function(error, useToastr = true) {
}
if (useToastr) {
return toastr.error(_.escapeHTML(TAPi18n.__(error.error, error.details)), error.details && error.details.errorTitle ? _.escapeHTML(TAPi18n.__(error.details.errorTitle)) : null);
return toastr.error(s.escapeHTML(TAPi18n.__(error.error, error.details)), error.details && error.details.errorTitle ? s.escapeHTML(TAPi18n.__(error.details.errorTitle)) : null);
}
return _.escapeHTML(TAPi18n.__(error.error, error.details));
return s.escapeHTML(TAPi18n.__(error.error, error.details));
};

@ -1,3 +1,4 @@
import _ from 'underscore';
import moment from 'moment';
Meteor.methods({

@ -1,3 +1,4 @@
import _ from 'underscore';
import moment from 'moment';
import toastr from 'toastr';

@ -1,4 +1,5 @@
/* globals KonchatNotification */
import s from 'underscore.string';
Blaze.registerHelper('pathFor', function(path, kw) {
return FlowRouter.path(path, kw.hash);
@ -75,7 +76,7 @@ FlowRouter.route('/account/:group?', {
if (!params.group) {
params.group = 'Preferences';
}
params.group = _.capitalize(params.group, true);
params.group = s.capitalize(params.group, true);
BlazeLayout.render('main', { center: `account${ params.group }` });
},
triggersExit: [function() {

@ -1,16 +0,0 @@
/* globals mixin */
// This will add underscore.string methods to Underscore.js
// except for include, contains, reverse and join that are
// dropped because they collide with the functions already
// defined by Underscore.js.
mixin = function(obj) {
_.each(_.functions(obj), function(name) {
if (!_[name] && !_.prototype[name]) {
_[name] = obj[name];
}
});
};
mixin(s.exports());

11962
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -86,45 +86,51 @@
"email": "support@rocket.chat"
},
"devDependencies": {
"autoprefixer": "^7.1.6",
"babel-mocha-es6-compiler": "^0.1.0",
"babel-plugin-array-includes": "^2.0.3",
"chimp": "^0.50.0",
"conventional-changelog-cli": "^1.3.3",
"eslint": "^4.8.0",
"chimp": "^0.50.2",
"conventional-changelog-cli": "^1.3.4",
"eslint": "^4.10.0",
"mock-require": "^2.0.2",
"postcss-cssnext": "^2.11.0",
"postcss-smart-import": "^0.7.5",
"postcss-calc": "^6.0.1",
"postcss-custom-properties": "^6.2.0",
"postcss-import": "^11.0.0",
"postcss-media-minmax": "^3.0.0",
"postcss-nesting": "^3.0.0",
"postcss-selector-not": "^3.0.1",
"proxyquire": "^1.8.0",
"simple-git": "^1.77.0",
"stylelint": "^8.1.1",
"simple-git": "^1.80.1",
"stylelint": "^8.2.0",
"stylelint-order": "^0.7.0",
"supertest": "^3.0.0",
"underscore": "^1.8.3",
"underscore.string": "^3.3.4"
"supertest": "^3.0.0"
},
"dependencies": {
"@google-cloud/storage": "^1.3.1",
"aws-sdk": "^2.125.0",
"@google-cloud/storage": "^1.4.0",
"aws-sdk": "^2.141.0",
"babel-runtime": "^6.26.0",
"bcrypt": "^1.0.3",
"bunyan": "^1.8.12",
"codemirror": "^5.30.0",
"codemirror": "^5.31.0",
"core-js": "2.5.1",
"emailreplyparser": "0.0.5",
"file-type": "^6.2.0",
"file-type": "^7.2.0",
"highlight.js": "^9.12.0",
"imap": "^0.8.19",
"jquery": "^3.2.1",
"ldapjs": "^1.0.1",
"mailparser-node4": "^2.0.2-2",
"mime-db": "^1.30.0",
"mime-db": "^1.31.0",
"mime-type": "^3.0.5",
"moment": "^2.18.1",
"moment-timezone": "^0.5.13",
"moment": "^2.19.1",
"moment-timezone": "^0.5.14",
"photoswipe": "^4.1.2",
"poplib": "^0.1.7",
"prom-client": "^10.1.1",
"prom-client": "^10.2.1",
"semver": "^5.4.1",
"toastr": "^2.1.2",
"wolfy87-eventemitter": "^5.2.2"
"underscore": "^1.8.3",
"underscore.string": "^3.3.4",
"wolfy87-eventemitter": "^5.2.3"
}
}

@ -16,8 +16,7 @@ Package.onUse(function (api) {
api.use([
'ddp',
'mongo',
'underscore'
'mongo'
], ['client', 'server']);
api.use(['http', 'random'], 'web.cordova');

@ -1,139 +1,115 @@
{
"lockfileVersion": 1,
"dependencies": {
"async": {
"version": "0.2.10",
"resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
"from": "async@>=0.2.7 <0.3.0"
},
"buffer-crc32": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz",
"from": "buffer-crc32@0.2.1"
"integrity": "sha1-vj5TgvwCttYySVasGvmKqYsIU0w="
},
"bytes": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz",
"from": "bytes@0.2.0"
"integrity": "sha1-qtM+wU49wsp06OfUUfm6BTrU96A="
},
"connect": {
"version": "2.7.10",
"resolved": "https://registry.npmjs.org/connect/-/connect-2.7.10.tgz",
"from": "connect@2.7.10"
"integrity": "sha1-oKxZRk1lJAedsCyXFRx5XBtN7mQ="
},
"cookie": {
"version": "0.0.5",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz",
"from": "cookie@0.0.5"
"integrity": "sha1-+az521frdWjJ/MWWJWt7si4wfIE="
},
"cookie-signature": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz",
"from": "cookie-signature@1.0.1"
"integrity": "sha1-ROByFIrwHm6OJK+/EmkNaK5pjss="
},
"debug": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"from": "debug@*"
},
"ejs": {
"version": "0.8.8",
"resolved": "https://registry.npmjs.org/ejs/-/ejs-0.8.8.tgz",
"from": "ejs@>=0.8.3 <0.9.0"
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo="
},
"formidable": {
"version": "1.0.14",
"resolved": "https://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz",
"from": "formidable@1.0.14"
"integrity": "sha1-Kz9MQRy7X91pXESEPiojUUpDIxo="
},
"fresh": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz",
"from": "fresh@0.1.0"
"integrity": "sha1-A+SwF4Qk5MLV0ZpU2IFM3JeTSFA="
},
"lodash": {
"version": "3.10.1",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
"from": "lodash@>=3.5.0 <4.0.0"
"integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y="
},
"mime": {
"version": "1.2.6",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.2.6.tgz",
"from": "mime@1.2.6"
"integrity": "sha1-sfhsdowCX6h7SAdfFwnyiuryA2U="
},
"ms": {
"version": "0.7.1",
"resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"from": "ms@0.7.1"
},
"node-forge": {
"version": "0.2.24",
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.2.24.tgz",
"from": "node-forge@0.2.24"
"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg="
},
"pause": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz",
"from": "pause@0.0.1"
"integrity": "sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10="
},
"qs": {
"version": "0.6.5",
"resolved": "https://registry.npmjs.org/qs/-/qs-0.6.5.tgz",
"from": "qs@0.6.5"
"integrity": "sha1-KUsmjksNQlD23eGbO4s0k13/FO8="
},
"querystring": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
"from": "querystring@0.2.0"
"integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA="
},
"range-parser": {
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz",
"from": "range-parser@0.0.4"
"integrity": "sha1-wEJ//vUcEKy6B4KkbJYC50T/Ygs="
},
"sax": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz",
"from": "sax@>=0.1.1"
"integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o="
},
"send": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/send/-/send-0.1.0.tgz",
"from": "send@0.1.0"
"integrity": "sha1-z7COvTzsm3/Bo32f+eh1qXHPRkA="
},
"xml-crypto": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/xml-crypto/-/xml-crypto-0.6.0.tgz",
"from": "xml-crypto@0.6.0"
},
"xml-encryption": {
"version": "0.7.2",
"resolved": "https://registry.npmjs.org/xml-encryption/-/xml-encryption-0.7.2.tgz",
"from": "xml-encryption@0.7.2"
"integrity": "sha1-RSKeACjLPultxTP6M4DCvzuGrbg="
},
"xml2js": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.2.0.tgz",
"from": "xml2js@0.2.0"
"integrity": "sha1-99pSJ33rtkeYMFOtti2XLe5loaw="
},
"xmlbuilder": {
"version": "2.6.4",
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.6.4.tgz",
"from": "xmlbuilder@2.6.4"
"integrity": "sha1-gSOsFXbZxmkY9BBJbx/p8Ci4yj4="
},
"xmldom": {
"version": "0.1.19",
"resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.19.tgz",
"from": "xmldom@0.1.19"
},
"xpath": {
"version": "0.0.5",
"resolved": "https://registry.npmjs.org/xpath/-/xpath-0.0.5.tgz",
"from": "xpath@0.0.5"
"integrity": "sha1-Yx/Ad3bv2EEYvyUXGzftTQdaCrw="
},
"xpath.js": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/xpath.js/-/xpath.js-1.0.6.tgz",
"from": "xpath.js@>=0.0.3"
"integrity": "sha1-/kuBwbFS69jhOVJl/txbAPyim5A="
}
}
}

@ -8,7 +8,7 @@ Package.describe({
Package.on_use(function(api) {
api.use('rocketchat:lib', 'server');
api.use('ecmascript');
api.use(['routepolicy', 'webapp', 'underscore', 'service-configuration'], 'server');
api.use(['routepolicy', 'webapp', 'service-configuration'], 'server');
api.use(['http', 'accounts-base'], ['client', 'server']);
api.add_files(['saml_server.js', 'saml_utils.js'], 'server');

@ -1,5 +1,6 @@
/* globals RoutePolicy, SAML */
/* jshint newcap: false */
import _ from 'underscore';
if (!Accounts.saml) {
Accounts.saml = {

@ -1,4 +1,5 @@
/* globals Deps, getCaretCoordinates*/
import _ from 'underscore';
import AutoCompleteRecords from './collection';
const isServerSearch = function(rule) {

@ -1,4 +1,6 @@
/* globals AutoComplete */
import _ from 'underscore';
// Events on template instances, sent to the autocomplete class
const acEvents = {
'keydown'(e, t) {

@ -7,7 +7,7 @@ Package.describe({
Package.onUse(function(api) {
api.use(['blaze', 'templating', 'jquery'], 'client');
api.use(['underscore', 'ecmascript']); // both
api.use(['ecmascript']); // both
api.use(['mongo', 'ddp']);
api.use('dandv:caret-position@2.1.0-3', 'client');

@ -28,7 +28,7 @@ Package.onTest(function (api) {
'test-helpers'
]);
api.use(['tracker', 'underscore'], 'client');
api.use(['tracker'], 'client');
api.use('mizzao:timesync');

@ -1,19 +1,20 @@
{
"lockfileVersion": 1,
"dependencies": {
"base32.js": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/base32.js/-/base32.js-0.0.1.tgz",
"from": "base32.js@0.0.1"
"integrity": "sha1-0EVzalex9sE58MffQlGKhOkbsro="
},
"speakeasy": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/speakeasy/-/speakeasy-2.0.0.tgz",
"from": "speakeasy@2.0.0"
"integrity": "sha1-hckaBxsJpcuGQlkNmDVmFl9XYTo="
},
"yaqrcode": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/yaqrcode/-/yaqrcode-0.2.1.tgz",
"from": "yaqrcode@0.2.1"
"integrity": "sha1-7xyzMgNJ9rO7MctoCjeouBS9itc="
}
}
}

@ -1,44 +1,45 @@
{
"lockfileVersion": 1,
"dependencies": {
"busboy": {
"version": "0.2.13",
"resolved": "https://registry.npmjs.org/busboy/-/busboy-0.2.13.tgz",
"from": "busboy@0.2.13"
"integrity": "sha1-kPxPajln2BVhb8l2v6jlau0MWLY="
},
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"from": "core-util-is@>=1.0.0 <1.1.0"
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
},
"dicer": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz",
"from": "dicer@0.2.5"
"integrity": "sha1-WZbAhrszIYyBLAkL3cCc0S+stw8="
},
"inherits": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"from": "inherits@>=2.0.1 <2.1.0"
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
},
"isarray": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"from": "isarray@0.0.1"
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
},
"readable-stream": {
"version": "1.1.14",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"from": "readable-stream@>=1.1.0 <1.2.0"
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk="
},
"streamsearch": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz",
"from": "streamsearch@0.1.2"
"integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo="
},
"string_decoder": {
"version": "0.10.31",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"from": "string_decoder@>=0.10.0 <0.11.0"
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
}
}
}

@ -7,7 +7,6 @@ Package.describe({
Package.onUse(function(api) {
api.use([
'underscore',
'ecmascript',
'rocketchat:lib',
'nimble:restivus'

@ -1,4 +1,6 @@
/* global Restivus */
import _ from 'underscore';
class API extends Restivus {
constructor(properties) {
super(properties);

@ -1,3 +1,5 @@
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 }) {
if ((!params.roomId || !params.roomId.trim()) && (!params.roomName || !params.roomName.trim())) {

@ -1,3 +1,5 @@
import _ from 'underscore';
//Returns the private group subscription IF found otherwise it will return the failure of why it didn't. Check the `statusCode` property
function findPrivateGroupByIdOrName({ params, userId, checkedArchived = true }) {
if ((!params.roomId || !params.roomId.trim()) && (!params.roomName || !params.roomName.trim())) {

@ -1,3 +1,5 @@
import _ from 'underscore';
function findDirectMessageRoom(params, user) {
if ((!params.roomId || !params.roomId.trim()) && (!params.username || !params.username.trim())) {
throw new Meteor.Error('error-room-param-not-provided', 'Body param "roomId" or "username" is required');
@ -266,14 +268,12 @@ RocketChat.API.v1.addRoute(['dm.open', 'im.open'], { authRequired: true }, {
post() {
const findResult = findDirectMessageRoom(this.requestParams(), this.user);
if (findResult.subscription.open) {
return RocketChat.API.v1.failure(`The direct message room, ${ this.bodyParams.name }, is already open for the sender`);
if (!findResult.subscription.open) {
Meteor.runAsUser(this.userId, () => {
Meteor.call('openRoom', findResult.room._id);
});
}
Meteor.runAsUser(this.userId, () => {
Meteor.call('openRoom', findResult.room._id);
});
return RocketChat.API.v1.success();
}
});

@ -108,10 +108,9 @@ RocketChat.API.v1.addRoute('integrations.remove', { authRequired: true }, {
return RocketChat.API.v1.failure('An integrationId or target_url needs to be provided.');
}
let integration;
switch (this.bodyParams.type) {
case 'webhook-outgoing':
let integration;
if (this.bodyParams.target_url) {
integration = RocketChat.models.Integrations.findOne({ urls: this.bodyParams.target_url });
} else if (this.bodyParams.integrationId) {

@ -1,3 +1,5 @@
import _ from 'underscore';
RocketChat.API.v1.addRoute('info', { authRequired: false }, {
get() {
const user = this.getLoggedInUser();

@ -1,3 +1,5 @@
import _ from 'underscore';
// settings endpoints
RocketChat.API.v1.addRoute('settings', { authRequired: true }, {
get() {

@ -1,3 +1,5 @@
import _ from 'underscore';
RocketChat.API.v1.addRoute('users.create', { authRequired: true }, {
post() {
check(this.bodyParams, {

@ -1,19 +1,10 @@
{
"lockfileVersion": 1,
"dependencies": {
"image-size": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/image-size/-/image-size-0.4.0.tgz",
"from": "image-size@0.4.0"
},
"mime-db": {
"version": "1.21.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.21.0.tgz",
"from": "mime-db@>=1.21.0 <1.22.0"
},
"mime-types": {
"version": "2.1.9",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.9.tgz",
"from": "mime-types@2.1.9"
"integrity": "sha1-1LTh9hlS5MvBzqmmsMkV/stwdRA="
}
}
}

@ -8,7 +8,6 @@ Package.describe({
Package.onUse(function(api) {
api.use([
'ecmascript',
'underscore',
'webapp',
'rocketchat:file',
'rocketchat:lib',

@ -1,4 +1,5 @@
/* global WebAppHashing, WebAppInternals */
import _ from 'underscore';
import sizeOf from 'image-size';
import mime from 'mime-type/with-db';

@ -1,3 +1,5 @@
import _ from 'underscore';
if (_.isUndefined(RocketChat.models.Subscriptions)) {
RocketChat.models.Subscriptions = {};
}

@ -1,3 +1,5 @@
import _ from 'underscore';
if (_.isUndefined(RocketChat.models.Users)) {
RocketChat.models.Users = {};
}

@ -9,7 +9,6 @@ Package.describe({
Package.onUse(function(api) {
api.use([
'ecmascript',
'underscore',
'rocketchat:lib'
]);

@ -1,3 +1,5 @@
import _ from 'underscore';
RocketChat.authz.addUserRoles = function(userId, roleNames, scope) {
if (!userId || !roleNames) {
return false;

@ -1,3 +1,5 @@
import _ from 'underscore';
RocketChat.authz.removeUserFromRoles = function(userId, roleNames, scope) {
if (!userId || !roleNames) {
return false;

@ -1,3 +1,5 @@
import _ from 'underscore';
Meteor.methods({
'authorization:addUserToRole'(roleName, username, scope) {
if (!Meteor.userId() || !RocketChat.authz.hasPermission(Meteor.userId(), 'access-permissions')) {

@ -1,3 +1,5 @@
import _ from 'underscore';
Meteor.methods({
'authorization:removeUserFromRole'(roleName, username, scope) {
if (!Meteor.userId() || !RocketChat.authz.hasPermission(Meteor.userId(), 'access-permissions')) {

@ -1,3 +1,5 @@
import _ from 'underscore';
RocketChat.models._Base.prototype.roleBaseQuery = function(/*userId, scope*/) {
return;
};

@ -1,3 +1,5 @@
import _ from 'underscore';
RocketChat.models.Subscriptions.roleBaseQuery = function(userId, scope) {
if (scope == null) {
return;

@ -1,9 +1,10 @@
{
"lockfileVersion": 1,
"dependencies": {
"autolinker": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/autolinker/-/autolinker-1.4.0.tgz",
"from": "autolinker@1.4.0"
"integrity": "sha1-oVjpDIL8V/gSMv0ZwSsQ61ON6IE="
}
}
}

@ -1,3 +1,5 @@
import s from 'underscore.string';
//
// AutoLinker is a named function that will replace links on messages
// @param {Object} message - The message object
@ -10,7 +12,7 @@ function AutoLinker(message) {
return message;
}
if (_.trim(message.html)) {
if (s.trim(message.html)) {
const regUrls = new RegExp(RocketChat.settings.get('AutoLinker_UrlsRegExp'));
const autolinker = new Autolinker({

@ -1,3 +1,5 @@
import _ from 'underscore';
RocketChat.AutoTranslate = {
messageIdsToWait: {},
supportedLanguages: [],

@ -1,4 +1,5 @@
/* globals ChatSubscription */
import _ from 'underscore';
import toastr from 'toastr';
Template.autoTranslateFlexTab.helpers({

@ -1,3 +1,6 @@
import _ from 'underscore';
import s from 'underscore.string';
class AutoTranslate {
constructor() {
this.languages = [];

@ -7,7 +7,6 @@ Package.describe({
Package.onUse(function(api) {
api.use('ecmascript');
api.use('underscore');
api.use('rocketchat:lib');
api.use('accounts-base');
// api.mainModule('server/index.js', 'server'); // when 1.3

@ -1,3 +1,5 @@
import _ from 'underscore';
/**
* BotHelpers helps bots
* "private" properties use meteor collection cursors, so they stay reactive

@ -1,113 +1,113 @@
{
"lockfileVersion": 1,
"dependencies": {
"boolbase": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
"from": "boolbase@>=1.0.0 <1.1.0"
"integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24="
},
"cas": {
"version": "0.0.5",
"resolved": "https://github.com/kcbanner/node-cas/tarball/fcd27dad333223b3b75a048bce27973fb3ca0f62",
"from": "https://github.com/kcbanner/node-cas/tarball/fcd27dad333223b3b75a048bce27973fb3ca0f62"
"version": "https://github.com/kcbanner/node-cas/tarball/fcd27dad333223b3b75a048bce27973fb3ca0f62",
"integrity": "sha1-AL8m1JYV/7kMEdlJ0sKtJ18YXg4="
},
"cheerio": {
"version": "0.19.0",
"resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.19.0.tgz",
"from": "cheerio@0.19.0"
"integrity": "sha1-dy5wFfLuKZZQltcepBdbdas1SSU="
},
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"from": "core-util-is@>=1.0.0 <1.1.0"
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
},
"css-select": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/css-select/-/css-select-1.0.0.tgz",
"from": "css-select@>=1.0.0 <1.1.0"
"integrity": "sha1-sRIcpRhI3SZOIkTQWM7iVN7rRLA="
},
"css-what": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/css-what/-/css-what-1.0.0.tgz",
"from": "css-what@>=1.0.0 <1.1.0"
"integrity": "sha1-18wt9FGAZm+Z0rFEYmOUaeAPc2w="
},
"dom-serializer": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz",
"from": "dom-serializer@>=0.1.0 <0.2.0",
"integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=",
"dependencies": {
"domelementtype": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
"from": "domelementtype@>=1.1.1 <1.2.0"
"integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs="
}
}
},
"domelementtype": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz",
"from": "domelementtype@>=1.0.0 <2.0.0"
"integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI="
},
"domhandler": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz",
"from": "domhandler@>=2.3.0 <2.4.0"
"integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg="
},
"domutils": {
"version": "1.4.3",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.4.3.tgz",
"from": "domutils@>=1.4.0 <1.5.0"
"integrity": "sha1-CGVRN5bGswYDGFDhdVFrr4C3Km8="
},
"entities": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz",
"from": "entities@>=1.1.1 <1.2.0"
"integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA="
},
"htmlparser2": {
"version": "3.8.3",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz",
"from": "htmlparser2@>=3.8.1 <3.9.0",
"integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=",
"dependencies": {
"domutils": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
"from": "domutils@>=1.5.0 <1.6.0"
"integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8="
},
"entities": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz",
"from": "entities@>=1.0.0 <1.1.0"
"integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY="
}
}
},
"inherits": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"from": "inherits@>=2.0.1 <2.1.0"
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
},
"isarray": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"from": "isarray@0.0.1"
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
},
"lodash": {
"version": "3.10.1",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
"from": "lodash@>=3.2.0 <4.0.0"
"integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y="
},
"nth-check": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz",
"from": "nth-check@>=1.0.0 <1.1.0"
"integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ="
},
"readable-stream": {
"version": "1.1.14",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"from": "readable-stream@>=1.1.0 <1.2.0"
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk="
},
"string_decoder": {
"version": "0.10.31",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"from": "string_decoder@>=0.10.0 <0.11.0"
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
}
}
}

@ -14,7 +14,6 @@ Package.onUse(function(api) {
api.use('webapp', 'server');
api.use('accounts-base', 'server');
api.use('underscore');
api.use('ecmascript');
// Server files

@ -1,5 +1,6 @@
/* globals RoutePolicy, logger */
/* jshint newcap: false */
import _ from 'underscore';
const fiber = Npm.require('fibers');
const url = Npm.require('url');

@ -1,5 +1,7 @@
import _ from 'underscore';
import toastr from 'toastr';
import resetSelection from '../resetSelection';
Template.mailMessagesInstructions.helpers({
name() {
return Meteor.user().name;

@ -1,3 +1,4 @@
import _ from 'underscore';
import moment from 'moment';
Meteor.methods({

@ -1,3 +1,4 @@
import _ from 'underscore';
RocketChat.ChannelSettings = new class {
constructor() {
this.options = new ReactiveVar({});

@ -1,4 +1,5 @@
import toastr from 'toastr';
import s from 'underscore.string';
Template.channelSettings.helpers({
toArray(obj) {

@ -1,3 +1,5 @@
import s from 'underscore.string';
RocketChat.saveRoomAnnouncement = function(rid, roomAnnouncement, user, sendMessage=true) {
if (!Match.test(rid, String)) {
throw new Meteor.Error('invalid-room', 'Invalid room', { function: 'RocketChat.saveRoomAnnouncement' });

@ -1,3 +1,5 @@
import s from 'underscore.string';
RocketChat.saveRoomDescription = function(rid, roomDescription, user) {
if (!Match.test(rid, String)) {

@ -1,3 +1,5 @@
import s from 'underscore.string';
RocketChat.saveRoomTopic = function(rid, roomTopic, user, sendMessage = true) {
if (!Match.test(rid, String)) {
throw new Meteor.Error('invalid-room', 'Invalid room', {

@ -1,3 +1,5 @@
import s from 'underscore.string';
//
// HexColorPreview is a named function that will process Colors
// @param {Object} message - The message object
@ -5,7 +7,7 @@
function HexColorPreview(message) {
let msg;
if (_.trim(message.html) && RocketChat.settings.get('HexColorPreview_Enabled')) {
if (s.trim(message.html) && RocketChat.settings.get('HexColorPreview_Enabled')) {
msg = message.html;
msg = msg.replace(/(?:^|\s|\n)(#[A-Fa-f0-9]{3}([A-Fa-f0-9]{3})?)\b/g, function(match, completeColor) {
return match.replace(completeColor, `<div class="message-color"><div class="message-color-sample" style="background-color:${ completeColor }"></div>${ completeColor.toUpperCase() }</div>`);

@ -1,4 +1,5 @@
/* globals WebAppInternals */
import _ from 'underscore';
import url from 'url';

@ -1,9 +1,10 @@
{
"lockfileVersion": 1,
"dependencies": {
"atlassian-crowd": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/atlassian-crowd/-/atlassian-crowd-0.5.0.tgz",
"from": "atlassian-crowd@0.5.0"
"integrity": "sha1-isdFqHg3mUkNF0H6Cc9HLn/zCTA="
}
}
}

@ -1,4 +1,6 @@
/*globals OAuth*/
import s from 'underscore.string';
// Request custom OAuth credentials for the user
// @param options {optional}
// @param credentialRequestCompleteCallback {Function} Callback function to call on

@ -9,11 +9,9 @@ Package.onUse(function(api) {
api.use('check');
api.use('oauth');
api.use('oauth2');
api.use('underscore');
api.use('ecmascript');
api.use('accounts-oauth');
api.use('service-configuration');
api.use('underscorestring:underscore.string');
api.use('templating', 'client');

@ -1,4 +1,5 @@
/*globals OAuth*/
import _ from 'underscore';
const logger = new Logger('CustomOAuth');

@ -1,4 +1,6 @@
/* globals RocketChatTabBar */
import s from 'underscore.string';
Template.adminSounds.helpers({
isReady() {
if (Template.instance().ready != null) {
@ -71,7 +73,7 @@ Template.adminSounds.onCreated(function() {
});
this.customsounds = function() {
const filter = (instance.filter != null) ? _.trim(instance.filter.get()) : '';
const filter = (instance.filter != null) ? s.trim(instance.filter.get()) : '';
let query = {};

@ -1,4 +1,5 @@
import toastr from 'toastr';
import s from 'underscore.string';
Template.soundEdit.helpers({
sound() {

@ -1,3 +1,5 @@
import _ from 'underscore';
class CustomSounds {
constructor() {
this.list = new ReactiveVar({});

@ -12,7 +12,6 @@ Package.onUse(function(api) {
'rocketchat:lib',
'templating',
'reactive-var',
'underscore',
'webapp'
]);

@ -1,4 +1,6 @@
/* globals RocketChatFileCustomSoundsInstance */
import s from 'underscore.string';
Meteor.methods({
insertOrUpdateSound(soundData) {
if (!RocketChat.authz.hasPermission(this.userId, 'manage-sounds')) {

@ -1,3 +1,5 @@
import s from 'underscore.string';
Meteor.publish('customSounds', function(filter, limit) {
if (!this.userId) {
return this.ready();

@ -1,4 +1,6 @@
/* globals RocketChatFileCustomSoundsInstance */
import _ from 'underscore';
Meteor.startup(function() {
let storeType = 'GridFS';

@ -1,4 +1,6 @@
/* globals RocketChatTabBar */
import s from 'underscore.string';
Template.adminEmoji.helpers({
isReady() {
if (Template.instance().ready != null) {
@ -67,7 +69,7 @@ Template.adminEmoji.onCreated(function() {
});
this.customemoji = function() {
const filter = (instance.filter != null) ? _.trim(instance.filter.get()) : '';
const filter = (instance.filter != null) ? s.trim(instance.filter.get()) : '';
let query = {};

@ -1,4 +1,5 @@
import toastr from 'toastr';
import s from 'underscore.string';
Template.emojiEdit.helpers({
emoji() {

@ -12,7 +12,6 @@ Package.onUse(function(api) {
'rocketchat:file',
'rocketchat:lib',
'templating',
'underscore',
'webapp'
]);

@ -1,4 +1,7 @@
/* globals RocketChatFileEmojiCustomInstance */
import _ from 'underscore';
import s from 'underscore.string';
Meteor.methods({
insertOrUpdateEmoji(emojiData) {
if (!RocketChat.authz.hasPermission(this.userId, 'manage-emoji')) {

@ -1,3 +1,5 @@
import s from 'underscore.string';
Meteor.publish('fullEmojiData', function(filter, limit) {
if (!this.userId) {
return this.ready();

@ -1,4 +1,6 @@
/* globals RocketChatFileEmojiCustomInstance */
import _ from 'underscore';
Meteor.startup(function() {
let storeType = 'GridFS';

@ -1,4 +1,6 @@
/* globals isSetNotNull */
import s from 'underscore.string';
/*
* emojiParser is a function that will replace emojis
* @param {Object} message - The message object
@ -8,7 +10,7 @@ RocketChat.callbacks.add('renderMessage', (message) => {
return message;
}
if (_.trim(message.html)) {
if (s.trim(message.html)) {
//&#39; to apostrophe (') for emojis such as :')
message.html = message.html.replace(/&#39;/g, '\'');
@ -27,7 +29,7 @@ RocketChat.callbacks.add('renderMessage', (message) => {
continue;
}
if (_.trim(child.text()) === '') {
if (s.trim(child.text()) === '') {
continue;
}

@ -1,4 +1,6 @@
/* globals Blaze, Template */
import _ from 'underscore';
RocketChat.EmojiPicker = {
width: 390,
height: 238,

@ -8,7 +8,6 @@ Package.describe({
Package.onUse(function(api) {
api.use([
'ecmascript',
'underscore',
'templating',
'rocketchat:lib',
'rocketchat:ui-message'

@ -1,19 +1,10 @@
{
"lockfileVersion": 1,
"dependencies": {
"filesize": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/filesize/-/filesize-3.3.0.tgz",
"from": "filesize@3.3.0"
},
"mime-db": {
"version": "1.23.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz",
"from": "mime-db@>=1.23.0 <1.24.0"
},
"mime-types": {
"version": "2.1.11",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz",
"from": "mime-types@2.1.11"
"integrity": "sha1-UxSeo0YOOy4CSWKlFkiqVyz5gSI="
}
}
}

@ -1,5 +1,6 @@
/* globals FileUploadBase:true, UploadFS */
/* exported FileUploadBase */
import _ from 'underscore';
UploadFS.config.defaultStorePermissions = new UploadFS.StorePermissions({
insert(userId, doc) {

@ -18,7 +18,6 @@ Package.onUse(function(api) {
api.use('rocketchat:lib');
api.use('random');
api.use('accounts-base');
api.use('underscore');
api.use('tracker');
api.use('webapp');

@ -1,5 +1,6 @@
/* globals FileUpload */
import _ from 'underscore';
import { FileUploadClass } from '../lib/FileUpload';
import '../../ufs/AmazonS3/server.js';

@ -1,5 +1,6 @@
/* globals FileUpload, UploadFS */
import _ from 'underscore';
import fs from 'fs';
import { FileUploadClass } from '../lib/FileUpload';

@ -1,5 +1,6 @@
/* globals FileUpload */
import _ from 'underscore';
import { FileUploadClass } from '../lib/FileUpload';
import '../../ufs/GoogleStorage/server.js';

@ -1,4 +1,5 @@
/* globals Slingshot, FileUpload */
import _ from 'underscore';
const configureSlingshot = _.debounce(() => {
const type = RocketChat.settings.get('FileUpload_Storage_Type');

@ -1,5 +1,6 @@
/* globals UploadFS */
import _ from 'underscore';
import './AmazonS3.js';
import './FileSystem.js';
import './GoogleStorage.js';

@ -1,3 +1,5 @@
import _ from 'underscore';
Meteor.methods({
'sendFileMessage'(roomId, store, file, msgData = {}) {
if (!Meteor.userId()) {

@ -1,5 +1,5 @@
import {_} from 'meteor/underscore';
import {UploadFS} from 'meteor/jalik:ufs';
import _ from 'underscore';
import S3 from 'aws-sdk/clients/s3';
import stream from 'stream';

@ -1,79 +1,80 @@
{
"lockfileVersion": 1,
"dependencies": {
"array-parallel": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/array-parallel/-/array-parallel-0.1.3.tgz",
"from": "array-parallel@>=0.1.3 <0.2.0"
"integrity": "sha1-j3hTCJJu1apHjEfmTRszS2wMlH0="
},
"array-series": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/array-series/-/array-series-0.1.5.tgz",
"from": "array-series@>=0.1.5 <0.2.0"
"integrity": "sha1-3103v8XC7wdV4qpPkv6ufUtaly8="
},
"cross-spawn": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz",
"from": "cross-spawn@>=4.0.0 <5.0.0"
"integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE="
},
"debug": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"from": "debug@>=2.2.0 <2.3.0"
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo="
},
"flushwritable": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/flushwritable/-/flushwritable-1.0.0.tgz",
"from": "flushwritable@>=1.0.0 <2.0.0"
"integrity": "sha1-PjKNj95BKtR+c44751C00pAENJg="
},
"gm": {
"version": "1.23.0",
"resolved": "https://registry.npmjs.org/gm/-/gm-1.23.0.tgz",
"from": "gm@1.23.0"
"integrity": "sha1-gKL+nL8TFRUCSEZERlhGEmn1JmE="
},
"gridfs-stream": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/gridfs-stream/-/gridfs-stream-1.1.1.tgz",
"from": "gridfs-stream@1.1.1"
"integrity": "sha1-PdOhAOwgIaGBKC9utGcJY2B034k="
},
"isexe": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz",
"from": "isexe@>=1.1.1 <2.0.0"
"integrity": "sha1-NvPiLmB1CSD15yQaR2qMakInWtA="
},
"lru-cache": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.1.tgz",
"from": "lru-cache@>=4.0.1 <5.0.0"
"integrity": "sha1-E0OVXtry432bnn7nJB4nxLn7cr4="
},
"minimist": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
"from": "minimist@0.0.8"
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
},
"mkdirp": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"from": "mkdirp@0.5.1"
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM="
},
"ms": {
"version": "0.7.1",
"resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"from": "ms@0.7.1"
"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg="
},
"pseudomap": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
"from": "pseudomap@>=1.0.1 <2.0.0"
"integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
},
"which": {
"version": "1.2.11",
"resolved": "https://registry.npmjs.org/which/-/which-1.2.11.tgz",
"from": "which@>=1.2.9 <2.0.0"
"integrity": "sha1-yLLu6muMFln6fB3U/aq+lTPcXos="
},
"yallist": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-2.0.0.tgz",
"from": "yallist@>=2.0.0 <3.0.0"
"integrity": "sha1-MGxUODXwnuGkyyO3vOmrNByRzdQ="
}
}
}

File diff suppressed because it is too large Load Diff

@ -2,11 +2,13 @@
* Hilights is a named function that will process Highlights
* @param {Object} message - The message object
*/
import _ from 'underscore';
import s from 'underscore.string';
function HighlightWordsClient(message) {
let msg = message;
if (!_.isString(message)) {
if (_.trim(message.html)) {
if (s.trim(message.html)) {
msg = message.html;
} else {
return message;
@ -16,7 +18,7 @@ function HighlightWordsClient(message) {
const to_highlight = Meteor.user() && Meteor.user().settings && Meteor.user().settings.preferences && Meteor.user().settings.preferences.highlights;
if (Array.isArray(to_highlight)) {
to_highlight.forEach((highlight) => {
if (!_.isBlank(highlight)) {
if (!s.isBlank(highlight)) {
return msg = msg.replace(new RegExp(`(^|\\b|[\\s\\n\\r\\t.,،'\\\"\\+!?:-])(${ s.escapeRegExp(highlight) })($|\\b|[\\s\\n\\r\\t.,،'\\\"\\+!?:-])(?![^<]*>|[^<>]*<\\/)`, 'gmi'), '$1<span class="highlight-text">$2</span>$3');
}
});

@ -173,7 +173,7 @@
"All_channels": "Alle Kanäle",
"All_logs": "Alle Protokolle",
"All_messages": "Alle Nachrichten",
"All_users_in_the_channel_can_write_new_messages": "Alle Benutzer in diesem Kanal könne neue Nachrichten verfassen",
"All_users_in_the_channel_can_write_new_messages": "Alle Benutzer in diesem Kanal können neue Nachrichten verfassen",
"Allow_Invalid_SelfSigned_Certs": "Ungültige und selbstsignierte SSL-Zertifikate erlauben",
"Allow_Invalid_SelfSigned_Certs_Description": "Ungültige und selbstsignierte SSL-Zertifikate für die Link-Validierung und die Vorschau zulassen.",
"Allow_switching_departments": "Erlaube Besuchern, Abteilungen zu wechseln",
@ -357,7 +357,7 @@
"Chat_button": "Chat-Button",
"Chat_closed": "Chat geschlossen",
"Chat_closed_successfully": "Chat erfolgreich geschlossen",
"Chat_Now": "Jetzt chaten",
"Chat_Now": "Jetzt chatten",
"Chat_window": "Chatfenster",
"Chatops_Enabled": "ChatOps aktivieren",
"Chatops_Title": "ChatOps-Panel",
@ -1877,7 +1877,7 @@
"Username_invalid": "<strong>%s</strong> ist kein zulässiger Benutzername.<br/> Verwenden Sie nur Buchstaben, Zahlen, Punkte oder Binde- und Unterstriche.",
"Username_is_already_in_here": "`@%s` wurde bereits hinzugefügt",
"Username_is_not_in_this_room": "Benutzer `#%s` ist nicht in diesem Raum",
"Username_Placeholder": "Bitte geben sie Benutzernamen ein",
"Username_Placeholder": "Bitte geben Sie Benutzernamen ein",
"Username_title": "Benutzernamen festlegen",
"Username_wants_to_start_otr_Do_you_want_to_accept": "__username__ möchte ein OTR-Gespräch starten. Möchten Sie es annehmen?",
"Users": "Benutzer",
@ -2006,4 +2006,4 @@
"your_message_optional": "ihre optionale Nachricht",
"Your_password_is_wrong": "Falsches Passwort",
"Your_push_was_sent_to_s_devices": "Eine Push-Nachricht wurde an %s Geräte gesendet."
}
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save