terry-staging #11
Reference in New Issue
Block a user
Delete Branch "terry-staging"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
- SearchPanel: focus input with { preventScroll: true } so the browser doesn't auto-scroll the underlying page when the overlay mounts. - SearchPanel: add overscroll-contain on the scroll container so reaching the panel's edges does not chain into the body on Android. - PublicLayout: lock background scroll while the mobile search overlay is open using the iOS-compatible position-fixed + restore pattern, so the page underneath cannot move at all.- MessageInlineVideo (new): custom-controlled inline video that disables the iOS Safari / Chromium native overlays entirely and reimplements the essentials: tap-to-play, centered play affordance while paused, bottom bar with play/pause + current time + drag-to-scrub progress bar + remaining time + fullscreen. Pointer events with pointer capture cover both mouse and touch scrubbing, including dragging past the bar's bounds. The element listens to 'seeked' as well as 'timeupdate' so external currentTime writes paint the bar even when the video is paused, and the goFullscreen callback synchronously syncs React state on close so the inline progress reflects the user's fullscreen playhead with no perceptible delay. - VideoBubble: replace the inline <video controls> with MessageInlineVideo and thread postId through openVideo so the fullscreen overlay can attach the download pill to the right post. - VideoPlayer overlay: replace its <video controls> with MessageInlineVideo size='lg', removing the iOS native arrows / PiP / mute / overflow controls. The overlay supplies its own large download pill and a beefier close button. - AttachmentDownloadPill: new 'size' prop ('sm' default 30 px, 'lg' 44 px with 22 px icon and text-[14px]) for overlay surfaces where the affordance can breathe and should feel touch-friendly. - ImageLightbox: drop the inline LightboxDownloadButton and use the shared AttachmentDownloadPill size='lg' instead, with a matching larger close button. Unused imports cleaned up.