Archived
internal/notesium/web/app/pane.js drove the sidebar/pane resize via mousedown + window-level mousemove/mouseup, which doesn't fire on touch (browsers only emulate mouse for taps, not drags). Replaced with pointer events: - @pointerdown on the handle (covers mouse, touch, pen). - setPointerCapture so we keep receiving pointermove/pointerup events when the pointer drifts off the handle. This eliminates the need for document-level listeners and avoids stuck-drag states when the user releases outside the window. - pointermove + pointerup + pointercancel listeners on the captured target only — when the capture ends they're removed regardless of whether the user is still on top of the handle. - Filter on event.pointerId so a second simultaneous touch (e.g., a multi-finger gesture) cannot hijack the in-progress resize. - event.button !== 0 guard rejects right-click / middle-click. - touch-action: none on the handle so the browser doesn't try to interpret a horizontal drag as a page scroll. CodeMirror's internal mousedown handlers in note.js / preview.js are left alone — those are link-click guards, not drags, and CodeMirror's own pointer support handles touch internally. Closes #20. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>