fix: disable native touch panning on mobile terminal and archive specs
- Change mobile terminal CSS to use touch-action: none and overscroll-behavior: none so the custom touch handler owns swipes - Archive completed/partial OpenSpec specs to openspec/changes/archive/2026-06-14-completed-specs-archive/ - Regenerate project maps Quality gates: npm run typecheck, npm run lint (apps/web)
This commit is contained in:
@@ -564,6 +564,14 @@ a.nav-item,
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
/* On mobile the custom touch handler scrolls the buffer; disable native
|
||||
panning/overscroll so swipe gestures are not forwarded to a scrollbar. */
|
||||
.terminal-wrapper.mobile .terminal-container,
|
||||
.terminal-wrapper.mobile .terminal-container .xterm-viewport {
|
||||
touch-action: none;
|
||||
overscroll-behavior: none;
|
||||
}
|
||||
|
||||
/* xterm.js manages its own positioning and sizing */
|
||||
|
||||
.terminal-container canvas {
|
||||
@@ -1771,7 +1779,7 @@ a.nav-item,
|
||||
/* Disable zoom on mobile terminal */
|
||||
@media (max-width: 767px) {
|
||||
.mobile-terminal-wrapper {
|
||||
touch-action: pan-y;
|
||||
touch-action: none;
|
||||
-webkit-text-size-adjust: none;
|
||||
}
|
||||
|
||||
@@ -1781,9 +1789,14 @@ a.nav-item,
|
||||
}
|
||||
|
||||
.terminal-container {
|
||||
touch-action: pan-y;
|
||||
touch-action: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.terminal-wrapper.mobile .terminal-container .xterm-viewport {
|
||||
touch-action: none;
|
||||
overscroll-behavior: none;
|
||||
}
|
||||
}
|
||||
|
||||
/* Animations */
|
||||
@@ -2280,8 +2293,9 @@ a.nav-item,
|
||||
}
|
||||
|
||||
.mobile-edit-code {
|
||||
font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco,
|
||||
Consolas, monospace;
|
||||
font-family:
|
||||
"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
|
||||
monospace;
|
||||
font-size: 0.8125rem;
|
||||
}
|
||||
|
||||
@@ -2440,8 +2454,9 @@ a.nav-item,
|
||||
}
|
||||
|
||||
.mobile-form-code {
|
||||
font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco,
|
||||
Consolas, monospace;
|
||||
font-family:
|
||||
"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
|
||||
monospace;
|
||||
font-size: 0.8125rem;
|
||||
}
|
||||
|
||||
@@ -2694,8 +2709,9 @@ a.nav-item,
|
||||
border-radius: 8px;
|
||||
overflow-x: auto;
|
||||
font-size: 0.8125rem;
|
||||
font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco,
|
||||
Consolas, monospace;
|
||||
font-family:
|
||||
"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
|
||||
monospace;
|
||||
margin: var(--space-2) 0 0 0;
|
||||
}
|
||||
|
||||
@@ -2715,8 +2731,9 @@ a.nav-item,
|
||||
}
|
||||
|
||||
.mobile-preview-mapping {
|
||||
font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco,
|
||||
Consolas, monospace;
|
||||
font-family:
|
||||
"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
|
||||
monospace;
|
||||
font-size: 0.8125rem;
|
||||
color: var(--muted);
|
||||
margin-top: var(--space-1);
|
||||
|
||||
Reference in New Issue
Block a user