I got a tweet from you asking for a donation (or rather a 'partner', which apparently means 'money'), but couldn't frame a useful response in 140 chars, so since this thread is coming back, I thought to do so here instead.
What license are you offering these code samples under - if it isn't something open and available, what is the benefit to an advance copy of the jar if I, an author of a library and several open source tools and applications, cannot provide it to my customers or other downstream users? We've found that https://gist.github.com/niloc132/3906501 goes a heck of a long ways toward offering optional debug info - if not enabled, the user gets the normal-size application with zero size or performance hit, and by redirecting to a slightly different url, the full trace info can be pulled out (with the quirks you mention of course*), which typically goes a long ways toward identifying the real issue. * How often have you needed to know which line of Impl.java or DOMImpl.java a stack trace intersects? To make your case more effectively, you might consider using code where it is meaningful to see those lines, something other than the equivelent of java.lang.reflect.Method.invoke(Method.java:601). Perhaps some real life JSNI, or an annoying IE6-9 focus() or setAttribute issue? You touch briefly on the risk of '[exposing] your application’s implementation details', but unless I am mistaken, the extra metadata included in the file:line ints should still be enough to take apart an app and map it to discrete files and reconstruct methods, even un-inlining (as you mention) to pull out clearer details. My understanding was that the premise of the sourceMap was to work entirely from the stack to allow the actual source to be obfuscated, and avoid any other metadata from being left in the compiled output. Combine this with the fact that many of those classes are publicly available (GWT itself, etc), and it seems that you could reverse out a significant portion of the app - the "secret sauce". Can you comment on using this for public applications and any reverse engineering attempts you've made? On Mon, Aug 19, 2013 at 3:06 PM, Alex Epshteyn <[email protected] > wrote: > Hello folks, > > I just wanted to remind everyone that the last day to fund this project is > this Friday, August 23. > > I've been using this framework in production in my app now for 2 months, > and it works great. Have logged 70,000 perfect stack traces so far! > Already fixed 3 major bugs in my GWT-based UI code that I would NEVER > found otherwise. > > Let's get this capability into GWT by the end of the year. Please donate! > > Thanks, > Alex > > > > On Wednesday, July 17, 2013 4:56:40 PM UTC-4, Alex Epshteyn wrote: >> >> Dear fellow GWT users, >> >> I would like to announce that I have finally solved what I always thought >> to be GWT's greatest weakness: its lack of debugging information for >> client-side exceptions in production. >> >> With my patch, your deployed app will be able to report stack traces like >> this: >> >> com.google.gwt.core.client.**JavaScriptException: (TypeError) : a is null >> com.google.gwt.dom.client.**DOMImplMozilla.$**getBodyOffsetLeft(** >> DOMImplMozilla.java:145) >> com.google.gwt.user.client.ui.**PopupPanel.$setPopupPosition(** >> Document.java:1287) >> com.google.gwt.user.client.ui.**PopupPanel.setPopupPosition(** >> PopupPanel.java:884) >> com.google.gwt.user.client.ui.**PopupPanel.PopupPanel(** >> PopupPanel.java:453) >> com.typeracer.commons.client.**widgets.EnhancedPopup.** >> EnhancedPopup(EnhancedPopup.**java:32) >> com.typeracer.commons.client.**widgets.PopupWithIcon.**PopupWithIcon(** >> PopupWithFocusableTextBox.**java:28) >> com.typeracer.main.client.**controller.**TyperacerUncaughtExceptionHand** >> ler$1.execute(**TyperacerUncaughtExceptionHand**ler.java:55) >> com.google.gwt.core.client.**impl.SchedulerImpl.**runScheduledTasks(** >> SchedulerImpl.java:50) >> etc... :-) >> >> >> instead of the current state of affairs that looks like this: >> >> lineNumber: 3190 columnNumber: 15354: a is null; (TypeError) fileName: >> http://localhost:8088/**9C4DC2D905BEA407601C92C56B43E3**B8.cache.html<http://localhost:8088/9C4DC2D905BEA407601C92C56B43E3B8.cache.html> >> >> stack: @http://localhost:8088/**9C4DC2D905BEA407601C92C56B43E3** >> B8.cache.html:2422<http://localhost:8088/9C4DC2D905BEA407601C92C56B43E3B8.cache.html:2422> >> >> Rub@http://localhost:8088/**9C4DC2D905BEA407601C92C56B43E3** >> B8.cache.html:2423<http://localhost:8088/9C4DC2D905BEA407601C92C56B43E3B8.cache.html:2423> >> >> dSb@http://localhost:8088/**9C4DC2D905BEA407601C92C56B43E3** >> B8.cache.html:3190<http://localhost:8088/9C4DC2D905BEA407601C92C56B43E3B8.cache.html:3190> >> >> tA@http://localhost:8088/**9C4DC2D905BEA407601C92C56B43E3** >> B8.cache.html:2810<http://localhost:8088/9C4DC2D905BEA407601C92C56B43E3B8.cache.html:2810> >> >> Xmb@http://localhost:8088/**9C4DC2D905BEA407601C92C56B43E3** >> B8.cache.html:2289<http://localhost:8088/9C4DC2D905BEA407601C92C56B43E3B8.cache.html:2289> >> >> etc... :-( >> >> >> I am asking the community to support me in finishing this effort and >> integrating my patch into GWT. Please take a look and what I've done, and >> consider making a donation: >> >> http://igg.me/at/gwt-stack-**traces/x/3494291<http://igg.me/at/gwt-stack-traces/x/3494291> >> >> I am an indie developer and I just need some funding to continue this >> work. I'm looking for both grassroots and corporate sponsorship for my >> quest of improving GWT's error reporting and debugging support. >> >> I've written a detailed white paper ( http://goo.gl/YGsrQ ) that >> describes how my solution works and why it is necessary. I welcome your >> feedback! >> >> Thanks! >> Alex >> > -- > http://groups.google.com/group/Google-Web-Toolkit-Contributors > --- > You received this message because you are subscribed to the Google Groups > "GWT Contributors" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. > -- 218.248.6165 [email protected] -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups "GWT Contributors" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
