rave icon indicating copy to clipboard operation
rave copied to clipboard

Robot#create_wavelet has no effect

Open bil-bas opened this issue 16 years ago • 4 comments

Operation serialises as:

{
"blipId":"",
"index":-1,
"waveletId":"",
"waveId":"googlewave.com!w+TuD7bJ_CK",
"type":"WAVELET_CREATE",
"javaClass":"com.google.wave.api.impl.OperationImpl",
"property":{
  "waveletId":"googlewave.com!conv+root",
  "javaClass":"com.google.wave.api.impl.WaveletData",
  "waveId":"googlewave.com!w+TuD7bJ_CK",
  "rootBlipId":"b+TuD7bJ_CL",
  "participants":["[email protected]","[email protected]"]
}
}

OK, that makes it obvious why it didn't make a new wavelet. Not sure why it is sending the current, rather than generated wavelet through. Gah!

bil-bas avatar Dec 14 '09 14:12 bil-bas

Fixing that silly issue:

{
"blipId":"",
"index":-1,
"waveletId":"",
"waveId":"googlewave.com!w+TuD7bJ_CP",
"type":"WAVELET_CREATE",
"javaClass":"com.google.wave.api.impl.OperationImpl",
"property":{
  "waveletId":"TBD_wavelet_9_conv+root",
  "javaClass":"com.google.wave.api.impl.WaveletData",
  "waveId":"TBD_wave_8",
  "rootBlipId":"TBD_blip_10",
  "participants":["[email protected]","[email protected]"]
}
}

The result is nothing happens. I would expect myself to get a new wave in my inbox with the two of us in, according to what I've read.

bil-bas avatar Dec 14 '09 15:12 bil-bas

Managed to get further when I realised I needed to serialize participants array as a proper "java" class. This netted me a WAVELET_CREATED event in return.

Note, there is an additional problem, in that now there will be too root wavelets with identical ids in the context => disaster and mayhem!

bil-bas avatar Dec 15 '09 17:12 bil-bas

In the WAVELET_CREATED package, we get:


{"blips":{
"map":{"b+7dPLXbZkBPP":{
"lastModifiedTime":1260898981231,
"content":""
,"contributors":{"javaClass":"java.util.ArrayList","list":["[email protected]"]},
"waveletId":"google.com!conv+root",
"blipId":"b+7dPLXbZkBPP",
"javaClass":"com.google.wave.api.impl.BlipData",
"waveId":"google.com!w+7dPLXbZkBPO",
"annotations":{"javaClass":"java.util.ArrayList","list":[]},
"childBlipIds":{"javaClass":"java.util.ArrayList","list":[]},
"elements":{"map":{},"javaClass":"java.util.HashMap"},
"version":0,
"creator":"[email protected]"
}
},
"javaClass":"java.util.HashMap"},
"robotAddress":"[email protected]",
"events":{"javaClass":"java.util.ArrayList",
"list":[{"timestamp":1260898981232,
"modifiedBy":"[email protected]",
"javaClass":"com.google.wave.api.impl.EventData",
"properties":{"map":{"waveletId":"google.com!conv+root",
"blipId":"b+7dPLXbZkBPP",
"waveId":"google.com!w+7dPLXbZkBPO"},
"javaClass":"java.util.HashMap"},
"type":"WAVELET_CREATED"}]},
"wavelet":{"lastModifiedTime":1260898981232,
"title":"",
"waveletId":"google.com!conv+root",
"rootBlipId":"b+7dPLXbZkBPP",
"javaClass":"com.google.wave.api.impl.WaveletData",
"dataDocuments":{"map":{},"javaClass":"java.util.HashMap"},
"creationTime":1260898981229,
"waveId":"google.com!w+7dPLXbZkBPO",
"participants":{"javaClass":"java.util.ArrayList",
"list":["[email protected]","[email protected]","[email protected]"]},
"creator":"[email protected]",
"version":0}}

Which looks fine. Proving the wave has actually been created, but it doesn't appear in my inbox and trying to join it by manipulating the URL, I am told I'm not a participant of that wave. No idea where it is going...

bil-bas avatar Dec 15 '09 20:12 bil-bas

Actually, there won't be 2 wavelets with the same ID, since I forgot that I generated a random ID. Ignore me ;) Still not the slightest idea why I don't get pulled into the new wavelet though, since I am a participant...

bil-bas avatar Dec 15 '09 20:12 bil-bas