Skip to content

fix(blabsy): use dynamic viewport height so the chat composer isn't hidden by browser UI#1039

Merged
coodos merged 1 commit into
mainfrom
fix/blabsy-chat-input-unreachable-mobile
Jun 15, 2026
Merged

fix(blabsy): use dynamic viewport height so the chat composer isn't hidden by browser UI#1039
coodos merged 1 commit into
mainfrom
fix/blabsy-chat-input-unreachable-mobile

Conversation

@Bekiboo

@Bekiboo Bekiboo commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

Description of change

Switch the chat containers from 100vh to 100dvh (dynamic viewport height) so they track the actually-visible area. dvh equals vh when there is no browser chrome (PWA / desktop), so no regression there.

Issue Number

Closes #1023

Type of change

  • Fix (a change which fixes an issue)

How the change has been tested

Verified on a real Android device (Chrome): the composer now sits above the navigation bar and stays reachable with the keyboard open.

Change checklist

  • I have ensured that the CI Checks pass locally
  • I have removed any unnecessary logic
  • My code is well documented
  • I have signed my commits
  • My code follows the pattern of the application
  • I have self reviewed my code

Summary by CodeRabbit

  • Bug Fixes
    • Improved chat window display on mobile and desktop by updating viewport height calculations to better accommodate browser UI elements and ensure consistent rendering across devices.

…idden by browser UI

The chat layout sized its containers with calc(100vh - ...). On mobile
browsers 100vh is the largest viewport height (as if the browser chrome
were hidden), so the fixed-height chat column overflowed the visible area
and the message input was pushed behind the browser's navigation bar —
unreachable, so tapping it never opened the keyboard. Installed as a PWA
there is no browser chrome, which is why it only reproduced in-browser.

Switch the chat containers from 100vh to 100dvh (dynamic viewport height)
so they track the actually-visible area. dvh equals vh when there is no
browser chrome (PWA / desktop), so no regression there.

Verified on a real Android device (Chrome): the composer now sits above
the navigation bar and stays reachable with the keyboard open.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@Bekiboo Bekiboo self-assigned this Jun 15, 2026
@Bekiboo Bekiboo requested a review from coodos as a code owner June 15, 2026 07:17
@coderabbitai

coderabbitai Bot commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

All height calculations in chat.tsx are changed from 100vh to 100dvh for both mobile (selected and unselected states) and desktop layout containers. The mobile unselected container also gains flex flex-col classes.

Changes

Chat Viewport Height Fix

Layer / File(s) Summary
Switch Chat containers from vh to dvh
platforms/blabsy/client/src/components/chat/chat.tsx
Mobile selected/unselected container heights change from 100vh-6rem to 100dvh-6rem; unselected container gains flex flex-col; desktop grid wrapper and sidebar panel heights change from 100vh-4rem to 100dvh-4rem.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐇 The viewport was tall, but the keyboard hid below,
100vh deceived — it didn't really know.
With dvh in place, the dynamic bar's accounted,
The chat box is reachable, no longer daunted!
One small unit swap, and the messages flow~ 🌸

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly describes the main change: switching from 100vh to 100dvh to fix a mobile browser UI issue with the chat composer.
Linked Issues check ✅ Passed The PR directly addresses issue #1023 by replacing 100vh with 100dvh in chat container CSS, ensuring the composer remains visible and reachable on mobile browsers.
Out of Scope Changes check ✅ Passed All changes are scoped to fixing the viewport height issue in the chat component; no unrelated modifications are present.
Description check ✅ Passed The pull request description follows the required template structure with all necessary sections completed: issue number, type of change, testing verification, and a checked-off change checklist.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/blabsy-chat-input-unreachable-mobile

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coodos coodos merged commit 8890fad into main Jun 15, 2026
4 checks passed
@coodos coodos deleted the fix/blabsy-chat-input-unreachable-mobile branch June 15, 2026 10:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Blabsy: Chat input box is unreachable and keyboard cannot be opened after selecting a user to message

2 participants