fix: resizing window discards edits in compose editors#2719
Merged
Conversation
Contributor
|
Container images for this PR have been built successfully!
Built from commit ba491ee |
0af76d5 to
001d423
Compare
001d423 to
ba491ee
Compare
github-actions Bot
added a commit
to ShobuPrime/home-assistant-apps
that referenced
this pull request
May 26, 2026
## Arcane Docker Manager Update This automated PR updates Arcane from `1.19.4` to `1.19.5`. ### Changelog ### Bug fixes * improve environment proxy error handling ([#2649](getarcaneapp/arcane#2649) by `kmendell`) * align local BuildKit load/push exporter ([#2650](getarcaneapp/arcane#2650) by `kmendell`) * PUID and PGID being set on project subfolder on every startup ([#2656](getarcaneapp/arcane#2656) by `kmendell`) * system upgrade doesnt support non unix socket docker hosts ([#2651](getarcaneapp/arcane#2651) by `kmendell`) * resizing window discards edits in compose editors ([#2719](getarcaneapp/arcane#2719) by `kmendell`) * only validate project name if it has changed ([#2720](getarcaneapp/arcane#2720) by `kmendell`) * make Arcane reverse-proxy aware to resolve connection issues ([#2717](getarcaneapp/arcane#2717) by `kmendell`) * tolerate undefined typed env vars in GitOps sync ([#2721](https://github.com/getarcaneapp/arcane/pu ### Changes - Updated `config.yaml` version - Updated `build.yaml` ARCANE_VERSION - Updated `Dockerfile` ARCANE_VERSION - Updated documentation files - Updated CHANGELOG.md ### Release Notes Full release notes: https://github.com/getarcaneapp/arcane/releases/tag/v1.19.5 --- This PR was automatically generated by the Update Arcane workflow Auto-merged by GitHub Actions
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.

Checklist
mainbranchWhat This PR Implements
Fixes: #2660
Changes Made
Testing Done
./scripts/development/dev.sh startjust lint all)just test backendAI Tool Used (if applicable)
AI Tool:
Assistance Level:
What AI helped with:
I reviewed and edited all AI-generated output:
I ran all required tests and manually verified changes:
Additional Context
Disclaimer Greptiles Reviews use AI, make sure to check over its work.
To better help train Greptile on our codebase, if the comment is useful and valid Like the comment, if its not helpful or invalid Dislike
To have Greptile Re-Review the changes, mention
greptileai.Greptile Summary
This PR fixes the bug where resizing the browser window would discard in-progress edits in compose editors. The root cause was that the
IsTabletbreakpoint hook triggered conditional rendering ({#if isTablet.current}), causingCodePanel(and its embeddedCodeEditor) to be destroyed and re-created on viewport changes, losing unsaved content.CodePanel.svelte: The{#if effectiveAutoHeight} ... {:else}branching that mounted two separateCodeEditorinstances is replaced with a single always-mountedCodeEditorwrapped in a<div>whose class changes between''and'absolute inset-0'— the editor survives layout switches intact.resizable-split.svelte: A newstackBelowprop lets the split panel switch to a stacked (flex-col) layout below a given pixel width, using aResizeObserver+window resizelistener to track changes without destroying child content.+page.svelte: Duplicate tablet-specific layouts usingIsTabletare removed; both the tree and classic modes now use a singleResizableSplitwithstackBelow={1024}to handle responsive behaviour.Confidence Score: 5/5
Safe to merge — the change eliminates editor re-mounting on resize without introducing new correctness issues.
The fix correctly targets the root cause: conditional rendering was destroying and recreating the CodeEditor on viewport changes. Replacing the {#if} branch with a single always-mounted editor wrapped in a style-toggling div is the right approach. The new stackBelow responsive logic in resizable-split.svelte is correctly scoped to onMount and event handlers, cleanup is handled, and applySize is now called on both transition directions. No new data-loss, auth, or runtime-error risks are introduced.
No files require special attention.
Reviews (2): Last reviewed commit: "fix: resizing window discards edits in c..." | Re-trigger Greptile