fix(dashboard): reset scroll on ChatView refocus to undo iOS drift
After dismissing and re-bringing up the mobile keyboard, iOS could
leave window.scrollY > 0 and visualViewport.offsetTop > 0. With
useMobileScrollLock then pinning body{position:fixed} relative to that
drifted scroll, the message thread anchored above the visible viewport
and a large blank area appeared below it.
handleInputFocus now resets window scroll to (0,0) on mobile in a
zero-delay timeout — late enough that iOS finishes its own
scroll-into-view first, but before useMobileScrollLock observes the
drifted state.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -108,11 +108,31 @@
|
||||
.quick-entry-actions {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
gap: var(--space-sm);
|
||||
flex-wrap: wrap;
|
||||
flex: 1 1 auto;
|
||||
}
|
||||
|
||||
.quick-entry-branch-fields {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: var(--space-sm);
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.quick-entry-branch-fields label {
|
||||
display: flex;
|
||||
flex: 1 1 calc(50% - var(--space-sm));
|
||||
flex-direction: column;
|
||||
gap: var(--space-xs);
|
||||
min-width: min(100%, calc(var(--space-xl) * 12));
|
||||
}
|
||||
|
||||
.quick-entry-branch-fields span {
|
||||
color: var(--text-muted);
|
||||
font-size: 0.75rem;
|
||||
}
|
||||
|
||||
.quick-entry-model-wrap {
|
||||
position: relative;
|
||||
}
|
||||
@@ -434,8 +454,13 @@
|
||||
min-height: 36px;
|
||||
}
|
||||
|
||||
.quick-entry-branch-fields label {
|
||||
flex: 1 1 100%;
|
||||
min-width: 100%;
|
||||
}
|
||||
|
||||
.quick-entry-box .dep-dropdown {
|
||||
max-width: calc(100vw - 32px);
|
||||
max-width: calc(100vw - calc(var(--space-lg) * 2));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user