Skip to content

Evaluate Sentry.reportFullyDisplayed() static API for cross-SDK alignment #6341

Closed

Description

@antonis

The Time to Initial/Full Display spec defines Sentry.reportFullyDisplayed() as the canonical API for signaling when a screen has fully loaded. Cocoa (SentrySDK.reportFullyDisplayed()), Android (Sentry.reportFullyDisplayed()), and Flutter (SentryDisplay.reportFullyDisplayed()) all implement it.

React Native uses <TimeToFullDisplay ready={bool}> component instead — a deliberate, React-idiomatic design choice. PR #6090 enhanced this with multi-instance coordination (multiple <TimeToFullDisplay> components that wait for all to report ready).

Feasibility Assessment (Jul 2026)

Not yet covered — there is zero reference to reportFullyDisplayed anywhere in the RN SDK codebase. No function, no export, no mention. The deprecated imperative functions startTimeToFullDisplaySpan() / startTimeToInitialDisplaySpan() still exist but are marked deprecated in favor of the components.

Cross-SDK alignment: RN is the only outlier. All other mobile SDKs implement the spec's canonical static API:

  • Android: Sentry.reportFullyDisplayed()
  • Cocoa: SentrySDK.reportFullyDisplayed()
  • Flutter: SentryDisplay.reportFullyDisplayed() (formerly SentryFlutter.reportFullyDisplayed(), deprecated)

Flutter's evolution is instructive: they started with a static method, moved toward SentryDisplay instances, and also offer SentryDisplayWidget. The approaches coexist.

Spec: Yes — Sentry.reportFullyDisplayed() is the canonical API per develop.sentry.dev. This is the only issue in the project that is spec-backed.

Use cases for static API: Non-component contexts where the <TimeToFullDisplay> component doesn't fit — Redux sagas, data-fetching hooks, code outside the React render tree.

Recommendation

Add Sentry.reportFullyDisplayed() as a complementary API alongside the existing <TimeToFullDisplay> component. The component approach should remain the recommended/primary API for React developers, but the static method should exist for spec compliance, cross-SDK alignment, and non-component use cases.

Activity

  1. linear-code commented on Jun 24, 2026

    @linear-code
  2. self-assigned this
    on Jul 7, 2026
  3. github-actions commented on Jul 16, 2026

    @github-actions
    Contributor

    A PR closing this issue has just been released 🚀

    This issue was referenced by PR #6419, which was included in the 8.19.0 release.

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

Metadata

Metadata

Assignees

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions