Update Popper to 2.x

Description

We currently use popper 1 to handle layered elements' position.
This causes several issues, including https://ecosystem.atlassian.net/browse/AUI-5205

Our spikes show that moving to Popper 2 will both - correct the observed misbehaviour and bring us certain performance gain.

This task should focus on just the Popper migration:

  • update internal API references

  • Remove not supported functionalities

  • assure all tests are green.

Out of scope:

  • Exposing additional popper behaviours via AUI’s wrapper APIs.

  • Contributing back to popper.

Acceptance criteria:

  • Layered element tests pass (unit + visual regression)

  • Edge 18 bug has working fix (AUI-5205)

  • Fix present in 9.1

  • Verify Jira team are happy with the fix

Environment

None

QA Kickoff Check-In

Usage described in documentation
Demonstration of all states
Interactive state (screen readers)
Visual regression tests
Unit tests
Navigation (only keyboard / only mouse)
Component render legibly

QA Demo Check-Out

P2 plugin
Browsers (Edge/IE11/Firefox/Chrome/Safari)
Resizing
Zoom in/out
Navigation (Keyboard/Mouse)
Focus
Element status (At Rest/Pressed/Selected/Read Only/Disabled)
Cursors
Tooltips
Audio

Activity

Show:
Chris "Daz" Darroch
August 19, 2020, 11:32 AM
Edited

Our team believes that by delivering passing unit tests + visual regression tests for existing layers, plus the fix for AUI-5205, this will be enough for the Jira team to accept the change. Verify this with

Jira team request that the difference between 9.0.x and 9.1 includes only this change.

If this is not possible, negotiate with Jira team re: custom build.

Chris "Daz" Darroch
August 19, 2020, 11:37 AM

Note: 8.12.1 code freeze date has not yet been set. Planning/meeting session for code freeze is happening next week (between Aug 23 and 30).

Zuzanna Struczewska
August 26, 2020, 7:34 AM
Edited

, Kickoff notes:

  • All changes required to migrate Popper are well documented at Popper migration guide

  • Popper v2 significantly differes from Popper v1 - the new code base is a complete rewrite (find more

  • Usage of Popper in AUI is wrapped by the API, thanks to that the upgrade should be isolates to the inner AUI layer only and transparent from the AUI users perspective

  • If it occures that Popper upgrade requires the API changes all of them needs to be well documented in the AUI upgrade quide

  • the 9.1.0 version branches from 9.0.0 and contains changes only related to Propper

  • Testing:

    • automated test for the is added to the tests base

    • all changes will be validated by the automated regression tests: component integration tests and visual regression tests

    • components which are mostly affected by the Popper upgrade will be listed in the PR and revierws will be asked to re-check them manually on the FlatApp

  • Onse the bump version is created product - Jira will be informed and, if required, can pair with to aasist on getting 9.1.0

Assignee

Michal Dyro

Reporter

Michal Dyro

Labels

None

Changelog entry text

None

Needs Doc

None

Story Points

3

Sprint

None

Fix versions

Affects versions

Priority

Major
Configure