feat(logs): moved LogsInfiniteTable inline with expand/contract button#109819
Merged
JoshuaKGoldberg merged 42 commits intomasterfrom Apr 7, 2026
Merged
feat(logs): moved LogsInfiniteTable inline with expand/contract button#109819JoshuaKGoldberg merged 42 commits intomasterfrom
JoshuaKGoldberg merged 42 commits intomasterfrom
Conversation
JoshuaKGoldberg
commented
Mar 3, 2026
JoshuaKGoldberg
commented
Mar 3, 2026
JoshuaKGoldberg
commented
Mar 3, 2026
JoshuaKGoldberg
commented
Mar 3, 2026
2badb52 to
730ea6f
Compare
JoshuaKGoldberg
commented
Mar 3, 2026
730ea6f to
7840d9a
Compare
9a78dac to
f396c58
Compare
f396c58 to
cc551ac
Compare
JoshuaKGoldberg
commented
Mar 5, 2026
969c42f to
e425d6c
Compare
e425d6c to
606ee67
Compare
606ee67 to
fd4fc5d
Compare
fd4fc5d to
2773bdf
Compare
nsdeschenes
reviewed
Apr 1, 2026
| # Enable overlaying charts in logs | ||
| manager.add("organizations:ourlogs-overlay-charts-ui", OrganizationFeature, FeatureHandlerStrategy.FLAGPOLE, api_expose=True) | ||
| # Enable the expand/collapse table height toggle in the logs UI | ||
| manager.add("organizations:ourlogs-table-expando", OrganizationFeature, FeatureHandlerStrategy.FLAGPOLE, api_expose=True) |
Contributor
There was a problem hiding this comment.
Ideally, these are broken up, it also helps in the case that a revert is needed the flag still lives on.
| @media (max-width: ${p => p.theme.breakpoints.md}) { | ||
| display: none; | ||
| } | ||
| `; |
Contributor
There was a problem hiding this comment.
I don't see the difference 😭
| # Enable overlaying charts in logs | ||
| manager.add("organizations:ourlogs-overlay-charts-ui", OrganizationFeature, FeatureHandlerStrategy.FLAGPOLE, api_expose=True) | ||
| # Enable the expand/collapse table height toggle in the logs UI | ||
| manager.add("organizations:ourlogs-table-expando", OrganizationFeature, FeatureHandlerStrategy.FLAGPOLE, api_expose=True) |
Contributor
There was a problem hiding this comment.
There will also need to be a corresponding config PR for the flag.
JoshuaKGoldberg
commented
Apr 2, 2026
| z-index: 1; | ||
| opacity: ${p => (p.inReplay ? 1 : 0.9)}; | ||
| ${p => (p.inReplay ? 'top: 90px;' : 'top: 20px;')} | ||
| ${p => (p.inReplay ? '' : p.tableLeft ? `left: ${p.tableLeft}px;` : 'left: 0;')} |
Member
Author
Member
Author
There was a problem hiding this comment.
Contributor
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
3 tasks
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.


Previously the
LogsInfiniteTablecomponent generally took in ascrollContainerref to bind its scrolling to its parent (or, by default, the window). Its internal virtualizer then switched between the container vs. window based on whether that was available.This PR simplifies the whole situation by having the table manage its own height with an
expandedpiece of state & an "expando" button to toggle between collapsed & expanded. The expando button is hidden when the table has theembeddedprop.The functional changes are gated behind an
organizations:ourlogs-table-expandofeature flag but can also be enabled with a?logsTableExpando=truequery parameter. I couldn't reasonably gate all of the far-reaching layout changes behind that, but do think I got the experience equivalent in the default/off state./issues/*/explore/logs/explore/traces/trace/*/?&tab=logs/explore/metrics/trace/*/explore/replays/*/?&t_main=logsA few unit tests around log UIs were failing because JSDom's default zero-sized containers result in zero rows being rendered. This PR adds a shared
mockGetBoundingClientRectfor them.There is one known bug: LOGS-653 Logs table virtualization gets offset after expanding & contracting rows. It's an edge case that doesn't always show up, so we think this is only a blocker for releasing to prod, not releasing internally.
Fixes LOGS-173. Fixes LOGS-591.