feat: support iPhone Duo with vertical bars - #213
Merged
Merged
Conversation
rdlabo
force-pushed
the
feat/foldable-toggle
branch
from
September 22, 2026 01:00
2f3b310 to
81e5dc2
Compare
rdlabo
changed the base branch from
feat/foldable-back-button
to
feat/support_foldable
September 22, 2026 01:00
This was referenced Sep 22, 2026
rdlabo
force-pushed
the
feat/foldable-toggle
branch
from
September 22, 2026 02:35
81e5dc2 to
37381e9
Compare
This reverts commit d9cfefe.
Replace separate placement/metrics getters and listeners with a single device-layout API (getDeviceLayout + deviceLayoutChange) so vertical-bar placement, hinge posture, and WebView corner radius stay synchronized. Monitoring is reference-counted, error paths no longer decrement other callers' counts, and destroy is idempotent. The demo split pane now follows the hinge posture (320px fully open, 50vw partially open) via the `when` attribute, side-menu items use routerLink for tab-consistent navigation, and screenshot coverage guards both widths. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…er web view Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…e mocks Merge the withReason/withPlacementListener/resetOnDestroy wrappers into a single manage() helper and drop the dead lifecycle module so handle ownership lives in one place. Reuse inFixedToolbar for toolbar eligibility instead of duplicating the same structural check. E2E mocks now model the plugin implementation returned by registerPlugin for IonicNativeUIShell instead of bridging through window.__nativeUIShell or PluginHeaders, so tests exercise the same registration path as the app and emit events through the plugin listener registry. Test probes move off window onto the ion-app element and document, and the remaining any types are replaced with the public ShellSnapshot/ShellControl/ShellItem surface. Style-value specs that re-verified what screenshot regression already covers are removed. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
- Store search controllers behind ShellSearchControlling so the UIViewController dictionary stops round-tripping through as? casts. - Replace the erased trait-registration token with an unregister closure and hold the hinge interaction as UIInteraction. - Gate iOS 27.1-only SwiftUI symbols in ShellVerticalBars behind the same canImport check the plugin uses; Xcode 27.0 cannot see them.
- Move the Duo content out of special-markup into docs/iphone-duo.md so readers who only want Duo support have one page: device-layout reporting without a runtime, the vertical rail, and the posture-driven split pane. - Document that device-layout monitoring is reference-counted and independent of configure(), and that the enable* runtimes already hold a monitoring reference while native projection is active. - Note that the plugin reports device facts and never applies them to the DOM; the application owns placement decisions. - Extend docgen to emit the VerticalControlAreaHandle reference and link the new page from the README and native-ui-shell guide.
feat: use Vertical Control Area without the iOS 27 theme
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.
Summary
ion-app.ios-theme-vertical-bars; keep ordinary iPhone and iPad layouts unchanged..ios-theme-horizontal-onlykeeps anion-buttonsgroup or individualion-buttonin the Web toolbar.Verification
Stack
#214 (native SwiftUI projection) has been merged into this branch. Base:
feat/support_foldable.