From 1597cb9181feb545332f55d5a20800029e86bb4f Mon Sep 17 00:00:00 2001
From: X Code <singerdmx@gmail.com>
Date: Sat, 24 Dec 2022 18:18:42 -0800
Subject: [PATCH] Delay focus calculation for iOS

---
 CHANGELOG.md                    | 3 +++
 lib/src/widgets/raw_editor.dart | 9 +++++----
 pubspec.yaml                    | 2 +-
 3 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6d85b7e3..3511bd67 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,6 @@
+# [6.1.10]
+* Delay focus calculation for iOS.
+
 # [6.1.9]
 * Bump keyboard show up wait to 1 sec.
 
diff --git a/lib/src/widgets/raw_editor.dart b/lib/src/widgets/raw_editor.dart
index 6108b7fb..467fb5ad 100644
--- a/lib/src/widgets/raw_editor.dart
+++ b/lib/src/widgets/raw_editor.dart
@@ -1075,11 +1075,12 @@ class RawEditorState extends EditorState
     if (_hasFocus) {
       final keyboardAlreadyShown = _keyboardVisible;
       openConnectionIfNeeded();
-      if (keyboardAlreadyShown) {
-        _showCaretOnScreen();
+      if (!keyboardAlreadyShown ||
+          defaultTargetPlatform == TargetPlatform.iOS) {
+        /// delay 500 milliseconds for waiting keyboard show up
+        Future.delayed(const Duration(milliseconds: 500), _showCaretOnScreen);
       } else {
-        /// delay 1000 milliseconds for waiting keyboard show up
-        Future.delayed(const Duration(milliseconds: 1000), _showCaretOnScreen);
+        _showCaretOnScreen();
       }
     } else {
       widget.focusNode.requestFocus();
diff --git a/pubspec.yaml b/pubspec.yaml
index cafc0d6e..a0736eee 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,6 +1,6 @@
 name: flutter_quill
 description: A rich text editor supporting mobile and web (Demo App @ bulletjournal.us)
-version: 6.1.9
+version: 6.1.10
 #author: bulletjournal
 homepage: https://bulletjournal.us/home/index.html
 repository: https://github.com/singerdmx/flutter-quill