Skip to content

[MEDIUM] Fully integrate Reassure into Onyx to improve performance monitoring and prevent regressions #56483

@mountiny

Description

@mountiny

Background

Onyx is the backbone of our application, ensuring fast and reliable data access. To maintain a high-quality user experience, it is critical to monitor and measure its performance. Effective tracking allows us to detect regressions early and continuously improve efficiency.

Problem

When Onyx functions experience performance regressions, there is currently no automated way to detect them early, which makes it difficult to diagnose slowdowns and optimize performance. Without comprehensive performance testing in place, issues may go unnoticed until they affect end users, reducing app responsiveness and developer confidence in code changes.

Solution

Expand Reassure testing coverage in Onyx to ensure performance is continuously monitored and regressions are detected early.

Phase 1

  1. Update Reassure version to match E/App (or latest).
  2. Implement Reassure tests for all functions in Onyx.ts, OnyxUtils.ts, OnyxCache.ts, and OnyxConnectionManager.ts to maximize coverage.
  3. Add guidelines and update the PR/Reviewer Checklist to ensure all new Onyx functions include Reassure test coverage.

Phase 2

  1. Extend Reassure tests to remaining utilities like utils.ts and Str.ts.
  2. Explore testing render counts for useOnyx.ts to detect unnecessary re-renders.
    This approach will improve Onyx’s reliability by providing continuous, automated performance validation, ensuring that any performance degradation is caught before it impacts users.
Issue OwnerCurrent Issue Owner: @fabioh8010

Metadata

Metadata

Labels

BugSomething is broken. Auto assigns a BugZero manager.WeeklyKSv2

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions