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

Mark Erikson reposted

Replying to @acemarke.dev

Like, this is the short bullet-point list of fairly concrete items I'm pulling together for RTK3 (or 2.x), _not_ including the following bullets of ideas I want to research:

One of the hazards of being an OSS maintainer: I am literally just making _more work for myself_ :) I'm sitting here brainstorming RTK3 ideas and things to review, and the list just keeps getting longer and longer... but hey, if it's gonna happen, it oughta happen right.

Like, this is the short bullet-point list of fairly concrete items I'm pulling together for RTK3 (or 2.x), _not_ including the following bullets of ideas I want to research:

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!