Elektrine
Log in Register
Paige Chat Timeline Gallery Friends Email Drive DNS Private DNS Domains VPN Kairo Nerve
Remote

Peter Kröner

@sir_pepe@mastodon.social
mastodon 4.8.0-nightly.2026-10-06
  • Open on mastodon.social

Frontend technology trash panda, DevRel @ Storyblok

Also at sirpepe.bsky.social on bluesky

0 Followers
0 Following
18 Posts
Joined April 20, 2017
Location:
Kiel, Germany
Web:
https://www.peterkroener.de/
Main side project:
https://code.movie/
Open post
Peter Kröner @sir_pepe@mastodon.social
· 8mo ago

The Incredible Overcomplexity of the Shadcn Radio Button

👉 https://paulmakeswebsites.com/writing/shadcn-radio-button/

#react #webdev

The Incredible Overcomplexity of the Shadcn Radio Button
paulmakeswebsites.com

The Incredible Overcomplexity of the Shadcn Radio Button

Radio buttons are built into web browsers. Why are we using a UI library that wraps another UI library that rebuilds radio buttons from scratch? Why does rendering a radio button require multiple dependencies and several kilobytes of JavaScript? How did we make a built-in browser control so complicated?

100
2
71
2
Open post
Peter Kröner @sir_pepe@mastodon.social
· 6mo ago

Wait, what? There is a way to disable certain web component features via a static class field? Just randomly stumbled upon this in the specs. Can't find much documentation, but it works in Chrome and Firefox at least.

👉 https://html.spec.whatwg.org/multipage/custom-elements.html#dom-customelementregistry-define

#webcomponents #webdev #javascript

html.spec.whatwg.org

HTML Standard

21
0
8
0
Open post
Peter Kröner @sir_pepe@mastodon.social
· 6mo ago

Found a library where CLAUDE.md is longer than the single file of actual code in the library.

13
1
5
0
Open post
Peter Kröner @sir_pepe@mastodon.social
· 7mo ago

Somebody on LinkedIn asked for my approach to global CSS in #Webcomponents with Shadow DOM:

1. Import CSS as Strings (via Vite)
2. Shove CSS into the CSSStyleSheet Constructor
3. Add the results to the ShadowRoot's adopted stylesheets
4. Delete all of the above once Safari supports CSS module scripts

This is how you future-proof your projects: be aware of what's coming to the platform and prepare your workarounds to be easily removable when the new features arrive ✨

#webdev #javascript

mastodon.social

Mastodon

16
1
8
0
Open post
Peter Kröner @sir_pepe@mastodon.social
· 7mo ago

🤢 Behold! The most broken #CSS that still sort of works!

I wondered why CSS.supports("filter", "blur(") returned true. Well, it turns out that a standard-conforming CSS parser does not distinguish between } and EOF or between ) and EOF. And filter function arguments are all optional. So ending the stylesheet with "blur(" has the same effect as "blur(0px)" with all braces properly closed.

The whole story: @sir_pepe@mastodon.social
In Action: https://codepen.io/SirPepe/pen/ByLBGrJ?editors=0100

CSS is awesome.

#webdev

mastodon.social

Mastodon

11
1
7
0
Open post
Peter Kröner @sir_pepe@mastodon.social
· 6mo ago

The Screen Wake Lock API rules. If you need your app to keep the screen on, this API is comparatively simple to use and works in every browser.

👉 https://developer.mozilla.org/en-US/docs/Web/API/WakeLock

#webdev #javascript

WakeLock - Web APIs | MDN
MDN Web Docs

WakeLock - Web APIs | MDN

The WakeLock interface of the Screen Wake Lock API can be used to request a lock that prevents device screens from dimming or locking when an application needs to keep running.

7
0
5
1
Open post
Peter Kröner @sir_pepe@mastodon.social
· 8mo ago

🙋 Ladies, gents, and dear non-binary pals: I could really use some work. Here's what I do best:

- Workshops: entertaining deep dives into JS, TS, web components, frontend performance, general vanilla webdev
- Development: performance-oriented vanilla frontends & refactoring of impenetrable legacy dumpster fires (esp. React, CSS)
- DevRel: yapping & writing about anything related to web frontends
- General coaching & code review for frontend technologies

Get in touch at peter@peterkroener.de!

13
0
36
2
Open post
Peter Kröner @sir_pepe@mastodon.social
· 6mo ago

Aufnahme @workingdraft@podcasts.social mit @Schepp@mastodon.social - es gibt wieder einen Browser-News-Roundup!

6
1
1
0
Open post
Peter Kröner @sir_pepe@mastodon.social
· 7mo ago

If I were publishing a new full-stack framework based upon an existing test suite, I would make sure “Hello World” worked. But at least they did think to add the universal disclaimer!

👉 https://github.com/cloudflare/vinext/issues/22

GitHub

Vinext failes to work on new hello world Next.js app · Issue #22 · cloudflare/vinext

Version $ node --version v22.19.0 $ sw_vers ProductName: macOS ProductVersion: 15.7.4 BuildVersion: 24G517 Reproduction Steps Bootstrap a new Next.js project: $ npx create-next-app@latest my-app --...

4
1
2
0
Open post
Peter Kröner @sir_pepe@mastodon.social
· 6mo ago

Time to tackle Temporal @workingdraft@podcasts.social 🤓

3
0
3
0
Open post
Peter Kröner @sir_pepe@mastodon.social
· 6mo ago

Moar @workingdraft@podcasts.social - diesmal mit @deadparrot@mastodon.social und @muhdiekuh@ruhr.social zu React und TypeScript 🔥

3
4
1
0
Open post
Peter Kröner @sir_pepe@mastodon.social
· 9mo ago

☝️ Remember how a few #JavaScript versions ago the ordering of object keys became deterministic across browsers? Turns out this does NOT mean “strictly chronological”:

#webdev

mastodon.social

Mastodon

3
1
4
0
Open post
Peter Kröner @sir_pepe@mastodon.social
· 6mo ago

Ah, good ol' internet.

A: “I'd like to get rid of Foo. Is Bar any good?”
B: “Here's my opinion on something completely different.”
C: “Just grow a pair and keep using Foo.”
D: “Did you know that you can disable the annoying parts of Foo by sacrificing a baby goat at midnight?”

Some things never change.

1
0
1
0
Open post
Peter Kröner @sir_pepe@mastodon.social
· 24mo ago

Gestern Aufnahme von @workingdraft@podcasts.social mit @muhdiekuh@ruhr.social zum Speaker-Dasein auf Konferenzen. Es ist laaaaaang geworden. Release ist am am 29. Oktober 🎙️

7
2
2
0
Open post
Peter Kröner @sir_pepe@mastodon.social
· 25mo ago
Replying to
@elmar@elmar.live @muhdiekuh@ruhr.social was auch immer in dieser Gleichung der Kongo ist, ich hab das React schon immer zugetraut!
1
0
0
0
Open post
Peter Kröner @sir_pepe@mastodon.social
· 25mo ago
Replying to
@elmar@elmar.live @muhdiekuh@ruhr.social
ide and Conquer, beste Debug-Strategie
1
5
0
0
Open post
Peter Kröner @sir_pepe@mastodon.social
· 6mo ago
Replying to
@jcoglan Don't forget contains() on the various DOM-specific list types 🙃
0
0
0
0
Open post
Peter Kröner @sir_pepe@mastodon.social
· 25mo ago
Replying to
@elmar@elmar.live @muhdiekuh@ruhr.social Webdiv := Webdev + React
0
3
0
0
Back
313k7r1n3
Elektrine

Tor hidden service

elekhj7afj4qnrr4yd3bkzslsyo5jgfxw3orgjkhlcxifueodybyiiad.onion

I2P eepsite

j6b6cyk6gjmepjih7jjadxgxvvf3lzzujljuu2v4biemzpg3naya.b32.i2p

Platform

  • Email
  • Chat
  • Timeline
  • VPN
  • DNS

Company

  • About
  • Contact
  • FAQ
  • Lite (no JS)

Legal

  • Terms of Service
  • Privacy Policy
  • Transparency Report
  • Report Abuse
  • Warrant Canary
  • VPN Policy

Support

  • support@elektrine.com
  • Report Security Issue
Mail client setup IMAP mail.elektrine.com:993 POP3 mail.elektrine.com:995 SMTP mail.elektrine.com:465
© 2026 Elektrine. All rights reserved. Server: 10:08:22 UTC