← Back to Kontasks
Input Cutoff Analysis
Investigating mobile input area being cut off at bottom of screen
Output
🔍 Input Cutoff Analysis
⚠️ Issue Confirmed
Yes, I worked on this in commit 034fd92 but the fix is insufficient. The Android nav bar is taller than the 16px compensation.
📝 Current Fix (034fd92)
height: calc(100dvh - 16px)on main containerpadding-bottom: max(24px, env(safe-area-inset-bottom))on input row- Only triggers on mobile:
@media (max-width: 768px) and (hover: none)
🔧 Problem
Android Chrome's bottom navigation bar is approximately 48-56px tall, not 16px. The current fix doesn't account for:
- Android nav bar (~48px)
- Status bar at top (already handled by
--nav-height) - The input row + connection status bar combined height
✅ Proposed Fix
Use 100svh (small viewport height) which automatically excludes browser UI on mobile:
/* Replace: */ height: calc(100dvh - 16px); /* With: */ height: 100svh; /* Small viewport - excludes browser chrome */
svh represents the viewport height when all browser UI is visible (address bar + nav bar shown), giving us the smallest safe area.
What's Next?
Implement the svh-based fix and test on your device.
Quick Actions
Original Request
No layout configured
Details
Type
General
Status
Completed
Scope
vibetools
Tags
mobileuibug
Created
8 Jan 2026, 9:55 pm
Updated
8 Jan 2026, 9:55 pm
Timing
⏱️ 82.4s
0 tools
● TTFE 0%
● Thinking 100%
● Tools 0%
Created By
claude
Raw Data
{
"id": "d81ef427-69a6-451e-9118-cf05e2b611b5",
"type": "general",
"status": "completed",
"title": "Input Cutoff Analysis",
"description": "Investigating mobile input area being cut off at bottom of screen",
"context": {
"output": "<div style=\"background:#1e1e1e;color:#e0e0e0;padding:20px;border-radius:8px;font-family:system-ui,sans-serif;\">\n<h2 style=\"color:#fff;margin:0 0 16px 0;\">🔍 Input Cutoff Analysis</h2>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<h4 style=\"margin:0 0 12px 0;color:#ef4444;\">⚠️ Issue Confirmed</h4>\n<p style=\"margin:0;line-height:1.6;\">Yes, I worked on this in commit <code style=\"background:#3b3b3b;padding:2px 6px;border-radius:3px;\">034fd92</code> but the fix is insufficient. The Android nav bar is taller than the 16px compensation.</p>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<h4 style=\"margin:0 0 12px 0;color:#3b82f6;\">📝 Current Fix (034fd92)</h4>\n<ul style=\"margin:0;padding-left:20px;line-height:1.8;color:#9ca3af;\">\n<li><code>height: calc(100dvh - 16px)</code> on main container</li>\n<li><code>padding-bottom: max(24px, env(safe-area-inset-bottom))</code> on input row</li>\n<li>Only triggers on mobile: <code>@media (max-width: 768px) and (hover: none)</code></li>\n</ul>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<h4 style=\"margin:0 0 12px 0;color:#f59e0b;\">🔧 Problem</h4>\n<p style=\"margin:0 0 12px 0;line-height:1.6;\">Android Chrome's bottom navigation bar is approximately <strong>48-56px</strong> tall, not 16px. The current fix doesn't account for:</p>\n<ul style=\"margin:0;padding-left:20px;line-height:1.8;color:#9ca3af;\">\n<li>Android nav bar (~48px)</li>\n<li>Status bar at top (already handled by <code>--nav-height</code>)</li>\n<li>The input row + connection status bar combined height</li>\n</ul>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<h4 style=\"margin:0 0 12px 0;color:#22c55e;\">✅ Proposed Fix</h4>\n<p style=\"margin:0 0 12px 0;line-height:1.6;\">Use <code>100svh</code> (small viewport height) which automatically excludes browser UI on mobile:</p>\n<pre style=\"background:#1a1a1a;padding:12px;border-radius:4px;overflow-x:auto;color:#98c379;font-size:0.85em;margin:0;\">/* Replace: */\nheight: calc(100dvh - 16px);\n\n/* With: */\nheight: 100svh; /* Small viewport - excludes browser chrome */</pre>\n<p style=\"margin:12px 0 0 0;line-height:1.6;color:#9ca3af;\"><code>svh</code> represents the viewport height when all browser UI is visible (address bar + nav bar shown), giving us the smallest safe area.</p>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;\">\n<h4 style=\"margin:0 0 8px 0;color:#fff;\">What's Next?</h4>\n<p style=\"color:#9ca3af;margin:0;\">Implement the svh-based fix and test on your device.</p>\n</div>\n</div>",
"choices": [
{
"label": "Fix it now",
"value": "Implement the 100svh fix for the mobile input cutoff issue",
"primary": true
},
{
"label": "Show diff first",
"value": "Show me what changes you would make before implementing"
},
{
"label": "More research",
"value": "Research svh vs dvh viewport units and best practices for mobile"
}
],
"requestedAt": "2026-01-08T11:10:00.000Z",
"requestId": "81a3ad3d-0b08-4679-a3f9-b60e9ce76f5a",
"turnTiming": {
"totalMs": 82389,
"ttfeMs": 52,
"thinkingMs": 82337,
"toolExecutionMs": 0,
"toolCallCount": 0,
"thinkingPct": 100,
"toolsPct": 0,
"ttfePct": 0
}
},
"createdBy": "claude",
"createdAt": "2026-01-08T11:55:14.087Z",
"updatedAt": "2026-01-08T11:55:18.927Z",
"requestId": "81a3ad3d-0b08-4679-a3f9-b60e9ce76f5a",
"scope": "vibetools",
"tags": [
"mobile",
"ui",
"bug"
],
"targetUser": "claude"
}