Skip to content

Conversation

@tsullivan
Copy link
Member

@tsullivan tsullivan commented Oct 30, 2025

Summary

Makes the Flyout System truly opt-in by changing the session value default from inherit to never.

Module Change
EuiFlyout Changed: session prop
The default has been changed from inherit to never

Closes #9158.

Why are we making this change?

The default of inherit was problematic. It meant that a flyout with no session value added would automatically become a child if a session flyout is active. This would be a problem in Kibana, where all flyouts currently have no session value. Work would be needed to address the problem by adding session="start" on them to avoid possible bugs, which means the default logic planned would amount to a breaking change.

Impact to users

BREAKING CHANGE - the default of session has been changed to never.

The default value of EuiFlyout session prop is changing from inherit to never. This makes the flyout session management system truly opt-in: a flyout that has not been modified and has no session prop set will not become a child flyout of an active main flyout and will continue to act as a regular flyout. Flyouts will only become a child of when they have the session value set to inherit.

Not changed: if a flyout has session="inherit" and there is no main flyout, it will behave as a regular flyout.

To continue the previous behavior of a flyout rendered as a child, you can explicitly set the session prop to inherit.

Usages in Kibana that will need to be updated: none

QA

Remove or strikethrough items that do not apply to your PR.

General checklist

  • Browser QA
    • [ ] Checked in both light and dark modes
    • [ ] Checked in both MacOS and Windows high contrast modes
    • [ ] Checked in mobile
    • [ ] Checked in Chrome, Safari, Edge, and Firefox
    • [ ] Checked for accessibility including keyboard-only and screenreader modes
  • Docs site QA
  • Code quality checklist
  • Release checklist
    • A changelog entry exists and is marked appropriately
    • If applicable, added the breaking change issue label (and filled out the breaking change checklist)
    • [ ] If the changes unblock an issue in a different repo, smoke tested carefully (see Testing EUI features in Kibana ahead of time)
  • Designer checklist
    • [ ] If applicable, file an issue to update EUI's Figma library with any corresponding UI changes. (This is an internal repo, if you are external to Elastic, ask a maintainer to submit this request)

@tsullivan tsullivan force-pushed the flyout-system/fix-session-logic branch from 7e80d70 to 8231b64 Compare October 30, 2025 19:51
@tsullivan tsullivan changed the title Flyout system/fix session logic [Flyout System] Make session logic truly opt-in Oct 30, 2025
@tsullivan tsullivan added the breaking change PRs with breaking changes. (Don't delete - used for automation) label Oct 30, 2025
@github-actions
Copy link

github-actions bot commented Oct 30, 2025

This PR contains breaking changes. The opener of this pull request is asked to perform the following due diligence steps below, to assist EUI in our next Kibana upgrade:

  • If this PR contains prop/API changes:
    • Search through Kibana for <EuiComponent usages (example search)
    • In the PR description or in a PR comment, include a count or list with the number of component usages in Kibana that will need to be updated (if that amount is "none", include that information as well)
  • If this PR contains CSS changes:
    • Search through Kibana for the changed EUI selectors, e.g. .euiComponent (example search)
    • In the PR description or in a PR comment, include a count or list with the number of custom CSS overrides in Kibana that will need to be updated (if that amount is "none", include that information as well)
  • 🔍 Tip: When searching through Kibana, consider excluding **/target, **/*.snap, **/*.storyshot files to reduce noise and only look at source code usages
  • ⚠️ For extremely risky changes, the EUI team should potentially consider the following precautions:
    • Using a pre-release release candidate to test Kibana CI ahead of time
    • Using kibana-a-la-carte for manual QA, and to give other Kibana teams a staging server to quickly test against

@tsullivan tsullivan force-pushed the flyout-system/fix-session-logic branch from f98c459 to 44c5fdb Compare October 30, 2025 20:10
@tsullivan tsullivan marked this pull request as ready for review October 30, 2025 20:14
@tsullivan tsullivan requested a review from a team as a code owner October 30, 2025 20:14
@elasticmachine
Copy link
Collaborator

💚 Build Succeeded

@elasticmachine
Copy link
Collaborator

💚 Build Succeeded

@tkajtoch tkajtoch self-requested a review October 30, 2025 21:50
@tkajtoch
Copy link
Member

tkajtoch commented Nov 4, 2025

I reviewed and tested this PR and found that the current behavior of the session prop for child flyouts might be confusing. We agreed with Tim to update the logic to default to session="inherit" when EuiFlyout is rendered inside of a main flyout.

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

Labels

breaking change PRs with breaking changes. (Don't delete - used for automation)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

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

3 participants