ProcessingInstruction is coming back (for good!) so who am I for not providing already a polyfill? github.com/ungap/proces... see merged issue from @WHATWG at the top of the README to know more or follow up, if interest π
Andrea Giammarchi
are you still doing the awkward atob/btoa dance to convert to and from base64? you can stop it now, it's fully supported on modern environments and it can be polyfilled in here: github.com/ungap/base64...
TFW you are tired of reusing always the same pattern to enable/disable debugging and you'd like to have some tiny tool to deal with it ... because it's an awesome pattern π₯° github.com/WebReflectio...
new in DS4 Chat: * bootstrap with your own system prompt * highlight out of the box for code * auto scrolling when images or other transformations happen as answer, right after the answer ends (load event for images) github.com/WebReflectio...
to whom it might concern, this is AI running locally on my home network out of github.com/antirez/ds4 used by a DGX Spark π₯³
Preact-like signals in 0.5K with all tests and benchmarks + 100% code coverage up and running, in case you'd like to explore signals without paying any "bloat tax" (not that Preact or alien-signals are bloated, yet this is 0.5K) github.com/WebReflectio...
oh ... sometimes AI really delivers ... I am working on a pure Python wheel that provides exact same contract around the whole API, that took *ONE MINUTE* because 100% code coverage was in there and JS can translate easily to Python π₯³ github.com/WebReflectio...
unobtrusive and "as fast as it can be" polyfill for both Map and WeakMap methods such as getOrInsert and getOrInsertComputed: github.com/ungap/map-ex... Fully typed too π
if you have any interest in a possible future where JSON can serialize and deserialize more than just 5 types, follow this space/proposal π es.discourse.group/t/jsonregist...
CORS landed in ds4 so it's now very simple to chat with it through this little (and fun) project from any mobile or desktop machine with a browser: github.com/WebReflectio...
my work and AI are not different topics anymore, here my TL;DR summary for May (busy times, I might not update that space as frequently as I've previously done) π webreflection.github.io/standup/2026...
tired of the forward and backward tone/engagement around MutationObserver being able to snitch into Shadow DOM Roots? github.com/WebReflectio...
D1 is awesome but its API a bit "outdated" to me ... so I've written and tested template literals tags for it and I am pretty pleased with the result (and ergonomics). github.com/WebReflectio...
am I the only one seeing a repeatable pattern out of this story? AI is awesome if you know what to ask and what to build, it still requires knowledge around that "what", right? undark.org/2026/04/01/s...
updated to GNOME 50 and emoji-copy isn't working anymore? there you go: github.com/FelipeFTN/Em...
in case anyone is interested, I am documenting what I am working on regularly (each week) with links and every other detail needed to understand where I come from and where I am heading. This is OSS to me, nobody can blame me for not being transparent π github.com/WebReflectio...
in today "nobody asked for it, thanks!" news, the recent issue filed against flatted module (333M downloads per months) kinda "scared" me to the point I rewrote the whole thing in a binary friendly format: flatted-view: please test it, thank you π github.com/WebReflectio...
in today "good morning OSS" news, @golang receives its first *flatted* implementation, making flatted now usable in JS, TS, Python, PHP and, ultimately Go π₯³ Huge thank to Harald Fielker for helping out (writing everything), lets' go beyond 300M Downloads! github.com/WebReflectio...
dear followers, I need to ask you a little favor: I am trying to fix the Web around SharedArrayBuffer and the ability to synchronize any task from a never blocking Worker, I need you to tell me if this page is blank or shows "async" as channel, thank you! webreflection.pythonanywhere.com
there's one primitive missing on the Web and that's the ability to synchronously make a Worker busy while querying the main thread ... in coincident I've solved that but the missing primitive is hurting a lot (for debugging reasons) so ... here I am again: github.com/WebReflectio...
today Iβve quickly glued together two libraries that makes custom elements without shadow dom as fast and as simple as it can get and for every browsers β¦ after reading the N post about ShadowDOM issues with CSS. You can stop that madness already π github.com/WebReflectio...
JS Proxy are wonderful, penalized by TS inability to actually understand/deal with these but the things that these unlock are incredible! It might be a niche use case but if you need cached results, here my next go-to library: github.com/WebReflectio...
this might be handy for any "forever waiting" pattern that requires instant reactivity + it doesn't leak compared to the original post that inspired it π github.com/WebReflectio...
live demo on codepen: codepen.io/WebReflectio... try to compare its code with the original one π
a common complain about our minimalistic TOML parser is that it wouldn't support trailing commas ... well, v0.4.0 does now, keeping it ~540bytes after brotli π₯³ github.com/WebReflectio...
if you use Proxies and you bind methods returned on `get` trap, please read carefully why that's a bad idea and how to avoid doing that: es.discourse.group/t/reflect-se...
so ... TOON is basically JSONH but 14 years later? ... cool π medium.com/medialesson/... github.com/WebReflectio...
Andrea Giammarchi reposted
Andrea Giammarchi reposted
Great, so www.britishairways.com π Displays in geo language rather than user language π The language picker is at the bottom of a long page π The language picker is in the current language, so in order to select "United Kingdom", I need to know what that is in German
cleaning up signals effects automatically on vanilla DOM cases might be tricky ... the fact an inner node contains references to its parent makes it hard to do so via FinalizationRegistry but thanks to Proxy/WeakRef it's possible to make it easy: weaky π₯³ github.com/WebReflectio...
brainstorming uhtml v5 and if you have hints/ideas/comments you are more than welcome to chime in π github.com/WebReflectio...
a quick introduction to regurlator π www.youtube.com/watch?v=BJKm...
tired of looking for "Open in Browser" links ??? I did create WebJeans and Woom (local only) but the pattern is always the same so I've put an end to this pointless struggle and published regurlator extension: you are in charge, you can redirect anything! github.com/WebReflectio...
this bug is the reason I am trying to provide a basic utility that would take care of everything out of the box as the dance to persist users' choice on local FileSystem access is nearly unbearable and convoluted in branches and operations to do ... π₯² issues.chromium.org/issues/45453...
watch out developer.mozilla.org/en-US/docs/W... returns true while live-debugging because typing in devtools automatically activate transient mode. This might be a huge source of confusion and WYSI-NOT-WYG π
Davie504 is suing Suno AI and for very valid and good reasons: www.youtube.com/watch?v=RNHx...
TIL: event.intercept(...) after navigation.addEventListener('navigate', ...) π€― developer.mozilla.org/en-US/docs/W...