fix(mobile): stabilize navigation and status controls - #407
Merged
Merged
Conversation
Contributor
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
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.
Mobile thread selection could be lost during native swipe-back, long presses could navigate while opening a menu, and connection projections and styling caused avoidable updates. This completes the remaining product portion of #8694 and integrates its related mobile style and status-control follow-ups.
The final behavior shares stable per-environment projections, isolates iOS symbols from Android icon loading, uses UIKit menu preparation/display/cancel events to decide taps, and keeps connection, message sync and working status in one floating control. Pressed, disabled, theme and data styles retain their conditions under Tailwind 4.3.3.
Pylon adaptations:
Sources (bounded upstream head 062987b2fb0ef48cc7776d654931bd9f3bcf1f9f):
1f8ed54add4133ac39effceded8fc1fff12d8e03— fix(mobile): speed up dev iteration (#8694)85f2479ffe5c9d8ffa91f1bfae5234df4061292f— refactor(mobile): style plain views with Uniwind classes instead of the theme bridge (#9322)1f7a3c11ca864898b136a35011ad10777ea07544— fix(mobile): pressed and disabled styles no longer apply unconditionally (#9355)de025aa69ffb0ce1a45d30aed25c60454660b62d— fix(mobile): show loading and syncing in the working pill (#9466)1cb49c3df2e0fb4bc2c6e88b0f102c1f9eb8cee5— fix(mobile): even out the working pill's spacing (#10209)b438447f67b6b61bbe6f564d8b78fd90702117c5— fix(mobile): use selected theme across input forms and controls (#10239)bb5748bfac0fbeffe690875fa485a5cbe7b99132— fix(mobile): show connection status in the floating pill instead of a second one (#10440)Validation: 63 focused tests across 13 files; mobile typecheck and scoped lint; generated mobile themes; successful iOS development build (264 seconds) and installation on the isolated verification simulator. The integrated iOS pass verified theme selection, ordinary thread entry/back navigation, a 700 ms long press opening its native menu without navigating, a subsequent normal tap opening the thread, and one reconnect pill disappearing after the disposable server recovered. Router tests cover selection overlapping a native closing transition; that precise overlap was not reproduced interactively.
Android development bundle generation also passed, including the per-icon imports. The native Android UI was not exercised. Bundle switching triggered Expo development-launcher crashes during native permission/notification module registration; stopping the app and launching it cleanly succeeded and the complete interaction pass ran from that launch. No agent turns were sent and no live user database was changed.
Before and after the conditional-style/theme update (Grove):
Long-press menu, reconnecting, and recovered:
Gesture recording: https://github.com/user-attachments/assets/020ef90c-6d05-4002-8717-892cca34ef1a
Implemented with GPT-6 in the Codex desktop harness.
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.