Teemu Taskula's Avatar

Teemu Taskula

@teemutaskula.com.bsky.social

Building delightful web apps primarily with React, Node.js and TypeScript ๐Ÿ’ป๐Ÿ“ฑโœจ

75 Followers  |  499 Following  |  64 Posts  |  Joined: 26.10.2024  |  1.9347

Latest posts by teemutaskula.com on Bluesky

Video thumbnail

New React Aria release! ๐ŸŽ

๐Ÿ”Ž Autocomplete alpha
๐Ÿ“ฝ๏ธ CSS transition support in addition to keyframes
๐Ÿ“† Custom Calendar first day of week
๐Ÿงช Unit test utility package for ARIA patterns
๐ŸŽฏ Removed custom hit testing in usePress
๐Ÿž and plenty of bug fixes!

react-spectrum.adobe.com/releases/202...

15.01.2025 19:35 โ€” ๐Ÿ‘ 55    ๐Ÿ” 4    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 1
Preview
JavaScript Frameworks - Heading into 2025 I admit I wasn't sure I'd be writing this article this year. It's easy to write articles that excite...

Time for my annual look at the state of JavaScript Framework development.

"JavaScript Frameworks - Heading into 2025" #DEVCommunity #javascript #WebDev dev.to/this-is-lear...

06.01.2025 17:16 โ€” ๐Ÿ‘ 122    ๐Ÿ” 30    ๐Ÿ’ฌ 3    ๐Ÿ“Œ 8

๐ŸŽŠ Happy New Year!

I discovered a lot of very cool dev stuff in 2024, from libraries to devtools to educational resources. Thought itโ€™d be fun to share them all, to help kickstart your 2025!

Letโ€™s go through the list. ๐Ÿงต

01.01.2025 17:12 โ€” ๐Ÿ‘ 462    ๐Ÿ” 70    ๐Ÿ’ฌ 16    ๐Ÿ“Œ 8

Red XIII totally changing his voice midgame wasn't on my bingo card ๐Ÿ˜ต

01.01.2025 20:10 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
TypeScript function that returns corresponding flag emoji for alpha2 code:

export function getFlagEmoji(alpha2: string) {
  return alpha2
    .toUpperCase()
    .split('')
    .map(char => String.fromCodePoint(127397 + char.charCodeAt(0)))
    .join('');
}

TypeScript function that returns corresponding flag emoji for alpha2 code: export function getFlagEmoji(alpha2: string) { return alpha2 .toUpperCase() .split('') .map(char => String.fromCodePoint(127397 + char.charCodeAt(0))) .join(''); }

๐Ÿ‘จโ€๐Ÿ’ป Dev tip: Display flag emoji for given country code

I love using chatgibidi for problems like these where there is no point trying to figure it out yourself as it is not really an interesting/educational problem to solve.

30.12.2024 10:38 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

If you see bunnies you know there is treasure

29.12.2024 19:19 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

The worst part of After Eight is all the evidence it leaves behind

27.12.2024 18:19 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Perhaps an unpopular opinion:

<StrictMode> causes more issues than it solves.

26.12.2024 21:28 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
a man in white pants is cleaning a living room floor Alt: a man in white pants is cleaning a living room floor.

๐Ÿงน Christmas cleaning continues:

Removed large barrel file that re-exported all our UI kit components and now Vite can split our app much more optimally

23.12.2024 12:43 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Feels good man.

Feels good man.

Just removed all `forwardRef`s from my current work project

23.12.2024 12:32 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

CI checks are red,
PRs are stuck,
Tests keep on failing,
Time to level up.

20.12.2024 16:26 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I've been debugging CI issues the whole day... ๐Ÿ™ƒ

How's your Friday going?

20.12.2024 15:02 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

The right one

I often hold my phone in my left hand and the floating button can block scrolling when my thumb accidentally hits it while doing the scroll gesture

18.12.2024 07:06 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

The secret is to use a lib that supports the `styled` api, like pandacss

16.12.2024 14:25 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Updated the issue description

16.12.2024 10:20 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

Okay this is super embarassing... I swear I tried to use `useDeferredValue` with `useReadQuery` and it didn't work but now that I try it in my repro instead of the project code it actually works and the suspense fallback is not shown ๐Ÿ˜…

However the `isPending` flag doesn't seem to work ๐Ÿค”

16.12.2024 10:06 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0
Preview
How to use `useDeferredValue` with `useReadQuery` to stop showing Suspense fallback? ยท Issue #12227 ยท apollographql/apollo-client Issue Description Hi ๐Ÿ‘‹๐Ÿป This is a follow-up issue related to a discussion on Bluesky where I tagged @phryneas and asked a React Suspense related question. Basically the question is: how do we stop ...

@phry.dev I finally found the time to report an issue with a repro about this topic: github.com/apollographq...

Sry for taking so long ๐Ÿ˜…

16.12.2024 09:42 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

We didn't use to have these in Finland but some years ago they arrived and they poop everywhere and basically ruin all the parks

14.12.2024 20:21 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I did this in a consulting project where they required me to input my hours in three different systems where in one of the systems I had to manually sum the weekly hours myself

Every week I added one extra billable item just for "Marking the hours"

11.12.2024 15:13 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

Maybe I'm doing it wrong but adding `.toPromise` doesn't seem to help ๐Ÿ˜…

I tried even to update to React v19 to get async transition support but that didn't change anything.

09.12.2024 20:14 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

@tkdodo.eu @manuelschiller.bsky.social I would like to better understand what "but are short-circuited by useSyncExternalStore used by the router" actually means in practice? Does it mean that trying to stop router driven suspension with transitions is not a viable solution in Tanstack Router?

09.12.2024 20:06 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

Thanks for the input @tkdodo.eu ๐Ÿ‘

We already have a custom version of `useSuspenseQuery` that handles the re-suspension issue but @phry.dev is it possible to do something similar with `useReadQuery`? Or what would be the best pattern to use Suspense with loaders that are driven by url params?

09.12.2024 19:49 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Thanks for the tip ๐Ÿ‘

I'll come back to you tomorrow with the results when I'm back at work ๐Ÿ˜

09.12.2024 17:24 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

What is the canonical use case for Suspense to show the fallback again after the initial suspension?

Basically I always want to show an inline pending indicator instead of replacing the whole UI with the fallback.

Having to wrap every state update with `startTransition` feels backwards to me...

09.12.2024 14:08 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Is there a way to use `useDeferredValue` with `useReadQuery` in way that the we only ever suspend on the initial render and all subsequent changes to `queryRef` just maintain the old UI and gives some `isSuspending` flag that we can use for inline pending UI?

09.12.2024 13:57 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

@tannerlinsley.com @phry.dev any tips on how to skip suspending when I update search params in Tanstack Router which re-triggers `preloadQuery` in the `loader` that returns `queryRef` that is then read with `useReadQuery`?

Wrapping `navigate` with `startTransition` doesn't seem to help ๐Ÿค”

09.12.2024 13:52 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

Final Fantasy is one of my all time favorite game franchises but if you have not played any FF games before it can be a bit of an acquired taste

Currently playing FF7 Rebirth and loving it

08.12.2024 17:02 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Remedy games like Control and Alan Wake 2 are phenomenal story-wise and the graphics/gameplay is gorgeous

Latest God of War games are incredible but the boss battles can be challenging

Spider-Man games are one of my favorites. So fun to swing around NYC

Ratchet and Clank is beautiful and fun

08.12.2024 16:46 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Happy Independence Day Finland ๐Ÿ‡ซ๐Ÿ‡ฎ

06.12.2024 19:28 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
React v19 โ€“ React The library for web and native user interfaces

React v19 is now stable!

react.dev/blog/2024/12...

05.12.2024 19:05 โ€” ๐Ÿ‘ 1286    ๐Ÿ” 344    ๐Ÿ’ฌ 32    ๐Ÿ“Œ 93

@teemutaskula.com is following 20 prominent accounts