fix: back-dismissible long-press sheets, header hints, mirrored empty state - #13
Open
coda-rho-bot wants to merge 3 commits into
Open
fix: back-dismissible long-press sheets, header hints, mirrored empty state#13coda-rho-bot wants to merge 3 commits into
coda-rho-bot wants to merge 3 commits into
Conversation
…was hidden) The conversations.list call passed camelCase params (agentId, orderBy), which the API silently ignores — the list returned UNFILTERED (all-agents) conversations in creation order. The agent's default conversation was drowned out entirely, and rows rendered '(none)' summaries. The wire format is snake_case (agent_id, order_by: last_message_at). Cast past the SDK's camelCase-only type; verified against the live API that the agent's default conversation appears with a real summary, newest-first. Co-authored-by: Letta Code <noreply@letta.com>
… state Three UX fixes: 1. Long-press action sheets on the agents/conversations lists used Alert.alert, which Android renders as a dialog the hardware back button cannot dismiss — the popup trapped the user until they tapped an action. Both screens now present actions in the app's standard bottom sheet (back / drag / tap-outside all dismiss). The Sheet component also gains hardware-back dismissal and a keyboard-aware bottom inset. 2. Long-press discoverability hints, always visible under the header on both list screens (connection chip line / conversation count line). 3. New-conversation empty state rendered mirrored on Android: the manual scaleY(-1) counter-rotation double-flips what RN 0.76+ already counter-rotates. Platform-correct now (scale(-1) Android / scaleY(-1) iOS). Co-authored-by: Letta Code <noreply@letta.com>
A 'Copy conversation ID' action in the long-press sheet — conversation IDs are UUIDs that support workflows (API calls, bug reports, deep links) constantly need, and copying them from a mobile client was previously impossible. Co-authored-by: Letta Code <noreply@letta.com>
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
Three UX fixes, all device-verified on Android:
Long-press action sheets are back-button dismissible. The agents/conversations lists used
Alert.alertfor their long-press menus — on Android that's a dialog the hardware back button cannot dismiss, trapping the user until they tap an action or Cancel. Both screens now present the same actions (rename/delete, plus pin in downstream forks) in the app's standard bottom sheet: back, drag-to-dismiss, and tap-outside all work. TheSheetcomponent gains the hardware-back handler and a keyboard-aware bottom inset this needs.Long-press hints, always visible. A quiet hint line under the header on both list screens ("Long-press an agent/conversation for actions.") — the gesture is invisible otherwise.
Un-mirror the new-conversation empty state on Android. The empty state ("No messages yet…") rendered left-right mirrored: the manual
scaleY(-1)counter-rotation for the inverted transcript double-flips on RN 0.76+, which counter-rotatesListEmptyComponentautomatically — and Android's inversion transform isscale: -1(both axes), so even the pre-0.76 manual counter was wrong there. Now platform-correct:scale(-1)on Android,scaleY(-1)on iOS.Test plan
AI Disclosure: