Skip to content

Conversation

@rk54rk
Copy link

@rk54rk rk54rk commented Nov 5, 2025

Description

Currently, IME input (e.g., Chinese/Japanese) emits intermediate edits (e.g., "n", "i" before committing "你") through DocChanges. These intermediates can spam listeners, bloat history, and leak what users perceive as “private” edits, especially in collaborative editors and progressive search. In order to filter those out when needed, there needs to be a way to detect current IME composing status.

This PR allows detection of active IME composing status by exposing the underlying TextEditingValue.compsing value via the QuillController.

Details

  • Adds ValueListenable QuillController.composing, value forwarded from RawEditorStateTextInputClientMixin.
  • Minimal API surface; naming follows Flutter (TextEditingValue.composing).
  • Typical usage: listen to the ValueListenable or directly get its TextRange value.

Related Issues

Type of Change

  • Feature: New functionality without breaking existing features.
  • 🛠️ Bug fix: Resolves an issue without altering current behavior.
  • 🧹 Refactor: Code reorganization, no behavior change.
  • Breaking: Alters existing functionality and requires updates.
  • 🧪 Tests: New or modified tests
  • 📝 Documentation: Updates or additions to documentation.
  • 🗑️ Chore: Routine tasks, or maintenance.
  • Build configuration change: Build/configuration changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant