Fix side pane width not remembered after restart (#8907)#15390
Conversation
Review Summary by QodoFix side pane width not remembered after restart
WalkthroughsDescription• Fixed side pane width not persisting after JabRef restart • Removed erroneous division of normalized divider position • Horizontal divider now restored using normalized position directly • Updated CHANGELOG with fix description Diagramflowchart LR
A["Saved normalized divider position<br/>0-1 range"] -->|"Previously divided by<br/>pixel width"| B["Collapsed to near-zero"]
A -->|"Now applied directly"| C["Correctly restored position"]
File Changes1. jabgui/src/main/java/org/jabref/gui/frame/JabRefFrame.java
|
Code Review by Qodo
1. No divider value sanity-check
|
There was a problem hiding this comment.
Pull request overview
Fixes JabRef’s side pane (Groups/Web search) width persistence by correcting how the horizontal SplitPane divider position is restored from GUI preferences.
Changes:
- Restore the horizontal divider position using the stored normalized (0–1) value directly (removing an erroneous division by pixel width).
- Add a changelog entry documenting the fix.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
jabgui/src/main/java/org/jabref/gui/frame/JabRefFrame.java |
Corrects divider restoration logic to use normalized JavaFX divider positions consistently. |
CHANGELOG.md |
Documents the user-visible fix for side pane width persistence on restart. |
|
Since @Sudeep-A-Kulkarni has spent some time gathering context on this, would you like to review this PR? |
This comment has been minimized.
This comment has been minimized.
|
@AnvitaPrasad I don't see JabRef restarting in any of the attached clips - could you update? |
|
@subhramit Just updated the PR description and added a clip showing the restart flow as well. |
|
I tested this PR on: Before (current main branch): After: |
Is this a solution to the issue? I understand:
|
|
No, it's ok, Oliver. It's as is shown in the third video. |
There is, according to Thilo, a slight delay but it does show 90% eventually (starts with 80%). |
✅ All tests passed ✅🏷️ Commit: e30d4c6 Learn more about TestLens at testlens.app. |
…f#15390) Co-authored-by: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com>
Related issues and pull requests
Closes #8907
PR Description
Fixed the side pane (Groups/Web search) width not being restored after restarting JabRef. The horizontal divider position was being saved as a normalized 0-1 value from JavaFX's
Divider.positionProperty, but on restore it was incorrectly divided by the split pane's pixel width, causing it to collapse to near-zero on every startup. Removed the erroneous division so the horizontal divider is now restored the same way the vertical divider already is - using the normalized position directly.Before
Screen.Recording.2026-03-23.at.2.10.56.PM.mov
After
Screen.Recording.2026-03-23.at.2.14.00.PM.mov
On restarting Jabref:
Screen.Recording.2026-03-23.at.3.03.59.PM.mov
Steps to test
Checklist
CHANGELOG.mdin a way that can be understood by the average user (if change is visible to the user)