# Component

Published articles for Component.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## A Dialog Can Now Be a Native Desktop Window

DevFeed: [A Dialog Can Now Be a Native Desktop Window](<https://devfeed.tech/articles/a-dialog-can-now-be-a-native-desktop-window-19288.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/dialogs-in-native-windows/>)

Author: Shai Almog

Published: 2026-09-05T00:00:00Z

Content type: release

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [dialog](<https://devfeed.tech/topics/dialog.md>), [Accessibility](<https://devfeed.tech/topics/accessibility.md>), [Operating system](<https://devfeed.tech/topics/operating-system.md>), [macOS](<https://devfeed.tech/topics/macos.md>)

Tags: [accessibility](<https://devfeed.tech/tags/accessibility.md>), [bug](<https://devfeed.tech/tags/bug.md>), [can](<https://devfeed.tech/tags/can.md>), [code](<https://devfeed.tech/tags/code.md>), [component](<https://devfeed.tech/tags/component.md>), [desktop](<https://devfeed.tech/tags/desktop.md>), [dialog](<https://devfeed.tech/tags/dialog.md>), [keyboard](<https://devfeed.tech/tags/keyboard.md>), [macos](<https://devfeed.tech/tags/macos.md>), [native](<https://devfeed.tech/tags/native.md>), [release](<https://devfeed.tech/tags/release.md>)

### AI overview

Codename One adds an option for dialogs to open as native modal desktop windows while retaining lightweight in-window dialogs. The release also fixes top-level window ownership and updates focus, input routing, repainting, popup behavior, and accessibility handling across separate windows.

### Source excerpt

Codename One dialogs can stay inside a secondary window or become native modal windows, while sheets, popups, overlays, tooltips, HTML, and accessibility now resolve the correct top level.

## CodeScanner.scan(): Barcode Scanning Without Rebuilding the Camera Pipeline

DevFeed: [CodeScanner.scan(): Barcode Scanning Without Rebuilding the Camera Pipeline](<https://devfeed.tech/articles/codescanner-scan-barcode-scanning-without-rebuilding-the-camera-pipeline-19236.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/camera-vision-scanners/>)

Author: Shai Almog

Published: 2026-08-26T00:00:00Z

Content type: release

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Barcode](<https://devfeed.tech/topics/barcode.md>), [QR Code](<https://devfeed.tech/topics/qrcode.md>), [webcam](<https://devfeed.tech/topics/webcam.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [camera](<https://devfeed.tech/tags/camera.md>), [code](<https://devfeed.tech/tags/code.md>), [component](<https://devfeed.tech/tags/component.md>), [on-device](<https://devfeed.tech/tags/on-device.md>), [pipeline](<https://devfeed.tech/tags/pipeline.md>), [vision](<https://devfeed.tech/tags/vision.md>)

### AI overview

Codename One adds CodeScanner and VisionCameraView, higher-level APIs for full-screen barcode scanning and embedded live vision analysis. The update also introduces typed results, coordinate helpers, image bridging, and analyzer-specific native dependency selection.

### Source excerpt

CodeScanner and VisionCameraView put full-screen scanning and embedded live analysis above Codename One's on-device vision APIs, with typed results and simulator scripting.

## Design tokens: The building blocks of a design system

DevFeed: [Design tokens: The building blocks of a design system](<https://devfeed.tech/articles/design-tokens-the-building-blocks-of-a-design-system-33521.md>)

Original publisher: [Read original article](<https://www.aha.io/engineering/articles/design-tokens-the-building-blocks-of-a-design-system>)

Published: 2026-08-18T00:00:00Z

Content type: article

Language: en

Sources: [Aha! Engineering Blog](<https://devfeed.tech/sources/aha-engineering-blog.md>)

Topics: [Design system](<https://devfeed.tech/topics/design-system.md>), [ui](<https://devfeed.tech/topics/ui.md>), [CSS](<https://devfeed.tech/topics/css.md>), [consistency](<https://devfeed.tech/topics/consistency.md>)

Tags: [atomic](<https://devfeed.tech/tags/atomic.md>), [component](<https://devfeed.tech/tags/component.md>), [css](<https://devfeed.tech/tags/css.md>), [design](<https://devfeed.tech/tags/design.md>), [design-system](<https://devfeed.tech/tags/design-system.md>), [source-of-truth](<https://devfeed.tech/tags/source-of-truth.md>), [structure](<https://devfeed.tech/tags/structure.md>), [tokens](<https://devfeed.tech/tags/tokens.md>), [ui](<https://devfeed.tech/tags/ui.md>), [variables](<https://devfeed.tech/tags/variables.md>)

### AI overview

This article explains how design tokens provide a shared language for visual design attributes in a scalable design system. It contrasts tokens with hard-coded values, describes primitive and semantic tokens, and discusses using the Design Tokens Community Group standard to connect design and engineering.

### Source excerpt

Implementing a design system at scale is often less about the pixels and more about the language we use to describe them. As a Senior Software Engineer at Aha! I've spent a lot of time thinking about how we can build a UI that is not only beautiful,

## wasmCloud 2.7: Bidirectional host component plugins, concurrent pooling, and multi-backend binding by default

DevFeed: [wasmCloud 2.7: Bidirectional host component plugins, concurrent pooling, and multi-backend binding by default](<https://devfeed.tech/articles/wasmcloud-2-7-bidirectional-host-component-plugins-concurrent-pooling-and-multi-backend-binding-by-default-15443.md>)

Original publisher: [Read original article](<https://wasmcloud.com/blog/wasmcloud-2-7-release/>)

Author: Eric Gregory

Published: 2026-08-12T00:00:00Z

Content type: release

Language: en

Sources: [wasmCloud Blog](<https://devfeed.tech/sources/wasmcloud-blog.md>)

Topics: [WebAssembly](<https://devfeed.tech/topics/web-assembly.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [networking](<https://devfeed.tech/topics/networking.md>)

Tags: [component](<https://devfeed.tech/tags/component.md>), [concurrent](<https://devfeed.tech/tags/concurrent.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [networking](<https://devfeed.tech/tags/networking.md>), [release](<https://devfeed.tech/tags/release.md>), [secrets](<https://devfeed.tech/tags/secrets.md>), [wasmcloud](<https://devfeed.tech/tags/wasmcloud.md>), [webassembly](<https://devfeed.tech/tags/webassembly.md>)

### AI overview

wasmCloud 2.7 introduces bidirectional host component plugins, concurrent pooled instances, and multi-backend binding by default. It also adds workload-level HTTP connection pooling, raw-socket quotas, opt-in egress policies, configurable CA trust, and updated Helm chart CRDs.

### Source excerpt

wasmCloud 2.7 makes host component plugins bidirectional (plugins can call workload exports), multiplies warm-instance capacity with maxConcurrency, enables multi-backend binding by default, and hardens workload networking with quotas and private CA trust.

## How React Rendering Works and Why Memoization Is Often Not the First Fix

DevFeed: [How React Rendering Works and Why Memoization Is Often Not the First Fix](<https://devfeed.tech/articles/your-usememo-probably-isn-t-doing-anything-18116.md>)

Original publisher: [Read original article](<https://thetshaped.dev/p/react-rendering-demystified-your-usememo-probably-isnt-doing-anything>)

Author: The T-Shaped Dev

Published: 2026-07-28T06:10:09Z

Content type: tutorial

Language: en

Sources: [The T-Shaped Dev](<https://devfeed.tech/sources/the-t-shaped-dev.md>)

Topics: [React](<https://devfeed.tech/topics/react.md>), [ui](<https://devfeed.tech/topics/ui.md>), [Code](<https://devfeed.tech/topics/code.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [component](<https://devfeed.tech/tags/component.md>), [context](<https://devfeed.tech/tags/context.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [react](<https://devfeed.tech/tags/react.md>), [render](<https://devfeed.tech/tags/render.md>), [state](<https://devfeed.tech/tags/state.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

This tutorial explains that a React render is a component function call, while DOM updates happen only during the commit phase. It identifies state changes, context changes, and new child elements from a parent as render triggers, and argues that moving state or restructuring children often helps before memoization. It also notes that StrictMode intentionally renders twice in development and that the compiler cannot move component state.

### Source excerpt

One rule explains every React re-render. Get it right and memoization becomes the last fix, not the first.

## Pure Codename One Text Editing Without Native Overlays

DevFeed: [Pure Codename One Text Editing Without Native Overlays](<https://devfeed.tech/articles/pure-codename-one-text-editing-without-native-overlays-19552.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/text-input-without-native-overlay/>)

Author: Shai Almog

Published: 2026-07-27T00:00:00Z

Content type: article

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [ui](<https://devfeed.tech/topics/ui.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [component](<https://devfeed.tech/tags/component.md>), [formatting](<https://devfeed.tech/tags/formatting.md>), [gif](<https://devfeed.tech/tags/gif.md>), [image](<https://devfeed.tech/tags/image.md>), [jpeg](<https://devfeed.tech/tags/jpeg.md>), [native](<https://devfeed.tech/tags/native.md>), [port](<https://devfeed.tech/tags/port.md>)

### AI overview

A new semantic port contract lets Codename One handle text painting, selection, rich editing, clipboard formats, and bidirectional layout while platform ports provide keyboard and input-method events. The opt-in path supports text composition, undo and redo, selection geometry, and multi-format clipboard content without a visible native field.

### Source excerpt

A semantic port contract lets Codename One own text painting, selection, rich editing, clipboard formats, and bidirectional layout while the platform supplies keyboard and IME operations.

## Codename One Tests Statically Linked UI Against iOS 26 and Material 3 References

DevFeed: [Codename One Tests Statically Linked UI Against iOS 26 and Material 3 References](<https://devfeed.tech/articles/own-your-pixels-native-fidelity-on-your-schedule-19430.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/pixel-perfect-is-a-test/>)

Author: Shai Almog

Published: 2026-07-17T00:00:00Z

Content type: article

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [ui](<https://devfeed.tech/topics/ui.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Accessibility](<https://devfeed.tech/topics/accessibility.md>), [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [Compose](<https://devfeed.tech/topics/compose.md>)

Tags: [accessibility](<https://devfeed.tech/tags/accessibility.md>), [benchmarks](<https://devfeed.tech/tags/benchmarks.md>), [component](<https://devfeed.tech/tags/component.md>), [design](<https://devfeed.tech/tags/design.md>), [ios](<https://devfeed.tech/tags/ios.md>), [ios-26](<https://devfeed.tech/tags/ios-26.md>), [native](<https://devfeed.tech/tags/native.md>), [os](<https://devfeed.tech/tags/os.md>), [simulator](<https://devfeed.tech/tags/simulator.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>), [test](<https://devfeed.tech/tags/test.md>), [ui](<https://devfeed.tech/tags/ui.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

The article explains how Codename One statically links its UI components into native apps so operating-system updates cannot replace their widget implementations. It covers native-fidelity testing against iOS 26 and Material 3, Metal-based rendering, accessibility work, and the tradeoff that Codename One must reproduce design changes itself.

### Source excerpt

Codename One now tests its statically linked UI against native iOS 26 and Material 3 references, so themes can move forward without an OS update changing your shipped app.

## TDD in Legacy Code - Maintainable Component Tests - Backend

DevFeed: [TDD in Legacy Code - Maintainable Component Tests - Backend](<https://devfeed.tech/articles/tdd-in-legacy-code-maintainable-component-tests-backend-26187.md>)

Original publisher: [Read original article](<https://journal.optivem.com/p/maintainable-component-tests-in-legacy-code-backend>)

Author: Valentina Jemuović

Published: 2026-07-02T06:02:41Z

Content type: tutorial

Language: en

Sources: [Optivem Journal](<https://devfeed.tech/sources/optivem-journal.md>)

Topics: [Back end](<https://devfeed.tech/topics/backend.md>), [Test-driven development](<https://devfeed.tech/topics/tdd.md>), [legacy](<https://devfeed.tech/topics/legacy.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [backend](<https://devfeed.tech/tags/backend.md>), [component](<https://devfeed.tech/tags/component.md>), [erp](<https://devfeed.tech/tags/erp.md>), [legacy](<https://devfeed.tech/tags/legacy.md>), [legacy-code](<https://devfeed.tech/tags/legacy-code.md>), [refactor](<https://devfeed.tech/tags/refactor.md>), [tdd](<https://devfeed.tech/tags/tdd.md>), [tests](<https://devfeed.tech/tags/tests.md>)

### AI overview

A tutorial on refactoring brittle backend component tests that are coupled to a backend API and ERP system, with the goal of making them more maintainable.

### Source excerpt

Many Backend Teams write unmaintainable Backend Component Tests - coupled to the Backend API and ERP. I'll show you how to refactor these brittle tests.

## Preventing Cypress Test Failures When Reloaded Elements Detach from the DOM

DevFeed: [Preventing Cypress Test Failures When Reloaded Elements Detach from the DOM](<https://devfeed.tech/articles/when-it-reloads-28905.md>)

Original publisher: [Read original article](<https://glebbahmutov.com/blog/when-it-reloads/>)

Author: Gleb Bahmutov

Published: 2026-06-17T04:00:00Z

Content type: tutorial

Language: en

Sources: [Gleb Bahmutov](<https://devfeed.tech/sources/gleb-bahmutov.md>)

Topics: [Cypress](<https://devfeed.tech/topics/cypress.md>), [Document Object Model (DOM)](<https://devfeed.tech/topics/dom.md>), [navigation](<https://devfeed.tech/topics/navigation.md>)

Tags: [blog-post](<https://devfeed.tech/tags/blog-post.md>), [component](<https://devfeed.tech/tags/component.md>), [cypress](<https://devfeed.tech/tags/cypress.md>), [demo](<https://devfeed.tech/tags/demo.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [navigation](<https://devfeed.tech/tags/navigation.md>), [products](<https://devfeed.tech/tags/products.md>), [repo](<https://devfeed.tech/tags/repo.md>), [testing](<https://devfeed.tech/tags/testing.md>), [verify](<https://devfeed.tech/tags/verify.md>)

### AI overview

This tutorial explains why Cypress end-to-end tests can fail when client-side navigation updates the page after a command has found an element. It demonstrates how delayed rendering can leave an old element attached to the test subject and recommends waiting for the expected component or DOM state before continuing the command chain.

### Source excerpt

Have you ever encountered end-to-end test error "... failed because the page updated as a result of this command, but you tried to c

## WASI 0.3 Launched

DevFeed: [WASI 0.3 Launched](<https://devfeed.tech/articles/wasi-0-3-launched-15134.md>)

Original publisher: [Read original article](<https://bytecodealliance.org/articles/WASI-0.3>)

Author: \["Bailey Hayes", "Yosh Wuyts"\]

Published: 2026-06-11T00:00:00Z

Content type: release

Language: en

Sources: [Bytecode Alliance](<https://devfeed.tech/sources/bytecode-alliance.md>)

Topics: [WebAssembly](<https://devfeed.tech/topics/web-assembly.md>), [toolchain](<https://devfeed.tech/topics/toolchain.md>)

Tags: [async](<https://devfeed.tech/tags/async.md>), [component](<https://devfeed.tech/tags/component.md>), [components](<https://devfeed.tech/tags/components.md>), [native](<https://devfeed.tech/tags/native.md>), [support](<https://devfeed.tech/tags/support.md>), [toolchain](<https://devfeed.tech/tags/toolchain.md>), [wasi](<https://devfeed.tech/tags/wasi.md>), [webassembly](<https://devfeed.tech/tags/webassembly.md>)

### AI overview

WASI 0.3.0 has been ratified as a stable specification. It rebases WASI on the WebAssembly Component Model's native async primitives, making most changes from WASI 0.2 mechanical and simplifying interface signatures. Runtime and toolchain support is beginning to land.

### Source excerpt

WASI 0.3 is official, and async is now native to WebAssembly Components. The WASI Subgroup voted to ratify WASI 0.3.0, rebasing WASI onto the WebAssembly Component Model's async primitives. The 0.3.0 specification is now stable, and runtime and toolchain support is landing now.

## Introducing new and improved reporting: How we are solving accessibility issue bloat and triage fatigue

DevFeed: [Introducing new and improved reporting: How we are solving accessibility issue bloat and triage fatigue](<https://devfeed.tech/articles/introducing-new-and-improved-reporting-how-we-are-solving-accessibility-issue-bloat-and-triage-fatigue-12630.md>)

Original publisher: [Read original article](<https://www.browserstack.com/blog/new-and-improved-reporting-to-solve-accessibility-issue-bloat-and-triage-fatigue/>)

Author: BrowserStack Team

Published: 2026-06-10T04:51:54Z

Content type: article

Language: en

Sources: [BrowserStack Blog](<https://devfeed.tech/sources/browserstack-blog.md>)

Topics: [Accessibility](<https://devfeed.tech/topics/accessibility.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Website](<https://devfeed.tech/topics/website.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [accessibility](<https://devfeed.tech/tags/accessibility.md>), [component](<https://devfeed.tech/tags/component.md>), [deep-dive](<https://devfeed.tech/tags/deep-dive.md>), [false-positives](<https://devfeed.tech/tags/false-positives.md>), [reports](<https://devfeed.tech/tags/reports.md>), [testing](<https://devfeed.tech/tags/testing.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

### AI overview

BrowserStack introduces improved accessibility testing reports that group repeated or similar issues across pages, display confidence levels, and support guided bulk review. The changes aim to reduce issue bloat, help teams prioritize reliable violations, and cut triage time by up to 60%.

### Source excerpt

Stop drowning in accessibility "issue bloat." BrowserStack's new reporting uses Intelligent Grouping and a Confidence Slider to turn thousands of redundant alerts into unique tasks. With Guided Bulk Review, you'll slash triage time by 60% and boost your score faster.

## 7 tips for using Figma Make credits more efficiently

DevFeed: [7 tips for using Figma Make credits more efficiently](<https://devfeed.tech/articles/7-tips-for-using-figma-make-credits-more-efficiently-9475.md>)

Original publisher: [Read original article](<https://www.figma.com/blog/7-tips-for-using-figma-make-credits-more-efficiently/>)

Author: Alexia Danton

Published: 2026-05-22T12:00:00Z

Content type: tutorial

Language: en

Sources: [Figma Blog](<https://devfeed.tech/sources/figma-blog.md>)

Topics: [Figma](<https://devfeed.tech/topics/figma.md>), [Code](<https://devfeed.tech/topics/code.md>), [ui](<https://devfeed.tech/topics/ui.md>)

Tags: [best-practices](<https://devfeed.tech/tags/best-practices.md>), [code](<https://devfeed.tech/tags/code.md>), [component](<https://devfeed.tech/tags/component.md>), [context](<https://devfeed.tech/tags/context.md>), [cost](<https://devfeed.tech/tags/cost.md>), [figma](<https://devfeed.tech/tags/figma.md>), [prompting](<https://devfeed.tech/tags/prompting.md>), [request](<https://devfeed.tech/tags/request.md>), [screen](<https://devfeed.tech/tags/screen.md>), [state](<https://devfeed.tech/tags/state.md>), [structure](<https://devfeed.tech/tags/structure.md>), [tips](<https://devfeed.tech/tags/tips.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

This tutorial presents seven practices for using Figma Make credits more efficiently. It recommends writing a complete initial prompt, keeping follow-up prompts focused and specific, building in stages, grouping related changes, and switching to direct editing for small visual adjustments.

### Source excerpt

While everyone's talking about "tokenmaxxing," we've compiled seven best practices to help you build smarter--without prompting more--in Figma Make.

## Chat SDK now supports callback URLs on buttons and modals

DevFeed: [Chat SDK now supports callback URLs on buttons and modals](<https://devfeed.tech/articles/chat-sdk-now-supports-callback-urls-on-buttons-and-modals-854.md>)

Original publisher: [Read original article](<https://vercel.com/changelog/chat-sdk-now-supports-callback-urls-on-buttons-and-modals>)

Author: Josh Singh

Published: 2026-05-20T00:00:00Z

Content type: release

Language: en

Sources: [Vercel News](<https://devfeed.tech/sources/vercel-news.md>)

Topics: [SDKs](<https://devfeed.tech/topics/sdks.md>), [Slack](<https://devfeed.tech/topics/slack.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>)

Tags: [component](<https://devfeed.tech/tags/component.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [guide](<https://devfeed.tech/tags/guide.md>), [payload](<https://devfeed.tech/tags/payload.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [slack](<https://devfeed.tech/tags/slack.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

### AI overview

Chat SDK now supports callback URLs on buttons and modals, allowing Workflow runs to pause and resume after button clicks or form submissions. The callback endpoint receives the event or form payload, with support across platforms that have an official adapter and for modals on Slack and Teams.

### Source excerpt

You can now pause a Workflow run on a Chat SDK card and resume it when someone clicks a button. The same flow works for form submissions. Buttons and modals accept a new callbackUrl prop, and the event payload is sent to that endpoint. To build a card like this, create a workflow webhook and pass its URL to each button's callbackUrl prop inside your <Card> component: For the <Modal> component, the form data is in the payload. callbackUrl works for buttons on most platforms with an official adapter, and for modals on Slack and Teams. Read the documentation or walkthrough guide to start building. Read more

## Compose Unstyled 2.0 introduces a foundation for building Compose component libraries

DevFeed: [Compose Unstyled 2.0 introduces a foundation for building Compose component libraries](<https://devfeed.tech/articles/compose-unstyled-2-0-let-there-be-component-libraries-28449.md>)

Original publisher: [Read original article](<https://composables.com/blog/compose-unstyled-2.0>)

Author: Alex Styl

Published: 2026-05-14T00:00:00Z

Content type: release

Language: en

Sources: [Composables - Concise, no-fluff video tutorials for Android developers](<https://devfeed.tech/sources/composables-concise-no-fluff-video-tutorials-for-android-developers.md>)

Topics: [Compose](<https://devfeed.tech/topics/compose.md>), [Design system](<https://devfeed.tech/topics/design-system.md>), [modules](<https://devfeed.tech/topics/modules.md>), [Accessibility](<https://devfeed.tech/topics/accessibility.md>)

Tags: [accessibility](<https://devfeed.tech/tags/accessibility.md>), [component](<https://devfeed.tech/tags/component.md>), [compose](<https://devfeed.tech/tags/compose.md>), [design-system](<https://devfeed.tech/tags/design-system.md>), [modules](<https://devfeed.tech/tags/modules.md>), [release](<https://devfeed.tech/tags/release.md>)

### AI overview

Compose Unstyled 2.0 is presented as a foundation for building custom Compose component libraries. The release introduces composable component APIs, redesigned Dropdown and Tooltip APIs, separate modules, and a fully unstyled core with deprecated APIs removed.

### Source excerpt

Compose Unstyled 2.0 is a new foundation for building your own Compose component library.

## Khronos Adds Middleware Insights to the OpenXR Extension Matrix

DevFeed: [Khronos Adds Middleware Insights to the OpenXR Extension Matrix](<https://devfeed.tech/articles/khronos-adds-middleware-insights-to-the-openxr-extension-matrix-15111.md>)

Original publisher: [Read original article](<https://www.khronos.org/blog/khronos-adds-middleware-insights-to-the-openxr-extension-matrix>)

Author: jphilips (jeff@khronosgroup.org)

Published: 2026-04-07T13:00:00Z

Content type: article

Language: en

Sources: [Blogs Khronos Blog](<https://devfeed.tech/sources/blogs-khronos-blog.md>)

Topics: [Extension](<https://devfeed.tech/topics/extension.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [blog](<https://devfeed.tech/tags/blog.md>), [component](<https://devfeed.tech/tags/component.md>), [developers](<https://devfeed.tech/tags/developers.md>), [extension](<https://devfeed.tech/tags/extension.md>), [improvements](<https://devfeed.tech/tags/improvements.md>), [insights](<https://devfeed.tech/tags/insights.md>), [middleware](<https://devfeed.tech/tags/middleware.md>), [openxr](<https://devfeed.tech/tags/openxr.md>), [visibility](<https://devfeed.tech/tags/visibility.md>)

### AI overview

The Khronos OpenXR working group expanded its Extension Matrix with self-reported support data from middleware providers. The update gives developers more visibility into extension availability across the XR stack, while support may still vary by runtime and device.

### Source excerpt

The Khronos OpenXR working group has expanded its Extension Matrix to include self-reported data from middleware providers. Developers now have a clearer view of what's available across the broader XR stack.

## How we rebuilt the foundations of component instances

DevFeed: [How we rebuilt the foundations of component instances](<https://devfeed.tech/articles/how-we-rebuilt-the-foundations-of-component-instances-9812.md>)

Original publisher: [Read original article](<https://www.figma.com/blog/how-we-rebuilt-the-foundations-of-component-instances/>)

Author: Naomi Jung

Published: 2026-03-17T20:00:00Z

Content type: article

Language: en

Sources: [Figma Blog](<https://devfeed.tech/sources/figma-blog.md>)

Topics: [Figma](<https://devfeed.tech/topics/figma.md>), [Design system](<https://devfeed.tech/topics/design-system.md>), [reactive](<https://devfeed.tech/topics/reactive.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [component](<https://devfeed.tech/tags/component.md>), [design-systems](<https://devfeed.tech/tags/design-systems.md>), [figma](<https://devfeed.tech/tags/figma.md>), [reactive](<https://devfeed.tech/tags/reactive.md>)

### AI overview

Figma describes replacing the decade-old Instance Updater architecture for component instances with a reactive foundation. The change made common operations in large design systems up to 50% faster and supports more dynamic features as components become more complex.

### Source excerpt

By replacing a decade-old architecture with a reactive foundation, we made common operations in large design systems up to 50% faster and unlocked a new way to build dynamic features.

## Bridging two JSX runtimes: How we solved Astro's React children problem

DevFeed: [Bridging two JSX runtimes: How we solved Astro's React children problem](<https://devfeed.tech/articles/bridging-two-jsx-runtimes-how-we-solved-astro-s-react-children-problem-30982.md>)

Original publisher: [Read original article](<https://www.mintlify.com/blog/astro-react-children>)

Author: Kyle Finken

Published: 2026-03-10T00:00:00Z

Content type: article

Language: en

Sources: [Mintlify Blog](<https://devfeed.tech/sources/mintlify-blog.md>)

Topics: [Astro](<https://devfeed.tech/topics/astro.md>), [React](<https://devfeed.tech/topics/react.md>), [MDX](<https://devfeed.tech/topics/mdx.md>), [React Component](<https://devfeed.tech/topics/react-component.md>), [render](<https://devfeed.tech/topics/render.md>)

Tags: [astro](<https://devfeed.tech/tags/astro.md>), [bridging](<https://devfeed.tech/tags/bridging.md>), [component](<https://devfeed.tech/tags/component.md>), [components](<https://devfeed.tech/tags/components.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [mdx](<https://devfeed.tech/tags/mdx.md>), [react](<https://devfeed.tech/tags/react.md>), [render](<https://devfeed.tech/tags/render.md>), [solved](<https://devfeed.tech/tags/solved.md>)

### AI overview

Mintlify describes how its Astro integration addressed a JSX runtime mismatch that caused compound React components to lose their children during hydration in Astro's MDX pipeline.

### Source excerpt

How Mintlify solved a fundamental JSX runtime mismatch to make compound React components work inside Astro's MDX pipeline.

## OLX Masterclass Frontend 2026

DevFeed: [OLX Masterclass Frontend 2026](<https://devfeed.tech/articles/olx-masterclass-frontend-2026-20389.md>)

Original publisher: [Read original article](<https://tech.olx.com/olx-masterclass-frontend-2026-068299a2df50?source=rss----761b019b483f---4>)

Author: Isaac Queiroz

Published: 2026-02-25T16:16:00Z

Content type: news

Language: en

Sources: [OLX](<https://devfeed.tech/sources/olx.md>)

Topics: [Front end](<https://devfeed.tech/topics/frontend.md>), [Model Context Protocol](<https://devfeed.tech/topics/model-context-protocol.md>), [Development](<https://devfeed.tech/topics/development.md>), [CSS](<https://devfeed.tech/topics/css.md>), [React](<https://devfeed.tech/topics/react.md>), [Figma](<https://devfeed.tech/topics/figma.md>), [repo](<https://devfeed.tech/topics/repo.md>), [configuration](<https://devfeed.tech/topics/configuration.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [agents](<https://devfeed.tech/tags/agents.md>), [ai](<https://devfeed.tech/tags/ai.md>), [code](<https://devfeed.tech/tags/code.md>), [coding](<https://devfeed.tech/tags/coding.md>), [component](<https://devfeed.tech/tags/component.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [css](<https://devfeed.tech/tags/css.md>), [development](<https://devfeed.tech/tags/development.md>), [event](<https://devfeed.tech/tags/event.md>), [figma](<https://devfeed.tech/tags/figma.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [frontend-development](<https://devfeed.tech/tags/frontend-development.md>), [masterclass](<https://devfeed.tech/tags/masterclass.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [mcps](<https://devfeed.tech/tags/mcps.md>), [model-context-protocol](<https://devfeed.tech/tags/model-context-protocol.md>), [olx](<https://devfeed.tech/tags/olx.md>), [react](<https://devfeed.tech/tags/react.md>), [repo](<https://devfeed.tech/tags/repo.md>)

### AI overview

OLX announces its 2026 Frontend Masterclass, featuring three sessions on MCP integrations and Figma-to-React workflows, new CSS capabilities, and managing localized websites for multiple brands from a single repository.

### Source excerpt

The always-evolving challenges of OLX create a rich environment for innovation, experimentation, and knowledge sharing. In our 2026 Frontend Masterclass, we have three sessions that will shed light on our current development flow. Join us on March 3rd, 2026, from 6:00 pm to 9:00 pm at our OLX Offices in Poznań! Do you want to join us and know what's trending in the latest frontend technology? Check the event information and join here! Can't join it in person? Sign in to this form to receive the online recording of the session! Our Agenda With a broad schedule, our speakers will deliver a mix of technical presentations and demonstrations on multiple subjects. MCP Servers in Action: From Figma Design to React Component in Minutes by Karol Grabowski Part of what changed in our day-to-day flow is how AI is always available to help us. AI assistants and agents are powerful out-of-the-box tools; we can augment our reach by configuring Model Context Protocols (MCPs) to take our setup a step further. Join Karol to explore how the Model Context Protocol turns AI assistants into powerful development partners with direct access to your tools. This talk covers the MCP ecosystem, real OLX integrations, and includes a live coding session demonstrating the Figma-to-code workflow. CSS is no longer "this simple" -- it got _layers_, quite literally by Tomasz "Comandeer" Jakut At the same time that we advance with AI and multiple experiments to learn from our users and make our flows as pleasant as possible, we are still styling our components with the usual suspects, right? Not always! Join Tomasz Jakut and deep dive into CSS's new capabilities that can redefine how we approach styling websites: from @Layer and nesting to container queries, scoped styles, and user preferences. New native features can refresh well-known techniques and make others obsolete. One-product, three brands -- Our strategy for serving different countries from a single repo by Lilian Galezewska We all know how OL

## Angular v20 Custom MatPaginator Styling

DevFeed: [Angular v20 Custom MatPaginator Styling](<https://devfeed.tech/articles/angular-v20-custom-matpaginator-styling-37460.md>)

Original publisher: [Read original article](<https://www.angularspace.com/angular-v20-custom-matpaginator-styling/>)

Author: Eduard Krivanek

Published: 2026-01-30T09:30:45Z

Content type: tutorial

Language: en

Sources: [Daniel Glejzner](<https://devfeed.tech/sources/daniel-glejzner.md>)

Topics: [Angular](<https://devfeed.tech/topics/angular.md>), [angular material](<https://devfeed.tech/topics/angular-material.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [angular](<https://devfeed.tech/tags/angular.md>), [angular-material](<https://devfeed.tech/tags/angular-material.md>), [article](<https://devfeed.tech/tags/article.md>), [code](<https://devfeed.tech/tags/code.md>), [component](<https://devfeed.tech/tags/component.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [events](<https://devfeed.tech/tags/events.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [ssr](<https://devfeed.tech/tags/ssr.md>)

### AI overview

A tutorial updates a custom Angular Material MatPaginator styling directive for Angular v20. It explains how to create a bubble-style paginated table, handle changing data length with signals and effects, and avoid direct DOM APIs while supporting server-side rendering.

### Source excerpt

One of my more popular articles that I've published is Angular: MatPaginator Custom Styling, wrapping up around 17K views, which shows how to transform Angular Material's paginator (on a mat-table) using a custom directive to make it look more appealing. I decided to update this

## Introduction to Fuzzing ESP-IDF components

DevFeed: [Introduction to Fuzzing ESP-IDF components](<https://devfeed.tech/articles/introduction-to-fuzzing-esp-idf-components-13743.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/2026/01/fuzzing/>)

Author: John Lee

Published: 2026-01-07T00:00:00Z

Content type: tutorial

Language: en

Sources: [Blog on Developer Portal](<https://devfeed.tech/sources/blog-on-developer-portal.md>)

Topics: [ESP-IDF](<https://devfeed.tech/topics/esp-idf.md>), [Fuzzing/Fuzz testing](<https://devfeed.tech/topics/fuzzing.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Vulnerabilities](<https://devfeed.tech/topics/vulnerabilities.md>), [c/c++](<https://devfeed.tech/topics/c-c-plus-plus.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [c-c-plus-plus](<https://devfeed.tech/tags/c-c-plus-plus.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [component](<https://devfeed.tech/tags/component.md>), [embedded](<https://devfeed.tech/tags/embedded.md>), [esp-idf](<https://devfeed.tech/tags/esp-idf.md>), [fuzzing](<https://devfeed.tech/tags/fuzzing.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [security](<https://devfeed.tech/tags/security.md>), [testing](<https://devfeed.tech/tags/testing.md>), [vulnerabilities](<https://devfeed.tech/tags/vulnerabilities.md>), [vulnerability](<https://devfeed.tech/tags/vulnerability.md>)

### AI overview

This article introduces fuzzing for ESP-IDF components and embedded libraries. It explains how to fuzz host-compiled code with sanitizers, compares black-box, grey-box, and white-box approaches, and outlines workflows using a basic mutator, AFL++, and protocol-focused harnesses.

### Source excerpt

This article introduces fuzzing -- a technique for finding vulnerabilities -- and demonstrates practical workflows and lessons learned for ESP-IDF components and embedded libraries in general.

## Testing Loading Skeletons

DevFeed: [Testing Loading Skeletons](<https://devfeed.tech/articles/testing-loading-skeletons-28899.md>)

Original publisher: [Read original article](<https://glebbahmutov.com/blog/testing-loading-skeletons/>)

Author: Gleb Bahmutov

Published: 2025-12-26T05:00:00Z

Content type: tutorial

Language: en

Sources: [Gleb Bahmutov](<https://devfeed.tech/sources/gleb-bahmutov.md>)

Topics: [Testing](<https://devfeed.tech/topics/testing.md>), [Cypress](<https://devfeed.tech/topics/cypress.md>), [CSS](<https://devfeed.tech/topics/css.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [component](<https://devfeed.tech/tags/component.md>), [css](<https://devfeed.tech/tags/css.md>), [cypress](<https://devfeed.tech/tags/cypress.md>), [map](<https://devfeed.tech/tags/map.md>), [products](<https://devfeed.tech/tags/products.md>), [property](<https://devfeed.tech/tags/property.md>), [test](<https://devfeed.tech/tags/test.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

A tutorial on testing loading skeletons with Cypress. It covers verifying that a skeleton appears while data loads, checking its position against the loaded content, and fixing CSS that causes layout shifts.

### Source excerpt

Loading skeletons are displayed while the real data is loading. For example, the login passwords are displayed after 1 second in the GIF

## Advanced techniques for porting libraries to ESP-IDF components

DevFeed: [Advanced techniques for porting libraries to ESP-IDF components](<https://devfeed.tech/articles/advanced-techniques-for-porting-libraries-to-esp-idf-components-13733.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/2025/11/advanced-porting-libraries-as-components/>)

Author: John Lee

Published: 2025-11-24T00:00:00Z

Content type: tutorial

Language: en

Sources: [Blog on Developer Portal](<https://devfeed.tech/sources/blog-on-developer-portal.md>)

Topics: [ESP-IDF](<https://devfeed.tech/topics/esp-idf.md>), [Library](<https://devfeed.tech/topics/library.md>), [AWS IoT Core](<https://devfeed.tech/topics/aws-iot-core.md>), [OpenSSH](<https://devfeed.tech/topics/openssh.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [aio](<https://devfeed.tech/topics/aio.md>), [CMake](<https://devfeed.tech/topics/cmake.md>), [make](<https://devfeed.tech/topics/make.md>), [POSIX](<https://devfeed.tech/topics/posix.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [cmake](<https://devfeed.tech/tags/cmake.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [component](<https://devfeed.tech/tags/component.md>), [components](<https://devfeed.tech/tags/components.md>), [esp-idf](<https://devfeed.tech/tags/esp-idf.md>), [feature-flags](<https://devfeed.tech/tags/feature-flags.md>), [library](<https://devfeed.tech/tags/library.md>), [linux](<https://devfeed.tech/tags/linux.md>), [mqtt](<https://devfeed.tech/tags/mqtt.md>), [porting](<https://devfeed.tech/tags/porting.md>), [posix](<https://devfeed.tech/tags/posix.md>), [ssh](<https://devfeed.tech/tags/ssh.md>), [systems](<https://devfeed.tech/tags/systems.md>), [techniques](<https://devfeed.tech/tags/techniques.md>)

### AI overview

This follow-up article presents advanced techniques for porting larger libraries, particularly those designed for Linux or POSIX systems, into reusable ESP-IDF components. It covers assessing reusable code, adapting build systems and port layers, configuration, header injection, linker wrapping, and compiler-warning management, with examples including asio, mosquitto, libssh, and libwebsockets.

### Source excerpt

This article follows up on the article 'Porting a library to an ESP-IDF component' and shows some advanced tips and tricks when porting larger libraries into ESP-IDF components.

## What Now? Handling Errors in Large Systems

DevFeed: [What Now? Handling Errors in Large Systems](<https://devfeed.tech/articles/what-now-handling-errors-in-large-systems-12583.md>)

Original publisher: [Read original article](<http://brooker.co.za/blog/2025/11/20/what-now.html>)

Author: Marc Brooker

Published: 2025-11-20T00:00:00Z

Content type: article

Language: en

Sources: [Marc Brooker's Blog](<https://devfeed.tech/sources/marc-brooker-s-blog.md>), [Marc Brooker's Blog](<https://devfeed.tech/sources/marc-brooker-s-blog-2.md>)

Topics: [systems](<https://devfeed.tech/topics/systems.md>), [Resilience](<https://devfeed.tech/topics/resilience.md>), [Rust](<https://devfeed.tech/topics/rust.md>), [Processes](<https://devfeed.tech/topics/processes.md>), [autoscaling](<https://devfeed.tech/topics/autoscaling.md>), [Amazon Web Services](<https://devfeed.tech/topics/aws.md>), [Serverless](<https://devfeed.tech/topics/serverless.md>), [Erlang](<https://devfeed.tech/topics/erlang.md>), [Containers](<https://devfeed.tech/topics/containers.md>), [servers](<https://devfeed.tech/topics/servers.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [autoscaling](<https://devfeed.tech/tags/autoscaling.md>), [aws](<https://devfeed.tech/tags/aws.md>), [component](<https://devfeed.tech/tags/component.md>), [errors](<https://devfeed.tech/tags/errors.md>), [http](<https://devfeed.tech/tags/http.md>), [outage](<https://devfeed.tech/tags/outage.md>), [process](<https://devfeed.tech/tags/process.md>), [resilience](<https://devfeed.tech/tags/resilience.md>), [rust](<https://devfeed.tech/tags/rust.md>), [server](<https://devfeed.tech/tags/server.md>), [serverless](<https://devfeed.tech/tags/serverless.md>), [servers](<https://devfeed.tech/tags/servers.md>), [systems](<https://devfeed.tech/tags/systems.md>)

### AI overview

An analysis of error handling in large systems, using Rust's Result and unwrap as a starting point. It argues that whether a component should crash is a system-wide architectural decision shaped by failure correlation, error-handling layers, business logic, and the value of continuing with a last-known-good configuration or data version.

### Source excerpt

What Now? Handling Errors in Large Systems More options means more choices. Cloudflare's deep postmortem for their November 18 outage triggered a ton of online chatter about error handling, caused by a single line in the postmortem: .unwrap() If you're not familiar with Rust, you need to know about Result, a kind of struct that can contain either a successful result, or an error. unwrap says basically "return the successful results if there is one, otherwise crash the program"1. You can think of it like an assert. There's a ton of debate about whether asserts are good in production2, but most are missing the point. Quite simply, this isn't a question about a single program. It's not a local property. Whether asserts are appropriate for a given component is a global property of the system, and the way it handles data. Let's play a little error handling game. Click the ✅ if you think crashing the process or server is appropriate, and the ❌ if you don't. Then you'll see my vote and justification. One of ten web servers behind a load balancer encounters uncorrectable memory errors, and takes itself out of service. ✅ ❌ Your vote: My vote: ✅ Uncorrectable memory errors are independent, and do not depend on user-provided content. In the presence of bad memory, it's impossible for a program to proceed safely. Taking the machine out of service is the safest course of action. One of ten multi-threaded application servers behind a load balancer encounters a null pointer in business logic while processing a customer request. ✅ ❌ Your vote: My vote: ❌ Customer requests triggering bugs in business logic isn't a good reason to bring the whole server down. Instead, fail that particular request (returning an HTTP 5xx error), and continue with other user requests. In approaches like Erlang, or even Lambda, it may be the right approach to crash the whole application in response to a bad request, because this crash is handled at a higher layer in the architecture. This is also why I pr

## Porting a library to an ESP-IDF component

DevFeed: [Porting a library to an ESP-IDF component](<https://devfeed.tech/articles/porting-a-library-to-an-esp-idf-component-13732.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/2025/10/porting-external-library-as-component/>)

Author: John Lee

Published: 2025-10-20T00:00:00Z

Content type: tutorial

Language: en

Sources: [Blog on Developer Portal](<https://devfeed.tech/sources/blog-on-developer-portal.md>)

Topics: [ESP-IDF](<https://devfeed.tech/topics/esp-idf.md>), [Library](<https://devfeed.tech/topics/library.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [ide](<https://devfeed.tech/topics/ide.md>), [Code](<https://devfeed.tech/topics/code.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [Template](<https://devfeed.tech/topics/template.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [app](<https://devfeed.tech/tags/app.md>), [blog](<https://devfeed.tech/tags/blog.md>), [build](<https://devfeed.tech/tags/build.md>), [build-system](<https://devfeed.tech/tags/build-system.md>), [code](<https://devfeed.tech/tags/code.md>), [component](<https://devfeed.tech/tags/component.md>), [esp-idf](<https://devfeed.tech/tags/esp-idf.md>), [esp-idf-component](<https://devfeed.tech/tags/esp-idf-component.md>), [esp-idf-extension-for-vs-code](<https://devfeed.tech/tags/esp-idf-extension-for-vs-code.md>), [esp32-c3](<https://devfeed.tech/tags/esp32-c3.md>), [esp32c3](<https://devfeed.tech/tags/esp32c3.md>), [github](<https://devfeed.tech/tags/github.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [porting](<https://devfeed.tech/tags/porting.md>), [repo](<https://devfeed.tech/tags/repo.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

This tutorial explains how to port an external library into a reusable ESP-IDF component. Using tinyexpr, it covers obtaining the source code, creating a test project and component, configuring the build system, resolving compatibility issues, and testing on an ESP32-C3 board.

### Source excerpt

This article shows how to port an external library into an ESP-IDF project by converting it into a reusable component. Using tinyexpr as an example, it covers obtaining the source code, creating a new project, building a component, configuring the build system, and testing on hardware.

[Next page](<https://devfeed.tech/tags/component.md?cursor=WyIyMDI1LTEwLTIwVDAwOjAwOjAwKzAwOjAwIiwgIjg0Mjk2YjRhLWE2NWMtNGEwOS1iNzQxLTA2NDVmZWJiNGYxYiJd>)