---
title: "Angular 22 gets writable linkedSignal, Chrome 146 ships scroll-triggered animations"
url: https://daily.dev/posts/angular-22-gets-writable-linkedsignal-chrome-146-ships-scroll-triggered-animations-egnl8gfb9
source_url: https://daily.dev/posts/angular-22-gets-writable-linkedsignal-chrome-146-ships-scroll-triggered-animations-egnl8gfb9
type: freeform
source: "Web Digest"
published: 2026-06-20T04:17:52.959Z
updated: 2026-06-20T04:18:11.336Z
tags: ["webdev", "javascript", "css", "angular", "jsx"]
reading_time: 4
upvotes: 2
comments: 0
language: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Angular 22 gets writable linkedSignal, Chrome 146 ships scroll-triggered animations

**[Web Digest](https://daily.dev/sources/webdev_digest)** · 4 min read · 2 upvotes · 0 comments

## Summary

A developer news roundup covering Angular 22.1's writable linkedSignal() with custom set option, Chrome 146 shipping CSS scroll-triggered animations (distinct from scroll-driven animations), the alpha launch of TSRX (a framework-agnostic JSX successor from a former React/Svelte engineer), and Cloudflare's acquisition of VoidZero bringing Evan You and the Rolldown/OXC toolchain under Cloudflare. Also notable: Bun v1.4 scheduled for July 7th, CSS Day 2026 highlights, Figma MCP with Claude Code producing a dashboard for $0.09, and the RSC Boundary debugging tool for Next.js App Router.

## Content

**TLDR:** Angular 22.1.0-next.0 adds a custom set option to linkedSignal(), letting it write back to parent signal state without helper methods. Chrome 146 is the first browser to ship CSS scroll-triggered animations, a distinct feature from scroll-driven animations that fires once on threshold crossing. Cloudflare's acquisition of VoidZero brings Vite creator Evan You and tools like Rolldown and OXC under Cloudflare's roof. TSRX, a new framework-agnostic JSX successor from a former React and Svelte core engineer, landed in alpha and drew immediate community attention.

---

## Angular 22.1 adds writable linkedSignal() with custom set option

Angular 22.1.0-next.0 lets you define a custom set function directly on linkedSignal(), so both read and write behavior live in one place. Previously, writing back to a parent signal required separate helper methods scattered around the component. Now set() and update() calls both flow through the custom setter, which should make complex component state considerably easier to follow. [Read more](https://app.daily.dev/posts/pqUQssfxs)

## Chrome 146 ships CSS scroll-triggered animations

Scroll-triggered animations are now in Chrome 146, and they're meaningfully different from scroll-driven animations — instead of tying progress to scroll position, they play for a fixed duration once a scroll threshold is crossed, similar to Intersection Observer but in pure CSS. The syntax uses timeline-trigger and animation-trigger properties, with keywords like play-forwards and play-once. Staggering multiple elements is handled via sibling-count() and sibling-index(). No other browser has shipped this yet. [Read more](https://app.daily.dev/posts/eVFbFrVsO)

## TSRX: framework-agnostic JSX successor lands in alpha

TSRX is a new TypeScript language extension from Dominic Gannaway, who previously worked on React and Svelte core, that compiles single .tsrx files to React, Preact, Solid, Vue, and Ripple targets via plugins. It adds statement-level control flow (@if, @for, @switch), scoped CSS, and declarative error and async boundaries — closer to JSX itself than to any single framework's templating system. It's MIT-licensed and in alpha, and SolidJS creator Ryan Carniato has already weighed in publicly. [Read more](https://app.daily.dev/posts/nZsJe0mcR)

## VoidZero joins Cloudflare, AI token costs hit $60K/month at scale

Cloudflare acquired VoidZero, pulling Evan You and the Rolldown and OXC toolchain into Cloudflare's orbit. The acquisition raises real questions about open-source sustainability and whether acquisition is the only viable exit for widely-used OSS projects. Separately, the same panel surfaced some sobering AI cost numbers: Uber burned its entire 2026 AI coding budget in four months, Anthropic may be subsidizing heavy users by roughly 30x, and one panelist is running up around $60K/month in token costs. [Read more](https://app.daily.dev/posts/i5FR4usGU)

---

## Also notable

- **Bun v1.4 release date set for July 7th:** Bun v1.4 is scheduled to ship July 7th, with a promotional video filming June 24th — and a separate post hints that Node.js compatibility improvements are coming alongside it. [Read more](https://app.daily.dev/feed-by-ids?id=5nvlwwbQn&id=jThkysHHV)
- **CSS Day 2026 recap: styleable select, grid-lanes masonry, CSS if():** CSS Day 2026 in Amsterdam covered the finally-styleable select element after 33 years, Patrick Brosset's grid-lanes masonry layout spec, the new attr() and if() functions, scroll state queries, and a working x86 CPU built in pure CSS. [Read more](https://app.daily.dev/posts/AD462RIbM)
- **Figma MCP session produced a full dashboard view for $0.09 in token costs:** A real implementation using the Figma MCP server with Claude Code retrieved component hierarchies, design tokens, and spacing values directly from Figma and produced a complete dashboard view for roughly $0.09 — the main risk flagged is that implementation velocity can fragment UI systems faster than governance can keep up. [Read more](https://app.daily.dev/posts/GgFzGF2ew)
- **RSC Boundary visualizes server/client component splits in Next.js App Router:** RSC Boundary adds colored outlines (blue for server, orange for client) and a component panel directly in the browser, reorganized into scoped packages (@rsc-boundary/next, @rsc-boundary/start, @rsc-boundary/core) with zero production runtime cost. [Read more](https://app.daily.dev/posts/hbXyMSS7J)
- **Chromium @scope workaround fixes ghost gaps from empty named slots in Shadow DOM:** A pure CSS fix using a bare @scope rule lets :scope:has([slot]) match the shadow host instead of the shadow root, resolving years-old ghost gap bugs in flex and grid layouts caused by Chromium's encapsulation limitation — confirmed working in Chrome, Firefox, and Safari. [Read more](https://app.daily.dev/posts/Mp3d1elvv)

---

Tags: [#webdev](https://daily.dev/tags/webdev), [#javascript](https://daily.dev/tags/javascript), [#css](https://daily.dev/tags/css), [#angular](https://daily.dev/tags/angular), [#jsx](https://daily.dev/tags/jsx)

[View this post on daily.dev](https://daily.dev/posts/angular-22-gets-writable-linkedsignal-chrome-146-ships-scroll-triggered-animations-egnl8gfb9)
