Skip to content

fix: restore mobile terminal scrolling#183

Merged
almogdepaz merged 1 commit into
mainfrom
fix/mobile-terminal-scrolling
Jul 19, 2026
Merged

fix: restore mobile terminal scrolling#183
almogdepaz merged 1 commit into
mainfrom
fix/mobile-terminal-scrolling

Conversation

@almogdepaz

Copy link
Copy Markdown
Owner

summary

verification

  • bun run typecheck
  • bun test — 1,683 passed, 20 broker-dependent skips
  • bunx playwright test — 78 passed, 117 expected project/broker-dependent skips
  • focused regressions passed on iPhone SE and iPhone 14 Playwright projects
  • git diff --check

closes #163
closes #181
closes #182

@almogdepaz

Copy link
Copy Markdown
Owner Author

edc delivery + security + quality review

scope: main@ed009b3...c6fcb2a (fix/mobile-terminal-scrolling)
context loaded: browser-client, server-api-runtime generated asset note, tests, known issues

delivery verdict: delivered
architecture fit: fits
security recommendation: approve
quality verdict: lean enough. ship.

delivery / architecture

no findings.

  • first mobile session now forces full prefill via initTerminal(cached, "full") at public/app.ts:2796-2800, matching the stated first-open history requirement.
  • touch scrolling now uses rendered row height instead of a magic 28px threshold at public/app-touch.ts:149-154.
  • keyboard open cancels scroll momentum and returns to latest output through scrollToBottom() at public/app.ts:1911-1916 and public/app.ts:4226-4233.
  • e2e coverage exercises first-open history, row-height scrolling, keyboard-bottom behavior, and the changed mobile fast-restore expectation at tests/e2e/mobile-scrolling.e2e.ts:92-156 and tests/e2e/session-switch.e2e.ts:430-457.
  • generated src/public-assets.ts change is consistent with the public asset embedding contract.

security

no security findings.

checked:

  • auth/authorization impact: none.
  • validation/input boundaries: no new server-side untrusted input path; browser-only touch/keyboard behavior.
  • external calls/filesystem/subprocess: none in production code.
  • sensitive state mutation: only local ui terminal scroll state.
  • history/regression scan: no removed security checks.

limitations: review was diff/context based; i did not run the mobile playwright suite locally.

quality

no blocking quality findings. the changed tests verify behavior through the real browser terminal path rather than a mock-only assertion, which is the right level for this timing-heavy mobile flow.

@almogdepaz
almogdepaz merged commit 82b249e into main Jul 19, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant