Skip to content

fix(web): allow mobile dashboard scrolling (#28051)#28577

Merged
austinpickett merged 2 commits into
NousResearch:mainfrom
wesleysimplicio:codex/fix-28051-mobile-dashboard-scroll
May 28, 2026
Merged

fix(web): allow mobile dashboard scrolling (#28051)#28577
austinpickett merged 2 commits into
NousResearch:mainfrom
wesleysimplicio:codex/fix-28051-mobile-dashboard-scroll

Conversation

@wesleysimplicio

@wesleysimplicio wesleysimplicio commented May 19, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?

Fixes mobile dashboard usability by allowing the document root to scroll on small screens.

Root cause

The detailed rationale from the original PR body is preserved below. This template update keeps the review structure consistent with #29640.

Fix

  • Add one mobile-only media query in web/src/index.css.
  • Apply the same root overflow rule to html, body, and #root together.
  • Preserve horizontal overflow clipping to avoid sideways drift.
  • Avoid unrelated layout, component, or routing changes.

Why this shape

This shape mirrors #29640 so reviewers can quickly compare scope, root cause, fix, tests, and related context without having to decode a custom PR description.

Tests

The original PR body below contains the previous validation notes, commands, or test plan.
No code changes are introduced by this formatting update itself.

Related PRs / issues

Fixes #28051

Original body

## What does this PR do?

Fixes mobile dashboard usability by allowing the document root to scroll on small screens.

The dashboard shell currently locks html, body, and #root to a fixed viewport and hides overflow. That works on desktop, but on mobile-sized screens it can trap dashboard content below the fold. This PR keeps the desktop lock intact and only relaxes the root scroll behavior inside the mobile breakpoint.

Solution Sketch

  • Add one mobile-only media query in web/src/index.css.
  • Apply the same root overflow rule to html, body, and #root together.
  • Preserve horizontal overflow clipping to avoid sideways drift.
  • Avoid unrelated layout, component, or routing changes.

Related Issue

Fixes #28051

Type of Change

  • 🐛 Bug fix (non-breaking change that fixes an issue)
  • ✨ New feature (non-breaking change that adds functionality)
  • 🔒 Security fix
  • 📝 Documentation update
  • ✅ Tests (adding or improving test coverage)
  • ♻️ Refactor (no behavior change)
  • 🎯 New skill (bundled or hub)

Changes Made

  • Added a max-width: 768px rule for the dashboard root containers.
  • Changed mobile root sizing to height: auto, min-height: 100dvh, and max-height: none.
  • Enabled overflow-y: auto on mobile root containers.
  • Kept overflow-x: hidden for the same containers.

How to Test

  1. Run npm --prefix web run build.
  2. Start the web UI with npm --prefix web run dev -- --host 127.0.0.1 --port 5177.
  3. Open http://127.0.0.1:5177 in a mobile viewport such as 390x844.
  4. Confirm the dashboard can scroll vertically and does not introduce horizontal drift.
  5. Confirm desktop viewport behavior remains unchanged.

Checklist

Code

  • I've read the Contributing Guide
  • My commit messages follow Conventional Commits (fix(scope):, feat(scope):, etc.)
  • I searched for existing PRs to make sure this isn't a duplicate
  • My PR contains only changes related to this fix/feature (no unrelated commits)
  • I've run pytest tests/ -q and all tests pass
  • I've added tests for my changes (required for bug fixes, strongly encouraged for features)
  • I've tested on my platform: Windows 11, web dashboard mobile viewport smoke

Documentation & Housekeeping

  • I've updated relevant documentation (README, docs/, docstrings) — or N/A
  • I've updated cli-config.yaml.example if I added/changed config keys — or N/A
  • I've updated CONTRIBUTING.md or AGENTS.md if I changed architecture or workflows — or N/A
  • I've considered cross-platform impact (Windows, macOS) per the compatibility guide — or N/A
  • I've updated tool descriptions/schemas if I changed tool behavior — or N/A

Screenshots / Logs

  • Build: npm --prefix web run build passed.
  • Whitespace: git diff --check HEAD -- web/src/index.css passed.
  • Mobile viewport smoke: npx playwright screenshot --viewport-size=390,844 http://127.0.0.1:5177 evidence/pr-28577-mobile-390x844.png passed.
  • Note: the generated screenshot is intentionally kept out of the source diff.

Generated by Hermes Turbo

@alt-glitch alt-glitch added type/bug Something isn't working P3 Low — cosmetic, nice to have comp/cli CLI entry point, hermes_cli/, setup wizard javascript Pull requests that update javascript code labels May 19, 2026
@austinpickett austinpickett requested review from austinpickett and Copilot and removed request for Copilot May 19, 2026 10:40

@austinpickett austinpickett left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use PULL_REQUEST_TEMPLATE.md, also attach screens maybe even a quick video.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Relaxes the root viewport lock on small screens so the dashboard becomes scrollable on mobile while keeping desktop behavior unchanged.

Changes:

  • Adds a max-width: 768px media query in web/src/index.css.
  • Overrides html, body, and #root to use height: auto, min-height: 100dvh, and overflow-y: auto.
  • Keeps overflow-x: hidden to prevent horizontal drift.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread web/src/index.css
overflow-y: auto;
}

body,

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

combine above

@media (max-width: 768px) {
  html,
  body,
  #root {
    min-height: 100dvh;
    height: auto;
    max-height: none;
    overflow-x: hidden;
    overflow-y: auto;
  }
}

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done — combined the mobile html, body, and #root overrides into one rule as requested. Validation: git diff --check origin/codex/fix-28051-mobile-dashboard-scroll..HEAD -- web/src/index.css passes with no whitespace errors.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sup w/ the PR description, got crazy out of whack - either way, I'm going to pull this down shortly and test it. ideally we have a video or screenshots

@wesleysimplicio

Copy link
Copy Markdown
Contributor Author

Updated the PR description back into the repository template and reran the focused web validation.\n\nValidation:\n\npowershell\nnpm --prefix web run build\ngit diff --check HEAD -- web/src/index.css\nnpm --prefix web run dev -- --host 127.0.0.1 --port 5177\nnpx playwright screenshot --viewport-size=390,844 http://127.0.0.1:5177 evidence/pr-28577-mobile-390x844.png\n\n\nResult: build passed, whitespace check passed, Vite served HTTP 200, and the mobile screenshot command completed. The generated screenshot stayed out of the source diff.

@austinpickett

austinpickett commented May 22, 2026

Copy link
Copy Markdown
Collaborator

@wesleysimplicio Can you attach a before and after video of these changes and what it fixed? I pulled it down and I don't see any difference.

@wesleysimplicio

Copy link
Copy Markdown
Contributor Author

Aqui está a comparação antes/depois do fix de scroll no mobile 📱

ANTES (esquerda): o conteúdo fica preso — html, body, #root com overflow: hidden impede scroll vertical, mensagens e cards abaixo da dobra ficam invisíveis.

DEPOIS (direita): com a media query @media (max-width: 768px) adicionando overflow-y: auto; min-height: 100dvh; height: auto, o scroll funciona naturalmente e todo o conteúdo fica acessível.

Before vs After

A simulação foi feita num viewport de 375×667 (iPhone SE / Android small). O fix está na web/src/index.css — +12 linhas, sem mudanças em lógica de componente ou layout desktop.

@austinpickett — a diferença fica mais clara quando você redimensiona o navegador pra < 768px de largura. No desktop não muda nada (a media query só ativa em mobile).

@austinpickett austinpickett merged commit 10f13c3 into NousResearch:main May 28, 2026
7 of 8 checks passed
mathias3 pushed a commit to mathias3/hermes-agent that referenced this pull request May 28, 2026
…Research#28577)

* fix(web): allow mobile dashboard scrolling

* fix(web): combine mobile root scroll rules

---------

Co-authored-by: Wesley Simplicio <wesley.simplicio.ext@siemens-energy.com>
Bryce-huang pushed a commit to wbkunlun/hermes-agent that referenced this pull request May 29, 2026
…Research#28577)

* fix(web): allow mobile dashboard scrolling

* fix(web): combine mobile root scroll rules

---------

Co-authored-by: Wesley Simplicio <wesley.simplicio.ext@siemens-energy.com>
#AI commit#
zwolniony pushed a commit to zwolniony/hermes-agent that referenced this pull request May 29, 2026
…Research#28577)

* fix(web): allow mobile dashboard scrolling

* fix(web): combine mobile root scroll rules

---------

Co-authored-by: Wesley Simplicio <wesley.simplicio.ext@siemens-energy.com>
mosaiq-systems pushed a commit to mosaiq-systems/hermes-agent that referenced this pull request May 29, 2026
…Research#28577)

* fix(web): allow mobile dashboard scrolling

* fix(web): combine mobile root scroll rules

---------

Co-authored-by: Wesley Simplicio <wesley.simplicio.ext@siemens-energy.com>
KKT-OPT pushed a commit to KKT-OPT/hermes-agent that referenced this pull request May 31, 2026
…Research#28577)

* fix(web): allow mobile dashboard scrolling

* fix(web): combine mobile root scroll rules

---------

Co-authored-by: Wesley Simplicio <wesley.simplicio.ext@siemens-energy.com>
gweeteve pushed a commit to gweeteve/hermes-agent that referenced this pull request Jun 2, 2026
…Research#28577)

* fix(web): allow mobile dashboard scrolling

* fix(web): combine mobile root scroll rules

---------

Co-authored-by: Wesley Simplicio <wesley.simplicio.ext@siemens-energy.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/cli CLI entry point, hermes_cli/, setup wizard javascript Pull requests that update javascript code P3 Low — cosmetic, nice to have type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: Improve mobile responsiveness for Dashboard chat interface

4 participants