c9b0259993
- Add touch-action: none and overscroll-behavior: none to mobile terminal
page, content, wrapper, container, and xterm viewport so the browser
never treats swipes as page/address-bar scrolling or pull-to-refresh.
- Make .terminal-page.mobile fixed-position to prevent viewport layout
scroll; keep the overlay toolbar as absolute with pointer-events only
on interactive parts.
- Rework the mobile touch handler in terminal.tsx:
* Detect normal vs alternate buffer via term.buffer.active.type instead
of measuring the DOM viewport, which was unreliable in tmux/vim.
* Accumulate swipe distance and emit SGR 1006 mouse-wheel sequences in
steps, so tmux pane scrolling tracks the gesture correctly.
* Prevent default as soon as the swipe is recognized so the page does
not start a competing scroll gesture.
Quality gates: npm run typecheck, npm run lint clean, npm test -- --run 87 passed.
1.0 KiB
1.0 KiB
apps/web (index)
dir: apps/web
role
Frontend web application providing a browser-based UI with code editing, terminal, and routing capabilities for the "headquarter" project.
parent
index: apps/.pi-map.index.md map: apps/.pi-map.md
children
- apps/web/.pi-lens index: apps/web/.pi-lens/.pi-map.index.md map: apps/web/.pi-lens/.pi-map.md
- apps/web/public index: apps/web/public/.pi-map.index.md map: apps/web/public/.pi-map.md
- apps/web/src index: apps/web/src/.pi-map.index.md map: apps/web/src/.pi-map.md
files
- .env.example
- .eslintrc.cjs
- Dockerfile
- index.html
- nginx.conf
- package-lock.json
- package.json
- tsconfig.json
- vite.config.ts
links
index: apps/web/.pi-map.index.md map: apps/web/.pi-map.md
workflows
- change web behavior read: .env.example, .eslintrc.cjs, Dockerfile
- change web config read: package-lock.json, package.json, tsconfig.json
- explore web subdirectories index: apps/web/.pi-lens/.pi-map.index.md, apps/web/public/.pi-map.index.md, apps/web/src/.pi-map.index.md