text:
Google SignIn plugin - Status{statusCode=DEVELOPER_ERROR, resolution=null

Steps to Reproduce
Running example in packages/google_sign_in/example
An Observatory debugger and profiler on Android SDK built for x86 is available at: http://127.0.0.1:8107/
For a more detailed help message, press "h". To quit, press "q".
D/EGL_emulation( 7597): eglMakeCurrent: 0xae614840: ver 3 0 (tinfo 0xae6bc1c0)
I/FlutterActivityDelegate( 7597): onResume setting current activity to this
D/EGL_emulation( 7597): eglMakeCurrent: 0xae614840: ver 3 0 (tinfo 0xae6bc1c0)
E/Surface ( 7597): getSlotFromBufferLocked: unknown buffer: 0x9d86d020
I/flutter ( 7597): PlatformException(status, Status{statusCode=DEVELOPER_ERROR, resolution=null}, null)
The example was working for me before I upgraded to the latest flutter and dart (flutter has had additional updates since I first encountered the error as has this plugin).  Current version of the plugin is 2.1.2.

I believe this was the result of an incorrect package name.  I had been working with a couple of other example apps and I made a mistake as a result of renaming a package from the default.

Hi @carljmosca
I encountered the same issue, is there any clue to renaming package, I have tried to search and even replace all in android studio, but it is still behaving the same

Probably https://stackoverflow.com/questions/37273145/error-statusstatuscode-developer-error-resolution-null/37273494

Hi @carljmosca
could you be a little more specific what you did to fix this. I have the same issue. my sha1 key is correct and google-services is in the app directory.

@zoechi do you have any idea how to find your sha-1 key in a Flutter project? The file structure in the /android/ folder in a flutter project is much different from that of a normal Android project.

@dancingbannana I am sorry but I have not had time to get back to this - I will try to take a look over the next day or two

I apologize i finally figured it out for some reason i never got the point of you need to use the SHA-1 key from a random android studio project. I was using the android part of my flutter project and was getting a different key.

Spend quite a bit time getting this "DEVELOPER_ERROR" related to Android SHA certificate fingerprints
not set.

@dancingbannana glad to know it worked out - yes @tdesc it seems the docs were a bit sparse at least last I looked

Created a keystore file and got sha1 out of it , copied to firebase , still i get this. No clue
E/flutter (13297): PlatformException(sign_in_failed, Status{statusCode=DEVELOPER_ERROR, resolution=null}, null)
When creating keystore , is there any regulations to follow with respect to firebase ?

Same issue on Android emulator and physical.
🔥  To hot reload changes while running, press "r". To hot restart (and rebuild state), press "R".
An Observatory debugger and profiler on Android SDK built for x86 is available at: http://127.0.0.1:8105/
For a more detailed help message, press "h". To quit, press "q".
W/ActivityThread( 9540): handleWindowVisibility: no activity for token android.os.BinderProxy@620571d
D/EGL_emulation( 9540): eglMakeCurrent: 0xe656f320: ver 2 0 (tinfo 0xe4ba2800)
E/flutter ( 9540): [ERROR:topaz/lib/tonic/logging/dart_error.cc(16)] Unhandled exception:
E/flutter ( 9540): PlatformException(sign_in_failed, Status{statusCode=DEVELOPER_ERROR, resolution=null}, null)
E/flutter ( 9540): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:547:7)
E/flutter ( 9540): #1      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:279:18)
E/flutter ( 9540): <asynchronous suspension>
E/flutter ( 9540): #2      GoogleSignIn._callMethod (package:google_sign_in/google_sign_in.dart:185:58)
E/flutter ( 9540): <asynchronous suspension>
E/flutter ( 9540): #3      GoogleSignIn._addMethodCall.<anonymous closure> (package:google_sign_in/google_sign_in.dart:240:28)
E/flutter ( 9540): #4      _RootZone.run (dart:async/zone.dart:1376:54)
E/flutter ( 9540): #5      _FutureListener.handleWhenComplete (dart:async/future_impl.dart:151:18)
E/flutter ( 9540): #6      Future._propagateToListeners.handleWhenCompleteCallback (dart:async/future_impl.dart:603:39)
E/flutter ( 9540): #7      Future._propagateToListeners (dart:async/future_impl.dart:659:37)
E/flutter ( 9540): #8      Future._addListener.<anonymous closure> (dart:async/future_impl.dart:342:9)
E/flutter ( 9540): #9      _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
E/flutter ( 9540): #10     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
I/FlutterActivityDelegate( 9540): onResume setting current activity to this
D/EGL_emulation( 9540): eglMakeCurrent: 0xe656f320: ver 2 0 (tinfo 0xe4ba2800)

This is with the app approved, the generated google-services.json has been copied to ./android/app/google-services.json and I have run the keytool as above and add the SHA-1 and SHA-256 to firebase:
$ keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
Alias name: androiddebugkey
Creation date: 28/08/2018
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: C=US, O=Android, CN=Android Debug
Issuer: C=US, O=Android, CN=Android Debug
Serial number: 1
Valid from: Tue Aug 28 10:02:00 AEST 2018 until: Thu Aug 20 10:02:00 AEST 2048
Certificate fingerprints:
	 MD5:  3F:F5:01:67:B1:9E:EE:4C:03:98:99:79:2C:7B:D8:80
	 SHA1: C9:42:A5:92:88:E2:ED:87:1F:54:AF:D8:59:95:B8:B5:0B:2E:3D:78
	 SHA256: B4:55:50:06:84:A2:D3:B3:5E:78:5C:E2:F1:CF:1C:40:15:36:5C:10:D5:2D:9D:C4:79:64:13:A3:4E:CB:D4:5C
Signature algorithm name: SHA1withRSA
Subject Public Key Algorithm: 1024-bit RSA key
Version: 1

Warning:
The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using "keytool -importkeystore -srckeystore /Users/me/.android/debug.keystore -destkeystore /Users/nickglynn/.android/debug.keystore -deststoretype pkcs12".

Some help would be appreciated as this currently works fine on iOS and the iOS Simulator App but not on a Pixel running Pie nor the emulator for Pie.

Have the same problem. After I had registered my application in Firebase and attached the google-services.json to the Android project (from Firebase steps), copied SHA-1 from gradle->signingReport, I  still have this problem:
I/flutter (25221): PlatformException(sign_in_failed, Status{statusCode=NETWORK_ERROR, resolution=null}, null)
Spent to much time on it. What to do?

Dear sir,
As this issue is really stopper, may you please mention steps in correct order please, as there is something i cannot understand
the above solution didnt work with me.
Lets say I generate a certificate using Keytool (without any reference to the apk) and got the SHA-1, SHA-256 signatures. and set them into firebase application (on firebase console cloud). and after every thing I got the client ID and set it into google plus object in ionic. the point here how does google will know that this signature is correct and valid and related to this APK?

You need to download the google-services.json file like explained in the README.md of the plugin.

Solution is as follows (if the google_sign_in package from here is causing your error for sure, probably with other packages/configs that interact with Google's Sign-In API (?), too):
Run keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android in terminal (replace  ~/ with the location of your .android folder if you chose to install it to a non-default location while setting up Android Studio).
There should be some output that's similar to this:
Certificate fingerprints:
	 SHA1: C8:A7:...:2D:3E
	 SHA256: 41:26:...:1B:5A

Copy paste the SHA1 variable into your "SHA certificate fingerprints" in your Firebase App's Project Settings in your Firebase Console. See here for details on where these settings are located.
Note: this solution is only for devs attempting to make a Firebase app and having trouble implementing Google Sign-In into their project. YMMV.

jpratt9 solved it.


text:
[ios] A thin wrapper for C++ APIs in iOS embedder

Use case
Currently the iOS embedder is in ObjC++ (.mm rather than .m), because the engine API is in C++. However, many iOS developers (including myself) are not comfortable working with ObjC++.
Proposal
Create a thin wrapper around engine APIs, so that the rest of the iOS embedder can be written in pure ObjC (.m files).
Need to watch out for performance impact of additional wrapper call though, but I suspect it can be minimal.

Hey, I don't we should do this as most of the engine APIs and implementations are already C++. Wrappers have low value here

Agreed. All shared cross-platform utility code (FML etc.) and the core engine is currently C++ and we make heavy use of it for threading, graphics (both Skia and Impeller), engine-interop, etc.
In the engine-facing bits of the embedder, there's no avoiding C++. The iOS-facing parts of the embedder are Objective-C, since that provides the best interop with the rest of the embedder.
Apple has already started releasing some SDKs as Swift-only, and I can imagine a day when it may be that we need to add support for Swift. In such as case though we'd be adding new code in Swift where necessary. I don't think there's much value in rewriting existing code.

All shared cross-platform utility code (FML etc.) and the core engine is currently C++ and we make heavy use of it for threading, graphics (both Skia and Impeller), engine-interop, etc.

Ya those are the code that I was not familiar with and wanted to get rid of (by wrapping it). But i guess that would be lots of overhead to wrap them all.

The engine's embedder API is a C API. In theory, once the iOS embedder moves to the embedder API, we'd be able to reduce our usage of Objective-C++.
That being said, the macOS embedder - which does use the embedder API - still uses Objective-C++ extensively... So maybe not?

The engine's embedder API is a C API. In theory, once the iOS embedder moves to the embedder API, we'd be able to reduce our usage of Objective-C++.

That being said, the macOS embedder - which does use the embedder API - still uses Objective-C++ extensively... So maybe not?

I think a large part of it is the types that the engine expects (e.g. Skia types, vectors, maps).

The engine's embedder API is a C API. In theory, once the iOS embedder moves to the embedder API, we'd be able to reduce our usage of Objective-C++.

That being said, the macOS embedder - which does use the embedder API - still uses Objective-C++ extensively... So maybe not?

I think a large part of it is the types that the engine expects (e.g. Skia types, vectors, maps).

The embedder API introduces wrapper types in C for everything. It avoids things like vectors and maps.
There is significant C++ logic in //flutter/shell/platform/common/. Perhaps this is why macOS uses Objective-C++ so much? If so, introducing a thin-wrapper for this layer might allow us to reduce our Objective-C++.

re: //flutter/shell/platform/common/:
I'm all for sharing code across embedders where possible and C++ is the best option we have for that across our embedders; it's not perfect, but better than maintaining duplicate implementations of shared logic.
When it comes to language choice, the important thing is that Runner-facing APIs fit on the platform they service: Obj-C/Swift on Apple platforms, Java on Android, C (with a friendly C++ wrapper around them for Windows/Linux), but we've got that today.

source: gharchive/issue

authors: cbracken hellohuanlin jonahwilliams loic-sharma

repo: flutter/flutter

license_type: permissive

license_source: github-api


text:
Scrollable.ensureVisible is not useful for items scrolled out of view.

When a context is thrown out, it's not possible to ensure that it's visible.
To reproduce in the Flutter Gallery: https://github.com/flutter/flutter/compare/master...DaveShuckerow:ensure-visible?expand=1
It would be helpful to have APIs for scrolling a Scrollable in the direction of something even if the context isn't available, as well as to easily check if a widget inside of a scrollable is visible.

It's not clear how we would implement this. The target isn't instantiated, so we don't know the scroll offset to go to, and don't have any real way to find it (we don't even know what direction to go in if we wanted to search, not that we really could search since that might be prohibitively expensive).

@Hixie can you sync with @DaveShuckerow?  This was spawned from https://github.com/flutter/flutter/issues/16763, so it's possible that solving that specific issue can yield a more targeted fix?

I think the simplest solution is to place the content in a SingleChildScrollView(child: Column) instead of a ListView, that way all the contexts are created.

If the list is short, that will certainly provide a solution.

@DaveShuckerow If that work around works for you, I'm going to move this out of the critical list. Let me know if that's a problem.

Not a problem, that will work.
El mar., 19 de jun. de 2018 4:14 p. m., Ian Hickson <
notifications@github.com> escribió:

@DaveShuckerow https://github.com/DaveShuckerow If that work around
works for you, I'm going to move this out of the critical list. Let me know
if that's a problem.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/17668#issuecomment-398574608,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AOQUJuqaOE5VNK3N4ShaJn_1SIcsMCFiks5t-YXbgaJpZM4UCDlG
.

For SingleChildScrollView, Scrollable.ensureVisible works only if the widgets added to it (e.g. using Column widget) are static, i.e. number of widgets is not changing.
When new widgets are added or removed to the list, Scrollable.ensureVisible fails to make the expected widget visible. We need a function which will make sure widget be visible when following things happen to the list -
Suppose there are n widgets in list,

From top/bottom few widgets m (m < n) are removed.
To top/bottom, few widgets l (l < n) added.
Each widget to be added in the list has different GlobalKey.
If new widget to be added is in the mid of the screen, it should be made visible in the mid only, i.e. location of the widget should be proper instead of moving it to top of bottom of the screen.
If new widget to be added is at the end of the list, the list should be scrolled and last item should be made visible.
If new widget to be added is at the start of the list, the list should be scrolled up and first item should be made visible.

Also there is no documentation on how to use alignment property. Is it possible to make widget visible at the same location where it was when new item is added or removed from list?
@Hixie, can you please see if the priority for this can be increased?

I wrote this little helper to help polyfill this void. Just sharing in case it helps anyone else:
/// Scrolls until [finder] finds a single [Widget].
///
/// This helper is only required because [WidgetTester.ensureVisible] does not yet work for items that are scrolled
/// out of view in a [ListView]. See https://github.com/flutter/flutter/issues/17668. Once that issue is resolved,
/// we should be able to remove this altogether.
///
/// On top of that, this would ideally be an extension method against [WidgetTester], but at the time of writing,
/// extension methods are not yet available in the stable channel.
Future<void> ensureVisibleByScrolling(
  Finder finder, {
  @required Offset scrollFrom,
  Offset scrollBy = const Offset(0, -50),
  int maxScrolls = 100,
}) async {
  assert(finder != null);
  assert(scrollFrom != null);
  assert(scrollBy != null);
  assert(maxScrolls != null);

  final gesture = await widgetTester.startGesture(scrollFrom);

  Widget foundWidget;

  for (var i = 0; i < maxScrolls; ++i) {
    await gesture.moveBy(scrollBy);
    await pump();
    final widgets = widgetTester.widgetList(finder);

    if (widgets.length == 1) {
      foundWidget = widgets.first;
      break;
    }
  }

  await gesture.cancel();

  expect(foundWidget, isNotNull);

  // Just because we have found it doesn't mean it's visible (could still be off-screen), so ensure it is.
  await widgetTester.ensureVisible(finder);
  await pump();
}

the same issue, have anyone any idea?

The documentation is lacking when it is used in a context of ListView. The documentation tells to use scrollUntilVisible, but ListView is not a subtype of scrolable

authors: DaveShuckerow Hixie bhauj cedvdb kentcb osamasado tvolkert


text:
What's wrong with my Stack?

So here is the thing, I was following a demo about Stack and its children, and encountered some weird problem:
    return new Scaffold(
      appBar: new AppBar(
        title: new Text('Stack layout'),
      ),
      body: new Center(
        child: new Stack(
          children: <Widget>[
            new Image.network(
                'http://img2.cxtuku.com/00/13/12/s97783873391.jpg'),
            new Positioned(
              left: 35.0,
              right: 35.0,
              top: 45.0,
              child: new Text(
                'Whatever is worth doing is worth doing well',
                style: new TextStyle(
                  fontSize: 20.0,
                  fontFamily: 'serif',
                ),
              ),
            )
          ],
        ),
      ),
    );

So this code works good and the screen looked like this:

And I was satisfied, until I looked into the code and discovered that the Positioned widget is aligned according to the Image, not the Stack. To prove this, I deleted the Image and the screen looked like below:

well this makes more sense, as the Positioned aligns according to the Stack.
Weird things happened after I added the Image back and try to delete the alignment in the Positioned widget:
return new Scaffold(
      appBar: new AppBar(
        title: new Text('Stack layout'),
      ),
      body: new Center(
        child: new Stack(
          children: <Widget>[
            new Image.network(
                'http://img2.cxtuku.com/00/13/12/s97783873391.jpg'),
            new Positioned(
              top: 45.0,
              child: new Text(
                'Whatever is worth doing is worth doing well',
                style: new TextStyle(
                  fontSize: 20.0,
                  fontFamily: 'serif',
                ),
              ),
            )
          ],
        ),
      ),
    );

I was like ??? when I see the screen like below:

Again I deleted the top alignment:
    return new Scaffold(
      appBar: new AppBar(
        title: new Text('Stack layout'),
      ),
      body: new Center(
        child: new Stack(
          children: <Widget>[
            new Image.network(
                'http://img2.cxtuku.com/00/13/12/s97783873391.jpg'),
            new Positioned(
              child: new Text(
                'Whatever is worth doing is worth doing well',
                style: new TextStyle(
                  fontSize: 20.0,
                  fontFamily: 'serif',
                ),
              ),
            )
          ],
        ),
      ),
    );

and I was like ???WTF??? when the screen changed to this:

What I don't get is:

Theoretically, the image shall be at the very center of the screen, and it was there until I deleted the top alignment, which is an attribute of Positioned not Image, why there is a difference?
Why the Positioned is aligned according to the Image?

Additional comments to #2: in the third pic, I deleted the left and right, and the left side of the text is aligned to the left side of Image. There is another problem why the rest of the text is "cut" by something, idk why.
Am I doing this wrong?

below is the output of flutter doctor -v
BTW I'm using Android Studio, so I guess problem in VS Code could be ignored
[✓] Flutter (Channel beta, v0.5.1, on Linux, locale C)
    • Flutter version 0.5.1 at /home/icarus/Documents/flutter
    • Framework revision c7ea3ca377 (9 weeks ago), 2018-05-29 21:07:33 +0200
    • Engine revision 1ed25ca7b7
    • Dart version 2.0.0-dev.58.0.flutter-f981f09760

[✓] Android toolchain - develop for Android devices (Android SDK 28.0.0)
    • Android SDK at /home/icarus/Documents/android-sdk/
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-27, build-tools 28.0.0
    • ANDROID_HOME = /home/icarus/Documents/android-sdk
    • Java binary at: /home/icarus/Documents/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
    • All Android licenses accepted.

[✓] Android Studio (version 3.1)
    • Android Studio at /home/icarus/Documents/android-studio
    • Flutter plugin version 26.0.1
    • Dart plugin version 173.4700
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)

[✓] IntelliJ IDEA Ultimate Edition (version 2018.1)
    • IntelliJ at /home/icarus/Documents/idea-IU-181.5087.20
    • Flutter plugin version 25.0.2
    • Dart plugin version 181.4892.1

[!] VS Code (version 1.25.1)
    • VS Code at /usr/share/code
    • Flutter extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected devices (1 available)
    • MIX 2S • 55822fe8 • android-arm64 • Android 8.0.0 (API 26)

! Doctor found issues in 1 category.

Is this still an issue?
Can you please post a complete minimal runnable (incl main() {...} reproduction
as a single file so that we can just copy your code into lib/main.dart of a new project and run to reproduce?

I inserted his code into the demo program and got it working:
import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);
  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(
        title: new Text('Stack layout'),
      ),
      body: new Center(
        child: new Stack(
          children: <Widget>[
            new Image.network(
                'http://img2.cxtuku.com/00/13/12/s97783873391.jpg'),
            new Positioned(
              left: 35.0,
              right: 35.0,
              top: 45.0,
              child: new Text(
                'Whatever is worth doing is worth doing well',
                style: new TextStyle(
                  fontSize: 20.0,
                  fontFamily: 'serif',
                ),
              ),
            )
          ],
        ),
      ),
    );
  }
}

I could also reproduce all the following steps. Now I am trying to wrap my head around if that behaviour is all intended or if there is a bug in there somewhere. The documentation  says:

Each child of a Stack widget is either positioned or non-positioned. Positioned children are those wrapped in a Positioned widget that has at least one non-null property. The stack sizes itself to contain all the non-positioned children, which are positioned according to alignment (which defaults to the top-left corner in left-to-right environments and the top-right corner in right-to-left environments). The positioned children are then placed relative to the stack according to their top, right, bottom, and left properties.

That means the first image is completely reasonable (the stack has the size according to the Image, and the stack is centered because it is wrapped in center).

Without investigating closer I think this is caused by the effect the content of the Stack has to how the Stack is sized. Have you tried enabling "Debug Paint" and watch the size of the Stack change?

Without investigating closer I think this is caused by the effect the content of the Stack has to how the Stack is sized. Have you tried enabling "Debug Paint" and watch the size of the Stack change?

Good idea. The overlay supports my understanding that I wrote previously:

By the way, I can click on Screenshot in the emulator, but I did not see where it saved so I used snipping tool. @Icarus-Xu please share with us how you did those nice screenshots

authors: Icarus-Xu StefanLobbenmeier zoechi


text:
FloatingActionButton below ListView on iOS and Android but OK on Simulator

I built a simple app, it is a scaffold with an Appbar and a FloatingActionButton and the body composed of a Card and below inside an Expanded a ListView with some ListTile as its children, with some containers as well.
On iOS simulator it works fine, but on actual device (android AND iOS) the FloatingActionButton is below everything else until tapped.. when you tap it it goes to the front as it should.
So it is something like this (resumed - just the tree and the FloatingActionButton stuff):
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
    return MaterialApp(
      title: 'Title,
      debugShowCheckedModeBanner: false,
      home: SomeClass(),
    );
  }
}

class _SomeClassState extends State<someClass> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      floatingActionButton: FloatingActionButton(
        child: Icon(Icons.add),
        elevation: 2.0,
        onPressed: () => print('add button pressed'),
        tooltip: 'Add something',
      ),
      body: Column(
        children: <Widget>[
          Card(),
          Expanded(
            child: ListTileTheme(
              style: ListTileStyle.drawer,
              child: ListView(
                children: <Widget>[
                  Container(),
                  ListTile(),
                  Divider(),
                  ListTile(),
                  Divider(),
                  ListTile(),
                ],
              ),
            ),
          ),
        ],
      ),
    );
  }
}

PICs (before tapping it and after tapping it):

So it is an overlay problem but not on the simulator, just devices.

Please add the output of flutter doctor -v.

MacBook-Pro-de-Daniel:~ danvilela$ flutter doctor -v
╔════════════════════════════════════════════════════════════════════════════╗
║ A new version of Flutter is available!                                     ║
║                                                                            ║
║ To update to the latest version, run "flutter upgrade".                    ║
╚════════════════════════════════════════════════════════════════════════════╝
[✓] Flutter (Channel beta, v0.6.0, on Mac OS X 10.13.6 17G65, locale pt-BR)
• Flutter version 0.6.0 at /Users/danvilela/Code/flutter
• Framework revision 9299c02cf7 (3 weeks ago), 2018-08-16 00:35:12 +0200
• Engine revision e3687f70c7
• Dart version 2.1.0-dev.0.0.flutter-be6309690f
[✓] Android toolchain - develop for Android devices (Android SDK 28.0.0)
• Android SDK at /Users/danvilela/Library/Android/sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-28, build-tools 28.0.0
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
• All Android licenses accepted.
[✓] iOS toolchain - develop for iOS devices (Xcode 9.4.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 9.4.1, Build version 9F2000
• ios-deploy 1.9.2
• CocoaPods version 1.5.3
[✓] Android Studio (version 3.1)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 27.0.1
• Dart plugin version 173.4700
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
[✓] IntelliJ IDEA Community Edition (version 2018.2.2)
• IntelliJ at /Applications/IntelliJ IDEA CE.app
• Flutter plugin version 27.1.3
• Dart plugin version 182.4129.13
[✓] VS Code (version 1.26.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 2.18.0
[✓] Connected devices (1 available)
• iPhone 6 • 1A25F04A-B601-4BE6-B499-78A700D76680 • ios • iOS 11.4 (simulator)
• No issues found!

Well, i just ran flutter upgrade and it worked fine.. sorry about that, i had upgraded not a long time ago.. here is the new flutter doctor -v:
MacBook-Pro-de-Daniel:~ danvilela$ flutter doctor -v
[✓] Flutter (Channel beta, v0.7.3, on Mac OS X 10.13.6 17G65, locale pt-BR)
• Flutter version 0.7.3 at /Users/danvilela/Code/flutter
• Framework revision 3b309bda07 (10 days ago), 2018-08-28 12:39:24 -0700
• Engine revision af42b6dc95
• Dart version 2.1.0-dev.1.0.flutter-ccb16f7282
[✓] Android toolchain - develop for Android devices (Android SDK 28.0.0)
• Android SDK at /Users/danvilela/Library/Android/sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-28, build-tools 28.0.0
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
• All Android licenses accepted.
[!] iOS toolchain - develop for iOS devices (Xcode 9.4.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 9.4.1, Build version 9F2000
✗ Verify that all connected devices have been paired with this computer in Xcode.
If all devices have been paired, libimobiledevice and ideviceinstaller may require updating.
To update, run:
brew uninstall --ignore-dependencies libimobiledevice
brew install --HEAD libimobiledevice
brew install ideviceinstaller
• ios-deploy 1.9.2
• CocoaPods version 1.5.3
[✓] Android Studio (version 3.1)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 27.0.1
• Dart plugin version 173.4700
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
[✓] IntelliJ IDEA Community Edition (version 2018.2.2)
• IntelliJ at /Applications/IntelliJ IDEA CE.app
• Flutter plugin version 27.1.3
• Dart plugin version 182.4129.13
[✓] VS Code (version 1.26.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 2.18.0
[✓] Connected devices (3 available)
• XT1635 02        • 0029970930                               • android-arm • Android 8.0.0 (API 26)
• iPhone de Daniel • d68d9565a3625e69f3295b980e341b26bc867c78 • ios         • iOS 11.4.1
• iPhone 6         • 1A25F04A-B601-4BE6-B499-78A700D76680     • ios         • iOS 11.4 (simulator)
! Doctor found issues in 1 category.

authors: dmvvilela zoechi


text:
Dart snapshot generator failed with exit code -6

I had a Flutter app that was working just fine until today. I realized that flutter build apk wasn't building the Flutter app with the latest code. Looked up on the internet. Did a flutter clean. Then built the app again with flutter build apk. The following is the error I'm getting,
On Beta channel.
===== CRASH =====
version=2.1.0-dev.1.0.flutter-ccb16f7282 (Tue Aug 21 22:21:20 2018 +0000) on "linux_simarm"
si_signo=Segmentation fault(11), si_code=1, si_addr=0x4
Dart snapshot generator failed with exit code -6
Snapshotting exited with non-zero exit code: -6
   Woah! You appear to be trying to run flutter as root.
   We strongly recommend running the flutter tool without superuser privileges.
  /
📎
39.5s
Built build/app/outputs/apk/release/app-release.apk (4.3MB).

Before doing "flutter clean" the app size was 6.5 MB.
On master channel.
===== CRASH =====
version=2.1.0-dev.4.0.flutter-05ccfa8502 (Tue Sep 11 09:03:02 2018 +0000) on "linux_simarm"
si_signo=Segmentation fault(11), si_code=1, si_addr=0x5
Dart snapshot generator failed with exit code -6
Snapshotting exited with non-zero exit code: -6

FAILURE: Build failed with an exception.

* Where:
Script '/opt/flutter/packages/flutter_tools/gradle/flutter.gradle' line: 428

* What went wrong:
Execution failed for task ':app:flutterBuildRelease'.
> Process 'command '/opt/flutter/bin/flutter'' finished with non-zero exit value 1

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

I then downgraded Flutter. The flutter build apk is working just fine.
How do I resolve this issue?.
Flutter Doctor Output:
[✓] Flutter (Channel beta, v0.7.3, on Linux, locale en_US.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
[✓] Android Studio (version 3.0)
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
[✓] VS Code (version 1.25.1)
[!] Connected devices
    ! No devices available

! Doctor found issues in 1 category.

Some related content I found regarding this same issue.
#14891, #21025
Thank you.

#21685 might also be related.
When the mentioned fix is available you can check to know for sure.

Waiting until the fixes land in master

I was able to resolve the issue. The problem was with one of the libraries that I was using to dynamically switch themes. Removed that and included my own code for switching themes and the app is building fine now. Here's the library I used.

@zoechi Any idea when this issue is going to be fixed?. Was about to release an app but now waiting for this to be resolved. Been struggling with it the past few days. Don't want to downgrade flutter version cause it increases the app size and will have to change significant amount of code.

The fix has reached Flutter master channel. Try upgrading now.

Duplicate of #21685

@mraleph Thanks a lot.

authors: agiletelescope mraleph sujaybr zoechi


text:
TextEditingController.text is resetting keyboard in Android

In Android, I set TextEditingController in a TextField or TextFormField and I change the devices keyboard to show numbers and symbols, but if I change TextEditingController.text programmatically (example: by clicking button), the keyboard reset.
Obs: In iOS, everything is ok.

Example code:
import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  final controller = TextEditingController();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Padding(
          padding: const EdgeInsets.all(32.0),
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              TextFormField(
                controller: controller,
              ),
              RaisedButton(
                child: Text('Insert @'),
                onPressed: () {
                  controller.text = controller.text + "@";
                },
              ),
            ],
          ),
        ),
      ),
    );
  }
}

Flutter Doctor:
[✓] Flutter (Channel stable, v1.12.13+hotfix.9, on Mac OS X 10.15.4 19E266, locale en-BR)
    • Flutter version 1.12.13+hotfix.9 at /Users/magnocastro/Developer/flutter
    • Framework revision f139b11009 (5 days ago), 2020-03-30 13:57:30 -0700
    • Engine revision af51afceb8
    • Dart version 2.7.2

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/magnocastro/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.2
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.4)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.4, Build version 11E146
    • CocoaPods version 1.8.4

[✓] Android Studio (version 3.5)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 42.1.1
    • Dart plugin version 191.8593
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

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

[✓] Connected device (2 available)
    • Android SDK built for x86 64 • emulator-5554                            • android-x64
      • Android 9 (API 28) (emulator)
    • iPhone de Desenvolvedor      • 4346ae62097024ea99d0bfbee86b849efdc5fdab • ios
      • iOS 13.4

• No issues found!

Hi @magnocasmor
try https://github.com/flutter/flutter/issues/60828#issuecomment-653879961,
follow up on mentioned issue, closing current one as duplicate

authors: VladyslavBondarenko magnocasmor


text:
It appears that the downloaded file is corrupt; please try again.

Downloading Dart SDK from Flutter engine af51afceb8886cc11e25047523c4e0c7e1f5d408...
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
100  200M  100  200M    0     0   498k      0  0:06:52  0:06:52 --:--:--  516k
/opt/flutter/bin/internal/update_dart_sdk.sh: line 86: unzip: command not found
It appears that the downloaded file is corrupt; please try again.
If this problem persists, please report the problem at:
https://github.com/flutter/flutter/issues/new?template=ACTIVATION.md

Hi @lucas404x
can you please provide your `flutter doctor -v'?
Make sure you have proper internet connection and try again
Thank you

Hi @TahaTesser
I solved :)
I used this article for to solve: https://flutter.dev/community/china
(I'm sorry my English)


text:
build ios-framework should not reset output directory on every run

The output directory is deleted first on every run of this command, which means caching artifacts aren't persisted between runs.
https://github.com/flutter/flutter/blob/e23c4796a387cf994fddc9433b2f68628c644167/packages/flutter_tools/lib/src/commands/build_ios_framework.dart#L187
This was a workaround from before https://github.com/flutter/flutter/pull/53962 so frameworks from removed plugins would be deleted on the next run.

Never mind, this is still an issue, https://github.com/flutter/flutter/pull/53962 only handles removing stale App.framework output files.


text:
[flutter_tools] Add a space between URL and period

Use case
I am developing flutter application. and I face this warning as follows:
$ flutter run

Launching lib/main.dart on Pixel 4 in debug mode...
[!] Your app isn't using AndroidX.
    To avoid potential build failures, you can quickly migrate your app by following the steps on
    https://goo.gl/CP92wY.
Running Gradle task 'assembleDebug'...
(This is taking an unexpectedly long time.)       ⡿

But I think this URL is invalid because it contains ..
Proposal
How about adding a space between URL and period?
https://github.com/flutter/flutter/blob/e092dcfa22cef503cfdceea67e45c49c0aa8062d/packages/flutter_tools/lib/src/android/gradle.dart#L250
https://github.com/flutter/flutter/blob/03c566768b6baf32b5631e212e48cea2f20b0d0d/packages/flutter_tools/test/general.shard/android/gradle_errors_test.dart#L326
and more.

Before

https://goo.gl/CP92wY.

After

https://goo.gl/CP92wY .

Regards

Hi @MizukiSonoko
Does it cause issues when selecting the link?

Yes
In VSCode,  we can not access this URL by clicking.
I understand  VS Code is an official editor tool on Flutter, so this error is not good

Thanks for the bug report @MizukiSonoko , sorry for the delay in getting it fixed

authors: MizukiSonoko TahaTesser jonahwilliams


text:
iOS 13.4.1 Blank Screen issue on Stable Channel

In release build iOS 13.4.1 version showing blank screen. I have tested on iPhone 6 and Huawei P20 it's working normally. And i switched channel stable to master it works on 13.4.1 too.

Hi @kemalturk
please follow up on the issue https://github.com/flutter/flutter/issues/36247,
comment there about your case.
I'm closing the current one as duplicate.
If you disagree please write in the comments
and I will reopen it.

Reopening per https://github.com/flutter/flutter/issues/36247#issuecomment-645527596 for further triage.

@kemalturk
could you provide your flutter doctor -v?
does the issue persist with current stable channel?
if yes, can you see some crash logs when running from xcode? https://github.com/flutter/flutter/issues/36247#issuecomment-572151934

And i switched channel stable to master it works on 13.4.1 too.

with what flutter version you aren't experiencing this?

@VladyslavBondarenko ok im gonna provide the output.

@VladyslavBondarenko I fixed my issue. It's about localeResolutionCallback.
My code was like that :
      localeResolutionCallback: (locale, supportedLocales) {
        for(var supportedLocale in supportedLocales) {
-          if(supportedLocale.languageCode == locale.languageCode) {
            return supportedLocale;
          }
        }
        return supportedLocales.first;
      },

I changed member access with conditional member access operator.
      localeResolutionCallback: (locale, supportedLocales) {
        for(var supportedLocale in supportedLocales) {
+          if(supportedLocale?.languageCode == locale?.languageCode) {
            return supportedLocale;
          }
        }
        return supportedLocales.first;
      },

If i don't put this conditional operator it's working in debug mode normally but shows blank screen in release mode. I mean there is an issue at MaterialApp widget. Somehow supportedLocale.languageCode or locale.languageCode comes null when calling localeResolutionCallback. You guys need to look at this.

[✓] Flutter (Channel stable, v1.17.4, on Mac OS X 10.15.5 19F101, locale en-TR)
    • Flutter version 1.17.4 at /Users/kemalturk/Development/flutter
    • Framework revision 1ad9baa8b9 (21 hours ago), 2020-06-17 14:41:16 -0700
    • Engine revision ee76268252
    • Dart version 2.8.4

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/kemalturk/Library/Android/sdk
    • Platform android-29, build-tools 29.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.5)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.5, Build version 11E608c
    • CocoaPods version 1.8.4

[!] Android Studio (version 3.5)
    • Android Studio at /Applications/Android Studio.app/Contents
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

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

[✓] Connected device (1 available)
    • Kemal iPhone’u • 9c7bd0d32c27bd3458b88fb7dd081a8a186f27e8 • ios • iOS 13.5.1

Hi @kemalturk
Are you still facing this issue on latest stable channel?

authors: VladyslavBondarenko jmagman kemalturk pedromassangocode


text:
flutter create -t plugin should not create no-op iOS folders in 1.20.0 stable release

When 1.20 releases, we should make flutter create -t plugin command not creating no-op iOS folders anymore.
Also, we will add a lower flutter SDK bound setting to 1.20.0 for all the newly created plugins.
Ideally, we'd like to land this change to the 1.20.0 release branch as it goes out.

Pending cherry pick at https://github.com/flutter/flutter/pull/62372

@cyanglaz what's your plan for testing this once we have it on-branch (but before we release it as 1.20.0)?

@pcsosinski
We have unit tests covering the "removing no-op ios" folder bit.
For 1.20.0 lower constraint, we will need to add similar unit tests.

Fixed by https://github.com/flutter/flutter/pull/62990

authors: cyanglaz jmagman pcsosinski


text:
range error(index)

someone help me wit this
it is showing like this
Oops; flutter has exited unexpectedly: "RangeError (index): Index out of range: no indices are valid: 0". A crash report has been written to C:\Users\srira\flutter_02.log.
This crash may already be reported. Check GitHub for similar crashes.
https://git.io/JeyYe
To report your crash to the Flutter team, first read the guide to filing a bug.
https://flutter.dev/docs/resources/bug-reports
Create a new GitHub issue by pasting this link into your browser and completing the issue template. Thank you!
https://git.io/JJWyM

Hi @sriram613,
You seem to have opened multiple tickets for same issue.
Closing this as duplicate of 62004


text:
Severe content redraw and theme change animation jank on CanvasKit Web builds with master channel

Steps to Reproduce
The issue described below has been observed on master channel starting from at least
least 1.21.0-8.0.pre.168 to at least master 1.21.0-10.0.pre.90.
Observed issues:

Animations that scale and push other content on the canvas animate with severe jank and delay, almost like there is no animation at all.
Theme change animations are really janky and sometimes do not even end up completing on the right end result (frame).
Window re-sizing is very unresponsive and re-scales content only after a significant delay. Window re-scaling has always been quite janky on all channels and any platform, but this is off the chart.

All web versions demonstrated here were built using:
flutter run -d chrome --release --dart-define=FLUTTER_WEB_USE_SKIA=true --dart-define=FLUTTER_WEB_USE_EXPERIMENTAL_CANVAS_TEXT=true

Expected results
As temporary finding of expected results, these Tweet videos are representative of what it should look like:
I just remade the Web build shown here with Channel beta, 1.20.0:
It still looks and runs as expected (OK) and the same as in the demo here:
Using green theme https://twitter.com/RydMike/status/1293392861816410112?s=20
I also remade the Windows build shown here with Channel master, 1.21.0-10.0.pre.9
Using orange theme https://twitter.com/RydMike/status/1293392864790155264?s=20
It also still look and runs as expected and as in the tweeted video, so all OK here too.
This version is built with latest stable and running on an Android emulator.
Using blue theme https://twitter.com/RydMike/status/1293393473312301057?s=20
It is fine too and shows expected behavior. (OK)
Actual failed results
When building the same app for Web with Channel master, 1.21.0-10.0.pre.9
We still get the same janky (FAIL) version as the one shown in this Tweet video
Using red theme https://twitter.com/RydMike/status/1293392860260204544?s=20
that was made with a bit older master revision 1.21.0-8.0.pre.175 but the newer build with Channel master, 1.21.0-10.0.pre.9 looks and behaves the same.
The differences from the above shown expected behavior is very obvious and significant.

It is like there is no animation at all for when the menus animate in/out and move other content around.
Same result can be observed when resizing the browser window. It shows more extreme resize delay and jank than ever before. Resizing windows has never been good on any device or platform, but this version is on a new level.
Theme change animation are also extremely janky and some the last few frames in the themes are not repainted, so the new theme is not fully reached. Shown on the right sidebar in the demo. I have more examples of this to be added later if needed.

NOTE: The links to the tweet videos unfortunately did not open the desired post in enlarged/focused mode when I tried, even if the links were copied in that mode and from the exact post in question. But based on the comments and the different colored themes used in the demo on each video, it should be clear which one is which.
More info to be added
This is just a pre-report of the issue. I will be complementing and updating it with more info if so required. Unfortunately the videos and GIF recordings I have now are to large to post directly directly in the issue and the app used to demo it in the above Tweet videos is a bit too long and involved to be a good issue sample. (Although I do plan to release the code for the tech demo app shown in the video and a few packages that it is using later, so in principle I could use it too, as soon as it is bit more complete)
To be added

Shorter Gif screen recordings showing the exact differences clearly.
Produce a short code sample that shows the issues and is available as a repo with live demo versions built with beta and master.

Flutter Doctor
flutter doctor -v
[√] Flutter (Channel master, 1.21.0-10.0.pre.90, on Microsoft Windows [Version 10.0.18363.900], locale en-US)
    • Flutter version 1.21.0-10.0.pre.90 at c:\src\flutter
    • Framework revision 88118bcbd1 (2 hours ago), 2020-08-14 00:17:43 +0200
    • Engine revision 7571e7c380
    • Dart version 2.10.0 (build 2.10.0-11.0.dev)

[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at C:\Users\mryds\AppData\Local\Android\sdk
    • Platform android-28, build-tools 28.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.6.5)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.6.30320.27
    • Windows 10 SDK version 10.0.18362.0

[√] Android Studio (version 4.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 47.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] IntelliJ IDEA Community Edition (version 2019.2)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.3.1
    • Flutter plugin version 35.3.3
    • Dart plugin version 192.7402

[√] VS Code (version 1.48.0)
    • VS Code at C:\Users\mryds\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.13.2

[√] Connected device (5 available)
    • Nexus 7 (mobile)  • 0a99f5e8   • android-arm    • Android 6.0.1 (API 23)
    • Windows (desktop) • windows    • windows-x64    • Microsoft Windows [Version 10.0.18363.900]
    • Web Server (web)  • web-server • web-javascript • Flutter Tools
    • Chrome (web)      • chrome     • web-javascript • Google Chrome 84.0.4147.105
    • Edge (web)        • edge       • web-javascript • Microsoft Edge 84.0.522.52

• No issues found!

As discussed I now started stub for this issue @mariamhas @yjbanov  since it has been on master for a few days already.
Since it is master I'm fully aware that unexpected issues like this might occur, which is also why I was waiting for it mature a bit to see if it sticks around for a while before I report it.
I will add more info later if needed. Something has clearly changed on master and somebody probably knows what. It is clearly not an improvement. I was thinking maybe there was some work going on to make window resizing better and did not pan out, but then why would that affect the animations when content is being resized/moved in same container canvas size and why would Windows and Android builds on master not be affected.
Just for info the resizing of the rail/menu and sidebar in the demo is just using a simple standard AnimatedContainer where the width changes and the rest of the layout responds to being in another width as the "body" area shrinks/grows.

1. Additional GIF screen comparions
Here are additional screen recordings comparing each observed issue on:
A. Channel master, 1.21.0-10.0.pre.94 - Windows build (GOLDEN theme)
B. Channel beta, 1.20.0 - Web SKIA build (GREEN theme)
C. Channel master, 1.21.0-10.0.pre.94 - Web SKIA build (RED theme)
General observation is that A -> B -> C is the path of loss of fluidity in animations. With B for some cases being very close to A and C is just broken.
ISSUE 1) Expanding menu animation pushing other content
A. Windows version on master = OK
As expected this one is smooth and nice

B. Web SKIA on Beta = OK
This one look pretty smooth too

C. Web SKIA on master = FAIL
This one is very broken with menus just flashing in and out, no animation to talk about.

ISSUE 2) Theme change animations
A. Windows version on master = OK
As expected this one is smooth and nice.

B. Web SKIA on Beta = OK
This one looks OK too, pretty much the same as on Windows with regards to smoothness.

C. Web SKIA on master = FAIL
This one is very broken, very janky animation and the theme even fails to animate to the correct end result in some cases. I had to open and close the menu for it to rebuild to get the correct theme.

ISSUE 3) Resizing the Canvas
A. Windows version with master = OK
As expected this one is fine, well it is as it has always been, it is far from where it needs to be, it is janky, but unchanged from previous behavior, so as expected.

B. Web SKIA with Beta = OK
In this case the WEB SKIA build with Beta is not really as close to the Windows build as it where with issues 1 and 2 where there was hard to notice any difference. The main difference is that menus when they change and animate due to canvas size change, they do so much less smoothly, they clearly jump quite a bit more. The jankiness in the resize of the grid items due to the resizing of the canvas is also a bit more pronounced than it is in A. Still these are roughly as they have always been on WEB Skia builds, so results are as expected.

C. Web SKIA with master = FAIL (but maybe not the canvas resize)
Based on looking at this a bit closer, I might be willing to conclude that it is not actually the re-sizing of the canvas that has any issue. The Grid items seem to move and re-scale about as smoothly as they do in B and the jarring issue in the resizing comes from the extreme jank when the menu jumps out and even does it as some kind of a grey box first. This would thus be the same case and issue 1).

Summary of findings based on visual observations of the differences
When you build for Web target with CanvasKit and CanvasText on Channel master from at least rev 1.21.0-8.0.pre.168 up to at least 1.21.0-10.0.pre.94, something odd is going on when using e.g. AnimatedContainer to change its size, it gets very janky behaves badly. I suspect the observed issue with the animated theme change has the same root cause, but that is just a gut feeling.
I do not know exactly when it has broken, as I only occasionally check web builds, mostly I build with Windows as target, as it runs so much smoother and builds much faster.

Hi @rydmike
Would love that  short code sample to reproduce the issue thoroughly
Thank you

@TahaTesser Of course, it is still on the "To be added" todo list above. I will try to add one over the weekend.

Issue update with sample code
While building a more isolated demo case I found the cause of the issue and isolated it.
That it caused an issue is perhaps as such, not so surprising, it is even quite obvious that it might be problematic use case.
What is perhaps much more interesting is, that it what was causing the major jank on Web with Master channel Canvas Kit builds, but did not have any serious impact on channel master for Windows builds or even for Web CanvasKit builds on channel beta, or stable for Android builds. Due to this I suspect that some optimizations that might have been done to Web on master channel, might be behind this regression, but that is pure speculation.
The example issue demo turned out quite elaborate, apologies for that, but at least it is fun to use play with. 😊
It is also a bit messy since I wanted an example in one file that can also be run in DartPad just to easily check how it work on the DomCavas build it uses.
The reason why the issue demo case got so elaborate is mainly because at first I could not reproduce it with the simpler case I started with. I ended up adding more and more pieces of the original case where the issue was present, until I eventually found the line that caused the issue. The cause was a line that should not have been in the original either, it was not even needed anymore, a remnant from an early revision, well at least I got that cleared out as well.
The culprit
Turns out using an AnimatedContainer where you change the width to animate it, is all fine, but for in hindsight quite obvious reasons, it is NOT a good idea to ALSO assign it a color that depends on Theme.of(context). It is however quite interesting that doing so caused both the animation jank presented in above earlier GIFs, as well as the theme change animation breaking. Had they happened on Windows and Android builds, the quite obvious cause would probably have been easier to suspect.
Demo source
Enough talk, the code for the issue demo is here:
https://gist.github.com/rydmike/2e8e6a4cc9126dbe6f95e81e674f6d6b
Web CanvasKit Channel Beta - OK
Here is a LIVE version that was built with Channel beta, 1.20.2, release mode with CanvasKit and CanvasText:
https://rydmike.github.io/animatedcontainerbeta/#/
This version runs fine and is surprisingly smooth even with the issue “switch” turned, if you turn off the issue switch, the panel size changes are a tad smoother, but hard to see at quick glance. The theme change loose that extra delayed theme change cycle the animated side panel goes through. If you build this for Windows desktop on channel master it behaves pretty much the same as the Web channel bet build, sure even a bit smoother of course, to the point that it is hard to notice any difference.
Gif demo showing that runs "OK" also with the issue switch ON:

Web CanvasKit Channel Master – Some regression is causing different behavior
The live Web version of the same issue demo built with Channel master 1.21.0-10.0.pre.111 can be found here:
https://rydmike.github.io/animatedcontainermaster/#/
It has the same animation jank and the breaking theme switch animation as the earlier above shown GIF recordings. If you toggle the switch that avoids the cause of the issue, it runs fine.

Often when you toggle the theme switch and it stops in an unfinished state and turn OFF the issue switch, it no longer works at all when trying toggle the panel size just after turning the issue switch off. At that point I assumed something broke in the AnimatedContainer state. A reload (browser refresh) of the SPA demo solves that hung situation. Switching the issue switch from ON to OFF, seems to work fine if you do not do it in a state where the theme mode animation did not complete properly. I guess that is some weird side effect of the underlying cause.
DartPad version
Not so relevant, but since the code is in a GIST this issue demo can also easily be run on latest DartPad version here:
https://dartpad.dartlang.org/2e8e6a4cc9126dbe6f95e81e674f6d6b
It is quite slow when it comes to the animation, but it does not have the issue.
Issue code line
In the demo the problem causing line can be found at line 178:
color: problemOn ? Theme.of(context).canvasColor : null,

Summary of findings
For the actual use case there is no need for using the color property on the AnimatedContainer with a theme based color. It gets it color from Material’s theme it is wrapped in anyway. The property should not even have been in use in where this issue was found, so the issue can now easily be avoided.
This issue does however reveal that there is some behavior regression currently on master compared to beta channel for this use case when building for CanvasKit. It causes quite a big change in behavior. The issue cannot be observed visually on same master version when building for Windows or device targets. This observed regression may also have other impacts not revealed in this discovery.

wow! this is a professional repro code!
is flutter complaining in terminal Cannot find native JavaScript type () for type
it prevented me from (properly) resizing the app?

@iapicca Thanks, it got a bit more elaborate than it needed to be while I was looking for the cause to be able to replicate it. I could have (probably should have) pulled out all the fluff after I found it, but it looked kind of nice and was fun to play with, so I let it be... 😀 (maybe somebody will find it useful for something else)
The test with DartPad using DomCanvas was just more of an exotic check to see if it works at all. I was surprised that it did, the animation speeds are very sluggish compared to the release mode CanvasKit Beta channel build.
Yes when built with master channel:
https://rydmike.github.io/animatedcontainermaster/#/
It does indeed throw a bunch of JS exceptions in the Chrome console when you toggle panel size, hide show the panel or switch theme mode. If you turn of the line causing the issue, it does not throw does exceptions anymore. I also noticed that sometimes after the exceptions have been thrown, it might lead to that the hide/show or expand/collapse panel switches stop working.
When building for desktop or device on master channel, there are no exceptions in the Flutter console while running it in debug mode, regardless of if the switch that includes/excludes the line that causes an exception in the Web master build is on or off.
The version built with Beta channel does not care if the issue causing line is on or off:
https://rydmike.github.io/animatedcontainerbeta/#/
It does not throw exceptions, not even in the Web CanvasKit build.
This is why I think it is some kind of regression on master channel for Web builds. What its cause might be I have no idea. Maybe a bug, maybe there has been an attempt to optimize out stupid use cases that you should not do, which in this case the theme.of(color) on the animated container certainly is, but even so, it should not break and start throwing exceptions, imo.
For both built versions I also see this error:
flutter_service_worker.js:1 Uncaught (in promise) TypeError: Request failed
When the app is loaded or refreshed (as it is an SPA, so loaded again). This error seems unrelated to this issue, but yes, certainly an issue as as well.

@rydmike I think you are right about the regreassion
I noticed some error with an older, now obsolete master,
but at the time I could not observe any unexpected behavior.
The good news is that the issue I mentioned above has a very close milestone,
so hopefully the fix will land soon
Nevertheless I believe this issue is not a duplicate, in fact the error you reported
flutter_service_worker.js:1 Uncaught (in promise) TypeError: Request failed
seems to be specific to your case

Reproducible on the latest master 1.21.0-10.0.pre.114 and regressed when comparing to beta.
Used code sample:
https://gist.github.com/rydmike/2e8e6a4cc9126dbe6f95e81e674f6d6b

flutter doctor -v (master)
[√] Flutter (Channel master, 1.21.0-10.0.pre.114, on Microsoft Windows [Version 10.0.19041.450], locale en-US)
    • Flutter version 1.21.0-10.0.pre.114 at C:\Development\flutter_master
    • Framework revision b2c0970aa7 (23 hours ago), 2020-08-16 06:11:02 -0400
    • Engine revision b300be3df3
    • Dart version 2.10.0 (build 2.10.0-34.0.dev)

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
    • Android SDK at C:\Users\marku\AppData\Local\Android\sdk
    • Platform android-30, build-tools 30.0.1
    • Java binary at: C:\Users\marku\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\193.6626763\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.6.5)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.6.30320.27
    • Windows 10 SDK version 10.0.18362.0

[√] Android Studio (version 4.0)
    • Android Studio at C:\Users\marku\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\193.6626763
    • Flutter plugin version 47.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] Connected device (5 available)
    • SM G950F (mobile)           • ce12171c51cc001c03 • android-arm64  • Android 9 (API 28)
    • sdk gphone x86 arm (mobile) • emulator-5554      • android-x86    • Android 11 (API 30) (emulator)
    • Windows (desktop)           • windows            • windows-x64    • Microsoft Windows [Version 10.0.19041.450]
    • Web Server (web)            • web-server         • web-javascript • Flutter Tools
    • Chrome (web)                • chrome             • web-javascript • Google Chrome 84.0.4147.125

• No issues found!

flutter doctor -v (beta)
[√] Flutter (Channel beta, 1.20.2, on Microsoft Windows [Version 10.0.19041.450], locale en-US)
    • Flutter version 1.20.2 at C:\Development\flutter_beta
    • Framework revision bbfbf1770c (4 days ago), 2020-08-13 08:33:09 -0700
    • Engine revision 9d5b21729f
    • Dart version 2.9.1

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
    • Android SDK at C:\Users\marku\AppData\Local\Android\sdk
    • Platform android-30, build-tools 30.0.1
    • Java binary at: C:\Users\marku\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\193.6626763\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[√] Android Studio (version 4.0)
    • Android Studio at C:\Users\marku\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\193.6626763
    • Flutter plugin version 47.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] Connected device (4 available)
    • SM G950F (mobile)           • ce12171c51cc001c03 • android-arm64  • Android 9 (API 28)
    • sdk gphone x86 arm (mobile) • emulator-5554      • android-x86    • Android 11 (API 30) (emulator)
    • Web Server (web)            • web-server         • web-javascript • Flutter Tools
    • Chrome (web)                • chrome             • web-javascript • Google Chrome 84.0.4147.125

• No issues found!

Tested on both channels with

flutter build web --release
flutter build web --release --dart-define=FLUTTER_WEB_USE_SKIA=true

Ran with http-server (Node.js package) to evaluate independently. Reproduced on all browsers in both Windows and MacOS. Some extra issues were present only on Windows Firefox. Icons were incorrect and #58506 popped up for some reason.

Thanks @markusaksli-nc very good analysis and verification of the regression.

I reported this as anew issue https://github.com/flutter/flutter/issues/64960
It is potentially caused by the same root cause. If so, it might provide another angle into the cause of it. Even if it would turn out not to be caused by the same underlying issue, it is most likely very related to this issue.

Seeing the same without CanvasKit, but only in release mode. Haven't tracked down the exact cause, but I can see that it's an issue trying to access the property of a Border object which is null. So a workaround is to ensure a border is present on the Animated Container. In the example gist replacing the  color property with a full decoration with a border stops the jank for me.
              decoration: BoxDecoration(
                color: problemOn ? Theme.of(context).canvasColor : null,
                border: Border.all(width: 0.0),
              ),

@muhleder Thanks for the additional findings.
I tested a bit as well, I can confirm and verify that, the issue is present on:

DomCanvas builds as well, but only in release mode, not in debug mode! Which is why I missed it earlier; I had not tried that. Thanks this is good info. I will edit earlier comments about versions this issue applies to reflect this finding.

I also tested this issue on dev channel (Channel dev, 1.22.0-9.0.pre) and the issue exists there as well.

I verified again that the issue still does not exist on 1.21.0-9.2.pre • channel beta with release builds.

I will check and see if the same version findings applies to the issue https://github.com/flutter/flutter/issues/64960 that I think is related to this case.

The border with a width set to zero in a box decoration does oddly enough help with the issue! Just having the color in the box decoration instead is not enough, I checked that too. Interesting find with the box decoration :smile:
I don't think the same workaround can be applied to the perhaps related case: https://github.com/flutter/flutter/issues/64960
When I used this approach in this case demo app on used a SKIA build I did also get these black borders around the container, even though the width was "0", I don't think it should do that, also makes the workaround less useful for this case at least.

Summary
Having found that this regression also affects DomCanvas release builds as well as CanvasKit builds is however very important, as is the fact that it has regressed down to dev channel as well.
If it regresses down to beta channel, then it is goodnight for Web builds for us until it is fixed.
cc: @mariamhas @yjbanov

I just double checked and verified that it is the --release mode Web builds that are effected, DomCanvas or CanvasKit both have the issue and it happens on current master and dev channels.
I also verified that if you use --debug build for master or dev channels you do not see this issue, although I think it is partially there, the error situation might just be better handled in debug mode. In debug mode builds there is no error or log in Flutter console nor in Chrome browser web dev tools.
However, in --release mode in Chrome web dev tools yo do get this JS error:
Another exception was thrown: Instance of 'minified:dl<void>'  js_primitives.dart:47
This error does not occur with beta channel release mode builds.

The exact same findings apply to https://github.com/flutter/flutter/issues/64960

Filed https://github.com/dart-lang/sdk/issues/43366 , Border.lerp causing exception although it has null checks.

marking as blocker for 1.22

The fix https://github.com/dart-lang/sdk/issues/43366 landed via https://github.com/dart-lang/sdk/issues/43413 was observed to solve the reported issue on web --release builds with Flutter Channel master, 1.22.0-10.0.pre.172.
As suspected in related issue post https://github.com/flutter/flutter/issues/64960 it had the same root cause so this fix also solved it, it will be closed as well.
Closing the issue. Thanks for the fix! 😃 👍

authors: TahaTesser ferhatb iapicca markusaksli-nc muhleder pcsosinski rydmike


text:
Fixing glitchy resizing with macOS embedder

I was playing with macOS embedder in current master and the glitches during resizing immediately caught my attention.
Current behavior:

I looked into this and managed to get the resize behave smoothly as expected:

To get smooth content resizing synchronized with window resizing, two changes are required:
Rendering and rasterizing must be done synchronously while AppKit view size is being updated
This means holding the platform thread (on macOS it is same as rasterize) while shell obtains the layer tree and then rasterizing the layer tree before returning from NSView size update notification.
While waiting for layer tree, the shell should discard any layer tree with wrong size, i.e. possible leftover from previous frame.
Ensuring that OpenGL context update is synchronized with CoreAnimation transaction
The step before solves half of the problem, but unfortunately it's not a complete solution. The main issue remaining is that [NSOpenGLContext flushBuffer] often updates the view too early, because it's not synchronized with core animation transactions.
For metal this should be fixable using presentsWithTransaction, sadly opengl has no similar property.
One way to fix this for OpenGL is to create IOSurface backed context and set the surface as view layer content. This is synchronized with current transaction. The drawback is, that this possibly relies to [CALayer setContentsChanged] call, which is not documented. As far as I can tell, both Safari and Chrome are using this. Alternative to this is using CGIOSurfaceContextCreateImageReference. At this point I'm not sure if either of these is mac Appstore safe.
The benefit of using IOSurface backed rendering is, that if at any point Flutter supports rendering of only changed part of layer tree, we can use multiple CALayers to simulate partial updates (there is no API for partial redraws on macOS for either OpenGL or Metal). This could make quite a large impact on energy saving when only small part of window is updating.
These changes are currently available in my macos_resize_experiment branch.

Hi @knopp
I see there's an open issue addressing the case you described https://github.com/flutter/flutter/issues/44136. There is already a proposed fix for this (see http://flutter.dev/go/double-buffered-window-resize). You can comment there with these insights.
Please follow up on that issue, I'm closing the current one as a duplicate.
Thank you

authors: knopp markusaksli-nc


text:
Export widget as Video

Use case
At this time we know that is possible export a widget as an Image file using RenderRepaintBoundary. Would be great to have some way to export an animation as video.

Proposal
I'm sugesting that because at this time I have a scenario with: into a Stack there's a video as background, some texts, images, color filters over video and I need to convert all it into a single video, which is very difficult.

That won't work like that,
Basically you need to do these steps

create an opengl context and render video on the surface.
draw over the surface as textures.
Attach a low level decoder and encoder to that surface, like you may use MediaCodec api for that
Make your own low level filters as textures and shaders in opengl
use mediaplayer to play video and redirect its output to that opengl surface where you can re-encode the transformations to video as h264 or something.

Issues

currently flutter doesn't create any opengl context or handle painting for opengl, even in texture widget. All opengl paintings are handled in background.
You have to do low level stuff for this, and currently no crossplatform api is available for that because now, Android uses OpenGLES for rendering surfaces and all, but iOS has stopped support of openGLES in latest version and uses METAL framework for that, so basically crossplatform api needs to be built from ground-up to support both features and do some low level video frame manipulation stuff.

Solution

you have to use java or kotlin and program for android and use  low level api and work with openGLES surface.
use swift for iOS and use its own Metal framework and its own lowlevel api for frame manipulation.

Labeling this as a proposal but feel free to close if this is infeasible

Any updates on this?

I have now developed a high-level render package that heavily optimizes the approach of repaint boundary capturing.
Wrap you widget with Renderwidget:
import 'package:render/render.dart';

final controller = RenderController();

@override
Widget build(BuildContext context) {
   Render(
      controller: controller,
      child: Container(),
   );
}

And then capture the motion with the controller:
final result = await renderController.captureMotion(
     duration,
     format: Format.gif,
);

final file = result.output;

I have now developed a high-level render package that heavily optimizes the approach of repaint boundary capturing.
Wrap you widget with Renderwidget:
import 'package:render/render.dart';

final controller = RenderController();

@override
Widget build(BuildContext context) {
   return Render(
      controller: controller,
      child: Container(),
   );
}

And then capture the motion with the controller:
final result = await renderController.captureMotion(
     duration,
     format: Format.gif,
);

final file = result.output;

That's really nice, thank you. I don't need it anymore, the task I was working on when asked it is over, but it's really great to the community that someone has done. Cool

Thanks! Yes, I just wanted to put the answer here as a reference for others. I know that this might not be a native way from flutters SDK, but I don't think they will put more effort into doing something like that. @marcobraghim So maybe we should close this issue?

This package is very well documented, please refer to the Using settings to keep up performance heading to check what you can do to keep performing at high quality. Due to hardware limitations, you must compensate for either the process duration, video quality, or fluency (what you have described). I recommend taking longer rendering time instead of fluency.

We don't intend to add this to the framework.

authors: jonahwilliams marcobraghim markusaksli-nc polarby premingiet


text:
When I type something in the textfield, sometimes it get the following error

════════ Exception caught by services library ══════════════════════════════════
The following assertion was thrown during a platform message callback:
'package:flutter/src/widgets/shortcuts.dart': Failed assertion: line 78 pos 16: 'keys.isNotEmpty': is not true.

Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
  https://github.com/flutter/flutter/issues/new?template=BUG.md

When the exception was thrown, this was the stack
#2      new KeySet.fromSet
package:flutter/…/widgets/shortcuts.dart:78
#3      new _LogicalKeySet&KeySet&Diagnosticable.fromSet (package:flutter/src/widgets/shortcuts.dart)
#4      new LogicalKeySet.fromSet
package:flutter/…/widgets/shortcuts.dart:187
#5      ShortcutManager.handleKeypress
package:flutter/…/widgets/shortcuts.dart:321
#6      _ShortcutsState._handleOnKey
package:flutter/…/widgets/shortcuts.dart:490
...
════════════════════════════════════════════════════════════════════════════════

Hi @lrthorhammer007
Can you please provide your flutter doctor -v your flutter run --verbose and a complete reproducible minimal code sample
Thank you

Hi @lrthorhammer007
Can you please provide your flutter doctor -v your flutter run --verbose and a complete reproducible minimal code sample
Thank you

I have put the code in the attachment. It will show how the problem occurs.
DEMO.zip

Hi @lrthorhammer007
Can you please try Android Emulator or physical to reproduce this issue?  Looks like you're running on gaming emulator which is not supported by Flutter. Also please upgrade to the latest stable 1.20.4
Running your project on API 29 Android Studio emulator, no issues

logs
Launching lib\main.dart on Android SDK built for x86 in debug mode...
✓ Built build\app\outputs\flutter-apk\app-debug.apk.
Installing build\app\outputs\flutter-apk\app.apk...
Connecting to VM Service at ws://127.0.0.1:53471/yMffXII7jZI=/ws
D/EGL_emulation(15759): eglMakeCurrent: 0xd795f0c0: ver 2 0 (tinfo 0xd797f4b0)
D/eglCodecCommon(15759): setVertexArrayObject: set vao to 0 (0) 1 0
W/IInputConnectionWrapper(15759): getTextBeforeCursor on inactive InputConnection
W/IInputConnectionWrapper(15759): getSelectedText on inactive InputConnection
W/IInputConnectionWrapper(15759): getTextAfterCursor on inactive InputConnection
W/IInputConnectionWrapper(15759): beginBatchEdit on inactive InputConnection
W/IInputConnectionWrapper(15759): endBatchEdit on inactive InputConnection
W/IInputConnectionWrapper(15759): getTextBeforeCursor on inactive InputConnection
W/IInputConnectionWrapper(15759): getSelectedText on inactive InputConnection
W/IInputConnectionWrapper(15759): getTextAfterCursor on inactive InputConnection
W/IInputConnectionWrapper(15759): beginBatchEdit on inactive InputConnection
W/IInputConnectionWrapper(15759): getTextBeforeCursor on inactive InputConnection
W/IInputConnectionWrapper(15759): endBatchEdit on inactive InputConnection
W/IInputConnectionWrapper(15759): getTextBeforeCursor on inactive InputConnection
W/IInputConnectionWrapper(15759): getSelectedText on inactive InputConnection
W/IInputConnectionWrapper(15759): getTextAfterCursor on inactive InputConnection

flutter doctor -v
[✓] Flutter (Channel stable, 1.20.4, on Microsoft Windows [Version 10.0.19041.508], locale en-US)
    • Flutter version 1.20.4 at C:\Code\flutter_stable
    • Framework revision fba99f6cf9 (10 days ago), 2020-09-14 15:32:52 -0700
    • Engine revision d1bc06f032
    • Dart version 2.9.2

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at C:\Code\sdk
    • Platform android-30, build-tools 30.0.2
    • ANDROID_HOME = C:\Code\sdk
    • Java binary at: C:\Code\android-studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[✓] Android Studio (version 4.0)
    • Android Studio at C:\Code\android-studio
    • Flutter plugin version 49.0.2
    • Dart plugin version 193.7547
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[✓] VS Code (version 1.49.1)
    • VS Code at C:\Users\Taha\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.14.1

[✓] Connected device (1 available)
    • Android SDK built for x86 (mobile) • emulator-5554 • android-x86 • Android 10 (API 29) (emulator)

• No issues found!

Hi @lrthorhammer007
Can you please try Android Emulator or physical to reproduce this issue? Looks like you're running on gaming emulator which is not supported by Flutter. Also please upgrade to the latest stable 1.20.4
Running your project on API 29 Android Studio emulator, no issues
logs
flutter doctor -v

Okay, I'm going to run it on the real machine

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.