Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Save password prompt dismiss is pushing UI up and down #112281

Open
rsp-84 opened this issue Sep 23, 2022 · 31 comments · Fixed by flutter/engine#50364
Open

Save password prompt dismiss is pushing UI up and down #112281

rsp-84 opened this issue Sep 23, 2022 · 31 comments · Fixed by flutter/engine#50364
Labels
a: text input Entering text in a text field or keyboard related problems c: regression It was better in the past than it is now engine flutter/engine repository. See also e: labels. f: material design flutter/packages/flutter/material repository. found in release: 3.3 Found to occur in 3.3 found in release: 3.4 Found to occur in 3.4 found in release: 3.19 Found to occur in 3.19 framework flutter/packages/flutter repository. See also f: labels. has reproducible steps The issue has been confirmed reproducible and is ready to work on P2 Important issues not at the top of the work list platform-ios iOS applications specifically team-design Owned by Design Languages team triaged-design Triaged by Design Languages team

Comments

@rsp-84
Copy link

rsp-84 commented Sep 23, 2022

Steps to Reproduce

  1. Launch a flutter application with a login form (email/pw).
  2. Fill out the form, submit and navigate to another page.
  3. On iOS (I observed this on iOS 15+), dismiss the prompt.
    ** On the machine I ran, it currently has flutter 2 however, when upgraded to flutter 3, the same behavior is present. And appears only to affect iOS.

Expected results: The prompt should dismiss from the widget leaving the underlying page unmodified.

Actual results: After being dismissed, the contents on the widget is being pushed up and down.

Code sample Simplified widgets to show the issue:
import 'package:exampleapp/widgets/simple_page.dart';
import 'package:flutter/material.dart';

class AutoFillPwWork extends StatefulWidget {
  const AutoFillPwWork({Key? key}) : super(key: key);

  @override
  State<AutoFillPwWork> createState() => _AutoFillPwWorkState();
}

class _AutoFillPwWorkState extends State<AutoFillPwWork> {
  final TextEditingController email = TextEditingController();
  final TextEditingController password = TextEditingController();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: const Text('Save PW iOS'),
        ),
        body: ListView(
          children: <Widget>[
            const Text('Login'),
            AutofillGroup(
              child: Column(
                children: <Widget>[
                  TextField(
                    controller: email,
                    autofillHints: const <String>[AutofillHints.email],
                  ),
                  TextField(
                    controller: password,
                    autofillHints: const <String>[AutofillHints.password],
                  ),
                ],
              ),
            ),
            ElevatedButton(
              onPressed: () {
                Navigator.push(
                  context,
                  MaterialPageRoute(builder: (context) => const SimplePage()),
                );
              },
              child: const Text('Push SimplePage'),
            ),
          ],
        ));
  }
}

import 'package:flutter/material.dart';

class SimplePage extends StatelessWidget {
  const SimplePage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Colors.red,
      appBar: AppBar(
        title: const Text('Simple Page'),
      ),
      body: Center(
        child: Container(
          color: Colors.blue,
          child: const Text('Simple Page'),
        ),
      ),
    );
  }
}
Flutter (Channel unknown, 2.10.1, on macOS 11.6.8 20G730 darwin-x64, locale en-US) • Flutter version 2.10.1 at /Users/user/Development/flutter • Upstream repository unknown • Framework revision db747aa (8 months ago), 2022-02-09 13:57:35 -0600 • Engine revision ab46186 • Dart version 2.16.1 • DevTools version 2.9.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
• Android SDK at /Users/user/Library/Android/sdk
• Platform android-31, build-tools 31.0.0
• Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)
• All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• CocoaPods version 1.11.3

[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2020.3)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)

[✓] VS Code (version 1.71.0)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.48.0

[✓] Connected device (2 available)
• iPhone (mobile) • ios • iOS 15.7 19H12
• Chrome (web) • chrome • web-javascript • Google Chrome 105.0.5195.125

[✓] HTTP Host Availability
• All required HTTP hosts are available

save_pw_issue.MP4
@darshankawar darshankawar added the in triage Presently being triaged by the triage team label Sep 26, 2022
@darshankawar
Copy link
Member

Thanks for the report @rsp-84
I think there's an animation taking place when after entering password and you directly tap on push simplePage button, with virtual keyboard still open which might be impacting the UI as you described.

Can you try, after entering password, tap on done button from virtual keyboard and then tap on push simplePage and see if you still get same UI behavior on next page or not ?

@darshankawar darshankawar added the waiting for customer response The Flutter team cannot make further progress on this issue until the original reporter responds label Sep 26, 2022
@rsp-84
Copy link
Author

rsp-84 commented Sep 26, 2022

@darshankawar – When pressing done the issue still seems to persist.

In this simplified example, I have removed almost everything to display the issue with the base Flutter elements. When pressing done to simulate submitting a login form and then proceeding to the next page, the issue still occurs. This would probably be the most common user flow: fill out the login form, submit it, and proceed directly to the logged-in page.

Here is another video using the Done button. The only modification to the example would be to add an onSubmitted value to the password text field.

TextField(
                    controller: password,
                    autofillHints: const <String>[AutofillHints.password],
                    onSubmitted: (_) => Navigator.push(
                      context,
                      MaterialPageRoute(builder: (context) => const SimplePage()),
                    ),
                  ),
                  ```
                 

@github-actions github-actions bot removed the waiting for customer response The Flutter team cannot make further progress on this issue until the original reporter responds label Sep 26, 2022
@rsp-84
Copy link
Author

rsp-84 commented Sep 26, 2022

save_pw_issue_2.MP4

@darshankawar
Copy link
Member

@rsp-84
I am unable to replicate it on iPhone 6s running on 15.3.1 using latest master version.

3. ** On the machine I ran, it currently has flutter 2 however, when upgraded to flutter 3, the same behavior is present. And appears only to affect iOS.

Can you provide updated flutter doctor -v along with device details and also try on latest master to see if same behavior is present ?

@darshankawar darshankawar added the waiting for customer response The Flutter team cannot make further progress on this issue until the original reporter responds label Sep 27, 2022
@rsp-84
Copy link
Author

rsp-84 commented Sep 29, 2022

@darshankawar

[✓] Flutter (Channel unknown, 3.3.0, on macOS 11.6.8 20G730 darwin-x64, locale en-US)
    • Flutter version 3.3.0 at /Users/user/Development/flutter
    • Upstream repository unknown
    • Framework revision ffccd96b62 (4 weeks ago), 2022-08-29 17:28:57 -0700
    • Engine revision 5e9e0e0aa8
    • Dart version 2.18.0
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/user/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13C100
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2020.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)

[✓] VS Code (version 1.71.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.48.0

[✓] Connected device (3 available)
    • iPhone (mobile)  • ios            • iOS 15.7 19H12
    • macOS (desktop)        • macos                     • darwin-x64     • macOS 11.6.8 20G730 darwin-x64
    • Chrome (web)           • chrome                    • web-javascript • Google Chrome 105.0.5195.125

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Device: It is an iPhone X on iOS 15.7

@github-actions github-actions bot removed the waiting for customer response The Flutter team cannot make further progress on this issue until the original reporter responds label Sep 29, 2022
@darshankawar
Copy link
Member

Thanks for the update @rsp-84. For some reason, I am unable to see the save password option on next screen as shown below even though I have autofill passwords and icloud keychain settings enabled.

RPReplay-Final1664517627.MP4

One of my colleagues is also seeing same behavior on different iOS device:

RPReplay_Final1664516765.MP4

I am going ahead and keeping this issue open based on the report.

@darshankawar
Copy link
Member

/cc @LongCatIsLooong

@darshankawar darshankawar added platform-ios iOS applications specifically framework flutter/packages/flutter repository. See also f: labels. f: routes Navigator, Router, and related APIs. f: material design flutter/packages/flutter/material repository. a: text input Entering text in a text field or keyboard related problems and removed in triage Presently being triaged by the triage team labels Sep 30, 2022
@rsp-84
Copy link
Author

rsp-84 commented Sep 30, 2022

@darshankawar I believe in order for it to work on iOS and receive the prompt, you need to have an Assoicated Domains set in your Xcode project.

@darshankawar
Copy link
Member

Thanks for the tip @rsp-84. Yes, that was missing from my project. Adding it and then running the code sample, on latest stable and master, with which I am now able to replicate the behavior.

RPReplay-Final1664781279.MP4
stable, master flutter doctor -v

[✓] Flutter (Channel stable, 3.3.3, on macOS 12.2.1 21D62 darwin-x64, locale
    en-GB)
    • Flutter version 3.3.3 on channel stable at
      /Users/dhs/documents/fluttersdk/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 18a827f393 (2 days ago), 2022-09-28 10:03:14 -0700
    • Engine revision 5c984c26eb
    • Dart version 2.18.2
    • DevTools version 2.15.0

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] VS Code (version 1.62.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

[✓] Flutter (Channel master, 3.4.0-36.0.pre.3, on macOS 12.2.1 21D62 darwin-x64,
    locale en-GB)
    • Flutter version 3.4.0-36.0.pre.3 on channel master at
      /Users/dhs/documents/fluttersdk/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 5cd15fd224 (4 hours ago), 2022-10-02 21:21:39 -0400
    • Engine revision a7785c48cd
    • Dart version 2.19.0 (build 2.19.0-265.0.dev)
    • DevTools version 2.17.0
    
[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] VS Code (version 1.62.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.



@darshankawar darshankawar added has reproducible steps The issue has been confirmed reproducible and is ready to work on found in release: 3.3 Found to occur in 3.3 found in release: 3.4 Found to occur in 3.4 labels Oct 3, 2022
@arashgm
Copy link

arashgm commented Nov 23, 2022

we are facing the same issue too , its happening when resizeToAvoidBottomInset for scaffold is set to true

@arashgm

This comment was marked as off-topic.

@thassio-vinicius

This comment was marked as duplicate.

@daniloapr
Copy link
Contributor

I'm also facing this with Flutter 3.10.1 and iOS 16.4.1 in all situations where AutofillGroup is used, making the app look really buggy.

@BabarBobtail

This comment was marked as off-topic.

@robtong21

This comment was marked as duplicate.

@dmrickey

This comment was marked as off-topic.

@praxder

This comment was marked as duplicate.

@ktnishide
Copy link

ktnishide commented Sep 21, 2023

Same here...
but testing on simulator, if save password prompt is called by hitting enter on physical keyboard with soft keyboard hidden, it does not happen.

Flutter 3.10.5
iOS 16.4, 15...
on iOS 14 it does not happen at all

additionally, is it possible to only show the prompt if successfully logged?

from tests I have done, the prompt is displayed whenever the soft keyboard is dismissed...
tried TextInput.finishAutofillContext() but it either save(show prompt) or ignore if shouldSave is false...

@waseem-owais

This comment was marked as duplicate.

@aarcoraci
Copy link

In case someone needs a workaround I found something but it's kind of specific for my scenario.

I'm designing a login form and I want to save credentials only on success. I achieved this but when going to another screen this bug was causing the jumpy animation. I was able to "solve" it by using provider (I guess any state manager will do).

Steps I did:

  • the AutofillGroup will always AutofillContextAction.cancel unless a state variable is true (in my case my login flag)
  • the related clients (TextInputFields) will call TextInput.finishAutofillContext(shouldSave: false); when losing focus unless the login flag is true
  • the keyboard of the inputs will be set to TextInputType.none if the login flag is true
  • before navigating, the login flag is set to true (changes the above mentioned behaviours)
  • I request the focus of an element (seems to recreate the autofillgroup sate) but keyboard won't show (is set to none)
  • I navigate after a microtask which triggers the prompt without the jumpy animation

More info on this thread of SO:
https://stackoverflow.com/questions/77273376/flutter-autofillgroup-and-provider-on-a-login-form-how-to-save-password-on-lo/77278658#77278658

@Afur
Copy link

Afur commented Dec 8, 2023

I was facing the same issue. @aarcoraci your workaround worked 💪

@Den-creator

This comment was marked as duplicate.

@techouse

This comment was marked as duplicate.

@TahaTesser
Copy link
Member

TahaTesser commented Jan 26, 2024

Hi everyone!

I've made the following observations:

  • This can be reproduced without even navigating to another page.
  • The UI up and down glitch is produced with the Scaffold widget resizing the scaffold body. When I replace Scaffold widget with Material widget (this is required), the issue goes away.

To reproduce enter some text in both email and password fields and press "done" on the keyboard in the second field.

Code sample

expand to view the code sample
import 'package:flutter/material.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      debugShowCheckedModeBanner: false,
      home: HomePage(),
    );
  }
}

class HomePage extends StatefulWidget {
  const HomePage({super.key});

  @override
  State<HomePage> createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  final TextEditingController controller1 = TextEditingController();
  final TextEditingController controller2 = TextEditingController();

  @override
  void dispose() {
    controller1.dispose();
    controller2.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold( // Replace Scaffold with Material to fix glitch.
      body: Center(
        child: Column(
          mainAxisSize: MainAxisSize.min,
          children: <Widget>[
            const Text('Login (Without Scaffold)'),
            AutofillGroup(
              child: Column(
                children: <Widget>[
                  TextField(
                    controller: controller1,
                    autofillHints: const <String>[AutofillHints.username],
                  ),
                  TextField(
                    controller: controller2,
                    autofillHints: const <String>[AutofillHints.password],
                  ),
                ],
              ),
            ),
          ],
        ),
      ),
    );
  }
}

Without Scaffold

RPReplay_Final1706274334.MP4

With Scaffold

RPReplay_Final1706274941.MP4
`flutter doctor -v`
[✓] Flutter (Channel main, 3.19.0-9.0.pre.171, on macOS 14.2.1 23C71
    darwin-arm64, locale en-US)
    • Flutter version 3.19.0-9.0.pre.171 on channel main at
      /Users/tahatesser/Code/flutter
    • Upstream repository git@github.com:TahaTesser/flutter.git
    • FLUTTER_GIT_URL = git@github.com:TahaTesser/flutter.git
    • Framework revision 236461161a (6 hours ago), 2024-01-26 02:10:24 -0500
    • Engine revision 8a81e53e60
    • Dart version 3.4.0 (build 3.4.0-75.0.dev)
    • DevTools version 2.31.0

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/tahatesser/Code/android-sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_SDK_ROOT = /Users/tahatesser/Code/android-sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      17.0.7+0-17.0.7b1000.6-10550314)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15C500b
    • CocoaPods version 1.14.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2023.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      17.0.7+0-17.0.7b1000.6-10550314)

[✓] VS Code (version 1.85.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.80.0

[✓] Connected device (3 available)            
    • Taha’s iPhone (mobile) • 00008120-001C559034DB401E • ios            • iOS
      17.3 21D50
    • macOS (desktop)        • macos                     • darwin-arm64   •
      macOS 14.2.1 23C71 darwin-arm64
    • Chrome (web)           • chrome                    • web-javascript •
      Google Chrome 121.0.6167.85

[✓] Network resources
    • All expected network resources are available.

• No issues found!

@TahaTesser TahaTesser added found in release: 3.19 Found to occur in 3.19 and removed f: routes Navigator, Router, and related APIs. labels Jan 26, 2024
@TahaTesser
Copy link
Member

resizeToAvoidBottomInset seems to be the cause of this issue. When the Scaffold or CupertinoPageScaffold is allowed to resize to avoid bottom inset, iOS popup produces a 300 pixels of bottom padding after being dismissed,

flutter: MediaQuery.of(context).viewInsets.bottom: 300.921851335732
flutter: MediaQuery.of(context).viewInsets.bottom: 0.0

@TahaTesser TahaTesser self-assigned this Jan 26, 2024
@TahaTesser TahaTesser changed the title iOS 15+ save password prompt dismiss is pushing UI up and down Save password prompt dismiss is pushing UI up and down Jan 29, 2024
@TahaTesser
Copy link
Member

This regressed in flutter/engine#29281. I'm working on a fix.

@TahaTesser TahaTesser added engine flutter/engine repository. See also e: labels. c: regression It was better in the past than it is now labels Jan 31, 2024
@justinmc justinmc added the P2 Important issues not at the top of the work list label Feb 1, 2024
auto-submit bot pushed a commit to flutter/engine that referenced this issue Feb 5, 2024
…50364)

fixes [Save password prompt dismiss is pushing UI up and down](flutter/flutter#112281)

### Code sample

<details>
<summary>expand to view the code sample</summary> 

```dart
import 'package:flutter/material.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @OverRide
  Widget build(BuildContext context) {
    return const MaterialApp(
      debugShowCheckedModeBanner: false,
      home: HomePage(),
    );
  }
}

class HomePage extends StatefulWidget {
  const HomePage({super.key});

  @OverRide
  State<HomePage> createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  final TextEditingController controller1 = TextEditingController();
  final TextEditingController controller2 = TextEditingController();

  @OverRide
  void dispose() {
    controller1.dispose();
    controller2.dispose();
    super.dispose();
  }

  @OverRide
  Widget build(BuildContext context) {
    return Scaffold( // Replace Scaffold with Material to fix glitch.
      body: Center(
        child: Column(
          mainAxisSize: MainAxisSize.min,
          children: <Widget>[
            const Text('Login (Without Scaffold)'),
            AutofillGroup(
              child: Column(
                children: <Widget>[
                  TextField(
                    controller: controller1,
                    autofillHints: const <String>[AutofillHints.username],
                  ),
                  TextField(
                    controller: controller2,
                    autofillHints: const <String>[AutofillHints.password],
                  ),
                ],
              ),
            ),
          ],
        ),
      ),
    );
  }
}
```

</details>

### Before

https://github.com/flutter/engine/assets/48603081/dfe36616-e1dd-4c6c-95b0-e4bd89bd3a6a

### After

https://github.com/flutter/engine/assets/48603081/cfb15252-10cd-4521-a1ef-2cace0004588

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
@TahaTesser TahaTesser added the r: fixed Issue is closed as already fixed in a newer version label Feb 5, 2024
@TahaTesser
Copy link
Member

TahaTesser commented Feb 19, 2024

Unfortunately, the fix for this issue is reverted in flutter/engine#50760 as it is causing a regression for keyboard created by a third-party package.

I might work on a new fix which would address third-party package keyboards in the future.

If anyone wants to takeover and fix this in the meantime, please feel free.

@TahaTesser TahaTesser reopened this Feb 19, 2024
@TahaTesser TahaTesser removed the r: fixed Issue is closed as already fixed in a newer version label Feb 19, 2024
@TahaTesser TahaTesser removed their assignment Feb 19, 2024
@Xoka74
Copy link

Xoka74 commented Apr 16, 2024

@TahaTesser Hello! Could you please provide more explanation about issues with third-parties? I think now if anyone wants to fix this, they can't be sure that it won't break something again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a: text input Entering text in a text field or keyboard related problems c: regression It was better in the past than it is now engine flutter/engine repository. See also e: labels. f: material design flutter/packages/flutter/material repository. found in release: 3.3 Found to occur in 3.3 found in release: 3.4 Found to occur in 3.4 found in release: 3.19 Found to occur in 3.19 framework flutter/packages/flutter repository. See also f: labels. has reproducible steps The issue has been confirmed reproducible and is ready to work on P2 Important issues not at the top of the work list platform-ios iOS applications specifically team-design Owned by Design Languages team triaged-design Triaged by Design Languages team
Projects
None yet
Development

Successfully merging a pull request may close this issue.