Sharing is Caring

We write about maintainable software, debugging errors, and tools we're working on.

  • August 2019 Product Updates

    August 2019 Product Updates

    By Todd H Gardner on September 11, 2019

    We’re a bit light on features this month because we’re working on a new site quality report. More on that next month. In the meantime, we have some helpful additions:


    Read more »
  • Lessons Learned From A Buggy React Upgrade

    Lessons Learned From A Buggy React Upgrade

    By Dor Moshe on September 10, 2019

    React v16 is innovative. It comes with better error handling and new features like Error Boundaries, Fragment, Portals, Lazy, Memo, a new Context API, Hooks, Suspense, and concurrent rendering. I have been upgrading a large React code base from React v15 to React v16. This upgrade was clearly necessary but implementing is nontrivial on a large codebase. Thanks to the React team at Facebook, the migration path looks easy. Unfortunately, this was not the case.

    Read more »
  • Debugging:

    Debugging: "Failed to construct 'Request': Invalid Argument." in Edge

    By Todd H Gardner on September 4, 2019

    Nothing changed in your code. All of a sudden, a tidal wave of errors start happening for Microsoft Edge users. What the heck happened?

    On August 28th, 2019, many TrackJS customers saw a sudden surge in errors from Microsoft Edge browsers: Failed to construct 'Request': Invalid Argument and Failed to execute 'fetch()' on 'Window': Invalid argument".

    Read more »
  • Best Practices on JavaScript Page Weight

    Best Practices on JavaScript Page Weight

    By Todd H Gardner on September 3, 2019

    Web sites continue to bloat with oversized images, custom fonts, and too much JavaScript. The huge amount of poor performing JavaScript on many sites drags desktop browsers and crushes low-end mobile devices. No one wants to work on sites like that.

    To make your site better, faster, and lighter, we’ve compiled some high-level best practices to reduce your JavaScript load.

    Read more »
  • How to Correctly Wrap a JavaScript Function

    How to Correctly Wrap a JavaScript Function

    By Todd H Gardner on August 27, 2019

    Wrapping JavaScript functions lets you add common logic to functions you do not control, like native and external functions. Many JavaScript libraries, like the TrackJS agents, need to wrap external functions to do their work. Adding wrappers allows us to listen for Telemetry, errors, and logs in your code, without you needing to call our API explicitly.

    Read more »
  • Remote Debugging on the Script & Style Show

    Remote Debugging on the Script & Style Show

    By Todd H Gardner on August 26, 2019

    Todd and David discuss tools and techniques to debug remote devices, such as phones and kiosk computers.

    Read more »