Browser support & performance

A dated record of the browsers and workloads tested with the React integration and Tungsten design.

Tested browsers

Verification date: . React 19.2.5.

Browser / environmentTested versionResult
Chromium156.0.8078.455/55 Passed
Google Chrome154.0.8037.5955/55 Passed
Microsoft Edge155.0.4283.4555/55 Passed
Firefox157.055/55 Passed
Playwright WebKit27.255/55 Passed
Mobile Chromium · Pixel 7 emulation156.0.8078.455/55 Passed
Mobile WebKit · iPhone 13 emulation27.255/55 Passed

The browser suite runs the packaged React UI, worker and WASM core together. It covers each field family, validation and draft restore, all group layouts, nested repeaters, datasource retry, file uploads and diagnostics.

Mobile rows use device emulation. Playwright WebKit is an engine check, not a test of the Safari application or a physical iPhone. Only the listed versions have recorded results; minimum browser versions and other design packages are not established by this matrix.

Measured performance

Apple M4 Max · 48 GiB · macOS 27.0.1 · Chromium 156.0.8078.4

Fields / visible controlsReady, median (ms)Committed edit, p95 (ms)
10133.41.4
25136.51.2
50136.51.6
100138.91
2501481.2

These fixtures use 10–250 fully rendered fields with mixed input types, validation and a two-field dependency. Ready time is the median of five fresh form and worker starts after one warmup, excluding page download. Edit p95 uses 20 samples after five warmups and ends at the complete state callback after React commits; it does not wait for paint.

Routine operations

WorkloadTime (ms)Measurement
Validation · 100 fields1.4p95 · 5 samples
Reset · 100 fields4.7p95 · 5 samples
Submission · 100 fields · local HTTP5.4p95 · 5 samples
Line items · 25 rows · adjacent reorder4.7p95 · 5 samples
Nested repeater · 10 parents · add child5.9p95 · 5 samples
API select · 250 options menu0.9p95 · 5 samples

Routine operations use five samples after one warmup. Repeater timings use the actual UI controls, including host locking and completed state updates. Submission and lookup use local HTTP; production network latency and file transfer are excluded. These are representative fixtures, not statistics about production usage.

Stress tests and limits

Stress fixtures deliberately exceed routine form sizes. The 10,000-field forms, 1,000-parent nested reorder and 10,000-option lookup measure limits; they do not describe typical interactions. These checks still run in CI, and their complete results remain available below and in the raw report.

Fields / visible controlsReady (ms)Committed edit, p95 (ms)
1,000164.92.4
10,000870.822.1

Stress edits also change two fields and render no unrelated controls. Complete snapshots and browser layout still grow with total or visible content. Stress startup and structural/menu timings are individual observations; edit percentiles use 20 samples.

WorkloadTime (ms)Measurement
Full validation · 10,000 values31.3p95 · 5 samples
Reset · 10,000 values125.2p95 · 5 samples
Submission · local HTTP43.4p95 · 5 samples
Nested repeater · parent reorder553.7One observation
API select · 10,000 options menu1.7One observation
Language switch · 10,000 visible fields65.4p95 · 5 samples

The nested stress form has 1,000 parents, two children per parent and 10,000 visible fields; the reorder moves the last parent to the beginning. The large select keeps all 10,000 options in data and renders a bounded window. Whole-form validation/reset/submission use 10,000 values and 100 visible controls.

Rule graphAffected fieldsCommitted edit, p95 (ms)
Fan-out112.4
Fan-out1013.3
Fan-out1,0018.2
Chain112.4
Chain512.7

Dependency workloads contain 10,000 fields with 100 controls mounted and an explicitly increased processing budget. Growing affected graphs are measured separately from isolated edits.

Ten mount/unmount cycles left zero active workers. The raw report includes retained main-thread JavaScript heap after garbage collection; it does not measure total browser, worker or WASM memory or establish leak-free operation.

These numbers describe the recorded hardware, artifact and workload, not guaranteed response times. Production network latency and physical mobile performance require separate measurements.

Download the measurement snapshot (JSON)