Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2023-12 #52

Merged
merged 10 commits into from
Jan 7, 2024
Merged

2023-12 #52

merged 10 commits into from
Jan 7, 2024

Conversation

alirezamirian
Copy link
Owner

@alirezamirian alirezamirian commented Dec 6, 2023

Top highlights:

  • feat(Toolbar): implement and document toolbar overflow behavior
  • feat(Popup): restore focus to where it were, after popup is closed.
  • feat(StatusBar): prevent focus loss on clicks
  • feat(Link): add preventFocusOnPress option to link
  • feat(Button): add preventFocusOnPress option to bare button

Copy link

cypress bot commented Dec 6, 2023

Passing run #177 ↗︎

0 234 5 0 Flakiness 0

Details:

Merge 00beca6 into c1fbb1e...
Project: JUI Commit: afc56fbc9e ℹ️
Status: Passed Duration: 02:33 💡
Started: Jan 7, 2024 1:07 PM Ended: Jan 7, 2024 1:09 PM

Review all test suite changes for PR #52 ↗︎

react-aria link is too restrictive, without good reason, at least based on what link component means in Intellij Platform
There is most probably a need for a more generic support for such feature: disabling focus from getting lost, if a non-focusable element is being clicked. Some cases are covered by FocusScope usages, some other cases are covered by `preventFocusOnPress` option in some interactive components, and here it's handled like this.
Sometimes the blur event was not happening, so two calls to `useActivePathsProvider` from two different places would fight over the recoil state as they had different values for activePaths. One reproduction scenario was resizing commit window, while it's focused. The focus would immediately go to the editor (which itself is a bug, but unrelated), but the blur event was not triggered for some reason.
With this change, for each focused based state controller hook we keep track of the currently focused element, and update the value only the latest focused element is the same as current element. i.e. only one usage of each hook controls the state at a given time.
Although the assumption about ref value not being null is correct in normal circumstances, it error cases, it can happen that the value of the ref is null, and not handling null here, creates confusing unrelated error on top of the root cause.
Tool window header (Tabs in most cases) should not be pushed, but should overflow out, when resizing to very small sizes.
@alirezamirian alirezamirian force-pushed the 2023-12 branch 2 times, most recently from 28cde34 to 8bb826c Compare January 7, 2024 12:43
@alirezamirian alirezamirian merged commit 1c6ea71 into master Jan 7, 2024
15 checks passed
@alirezamirian alirezamirian deleted the 2023-12 branch January 7, 2024 13:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant