-
Notifications
You must be signed in to change notification settings - Fork 8.2k
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
[Logs UI] Fix inaccuracy when jumping to a faraway time target #40303
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Zacqary
added
[zube]: In Progress
v8.0.0
Feature:Logs UI
Logs UI feature
Team:Infra Monitoring UI - DEPRECATED
DEPRECATED - Label for the Infra Monitoring UI team. Use Team:obs-ux-infra_services
v7.4.0
labels
Jul 3, 2019
Pinging @elastic/infra-logs-ui |
💔 Build Failed |
💚 Build Succeeded |
Zacqary
added
v7.3.0
bug
Fixes for quality problems that affect the customer experience
labels
Jul 9, 2019
weltenwort
approved these changes
Jul 9, 2019
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is great! Jumping around in the logs feels so much more accurate now. And extra credits for the explanation. The awesomeness of this fix is inversely proportional to its line count 😉
This was referenced Jul 9, 2019
Zacqary
added a commit
to Zacqary/kibana
that referenced
this pull request
Jul 9, 2019
Zacqary
added a commit
to Zacqary/kibana
that referenced
this pull request
Jul 9, 2019
Zacqary
added a commit
that referenced
this pull request
Jul 9, 2019
Zacqary
added a commit
that referenced
this pull request
Jul 9, 2019
4 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
bug
Fixes for quality problems that affect the customer experience
Feature:Logs UI
Logs UI feature
release_note:fix
Team:Infra Monitoring UI - DEPRECATED
DEPRECATED - Label for the Infra Monitoring UI team. Use Team:obs-ux-infra_services
v7.3.0
v7.4.0
v8.0.0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #39944
This fixes a bug that would cause changing the timestamp in the Logs UI to a timestamp outside the currently loaded range of logs to end up landing you on a very far off place than you actually clicked on. It would also sometimes send you to a very far off timestamp when initially loading the page with a specific timestamp in the URL.
After a lot of investigation, I was able to track the issue down to the
getVisibleChildren
call inVerticalScrollPanel
'sgetSnapshotBeforeUpdate
. When the panel is mounted, it's supposed to behave like so:children
to changeThis works fine. The problem is that when the component is first mounted, its
children
,height
, andwidth
properties aren't finalized yet for another animation frame or so. So what happened was:target
timestamp, with the intention of displaying thetarget
in the very center of the log streamheight
is 0, it doesn't actually scroll anywhere.AutoSizer
figures out how tall to make the component and updates it. Thechildren
also get re-rendered because they depend on some data being computed fromWithColumnWidths
height
andchildren
changes, and callsgetVisibleChildren
. Because it hadn't actually scrolled down at all when itsheight
was 0, the visible children are actually the beginning of available dataThis created a very annoying situation where the user might:
This PR should prevent this from happening anymore.
Checklist
Use
strikethroughsto remove checklist items you don't feel are applicable to this PR.[ ] Any text added follows EUI's writing guidelines, uses sentence case text and includes i18n support[ ] Documentation was added for features that require explanation or tutorials[ ] Unit or functional tests were updated or added to match the most common scenarios[ ] This was checked for keyboard-only and screenreader accessibilityFor maintainers