Skip to content
Snippets Groups Projects
Commit 2dd69ac7 authored by Jason Paryani's avatar Jason Paryani
Browse files

Fix offering Sandstorm grains without a title

parent 6d20056e
No related branches found
No related tags found
No related merge requests found
......@@ -7,8 +7,11 @@ Template.oembedSandstormGrain.helpers
return @meta.sandstorm.grain.grainTitle
appIconUrl: ->
return @meta.sandstorm.grain.appIconUrl
descriptor: ->
return @meta.sandstorm.grain.descriptor
window.sandstormOembed = (e) ->
e = e or window.event
src = e.target or e.srcElement
token = src.getAttribute "data-token"
Meteor.call "sandstormOffer", token
descriptor = src.getAttribute "data-descriptor"
Meteor.call "sandstormOffer", token, descriptor
......@@ -3,7 +3,8 @@
<label>
<h3>{{grainTitle}}</h3>
<img src="{{appIconUrl}}" />
<button onclick="sandstormOembed(event)" data-token="{{token}}">
<button onclick="sandstormOembed(event)" data-token="{{token}}"
data-descriptor="{{descriptor}}">
Click to open the grain
</button>
</label>
......
......@@ -7,12 +7,15 @@ if (process.env.SANDSTORM === '1') {
var Powerbox = Npm.require('sandstorm/powerbox.capnp');
var Grain = Npm.require('sandstorm/grain.capnp');
RocketChat.Sandstorm.offerUiView = function(token, sessionId) {
RocketChat.Sandstorm.offerUiView = function(token, seriliazedDescriptor, sessionId) {
var httpBridge = getHttpBridge();
var session = httpBridge.getSessionContext(sessionId).context;
var api = httpBridge.getSandstormApi(sessionId).api;
var cap = waitPromise(api.restore(new Buffer(token, 'base64'))).cap;
return waitPromise(session.offer(cap, undefined, {tags: [{id: '15831515641881813735'}]}));
return waitPromise(session.offer(cap, undefined, {tags: [{
id: '15831515641881813735',
value: new Buffer(seriliazedDescriptor, 'base64'),
}]}));
};
Meteor.methods({
......@@ -33,11 +36,13 @@ if (process.env.SANDSTORM === '1') {
token: newToken,
appTitle: appTitle,
appIconUrl: appIconUrl,
grainTitle: grainTitle
grainTitle: grainTitle,
descriptor: descriptor.tags[0].value.toString('base64'),
};
},
sandstormOffer: function(token) {
RocketChat.Sandstorm.offerUiView(token, this.connection.sandstormSessionId());
sandstormOffer: function(token, seriliazedDescriptor) {
RocketChat.Sandstorm.offerUiView(token, seriliazedDescriptor,
this.connection.sandstormSessionId());
}
});
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment