fix(app): improve mobile chat scroll behavior, compactness, and tool summaries#37
Open
Liddo-kun wants to merge 6 commits into
Open
fix(app): improve mobile chat scroll behavior, compactness, and tool summaries#37Liddo-kun wants to merge 6 commits into
Liddo-kun wants to merge 6 commits into
Conversation
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.
Issue for this PR
Closes #9
Issue #9 is pretty broad, and some of the requests there are general UX goals rather than concrete tasks. This PR closes it by addressing the concrete mobile UX problems I could reproduce and fix here: keyboard behavior, compact screen usage, clearer tool-call feedback, and Android menu behavior.
Type of change
What does this PR do?
Alright, hi there, this is my first PR, so go easy on me. That said, I put a lot of work into this. It really improves the app experience. I did it to fix a few issues:
Unreliable scroll behavior when opening/closing the keyboard. This was really annoying: the text would not scroll consistently when popping up the keyboard. Now it doesn't scroll at all when popping up the keyboard, unless you're already at the bottom, where it stays nicely pinned at the bottom.
You did nice work here making the UI more compact, but you didn't go far enough! Now it's way more compact, without losing anything. Still readable. A lot of tiny tweaks here to make this happen.
The tab bar "hiding" when the keyboard pops up was causing issues, at least on Android. For example, you couldn't scroll all the way to the top of the chat properly when the keyboard was up. The simplest fix was to just make it so the tab bar is always visible. I compensated for this by making it even more compact. Now the session title just lives in the tab itself, along with the little context dingy and the three-dot menu.
Fixed the three-dot menu option "delete session" not working at all on Android. The popup was suppressed completely.
Opencode's old visibility of compacted Bash tool calls was not very useful. It just said
Shelland some AI-hallucinated description of what it thought it was doing. Now it saysBash(actual command)with a little green dot/red dot/yellow dot Claude Code style. Just as compact, way more informative.Same for editing or writing files. Now it reflects the actual tool used,
apply_patch(), and notes which file was written and how many lines. Claude Code style.Additional changes:
ToolSummaryTriggerpath for tool call rows instead of duplicating summary markup per tool.content-visibilityplaceholders for timeline turns, avoiding offscreen intrinsic-height estimates that caused bad scroll positions after keyboard open/close. I tested this and saw almost no RAM difference or perf improvement from using content-visibility.How did you verify your code works?
bun run --cwd packages/ui typecheckbun run --cwd packages/app typecheckbun run --cwd packages/android buildbun run --cwd packages/app buildpr/mobile-ui-polish.Screenshots / recordings
Click either image to open it full-size.
Checklist