Skip to content

[Flyout System] The logic on allowed child flyouts causes breaking changes #9158

@tsullivan

Description

@tsullivan

Reported by @akowalska622

Describe the bug

The new Managed Session Flyouts system for EuiFlyout uses a session prop to control how a flyout behaves in a session:

  • session="start" - create a new session
  • session="inherit" (default) - add a flyout as a child of the active session
  • session="never" - disallow the flyout from being part of a session. For example, Side Nav flyouts should use this.

The default of inherit is problematic. It means that a flyout with no session value added would automatically become a child if a session flyout is active. This is a problem in Kibana, where all flyouts currently have no session value. They would need to be addressed with work to add session="start" on them to avoid possible bugs, which means the default logic brings in a breaking change.

Impact and severity

The possible bug would be that a flyout which is totally unrelated to the active session flyout could inexplicably become a child. For example, unless the "Newsfeed" flyout in Kibana has session="start" added, it could become a child flyout of any random session flyout.

Environment and versions

The Flyout System has currently not been merged into EUI at the time of this writing. The issue has been discovered while running POC work against a custom build of EUI.

Minimum reproducible sandbox

To Reproduce

The Flyout System is documented as an opt-in feature. This means that flyouts should only be a "main" or "child" managed flyout if the developer has explicitly set them as so.

Screenshots (Optional)

Additional context (Optional)

Currently the default for the session prop is inherit. A reasonable fix would be to change the default to never.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions