text:
Keyboard quickly disappears after tapping on a TextField without any debug or error message

I want to put TextField on AppBar. When i tap on TextField keyboard just appear for a second and then it disapear without any debug or error message.

sample code
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_icons/flutter_icons.dart';
import 'package:flutter/cupertino.dart';
import 'dart:math';

class MainPage extends StatefulWidget {
  @override
  _MyMainPageState createState() => _MyMainPageState();
}

class _MyMainPageState extends State<MainPage> with SingleTickerProviderStateMixin {
  final _scaffoldKey = GlobalKey<ScaffoldState>();
  GlobalKey globalKey = new GlobalKey(debugLabel: 'btm_app_bar');
  final _navigatorKey = GlobalKey<NavigatorState>();
  CupertinoTabController _tabController;
  TextEditingController _txtContrSearch;
  FocusNode _focusSearch;
  var rng = new Random();

  @override
  void initState() {
    super.initState();
    _tabController = new CupertinoTabController();
    _txtContrSearch=TextEditingController();
    _focusSearch = FocusNode();
  }

  @override
  void dispose() {
    _tabController.dispose();
    _txtContrSearch?.dispose();
    _focusSearch?.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return
            Scaffold(
                   key: _scaffoldKey,
                   backgroundColor: Colors.grey[100],
                   resizeToAvoidBottomInset: false,
                   appBar:
                      AppBar(
                        titleSpacing: 0,
                        leading:
                        GestureDetector(
                         child:
                          Icon(Icons.menu, size: 30,
                               color: Colors.black,
                          ),
                          onTap: () {
                            SystemSound.play(SystemSoundType.click);
                            _scaffoldKey.currentState.openDrawer();
                          },
                        ),
                        title:
                         Padding(padding: EdgeInsets.only(right: 5),
                         child:
                            Row(mainAxisAlignment: MainAxisAlignment.spaceBetween,
                            children: [
                              Expanded(flex: 1,
                                child:
                                Container(alignment: Alignment.center,
                                margin: EdgeInsets.only(top: 6, bottom: 5),
                                padding: EdgeInsets.only(left: 5, right: 5),
                                decoration:
                                  BoxDecoration(shape: BoxShape.rectangle, borderRadius: BorderRadius.circular(8),
                                                color: Colors.white, border: Border.all(width: 1, color: Colors.grey[350])
                                ),
                                child:
                                CupertinoTextField(
                                  controller: _txtContrSearch,
                                  focusNode: _focusSearch,
                                  decoration: null,
                                  textInputAction: TextInputAction.done,
                                  onSubmitted: (x) {
                                  },
                                )),
                              ),
                              SizedBox(
                                width: 5,
                              ),
                              SizedBox(height: 40, width: 40,
                              child:
                              Stack(alignment: Alignment.center,
                              children: [
                                Icon(Icons.chat_bubble_outline, size: 30, color: Color(0xFF6985AB),),
                                Positioned(left: 30/4, top: 6,
                                  child:
                                  Container(alignment: Alignment.center, height: 13,
                                  width: 13,
                                  decoration: BoxDecoration(shape: BoxShape.circle, color: Colors.redAccent),
                                  child:
                                  Text(rng.nextInt(100).toString(), textScaleFactor: 1.0, softWrap: false, overflow: TextOverflow.visible,),
                                  ))
                              ])),
                              Icon(AntDesign.getIconData('pushpino'), size: 30, color: Colors.black),
                            ])
                        ),
                        toolbarOpacity: 1,
                   ),
                   //bottomSheet: _bottomSheet(),
                   drawer: ....drawer(),
                   body:
                    SafeArea(child:
                        CupertinoTabScaffold(
                          resizeToAvoidBottomInset: false,
                          tabBar: CupertinoTabBar(
                            key: globalKey,
                            backgroundColor: Colors.white,
                            activeColor: Colors.blue,
                            inactiveColor: Colors.grey,
                            currentIndex: 0,
                            items: ...getTabItems(),
                            onTap: (x) {
                              SystemSound.play(SystemSoundType.click);
                            },
                          ),
                          tabBuilder: (_context, _index) {
                            return Container();
                          }
                        )
                    ),
    );
  }
}

If i remove CupertinoTabScaffold keyboard appear and work as intended.
Tested on Android 7.
Flutter doctor
> Doctor summary (to see all details, run flutter doctor -v):
> [√] Flutter (Channel stable, v1.9.1+hotfix.4, on Microsoft Windows [Version 10.0.14393], locale en-US)
>
> [√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
> [√] Android Studio (version 3.4)
> [√] IntelliJ IDEA Ultimate Edition (version 2017.2)
> [√] Connected device (1 available)
>
> • No issues found!

Hello @woozbooz !
Thank you for posting an issue.
Can you please also post the flutter doctor -v command output?

Hi @woozbooz
in your code is quite complex while the issue you describing
is specific to TextField
does this code still represent the issue you are describing?

simplified code
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) => MaterialApp(home: HomePage());
}

class HomePage extends StatefulWidget {
  @override
  _HomePage createState() => _HomePage();
}

class _HomePage extends State<HomePage>  {
  String _text;
  TextEditingController _controller;

  @override
  void initState() {
    super.initState();
    _controller = TextEditingController();
  }

  @override
  void dispose() {
     super.dispose();
    _controller?.dispose();
  }

  @override
  Widget build(BuildContext context)=> Scaffold(
    resizeToAvoidBottomInset: false,
    appBar: AppBar(
      title:  CupertinoTextField(
        controller: _controller,
        textInputAction: TextInputAction.done,
        onSubmitted: (s)=> setState(()=> _text = s) ,
      )
    ),
    body: Center(
      child: Text(_text??'hello world'),),
  );
}

thank you for the information you provided

@iapicca No, this code not represent the issue because it not contain CupertinoTabScaffold. The problem is, i think, with FocusScope mechanics inside CupertinoTabScaffold widget.
@janmoppel
[√] Flutter (Channel stable, v1.9.1+hotfix.4, on Microsoft Windows [Version 10.0.14393], locale en-US)
    • Flutter version 1.9.1+hotfix.4 at Z:\flutter
    • Framework revision cc949a8e8b (8 weeks ago), 2019-09-27 15:04:59 -0700
    • Engine revision b863200c37
    • Dart version 2.5.0

[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at Z:\ANDSDK
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • ANDROID_HOME = Z:\ANDSDK
    • Java binary at: Z:\AndStudio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
    • All Android licenses accepted.

[√] Android Studio (version 3.4)
    • Android Studio at Z:\AndStudio
    • Flutter plugin version 36.0.1
    • Dart plugin version 183.6270
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)

[√] IntelliJ IDEA Ultimate Edition (version 2017.2)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA 2017.2
    • Flutter plugin version 21.2.2
    • Dart plugin version 172.3317.48

[√] Connected device (1 available)
    • PRO 7 • 79BHADRNTQWEK • android-arm64 • Android 7.0 (API 24)
• No issues found!

\cupertino\tab_scaffold.dart
there is code:
@override
  void didChangeDependencies() {
    super.didChangeDependencies();
    _focusActiveTab();
  }

if i comment this line  _focusActiveTab(); keyboard appear normally on screen, but in output window i got next error:
I/flutter ( 6260): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
I/flutter ( 6260): The following NoSuchMethodError was thrown building _TabSwitchingView(dirty, state:
I/flutter ( 6260): _TabSwitchingViewState#6b346):
I/flutter ( 6260): The method '[]' was called on null.
I/flutter ( 6260): Receiver: null
I/flutter ( 6260): Tried calling: [](0)
I/flutter ( 6260)

I think flutter team must add to this code (tab_scaffold) some kind of flag wich will show why exactly didChangeDependencies() called. And if it is keyboard appear then not to call _focusActiveTab();

If somebody need a workaroud:
replace code
void _focusActiveTab() {
    if (tabFocusNodes?.length != widget.tabNumber) {
      tabFocusNodes = List<FocusScopeNode>.generate(
        widget.tabNumber,
        (int index) => FocusScopeNode(debugLabel: 'Tab Focus Scope $index'),
      );
    }
    FocusScope.of(context).setFirstFocus(tabFocusNodes[widget.currentTabIndex]);
  }

in tab_scaffold.dart  with next code:
    if (tabFocusNodes?.length != widget.tabNumber) {
      tabFocusNodes = List<FocusScopeNode>.generate(
        widget.tabNumber,
        (int index) => FocusScopeNode(debugLabel: 'Tab Focus Scope $index'),
      );
     FocusScope.of(context).setFirstFocus(tabFocusNodes[widget.currentTabIndex]);
    }
  }

same issue on bottomsheet

Tested on  and it still exist
Flutter 1.12.13+hotfix.8 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 0b8abb4724 (4 weeks ago) • 2020-02-11 11:44:36 -0800
Engine • revision e1e6ced81d
Tools • Dart 2.7.0

Code Sample
import 'dart:math';

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      title: 'Material App',
      theme: ThemeData.dark(),
      home: MainPage(),
    );
  }
}

class MainPage extends StatefulWidget {
  @override
  _MyMainPageState createState() => _MyMainPageState();
}

class _MyMainPageState extends State<MainPage>
    with SingleTickerProviderStateMixin {
  final _scaffoldKey = GlobalKey<ScaffoldState>();
  GlobalKey globalKey = new GlobalKey(debugLabel: 'btm_app_bar');
  final _navigatorKey = GlobalKey<NavigatorState>();
  CupertinoTabController _tabController;
  TextEditingController _txtContrSearch;
  FocusNode _focusSearch;
  var rng = new Random();

  @override
  void initState() {
    super.initState();
    _tabController = new CupertinoTabController();
    _txtContrSearch = TextEditingController();
    _focusSearch = FocusNode();
  }

  @override
  void dispose() {
    _tabController.dispose();
    _txtContrSearch?.dispose();
    _focusSearch?.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      key: _scaffoldKey,
      backgroundColor: Colors.grey[100],
      resizeToAvoidBottomInset: false,
      appBar: AppBar(
        titleSpacing: 0,
        leading: GestureDetector(
          child: Icon(
            Icons.menu,
            size: 30,
            color: Colors.black,
          ),
          onTap: () {
            SystemSound.play(SystemSoundType.click);
            _scaffoldKey.currentState.openDrawer();
          },
        ),
        title: Padding(
            padding: EdgeInsets.only(right: 5),
            child: Row(
                mainAxisAlignment: MainAxisAlignment.spaceBetween,
                children: [
                  Expanded(
                    flex: 1,
                    child: Container(
                        alignment: Alignment.center,
                        margin: EdgeInsets.only(top: 6, bottom: 5),
                        padding: EdgeInsets.only(left: 5, right: 5),
                        decoration: BoxDecoration(
                            shape: BoxShape.rectangle,
                            borderRadius: BorderRadius.circular(8),
                            color: Colors.white,
                            border:
                                Border.all(width: 1, color: Colors.grey[350])),
                        child: CupertinoTextField(
                          controller: _txtContrSearch,
                          focusNode: _focusSearch,
                          decoration: null,
                          textInputAction: TextInputAction.done,
                          onSubmitted: (x) {},
                        )),
                  ),
                  SizedBox(
                    width: 5,
                  ),
                  SizedBox(
                      height: 40,
                      width: 40,
                      child: Stack(alignment: Alignment.center, children: [
                        Icon(
                          Icons.chat_bubble_outline,
                          size: 30,
                          color: Color(0xFF6985AB),
                        ),
                        Positioned(
                            left: 30 / 4,
                            top: 6,
                            child: Container(
                              alignment: Alignment.center,
                              height: 13,
                              width: 13,
                              decoration: BoxDecoration(
                                  shape: BoxShape.circle,
                                  color: Colors.redAccent),
                              child: Text(
                                rng.nextInt(100).toString(),
                                textScaleFactor: 1.0,
                                softWrap: false,
                                overflow: TextOverflow.visible,
                              ),
                            ))
                      ])),
                  Icon(Icons.add, size: 30, color: Colors.black),
                ])),
        toolbarOpacity: 1,
      ),
      //bottomSheet: _bottomSheet(),
      drawer: Drawer(),
      body: SafeArea(
          child: CupertinoTabScaffold(
              resizeToAvoidBottomInset: false,
              tabBar: CupertinoTabBar(
                items: const <BottomNavigationBarItem>[
                  BottomNavigationBarItem(
                    icon: Icon(CupertinoIcons.home),
                    title: Text('Home'),
                  ),
                  BottomNavigationBarItem(
                    icon: Icon(CupertinoIcons.conversation_bubble),
                    title: Text('Support'),
                  ),
                  BottomNavigationBarItem(
                    icon: Icon(CupertinoIcons.profile_circled),
                    title: Text('Profile'),
                  ),
                ],
              ),
              tabBuilder: (_context, _index) {
                return Container();
              })),
    );
  }
}

Confirm, some problem in 1.20 :(

Try put the code in a @try @catch block ? May be it has an error . When I navigate from page A to B, an error of Navigator occurs during navigation. That results the keyboard auto disappear in page B.

Reproduces with this minimal code sample on stable 3.3 and the master 3.6.
https://user-images.githubusercontent.com/31410839/203647590-05a65dd5-4376-4201-b73a-3d20ff35cb90.mov
On removing CupertinoTabScaffold textfield works as intended, This is definitely an issue with CupertinoTabScaffold

code sample
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      title: 'Material App',
      home: MainPage(),
    );
  }
}

class MainPage extends StatefulWidget {
  @override
  _MyMainPageState createState() => _MyMainPageState();
}

class _MyMainPageState extends State<MainPage>
    with SingleTickerProviderStateMixin {
  late TextEditingController _txtContrSearch;

  @override
  void initState() {
    _txtContrSearch = TextEditingController();
    super.initState();
  }

  @override
  void dispose() {
    _txtContrSearch.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      resizeToAvoidBottomInset: false,
      appBar: AppBar(
        title: Container(
            decoration: BoxDecoration(
                shape: BoxShape.rectangle,
                borderRadius: BorderRadius.circular(8),
                color: Colors.white,
                border: Border.all(width: 1, color: Colors.grey.shade400)),
            child: CupertinoTextField(
              controller: _txtContrSearch,
              decoration: null,
              textInputAction: TextInputAction.done,
              onSubmitted: (x) {},
            )),
        toolbarOpacity: 1,
      ),
      body: CupertinoTabScaffold(
          tabBar: CupertinoTabBar(
            items: const <BottomNavigationBarItem>[
              BottomNavigationBarItem(
                icon: Icon(CupertinoIcons.home),
                label: 'Home',
              ),
              BottomNavigationBarItem(
                icon: Icon(CupertinoIcons.conversation_bubble),
                label: 'Support',
              ),
              BottomNavigationBarItem(
                icon: Icon(CupertinoIcons.profile_circled),
                label: 'Profile',
              ),
            ],
          ),
          tabBuilder: (_context, _index) {
            return Container();
          }),
    );
  }
}

flutter doctor -v (mac)
[✓] Flutter (Channel master, 3.6.0-6.0.pre.33, on macOS 12.6 21G115 darwin-arm64,
    locale en-IN)
    • Flutter version 3.6.0-6.0.pre.33 on channel master at
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision a9858ec524 (72 minutes ago), 2022-11-21 10:58:11 -0500
    • Engine revision 46a6b54295
    • Dart version 2.19.0 (build 2.19.0-406.0.dev)
    • DevTools version 2.19.0
    • If those were intentional, you can disregard the above warnings; however it is
      recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0-rc4)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0-rc4
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

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

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

[✓] Android Studio (version 2021.2)
    • 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.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 61.2.4
    • Dart plugin version 212.5080.8

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

[✓] Connected device (3 available)
    • iPhone 12 Pro (mobile) • 026D5789-9E78-4AD5-B1B2-3F8D4E7F65E4 • ios
      • com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64
      • macOS 12.6 21G115 darwin-arm64
    • Chrome (web)           • chrome                               • web-javascript
      • Google Chrome 107.0.5304.110

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

• No issues found!

[✓] Flutter (Channel stable, 3.3.9, on macOS 12.6 21G115 darwin-arm, locale en-IN)
    • Flutter version 3.3.9 on channel stable at /Users/mahesh/Development/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b8f7f1f986 (24 hours ago), 2022-11-23 06:43:51 +0900
    • Engine revision 8f2221fbef
    • Dart version 2.18.5
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0-rc4)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0-rc4
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

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

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

[✓] Android Studio (version 2021.2)
    • 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.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 61.2.4
    • Dart plugin version 212.5080.8

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

[✓] Connected device (3 available)
    • iPhone 12 Pro (mobile) • 026D5789-9E78-4AD5-B1B2-3F8D4E7F65E4 • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS 12.6 21G115 darwin-arm
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome 107.0.5304.110

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

• No issues found!

Can this still be reproduced on the latest master?

authors: GuoZhiQiang TahaTesser The-five-stooges carmas123 iapicca janmoppel justinmc maheshmnj woozbooz


text:
[Material] adding a Dash icon to Icons

Dash the plushie, is becoming famous while touring NY and I thought it may be the time to ask Santa Claus for a new Icon: a Dash icon
Of course a package can provide such an icon but Dash place is in flutter nest.

CC @willlarche

I heartily endorse this proposal.

While working on my project, has 2 button Increase and Decrease, I notice there is no Dash icon yet. Thus vote up for adding this icon.

source: gharchive/issue

repo: flutter/flutter

license_type: permissive

license_source: github-api


text:
[cocoon] Backend APIs are consuming the entire github API quota

GitHub Error: API rate limit exceeded for user ID 52682268.
#0      GitHub.handleStatusCode (package:github/src/common/github.dart:423:5)
#1      GitHub.request (package:github/src/common/github.dart:368:7)
<asynchronous suspension>
#2      PaginationHelper.fetchStreamed (package:github/src/common/util/pagination.dart:35:33)
<asynchronous suspension>
#3      PaginationHelper.jsonObjects (package:github/src/common/util/pagination.dart:97:34)
<asynchronous suspension>
#4      PaginationHelper.objects (package:github/src/common/util/pagination.dart:119:12)
#5      RepositoriesService.listBranches (package:github/src/common/repos_service.dart:250:38)
#6      getBranches (package:cocoon_service/src/foundation/utils.dart:79:57)
<asynchronous suspension>
#7      GetBranches.get (package:cocoon_service/src/request_handlers/get_branches.dart:36:43)
#8      CacheRequestHandler.getBodyBytesFromDelegate (package:cocoon_service/src/request_handling/cache_request_handler.dart:70:38)
#9      CacheRequestHandler.get.<anonymous closure> (package:cocoon_service/src/request_handling/cache_request_handler.dart:60:23)
#10     CacheService.getOrCreate (package:cocoon_service/src/service/cache_service.dart:81:29)
<asynchronous suspension>
#11     CacheRequestHandler.get (package:cocoon_service/src/request_handling/cache_request_handler.dart:57:50)
#12     RequestHandler.service.<anonymous closure> (package:cocoon_service/src/request_handling/request_handler.dart:46:28)
#13     _rootRun (dart:async/zone.dart:1126:13)
#14     _CustomZone.run (dart:async/zone.dart:1023:19)
#15     _runZoned (dart:async/zone.dart:1518:10)
#16     runZoned (dart:async/zone.dart:1465:12)
#17     RequestHandler.service (package:cocoon_service/src/request_handling/request_handler.dart:39:12)
#18     main.<anonymous closure>.<anonymous closure> (file:///app/bin/server.dart:83:23)
#19     runAppEngine.<anonymous closure> (package:appengine/appengine.dart:80:12)
#20     runAppEngine.<anonymous closure>.<anonymous closure>.<anonymous closure> (package:appengine/src/appengine_internal.dart:59:18)
#21     _ServiceScope._fork.<anonymous closure> (package:gcloud/service_scope.dart:209:19)
#22     _rootRun (dart:async/zone.dart:1126:13)
#23     _CustomZone.run (dart:async/zone.dart:1023:19)
#24     _runZoned (dart:async/zone.dart:1518:10)
#25     runZoned (dart:async/zone.dart:1502:12)
#26     _ServiceScope._fork (package:gcloud/service_scope.dart:208:12)
#27     fork (package:gcloud/service_scope.dart:104:30)
#28     runAppEngine.<anonymous closure>.<anonymous closure> (package:appengine/src/appengine_internal.dart:57:9)
#29     AppEngineHttpServer.run.<anonymous closure>.<anonymous closure> (package:appengine/src/server/server.dart:83:16)
#30     _rootRunUnary (dart:async/zone.dart:1134:38)
#31     _CustomZone.runUnary (dart:async/zone.dart:1031:19)
#32     _CustomZone.runUnaryGuarded (dart:async/zone.dart:933:7)
#33     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:338:11)
#34     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:265:7)
#35     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:766:19)
#36     _StreamController._add (dart:async/stream_controller.dart:642:7)
#37     _StreamController.add (dart:async/stream_controller.dart:588:5)
#38     _HttpServer._handleRequest (dart:_http/http_impl.dart:2828:19)
#39     new _HttpConnection.<anonymous closure> (dart:_http/http_impl.dart:2586:19)
#40     _rootRunUnary (dart:async/zone.dart:1134:38)
#41     _CustomZone.runUnary (dart:async/zone.dart:1031:19)
#42     _CustomZone.runUnaryGuarded (dart:async/zone.dart:933:7)
#43     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:338:11)
#44     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:265:7)
#45     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:766:19)
#46     _StreamController._add (dart:async/stream_controller.dart:642:7)
#47     _StreamController.add (dart:async/stream_controller.dart:588:5)
#48     _HttpParser._headersEnd (dart:_http/http_parser.dart:374:19)
#49     _HttpParser._doParse (dart:_http/http_parser.dart:703:15)
#50     _HttpParser._parse (dart:_http/http_parser.dart:320:7)
#51     _HttpParser._onData (dart:_http/http_parser.dart:812:5)
#52     _rootRunUnary (dart:async/zone.dart:1134:38)
#53     _CustomZone.runUnary (dart:async/zone.dart:1031:19)
#54     _CustomZone.runUnaryGuarded (dart:async/zone.dart:933:7)
#55     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:338:11)
#56     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:265:7)
#57     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:766:19)
#58     _StreamController._add (dart:async/stream_controller.dart:642:7)
#59     _StreamController.add (dart:async/stream_controller.dart:588:5)
#60     _Socket._onData (dart:io-patch/socket_patch.dart:1851:41)
#61     _rootRunUnary (dart:async/zone.dart:1138:13)
#62     _CustomZone.runUnary (dart:async/zone.dart:1031:19)
#63     _CustomZone.runUnaryGuarded (dart:async/zone.dart:933:7)
#64     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:338:11)
#65     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:265:7)
#66     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:766:19)
#67     _StreamController._add (dart:async/stream_controller.dart:642:7)
#68     _StreamController.add (dart:async/stream_controller.dart:588:5)
#69     new _RawSocket.<anonymous closure> (dart:io-patch/socket_patch.dart:1399:33)
#70     _NativeSocket.issueReadEvent.issue (dart:io-patch/socket_patch.dart:919:14)
#71     _microtaskLoop (dart:async/schedule_microtask.dart:43:21)
#72     _startMicrotaskLoop (dart:async/schedule_microtask.dart:52:5)
#73     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:118:13)
#74     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:175:5)

Let's keep it open until we get the quota back

All APIs are working through. Removing TODAY label.

This is not happening anymore.

authors: godofredoc keyonghan


text:
AppBar shadow does not extend to the edge of the screen (particularly noticeable during back gesture)

On iOS, when swiping back, you can see a small portion that is missing its shadow. It's especially visible during the back gesture action, because of the contrast. Notice how in the upper left of the shadow, right under the blue app bar that is moving off the page, you see an area that is lighter than the rest. The effect is more pronounced on your phone itself, as you're moving the view off the screen.

It actually has nothing to do with the back gesture.  You can see this small missing shadow even when not gesturing, it's just less noticeable.
I'm not quite sure why the shadow doesn't extend to the edge of the screen.
The shadow is also the same on Android, so removing the iOS label.
@chinmaygarde is this a quirk of the shadow we use from Skia?

flutter doctor -v
[✓] Flutter (Channel dev, 1.19.0-3.0.pre, on Mac OS X 10.15.5 19F96, locale
    en-GB)
    • Flutter version 1.19.0-3.0.pre at /Users/tahatesser/Code/flutter_dev
    • Framework revision 6135091de9 (31 hours ago), 2020-06-01 17:17:03 -0700
    • Engine revision e39301f23f
    • Dart version 2.9.0 (build 2.9.0-11.0.dev 6489a0c68d)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at /Users/tahatesser/Code/sdk
    • Platform android-29, build-tools 29.0.3
    • ANDROID_HOME = /Users/tahatesser/Code/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
    • 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.9.3

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

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 45.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

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

[✓] Connected device (4 available)
    • iPhone 11  • 0EC80516-8F99-4A0C-89ED-2273579862F9 • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-13-5 (simulator)
    • macOS      • macOS                                • darwin-x64     • Mac
      OS X 10.15.5 19F96
    • Web Server • web-server                           • web-javascript •
      Flutter Tools
    • Chrome     • chrome                               • web-javascript •
      Google Chrome 83.0.4103.61

• No issues found!

flutter doctor -v
[✓] Flutter (Channel stable, 1.22.5, on macOS 11.1 20C69 darwin-x64, locale en-GB)
    • Flutter version 1.22.5 at /Users/tahatesser/Code/flutter_stable
    • Framework revision 7891006299 (4 weeks ago), 2020-12-10 11:54:40 -0800
    • Engine revision ae90085a84
    • Dart version 2.10.4

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Volumes/Extreme/sdk
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /Volumes/Extreme/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Volumes/Extreme/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    • CocoaPods version 1.10.0

[!] Android Studio (version 4.1)
    • 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_242-release-1644-b3-6915495)

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

[✓] Connected device (2 available)
    • Taha’s iPad (mobile) • 00008020-000255113EE8402E            • ios • iOS 14.3
    • iPhone 12 (mobile)   • 12D8FF8E-2815-436E-9951-B8A6A42E4ACF • ios • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)

! Doctor found issues in 1 category.

[✓] Flutter (Channel master, 1.26.0-2.0.pre.200, on macOS 11.1 20C69 darwin-x64, locale en-GB)
    • Flutter version 1.26.0-2.0.pre.200 at /Users/tahatesser/Code/flutter_master
    • Framework revision d0e9959a46 (11 hours ago), 2021-01-05 22:14:03 -0500
    • Engine revision e115066dcd
    • Dart version 2.12.0 (build 2.12.0-179.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Volumes/Extreme/sdk
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /Volumes/Extreme/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Volumes/Extreme/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    • CocoaPods version 1.10.0

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

[✓] Android Studio (version 4.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 1.8.0_242-release-1644-b3-6915495)

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

[✓] Connected device (4 available)
    • Taha’s iPad (mobile) • 00008020-000255113EE8402E            • ios            • iOS 14.3
    • iPhone 12 (mobile)   • 12D8FF8E-2815-436E-9951-B8A6A42E4ACF • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)      • macos                                • darwin-x64     • macOS 11.1 20C69 darwin-x64
    • Chrome (web)         • chrome                               • web-javascript • Google Chrome 87.0.4280.88

• No issues found!

flutter doctor -v
[✓] Flutter (Channel stable, 1.22.5, on macOS 11.1 20C69 darwin-x64, locale en-GB)
    • Flutter version 1.22.5 at /Users/tahatesser/Code/flutter_stable
    • Framework revision 7891006299 (4 weeks ago), 2020-12-10 11:54:40 -0800
    • Engine revision ae90085a84
    • Dart version 2.10.4

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Volumes/Extreme/sdk
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /Volumes/Extreme/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Volumes/Extreme/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    • CocoaPods version 1.10.0

[!] Android Studio (version 4.1)
    • 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_242-release-1644-b3-6915495)

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

[✓] Connected device (2 available)
    • Taha’s iPad (mobile) • 00008020-000255113EE8402E            • ios • iOS 14.3
    • iPhone 12 (mobile)   • 12D8FF8E-2815-436E-9951-B8A6A42E4ACF • ios • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)

! Doctor found issues in 1 category.

[✓] Flutter (Channel master, 1.26.0-2.0.pre.200, on macOS 11.1 20C69 darwin-x64, locale en-GB)
    • Flutter version 1.26.0-2.0.pre.200 at /Users/tahatesser/Code/flutter_master
    • Framework revision d0e9959a46 (11 hours ago), 2021-01-05 22:14:03 -0500
    • Engine revision e115066dcd
    • Dart version 2.12.0 (build 2.12.0-179.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Volumes/Extreme/sdk
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /Volumes/Extreme/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Volumes/Extreme/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    • CocoaPods version 1.10.0

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

[✓] Android Studio (version 4.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 1.8.0_242-release-1644-b3-6915495)

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

[✓] Connected device (4 available)
    • Taha’s iPad (mobile) • 00008020-000255113EE8402E            • ios            • iOS 14.3
    • iPhone 12 (mobile)   • 12D8FF8E-2815-436E-9951-B8A6A42E4ACF • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)      • macos                                • darwin-x64     • macOS 11.1 20C69 darwin-x64
    • Chrome (web)         • chrome                               • web-javascript • Google Chrome 87.0.4280.88

• No issues found!

This issue is still reproducible on the latest stable/master channel.

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

void main() {
  runApp(
    MaterialApp(
      title: 'Named Routes Demo',
      // Start the app with the "/" named route. In this case, the app starts
      // on the FirstScreen widget.
      initialRoute: '/',
      routes: {
        // When navigating to the "/" route, build the FirstScreen widget.
        '/': (context) => const FirstScreen(),
        // When navigating to the "/second" route, build the SecondScreen widget.
        '/second': (context) => const SecondScreen(),
      },
    ),
  );
}

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

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('First Screen'),
        backgroundColor: Colors.blue,
        elevation: 8.0,
        shadowColor: Colors.black,
      ),
      body: Center(
        child: ElevatedButton(
          // Within the `FirstScreen` widget
          onPressed: () {
            // Navigate to the second screen using a named route.
            Navigator.pushNamed(context, '/second');
          },
          child: const Text('Launch screen'),
        ),
      ),
    );
  }
}

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

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Second Screen'),
        backgroundColor: Colors.blue,
        elevation: 8.0,
        shadowColor: Colors.black,
      ),
      body: Center(
        child: ElevatedButton(
          // Within the SecondScreen widget
          onPressed: () {
            // Navigate back to the first screen by popping the current route
            // off the stack.
            Navigator.pop(context);
          },
          child: const Text('Go back!'),
        ),
      ),
    );
  }
}

Demo on iPhone 7, iOS 15.8
https://github.com/flutter/flutter/assets/104349824/1a4d3a8c-3214-42d3-bf95-70b9679976d8

flutter doctor -v (stable and master)
[✓] Flutter (Channel stable, 3.19.1, on macOS 14.1 23B74 darwin-x64, locale en-VN)
    • Flutter version 3.19.1 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision abb292a07e (29 hours ago), 2024-02-20 14:35:05 -0800
    • Engine revision 04817c99c9
    • Dart version 3.3.0
    • DevTools version 2.31.1

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

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

[✓] 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 Hedgehog.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)

[✓] Android Studio (version 2022.2)
    • 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
    • android-studio-dir = /Applications/Android Studio.app/
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

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

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 14.1 23B74 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 121.0.6167.184

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

• No issues found!

[!] Flutter (Channel master, 3.20.0-11.0.pre.106, on macOS 14.1 23B74 darwin-x64, locale en-VN)
    • Flutter version 3.20.0-11.0.pre.106 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    ! Warning: `flutter` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 59da873ef0 (4 minutes ago), 2024-02-22 19:16:20 -0800
    • Engine revision 0f3ad23b84
    • Dart version 3.4.0 (build 3.4.0-167.0.dev)
    • DevTools version 2.33.0-dev.11
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

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

[✓] 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 Hedgehog.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)

[✓] Android Studio (version 2022.2)
    • 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
    • android-studio-dir = /Applications/Android Studio.app/
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

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

[✓] Connected device (4 available)
    • RMX2001 (mobile) • EUYTFEUSQSRGDA6D                         • android-arm64  • Android 11 (API 30)
    • iPhone (mobile)  • d9a94afe2b649fef56ba0bfeb052f0f2a7dae95e • ios            • iOS 15.8 19H370
    • macOS (desktop)  • macos                                    • darwin-x64     • macOS 14.1 23B74 darwin-x64
    • Chrome (web)     • chrome                                   • web-javascript • Google Chrome 122.0.6261.57

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

! Doctor found issues in 1 category.

authors: TahaTesser eseidelGoogle huycozy sethladd


text:
ImageFilter blur artifacts on circles

Steps to Reproduce

Hello,
I recently wrote a smart washing machine app 💧 and found a problem with blur in ImageFilter.
If I blur a circle drawn on canvas, sometimes artifacts arise. I will show this on gifs.
Below is code which I use to create "metaball" effect
 context.pushLayer(
          ColorFilterLayer(
            colorFilter: ColorFilter.matrix(
              [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 20, -800],
            ),
          ),
          (PaintingContext context2, Offset offset2) => context2.pushLayer(
                ImageFilterLayer(
                  imageFilter: ImageFilter.blur(sigmaX: 8, sigmaY: 8),
                ),
                (PaintingContext context3, Offset offset3) =>
                    _drawBalls(context3, offset3),
                offset2,
              ),
          offset);

In _drawBalls there is only drawing like canvas.drawCircle.
The full source of app is here: https://github.com/pawlik92/flutter_whirlpool
Drawing method is in file "washing_machine_drum.dart" in metod "_drawWhirlpool()"
Expected results:
Blurred circles without artifacts
Actual results:

Logs

Running "flutter pub get" in flutter_whirlpool...                   1.6s
Analyzing flutter_whirlpool...
No issues found! (ran in 7.9s)

[✓] Flutter (Channel stable, v1.17.0, on Mac OS X 10.15.2 19C57, locale en-US)
    • Flutter version 1.17.0 at /Users/Tomek/Documents/flutter
    • Framework revision e6b34c2b5c (4 days ago), 2020-05-02 11:39:18 -0700
    • Engine revision 540786dd51
    • Dart version 2.8.1

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/Tomek/Library/Developer/Xamarin/android-sdk-macosx
    • Platform android-28, build-tools 28.0.3
    • ANDROID_HOME = /Users/Tomek/Library/Developer/Xamarin/android-sdk-macosx
    • 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-915-b08)
    • 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.0)
    • 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_152-release-915-b08)

[!] IntelliJ IDEA Community Edition (version 2019.1.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • For information about installing plugins, see
      https://flutter.dev/intellij-setup/#installing-the-plugins

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

[✓] Connected device (1 available)
    • iPhone • 9806872341d98c3db23e9b40711ae4e57aab831d • ios • iOS 13.4

! Doctor found issues in 2 categories.

Also reproduces on dev channel

flutter doctor -v
[✓] Flutter (Channel dev, 1.18.0-12.0.pre, on Mac OS X 10.15.4 19E287, locale en-GB)
    • Flutter version 1.18.0-12.0.pre at /Users/tahatesser/Code/flutter_dev
    • Framework revision c2b7342ca4 (21 hours ago), 2020-05-06 23:16:03 +0800
    • Engine revision 33d2367950
    • Dart version 2.9.0 (build 2.9.0-5.0.dev 9c94f08410)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at /Users/tahatesser/Code/SDK
    • Platform android-29, build-tools 29.0.3
    • ANDROID_HOME = /Users/tahatesser/Code/SDK
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
    • All Android licenses accepted.

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

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

[✓] Android Studio (version 3.6)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 45.1.1
    • Dart plugin version 192.7761
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)

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

[✓] Connected device (5 available)
    • SM M305F      • 32003c30dc19668f          • android-arm64  • Android 10 (API 29)
    • Taha’s iPhone • 00008020-001059882212002E • ios            • iOS 13.4.1
    • macOS         • macOS                     • darwin-x64     • Mac OS X 10.15.4 19E287
    • Web Server    • web-server                • web-javascript • Flutter Tools
    • Chrome        • chrome                    • web-javascript • Google Chrome 81.0.4044.138

• No issues found!

Yes, i have same issue too.
I used blur effect in widgets, code like: ImageFilter.blur(sigmaX: 30, sigmaY: 30);
When the param 'sigma' bigger than 15,  it will come into being blur artifacts.
When the under pictures-layer scrolls, the blur artifacts will attract attention, and Show a sense of cheapness.

I didn't see how to get the tumbling balls in the original app, but the output is exactly what I'd expect from the default blur edge conditions of clamp. The ImageFilter.blur() constructor was recently enhanced to allow the specification of a TileMode for edge conditions. This example would likely work much better by specifying a value of TileMode.decal.
See https://github.com/flutter/flutter/issues/71871


text:
NestedScrollView inertia scroll  cause body scrollable widget scroll

sample code like this
import 'dart:math';

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      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> with SingleTickerProviderStateMixin {
  TabController _tabController;

  @override
  void initState() {
    super.initState();
    _tabController = TabController(vsync: this, length: 3);
  }

  @override
  Widget build(BuildContext context) {
    var sliverList = <Widget>[
      SliverToBoxAdapter(
        child: Container(
          color: randomColor(),
          height: 200,
        ),
      ),
      SliverToBoxAdapter(
        child: Container(
          color: randomColor(),
          height: 200,
        ),
      ),
      SliverToBoxAdapter(
        child: Container(
          color: randomColor(),
          height: 200,
        ),
      ),
      SliverToBoxAdapter(
        child: Container(
          color: randomColor(),
          height: 200,
        ),
      ),
      SliverToBoxAdapter(
        child: Container(
          color: randomColor(),
          height: 200,
        ),
      ),
      SliverToBoxAdapter(
        child: Container(
          color: randomColor(),
          height: 200,
        ),
      ),
      SliverToBoxAdapter(
        child: Container(
          color: randomColor(),
          height: 200,
        ),
      ),
      SliverToBoxAdapter(
        child: Container(
          color: randomColor(),
          height: 200,
        ),
      ),
      SliverToBoxAdapter(
        child: Container(
          color: randomColor(),
          height: 200,
        ),
      ),
      SliverToBoxAdapter(
        child: Container(
          color: randomColor(),
          height: 200,
        ),
      ),
      SliverPersistentHeader(
        pinned: true,
        delegate: _SliverPersistentHeaderDelegate(_tabController),
      ),
    ];

    return Scaffold(
      appBar: AppBar(
        centerTitle: true,
        title: Text('TEST'),
      ),
      body: NestedScrollView(
        headerSliverBuilder: (BuildContext context, bool innerBoxIsScrolled) {
          return sliverList;
        },
        body: TabBarView(
          controller: _tabController,
          children: <Widget>[
            CustomScrollView(
              slivers: <Widget>[
                SliverToBoxAdapter(
                  child: Container(
                    height: 200,
                    color: randomColor(),
                  ),
                ),
                SliverToBoxAdapter(
                  child: Container(
                    height: 400,
                    color: randomColor(),
                  ),
                ),
                SliverToBoxAdapter(
                  child: Container(
                    height: 300,
                    color: randomColor(),
                  ),
                ),
                SliverToBoxAdapter(
                  child: Container(
                    height: 400,
                    color: randomColor(),
                  ),
                ),
                SliverToBoxAdapter(
                  child: Container(
                    height: 200,
                    color: randomColor(),
                  ),
                ),
              ],
            ),
            Container(
              height: 1400,
              color: randomColor(),
            ),
            Container(
              height: 1400,
              color: randomColor(),
            ),
          ],
        ),
      ),
    );
  }
}

class _SliverPersistentHeaderDelegate extends SliverPersistentHeaderDelegate {
  final TabController tabController;

  _SliverPersistentHeaderDelegate(this.tabController);

  @override
  Widget build(BuildContext context, double shrinkOffset, bool overlapsContent) {
    return TabBar(
      controller: tabController,
      labelColor: Colors.blue,
      tabs: <Widget>[
        Tab(
          text: '111',
        ),
        Tab(
          text: '222',
        ),
        Tab(
          text: '333',
        ),
      ],
    );
  }

  @override
  double get maxExtent => TabBar(
        tabs: <Widget>[],
      ).preferredSize.height;

  @override
  double get minExtent => TabBar(
        tabs: <Widget>[],
      ).preferredSize.height;

  @override
  bool shouldRebuild(SliverPersistentHeaderDelegate oldDelegate) {
    return true;
  }
}

Color randomColor() {
  List<MaterialColor> colors = [
    Colors.red,
    Colors.orange,
    Colors.yellow,
    Colors.green,
    Colors.cyan,
    Colors.blue,
    Colors.purple,
  ];
  return colors[Random.secure().nextInt(6)][Random.secure().nextInt(8) * 100 + 100];
}

flutter doctor
[✓] Flutter (Channel stable, v1.17.3, on Mac OS X 10.15.5 19F101, locale zh-Hans-CN)
    • Flutter version 1.17.3 at /Volumes/DATA/Library/Flutter/sdk
    • Framework revision b041144f83 (10 days ago), 2020-06-04 09:26:11 -0700
    • Engine revision ee76268252
    • Dart version 2.8.4

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at /Volumes/DATA/Library/Android/sdk
    • Platform android-29, build-tools 29.0.3
    • ANDROID_HOME = /Volumes/DATA/Library/Android/sdk
    • Java binary at: /Volumes/DATA/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

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

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions).

[!] IntelliJ IDEA Community Edition (version 2020.1.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • For information about installing plugins, see
      https://flutter.dev/intellij-setup/#installing-the-plugins

[✓] 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)
    • GM1900 • 73b80a9b • android-arm64 • Android 10 (API 29)

! Doctor found issues in 2 categories.

Hi @GitTradWang
could you describe what behaviour would you expect?

like this gif !  i touch outer scrollview (NestedScrollView) but body`s customScrollView scrolled.

flutter doctor -v
[✓] Flutter (Channel dev, 1.20.0-0.0.pre, on Mac OS X 10.15.5 19F101, locale
    en-GB)
    • Flutter version 1.20.0-0.0.pre at /Users/tahatesser/Code/flutter_dev
    • Framework revision d9653445f4 (6 days ago), 2020-06-09 18:43:03 -0400
    • Engine revision e8c13aa012
    • Dart version 2.9.0 (build 2.9.0-14.0.dev 5c1376615e)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
    • Android SDK at /Users/tahatesser/Code/sdk
    • Platform android-30, build-tools 30.0.0
    • ANDROID_HOME = /Users/tahatesser/Code/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
    • 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.9.3

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

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 46.0.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

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

[✓] Connected device (4 available)
    • SM M305F   • 32003c30dc19668f • android-arm64  • Android 10 (API 29)
    • macOS      • macOS            • darwin-x64     • Mac OS X 10.15.5 19F101
    • Web Server • web-server       • web-javascript • Flutter Tools
    • Chrome     • chrome           • web-javascript • Google Chrome
      83.0.4103.97

• No issues found!

What do you expect to happen? What effect are you trying to achieve?

Hi @GitTradWang!
The NestedScrollView connects the outer and inner scroll views together, as if they were one long continuous scroll view. The nested scroll coordinator controls which one moves as you drag on them. As you are dragging up, or when the ScrollDirection is in reverse, as your gif shows, the inner is going to receive the delta as it comes before the outer. This is regardless of which one you are actually touching, as the coordinator controls where the drag is distributed.
When the top of the inner has been reached, it will then apply any leftover delta to the outer scroll view. Does this explaining the behavior you are seeing?

@Piinks @goderbauer
when nestedscrollview is flying ，body`s scrollview flying too. whatever nestedscrollview located where。。
have nothing to do with drag ！！ it only happening in  nestedscrollview flying

Thanks for the update! I don't understand what you mean by flying, can you elaborate more?

@Piinks
Sorry for my terrible english。。。
flying mean  fast scroll scrollview and finger cannot be in touch with screen ,the scrollview also scroll a distance  finally slow stop

@Piinks
Sorry for my terrible english。。。

Not terrible at all. 🙂  Thanks for explaining some more!

flying mean fast scroll scrollview and finger cannot be in touch with screen ,the scrollview also scroll a distance finally slow stop

I haven't been able to reproduce this yet, but it sounds like it may be triggered by a fling gesture. I'll see if I can get it to reproduce like that.

This issue is still reproducible in the latest stable and master channels.
Code sample
import 'dart:math';

import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

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

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

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

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage>
    with SingleTickerProviderStateMixin {
  late TabController _tabController;

  @override
  void initState() {
    super.initState();
    _tabController = TabController(vsync: this, length: 3);
  }

  @override
  Widget build(BuildContext context) {
    var sliverList = <Widget>[
      SliverToBoxAdapter(
        child: Container(
          color: randomColor(),
          height: 200,
        ),
      ),
      SliverToBoxAdapter(
        child: Container(
          color: randomColor(),
          height: 200,
        ),
      ),
      SliverToBoxAdapter(
        child: Container(
          color: randomColor(),
          height: 200,
        ),
      ),
      SliverToBoxAdapter(
        child: Container(
          color: randomColor(),
          height: 200,
        ),
      ),
      SliverToBoxAdapter(
        child: Container(
          color: randomColor(),
          height: 200,
        ),
      ),
      SliverToBoxAdapter(
        child: Container(
          color: randomColor(),
          height: 200,
        ),
      ),
      SliverToBoxAdapter(
        child: Container(
          color: randomColor(),
          height: 200,
        ),
      ),
      SliverToBoxAdapter(
        child: Container(
          color: randomColor(),
          height: 200,
        ),
      ),
      SliverToBoxAdapter(
        child: Container(
          color: randomColor(),
          height: 200,
        ),
      ),
      SliverToBoxAdapter(
        child: Container(
          color: randomColor(),
          height: 200,
        ),
      ),
      SliverPersistentHeader(
        pinned: true,
        delegate: _SliverPersistentHeaderDelegate(_tabController),
      ),
    ];

    return Scaffold(
      appBar: AppBar(
        centerTitle: true,
        title: const Text('TEST'),
      ),
      body: NestedScrollView(
        headerSliverBuilder: (BuildContext context, bool innerBoxIsScrolled) {
          return sliverList;
        },
        body: TabBarView(
          controller: _tabController,
          children: <Widget>[
            CustomScrollView(
              slivers: <Widget>[
                SliverToBoxAdapter(
                  child: Container(
                    height: 200,
                    color: randomColor(),
                  ),
                ),
                SliverToBoxAdapter(
                  child: Container(
                    height: 400,
                    color: randomColor(),
                  ),
                ),
                SliverToBoxAdapter(
                  child: Container(
                    height: 300,
                    color: randomColor(),
                  ),
                ),
                SliverToBoxAdapter(
                  child: Container(
                    height: 400,
                    color: randomColor(),
                  ),
                ),
                SliverToBoxAdapter(
                  child: Container(
                    height: 200,
                    color: randomColor(),
                  ),
                ),
              ],
            ),
            Container(
              height: 1400,
              color: randomColor(),
            ),
            Container(
              height: 1400,
              color: randomColor(),
            ),
          ],
        ),
      ),
    );
  }
}

class _SliverPersistentHeaderDelegate extends SliverPersistentHeaderDelegate {
  final TabController tabController;

  _SliverPersistentHeaderDelegate(this.tabController);

  @override
  Widget build(
      BuildContext context, double shrinkOffset, bool overlapsContent) {
    return TabBar(
      controller: tabController,
      labelColor: Colors.blue,
      tabs: const <Widget>[
        Tab(
          text: '111',
        ),
        Tab(
          text: '222',
        ),
        Tab(
          text: '333',
        ),
      ],
    );
  }

  @override
  double get maxExtent => const TabBar(
        tabs: <Widget>[],
      ).preferredSize.height;

  @override
  double get minExtent => const TabBar(
        tabs: <Widget>[],
      ).preferredSize.height;

  @override
  bool shouldRebuild(SliverPersistentHeaderDelegate oldDelegate) {
    return true;
  }
}

Color randomColor() {
  List<MaterialColor> colors = [
    Colors.red,
    Colors.orange,
    Colors.yellow,
    Colors.green,
    Colors.cyan,
    Colors.blue,
    Colors.purple,
  ];

  return colors[Random.secure().nextInt(6)]
      [Random.secure().nextInt(8) * 100 + 100]!;
}

Video
https://user-images.githubusercontent.com/50555895/169551728-71d3f5c6-71e1-4448-ba43-e28487ffe4b5.mov

flutter doctor -v (Stable)
[✓] Flutter (Channel stable, 3.0.0, on macOS 12.3.1 21E258 darwin-arm, locale en-US)
    • Flutter version 3.0.0 at /Users/nabeelparkar/fvm/versions/stable
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ee4e09cce0 (7 days ago), 2022-05-09 16:45:18 -0700
    • Engine revision d1b9a6938a
    • Dart version 2.17.0
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    • Android SDK at /Users/nabeelparkar/Library/Android/sdk/
    • Platform android-32, build-tools 32.1.0-rc1
    • ANDROID_SDK_ROOT = /Users/nabeelparkar/Library/Android/sdk/
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

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

[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = /Applications/Brave Browser.app/Contents/MacOS/Brave Browser

[✓] Android Studio (version 2021.2)
    • 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.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Ultimate Edition (version 2022.1.1)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 67.1.4
    • Dart plugin version 221.5591.52

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

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 12.3.1 21E258 darwin-arm
    • Chrome (web)    • chrome • web-javascript • Brave Browser 101.1.38.115

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

• No issues found!

flutter doctor -v (Master)
[✓] Flutter (Channel stable, 3.0.1, on macOS 12.4 21F79 darwin-arm, locale en-US)
    • Flutter version 3.0.1 at /Users/nabeelparkar/fvm/versions/stable
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision fb57da5f94 (13 hours ago), 2022-05-19 15:50:29 -0700
    • Engine revision caaafc5604
    • Dart version 2.17.1
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    • Android SDK at /Users/nabeelparkar/Library/Android/sdk/
    • Platform android-32, build-tools 32.1.0-rc1
    • ANDROID_SDK_ROOT = /Users/nabeelparkar/Library/Android/sdk/
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

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

[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = /Applications/Brave Browser.app/Contents/MacOS/Brave Browser

[✓] Android Studio (version 2021.2)
    • 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.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Ultimate Edition (version 2022.1.1)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 67.1.4
    • Dart plugin version 221.5591.58

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

[✓] Connected device (3 available)
    • iPhone 13 Pro Max (mobile) • 16B8F156-111C-489F-A6E5-2D79142036B4 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-5 (simulator)
    • macOS (desktop)            • macos                                • darwin-arm64   • macOS 12.4 21F79 darwin-arm
    • Chrome (web)               • chrome                               • web-javascript • Brave Browser 101.1.38.119

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

• No issues found!

I encounter this bug easily in iOS. I can fix it by adding physics: const ClampingScrollPhysics(), to the CustomScrollView.

I can confirm that the error still persists in 3.16. Any update on this?

Yup, this is still a problem. Its the only thing that makes my app janky. I

One workaround that I did with my app that has the typical NestedScrollView layout with a shrinking hero at the top and a sticky TabBar with a TabBarView was to replace the whole NestedScrollView with CustomScrollView. Only thing you cant have is TabBarView because it is considered as a Scrollable. Apparently these cannot exist inside a CustomScrollView.
You are able to animate the hero section fade with a AnimatedBuilder that listens a ScrollController and also animate the hero height/size changes by wrapping the heroWidget with AnimatedSize.
I use the following example as a "layout scaffold" for the most of my views. I gives great control to have dynamic size header/hero aswell.
`
class CustomScrollViewExample extends StatelessWidget {
const CustomScrollViewExample({
required this.hero,
required this.sliverBodyWidget,
this.scrollController,
});
final ScrollController? scrollController;
final Widget hero;
final Widget sliverBodyWidget;
@override
Widget build(BuildContext context) {
return CustomScrollView(
cacheExtent: 20000,
controller: scrollController,
clipBehavior: Clip.none,
keyboardDismissBehavior: ScrollViewKeyboardDismissBehavior.onDrag,
slivers: [
SliverToBoxAdapter(
child: hero,
),
CustomSliverClip(
child: DecoratedSliver(
decoration: BoxDecoration(
color: context.colors.surfaceContainerLowest,
),
sliver: sliverBodyWidget,
),
),
SliverFillRemaining(
fillOverscroll: true,
hasScrollBody: false,
child: Container(
color: context.colors.surfaceContainerLowest,
),
)
],
);
}
https://github.com/flutter/flutter/assets/97504729/bb6a4ffb-e532-4c41-8da4-bc91e1aac28f
}
`

authors: 623637646 DavidOrakpo GitTradWang Piinks TahaTesser VladyslavBondarenko exaby73 goderbauer kkoskenvirta


text:
analyzer_benchmark flutter_repo_batch_maximum & flutter_repo_watch_maximum regression

Looks like https://github.com/flutter/flutter/pull/59804. Not high enough to be a P0.

Dupe of https://github.com/flutter/flutter/issues/59861. Closing.


text:
Gallery, Expansion Panels: third option in Location isn't vertically aligned

Open Gallery, and go portrait or landscape. Open Expansion Panels demo. Open Location.
Notice how the third option (Bermuda)'s radio button isn't aligned vertically with the previous two options.

cc @dragostis


text:
[tool_crash] ProcessException: Process exited abnormally:Command line invocation:    /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -listxcodebuild: error: Could not resolve package dependencies:  Packages are not supported when using legacy build locations, but the current project has them enabled. Command: xcrun, OS error code: 74

Command
flutter create .

Steps to Reproduce

...
...
...

Logs
ProcessException: Process exited abnormally:
Command line invocation:
/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -list
xcodebuild: error: Could not resolve package dependencies:
Packages are not supported when using legacy build locations, but the current project has them enabled. Command: xcrun, OS error code: 74
#0      RunResult.throwException (package:flutter_tools/src/base/process.dart:171:5)
#1      _DefaultProcessUtils.run (package:flutter_tools/src/base/process.dart:323:19)
<asynchronous suspension>
#2      XcodeProjectInterpreter.getInfo (package:flutter_tools/src/ios/xcodeproj.dart:416:30)
<asynchronous suspension>
#3      IosProject.projectInfo (package:flutter_tools/src/project.dart:565:29)
<asynchronous suspension>
#4      IosProject.buildSettingsForBuildInfo (package:flutter_tools/src/project.dart:547:35)
<asynchronous suspension>
#5      IosProject._parseProductBundleIdentifier (package:flutter_tools/src/project.dart:489:50)
<asynchronous suspension>
#6      IosProject.productBundleIdentifier (package:flutter_tools/src/project.dart:466:41)
<asynchronous suspension>
#7      FlutterProject.organizationNames (package:flutter_tools/src/project.dart:109:9)
<asynchronous suspension>
#8      CreateCommand.runCommand (package:flutter_tools/src/commands/create.dart:380:49)
<asynchronous suspension>
#9      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:1080:12)
<asynchronous suspension>
#10     FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:931:27)
<asynchronous suspension>
#11     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#12     AppContext.run (package:flutter_tools/src/base/context.dart:149:12)
<asynchronous suspension>

[✓] Flutter (Channel beta, 1.24.0-10.2.pre, on macOS 11.0.1 20B29 darwin-x64, locale tr)
    • Flutter version 1.24.0-10.2.pre at /Users/huzeyfe/flutter
    • Framework revision 022b333a08 (4 weeks ago), 2020-11-18 11:35:09 -0800
    • Engine revision 07c1eed46b
    • Dart version 2.12.0 (build 2.12.0-29.10.beta)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
    • Android SDK at /Users/huzeyfe/Library/Android/sdk
    • Platform android-30, build-tools 30.0.1
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.2, Build version 12B45b
    • CocoaPods version 1.10.0

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

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 50.0.1
    • Dart plugin version 193.7547
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] Connected device (4 available)
    • Huzeyfe iPhone’u (mobile)           • a9ae013066af6b87c928cc6d2533780cc3274329 • ios
      • iOS 12.4.9
    • iPhone SE (2nd generation) (mobile) • C3E05B63-0071-43BC-B548-751E52C7045A     • ios
      • com.apple.CoreSimulator.SimRuntime.iOS-14-2 (simulator)
    • Web Server (web)                    • web-server                               •
      web-javascript • Flutter Tools
    • Chrome (web)                        • chrome                                   •
      web-javascript • Google Chrome 87.0.4280.88
    ! Error: Huzeyfe iPhone’u is busy: Copying cache files from device. Xcode will continue when
      Huzeyfe iPhone’u is finished. (code -10)

• No issues found!

Flutter Application Metadata
Type: app
Version: 2.1.0+6
Material: true
Android X: false
Module: false
Plugin: false
Android package: null
iOS bundle identifier: null
Creation channel: beta
Creation framework version: d408d302e22179d598f467e11da5dd968dbdc9ec
Plugins
audio_manager-0.5.5+3
audioplayers-0.16.2
facebook_app_events-0.8.2
facebook_audience_network-0.8.0
path_provider-1.6.24
path_provider_linux-0.0.1+2
path_provider_macos-0.0.4+6
path_provider_windows-0.0.4+3
shared_preferences-0.5.12+4
shared_preferences_linux-0.0.2+4
shared_preferences_macos-0.0.1+11
shared_preferences_web-0.1.2+7
shared_preferences_windows-0.0.1+3

possible duplicate of https://github.com/flutter/flutter/issues/57083
possible workaround https://github.com/flutter/flutter/issues/57083#issuecomment-654394040

Closing this as duplicate of https://github.com/flutter/flutter/issues/57083

authors: Encoder01 darshankawar iapicca