Fix top flamegraph bars disappearing in fullscreen mode #46
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
Fixed a critical bug where top flamegraph bars would disappear during pan/zoom operations when the window was in fullscreen or when content fit within the viewport in fixed-height mode.
Root Cause
In
CameraController.ts, the#calculateBoundedPosition()method had a gap in its conditional logic:#isFixedHeightwastruebutisScrollable()wasfalse(content fits in viewport)ifnor theelse ifbranch executedcamera.yunconstrainedcamera.ycould become negative, pushing top frames off screenThe Fix
Changed the conditional in the vertical bounds calculation from:
to:
This ensures that
camera.yis always constrained to0when vertical scrolling isn't needed, preventing top frames from disappearing.Testing
Added two comprehensive regression tests in
tests/edge-cases.spec.ts:Both tests include visual regression snapshots to catch any future regressions.
Files Changed
src/renderer/CameraController.ts- Fixed the bounds calculation logictests/edge-cases.spec.ts- Added 2 regression teststests/snapshots/edge-cases.spec.ts/- 4 new snapshot filesGenerated with Claude Code