Mark Erikson

Mark Erikson

@acemarke.dev

Redux maintainer, building time-travel devtools at Replay.io. I blog about React, Redux, and TS at https://blog.isquaredsoftware.com . Answering questions anywhere there's a textbox on the internet, and otherwise out on the golf course!

7.9K followers505 following1.4K posts

Had a blast talking about all things Replay! Time travel debugging superpowers, why Replay QA's automated testing is so critical in today's AI coding world, and how we've used time travel to analyze React to provide debugging and perf data no other tool can provide!

Jeff Auriemma@jeff.auriemma.xyz

What does a Senior Time Travel Engineer do? @acemarke.dev talks about what autonomous QA means and how @replay-io.bsky.social is solving for that part of the SDLC in the agentic era. Very interesting stuff! youtu.be/n1FEL724sdU

Mark Erikson reposted

Replying to @bvaughn.me

For what it's worth, react-window is still the recommended option for most use cases (unless you need some of the more complex components only available in react-virtualized)

Mark Erikson reposted

⚛️ After a few years of being in "maintenance mode", a new version of react-virtualized is now available on NPM with full React 19 support

Mark Erikson reposted

“You’re constantly missing gaps in what is being tested, and you can’t test fast enough.” Natacha Grey, founder of swoon.ai 20 years in web development. The same QA problem the whole time - until Replay.

blabbing here bc I can :) I haven't written a formal announcement / roadmap post yet, but I've got local prototypes for what will hopefully become Redux Toolkit / RTK Query v3 . The recent docs cleanup + consolidation cleared the deck for that, and I hope to start working towards v3 soon!

Mark Erikson reposted

Connected her GitHub repo in seconds. First run surfaced issues that had been sitting undetected. No testing suite to configure. No QA code to write. Replay connects to your repo and shows you what’s breaking at runtime from the first run.

Mark Erikson reposted

20 years in web dev. 14+ active client projects. No dedicated QA hire. "You don't need to hire a QA resource for your projects. Replay can definitely take a handle on it." Natacha Grey, founder of swoon.ai

Mark Erikson reposted

We ran a self-healing loop on our own codebase for two weeks - FullStory detecting, Replay QA diagnosing, Obvious fixing, humans merging. 152 PRs. 80 merged. 5.4 bugs/day. What earned engineer trust wasn't velocity. It was proof of reproduction.

We've turned our time-travel debugging tech and expertise into a powerful automated app QA system that can find bugs in any website! Check out how much it's helping one of our customers manage app QA load (especially with the rise of AI-driven dev)

Replay.io@replay-io.bsky.social

"My aha moment was realizing that Replay was helping me find new customer journeys that I didn't even think about." Natacha Grey, founder of swoon.ai Test coverage on your app that you didn't have to write tests for. That's the shift.

Mark Erikson reposted

Replying to @zurichjs.com

And we think we managed to do just that, with your help. So here’s a heartfelt thank you for showing up. For believing in the craft and its people For being an important part of what connects us all across the globe. And for being true artisans of the web.

Mark Erikson reposted

WHAT. A. CONFERENCE. 💛 It’s been a couple of weeks, and we’re still recovering from the high from our first ZurichJS Conf edition. With our dopamine resets comes a time for reflection and starting to plan the very loudly requested second edition.

Mark Erikson reposted

Preact 11 is out 🎉 We’ve been hard at work at making our diffing use modern features like moveBefore , leveraging ESM for tree-shaking Preact Compat and ensuring you have a great experience with resumed hydration.

sorta self-indulgent question, but: would there be any interest in me writing up a career history retrospective blog series? Not sure I have a particular goal in mind, but might be neat to write at some point. (obviously I can post whatever I want, just curious if it's worth prioritizing)

also I have been accumulating more Opinions on how I feel about using AI for development, and after recent conf conversations I'm pretty sure I have enough material to put together a third post in that series. Not concrete yet, but thoughts are bubbling around in my head :)

View full thread

This helps clear the way for the next wave of Redux library major versions that I'm planning out. Quick preview: RTK3 API tweaks to improve types and enable new features, a couple breaking changes for DX, and dropping CJS to go ESM-only in all our packages. Details soon!

This had been frequently requested over the years. My standard answer is "we'd have to merge our repos into a mono-repo and that'd be too hard". Last year I figured out a viable approach (clone all repos in CI), and over the last couple weeks was able to push that through to completion.

Mark Erikson reposted

Replying to @jovidecroock.com

Releasing Preact 11 with better hydration, moveBefore support and some reshuffling may sound like a boring release but to me it feels like completing something I've thought about for a while, I want to thank everyone for supporting Preact and enabling my journey

Mark Erikson reposted

Haven't been active much here, sorry, AI-in-OSS burnout is real. How do you care when nobody else does? When nobody engages? When all the human connection is gone? When all you read is AI slop? I want to go back to coding for fun. Because whatever this is, it's very much _not_ fun.

Just published React-Redux v9.4.0-alpha.1 . This fixes `useSignalSelector` proxy tracking behavior when reusing memoized selectors across components, and updates docs on tradeoffs and edge cases github.com/reduxjs/reac... See the alpha.0 release notes for background on `useSignalSelector`

github.comRelease v9.4.0-alpha.1 · reduxjs/react-reduxThis alpha release fixes a bug where useSignalSelector stopped updating when a memoized Reselect selector was shared between components or called with the same state twice, changes how array method...

See the alpha.0 release notes for details on `useSignalSelector`: bsky.app/profile/acem...

Mark Erikson@acemarke.dev

Just published React-Redux v9.4.0-alpha.0 ! This release adds the new `useSignalSelector` hook, which optimizes selector subscriptions via proxy tracking. It's been heavily tested, and we're now looking for feedback on how it works in real-world codebases! github.com/reduxjs/reac...

Mark Erikson reposted

I'm so grateful for the communities we're part of, both offline and online. Such wonderful folks all around us.

Just published React-Redux v9.4.0-alpha.0 ! This release adds the new `useSignalSelector` hook, which optimizes selector subscriptions via proxy tracking. It's been heavily tested, and we're now looking for feedback on how it works in real-world codebases! github.com/reduxjs/reac...

github.comRelease v9.4.0-alpha.0 · reduxjs/react-reduxThis alpha release adds an opt-in useSignalSelector hook and SignalProvider component that only re-run selectors whose state dependencies actually changed, plus a react-redux/signals entry point fo...

`useSignalSelector` optimizes dispatch+subscription performance in large apps. It tracks selector state access via a proxy and skips re-running subscribers when state fields haven't changed. Most apps should use standard `useSelector` - we've designed `useSignalSelector` to help with larger apps.

`useSignalSelector` provides noticeable perf improvements across a range of benchmark scenarios, with a tradeoff of larger bundle size. It can also be used as a drop-in replacement for `useSelector` if desired. We've tested it thoroughly, and now want to hear how it works in real-world apps!

Mark Erikson reposted

Replying to @justatorus.bsky.social

you can read what I've written about why this is EXACTLY my role in leading nuxt > I would be remiss not to speak about values. > Values shape the direction of projects and people [and] the culture of open source communities […] both in where we end up + what the journey there is like.

roe.devDiversity, equity and inclusionI'm in favour of diversity, equity and inclusion in open source communities, and here's why I think it matters.

Actual request: has _anyone_ come up with a userscript or extension or alternate version of the Github Notifications tab that lets you actually filter out PR/issue entries by some criteria, like a text match or whether the last comment is from a bot? I live in that tab, but it's _painful_ :(

We've had many complaints over the years that the 4 separate Redux docs sites (core, RTK, R-R, Reselect) makes it confusing to navigate. I'd always said "we aren't doing a monorepo, so no combined docs". Well, I now have a working prototype of a combined docs site :) github.com/reduxjs/redu...

github.com[DRAFT] Full prototype of a combined docs site by markerikson · Pull Request #4950 · reduxjs/reduxSupersedes #4792 Fixes #4789 (eventually) In #4792 , I experimented with a Git-based approach (using submodules, I think) to pulling in the other repos so we could use Docusaurus's multi-instan...

This looks like the direction we'd want to go. Still a lot we'd have to do: set up infra in the other repos to still get PR previews; set up redirects; do a massive rethink of our docs content and organization to dedupe and make it easier to follow; and actually ship it. But, big steps forward!

Great writeup from the ElasticSearch / Kibana team on how they did a large migration to Redux Toolkit v2 ! Really appreciate seeing the examples of a huge real-world codebase and the challenges involved, and that RTK's features were helpful here! www.elastic.co/search-labs/...

elastic.coRedux Toolkit v2 migration: 1,100 files, no code freezeHow Kibana runs Redux Toolkit v1 and v2 side by side: npm aliases, webpack externals, yarn resolutions, and an ESLint rule that stops the two mixing.

@walterra.dev I think you wrote this migration post? Would love to chat sometime to hear about your experience doing the migration and any lessons learned from it! I'm actually in the early planning stages for RTK3 and would appreciate real-world feedback on usage!

Mark Erikson reposted

@tkdodo.eu 🥹. This thread was just jaw dropping. Thank you for taking the time to summarize the experience and you have no idea how much this means to the whole team. I have no words except for saying it was a wholehearted pleasure to open our city to you and share our community love 💛

Dominik 🔮@tkdodo.eu

So @zurichjs.com is over, and it was even lovelier than I thought it would be. The organizers @farisaziz.com @bugdan.dev @nadja-hesselbjerg.bsky.social and @colinscz.npmx.social have taken such good care of all of us ❤️. Let me show you some pictures:

Mark Erikson reposted

You all made it so special that we could not refuse the demand to bring it back! Stay tuned!

Dominik 🔮@tkdodo.eu

@zurichjs.com was so special I can't put it in words. You have to experience the care, love and detail the organizers put into it first hand, hopefully in the NEXT edition of it 🔥