Can't drag to extend a text selection in the composer on iOS/iPadOS 18.x (touchmove selection frozen)

Summary

On iOS/iPadOS 18.x, it’s impossible to adjust a text selection inside the composer by dragging with a finger. Once a word is selected (e.g. by double-tap), dragging the selection handles does nothing: the selection stays frozen on the initially-selected word. This makes it very hard to select a phrase, a sentence, or an arbitrary range of text while editing a post.

Selecting text outside the composer (e.g. in a rendered post on the same page) works normally on the same device — so this is specific to the composer. It affects both the legacy composer and the new WYSIWYG (rich) editor, and reproduces in both Safari and Chrome on iOS/iPadOS (both use WebKit), so it isn’t browser-specific either.

Steps to reproduce

  1. On an iPhone or iPad running iOS/iPadOS 18.x, open Safari (or Chrome) and go to meta.discourse.org.
  2. Start a reply or a new topic to open the composer.
  3. Type a sentence.
  4. Double-tap a word to select it.
  5. Try to drag one of the selection handles (or touch-drag across the text) to extend the selection to neighbouring words.

Expected

The selection grows/shrinks to follow the finger, as it does in every other native text field / textarea on iOS, and as it does in rendered post text on the same page.

Actual

The selection remains fixed on the originally-selected word. Drag gestures on the handles have no effect; the range cannot be changed by touch.

Environment

  • Device / OS: iOS 18.x and iPadOS 18.x (latest 18 release) — reproducible on both.
  • Browsers: Safari and Chrome on iOS/iPadOS (both WebKit)
  • Site: meta.discourse.org
  • Scope: Composer only — both legacy and WYSIWYG. Selecting text outside the composer works fine on the same device.
1 Like

While I really appreciate the well written bug report, Discourse only supports latest versions, as noted in the readme

Since we’re on 26.X, 18.x is no longer actively supported so unless you can repro this in newer version, this will be a #wontfix