Merged branch develop into remove-browser-references

pull/5727/head
Martin Schoeler 9 years ago
commit 292fe12bde
  1. 3
      package.json
  2. 1
      packages/rocketchat-api/package.js
  3. 8
      packages/rocketchat-api/server/default/metrics.js
  4. 2
      packages/rocketchat-integrations/client/views/integrationsIncoming.coffee
  5. 13
      packages/rocketchat-integrations/server/api/api.coffee
  6. 74
      packages/rocketchat-lib/.npm/package/npm-shrinkwrap.json
  7. 4
      packages/rocketchat-lib/package.js
  8. 9
      packages/rocketchat-lib/server/lib/metrics.js
  9. 3
      packages/rocketchat-lib/server/methods/sendMessage.coffee
  10. 1
      packages/rocketchat-theme/client/imports/base.less
  11. 3
      packages/rocketchat-ui/views/app/room.coffee
  12. 8
      packages/rocketchat-ui/views/app/room.html

@ -75,6 +75,7 @@
"mime-types": "^2.1.14",
"file-type": "^4.1.0",
"semver": "^5.3.0",
"codemirror": "^5.23.0"
"codemirror": "^5.23.0",
"prom-client": "^7.0.1"
}
}

@ -22,6 +22,7 @@ Package.onUse(function(api) {
api.addFiles('server/v1/helpers/parseJsonQuery.js', 'server');
api.addFiles('server/default/info.js', 'server');
api.addFiles('server/default/metrics.js', 'server');
//Add v1 routes
api.addFiles('server/v1/channels.js', 'server');

@ -0,0 +1,8 @@
RocketChat.API.default.addRoute('metrics', { authRequired: false }, {
get: function() {
return {
headers: { 'Content-Type': 'text/plain' },
body: RocketChat.promclient.register.metrics()
};
}
});

@ -91,7 +91,7 @@ Template.integrationsIncoming.helpers
for key, value of data
delete data[key] if value in [null, ""]
return "curl -X POST --data-urlencode 'payload=#{JSON.stringify(data)}' #{record.url}"
return "curl -X POST -H 'Content-Type: application/json' --data '#{JSON.stringify(data)}' #{record.url}"
editorOptions: ->
return {} =

@ -54,7 +54,18 @@ Api = new Restivus
payloadIsWrapped = @bodyParams?.payload? and payloadKeys.length == 1
if payloadIsWrapped and @request.headers['content-type'] is 'application/x-www-form-urlencoded'
@bodyParams = JSON.parse @bodyParams.payload
try
@bodyParams = JSON.parse @bodyParams.payload
catch e
return {
error: {
statusCode: 400
body: {
success: false
error: e.message
}
}
}
@integration = RocketChat.models.Integrations.findOne
_id: @request.params.integrationId

@ -6,13 +6,13 @@
"from": "acorn@>=1.0.3 <2.0.0"
},
"amdefine": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz",
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
"from": "amdefine@>=0.0.4"
},
"ansi-regex": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz",
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
"from": "ansi-regex@>=2.0.0 <3.0.0"
},
"ansi-styles": {
@ -75,6 +75,11 @@
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz",
"from": "bcrypt-pbkdf@>=1.0.0 <2.0.0"
},
"bintrees": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/bintrees/-/bintrees-1.0.1.tgz",
"from": "bintrees@1.0.1"
},
"boom": {
"version": "2.10.1",
"resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
@ -116,8 +121,8 @@
"from": "cryptiles@>=2.0.0 <3.0.0"
},
"dashdash": {
"version": "1.14.0",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.0.tgz",
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
"from": "dashdash@>=1.12.0 <2.0.0",
"dependencies": {
"assert-plus": {
@ -183,8 +188,8 @@
"from": "forever-agent@>=0.6.1 <0.7.0"
},
"form-data": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.1.tgz",
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.2.tgz",
"from": "form-data@>=2.1.1 <2.2.0"
},
"generate-function": {
@ -300,8 +305,8 @@
"from": "json-stringify-safe@>=5.0.1 <5.1.0"
},
"jsonpointer": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.0.tgz",
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz",
"from": "jsonpointer@>=4.0.0 <5.0.0"
},
"jsprim": {
@ -330,13 +335,13 @@
"from": "lokijs@1.4.1"
},
"mime-db": {
"version": "1.24.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.24.0.tgz",
"from": "mime-db@>=1.24.0 <1.25.0"
"version": "1.26.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.26.0.tgz",
"from": "mime-db@>=1.26.0 <1.27.0"
},
"mime-types": {
"version": "2.1.12",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.12.tgz",
"version": "2.1.14",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.14.tgz",
"from": "mime-types@>=2.1.7 <2.2.0"
},
"node-dogstatsd": {
@ -344,11 +349,6 @@
"resolved": "https://registry.npmjs.org/node-dogstatsd/-/node-dogstatsd-0.0.6.tgz",
"from": "node-dogstatsd@0.0.6"
},
"node-uuid": {
"version": "1.4.7",
"resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz",
"from": "node-uuid@>=1.4.7 <1.5.0"
},
"oauth-sign": {
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
@ -379,6 +379,11 @@
"resolved": "https://registry.npmjs.org/private/-/private-0.1.6.tgz",
"from": "private@>=0.1.5 <0.2.0"
},
"prom-client": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/prom-client/-/prom-client-7.0.1.tgz",
"from": "prom-client@7.0.1"
},
"promise": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/promise/-/promise-7.1.1.tgz",
@ -417,8 +422,8 @@
}
},
"request": {
"version": "2.76.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.76.0.tgz",
"version": "2.79.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz",
"from": "request@>=2.0.0 <3.0.0"
},
"sntp": {
@ -432,8 +437,8 @@
"from": "source-map@0.1.31"
},
"sshpk": {
"version": "1.10.1",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.10.1.tgz",
"version": "1.10.2",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.10.2.tgz",
"from": "sshpk@>=1.7.0 <2.0.0",
"dependencies": {
"assert-plus": {
@ -468,6 +473,11 @@
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
"from": "supports-color@>=2.0.0 <3.0.0"
},
"tdigest": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/tdigest/-/tdigest-0.1.1.tgz",
"from": "tdigest@>=0.1.1 <0.2.0"
},
"through": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
@ -489,8 +499,8 @@
"from": "tunnel-agent@>=0.4.1 <0.5.0"
},
"tweetnacl": {
"version": "0.14.3",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.3.tgz",
"version": "0.14.5",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
"from": "tweetnacl@>=0.14.0 <0.15.0"
},
"unreachable-branch-transform": {
@ -498,6 +508,16 @@
"resolved": "https://registry.npmjs.org/unreachable-branch-transform/-/unreachable-branch-transform-0.3.0.tgz",
"from": "unreachable-branch-transform@>=0.3.0 <0.4.0"
},
"util-extend": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/util-extend/-/util-extend-1.0.3.tgz",
"from": "util-extend@>=1.0.1 <2.0.0"
},
"uuid": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz",
"from": "uuid@>=3.0.0 <4.0.0"
},
"verror": {
"version": "1.3.6",
"resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz",
@ -506,7 +526,7 @@
"xtend": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
"from": "xtend@>=4.0.0 <4.1.0-0"
"from": "xtend@>=4.0.0 <5.0.0"
}
}
}

@ -11,7 +11,8 @@ Npm.depends({
'node-dogstatsd': '0.0.6',
'localforage': '1.4.2',
'lokijs': '1.4.1',
'bugsnag': '1.8.0'
'bugsnag': '1.8.0',
'prom-client': '7.0.1'
});
Package.onUse(function(api) {
@ -62,6 +63,7 @@ Package.onUse(function(api) {
api.addFiles('lib/MessageTypes.coffee');
api.addFiles('server/lib/bugsnag.js', 'server');
api.addFiles('server/lib/metrics.js', 'server');
api.addFiles('server/lib/RateLimiter.coffee', 'server');

@ -0,0 +1,9 @@
var client = require('prom-client');
RocketChat.promclient = client;
RocketChat.metrics = {};
// one sample metrics only - a counter
RocketChat.metrics.messagesSent = new client.Counter('messages_sent', 'cumulated number of messages sent');

@ -49,8 +49,9 @@ Meteor.methods
message.alias = user.name if not message.alias? and RocketChat.settings.get 'Message_SetNameToAliasEnabled'
if Meteor.settings.public.sandstorm
message.sandstormSessionId = this.connection.sandstormSessionId()
RocketChat.sendMessage user, message, room
RocketChat.metrics.messagesSent.inc()
# Limit a user, who does not have the "bot" role, to sending 5 msgs/second
DDPRateLimiter.addRule

@ -4572,6 +4572,7 @@ body:not(.is-cordova) {
.load-more {
position: relative;
padding: 1rem 0;
height: 10px;
}
.search-messages-list {

@ -314,9 +314,6 @@ Template.room.events
RoomHistoryManager.getMoreNext(@_id)
, 200
'click .load-more > button': ->
RoomHistoryManager.getMore(@_id)
'click .new-message': (e) ->
Template.instance().atBottom = true
Template.instance().find('.input-message').focus()

@ -84,7 +84,9 @@
{{#if canPreview}}
{{#if hasMore}}
<li class="load-more">
{{> loading}}
{{#if isLoading}}
{{> loading}}
{{/if}}
</li>
{{else}}
<li class="start color-info-font-color">
@ -97,7 +99,9 @@
{{/each}}
{{#if hasMoreNext}}
<li class="load-more">
{{> loading}}
{{#if isLoading}}
{{> loading}}
{{/if}}
</li>
{{/if}}
</ul>

Loading…
Cancel
Save