As an addendum to this... I am migrating off the channel API. I did some testing today with enough logging in place to prove that the channel API was silently failing to deliver messages to connected clients. Given all the other problems, this was the straw that broke the camel's back.
Since I already have a node.js instance standing by to deliver Apple push notifications, I'm going to expand that instance's role to handling connected message transport as well. I'm planning to use socket.io to do this. I should be able to do this in such a way that it's largely transparent to the client, abstracted behind a class that knows how to connect to the messaging service and fan out resulting messages. If people are interested I'll post the solution somewhere when it's done. - Kris On Saturday, October 27, 2012 10:52:55 AM UTC-7, Kristopher Giesing wrote: > > Sorry, check that, for development I set the connection base to the > equivalent of localhost. I also added the same methods to the prod version > of the channel JS, which was trickier because it's minified. > > This works for me because cross domain restrictions don't apply to > statically served files, at least on iOS devices. Your use case may be > different. > > - Kris > > On Saturday, October 27, 2012 10:48:26 AM UTC-7, Kristopher Giesing wrote: >> >> I added a function like this to the channel javascript: >> >> goog.appengine.DevSocket.setConnectionBase = function(base) { >> goog.appengine.DevSocket.BASE_URL = base + "_ah/channel/"}; >> >> ... >> >> goog.exportSymbol("goog.appengine.Channel.setConnectionBase", >> goog.appengine.DevSocket.setConnectionBase); >> >> This allowed me to serve the channel javascript as a static file served >> outside of appspot.com instead of through the normal page load process. >> (This is a static mobile app based on PhoneGap.) The base URL I set to was >> the appspot.com domain. >> >> - Kris >> >> On Wednesday, October 24, 2012 2:10:20 PM UTC-7, niedbalski wrote: >>> >>> Hi Kristopher, >>> >>> On Tuesday, October 23, 2012 3:15:02 AM UTC-3, Kristopher Giesing wrote: >>> >>>> The live version uses an embedded iFrame. The dev server version can't >>>> work across domains without modifications, but I have gotten it to work by >>>> adding a method that overrides the base URL. >>>> >>>> - Kris >>>> >>>> On Monday, October 22, 2012 2:27:28 PM UTC-7, niedbalski wrote: >>>>> >>>>> ... >>>>> >>>>> >>> >>> Do you know why the development server is not using the same iframe >>> work-around ? Can you share your hack for this? >>> >>> Thanks you. >>> >>> JNR. >>> >>> >>> >>> -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/LCFvn7W_PL0J. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.