February 2024 Summaries
4 posts from Replay
Filter
Month:
Year:
Post Summaries
Back to Blog
Over the past six months, efforts have been made to reduce test failures and flakes for Metabase, revealing various unique debugging cases. One such case involved a pagination table where a React component's use of Math.round led to inconsistent test results, showing either 7 or 8 elements due to a slight 2-pixel height difference between passing and failing tests. This discrepancy was traced back to a rounding error in calculating the currentPageSize, which determined how many items were displayed per page. The issue arose because the Math.floor function consistently rounded down, causing unexpected behavior when minor changes shifted the table's height. A potential fix involves using Math.round or adjusting the test to accept both outcomes. This case study highlights the significant impact of minor changes in modern end-to-end testing and underscores the efficacy of Replay in simplifying debugging by allowing developers to trace value changes over time, making it possible to aim for zero test flakes.
Feb 28, 2024
671 words in the original blog post.
React Panel V3's recent release introduced significant performance improvements, reducing load times from 30 seconds to 13 seconds with their suspense data cache layer, and now with V3, they optimized data collection for the entire DOM tree to enable instant element expansion and enhanced keyboard navigation. The update includes a detailed exploration of how Andarist leverages Replay DevTools to debug the TypeScript Compiler, offering insights into the internal workings of TypeScript's type inference. Additional updates feature enhanced WebSocket event handling in the Console Event Listeners and a migration focus on Chromium, leading to Firefox recordings being redirected to legacy.replay.io. Moreover, users can now search for elements by XPath or node text, a long-desired feature made possible by having access to the complete tree.
Feb 23, 2024
399 words in the original blog post.
The Replay team has announced a new version of React DevTools, written from scratch by Brian Vaughn, which introduces enhancements such as time travel capabilities within the UI, allowing users to highlight changes in component props and state, and preview hooks' names and definitions. This update builds on the history of React DevTools at Replay, which has evolved from its initial Firefox release to a Chrome version that reduces recording overhead and offers new functionality, like source mapping component names in production. In addition to React DevTools, the team has made updates to Redux DevTools, enabling faster jumps to dispatch points and improving source search functionality. They also shared insights from debugging test flakes, exemplifying how Replay's tools help address challenges in software testing, such as reducing instability in tests due to minor timing differences. These advancements reflect Replay's ongoing commitment to enhancing developer workflows through innovative tools and features.
Feb 16, 2024
635 words in the original blog post.
In a collaborative effort to reduce end-to-end (e2e) test flakes with Metabase, the integration of Replay into their Cypress test suite has highlighted the unpredictable impact of minor code changes on test outcomes. A recent case study reveals how a seemingly insignificant styling alteration led to a failure in a previously reliable e2e test, which aimed to validate a date range selection on a graph. Despite the straightforward test definition, a shift in font weight caused the line graph to move, resulting in a different date range being selected due to the use of specific pixel coordinates in the test's trigger commands. This case underscores the challenge of linking test failures to application changes and highlights the utility of Replay DevTools in providing the necessary insight to identify and resolve such issues, ultimately emphasizing the importance of maintaining detailed visibility into test failures to avoid issues like alarm fatigue or the removal of tests from a suite.
Feb 12, 2024
953 words in the original blog post.