Sign in

Tryggvi

@tryggvigy.bsky.social
60 followers 95 following 80 posts

Dev @ spotify, desktop client

PostsRepliesMedia
Reposted by Tryggvi
Firefox for Web Developers @webdevs.firefox.com · 02/06/2026
Ever struggled to get heading tags right in includes/components? headingoffset could be the answer…
1124661
Reposted by Tryggvi
Phil Hawksworth @philhawksworth.dev · 20/05/2026
I appreciate this thoughtful and well articulated explanation. And totally agree with this opposition.
0191
Tryggvi @tryggvigy.bsky.social · 21/05/2026
How does this work with CI publishing? I guess CI just creates a stage and we have the extra step of maintainers reviewing and approving that stage locally later?
110
Tryggvi @tryggvigy.bsky.social · 22/04/2026
Sure! I think i can do that, dm me what you need?
000
Tryggvi @tryggvigy.bsky.social · 07/01/2026
vendor/package.json that declares the versions of your vendored deps? Vulnerability scanners could be run on it in CI/git-hook same as the normal package.json
120
Tryggvi @tryggvigy.bsky.social · 15/11/2025
Same, the darkness hit hard this year
020
Tryggvi @tryggvigy.bsky.social · 10/11/2025
You wouldn't believe how many edge cases exist in autoscrolling of time synced lyrics UI. How big is the autoscroll zone? Someone scrubbed the progress bar? Oops, the user is in the zone but scrolling! Etc. Really happy with my recent improvements!
000
Tryggvi @tryggvigy.bsky.social · 03/09/2025
In any case i think a default loading state should not include any html or css. I suspect there are too many ui edge cases. layout shifts, theming, writing direction, etc.
100
Tryggvi @tryggvigy.bsky.social · 03/09/2025
What i meant by that is if we are transitioning from nothing to something in ui, then a good default would be to have no loading state at all. Maybe transitions in react only handle updates to existing to ui, im not sure! Isn't this more or less how things are today?
110
Tryggvi @tryggvigy.bsky.social · 03/09/2025
Feels like a good default would be null if nothing was there before, and the previous value if something was there before
100
Tryggvi @tryggvigy.bsky.social · 27/08/2025
it could taste like chicken. Only one way to find out www.wildfooduk.com/mushroom-gui...
wildfooduk.com
Chicken Of The Woods
Great in stews and casseroles in place of chicken, stir fries or marinated in a satay sauce and skewered. Must be cooked.
000
Tryggvi @tryggvigy.bsky.social · 19/08/2025
proof server_responded 🥲 I'm curious how the messiness of the real world would be modelled. Like Haskel? In any case the type system in Lean seems real powerful and useful
000
Tryggvi @tryggvigy.bsky.social · 14/08/2025
@bram.us do you know if Chromium has addressed this already?
100
Tryggvi @tryggvigy.bsky.social · 14/08/2025
Oh really! I'm not gonna pretend i understand half of this stuff 😂 We were hit with this bad just a couple of months ago. I'll have to test this again as well. There be dragons here at least so be careful! Var substitution on the compositor is probably not implemented in all baseline browsers.
100
Tryggvi @tryggvigy.bsky.social · 14/08/2025
This is real useful, thanks for sharing! Folks seeing the var() in keyframes just be aware of this www.bram.us/2023/02/01/t... they can be a real performance gotcha in larger apps
bram.us
The gotcha with @property animating custom properties
Custom properties – even when registered through @property – don’t animate on the compositor.
100
Tryggvi @tryggvigy.bsky.social · 07/08/2025
Wrote about some of the gotchas with CSS @layer blog-tryggvi.fly.dev/blog/css-lay...
blog-tryggvi.fly.dev
Why CSS @layer Declarations Don't Work Like You Think
A deep dive into the core conflict between CSS source order and module bundlers, and why your @layer declarations might not behave the way you think.
000
Tryggvi @tryggvigy.bsky.social · 06/08/2025
Marquees.. Love them or hate them. Probably the latter! There are niche places for them, but are tricky to implement in an accessible and performant way on the web. blog-tryggvi.fly.dev/blog/perform...
blog-tryggvi.fly.dev
Building a Performant Marquee Component for the Web
Learn how to create a smooth, accessible marquee component that respects user preferences and handles complex text layouts.
000
Tryggvi @tryggvigy.bsky.social · 04/08/2025
Wrote my first blog post yesterday! blog-tryggvi.fly.dev/blog/thought...
blog-tryggvi.fly.dev
Thoughts on Design Systems
My perspective on the philosophy of design systems, exploring the benefits of layered, composable architectures over strict lock-down approaches.
010
Reposted by Tryggvi
Gracu ✨🌈 @prismagic.bsky.social · 30/07/2025
Bluesky doesn't penalize you for using links, tags, using key words like Patreon or commissions, and doesn't have a central algorithm on your following feed, which means all the power rests on you to help your favourite creators be seen!
Utopia meme with text saying "Bluesky is people used the repost button more frequently."
11156596304
Tryggvi @tryggvigy.bsky.social · 29/06/2025
Finally some improvements to GitHub review ui! I've been unhappy with it for so many years! I really hope it's virtual scrolled now, that's just table stakes in 2025. github.blog/changelog/20...
github.blog
Improved pull request files changed experience now in public preview - GitHub Changelog
An improved, more accessible, and better performing pull request “Files changed” page is now available in public preview! This improved experience is rolling out now. Once it is available to…
000
Tryggvi @tryggvigy.bsky.social · 16/06/2025
Yeah that's true. Especially with the recent interop changes where the line is becoming blurred
000
Tryggvi @tryggvigy.bsky.social · 15/06/2025
started this project esmchecker.com a while ago to help authors check how ESM ready projects are. Also available as a CLI tool to check repos not on npm.
esmchecker.com
ESM Ready Checker
110
Tryggvi @tryggvigy.bsky.social · 06/06/2025
Great article! I havent tried RCS yet but the article brought up questions for me like: "can I dynamically import a 'use client' module on the server?" And "how spec compatible with esm will this be? Especially going forward with new additions like Module Blocks www.proposals.es/proposals/Mo... etc"
proposals.es
Module Blocks details
Proposal details for Module Blocks
000
Tryggvi @tryggvigy.bsky.social · 29/05/2025
It is magnificent! I expanded it to work in the block direction as well in codepen.io/tryggvigy/pe... with line-clamp support too. CSS is on fire
codepen.io
fit-to-box text
...
010
Tryggvi @tryggvigy.bsky.social · 28/05/2025
Awesome! Also, that has to be the most outrageous pun I've ever seen that you did there, hats off to you
140
Tryggvi @tryggvigy.bsky.social · 11/05/2025
esmchecker.com also works now 🌐
esmchecker.com
ESM Ready Checker
000
Tryggvi @tryggvigy.bsky.social · 11/05/2025
Try it out, it's super fast 🦀! And let me know if you find any resolve/parse errors
100
Tryggvi @tryggvigy.bsky.social · 11/05/2025
New release of github.com/tryggvigy/es... is out! Now also available via npx 🎉 Try it on your repo: `npx @esm-checker/checker -p ./package.json` Or analyze any npm package at: esm-checker.fly.dev
github.com
GitHub - tryggvigy/esm-checker
Contribute to tryggvigy/esm-checker development by creating an account on GitHub.
230
Tryggvi @tryggvigy.bsky.social · 11/05/2025
and it's FAST! I ran it on a repo with 357 dependencies and it takes less than 1 second
000
Tryggvi @tryggvigy.bsky.social · 11/05/2025
`@esm-checker/checker` is a CLI/JS lib version of esm-checker.fly.dev that can be run on any repo to create a report for all the dependencies in package.json
esm-checker.fly.dev
ESM Ready Checker
100
Tryggvi @tryggvigy.bsky.social · 11/05/2025
Finally got the cross compilation and npm publishing of @esm-checker/checker working in Github Actions! It's getting close to being able to be used by anyone to check a whole repo. Created a few issues to follow up github.com/tryggvigy/es... also need to write docs
github.com
Issues · tryggvigy/esm-checker
Contribute to tryggvigy/esm-checker development by creating an account on GitHub.
100
Tryggvi @tryggvigy.bsky.social · 08/05/2025
yeah that could be good to support, if "exports" are specified with multiple entry-points to allow just checking one. Don't think that should be hard to add
010
Tryggvi @tryggvigy.bsky.social · 08/05/2025
I think a good default is to not install optional peers, but having an option to turn on installing them would be a good feature. I can imagine there are many packages out there with subpath exports that are only meant to be used with an optional peer dep
110
Tryggvi @tryggvigy.bsky.social · 08/05/2025
I'll have to think about that! Would be good to have deterministic order of failures. It's a bit hard since I'm parallelizing everything heavily
010
Tryggvi @tryggvigy.bsky.social · 08/05/2025
At first glance it actually makes sense to me that this could be happening here! This esm dist file is importing "react" but convex specifies react as an optional peer dependency so this resolution could fail? Maybe im missing something
110
Tryggvi @tryggvigy.bsky.social · 08/05/2025
It's way more likely that I have a bug! It's still very rough around the edges
110
Tryggvi @tryggvigy.bsky.social · 08/05/2025
Gotcha, yeah I don't catch the "esm-only" part now. A package gets classified in "esm" bucket if it passes esm resolution, don't even try to resolve cjs right now but could do that in parallel and just report if it errors out or not. Things are getting more gray in latest versions of node tho :)
010
Tryggvi @tryggvigy.bsky.social · 08/05/2025
Good idea. It's bit of a change from the esm focus i had in mind but perhaps more useful. It could probably evolve to support that. Easy to add a cjs resolution pass right after the esm pass
110
Tryggvi @tryggvigy.bsky.social · 08/05/2025
Just deployed esm-checker.fly.dev it can check the ESM readiness of any npm package 📦 I have lots of improvements in mind, and a npm package version to check a whole repo at once coming up 🎉
esm-checker.fly.dev
ESM Ready Checker
2102
Tryggvi @tryggvigy.bsky.social · 07/05/2025
I'm secretly hoping for a "RCS for the pragmatic SRE" post! RSC introduces real complexity: duplicated payloads (HTML + JSON), slower server responses under load?, hidden fetch caching, and trickier monitoring. Curious how these tradeoffs play out at scale in real-world apps. Time will tell
110
Tryggvi @tryggvigy.bsky.social · 07/05/2025
Working on something that I think could be useful. It's like bundlephobia.com for ESM readiness. Do you think this could be helpful?
A website where you can input packages and get a report back in JSON format that specifies if the package esm, cjs, or faux-esm (with transitive cjs or missing file extensions)
010
Reposted by Tryggvi
Andrey Sitnik @en.sitnik.es · 13/04/2025
Attacks on vibe-coding have begun. LLMs sometimes hallucinate and install non-existent packages. As a result, attackers have started publishing malicious packages under these hallucinated names, which frequently appear in AI-generated suggestions. socket.dev/blog/slopsqu...
27325
Tryggvi @tryggvigy.bsky.social · 12/04/2025
Not so impressed by Gemini. Ive gotten used to LLMs doing a better job. In fact chatGPT made short work of this
000
Tryggvi @tryggvigy.bsky.social · 03/04/2025
Yes it's great! We keep the knip config checked in but invoke knip via npx. No need really to add it as a dep!
120
Tryggvi @tryggvigy.bsky.social · 24/03/2025
You want an extra pair of eyes on it? I'm missing a bunch of context but I can give it a look!
120
Tryggvi @tryggvigy.bsky.social · 24/03/2025
Awesome work 🤓
110
Tryggvi @tryggvigy.bsky.social · 13/03/2025
Creating a performant marquee component is really tough!
000
Tryggvi @tryggvigy.bsky.social · 24/02/2025
A new version of github.com/tryggvigy/ps... is out! It now ESM-only, has zero dependencies, and is split into `pseudo-localiztion` and `pseudo-localization/dom`. It's also over 100% smaller (1.5Kb) 🤓
github.com
GitHub - tryggvigy/pseudo-localization: Dynamic pseudo-localization in the browser and nodejs
Dynamic pseudo-localization in the browser and nodejs - tryggvigy/pseudo-localization
000
Reposted by Tryggvi
Comfortably Numb @numb.comfortab.ly · 13/08/2024
Pretty much
Tweet by soul nate: 

i’m in a code review with elon musk. ive got the CSS for neopets.com on 3 monitors. my browser’s in dark mode so it looks cool. “this part?” he asks, pointing to code for the Giant Omelette. “caches tweets in the mainframe cyberhex,” i say. he nods. “as i suspected”
173479497