[ https://issues.apache.org/jira/browse/CB-508?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13254078#comment-13254078 ]
Patrick Mueller commented on CB-508: ------------------------------------ Writing the queued messages to the console log after {{deviceready}} make sense. But we still need an option to get the messages to the developer, if {{deviceready}} never fires - for whatever reason. If "vendor" means "cp", then yes. :-) The common-js build currently builds a cordova-{platform}.js file AND a cordova-{platform}-debug.js file, so ... we can just copy the -debug.js version to the platforms as well. More ammunition for automating this vendor/copy process. Another thing we could do is base the "debug" level of cordova off a pre-set variable - perhaps {{CordovaDebug = true}}, etc. We might even want to use both a separate debug file AND a setting of some kind. The -debug.js version of the file could contain extra debug junk we wouldn't want to ship in the "released" version of the app. And we might use an external variable to indicate additional debug capabilities, such as dumping the messages into a div/pre in the DOM or something. > better diagnostic capabilities for startup code > ----------------------------------------------- > > Key: CB-508 > URL: https://issues.apache.org/jira/browse/CB-508 > Project: Apache Callback > Issue Type: New Feature > Components: CordovaJS > Reporter: Patrick Mueller > Assignee: Filip Maj > > I just sent the day yesterday debugging the common-js modules on iOS, for the > lifetime of when the script is loaded through when deviceready is fired. > *PAIN!* > Couple of things: > * there are still some lingering console.log() calls in code that gets run > before deviceready > * even the new utils.alert() or whatever doesn't help here, as it can't do > anything before deviceready > * we need to be able to diagnose issues when deviceready is never called > That last one is something I looked at yesterday. How do you "debug" your > web app that isn't firing deviceready? Even tools like iWebInspector can't > really help for issues that occur at startup - the time window is very small > and there's A LOT OF SHIT going on. > We need to do something, but I don't have concrete ideas yet. > What I ended up doing yesterday was writing a small function > {{HackLog(aMessage)}} which "logs" a message. Works anywhere, anytime. > Logging the message means appending it to an array. :-) After a fixed > timeout, I dump the contents of the log to the DOM in a <pre> (or whatever). > This sort of "log to the DOM" is a nice approach, because we usually do have > a DOM available. The trick is to figure out how folks can enable this sort > of thing, which you clearly don't want in production. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira