Merge branch 'develop' into experimental

# Conflicts:
#	packages/rocketchat-migrations/migrations.js
pull/5095/head
Gabriel Engel 9 years ago
commit 53d0119fa5
  1. 2
      .meteor/packages
  2. 3
      .meteor/versions
  3. 4
      .sandstorm/sandstorm-pkgdef.capnp
  4. 2
      .snapcraft/edge/snapcraft.yaml
  5. 2
      .snapcraft/stable/snapcraft.yaml
  6. 70
      HISTORY.md
  7. 1
      client/lib/handleError.js
  8. 3
      client/methods/deleteMessage.coffee
  9. 3
      client/methods/updateMessage.coffee
  10. 1
      client/startup/emailVerification.js
  11. 12
      client/startup/startup.coffee
  12. 2
      client/startup/userSetUtcOffset.js
  13. 8
      package.json
  14. 1
      packages/meteor-accounts-saml/package.js
  15. 2
      packages/meteor-autocomplete/package.js
  16. 1
      packages/rocketchat-assets/package.js
  17. 1
      packages/rocketchat-authorization/client/views/permissionsRole.coffee
  18. 500
      packages/rocketchat-autolinker/.npm/package/npm-shrinkwrap.json
  19. 2
      packages/rocketchat-autolinker/package.js
  20. 4
      packages/rocketchat-cas/.npm/package/npm-shrinkwrap.json
  21. 2
      packages/rocketchat-cas/package.js
  22. 1
      packages/rocketchat-channel-settings-mail-messages/client/views/mailMessagesInstructions.coffee
  23. 4
      packages/rocketchat-channel-settings-mail-messages/package.js
  24. 2
      packages/rocketchat-channel-settings-mail-messages/server/methods/mailMessages.coffee
  25. 1
      packages/rocketchat-channel-settings/client/views/channelSettings.coffee
  26. 1
      packages/rocketchat-chatops/package.js
  27. 1
      packages/rocketchat-cors/package.js
  28. 1
      packages/rocketchat-custom-oauth/package.js
  29. 1
      packages/rocketchat-emoji-custom/admin/emojiEdit.js
  30. 15
      packages/rocketchat-file-upload/lib/FileUpload.js
  31. 5
      packages/rocketchat-file-upload/server/startup/settings.js
  32. 1
      packages/rocketchat-file/package.js
  33. 1
      packages/rocketchat-github-enterprise/package.js
  34. 1
      packages/rocketchat-gitlab/package.js
  35. 1
      packages/rocketchat-highlight-words/package.js
  36. 7
      packages/rocketchat-i18n/i18n/en.i18n.json
  37. 5
      packages/rocketchat-i18n/package.js
  38. 2
      packages/rocketchat-importer-hipchat/package.js
  39. 3
      packages/rocketchat-importer-hipchat/server.coffee
  40. 2
      packages/rocketchat-importer-slack/package.js
  41. 1
      packages/rocketchat-importer/client/admin/adminImportPrepare.coffee
  42. 1
      packages/rocketchat-importer/client/admin/adminImportProgress.coffee
  43. 1
      packages/rocketchat-importer/package.js
  44. 2
      packages/rocketchat-integrations/client/views/integrations.coffee
  45. 1
      packages/rocketchat-integrations/client/views/integrationsIncoming.coffee
  46. 1
      packages/rocketchat-integrations/client/views/integrationsOutgoing.coffee
  47. 2
      packages/rocketchat-internal-hubot/hubot.coffee
  48. 1
      packages/rocketchat-internal-hubot/package.js
  49. 1
      packages/rocketchat-irc/package.js
  50. 1
      packages/rocketchat-katex/package.js
  51. 3
      packages/rocketchat-lib/client/MessageAction.coffee
  52. 1
      packages/rocketchat-lib/package.js
  53. 2
      packages/rocketchat-lib/rocketchat.info
  54. 2
      packages/rocketchat-lib/server/lib/notifyUsersOnMessage.js
  55. 2
      packages/rocketchat-lib/server/lib/sendEmailOnMessage.js
  56. 1
      packages/rocketchat-lib/server/lib/sendNotificationsOnMessage.js
  57. 2
      packages/rocketchat-lib/server/methods/deleteMessage.coffee
  58. 2
      packages/rocketchat-lib/server/methods/sendMessage.coffee
  59. 2
      packages/rocketchat-lib/server/methods/updateMessage.coffee
  60. 2
      packages/rocketchat-lib/server/startup/settings.coffee
  61. 1
      packages/rocketchat-livechat/app/client/lib/chatMessages.coffee
  62. 3
      packages/rocketchat-livechat/app/client/views/message.coffee
  63. 7
      packages/rocketchat-livechat/app/package.json
  64. 3
      packages/rocketchat-livechat/client/views/app/livechatAppearance.js
  65. 2
      packages/rocketchat-livechat/client/views/app/livechatCurrentChats.js
  66. 1
      packages/rocketchat-livechat/client/views/app/livechatCustomFieldForm.js
  67. 1
      packages/rocketchat-livechat/client/views/app/livechatDepartmentForm.js
  68. 1
      packages/rocketchat-livechat/client/views/app/livechatIntegrations.js
  69. 4
      packages/rocketchat-livechat/client/views/app/livechatOfficeHours.js
  70. 1
      packages/rocketchat-livechat/client/views/app/livechatTriggers.js
  71. 1
      packages/rocketchat-livechat/client/views/app/livechatUsers.js
  72. 1
      packages/rocketchat-livechat/client/views/app/tabbar/visitorEdit.js
  73. 1
      packages/rocketchat-livechat/client/views/app/tabbar/visitorForward.js
  74. 2
      packages/rocketchat-livechat/client/views/app/tabbar/visitorHistory.js
  75. 1
      packages/rocketchat-livechat/client/views/app/tabbar/visitorInfo.js
  76. 2
      packages/rocketchat-livechat/client/views/app/tabbar/visitorNavigation.js
  77. 8
      packages/rocketchat-livechat/client/views/sideNav/livechat.js
  78. 2
      packages/rocketchat-livechat/server/methods/sendTranscript.js
  79. 2
      packages/rocketchat-livechat/server/models/LivechatOfficeHour.js
  80. 2
      packages/rocketchat-logger/client/views/viewLogs.coffee
  81. 1
      packages/rocketchat-logger/package.js
  82. 1
      packages/rocketchat-mailer/client/views/mailer.coffee
  83. 1
      packages/rocketchat-mailer/package.js
  84. 1
      packages/rocketchat-mapview/package.js
  85. 1
      packages/rocketchat-markdown/package.js
  86. 1
      packages/rocketchat-mentions-flextab/package.js
  87. 1
      packages/rocketchat-mentions/package.js
  88. 2
      packages/rocketchat-message-attachments/client/messageAttachment.coffee
  89. 1
      packages/rocketchat-message-attachments/package.js
  90. 1
      packages/rocketchat-message-mark-as-unread/package.js
  91. 1
      packages/rocketchat-message-pin/client/actionButton.coffee
  92. 1
      packages/rocketchat-message-pin/package.js
  93. 2
      packages/rocketchat-message-snippet/client/page/snippetPage.js
  94. 2
      packages/rocketchat-message-snippet/client/tabBar/views/snippetMessage.js
  95. 1
      packages/rocketchat-message-star/client/actionButton.coffee
  96. 1
      packages/rocketchat-message-star/package.js
  97. 4
      packages/rocketchat-migrations/migrations.js
  98. 1
      packages/rocketchat-migrations/package.js
  99. 1
      packages/rocketchat-oauth2-server-config/admin/client/views/oauthApp.coffee
  100. 2
      packages/rocketchat-oauth2-server-config/admin/client/views/oauthApps.coffee
  101. Some files were not shown because too many files have changed in this diff Show More

@ -133,7 +133,6 @@ konecty:multiple-instances-status
konecty:nrr
konecty:user-presence
chrismbeckett:toastr
dispatch:run-as-user
francocatena:status
jalik:ufs
@ -144,7 +143,6 @@ kadira:flow-router
kenton:accounts-sandstorm
mizzao:autocomplete
mizzao:timesync
momentjs:moment
mrt:reactive-store
mystor:device-detection
nimble:restivus

@ -6,7 +6,6 @@ accounts-meteor-developer@1.0.11
accounts-oauth@1.1.15
accounts-password@1.3.3
accounts-twitter@1.1.12
aldeed:moment-timezone@0.4.0
aldeed:simple-schema@1.5.3
allow-deny@1.0.5
autoupdate@1.2.11
@ -23,7 +22,6 @@ caching-html-compiler@1.0.7
callback-hook@1.0.10
cfs:http-methods@0.0.32
check@1.2.4
chrismbeckett:toastr@2.1.2_1
coffeescript@1.11.1_4
dandv:caret-position@2.1.1
ddp@1.2.5
@ -89,7 +87,6 @@ mobile-experience@1.0.4
mobile-status-bar@1.0.13
modules@0.7.7
modules-runtime@0.7.7
momentjs:moment@2.16.0
mongo@1.1.14
mongo-id@1.0.6
mongo-livedata@1.0.12

@ -19,9 +19,9 @@ const pkgdef :Spk.PackageDefinition = (
appTitle = (defaultText = "Rocket.Chat"),
appVersion = 45, # Increment this for every release.
appVersion = 47, # Increment this for every release.
appMarketingVersion = (defaultText = "0.46.0-develop"),
appMarketingVersion = (defaultText = "0.47.0-develop"),
# Human-readable representation of appVersion. Should match the way you
# identify versions of your app in documentation and marketing.

@ -7,7 +7,7 @@
# 5. `snapcraft snap`
name: rocketchat-server
version: 0.46.0-develop
version: 0.47.0-develop
summary: Rocket.Chat server
description: Have your own Slack like online chat, built with Meteor. https://rocket.chat/
confinement: strict

@ -7,7 +7,7 @@
# 5. `snapcraft snap`
name: rocketchat-server
version: 0.46.0-develop
version: 0.47.0-develop
summary: Rocket.Chat server
description: Have your own Slack like online chat, built with Meteor. https://rocket.chat/
confinement: strict

@ -1,5 +1,73 @@
# History
## 0.46.0, 2016-Nov-21
### Upgraded to meteor 1.4.2.3 - Now uses NodeJS 4.6.2
- Add a csv plain text importer (#2689)
- Add a verified email toast
- Add an area to the warnings piece and allow defining users to be part of channels.
- Add channel renames to the importer tool
- Add debug to build scripts
- Add Hyper.sh
- Add missing dependencies to rocketchat:lib
- Add more tests
- Add option to hide user muted/unmuted messages
- Add option to remove the filesize restriction
- Add path prefix to sidenav layout (#4798)
- Add reaction importing capability for Slack
- Add REST endpoint to set user avatar
- Add scrollbar into the snippet view page
- Add setting to Forget user session on window close
- Add snippet message plugin
- Add snippet page and file creation
- Add syntax highlighting when a snippet is created
- Add tabBar english translation
- Add user account tests
- Allow private groups and add warnings to the importers
- Bot-helpers bugfix and new features
- Change default button colors and font-weight
- Change Jitsi iframe width to auto
- Change user rooms verifications to subscriptions
- Change utf8 names validation label
- Disabling the snippet feature by default
- Do not trigger livechat integration if room still open
- Enable broadcast connection logs when log level is 2
- Fix channels were the creator wasn't imported was causing issues (#4934, #4899, #3911)
- Fix chevrons were backwards (#3581)
- Fix errors related to user status on logout
- Fix hubot-help path (#4807)
- Fix ignore cdn_prefix setting if empty (#4546)
- Fix LDAP filter users by their group (#4756)
- Fix Message_AllowSnippeting setting checks
- Fix sandstorm upload: UploadFS.Store.GetURL to return a relative URL
- Fix slackbridge out to stop re-sending messages that go out
- Fix the import progress not having the correct translations
- Fix Url previews are broken (#4779)
- Fixes the auto focus while using ctrl commands
- Fixes the create new btn bug
- List rocketchat:authorization as a dependency of rocketchat:lib
- Move client tabs into tabBar folder
- Provide the full avatar url when posting out to Slack
- Reactions need to be ran as the user who reacted and fix edits not showing
- Remove log and useless else condition.
- Remove online status class from channels
- Remove unused ChatSnippetMessage class
- Remove unused mime-type dependency
- Remove unused settings and add translation
- Replace erroneous head tags with header tags
- Sandstorm build: use node and npm from Meteor dev bundle, and don't use sudo.
- Standardising buttons appearance
- Support symbolic link integration
- Update Autolinker to 1.3.2
- Update blaze
- Update buffer to string conversion using utf8
- Update FileUpload.js
- Update LESSHat from version: v3.0.2 (2014-06-17) to version: v4.1.0 (2016-07-19)
- Using --headless instead of METEOR_PRETTY_OUTPUT=0
- Using border-with on CSS to control borders
- Validate user access on file upload
## 0.45.0, 2016-Oct-31
- Add global keydown event handler
@ -164,7 +232,7 @@
## 0.40.0, 2016-Sep-20
### IMPORTANT: Upgraded to meteor 1.4.1.1 - Now uses NodeJS 4.5
### Upgraded to meteor 1.4.1.1 - Now uses NodeJS 4.5
- Add a minimalistic view for embedded layout
- Add a setting to disable system notifications

@ -1,3 +1,4 @@
import toastr from 'toastr';
this.handleError = function(error, useToastr = true) {
if (_.isObject(error.details)) {
for (var key in error.details) {

@ -1,3 +1,6 @@
import moment from 'moment'
import toastr from 'toastr'
Meteor.methods
deleteMessage: (message) ->
if not Meteor.userId()

@ -1,3 +1,6 @@
import moment from 'moment'
import toastr from 'toastr'
Meteor.methods
updateMessage: (message) ->
if not Meteor.userId()

@ -1,3 +1,4 @@
import toastr from 'toastr';
Meteor.startup(function() {
Tracker.autorun(function() {
var user = Meteor.user();

@ -1,3 +1,5 @@
import moment from 'moment'
Meteor.startup ->
TimeSync.loggingEnabled = false
@ -45,7 +47,7 @@ Meteor.startup ->
language = language.toLowerCase()
if language isnt 'en'
Meteor.call 'loadLocale', language, (err, localeFn) ->
Function(localeFn)()
Function(localeFn).call({moment: moment});
moment.locale(language)
Meteor.subscribe("userData", () ->
@ -59,7 +61,9 @@ Meteor.startup ->
status = undefined
Tracker.autorun ->
if Meteor.user()?.status isnt status
status = Meteor.user().status
fireGlobalEvent('status-changed', status)
return if not Meteor.userId()
if Meteor.user()?.status isnt status
status = Meteor.user().status
fireGlobalEvent('status-changed', status)
)

@ -1,3 +1,5 @@
import moment from 'moment';
Meteor.startup(function() {
Tracker.autorun(function() {
var user, utcOffset;

@ -1,7 +1,7 @@
{
"name": "Rocket.Chat",
"description": "The Ultimate Open Source WebChat Platform",
"version": "0.46.0-develop",
"version": "0.47.0-develop",
"author": {
"name": "Rocket.Chat",
"url": "https://rocket.chat/"
@ -63,6 +63,10 @@
},
"dependencies": {
"babel-runtime": "^6.18.0",
"bcrypt": "^0.8.7"
"bcrypt": "^0.8.7",
"moment": "^2.16.0",
"moment-timezone": "^0.5.9",
"jquery": "^3.1.1",
"toastr": "^2.1.2"
}
}

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

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

@ -7,6 +7,7 @@ Package.describe({
Package.onUse(function(api) {
api.use([
'ecmascript',
'coffeescript',
'underscore',
'webapp',

@ -1,3 +1,4 @@
import toastr from 'toastr'
Template.permissionsRole.helpers
role: ->
return RocketChat.models.Roles.findOne({ _id: FlowRouter.getParam('name') }) or {}

@ -1,503 +1,9 @@
{
"dependencies": {
"ansi-regex": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz",
"from": "ansi-regex@>=2.0.0 <3.0.0"
},
"ansi-styles": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
"from": "ansi-styles@>=2.2.1 <3.0.0"
},
"array-differ": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
"from": "array-differ@>=1.0.0 <2.0.0"
},
"array-find-index": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
"from": "array-find-index@>=1.0.1 <2.0.0"
},
"array-uniq": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
"from": "array-uniq@>=1.0.2 <2.0.0"
},
"autolinker": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/autolinker/-/autolinker-1.2.0.tgz",
"from": "autolinker@1.2.0"
},
"beeper": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.0.tgz",
"from": "beeper@>=1.0.0 <2.0.0"
},
"builtin-modules": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
"from": "builtin-modules@>=1.0.0 <2.0.0"
},
"camelcase": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
"from": "camelcase@>=2.0.0 <3.0.0"
},
"camelcase-keys": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
"from": "camelcase-keys@>=2.0.0 <3.0.0"
},
"chalk": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"from": "chalk@>=1.0.0 <2.0.0"
},
"clone": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz",
"from": "clone@>=1.0.0 <2.0.0"
},
"clone-stats": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
"from": "clone-stats@>=0.0.1 <0.0.2"
},
"concat-with-sourcemaps": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.0.4.tgz",
"from": "concat-with-sourcemaps@*"
},
"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"
},
"currently-unhandled": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
"from": "currently-unhandled@>=0.4.1 <0.5.0"
},
"dateformat": {
"version": "1.0.12",
"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
"from": "dateformat@>=1.0.11 <2.0.0"
},
"decamelize": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
"from": "decamelize@>=1.1.2 <2.0.0"
},
"duplexer2": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
"from": "duplexer2@0.0.2"
},
"error-ex": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz",
"from": "error-ex@>=1.2.0 <2.0.0"
},
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"from": "escape-string-regexp@>=1.0.2 <2.0.0"
},
"fancy-log": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.2.0.tgz",
"from": "fancy-log@>=1.1.0 <2.0.0"
},
"find-up": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
"from": "find-up@>=1.0.0 <2.0.0"
},
"get-stdin": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
"from": "get-stdin@>=4.0.1 <5.0.0"
},
"glogg": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz",
"from": "glogg@>=1.0.0 <2.0.0"
},
"graceful-fs": {
"version": "4.1.9",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.9.tgz",
"from": "graceful-fs@>=4.1.2 <5.0.0"
},
"gulp-header": {
"version": "1.8.8",
"resolved": "https://registry.npmjs.org/gulp-header/-/gulp-header-1.8.8.tgz",
"from": "gulp-header@>=1.7.1 <2.0.0"
},
"gulp-util": {
"version": "3.0.7",
"resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.7.tgz",
"from": "gulp-util@*",
"dependencies": {
"object-assign": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
"from": "object-assign@>=3.0.0 <4.0.0"
}
}
},
"gulplog": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
"from": "gulplog@>=1.0.0 <2.0.0"
},
"has-ansi": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
"from": "has-ansi@>=2.0.0 <3.0.0"
},
"has-gulplog": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
"from": "has-gulplog@>=0.1.0 <0.2.0"
},
"hosted-git-info": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.5.tgz",
"from": "hosted-git-info@>=2.1.4 <3.0.0"
},
"indent-string": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
"from": "indent-string@>=2.1.0 <3.0.0"
},
"inherits": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"from": "inherits@>=2.0.1 <2.1.0"
},
"is-arrayish": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
"from": "is-arrayish@>=0.2.1 <0.3.0"
},
"is-builtin-module": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
"from": "is-builtin-module@>=1.0.0 <2.0.0"
},
"is-finite": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
"from": "is-finite@>=1.0.0 <2.0.0"
},
"is-utf8": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
"from": "is-utf8@>=0.2.0 <0.3.0"
},
"isarray": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"from": "isarray@0.0.1"
},
"load-json-file": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
"from": "load-json-file@>=1.0.0 <2.0.0"
},
"lodash._basecopy": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
"from": "lodash._basecopy@>=3.0.0 <4.0.0"
},
"lodash._basetostring": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
"from": "lodash._basetostring@>=3.0.0 <4.0.0"
},
"lodash._basevalues": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
"from": "lodash._basevalues@>=3.0.0 <4.0.0"
},
"lodash._getnative": {
"version": "3.9.1",
"resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
"from": "lodash._getnative@>=3.0.0 <4.0.0"
},
"lodash._isiterateecall": {
"version": "3.0.9",
"resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
"from": "lodash._isiterateecall@>=3.0.0 <4.0.0"
},
"lodash._reescape": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
"from": "lodash._reescape@>=3.0.0 <4.0.0"
},
"lodash._reevaluate": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
"from": "lodash._reevaluate@>=3.0.0 <4.0.0"
},
"lodash._reinterpolate": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
"from": "lodash._reinterpolate@>=3.0.0 <4.0.0"
},
"lodash._root": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz",
"from": "lodash._root@>=3.0.0 <4.0.0"
},
"lodash.escape": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
"from": "lodash.escape@>=3.0.0 <4.0.0"
},
"lodash.isarguments": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
"from": "lodash.isarguments@>=3.0.0 <4.0.0"
},
"lodash.isarray": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
"from": "lodash.isarray@>=3.0.0 <4.0.0"
},
"lodash.keys": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
"from": "lodash.keys@>=3.0.0 <4.0.0"
},
"lodash.restparam": {
"version": "3.6.1",
"resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
"from": "lodash.restparam@>=3.0.0 <4.0.0"
},
"lodash.template": {
"version": "3.6.2",
"resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
"from": "lodash.template@>=3.0.0 <4.0.0"
},
"lodash.templatesettings": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
"from": "lodash.templatesettings@>=3.0.0 <4.0.0"
},
"loud-rejection": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
"from": "loud-rejection@>=1.0.0 <2.0.0"
},
"map-obj": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
"from": "map-obj@>=1.0.1 <2.0.0"
},
"meow": {
"version": "3.7.0",
"resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
"from": "meow@>=3.3.0 <4.0.0"
},
"minimist": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"from": "minimist@>=1.1.0 <2.0.0"
},
"multipipe": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
"from": "multipipe@>=0.1.2 <0.2.0"
},
"normalize-package-data": {
"version": "2.3.5",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz",
"from": "normalize-package-data@>=2.3.4 <3.0.0"
},
"number-is-nan": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
"from": "number-is-nan@>=1.0.0 <2.0.0"
},
"object-assign": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz",
"from": "object-assign@*"
},
"parse-json": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
"from": "parse-json@>=2.2.0 <3.0.0"
},
"path-exists": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
"from": "path-exists@>=2.0.0 <3.0.0"
},
"path-type": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
"from": "path-type@>=1.0.0 <2.0.0"
},
"pify": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"from": "pify@>=2.0.0 <3.0.0"
},
"pinkie": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
"from": "pinkie@>=2.0.0 <3.0.0"
},
"pinkie-promise": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
"from": "pinkie-promise@>=2.0.0 <3.0.0"
},
"process-nextick-args": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
"from": "process-nextick-args@>=1.0.6 <1.1.0"
},
"read-pkg": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
"from": "read-pkg@>=1.0.0 <2.0.0"
},
"read-pkg-up": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
"from": "read-pkg-up@>=1.0.1 <2.0.0"
},
"readable-stream": {
"version": "1.1.14",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"from": "readable-stream@>=1.1.9 <1.2.0"
},
"redent": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
"from": "redent@>=1.0.0 <2.0.0"
},
"repeating": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
"from": "repeating@>=2.0.0 <3.0.0"
},
"replace-ext": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
"from": "replace-ext@0.0.1"
},
"semver": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
"from": "semver@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0||>=4.0.0 <5.0.0||>=5.0.0 <6.0.0"
},
"signal-exit": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.1.tgz",
"from": "signal-exit@>=3.0.0 <4.0.0"
},
"source-map": {
"version": "0.5.6",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
"from": "source-map@>=0.5.1 <0.6.0"
},
"sparkles": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz",
"from": "sparkles@>=1.0.0 <2.0.0"
},
"spdx-correct": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz",
"from": "spdx-correct@>=1.0.0 <1.1.0"
},
"spdx-expression-parse": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz",
"from": "spdx-expression-parse@>=1.0.0 <1.1.0"
},
"spdx-license-ids": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz",
"from": "spdx-license-ids@>=1.0.2 <2.0.0"
},
"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"
},
"strip-ansi": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"from": "strip-ansi@>=3.0.0 <4.0.0"
},
"strip-bom": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
"from": "strip-bom@>=2.0.0 <3.0.0"
},
"strip-indent": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
"from": "strip-indent@>=1.0.1 <2.0.0"
},
"supports-color": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
"from": "supports-color@>=2.0.0 <3.0.0"
},
"through2": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/through2/-/through2-2.0.1.tgz",
"from": "through2@>=2.0.0 <3.0.0",
"dependencies": {
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"from": "isarray@>=1.0.0 <1.1.0"
},
"readable-stream": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
"from": "readable-stream@>=2.0.0 <2.1.0"
}
}
},
"time-stamp": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.0.1.tgz",
"from": "time-stamp@>=1.0.0 <2.0.0"
},
"trim-newlines": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
"from": "trim-newlines@>=1.0.0 <2.0.0"
},
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"from": "util-deprecate@>=1.0.1 <1.1.0"
},
"validate-npm-package-license": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz",
"from": "validate-npm-package-license@>=3.0.1 <4.0.0"
},
"vinyl": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz",
"from": "vinyl@>=0.5.0 <0.6.0"
},
"xtend": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
"from": "xtend@>=4.0.0 <4.1.0"
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/autolinker/-/autolinker-1.3.2.tgz",
"from": "autolinker@1.3.2"
}
}
}

@ -6,7 +6,7 @@ Package.describe({
});
Npm.depends({
autolinker: '1.2.0'
autolinker: '1.3.2'
});
Package.onUse(function(api) {

@ -7,8 +7,8 @@
},
"cas": {
"version": "0.0.5",
"resolved": "git+https://github.com/kcbanner/node-cas.git#fcd27dad333223b3b75a048bce27973fb3ca0f62",
"from": "cas@git+https://github.com/kcbanner/node-cas#fcd27dad333223b3b75a048bce27973fb3ca0f62"
"resolved": "https://github.com/kcbanner/node-cas/tarball/fcd27dad333223b3b75a048bce27973fb3ca0f62",
"from": "https://github.com/kcbanner/node-cas/tarball/fcd27dad333223b3b75a048bce27973fb3ca0f62"
},
"cheerio": {
"version": "0.19.0",

@ -27,5 +27,5 @@ Package.onUse(function(api) {
});
Npm.depends({
cas: 'git+https://github.com/kcbanner/node-cas#fcd27dad333223b3b75a048bce27973fb3ca0f62'
cas: 'https://github.com/kcbanner/node-cas/tarball/fcd27dad333223b3b75a048bce27973fb3ca0f62'
});

@ -1,3 +1,4 @@
import toastr from 'toastr'
Template.mailMessagesInstructions.helpers
name: ->
return Meteor.user().name

@ -7,13 +7,13 @@ Package.describe({
Package.onUse(function(api) {
api.use([
'ecmascript',
'coffeescript',
'templating',
'reactive-var',
'less',
'rocketchat:lib',
'rocketchat:channel-settings',
'momentjs:moment'
'rocketchat:channel-settings'
]);
api.addFiles([

@ -1,3 +1,5 @@
import moment from 'moment'
Meteor.methods
'mailMessages': (data) ->
if not Meteor.userId()

@ -1,3 +1,4 @@
import toastr from 'toastr'
Template.channelSettings.helpers
toArray: (obj) ->
arr = []

@ -8,6 +8,7 @@ Package.describe({
Package.onUse(function(api) {
api.use([
'coffeescript',
'ecmascript',
'rocketchat:lib',
'dburles:google-maps@1.1.5'
]);

@ -8,6 +8,7 @@ Package.describe({
Package.onUse(function(api) {
api.use([
'coffeescript',
'ecmascript',
'webapp'
]);

@ -9,6 +9,7 @@ Package.onUse(function(api) {
api.use('oauth');
api.use('oauth2');
api.use('underscore');
api.use('ecmascript');
api.use('coffeescript');
api.use('accounts-oauth');
api.use('service-configuration');

@ -1,3 +1,4 @@
import toastr from 'toastr';
/* globals isSetNotNull */
Template.emojiEdit.helpers({
emoji() {

@ -13,6 +13,7 @@ FileUpload = {
const user = Meteor.user();
const room = RocketChat.models.Rooms.findOneById(file.rid);
const directMessageAllow = RocketChat.settings.get('FileUpload_Enabled_Direct');
const fileUploadAllowed = RocketChat.settings.get('FileUpload_Enabled');
if (RocketChat.authz.canAccessRoom(room, user) !== true) {
@ -24,6 +25,18 @@ FileUpload = {
throw new Meteor.Error('error-file-upload-disabled', reason);
}
if (!directMessageAllow && room.t === 'd') {
const reason = TAPi18n.__('File_not_allowed_direct_messages', user.language);
throw new Meteor.Error('error-direct-message-file-upload-not-allowed', reason);
}
if (file.size > maxFileSize) {
const reason = TAPi18n.__('File_exceeds_allowed_size_of_bytes', {
size: filesize(maxFileSize)
}, user.language);
throw new Meteor.Error('error-file-too-large', reason);
}
if (parseInt(maxFileSize) > 0) {
if (file.size > maxFileSize) {
const reason = TAPi18n.__('File_exceeds_allowed_size_of_bytes', {
@ -44,4 +57,4 @@ FileUpload = {
RocketChat.settings.get('FileUpload_MaxFileSize', function(key, value) {
maxFileSize = value;
});
});

@ -106,4 +106,9 @@ RocketChat.settings.addGroup('FileUpload', function() {
}
});
});
this.add('FileUpload_Enabled_Direct', true, {
type: 'boolean',
public: true
});
});

@ -9,6 +9,7 @@ Package.onUse(function(api) {
api.use('rocketchat:lib');
api.use('rocketchat:version');
api.use('coffeescript');
api.use('ecmascript');
api.addFiles('file.server.coffee', 'server');

@ -5,6 +5,7 @@ Package.describe({
});
Package.onUse(function(api) {
api.use('ecmascript');
api.use('coffeescript');
api.use('rocketchat:lib');
api.use('rocketchat:custom-oauth');

@ -5,6 +5,7 @@ Package.describe({
});
Package.onUse(function(api) {
api.use('ecmascript');
api.use('coffeescript');
api.use('rocketchat:lib');
api.use('rocketchat:custom-oauth');

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

@ -153,6 +153,7 @@
"API_Analytics": "Analytics",
"API_Embed": "Embed Link Previews",
"API_Embed_Description": "Whether embedded link previews are enabled or not when a user posts a link to a website.",
"API_EmbedCacheExpirationDays": "Embed cache expiration days",
"API_EmbedDisabledFor": "Disable Embed for Users",
"API_EmbedDisabledFor_Description": "Comma-separated list of usernames to disable the embedded link previews.",
"API_EmbedIgnoredHosts": "Embed Ignored Hosts",
@ -227,6 +228,7 @@
"busy_male": "busy",
"Busy_male": "Busy",
"by": "by",
"cache_cleared": "Cache cleared",
"Cancel": "Cancel",
"Cancel_message_input": "Cancel",
"Cannot_invite_users_to_direct_rooms": "Cannot invite users to direct rooms",
@ -270,6 +272,8 @@
"Choose_messages": "Choose messages",
"Choose_the_alias_that_will_appear_before_the_username_in_messages": "Choose the alias that will appear before the username in messages.",
"Choose_the_username_that_this_integration_will_post_as": "Choose the username that this integration will post as.",
"clear": "Clear",
"clear_cache_now": "Clear cache now",
"Clear_all_unreads_question": "Clear all unreads?",
"Click_here": "Click here",
"Client_ID": "Client ID",
@ -425,6 +429,7 @@
"error-invalid-email": "Invalid email __email__",
"error-invalid-file-height": "Invalid file height",
"error-invalid-file-type": "Invalid file type",
"error-direct-message-file-upload-not-allowed": "File sharing not allowed in direct messages",
"error-invalid-file-width": "Invalid file width",
"error-invalid-from-address": "You informed an invalid FROM address.",
"error-invalid-integration": "Invalid integration",
@ -479,10 +484,12 @@
"Field_removed": "Field removed",
"Field_required": "Field required",
"File_exceeds_allowed_size_of_bytes": "File exceeds allowed size of __size__.",
"File_not_allowed_direct_messages": "File sharing not allowed in direct messages.",
"File_type_is_not_accepted": "File type is not accepted.",
"FileUpload": "File Upload",
"FileUpload_Enabled": "File Uploads Enabled",
"FileUpload_Disabled": "File uploads are disabled.",
"FileUpload_Enabled_Direct": "File Uploads Enabled in Direct Messages ",
"FileUpload_File_Empty": "File empty",
"FileUpload_FileSystemPath": "System Path",
"FileUpload_MaxFileSize": "Maximum File Upload Size (in bytes)",

@ -9,8 +9,9 @@ Package.onUse(function(api) {
api.use('templating', 'client');
var fs = Npm.require('fs');
fs.readdirSync(process.env.PWD + '/packages/rocketchat-i18n/i18n').forEach(function(filename) {
if (filename.indexOf('.json') > -1 && fs.statSync(process.env.PWD + '/packages/rocketchat-i18n/i18n/' + filename).size > 16) {
var workingDir = process.env.PWD || '.';
fs.readdirSync(workingDir + '/packages/rocketchat-i18n/i18n').forEach(function(filename) {
if (filename.indexOf('.json') > -1 && fs.statSync(workingDir + '/packages/rocketchat-i18n/i18n/' + filename).size > 16) {
api.addFiles('i18n/' + filename);
}
});

@ -7,11 +7,11 @@ Package.describe({
Package.onUse(function(api) {
api.use([
'ecmascript',
'coffeescript',
'rocketchat:lib',
'rocketchat:importer'
]);
api.use('aldeed:moment-timezone', 'server');
api.use('rocketchat:logger', 'server');
api.addFiles('server.coffee', 'server');
api.addFiles('main.coffee', ['client', 'server']);

@ -1,3 +1,6 @@
import moment from 'moment'
import 'moment-timezone'
Importer.HipChat = class Importer.HipChat extends Importer.Base
@RoomPrefix = 'hipchat_export/rooms/'
@UsersPrefix = 'hipchat_export/users/'

@ -7,11 +7,11 @@ Package.describe({
Package.onUse(function(api) {
api.use([
'ecmascript',
'coffeescript',
'rocketchat:lib',
'rocketchat:importer'
]);
api.use('aldeed:moment-timezone', 'server');
api.use('rocketchat:logger', 'server');
api.addFiles('server.coffee', 'server');
api.addFiles('main.coffee', ['client', 'server']);

@ -1,3 +1,4 @@
import toastr from 'toastr'
Template.adminImportPrepare.helpers
isAdmin: ->
return RocketChat.authz.hasRole(Meteor.userId(), 'admin')

@ -1,3 +1,4 @@
import toastr from 'toastr'
Template.adminImportProgress.helpers
step: ->
return Template.instance().step.get()

@ -14,7 +14,6 @@ Package.onUse(function(api) {
'rocketchat:lib'
]);
api.use('aldeed:moment-timezone', 'server');
api.use('rocketchat:logger', 'server');
api.use('templating', 'client');

@ -1,3 +1,5 @@
import moment from 'moment'
Template.integrations.helpers
hasPermission: ->
return RocketChat.authz.hasAtLeastOnePermission(['manage-integrations', 'manage-own-integrations'])

@ -1,3 +1,4 @@
import toastr from 'toastr'
Template.integrationsIncoming.onCreated ->
@record = new ReactiveVar
username: 'rocket.cat'

@ -1,3 +1,4 @@
import toastr from 'toastr'
Template.integrationsOutgoing.onCreated ->
@record = new ReactiveVar
username: 'rocket.cat'

@ -154,7 +154,7 @@ class HubotScripts
for modulePath in modulesToLoad
try
Npm.require(modulePath)(robot)
robot.parseHelp __meteor_bootstrap__.serverDir+'/npm/rocketchat_internal-hubot/node_modules/'+modulePath
robot.parseHelp __meteor_bootstrap__.serverDir+'/npm/node_modules/meteor/rocketchat_internal-hubot/node_modules/'+modulePath
console.log "Loaded #{modulePath}".green
catch e
console.log "can't load #{modulePath}".red

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

@ -12,6 +12,7 @@ Npm.depends({
Package.onUse(function(api) {
api.use([
'ecmascript',
'coffeescript',
'underscore',
'rocketchat:lib'

@ -7,6 +7,7 @@ Package.describe({
Package.onUse(function(api) {
api.use('coffeescript');
api.use('ecmascript');
api.use('underscore');
api.use('templating');
api.use('underscorestring:underscore.string');

@ -1,3 +1,6 @@
import moment from 'moment'
import toastr from 'toastr'
RocketChat.MessageAction = new class
buttons = new ReactiveVar {}

@ -32,7 +32,6 @@ Package.onUse(function(api) {
api.use('matb33:collection-hooks');
api.use('service-configuration');
api.use('check');
api.use('momentjs:moment');
api.use('rocketchat:i18n');
api.use('rocketchat:streamer');
api.use('rocketchat:version');

@ -1,3 +1,3 @@
{
"version": "0.46.0-develop"
"version": "0.47.0-develop"
}

@ -1,3 +1,5 @@
import moment from 'moment';
RocketChat.callbacks.add('afterSaveMessage', function(message, room) {
// skips this callback if the message was edited
if (message.editedAt) {

@ -1,3 +1,5 @@
import moment from 'moment';
RocketChat.callbacks.add('afterSaveMessage', function(message, room) {
// skips this callback if the message was edited
if (message.editedAt) {

@ -1,4 +1,5 @@
/* globals Push */
import moment from 'moment';
RocketChat.callbacks.add('afterSaveMessage', function(message, room) {
// skips this callback if the message was edited

@ -1,3 +1,5 @@
import moment from 'moment'
Meteor.methods
deleteMessage: (message) ->

@ -1,3 +1,5 @@
import moment from 'moment'
Meteor.methods
sendMessage: (message) ->

@ -1,3 +1,5 @@
import moment from 'moment'
Meteor.methods
updateMessage: (message) ->

@ -185,6 +185,8 @@ RocketChat.settings.addGroup 'Message', ->
@add 'Message_AudioRecorderEnabled', true, { type: 'boolean', public: true, i18nDescription: 'Message_AudioRecorderEnabledDescription' }
@add 'Message_GroupingPeriod', 300, { type: 'int', public: true, i18nDescription: 'Message_GroupingPeriodDescription' }
@add 'API_Embed', true, { type: 'boolean', public: true }
@add 'API_EmbedCacheExpirationDays', 30, { type: 'int', public: false }
@add 'API_Embed_clear_cache_now', 'OEmbedCacheCleanup', { type: 'action', actionText: 'clear', i18nLabel: 'clear_cache_now' }
@add 'API_EmbedDisabledFor', '', { type: 'string', public: true, i18nDescription: 'API_EmbedDisabledFor_Description' }
@add 'API_EmbedIgnoredHosts', 'localhost, 127.0.0.1, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16', { type: 'string', i18nDescription: 'API_EmbedIgnoredHosts_Description' }
@add 'API_EmbedSafePorts', '80, 443', { type: 'string' }

@ -1,3 +1,4 @@
import toastr from 'toastr'
class @ChatMessages
init: (node) ->
this.editing = {}

@ -1,5 +1,6 @@
Template.message.helpers
import moment from 'moment'
Template.message.helpers
own: ->
return 'own' if this.u?._id is Meteor.userId()

@ -20,7 +20,10 @@
"email": "support@rocket.chat"
},
"dependencies": {
"autolinker": "^1.2.1",
"babel-runtime": "^6.18.0"
"autolinker": "^1.3.2",
"babel-runtime": "^6.18.0",
"moment": "^2.16.0",
"jquery": "^3.1.1",
"toastr": "^2.1.2"
}
}

@ -1,3 +1,6 @@
import moment from 'moment';
import toastr from 'toastr';
Template.livechatAppearance.helpers({
previewState() {
return Template.instance().previewState.get();

@ -1,3 +1,5 @@
import moment from 'moment';
Template.livechatCurrentChats.helpers({
livechatRoom() {
return ChatRoom.find({ t: 'l' }, { sort: { ts: -1 } });

@ -1,3 +1,4 @@
import toastr from 'toastr';
Template.livechatCustomFieldForm.helpers({
customField() {
return Template.instance().customField.get();

@ -1,3 +1,4 @@
import toastr from 'toastr';
Template.livechatDepartmentForm.helpers({
department() {
return Template.instance().department.get();

@ -1,3 +1,4 @@
import toastr from 'toastr';
/* globals LivechatIntegration */
Template.livechatIntegrations.helpers({
webhookUrl() {

@ -1,4 +1,6 @@
import toastr from 'toastr';
/* globals LivechatOfficeHour */
import moment from 'moment';
Template.livechatOfficeHours.helpers({
days() {
@ -154,4 +156,4 @@ Template.livechatOfficeHours.onCreated(function() {
this.autorun(() => {
this.enableOfficeHours.set(RocketChat.settings.get('Livechat_enable_office_hours'));
});
});
});

@ -1,3 +1,4 @@
import toastr from 'toastr';
Template.livechatTriggers.helpers({
conditions() {
var trigger = Template.instance().trigger.get();

@ -1,3 +1,4 @@
import toastr from 'toastr';
var ManagerUsers;
Meteor.startup(function() {

@ -1,3 +1,4 @@
import toastr from 'toastr';
Template.visitorEdit.helpers({
visitor() {
return Template.instance().visitor.get();

@ -1,3 +1,4 @@
import toastr from 'toastr';
Template.visitorForward.helpers({
visitor() {
return Template.instance().visitor.get();

@ -1,3 +1,5 @@
import moment from 'moment';
Template.visitorHistory.helpers({
historyLoaded() {
return !Template.instance().loadHistory.ready();

@ -1,3 +1,4 @@
import moment from 'moment';
import UAParser from 'ua-parser-js';
Template.visitorInfo.helpers({

@ -1,3 +1,5 @@
import moment from 'moment';
Template.visitorNavigation.helpers({
loadingNavigation() {
return !Template.instance().pageVisited.ready();

@ -126,8 +126,12 @@ Template.livechat.onCreated(function() {
this.statusLivechat = new ReactiveVar();
this.autorun(() => {
const user = RocketChat.models.Users.findOne(Meteor.userId(), { fields: { statusLivechat: 1 } });
this.statusLivechat.set(user.statusLivechat);
if (Meteor.userId()) {
const user = RocketChat.models.Users.findOne(Meteor.userId(), { fields: { statusLivechat: 1 } });
this.statusLivechat.set(user.statusLivechat);
} else {
this.statusLivechat.set();
}
});
this.subscribe('livechat:inquiry');

@ -1,5 +1,7 @@
/* globals emailSettings, DDPRateLimiter */
/* Send a transcript of the room converstation to the given email */
import moment from 'moment';
Meteor.methods({
'livechat:sendTranscript'(rid, email) {
check(rid, String);

@ -1,3 +1,5 @@
import moment from 'moment';
class LivechatOfficeHour extends RocketChat.models._Base {
constructor() {
super('livechat_office_hour');

@ -1,3 +1,5 @@
import moment from 'moment'
Template.viewLogs.onCreated ->
@subscribe 'stdout'
@atBottom = true

@ -5,6 +5,7 @@ Package.describe({
});
Package.onUse(function(api) {
api.use('ecmascript');
api.use('coffeescript');
api.use('underscore');
api.use('random');

@ -1,3 +1,4 @@
import toastr from 'toastr'
Template.mailer.helpers
fromEmail: ->
return RocketChat.settings.get 'From_Email'

@ -6,6 +6,7 @@ Package.describe({
Package.onUse(function(api) {
api.use([
'ecmascript',
'coffeescript',
'ddp-rate-limiter',
'kadira:flow-router',

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

@ -8,6 +8,7 @@ Package.describe({
Package.onUse(function(api) {
api.use([
'coffeescript',
'ecmascript',
'underscore',
'templating',
'underscorestring:underscore.string',

@ -7,6 +7,7 @@ Package.describe({
Package.onUse(function(api) {
api.use([
'ecmascript',
'coffeescript',
'underscore',
'less',

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

@ -1,3 +1,5 @@
import moment from 'moment'
Template.messageAttachment.helpers
fixCordova: (url) ->
if Meteor.isCordova and url?[0] is '/'

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

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

@ -1,3 +1,4 @@
import toastr from 'toastr'
Meteor.startup ->
RocketChat.MessageAction.addButton
id: 'pin-message'

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

@ -1,4 +1,6 @@
/* global SnippetedMessages */
import moment from 'moment';
Template.snippetPage.helpers({
snippet: function() {
return SnippetedMessages.findOne({ _id: FlowRouter.getParam('snippetId') });

@ -1,3 +1,5 @@
import moment from 'moment';
Template.snippetMessage.helpers({
time: function() {
return moment(this.ts).format(RocketChat.settings.get('Message_TimeFormat'));

@ -1,3 +1,4 @@
import toastr from 'toastr'
Meteor.startup ->
RocketChat.MessageAction.addButton
id: 'star-message'

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

@ -1,4 +1,5 @@
/* eslint-disable */
import moment from 'moment';
/*
Adds migration capabilities. Migrations are defined like:
@ -27,8 +28,7 @@
be in an inconsistant state.
*/
// since we'll be at version 0 by default, we should have a migration set for
// it.
// since we'll be at version 0 by default, we should have a migration set for it.
var DefaultMigration = {
version: 0,
up: function() {

@ -12,7 +12,6 @@ Package.onUse(function(api) {
api.use('underscore');
api.use('check');
api.use('mongo');
api.use('momentjs:moment');
api.addFiles('migrations.js', 'server');
});

@ -1,3 +1,4 @@
import toastr from 'toastr'
Template.oauthApp.onCreated ->
@subscribe 'oauthApps'
@record = new ReactiveVar

@ -1,3 +1,5 @@
import moment from 'moment'
Template.oauthApps.onCreated ->
@subscribe 'oauthApps'

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

Loading…
Cancel
Save