Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@atlaskit/react-ufo

atlassian44.8kApache-2.03.13.0TypeScript support: included

Parts of React UFO that are publicly available

readme

React UFO for Atlaskit

Parts of React UFO that need to be scoped within @atlaskit

https://hello.atlassian.net/wiki/spaces/UFO/blog/2022/12/16/2280380649/react-UFO+A+deeper+understanding+of+performance

https://hello.atlassian.net/wiki/spaces/UFO/pages/2305847386/react-ufo+UFO+v2

Running integration test

In one terminal:

cd platform && nvm use && yarn
yarn start:rspack react-ufo

This will start the dev server, accessible via http://localhost:9000.

Then in a separate terminal:

cd platform && nvm use
yarn test:integration packages/react-ufo/atlaskit/__tests__/ --retries 0 --reporter list --reuse-dev-server --project=desktop-chromium --max-failures=0

To ensure the test is not flaky, refer to the following page: HOWTO: Fix & remove flaky tests

Essentially, to simulate CI-like environment in local for Playwright to parallelise load, we can increase the following:

  • The number of times to repeat each test
  • The number of workers

Example:

yarn test:integration packages/react-ufo/atlaskit/__tests__/playwright/base.spec.ts --retries 0 --reporter list --reuse-dev-server --project=desktop-chromium --max-failures=0 --repeat-each 50 --workers 50

changelog

@atlaskit/ufo-interaction-ignore

3.13.0

Minor Changes

3.12.5

Patch Changes

3.12.4

Patch Changes

3.12.3

Patch Changes

3.12.2

Patch Changes

  • #152526 418c1f18e4a6e - FG cleanup for platform_ufo_set_event_failed_status_in_client and platform_ufo_ignore_bm3_tti_event_status

3.12.1

Patch Changes

  • #155148 ae195d27027a7 - [HOT-117381] Remove circular dependency on HTMLElement by using an array of WeakRef

3.12.0

Minor Changes

3.11.2

Patch Changes

3.11.1

Patch Changes

3.11.0

Minor Changes

3.10.4

Patch Changes

3.10.3

Patch Changes

3.10.2

Patch Changes

3.10.1

Patch Changes

3.10.0

Minor Changes

3.9.5

Patch Changes

3.9.4

Patch Changes

3.9.3

Patch Changes

3.9.2

Patch Changes

  • #149337 cf5be62e3c4a3 - clean up fg platform_ufo_vc_ttai_on_paint
  • #148259 5504072998c27 - Fixed a performance regression in SPA transitions when feature gate 'platform_ufo_no_vc_on_aborted' is enabled. The issue was caused by not properly stopping the VC observer when returning early for aborted/invisible interactions, which led to background observer processes interfering with subsequent interactions. The fix ensures proper cleanup of the VC observer in all code paths.

3.9.1

Patch Changes

3.9.0

Minor Changes

3.8.0

Minor Changes

3.7.0

Minor Changes

3.6.7

Patch Changes

  • #146024 f796438651e2d - copy UFO custom data via structuredClone, instead of passing the object directly

3.6.6

Patch Changes

3.6.5

Patch Changes

3.6.4

Patch Changes

3.6.3

Patch Changes

3.6.2

Patch Changes

3.6.1

Patch Changes

3.6.0

Minor Changes

3.5.3

Patch Changes

3.5.2

Patch Changes

3.5.1

Patch Changes

3.5.0

Minor Changes

3.4.14

Patch Changes

3.4.13

Patch Changes

3.4.12

Patch Changes

3.4.11

Patch Changes

3.4.10

Patch Changes

3.4.9

Patch Changes

3.4.8

Patch Changes

3.4.7

Patch Changes

3.4.6

Patch Changes

  • #131564 e4cc2be4d7e50 - Fix get element name to use data vc by default unless specifically disabled

3.4.5

Patch Changes

3.4.4

Patch Changes

3.4.3

Patch Changes

3.4.2

Patch Changes

3.4.1

Patch Changes

3.4.0

Minor Changes

3.3.3

Patch Changes

3.3.2

Patch Changes

3.3.1

Patch Changes

3.3.0

Minor Changes

3.2.0

Minor Changes

3.1.4

Patch Changes

  • #121016 1e57491bd2e34 - Allowing 'other' type of requests with .js to have information of cache calculated

3.1.3

Patch Changes

3.1.2

Patch Changes

3.1.1

Patch Changes

3.1.0

Minor Changes

  • #118212 7a1ec3e0fb496 - Updating logic to track resource timings to include 'other' type which includes '.js'

3.0.0

Major Changes

Patch Changes

2.16.1

Patch Changes

  • #116098 9650ffb0c42b2 - Revert: [AFO-3379] Make the DefaultInteractionID trully global across multiple bundles

    Impact

    No impact since the flag was never rolled out

2.16.0

Minor Changes

2.15.0

Minor Changes

  • #115462 17a3ace9d5f67 - Moved addSegment to useEffect to prevent it added multiple times when running on concurrent mode

Patch Changes

  • Updated dependencies

2.14.3

Patch Changes

2.14.2

Patch Changes

  • Updated dependencies

2.14.1

Patch Changes

  • #109596 496dea881c42e - [AFO-3379] Make the DefaultInteractionID trully global across multiple bundles

2.14.0

Minor Changes

Patch Changes

  • Updated dependencies

2.13.0

Minor Changes

2.12.2

Patch Changes

2.12.1

Patch Changes

2.12.0

Minor Changes

Patch Changes

  • Updated dependencies

2.11.0

Minor Changes

2.10.0

Minor Changes

2.9.0

Minor Changes

  • #101686 e26a94f833e02 - Add fallback error handling for check element visibility VC calculation logic

2.8.2

Patch Changes

  • #101605 26580d858329c - Adjust logic on when to apply getBoundingClientRect check for target rect - handle dummy rect

2.8.1

Patch Changes

  • #98925 4c9eae0d55227 - Adjust logic on when to apply getBoundingClientRect check for target rect

2.8.0

Minor Changes

Patch Changes

  • Updated dependencies

2.7.0

Minor Changes

2.6.0

Minor Changes

Patch Changes

  • Updated dependencies

2.5.3

Patch Changes

  • #179859 3685feff446c1 - Use getBoundingClientRect instead of value from intersectionObserver for the purpose of checking layout shift for SSR placeholders.

2.5.2

Patch Changes

2.5.1

Patch Changes

2.5.0

Minor Changes

  • #176642 66ae71c3d1e72 - Revert "AFO-3080: NO-ISSUE Experimental UFO holds and TTAI - 2nd iteration"

Patch Changes

2.4.7

Patch Changes

2.4.6

Patch Changes

2.4.5

Patch Changes

2.4.4

Patch Changes

  • a03da52505965 - Remove the flag from test files as well as its not present on LD or Statsig

2.4.3

Patch Changes

2.4.2

Patch Changes

2.4.1

Patch Changes

2.4.0

Minor Changes

2.3.3

Patch Changes

2.3.2

Patch Changes

2.3.1

Patch Changes

2.3.0

Minor Changes

2.2.3

Patch Changes

2.2.2

Patch Changes

2.2.1

Patch Changes

2.2.0

Minor Changes

2.1.0

Minor Changes

Patch Changes

2.0.9

Patch Changes

2.0.8

Patch Changes

  • #159176 b682bf3a24cd4 - Remove include_node_counts_in_ttvc_metric and no_ssr_placeholder_check_when_not_intersecting

2.0.7

Patch Changes

2.0.6

Patch Changes

2.0.5

Patch Changes

  • #158480 fcbd1c4e6293b - Sending custom.post-interaction-log event for certain Perf Push experiences

2.0.4

Patch Changes

2.0.3

Patch Changes

2.0.2

Patch Changes

2.0.1

Patch Changes

2.0.0

Major Changes

  • #156392 c4b79c6ef2fe1 - previous update should've been a major version, this update is a patch however for fixing late mutation logic

Minor Changes

Patch Changes

1.1.0

Minor Changes

1.0.1

Patch Changes

  • #151377 3c4d80ac5a938 - use @atlaskit/react-ufo custom spans within @atlassian/react-ufo create payload

1.0.0

Major Changes

1.3.2

Patch Changes

1.3.1

Patch Changes

1.3.0

Minor Changes

1.2.0

Minor Changes

  • #127511 db30e29344013 - Widening range of react and react-dom peer dependencies from ^16.8.0 || ^17.0.0 || ~18.2.0 to the wider range of ^16.8.0 || ^17.0.0 || ^18.0.0` (where applicable).

    This change has been done to enable usage of `react@18.3as well as to have a consistent peer dependency range forreactandreact-domfor/platform` packages.

1.1.2

Patch Changes

1.1.1

Patch Changes

1.1.0

Minor Changes

  • #88895 a48b908e2bf6 - Add integration of React UFO to not hold react-ufo measurement when media is not in viewport