@@ -203,6 +203,7 @@ EmbarkJS.Messages.setProvider = function(provider, options) {
203203 var ipfs ;
204204 if ( provider === 'whisper' ) {
205205 this . currentMessages = EmbarkJS . Messages . Whisper ;
206+ this . currentMessages . identity = web3 . shh . newIdentity ( ) ;
206207 } else if ( provider === 'orbit' ) {
207208 this . currentMessages = EmbarkJS . Messages . Orbit ;
208209 if ( options === undefined ) {
@@ -231,7 +232,7 @@ EmbarkJS.Messages.Whisper = {
231232EmbarkJS . Messages . Whisper . sendMessage = function ( options ) {
232233 var topics = options . topic || options . topics ;
233234 var data = options . data || options . payload ;
234- var identity = options . identity || web3 . shh . newIdentity ( ) ;
235+ var identity = options . identity || this . identity || web3 . shh . newIdentity ( ) ;
235236 var ttl = options . ttl || 100 ;
236237 var priority = options . priority || 1000 ;
237238
@@ -272,7 +273,7 @@ EmbarkJS.Messages.Whisper.listenTo = function(options) {
272273 var topics = options . topic || options . topics ;
273274
274275 if ( typeof topics === 'string' ) {
275- topics = [ topics ] ;
276+ topics = [ web3 . fromAscii ( topics ) ] ;
276277 } else {
277278 // TODO: replace with es6 + babel;
278279 var _topics = [ ] ;
@@ -302,10 +303,17 @@ EmbarkJS.Messages.Whisper.listenTo = function(options) {
302303
303304 var filter = web3 . shh . filter ( filterOptions , function ( err , result ) {
304305 var payload = JSON . parse ( web3 . toAscii ( result . payload ) ) ;
306+ var data ;
305307 if ( err ) {
306308 promise . error ( err ) ;
307309 } else {
308- promise . cb ( payload ) ;
310+ data = {
311+ topic : topics . map ( ( t ) => web3 . toAscii ( t ) ) ,
312+ data : payload ,
313+ from : result . from ,
314+ time : ( new Date ( result . sent * 1000 ) )
315+ } ;
316+ promise . cb ( payload , data , result ) ;
309317 }
310318 } ) ;
311319
@@ -371,9 +379,14 @@ EmbarkJS.Messages.Orbit.listenTo = function(options) {
371379 var promise = new messageEvents ( ) ;
372380
373381 this . orbit . events . on ( 'message' , ( topics , message ) => {
374- // Get the actual content of the message
375382 self . orbit . getPost ( message . payload . value , true ) . then ( ( post ) => {
376- promise . cb ( post . content ) ;
383+ var data = {
384+ topic : topics ,
385+ data : post . content ,
386+ from : post . meta . from . name ,
387+ time : ( new Date ( post . meta . ts ) )
388+ } ;
389+ promise . cb ( post . content , data , post ) ;
377390 } ) ;
378391 } ) ;
379392
0 commit comments