Bug 8726-URL-based layout persistence#8729
Open
Seth-Wadsworth wants to merge 2 commits intomakeplane:previewfrom
Open
Bug 8726-URL-based layout persistence#8729Seth-Wadsworth wants to merge 2 commits intomakeplane:previewfrom
Seth-Wadsworth wants to merge 2 commits intomakeplane:previewfrom
Conversation
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.
Description
This PR resolves an issue where the selected layout on the Views page would reset whenever the user clicked outside the browser window or navigated between pages. The previous implementation stored layout state only in local component state, which was overwritten during re‑renders triggered by focus changes or navigation. To ensure predictable behavior and persistent layout selection, the layout state has been moved into a URL‑driven model. The selected layout is now encoded in the query parameters, allowing it to persist across navigation, refreshes, and window focus changes.
Type of Change
Screenshots and Media (if applicable)
Test Scenarios
Testing focused on verifying that layout selection now persists reliably across all interaction patterns that previously caused resets. Manual testing confirmed that selecting a layout correctly updates the URL and that refreshing the page restores the chosen layout. Additional regression testing validated that clicking outside the browser window no longer triggers a reset and that navigation between different views preserves the layout parameter. Unit tests were added for the updated layout‑selection logic to ensure that URL parsing and query‑parameter updates behave consistently and do not introduce regressions.
References
#8726
Summary by CodeRabbit