Skip to content

feat(tips): tip-chat keyboard on open + tip-only minimized send button - #1165

Merged
bmc08gt merged 4 commits into
code/cashfrom
feat/tip-chat-keyboard-and-minimized-send
Jul 27, 2026
Merged

feat(tips): tip-chat keyboard on open + tip-only minimized send button#1165
bmc08gt merged 4 commits into
code/cashfrom
feat/tip-chat-keyboard-and-minimized-send

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Jul 27, 2026

Copy link
Copy Markdown
Collaborator

What & why

Two tip-chat UX changes, plus a keyboard regression fix they surfaced.

1. Reopen the keyboard on message input (regression fix)

#1075 replaced the userState (Reading/Typing) model with the always-visible input and, in the process, turned OnStartMessageInput into a no-op and dropped the focusRequester.requestFocus() call. The event was still dispatched when returning from amount entry, but nothing acted on it — so the keyboard stopped reopening after sending cash from within a chat.

Restored via a transient State.messageInputRequested signal: OnStartMessageInput sets it; the bottom bar (co-located with ChatInput, so the focusRequester is attached) focuses the field, shows the keyboard, and dispatches OnMessageInputConsumed to clear it. It is state rather than a one-shot event because eventFlow is replay-0 — a request raised at open would be missed before the bar subscribes.

2. Open post-tip chats with the keyboard up

After completing a tip from the tip card, the chat now opens with the message input focused (same feel as returning from amount entry). A new openKeyboard flag on the Chat route (default false) is set only by the post-tip navigation (TipCardDecorator). Normal opens — tips list, deeplinks/notifications, contact DMs — stay keyboard-closed.

3. Minimized send button, tip chats only

Tip chats always show the compact dark symbol-only send button. The normal send flow keeps the expanded "Send $" presentation and only collapses to the symbol once the user starts typing.

Housekeeping

  • docs: clarified that code/cash is the only main branch (repo origin/HEAD was unset, so tooling defaulted to a non-existent main).

Testing

  • :messenger and :scanner compile clean.
  • Not yet verified on-device — please sanity-check the two IME flows: returning from amount entry after a send, and a fresh post-tip chat open (keyboard up), while confirming normal chat opens stay closed.

bmc08gt added 4 commits July 27, 2026 16:10
PR #1075 replaced the userState (Reading/Typing) model with the
always-visible input and, in doing so, turned OnStartMessageInput into a
no-op and dropped the focusRequester.requestFocus() call. The event was
still dispatched on return from amount entry, but nothing acted on it, so
the keyboard no longer reopened after sending cash from within a chat.

Restore it with a transient State.messageInputRequested signal:
OnStartMessageInput sets it, and the bottom bar — co-located with the
ChatInput so the focusRequester is attached — focuses the field, shows the
keyboard, and dispatches OnMessageInputConsumed to clear it. State (not a
one-shot event) is used because eventFlow is replay-0, so a request raised
at open would be missed before the bar subscribes.
After completing a tip from the tip card, hand off into the chat with the
message input focused, matching the keyboard-open state you land on when
returning from amount entry. A new openKeyboard flag on the Chat route
(default false) is set only by the post-tip navigation; ChatFlowScreen
dispatches OnStartMessageInput once on open when it is set. Normal opens
(tips list, deeplinks, contact DMs) stay keyboard-closed.
Tip chats always show the compact dark symbol-only send button. The normal
send flow keeps the expanded "Send $" presentation and only collapses to
the symbol once the user starts typing.
origin/HEAD was unset, so tooling defaulted the base branch to a
non-existent `main`. Note explicitly that code/cash is the only main
branch and that PRs target it.
@github-actions github-actions Bot added area: scanner QR/Kikcode scanning, camera type: feature New functionality labels Jul 27, 2026
@bmc08gt
bmc08gt merged commit 826863e into code/cash Jul 27, 2026
3 checks passed
@bmc08gt
bmc08gt deleted the feat/tip-chat-keyboard-and-minimized-send branch July 27, 2026 20:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: scanner QR/Kikcode scanning, camera type: feature New functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant