Dominic Gannaway

4.9K posts

Dominic Gannaway

Dominic Gannaway

@trueadm

I'm a software engineer @attio. Author of @ripple_ts, @lexicaljs and @inferno_js. Former @reactjs core engineer, and core maintainer of @sveltejs at @vercel.

London شامل ہوئے Mayıs 2009
434 فالونگ20.6K فالوورز
پن کیا گیا ٹویٹ
Dominic Gannaway
Dominic Gannaway@trueadm·
I've open sourced Ripple! github.com/trueadm/ripple It's super early days, not much works and there's little to no documentation or guidance. Plus the codebase is raw, but I at least wanted to share my ideas with the community. :)
English
23
38
451
55.7K
Dominic Gannaway
Dominic Gannaway@trueadm·
I'm not sure I agree. A product has many types of users, some will be power users, some will be people who have their own typical workflow. Whilst having autonomous AI will be useful, there will be plenty of people wanting the empty chat box. It's a bit like having your car suggest they should auto-park for you, vs you doing it yourself. There are cases where you might want to do it, vs just do it yourself. There's a nuance in product design that lends itself to thinking there's a silver bullet. There isn't one.
English
0
0
2
444
Dominic Gannaway ری ٹویٹ کیا
Cheng Lou
Cheng Lou@_chenglou·
My dear front-end developers (and anyone who’s interested in the future of interfaces): I have crawled through depths of hell to bring you, for the foreseeable years, one of the more important foundational pieces of UI engineering (if not in implementation then certainly at least in concept): Fast, accurate and comprehensive userland text measurement algorithm in pure TypeScript, usable for laying out entire web pages without CSS, bypassing DOM measurements and reflow
English
1.3K
8.3K
65K
23.2M
Dominic Gannaway
Dominic Gannaway@trueadm·
@HarryShotta I would have made a bunch of subs at half time too. At 70 mins was far too late. Saka and Hincapie should have come off along with Kepa
English
0
0
0
301
Harry Shotta
Harry Shotta@HarryShotta·
I will only say this once… After a tremendous first half Arsenal handed the cup to City due to managerial decisions…. After that first goal Kepa should have been removed from the game, sometimes you have to be ruthless Now let’s go win the league
English
2
0
5
1.2K
Dominic Gannaway
Dominic Gannaway@trueadm·
@theWAL_63 This was Arteta’s fault. Saka shouldn’t have played, he’s useless. Raya should have started
English
0
0
0
317
Warrenpeace
Warrenpeace@theWAL_63·
The Arsenal are playing no football (again) whatsoever. What do you expect with 2 robots and a tower block. Get Saka in the middle until the skipper is fit. Awful final.
English
2
0
0
423
Dominic Gannaway
Dominic Gannaway@trueadm·
@theWAL_63 He has technical ability and vision that we sorely miss. He's very young, but I've got to get excited about something after watching us this season.
English
0
0
1
307
Warrenpeace
Warrenpeace@theWAL_63·
The Arsenal have no technical ability whatsoever. BUT WAIT A MOMENT...A kid comes on without his Xbox and teddy bear, and proves me wrong.
English
1
0
0
366
Dominic Gannaway
Dominic Gannaway@trueadm·
@artalar We use microtasks to handle flushing updates. Co-ordinating aborts on event handlers needs to happen in the correct ordering for propagation
English
0
0
2
153
artalar
artalar@artalar·
@trueadm How are AbortController and microtasks related? The abort call and listener notifications are synchronous.
English
1
0
1
401
Dominic Gannaway
Dominic Gannaway@trueadm·
One delicate problem with modern UI frameworks adopting async-first approaches is that their tests need to be incredibly resilient. That’s hard when tests depend on microtask/macrotask flushing. You get a bug report, write a regression test for it, and then some slight race-condition heuristic breaks it again later. That’s why claims like “we solved async” feel unfounded. No framework has solved async in a practical sense. Maybe only in a theoretical one. It gets even blurrier once you bring in AbortController and start seeing how behavior can differ between browsers while your tests fail to catch it. Fun times ahead. LLMs are almost no help in this no-man’s-land of engineering. Trust me, the Ripple team is in that problem space right now, and it’s deeply complicated.
English
4
3
63
6.3K
Dominic Gannaway ری ٹویٹ کیا
Rob Palmer
Rob Palmer@robpalmer2·
By many metrics the new Temporal date-time API is the single biggest change to JS ever 🔥 Temporal is now shipping in Firefox, Chrome, & soon in Safari. TS 6.0 contains type declaration support. It's in Deno, close to landing in Node, & supported by the Boa & Kiesel engines.
English
2
5
52
3K
Dominic Gannaway ری ٹویٹ کیا
Rob Palmer
Rob Palmer@robpalmer2·
ECMAScript EXTRA-SPECIAL excitement 😉 🚨🚨🚨 IT'S ABOUT TIME! 🚨🚨🚨 Congrats to @therealptomato on advancing Temporal to Stage 4 at @TC39 today 🎉 Temporal is the replacement for the JavaScript Date API 👍
Jason Williams@Jason_williams

Temporal is now Stage 4 at TC39 🎂🎂🎂 Thanks to all the other champions of JavaScript's new date-time API. It has been a wild ride over many years! I wrote a blog post explaining how we got here 📜 🧵

English
7
33
239
16.4K
Dominic Gannaway
Dominic Gannaway@trueadm·
@bcherny Is it available to open source repositories by any chance? We recently got gifted the Claude Max through OSS and have been using Cursor Bugbot to great success, but it would be interesting to see the impact of this on OSS contributions too.
English
1
0
8
1.6K
Boris Cherny
Boris Cherny@bcherny·
New in Claude Code: Code Review. A team of agents runs a deep review on every PR. We built it for ourselves first. Code output per Anthropic engineer is up 200% this year and reviews were the bottleneck Personally, I’ve been using it for a few weeks and have found it catches many real bugs that I would not have noticed otherwise
Claude@claudeai

Introducing Code Review, a new feature for Claude Code. When a PR opens, Claude dispatches a team of agents to hunt for bugs.

English
465
503
7.4K
1.2M
Dominic Gannaway
Dominic Gannaway@trueadm·
The Ripple TS team is ready to go! We're looking to land a bunch of huge improvements based of feedback, especially around syntax concerns, and also what leverages the best output from AI. It's to safe to say we're cooking something special!
Dominic Gannaway tweet media
English
1
2
28
1.5K
Luis Rudge
Luis Rudge@luisrudge·
Lexical’s problems were always docs and guidance. You do an amazing job at discord helping others, but at the end of the day it’s only you (or it appears that way). I think with coding agents having access to the whole repo it becomes much easier to figure out how to work with the low level primitives what lexical offers.
English
1
0
0
28
Artem Zakharchenko
Artem Zakharchenko@kettanaito·
There is no reason a rich text editor has to be coupled with a UI framework. None. It's just a state machine. It has to be headless.
English
19
1
178
48.5K
Dominic Gannaway
Dominic Gannaway@trueadm·
@kettanaito @nullvoxpopuli Lexical ultimately lets you build far more complex editor experiences than anything else out there - the granular low-level control also meant there was an odd learning curve with Lexical in the headless cases.
English
1
0
1
114
Artem Zakharchenko
Artem Zakharchenko@kettanaito·
@trueadm @nullvoxpopuli I tried it last autumn, I still found it a bit clunky. Might be my use cases were not conventional, I don't know. I've tried so many things since then, they all blend into a single experience at this point. Need to revisit Lexical for a proper review sometime.
English
1
0
0
162
Artem Zakharchenko
Artem Zakharchenko@kettanaito·
@nullvoxpopuli I've tried a lot of them and settled on TipTap. It has good defaults, good plugin ecosystem, and writing custom plugins is actually manageable, which I cannot say about other editors (looking at you, Lexical). Give it a try.
English
1
0
7
1.4K
Dominic Gannaway ری ٹویٹ کیا
Ben Visness
Ben Visness@its_bvisness·
We at Mozilla feel that WebAssembly has been a second-class citizen on the web for long enough. You shouldn't have to go through JS to do everything. This is probably a lot of what I will be focusing on for work in 2026! hacks.mozilla.org/2026/02/making…
English
26
71
721
43.7K
Dominic Gannaway
Dominic Gannaway@trueadm·
@aFuzzyBear2 I’d much rather we win the league. Obviously I’d be happy if they went down too
English
1
0
1
317
aFuzzyBear 🇺🇦
aFuzzyBear 🇺🇦@aFuzzyBear2·
My arsenal friends, here's a question: Would you be happy if we didn't win the league, but Spurs got relegated? Or we win the win the league and spurs survive?
English
1
0
0
337
Dominic Gannaway
Dominic Gannaway@trueadm·
One thing Ripple is doing differently to other frameworks and libraries is prioritizing its functionality to work wildly well with LLMs. Ripple will co-exist in your code-base with React and work perfectly together, and LLMs can see the difference – because Ripple doesn't use tsx modules. That means that the output you get is vastly superior to almost any other framework out there, things will just work. LLMs also have no plagued learning on Ripple components, so that means with a fresh start we're able to generate much better outcomes. You can integrate a Ripple component into your React app, and vice verse and things all just work (including SSR, but not server components, that's just not possible). Hoping to share more details in a few weeks, but it's exciting times for Ripple.
English
0
2
45
4.2K
Dominic Gannaway ری ٹویٹ کیا
Jon Kaplan
Jon Kaplan@aye_aye_kaplan·
Following up here, unfortunately the best thing we can do right now is give you free Bugbot on a Cursor Team account. If you do decide to upgrade to a Team, we'll happily grant you Bugbot. Note that you just need a minimum-sized team, it's not 1:1 for Cursor Team seats to Bugbot seats. If you have any Team account, you can have Bugbot for the entire repo!
English
1
0
1
81
Dominic Gannaway
Dominic Gannaway@trueadm·
After exploring different code review agents, by far the best I experienced was Cursor Bugbot. We're using at @attio to great effect – so totally recommend using it if it works for you org. It's a shame it doesn't also scale to open source. The @ripple_ts team have also found it super useful but unfortunately, it's not really usable unless we move to a paid plan. @leerob anything we can do here?
English
1
0
30
3.9K