fix: resolve onMount
lifecycle issue in iOS Safari by reordering layout structure
#302
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 fixes issue #268, where the
onMount
lifecycle hooks in child components (EditorTabs.svelte
and its childEditor.svelte
) were not being reliably triggered on iOS Safari. The issue was caused by the main application layout<div>
being nested within a conditionalisLoading
block, which affected how iOS Safari handled the rendering and mounting of child components.To address this, the main application layout
<div>
containing the<EditorTabs />
and<MenuBar />
has been moved outside of theisLoading
condition. This ensures that child components are always mounted, regardless of the loading state, allowing their lifecycle hooks to trigger as expected.Changes
<div>
containing the main layout (<MenuBar />
and<EditorTabs />
) out of theisLoading
conditional block.<Loading />
component conditional.Testing
Browsers Tested:
Behavior Verified:
onMount
triggers as expected for all child components across all platforms.isLoading
behavior.Fixes
Fixes #268: Problems on iOS devices
and #267: Keyboard does not appear in notpad text area on iOS devices