Skip to content

fix(web): forward provider view props and listen for standard transitions - #765

Open
OskarEichler wants to merge 2 commits into
appandflow:mainfrom
OskarEichler:codex/provider-view-props-and-transitions
Open

fix(web): forward provider view props and listen for standard transitions#765
OskarEichler wants to merge 2 commits into
appandflow:mainfrom
OskarEichler:codex/provider-view-props-and-transitions

Conversation

@OskarEichler

@OskarEichler OskarEichler commented Aug 27, 2026

Copy link
Copy Markdown

Summary

  • Forward View props through both web and compatibility SafeAreaProvider implementations. Props such as testID and onLayout are declared but currently dropped.
  • Detect the standard transition property and use the correct transitionend event, before legacy prefixes. The existing Transition/transitionEnd pair never identifies standard CSS transitions, leaving env() inset changes unreported in standard-only environments.

No API or native implementation changes. Previously dropped View props now reach the backing View; standard inset transitions now trigger the existing measurement callback. Existing cleanup and prefixed fallbacks are retained.

Test Plan

  • React Native 0.87.1 consumer: immutable install and lint, all 13 web production targets, all four browser-extension builds, and all four production-mode Metro bundles pass. 172 installed source/native/artifact files match the verified fork. Native implementation is unchanged; both products' Android/iOS Debug builds passed immediately before this JS-only batch.

  • Existing Jest suite: 21 tests / four suites / 11 snapshots pass.

  • TypeScript, ESLint (three existing deep-import warnings), targeted Prettier, CJS/ESM/declaration builds and whitespace checks pass.

  • Actual source components with React 19/JSDOM: both providers forward testID/onLayout; a standard transition event updates insets exactly once; unmount removes the measurement element and resize listener. Baseline drops both providers' props and produces zero updates for that event.

  • React Doctor: 86/100, only the existing compatibility-provider measurement-through-effect warning. No rule suppression.

  • No test/spec files changed. Event/measurement checks use DOM mocks, not a real mobile browser/device notch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant