Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

ImageFilter.blur creates shadow around image #39623

Closed
Mikkelet opened this issue Aug 31, 2019 · 19 comments
Closed

ImageFilter.blur creates shadow around image #39623

Mikkelet opened this issue Aug 31, 2019 · 19 comments
Labels
a: images Loading, displaying, rendering images engine flutter/engine repository. See also e: labels. found in release: 1.20 Found to occur in 1.20 found in release: 1.22 Found to occur in 1.22 found in release: 1.24 Found to occur in 1.24 framework flutter/packages/flutter repository. See also f: labels. has reproducible steps The issue has been confirmed reproducible and is ready to work on P2 Important issues not at the top of the work list r: fixed Issue is closed as already fixed in a newer version

Comments

@Mikkelet
Copy link

Mikkelet commented Aug 31, 2019

When wanting to blur an image in flutter, it creates a shadow around the image. While nothing app-breaking, it is a nuisance when your lead designer wants NO shadow on the image.

Steps to Reproduce

Container(
                  height: 220,
                  decoration: BoxDecoration(
                    image: DecorationImage(
                      fit: BoxFit.cover,
                      image: image,
                    ),
                  ),
                  child: BackdropFilter(
                    filter: ImageFilter.blur(sigmaX: 10 ,sigmaY: 10),
                    child: new Container(
                      decoration:
                          BoxDecoration(color: Colors.black.withOpacity(0.5)),
                    ),
                  ),
                );

bunch of unused imports and fields

Flutter doctor

[√] Flutter (Channel master, v1.8.2-pre.242, on Microsoft Windows [Version 10.0.18362.295], locale en-US)
    • Flutter version 1.8.2-pre.242 at C:\src\flutter
    • Framework revision 9bb7142ef7 (5 weeks ago), 2019-07-30 14:45:00 -0700
    • Engine revision c41bbc63d9
    • Dart version 2.5.0 (build 2.5.0-dev.1.0 1e43d65d4a)


[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at C:\Users\User\AppData\Local\Android\Sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • ANDROID_HOME = C:\Users\User\AppData\Local\Android\Sdk
    • ANDROID_SDK_ROOT = C:\Users\User\AppData\Local\Android\Sdk
    • Java binary at: C:\Program Files\Java\jdk1.8.0_191\bin\java
    • Java version Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
    • All Android licenses accepted.

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

[!] Android Studio
    • Android Studio at C:\Program Files\Android\Android Studio\bin
    X Flutter plugin not installed; this adds Flutter specific functionality.
    X Dart plugin not installed; this adds Dart specific functionality.
    X android-studio-dir = C:\Program Files\Android\Android Studio\bin
    X Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.
    • Consider removing your android-studio-dir setting by running:
      flutter config --android-studio-dir=

[√] IntelliJ IDEA Community Edition (version 2018.3)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.3
    • Flutter plugin version 32.0.2
    • Dart plugin version 183.4588.61

[√] VS Code (version 1.37.1)
    • VS Code at C:\Users\User\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.3.0

[√] VS Code, 64-bit edition (version 1.37.1)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Flutter extension version 3.3.0

[√] Connected device (1 available)
    • Android SDK built for x86 • emulator-5554 • android-x86 • Android 8.1.0 (API 27) (emulator)

! Doctor found issues in 1 category.
@BondarenkoStas BondarenkoStas added the a: images Loading, displaying, rendering images label Sep 2, 2019
@VladyslavBondarenko VladyslavBondarenko added the framework flutter/packages/flutter repository. See also f: labels. label Jan 14, 2020
@TahaTesser
Copy link
Member

TahaTesser commented Feb 28, 2020

flutter_01

flutter doctor -v
[✓] Flutter (Channel dev, 1.20.0-7.0.pre, on Mac OS X 10.15.5 19F101, locale en-GB)
    • Flutter version 1.20.0-7.0.pre at /Users/taha/Code/flutter_dev
    • Framework revision cc1af3afb6 (2 days ago), 2020-07-08 10:19:36 -0700
    • Engine revision 0dc86cda19
    • Dart version 2.9.0 (build 2.9.0-20.0.dev 06cb010247)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
    • Android SDK at /Users/taha/Code/sdk
    • Platform android-30, build-tools 30.0.0
    • ANDROID_HOME = /Users/taha/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 47.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.47.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.12.2

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

• No issues found!

@flar
Copy link
Contributor

flar commented Jul 9, 2020

A blur effect will extend the edges of the object being blurred as the pixels near the edge are blurred into the surrounding area. If you want to clip the edges of the blur off then you will need to use one of the various Clip* widgets (likely ClipRect in this case).

@flar
Copy link
Contributor

flar commented Jul 9, 2020

Also note that we now have the ImageFiltered widget which can achieve the blur effect more directly, as in:

ImageFiltered(
  filter: ImageFilter.blur(sigmaX: 10 ,sigmaY: 10),
  child: Image(),
),

The ImageFiltered would also expand the bounds of the image due to the blur operation, so you would also need to use a ClipRect with this solution if you don't want the blurry edges to expand beyond the original image bounds.

@TahaTesser
Copy link
Member

Hi @flar,tthansk for solution
Using same image with fit: BoxFit.cover is causing weird artifact

    child: ImageFiltered(
            imageFilter: ImageFilter.blur(sigmaX: 10, sigmaY: 10),
            child: Container(
                decoration: BoxDecoration(color: Colors.black.withOpacity(0.5)),
                child: Image.network(
                  'https://i.imgur.com/QCNbOAo.png',
                  height: 200,
                  width: 200,
                  fit: BoxFit.cover,
                )),
          ),

Screenshot 2020-07-10 at 3 32 20 PM

using fit: BoxFit.contain

  child: ImageFiltered(
            imageFilter: ImageFilter.blur(sigmaX: 10, sigmaY: 10),
            child: Container(
                decoration: BoxDecoration(color: Colors.black.withOpacity(0.5)),
                child: Image.network(
                  'https://i.imgur.com/QCNbOAo.png',
                  height: 200,
                  width: 200,
                  fit: BoxFit.contain,
                )),
          )

Screenshot 2020-07-10 at 3 34 40 PM

Code Sample
import 'dart:ui';

import 'package:flutter/material.dart';

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

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

class Home extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Material App Bar'),
      ),
      body: Center(
        child: Container(
          child: ImageFiltered(
            imageFilter: ImageFilter.blur(sigmaX: 10, sigmaY: 10),
            child: Container(
                decoration: BoxDecoration(color: Colors.black.withOpacity(0.5)),
                child: Image.network(
                  'https://i.imgur.com/QCNbOAo.png',
                  height: 200,
                  width: 200,
                  fit: BoxFit.cover,
                )),
          ),
        ),
      ),
      floatingActionButton: FloatingActionButton(
        child: Icon(Icons.adb),
        onPressed: () {},
      ),
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel dev, 1.20.0-7.0.pre, on Mac OS X 10.15.5 19F101, locale en-GB)
    • Flutter version 1.20.0-7.0.pre at /Users/taha/Code/flutter_dev
    • Framework revision cc1af3afb6 (2 days ago), 2020-07-08 10:19:36 -0700
    • Engine revision 0dc86cda19
    • Dart version 2.9.0 (build 2.9.0-20.0.dev 06cb010247)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
    • Android SDK at /Users/taha/Code/sdk
    • Platform android-30, build-tools 30.0.0
    • ANDROID_HOME = /Users/taha/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 47.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.47.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.12.2

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

• No issues found!

@TahaTesser TahaTesser added engine flutter/engine repository. See also e: labels. found in release: 1.20 Found to occur in 1.20 has reproducible steps The issue has been confirmed reproducible and is ready to work on labels Jul 10, 2020
@flar
Copy link
Contributor

flar commented Jul 11, 2020

I'm not seeing that effect in this dartpad: https://dartpad.dev/1019ddb4e9c8d8a42370071b79f98426

I wonder if it is an effect that comes into play when the image is laid out in a container causing stretching of its edges?

@xJon
Copy link

xJon commented Oct 13, 2020

I can also confirm this issue.

@TahaTesser
Copy link
Member

TahaTesser commented Dec 2, 2020

Preview

Inside SliverAppBar

Simulator Screen Shot - iPhone 12 - 2020-12-02 at 21 04 41

Scaffold Body

Simulator Screen Shot - iPhone 12 - 2020-12-02 at 21 12 11

code sample
import 'dart:ui';

import 'package:flutter/material.dart';

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

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

class Home extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      // body: CustomScrollView(
      //   slivers: [
      //     SliverAppBar(
      //       pinned: true,
      //       backgroundColor: Colors.red,
      //       collapsedHeight: 250,
      //       flexibleSpace: Stack(
      //         children: [
      //           Positioned.fill(
      //             child: ImageFiltered(
      //               imageFilter: ImageFilter.blur(
      //                 sigmaX: 10,
      //                 sigmaY: 10,
      //               ),
      //               child: Image.network(
      //                 'https://i.imgur.com/9OrBvmZ.jpg',
      //                 fit: BoxFit.cover,
      //               ),
      //             ),
      //           ),
      //         ],
      //       ),
      //     ),
      //     SliverFillRemaining()
      //   ],
      // ),

      body: Container(
        color: Colors.red,
        child: Stack(
          children: [
            Positioned.fill(
              child: ImageFiltered(
                imageFilter: ImageFilter.blur(
                  sigmaX: 10,
                  sigmaY: 10,
                ),
                child: Image.network(
                  'https://i.imgur.com/9OrBvmZ.jpg',
                  fit: BoxFit.cover,
                ),
              ),
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        child: Icon(Icons.add),
        onPressed: () {},
      ),
    );
  }
}
flutter doctor -v
[✓] Flutter (Channel master, 1.24.0-8.0.pre.408, on macOS 11.0.1 20B29
    darwin-x64, locale en-GB)
    • Flutter version 1.24.0-8.0.pre.408 at
      /Users/tahatesser/Code/flutter_master
    • Framework revision 25986102c1 (2 hours ago), 2020-12-02 20:36:44 +0800
    • Engine revision 20caf54969
    • Dart version 2.12.0 (build 2.12.0-76.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /Users/tahatesser/Code/sdk
    • Platform android-30, build-tools 30.0.2
    • 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-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.2)
    • Xcode at /Volumes/Extreme/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.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.51.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.16.0

[✓] Connected device (5 available)
    • RMX2001 (mobile)     • EUYTFEUSQSRGDA6D          • android-arm64  •
      Android 10 (API 29)
    • Taha’s iPad (mobile) • 00008020-000255113EE8402E • ios            • iOS
      14.2
    • macOS (desktop)      • macos                     • darwin-x64     • macOS
      11.0.1 20B29 darwin-x64
    • Web Server (web)     • web-server                • web-javascript •
      Flutter Tools
    • Chrome (web)         • chrome                    • web-javascript • Google
      Chrome 87.0.4280.67

• No issues found!

@TahaTesser TahaTesser added found in release: 1.24 Found to occur in 1.24 found in release: 1.22 Found to occur in 1.22 labels Dec 2, 2020
@bsfdeep
Copy link

bsfdeep commented Dec 2, 2020

Hi @TahaTesser, thanks for getting back on my issue. Yeah I understand it's not an issue with the SliverAppBar, the issue for me would still be that I can't add a black background as the image can change based on the user. Is that the last option or is there something else I can do?

@flar
Copy link
Contributor

flar commented Dec 2, 2020

See also: #64828

Can you check your layout to see if the widget is being aligned on a pixel boundary?

@bsfdeep
Copy link

bsfdeep commented Dec 2, 2020

@flar I'm not sure what you mean. This is the issue I'm facing #71566.

@flar
Copy link
Contributor

flar commented Dec 3, 2020

@bsfdeep the edges of a blur will be affected by the opacity of the colors near the edges of the source and its sampling mode.

We don't really provide control over the edge sampling mode in Flutter so everything tends to default to pretending that the edges of a source bitmap extend to infinity (as opposed to pretending that samples beyond the edge of a bitmap are transparent, or repeat, etc).

The ImageFilter being applied is using the rendering of a widget as its source. If the widget is aligned to pixel boundaries and it is rendering an opaque content, then its rendered bitmap will be opaque at its edges and if those are extended to infinity then the edges of the blur will be sampling and blurring the edges of the opaque image at the edges of the blur and the edges of the blur will also be opaque.

Note that I'm not talking about the fact that the container has a decoration that comes from an image and whether that source image is opaque, I'm talking about when the container goes to render that decoration whether it renders it on pixel boundaries on the destination surface. The opaque image can be rendered onto that temp surface (which will eventually be used as the source of the ImageFilter) at a sub-pixel translation and then the edge pixels of the temp surface may not be opaque even if the edges of the image being tiled/centered/stretched/etc. are opaque.

So, if the source widget's device space boundary is not aligned with pixels then when they get rendered, they will leave the edge pixels of the source semi-transparent. Now that semi-transparent edge pixel is the one that is sampled out to infinity by the blur when it does its averaging near the edges and so the edges of the blur will be averaging together those semi-transparent values and allowing the background to shine through.

This is all discussed in the issue I linked.

@bsfdeep
Copy link

bsfdeep commented Dec 4, 2020

@flar That is a great explanation, thank you so much for taking the time.

How do I know if my widget is being aligned on a pixel boundary, do I wrap it in a Positioned widget and force it to have left, right and top = 0.0 (that does not work)? My widget tree looks something like this

@override
  Widget build(BuildContext context) {
    return Stack(
      children: [
        CustomScrollView(
          controller: scrollController,
          slivers: [
            SliverAppBar(
              expandedHeight: widget.coverPictureHeight,
              flexibleSpace: Stack(
                children: [
                  Positioned.fill(
                    child: ImageFiltered(
                      imageFilter: ImageFilter.blur(
                        sigmaX: 2,
                        sigmaY: 2,
                      ),
                      child: Image.asset(
                        'assets/images/CoverPicture.jpg',
                        fit: BoxFit.cover,
                      ),
                    ),
                  ),
                ],
              ),
              pinned: true,
              toolbarHeight: kToolbarHeight,
            ),
            SliverList(

I did fix my issue by wrapping it in a Positioned widget with left, right and top as -3, it's just a hack though.

@flar
Copy link
Contributor

flar commented Dec 4, 2020

The -3 may have just caused the app to extend out of the bounds of the Stack a little so as to push the potentially Antialiased/partially covered edge pixels to be out of sight. The real fix would be to query the DPR and to ensure that the size and the location are integers when scaled by that number (assuming no other scale in effect, but there may be a translation in effect from Scaffolds and such).

The computation would be (coord * dpr).roundToDouble() / dpr.

For devices with an integer DPR, just having the coordinates and sizes all be integers should be fine, but for devices with non-integer DPR, then you need to perform that calculation.

Note that if you use auto-layout widgets like Center and Row/Column, etc. then you are at the mercy of their calculations. Centering an odd sized child in an even sized container, or vice versa, will put you on non-integer coordinates. It gets more complicated when Rows and Columns compute the space they want to distribute between children and how they apportion that overflow space.

I'm taking a look at a series of examples of where non-integer coordinates can come into play to see what recommendations or changes can be made to make all of this easier for the developer. Unfortunately, Flutter does most layout computations behind the scenes on values that aren't easily queried by the app code (it's not rocket science, but you have to use Key objects and find the RenderObject instances on the second frame and the information can't be queried on the first frame, so it's not obvious and it's a bit klunky) so it gets a little tricky to fix these problems and I'll be looking into what we can do to make that process more natural.

Your technique of just oversizing the blurred background may be the easiest workaround for now.

For an example of determining actual size and positioning of your widgets, you can check out the workarounds I used in this gist that is trying to deal with an anchored rotation for an ImageFiltered matrix filter (note the _childKey and _childCenter variables and how they are created and used): https://gist.github.com/flar/639cf7fcc0988ee9d68333c269e42181

@flar
Copy link
Contributor

flar commented Dec 4, 2020

In the meantime I also looked more deeply into how we create blur filters and discovered that Skia has an edge sampling parameter (or "tile mode" as they call it) that we hard-code to edge sampling. They also have a decal mode which assumes transparency around the edges of the source which might work better for rotated/rotating/non-edge filled children. A variant of that property appears in our gradient constructors.

@bsfdeep
Copy link

bsfdeep commented Dec 6, 2020

@flar Thanks for the explanation. I just got a chance to look at the gist, though I see how it can be used I guess I'll stick to oversizing the blurred background to avoid complicating it for now. Thanks again for looking into it.

@TahaTesser
Copy link
Member

Also, check this #57180 (comment)

@flar
Copy link
Contributor

flar commented Dec 7, 2020

See now #71871

That issue proposes a solution for the distortions at the edge of blurred shapes and doesn't provide help or remedy for the translucent edges of a background image blur. The latter may require some new ways to control layout, or the rendering of background images.

@darshankawar
Copy link
Member

Using the code sample provided here and here, I am unable to replicate the behavior on latest versions.

Screenshot 2022-11-16 at 5 00 00 PM

Screenshot 2022-11-16 at 5 00 29 PM

Closing as fixed.

stable, master flutter doctor -v
[✓] Flutter (Channel stable, 3.3.8, on macOS 12.2.1 21D62 darwin-x64, locale
    en-GB)
    • Flutter version 3.3.8 on channel stable at
      /Users/dhs/documents/fluttersdk/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 52b3dc25f6 (25 hours ago), 2022-11-09 12:09:26 +0800
    • Engine revision 857bd6b74c
    • Dart version 2.18.4
    • DevTools version 2.15.0

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

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

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

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

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

! Doctor found issues in 1 category.

[!] Flutter (Channel master, 3.6.0-3.0.pre.18, on macOS 12.2.1 21D62 darwin-x64,
    locale en-GB)
    • Flutter version 3.6.0-3.0.pre.18 on channel master at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 1aeb1721ca (2 hours ago), 2022-11-14 21:12:25 -0500
    • Engine revision 78ae241400
    • Dart version 2.19.0 (build 2.19.0-398.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.

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

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

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

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

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

! Doctor found issues in 1 category.



@darshankawar darshankawar added the r: fixed Issue is closed as already fixed in a newer version label Nov 16, 2022
@github-actions
Copy link

This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 30, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
a: images Loading, displaying, rendering images engine flutter/engine repository. See also e: labels. found in release: 1.20 Found to occur in 1.20 found in release: 1.22 Found to occur in 1.22 found in release: 1.24 Found to occur in 1.24 framework flutter/packages/flutter repository. See also f: labels. has reproducible steps The issue has been confirmed reproducible and is ready to work on P2 Important issues not at the top of the work list r: fixed Issue is closed as already fixed in a newer version
Projects
None yet
Development

No branches or pull requests

10 participants