[Android] Severe glitch when navigating to a screen with google_mobile_ads

Upgrading to Flutter 2.8.0 causes flickering when navigating between screens in apps that contain ads. In particular, the flickering happens when navigating to a new screen from another screen that has a banner ad. When commenting out the banner the flickering goes away.
The problem is not producible using Flutter 2.5.3.
The issue was originally raised in googleads-mobile-flutter but after investigating the issue further it is now believed to be a problem with the Flutter SDK.
To produce the problem, run the attached application code using google_mobile_ads: 1.0.1 and Flutter 2.8.0.
Video sample, code sample and flutter doctor -v output produced by  @maheshmnj

Code sample

import 'dart:io';

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

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

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

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(home: HomeScreen());
  }
}

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

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

class _HomeScreenState extends State<HomeScreen> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Column(
        children: [
          Expanded(child: ListView.builder(itemBuilder: (context, index) {
            return ListTile(
              title: Text('Item $index'),
              onTap: () {
                Navigator.push(context, MaterialPageRoute(builder: (context) {
                  return const ProducDetailPage();
                }));
              },
            );
          })),
          const CustomBannerAd()
        ],
      ),
    );
  }
}

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

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: const Text('Produc Detail'),
        ),
        body: Column(children: const [
          SizedBox(
            height: 150,
            child: Placeholder(
              color: Colors.red,
            ),
          ),
          SizedBox(
            height: 150,
            child: Placeholder(
              color: Colors.green,
            ),
          ),
          CustomBannerAd()
        ]));
  }
}

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

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

class _CustomBannerAdState extends State<CustomBannerAd> {
  BannerAd? _anchoredAdaptiveAd;
  var _isLoaded = false;
  late Orientation _currentOrientation;

  @override
  void didChangeDependencies() {
    super.didChangeDependencies();

    _currentOrientation = MediaQuery.of(context).orientation;
    _loadAd();
  }

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

    _anchoredAdaptiveAd?.dispose();
  }

  Future<void> _loadAd() async {
    await _anchoredAdaptiveAd?.dispose();

    if (mounted) {
      setState(() {
        _anchoredAdaptiveAd = null;
        _isLoaded = false;
      });
    }

    final AnchoredAdaptiveBannerAdSize? size =
        await AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(
            MediaQuery.of(context).size.width.truncate());

    if (size == null) {
      debugPrint('Unable to get height of anchored banner.');
      return;
    }

    _anchoredAdaptiveAd = BannerAd(
      adUnitId: Platform.isAndroid
          ? 'ca-app-pub-3940256099942544/6300978111'
          : 'ca-app-pub-3940256099942544/2934735716',
      size: size,
      request: const AdRequest(
        nonPersonalizedAds: false,
      ),
      listener: BannerAdListener(
        onAdLoaded: (Ad ad) {
          debugPrint("Ad loaded");
          if (mounted) {
            setState(() {
              _anchoredAdaptiveAd = ad as BannerAd;
              _isLoaded = true;
            });
          }
        },
        onAdFailedToLoad: (Ad ad, LoadAdError error) {
          debugPrint('$BannerAd failedToLoad: $error');
          ad.dispose();
        },
        onAdOpened: (Ad ad) => debugPrint('$BannerAd onAdOpened.'),
        onAdClosed: (Ad ad) => debugPrint('$BannerAd onAdClosed.'),
      ),
    );

    return _anchoredAdaptiveAd?.load();
  }

  @override
  Widget build(BuildContext context) {
    return OrientationBuilder(builder: (context, orientation) {
      if (_currentOrientation == orientation &&
          _anchoredAdaptiveAd != null &&
          _isLoaded) {
        return Container(
          color: Colors.transparent,
          width: _anchoredAdaptiveAd!.size.width.toDouble(),
          height: _anchoredAdaptiveAd?.size.height.toDouble(),
          child: AdWidget(ad: _anchoredAdaptiveAd!),
        );
      }

      // Reload the ad if the orientation changes.
      if (_currentOrientation != orientation) {
        _currentOrientation = orientation;
        _loadAd();
      }
      return const SizedBox.shrink();
    });
  }
}

Video showing the bug (Flutter 2.8.0), This bug is not reproducible using Flutter 2.5.3:

stable 2.8.0
stable 2.5.3

Can presumably be reproduced using any Android 12 device. See flutter doctor -v output for details.

flutter doctor -v
[✓] Flutter (Channel stable, 2.8.0, on macOS 12.0.1 21A559 darwin-arm, locale en-GB)
    • Flutter version 2.8.0 at /Users/mahesh/Documents/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision cf44000065 (2 days ago), 2021-12-08 14:06:50 -0800
    • Engine revision 40a99c5951
    • Dart version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

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

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

[✓] Android Studio (version 4.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.8+10-b944.6916264)

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

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

[✓] Connected device (3 available)
    • Redmi K20 Pro (mobile) • <IP_ADDRESS>:5555 • android-arm64  • Android 11 (API 30)
    • macOS (desktop)        • macos            • darwin-arm64   • macOS 12.0.1 21A559 darwin-arm
    • Chrome (web)           • chrome           • web-javascript • Google Chrome 96.0.4664.93

• No issues found!

Facing same issue!

Same here

Same here.  Have published apps in productions stores with this defect, a bit annoying...
It doesn't seem to affect iOS though, only Android.

https://user-images.githubusercontent.com/74349843/146352418-25905653-d336-41b6-865e-587dcfe7103a.mp4
Same here : flutter 2.8.0 was not appear on 2.5.3

Yes, this is preventing me from publishing to Production as well. Unfortunately downgrading to 2.5.3 its not an option for me due to some other issue.

Hi @peterwvj, Thanks for filing the issue. I am able to reproduce the issue with stable 2.8.0 and the master, 2.9.0-1.0.pre.93, But not on stable 2.5.3. This issue is reproducible only on Xiaomi k20 pro(Android 11) and works fine on IOS.
Here is a timeline trace run using skia flag enabled on the stable channel, if this can help track down the bug.

flutter doctor -v
[✓] Flutter (Channel stable, 2.8.0, on macOS 12.0.1 21A559 darwin-arm, locale en-GB)
    • Flutter version 2.8.0 at /Users/mahesh/Documents/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision cf44000065 (8 days ago), 2021-12-08 14:06:50 -0800
    • Engine revision 40a99c5951
    • Dart version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

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

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

[✓] Android Studio (version 4.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.8+10-b944.6916264)

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

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

[✓] Connected device (4 available)
    • Redmi K20 Pro (mobile) • <IP_ADDRESS>:5555                     • android-arm64  • Android 11 (API 30)
    • iPhone 11 (mobile)     • FC644E6C-7F02-40E5-9998-1F0CD162FBD8 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS 12.0.1 21A559 darwin-arm
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome 96.0.4664.110

• No issues found!

[✓] Flutter (Channel master, 2.9.0-1.0.pre.93, on macOS 12.0.1 21A559 darwin-arm, locale en-GB)
    • Flutter version 2.9.0-1.0.pre.93 at /Users/mahesh/Documents/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 1be7f1ea56 (31 hours ago), 2021-12-14 22:14:07 -0500
    • Engine revision e444009bf4
    • Dart version 2.16.0 (build 2.16.0-109.0.dev)
    • DevTools version 2.9.1

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

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

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

[✓] Android Studio (version 4.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.8+10-b944.6916264)

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

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

[✓] Connected device (4 available)
    • Redmi K20 Pro (mobile) • <IP_ADDRESS>:5555                     • android-arm64  • Android 11 (API 30)
    • iPhone 11 (mobile)     • FC644E6C-7F02-40E5-9998-1F0CD162FBD8 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS 12.0.1 21A559 darwin-arm
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome 96.0.4664.110

• No issues found!
mahesh@Maheshs-MacBoo

[✓] Flutter (Channel stable, 2.5.3, on macOS 12.0.1 21A559 darwin-arm, locale en-GB)
    • Flutter version 2.5.3 at /Users/mahesh/Documents/flutter_beta
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 18116933e7 (9 weeks ago), 2021-10-15 10:46:35 -0700
    • Engine revision d3ea636dc5
    • Dart version 2.14.4

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 13.1, Build version 13A1030d
    • CocoaPods version 1.10.2

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

[✓] Android Studio (version 4.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.8+10-b944.6916264)

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

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

[✓] Connected device (4 available)
    • Redmi K20 Pro (mobile) • <IP_ADDRESS>:5555                     • android-arm64  • Android 11 (API 30)
    • iPhone 11 (mobile)     • FC644E6C-7F02-40E5-9998-1F0CD162FBD8 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS 12.0.1 21A559 darwin-arm
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome 96.0.4664.110

• No issues found!

logs in profile mode with trace skia
mahesh@Maheshs-MacBook-Air-M1 ads_example % flutter run --profile --trace-skia
Multiple devices found:
Redmi K20 Pro (mobile) • <IP_ADDRESS>:5555                     • android-arm64  • Android 11 (API 30)
iPhone 11 (mobile)     • FC644E6C-7F02-40E5-9998-1F0CD162FBD8 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
macOS (desktop)        • macos                                • darwin-arm64   • macOS 12.0.1 21A559 darwin-arm
Chrome (web)           • chrome                               • web-javascript • Google Chrome 96.0.4664.110
[1]: Redmi K20 Pro (<IP_ADDRESS>:5555)
[2]: iPhone 11 (FC644E6C-7F02-40E5-9998-1F0CD162FBD8)
[3]: macOS (macos)
[4]: Chrome (chrome)
Please choose one (To quit, press "q/Q"): 1
Launching lib/main.dart on Redmi K20 Pro in profile mode...
Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01
Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01
Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01
Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01
Running Gradle task 'assembleProfile'...                           41.5s
✓  Built build/app/outputs/flutter-apk/app-profile.apk (25.7MB).
Installing build/app/outputs/flutter-apk/app.apk...                 7.8s
W/FlutterActivityAndFragmentDelegate(17880): A splash screen was provided to Flutter, but this is deprecated. See flutter.dev/go/android-splash-migration for migration steps.

Flutter run key commands.
h List all available interactive commands.
c Clear the screen
q Quit (terminate the application on the device).
An Observatory debugger and profiler on Redmi K20 Pro is available at: http://<IP_ADDRESS>:52114/2Dqa1-EPtco=/
W/Ads     (17880): Not retrying to fetch app settings
I/Ads     (17880): Ad failed to load : 3
I/flutter (17880): BannerAd failedToLoad: LoadAdError(code: 3, domain: com.google.android.gms.ads, message: Ad request doesn't meet size requirements. <https://support.google.com/admob/answer/99051
75#2>, responseInfo: ResponseInfo(responseId: null, mediationAdapterClassName: , adapterResponses: []))
The Flutter DevTools debugger and profiler on Redmi K20 Pro is available at: http://<IP_ADDRESS>:9101?uri=http://<IP_ADDRESS>:52114/2Dqa1-EPtco=/
D/EgretLoader(17880): EgretLoader(Context context)
D/EgretLoader(17880): The context is not activity
D/EgretLoader(17880): EgretLoader(Context context)
D/EgretLoader(17880): The context is not activity
W/ple.ads_exampl(17880): Accessing hidden method Landroid/media/AudioManager;->getOutputLatency(I)I (greylist, reflection, allowed)
W/cr_media(17880): Requires BLUETOOTH permission
I/DynamiteModule(17880): Considering local module com.google.android.gms.ads.dynamite:0 and remote module com.google.android.gms.ads.dynamite:214106404
I/DynamiteModule(17880): Selected remote version of com.google.android.gms.ads.dynamite, version >= 214106404
I/flutter (17880): Ad loaded
W/ContentCatcher(17880): Failed to notify a WebView
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_DOWN, id[0]=0, pointerCount=1, eventTime=129879496, downTime=129879496 } moveCount:0
W/MirrorManager(17880): this model don't Support
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_UP, id[0]=0, pointerCount=1, eventTime=129879721, downTime=129879496 } moveCount:17
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_DOWN, id[0]=0, pointerCount=1, eventTime=129880106, downTime=129880106 } moveCount:0
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_UP, id[0]=0, pointerCount=1, eventTime=129880417, downTime=129880106 } moveCount:25
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_DOWN, id[0]=0, pointerCount=1, eventTime=129881031, downTime=129881031 } moveCount:0
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_UP, id[0]=0, pointerCount=1, eventTime=129881275, downTime=129881031 } moveCount:16
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_DOWN, id[0]=0, pointerCount=1, eventTime=129882532, downTime=129882532 } moveCount:0
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_UP, id[0]=0, pointerCount=1, eventTime=129882977, downTime=129882532 } moveCount:35
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_DOWN, id[0]=0, pointerCount=1, eventTime=129883372, downTime=129883372 } moveCount:0
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_UP, id[0]=0, pointerCount=1, eventTime=129883640, downTime=129883372 } moveCount:23
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_DOWN, id[0]=0, pointerCount=1, eventTime=129884625, downTime=129884625 } moveCount:0
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_UP, id[0]=0, pointerCount=1, eventTime=129884759, downTime=129884625 } moveCount:0
D/DynamitePackage(17880): Instantiating com.google.android.gms.ads.ChimeraAdManagerCreatorImpl
I/Ads     (17880): Use RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("7533D24B76F3D928E20EB84A8C420B39")) to get test ads on this device.
I/AudioManager(17880): In isSpeakerphoneOn(), calling application: com.example.ads_example
D/EgretLoader(17880): EgretLoader(Context context)
D/EgretLoader(17880): The context is not activity
I/DynamiteModule(17880): Considering local module com.google.android.gms.ads.dynamite:0 and remote module com.google.android.gms.ads.dynamite:214106404
I/DynamiteModule(17880): Selected remote version of com.google.android.gms.ads.dynamite, version >= 214106404
I/flutter (17880): Ad loaded
W/ContentCatcher(17880): Failed to notify a WebView
W/System  (17880): A resource failed to call release.
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_DOWN, id[0]=0, pointerCount=1, eventTime=129928691, downTime=129928691 } moveCount:0
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_UP, id[0]=0, pointerCount=1, eventTime=129928806, downTime=129928691 } moveCount:0
W/ContentCatcher(17880): Failed to notify a WebView
W/Ads     (17880): #004 The webview is destroyed. Ignoring action.
I/chatty  (17880): uid=10919(com.example.ads_example) identical 3 lines
W/Ads     (17880): #004 The webview is destroyed. Ignoring action.
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_DOWN, id[0]=0, pointerCount=1, eventTime=129932270, downTime=129932270 } moveCount:0
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_UP, id[0]=0, pointerCount=1, eventTime=129932402, downTime=129932270 } moveCount:0
D/DynamitePackage(17880): Instantiating com.google.android.gms.ads.ChimeraAdManagerCreatorImpl
I/Ads     (17880): Use RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("7533D24B76F3D928E20EB84A8C420B39")) to get test ads on this device.
I/AudioManager(17880): In isSpeakerphoneOn(), calling application: com.example.ads_example
D/EgretLoader(17880): EgretLoader(Context context)
D/EgretLoader(17880): The context is not activity
I/DynamiteModule(17880): Considering local module com.google.android.gms.ads.dynamite:0 and remote module com.google.android.gms.ads.dynamite:214106404
I/DynamiteModule(17880): Selected remote version of com.google.android.gms.ads.dynamite, version >= 214106404
I/flutter (17880): Ad loaded
W/ContentCatcher(17880): Failed to notify a WebView
W/System  (17880): A resource failed to call release.
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_DOWN, id[0]=0, pointerCount=1, eventTime=129941855, downTime=129941855 } moveCount:0
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_UP, id[0]=0, pointerCount=1, eventTime=129941971, downTime=129941855 } moveCount:0
W/ContentCatcher(17880): Failed to notify a WebView
W/Ads     (17880): #004 The webview is destroyed. Ignoring action.
I/chatty  (17880): uid=10919(com.example.ads_example) identical 3 lines
W/Ads     (17880): #004 The webview is destroyed. Ignoring action.
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_DOWN, id[0]=0, pointerCount=1, eventTime=129943322, downTime=129943322 } moveCount:0
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_UP, id[0]=0, pointerCount=1, eventTime=129943456, downTime=129943322 } moveCount:0
D/DynamitePackage(17880): Instantiating com.google.android.gms.ads.ChimeraAdManagerCreatorImpl
I/Ads     (17880): Use RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("7533D24B76F3D928E20EB84A8C420B39")) to get test ads on this device.
I/AudioManager(17880): In isSpeakerphoneOn(), calling application: com.example.ads_example
D/EgretLoader(17880): EgretLoader(Context context)
D/EgretLoader(17880): The context is not activity
I/DynamiteModule(17880): Considering local module com.google.android.gms.ads.dynamite:0 and remote module com.google.android.gms.ads.dynamite:214106404
I/DynamiteModule(17880): Selected remote version of com.google.android.gms.ads.dynamite, version >= 214106404
I/flutter (17880): Ad loaded
W/ContentCatcher(17880): Failed to notify a WebView
W/System  (17880): A resource failed to call release.
I/Ads     (17880): Use RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("7533D24B76F3D928E20EB84A8C420B39")) to get test ads on this device.
I/AudioManager(17880): In isSpeakerphoneOn(), calling application: com.example.ads_example
D/EgretLoader(17880): EgretLoader(Context context)
D/EgretLoader(17880): The context is not activity
I/DynamiteModule(17880): Considering local module com.google.android.gms.ads.dynamite:0 and remote module com.google.android.gms.ads.dynamite:214106404
I/DynamiteModule(17880): Selected remote version of com.google.android.gms.ads.dynamite, version >= 214106404
W/ContentCatcher(17880): Failed to notify a WebView
W/ContentCatcher(17880): Failed to notify a WebView
W/Ads     (17880): #004 The webview is destroyed. Ignoring action.
I/chatty  (17880): uid=10919(com.example.ads_example) identical 1 line
W/Ads     (17880): #004 The webview is destroyed. Ignoring action.
I/flutter (17880): Ad loaded
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_DOWN, id[0]=0, pointerCount=1, eventTime=130062925, downTime=130062925 } moveCount:0
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_UP, id[0]=0, pointerCount=1, eventTime=130063015, downTime=130062925 } moveCount:0
W/ContentCatcher(17880): Failed to notify a WebView
W/Ads     (17880): #004 The webview is destroyed. Ignoring action.
I/chatty  (17880): uid=10919(com.example.ads_example) identical 4 lines
W/Ads     (17880): #004 The webview is destroyed. Ignoring action.
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_DOWN, id[0]=0, pointerCount=1, eventTime=130063577, downTime=130063577 } moveCount:0
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_UP, id[0]=0, pointerCount=1, eventTime=130063778, downTime=130063577 } moveCount:14
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_DOWN, id[0]=0, pointerCount=1, eventTime=130064264, downTime=130064264 } moveCount:0
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_UP, id[0]=0, pointerCount=1, eventTime=130064407, downTime=130064264 } moveCount:0
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_DOWN, id[0]=0, pointerCount=1, eventTime=130064827, downTime=130064827 } moveCount:0
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_UP, id[0]=0, pointerCount=1, eventTime=130064918, downTime=130064827 } moveCount:0
D/DynamitePackage(17880): Instantiating com.google.android.gms.ads.ChimeraAdManagerCreatorImpl
I/Ads     (17880): Use RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("7533D24B76F3D928E20EB84A8C420B39")) to get test ads on this device.
I/AudioManager(17880): In isSpeakerphoneOn(), calling application: com.example.ads_example
D/EgretLoader(17880): EgretLoader(Context context)
D/EgretLoader(17880): The context is not activity
I/DynamiteModule(17880): Considering local module com.google.android.gms.ads.dynamite:0 and remote module com.google.android.gms.ads.dynamite:214106404
I/DynamiteModule(17880): Selected remote version of com.google.android.gms.ads.dynamite, version >= 214106404
I/flutter (17880): Ad loaded
W/ContentCatcher(17880): Failed to notify a WebView
W/System  (17880): A resource failed to call release.
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_DOWN, id[0]=0, pointerCount=1, eventTime=130066299, downTime=130066299 } moveCount:0
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_UP, id[0]=0, pointerCount=1, eventTime=130066415, downTime=130066299 } moveCount:0
W/ContentCatcher(17880): Failed to notify a WebView
W/Ads     (17880): #004 The webview is destroyed. Ignoring action.
I/chatty  (17880): uid=10919(com.example.ads_example) identical 3 lines
W/Ads     (17880): #004 The webview is destroyed. Ignoring action.
I/Ads     (17880): Use RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("7533D24B76F3D928E20EB84A8C420B39")) to get test ads on this device.
I/AudioManager(17880): In isSpeakerphoneOn(), calling application: com.example.ads_example
D/EgretLoader(17880): EgretLoader(Context context)
D/EgretLoader(17880): The context is not activity
I/DynamiteModule(17880): Considering local module com.google.android.gms.ads.dynamite:0 and remote module com.google.android.gms.ads.dynamite:214106404
I/DynamiteModule(17880): Selected remote version of com.google.android.gms.ads.dynamite, version >= 214106404
W/ContentCatcher(17880): Failed to notify a WebView
W/ContentCatcher(17880): Failed to notify a WebView
W/Ads     (17880): #004 The webview is destroyed. Ignoring action.
I/chatty  (17880): uid=10919(com.example.ads_example) identical 1 line
W/Ads     (17880): #004 The webview is destroyed. Ignoring action.
I/flutter (17880): Ad loaded
I/Ads     (17880): Use RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("7533D24B76F3D928E20EB84A8C420B39")) to get test ads on this device.
I/AudioManager(17880): In isSpeakerphoneOn(), calling application: com.example.ads_example
D/EgretLoader(17880): EgretLoader(Context context)
D/EgretLoader(17880): The context is not activity
I/DynamiteModule(17880): Considering local module com.google.android.gms.ads.dynamite:0 and remote module com.google.android.gms.ads.dynamite:214106404
I/DynamiteModule(17880): Selected remote version of com.google.android.gms.ads.dynamite, version >= 214106404
W/ContentCatcher(17880): Failed to notify a WebView
W/ContentCatcher(17880): Failed to notify a WebView
W/Ads     (17880): #004 The webview is destroyed. Ignoring action.
I/chatty  (17880): uid=10919(com.example.ads_example) identical 1 line
W/Ads     (17880): #004 The webview is destroyed. Ignoring action.
I/flutter (17880): Ad loaded
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_DOWN, id[0]=0, pointerCount=1, eventTime=130153114, downTime=130153114 } moveCount:0
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_UP, id[0]=0, pointerCount=1, eventTime=130153340, downTime=130153114 } moveCount:19
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_DOWN, id[0]=0, pointerCount=1, eventTime=130153953, downTime=130153953 } moveCount:0
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_UP, id[0]=0, pointerCount=1, eventTime=130154129, downTime=130153953 } moveCount:13
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_DOWN, id[0]=0, pointerCount=1, eventTime=130155121, downTime=130155121 } moveCount:0
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_UP, id[0]=0, pointerCount=1, eventTime=130155265, downTime=130155121 } moveCount:0
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_DOWN, id[0]=0, pointerCount=1, eventTime=130155866, downTime=130155866 } moveCount:0
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_UP, id[0]=0, pointerCount=1, eventTime=130155921, downTime=130155866 } moveCount:0
D/DynamitePackage(17880): Instantiating com.google.android.gms.ads.ChimeraAdManagerCreatorImpl
I/Ads     (17880): Use RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("7533D24B76F3D928E20EB84A8C420B39")) to get test ads on this device.
I/AudioManager(17880): In isSpeakerphoneOn(), calling application: com.example.ads_example
D/EgretLoader(17880): EgretLoader(Context context)
D/EgretLoader(17880): The context is not activity
I/DynamiteModule(17880): Considering local module com.google.android.gms.ads.dynamite:0 and remote module com.google.android.gms.ads.dynamite:214106404
I/DynamiteModule(17880): Selected remote version of com.google.android.gms.ads.dynamite, version >= 214106404
I/flutter (17880): Ad loaded
W/ContentCatcher(17880): Failed to notify a WebView
W/System  (17880): A resource failed to call release.
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_DOWN, id[0]=0, pointerCount=1, eventTime=130157192, downTime=130157192 } moveCount:0
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_UP, id[0]=0, pointerCount=1, eventTime=130157275, downTime=130157192 } moveCount:0
W/ContentCatcher(17880): Failed to notify a WebView
W/Ads     (17880): #004 The webview is destroyed. Ignoring action.
I/chatty  (17880): uid=10919(com.example.ads_example) identical 3 lines
W/Ads     (17880): #004 The webview is destroyed. Ignoring action.
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_DOWN, id[0]=0, pointerCount=1, eventTime=130157814, downTime=130157814 } moveCount:0
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_UP, id[0]=0, pointerCount=1, eventTime=130157989, downTime=130157814 } moveCount:13
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_DOWN, id[0]=0, pointerCount=1, eventTime=130158206, downTime=130158206 } moveCount:0
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_UP, id[0]=0, pointerCount=1, eventTime=130158442, downTime=130158206 } moveCount:1
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_DOWN, id[0]=0, pointerCount=1, eventTime=130158688, downTime=130158688 } moveCount:0
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_UP, id[0]=0, pointerCount=1, eventTime=130158754, downTime=130158688 } moveCount:0
D/DynamitePackage(17880): Instantiating com.google.android.gms.ads.ChimeraAdManagerCreatorImpl
I/Ads     (17880): Use RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("7533D24B76F3D928E20EB84A8C420B39")) to get test ads on this device.
I/AudioManager(17880): In isSpeakerphoneOn(), calling application: com.example.ads_example
W/Ads     (17880): Not retrying to fetch app settings
D/EgretLoader(17880): EgretLoader(Context context)
D/EgretLoader(17880): The context is not activity
I/DynamiteModule(17880): Considering local module com.google.android.gms.ads.dynamite:0 and remote module com.google.android.gms.ads.dynamite:214106404
I/DynamiteModule(17880): Selected remote version of com.google.android.gms.ads.dynamite, version >= 214106404
I/flutter (17880): Ad loaded
W/ContentCatcher(17880): Failed to notify a WebView
W/System  (17880): A resource failed to call release.
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_DOWN, id[0]=0, pointerCount=1, eventTime=130159952, downTime=130159952 } moveCount:0
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_UP, id[0]=0, pointerCount=1, eventTime=130160027, downTime=130159952 } moveCount:0
W/ContentCatcher(17880): Failed to notify a WebView
W/Ads     (17880): #004 The webview is destroyed. Ignoring action.
I/chatty  (17880): uid=10919(com.example.ads_example) identical 3 lines
W/Ads     (17880): #004 The webview is destroyed. Ignoring action.
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_DOWN, id[0]=0, pointerCount=1, eventTime=130160472, downTime=130160472 } moveCount:0
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_UP, id[0]=0, pointerCount=1, eventTime=130160672, downTime=130160472 } moveCount:15
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_DOWN, id[0]=0, pointerCount=1, eventTime=130160965, downTime=130160965 } moveCount:0
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_UP, id[0]=0, pointerCount=1, eventTime=130161217, downTime=130160965 } moveCount:0
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_DOWN, id[0]=0, pointerCount=1, eventTime=130161510, downTime=130161510 } moveCount:0
D/MIUIInput(17880): [MotionEvent] ViewRootImpl { action=ACTION_UP, id[0]=0, pointerCount=1, eventTime=130161584, downTime=130161510 } moveCount:0
D/DynamitePackage(17880): Instantiating com.google.android.gms.ads.ChimeraAdManagerCreatorImpl
I/Ads     (17880): Use RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("7533D24B76F3D928E20EB84A8C420B39")) to get test ads on this device.
I/AudioManager(17880): In isSpeakerphoneOn(), calling application: com.example.ads_example
D/EgretLoader(17880): EgretLoader(Context context)
D/EgretLoader(17880): The context is not activity
I/DynamiteModule(17880): Considering local module com.google.android.gms.ads.dynamite:0 and remote module com.google.android.gms.ads.dynamite:214106404
I/DynamiteModule(17880): Selected remote version of com.google.android.gms.ads.dynamite, version >= 214106404
I/flutter (17880): Ad loaded
W/ContentCatcher(17880): Failed to notify a WebView
W/System  (17880): A resource failed to call release.
I/Ads     (17880): Use RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("7533D24B76F3D928E20EB84A8C420B39")) to get test ads on this device.
I/AudioManager(17880): In isSpeakerphoneOn(), calling application: com.example.ads_example
D/EgretLoader(17880): EgretLoader(Context context)
D/EgretLoader(17880): The context is not activity
I/DynamiteModule(17880): Considering local module com.google.android.gms.ads.dynamite:0 and remote module com.google.android.gms.ads.dynamite:214106404
I/DynamiteModule(17880): Selected remote version of com.google.android.gms.ads.dynamite, version >= 214106404
W/ContentCatcher(17880): Failed to notify a WebView
W/ContentCatcher(17880): Failed to notify a WebView
W/Ads     (17880): #004 The webview is destroyed. Ignoring action.
I/chatty  (17880): uid=10919(com.example.ads_example) identical 1 line
W/Ads     (17880): #004 The webview is destroyed. Ignoring action.
I/flutter (17880): Ad loaded
I/Ads     (17880): Use RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("7533D24B76F3D928E20EB84A8C420B39")) to get test ads on this device.
I/AudioManager(17880): In isSpeakerphoneOn(), calling application: com.example.ads_example
D/EgretLoader(17880): EgretLoader(Context context)
D/EgretLoader(17880): The context is not activity
I/DynamiteModule(17880): Considering local module com.google.android.gms.ads.dynamite:0 and remote module com.google.android.gms.ads.dynamite:214106404
I/DynamiteModule(17880): Selected remote version of com.google.android.gms.ads.dynamite, version >= 214106404
W/ContentCatcher(17880): Failed to notify a WebView
W/ContentCatcher(17880): Failed to notify a WebView
W/Ads     (17880): #004 The webview is destroyed. Ignoring action.
I/chatty  (17880): uid=10919(com.example.ads_example) identical 1 line
W/Ads     (17880): #004 The webview is destroyed. Ignoring action.
I/flutter (17880): Ad loaded
I/Ads     (17880): Use RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("7533D24B76F3D928E20EB84A8C420B39")) to get test ads on this device.
I/AudioManager(17880): In isSpeakerphoneOn(), calling application: com.example.ads_example
I/ple.ads_exampl(17880): Waiting for a blocking GC ProfileSaver
I/ple.ads_exampl(17880): WaitForGcToComplete blocked ProfileSaver on ProfileSaver for 13.643ms
D/EgretLoader(17880): EgretLoader(Context context)
D/EgretLoader(17880): The context is not activity
I/DynamiteModule(17880): Considering local module com.google.android.gms.ads.dynamite:0 and remote module com.google.android.gms.ads.dynamite:214106404
I/DynamiteModule(17880): Selected remote version of com.google.android.gms.ads.dynamite, version >= 214106404
W/ContentCatcher(17880): Failed to notify a WebView
W/ContentCatcher(17880): Failed to notify a WebView
W/Ads     (17880): #004 The webview is destroyed. Ignoring action.
I/chatty  (17880): uid=10919(com.example.ads_example) identical 1 line
W/Ads     (17880): #004 The webview is destroyed. Ignoring action.
I/flutter (17880): Ad loaded
I/Ads     (17880): Use RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("7533D24B76F3D928E20EB84A8C420B39")) to get test ads on this device.
I/AudioManager(17880): In isSpeakerphoneOn(), calling application: com.example.ads_example
D/EgretLoader(17880): EgretLoader(Context context)
D/EgretLoader(17880): The context is not activity
I/DynamiteModule(17880): Considering local module com.google.android.gms.ads.dynamite:0 and remote module com.google.android.gms.ads.dynamite:214106404
I/DynamiteModule(17880): Selected remote version of com.google.android.gms.ads.dynamite, version >= 214106404
W/ContentCatcher(17880): Failed to notify a WebView
W/ContentCatcher(17880): Failed to notify a WebView
W/Ads     (17880): #004 The webview is destroyed. Ignoring action.
I/chatty  (17880): uid=10919(com.example.ads_example) identical 1 line
W/Ads     (17880): #004 The webview is destroyed. Ignoring action.
I/flutter (17880): Ad loaded

cc: @blasten

Heard flutter 2.8 has improve in terms of app performance and just upgrated to latest version and Now I am seeing glitch issue while navigating(Banner Ads). Funny things is that as long as you have ads in both screen ie. it work fine. It seems like I have to add ads in all screen to make it work otherwise downgrade the flutter version.
Please check and update.

@blasten did you get a chance to look into this? Thanks in advance.

I have the same issue with NativeAd (google_mobile_ads 1.0.1) and Flutter (2.8.0)

I'm interested in hearing about workarounds in case someone knows some.

I have the same issue same problem with banner ads (google_mobile_ads 1.0.1) and Flutter (2.8.1)

@asifuzzaman-reyad  i guess as @maheshmnj  mentioned above it will be at flutter 2.9.0

Hi @peterwvj, Thanks for filing the issue. I am able to reproduce the issue with stable 2.8.0 and the master, 2.9.0-1.0.pre.93, But not on stable 2.5.3. This issue is reproducible only on Android and works fine on IOS.
Screen.Recording.2021-12-16.at.4.18.17.PM.mov
Here is a timeline trace run using skia flag enabled on the stable channel on Xiaomi k20 pro(Android 11), if this can help track down the bug.
flutter doctor -v
logs in profile mode with trace skia
Edit: This issue is only reproducible when using the ads plugin on stable 2.8.0 and works fine on stable 2.5.3.
cc: @blasten

This started with https://github.com/flutter/engine/commit/866db6211126ab34539b799852b9b63b9249c082
During the transition between the screens there may be a PlatformViewsController.onEndFrame callback where the currentFrameUsedPlatformViewIds set briefly becomes empty.
This will result in a call to FlutterView.revertImageView which will eventually call FlutterRenderer.startRenderingToSurface.  startRenderingToSurface will do a Rasterizer::Teardown before restarting the rasterizer for the new surface.
The Rasterizer::Teardown then does the SurfacePool::DestroyLayers call added in https://github.com/flutter/engine/commit/866db6211126ab34539b799852b9b63b9249c082, causing the flickering.
@blasten

I am also facing same issue when switch from 2.2.1 to 2.8.1.. it is very awkward issue. i have spend whole to find the cause but didn't find anything...

Do we have a solution or find a way to bypass this issue?

Same issue

face the same issue!

This started with flutter/engine@866db62
During the transition between the screens there may be a PlatformViewsController.onEndFrame callback where the currentFrameUsedPlatformViewIds set briefly becomes empty.
This will result in a call to FlutterView.revertImageView which will eventually call FlutterRenderer.startRenderingToSurface. startRenderingToSurface will do a Rasterizer::Teardown before restarting the rasterizer for the new surface.
The Rasterizer::Teardown then does the SurfacePool::DestroyLayers call added in flutter/engine@866db62, causing the flickering.
@blasten

Do you have a solution or find a way to bypass this issue? @blasten

@q384264619, Please don't tag team members repetitively. The issue has been prioritized and the issue seems to be identified, The relevant team members will update on this issue when they have an update to share.

Following!

Facing same issue in Flutter 2.8.1
https://user-images.githubusercontent.com/18713058/147820454-70582d6b-133a-45f1-b163-2b2286ee264f.mp4

Heard flutter 2.8 has improve in terms of app performance and just upgrated to latest version and Now I am seeing glitch issue while navigating(Banner Ads). Funny things is that as long as you have ads in both screen ie. it work fine. It seems like I have to add ads in all screen to make it work otherwise downgrade the flutter version.
Please check and update.

yeah thats the only way for me too... need to create another banner ads on the new page... guess thats the only way for now.. hope it got resolved..

I am having the same issue. and it was not there as of the last build version but now it is frustrating users eyes on the new version.

Same Issue

From triage: @blasten I'm bumping the priority on this since I think we may want to have a fix if possible before we cut the next branch.

Will this fix release to the stable version?

Will this fix release to the stable version?

Yes, the cp: tags stand for "cherry-pick" into the specified version

Will this fix release to the stable version?

Yes, the cp: tags stand for "cherry-pick" into the specified version

Will this fix release as a 2.8.x patch? seems this is merged into 2.10

@westlinkin No, sorry, we're in a shorter than usual release cycle, and this change has come in too late for a 2.8 hotfix. But don't worry, 2.10 is coming soon.

when are we getting the update still waiting

This issue is fixed, and the fix is available on the latest master. You may either wait until the fix lands to stable in the upcoming release stable 2.10  or switch to the master channel using
flutter channel master
flutter upgrade

verified on  master, 2.9.0-1.0.pre.328
https://user-images.githubusercontent.com/31410839/149135677-a5eb14c4-47e5-43ea-b4e6-e994d633bcaa.mov

Issue is still reproducible on 2.10.0-0.2.pre. But not every time. I can see flickering once per 5 - 10 pushes.
So I have screens A, B, C. Screen A contains Native view.
Push from A to B
Pop back from B to A
Push from A to C <--- In this case sometimes during the animation I see B screen for a while, but B is already popped.
I guess in original issue the problem is same.
Push from List to GoogleAds
Pop back from GoogleAds to List
Push from List to a new GoogleAds and during this animation old one is flickering.
I will try to do example a bit later.

Please check first seconds of the video.
https://user-images.githubusercontent.com/4008338/150959900-1456af81-8597-4bd1-a4f8-0e1eca906366.mp4
Step to reproduce

create new flutter project
add webview_flutter: ^3.0.0
copy code below to main.dart

main.dart
import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';

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

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

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(home: HomeScreen());
  }
}

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

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

class _HomeScreenState extends State<HomeScreen> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: SafeArea(
        child: Column(
          children: [
            ListTile(
              title: Text('Red'),
              onTap: () {
                Navigator.push(context, MaterialPageRoute(builder: (context) {
                  return const ProducDetailPage();
                }));
              },
            ),
            ListTile(
              title: Text('Green'),
              onTap: () {
                Navigator.push(context, MaterialPageRoute(builder: (context) {
                  return const ProductDetailPage2();
                }));
              },
            ),
            SizedBox(
              height: 150,
              child: WebView(
                initialUrl: 'https://flutter.dev',
              ),
            ),
          ],
        ),
      ),
    );
  }
}

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

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: const Text('Produc Detail'),
        ),
        body: Column(children: const [
          Padding(
            padding: EdgeInsets.all(8.0),
            child: SizedBox(
              height: 150,
              child: Placeholder(
                color: Colors.red,
              ),
            ),
          ),
        ]));
  }
}

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

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: const Text('Produc Detail'),
        ),
        body: Column(children: const [
          SizedBox(
            height: 150,
            child: Placeholder(
              color: Colors.green,
            ),
          ),
        ]));
  }
}import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';

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

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

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(home: HomeScreen());
  }
}

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

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

class _HomeScreenState extends State<HomeScreen> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: SafeArea(
        child: Column(
          children: [
            ListTile(
              title: Text('Red'),
              onTap: () {
                Navigator.push(context, MaterialPageRoute(builder: (context) {
                  return const ProducDetailPage();
                }));
              },
            ),
            ListTile(
              title: Text('Green'),
              onTap: () {
                Navigator.push(context, MaterialPageRoute(builder: (context) {
                  return const ProductDetailPage2();
                }));
              },
            ),
            SizedBox(
              height: 150,
              child: WebView(
                initialUrl: 'https://flutter.dev',
              ),
            ),
          ],
        ),
      ),
    );
  }
}

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

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: const Text('Produc Detail'),
        ),
        body: Column(children: const [
          Padding(
            padding: EdgeInsets.all(8.0),
            child: SizedBox(
              height: 150,
              child: Placeholder(
                color: Colors.red,
              ),
            ),
          ),
        ]));
  }
}

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

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: const Text('Produc Detail'),
        ),
        body: Column(children: const [
          SizedBox(
            height: 150,
            child: Placeholder(
              color: Colors.green,
            ),
          ),
        ]));
  }
}

➜  ~ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, 2.10.0-0.2.pre, on macOS 12.0.1 21A559 darwin-x64, locale en-RU)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
[✓] Xcode - develop for iOS and macOS (Xcode 13.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2020.3)
[✓] VS Code (version 1.63.2)
[✓] Connected device (4 available)
[✓] HTTP Host Availability

• No issues found!

@blasten ptal.

@just-kip That doesn't seem quite right. I am taking a closer look

I verified the latest master based on the above sample code in the original post but the issue was not reproducible
https://user-images.githubusercontent.com/31410839/151121086-e46158b1-eb2c-4e9e-a752-162aa93aca34.mov
I tried using web view in place of google mobile ads and I did see the flicker and the app crashed. The issue has been filed here for further tracking https://github.com/flutter/flutter/issues/97283
https://user-images.githubusercontent.com/31410839/151123465-f39ecd14-db6b-4447-9b41-89574b03db95.mov

flutter doctor -v
[✓] Flutter (Channel master, 2.9.0-1.0.pre.504, on macOS 12.1 21C52 darwin-arm, locale en-GB)
    • Flutter version 2.9.0-1.0.pre.504 at /Users/mahesh/Documents/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 94d9b02deb (4 hours ago), 2022-01-25 22:00:07 -0600
    • Engine revision 54e1f3f4bb
    • Dart version 2.17.0 (build 2.17.0-54.0.dev)
    • DevTools version 2.9.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

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

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

[✓] Android Studio (version 4.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.8+10-b944.6916264)

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

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

[✓] Connected device (3 available)
    • Redmi K20 Pro (mobile) • <IP_ADDRESS>:5555 • android-arm64  • Android 11 (API 30)
    • macOS (desktop)        • macos            • darwin-arm64   • macOS 12.1 21C52 darwin-arm
    • Chrome (web)           • chrome           • web-javascript • Google Chrome 97.0.4692.99

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

• No issues found!

Upgrading to Flutter 2.8.0 causes flickering when navigating between screens in apps that contain ads. In particular, the flickering happens when navigating to a new screen from another screen that has a banner ad. When commenting out the banner the flickering goes away.
The problem is not producible using Flutter 2.5.3.
The issue was originally raised in googleads-mobile-flutter but after investigating the issue further it is now believed to be a problem with the Flutter SDK.
To produce the problem, run the attached application code using google_mobile_ads: 1.0.1 and Flutter 2.8.0.
Video sample, code sample and flutter doctor -v output produced by @maheshmnj
Code sample
Video showing the bug (Flutter 2.8.0), This bug is not reproducible using Flutter 2.5.3:
stable 2.8.0	stable 2.5.3
flutter-2.8.0-bug.mov
flutter-2.5.3-no-bug.mov
Can presumably be reproduced using any Android 12 device. See flutter doctor -v output for details.
flutter doctor -v

i also have this glitch, can some help me ?

@maheshmnj the crash in #97283 is a different issue due to https://github.com/flutter/flutter/issues/97283#issuecomment-1022441333.
The glitch is a regression.

How solved is it?
On Wed, Jan 26, 2022, 11:11 PM Emmanuel Garcia @.***>
wrote:

@maheshmnj https://github.com/maheshmnj the crash in #97283
https://github.com/flutter/flutter/issues/97283 is a different issue
due to #97283 (comment)
https://github.com/flutter/flutter/issues/97283#issuecomment-1022441333.
The glitch is a regression.
—
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/95343#issuecomment-1022485247,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACCH5N2QEGMYQMWMQFZLLCTUYA56ZANCNFSM5KEF43JA
.
You are receiving this because you commented.Message ID:
@.***>

I am observing the same behaviour when pushing a new Scaffold on top of a Google Maps widget.

is there any solution ??

two month and the issue is not fixed yet !!!

two month and the issue is not fixed yet !!!

it is already in the master channel, if you read the thread. and its going to be part of flutter 2.10 stable.

two month and the issue is not fixed yet !!!

it is already in the master channel, if you read the thread. and its going to be part of flutter 2.10 stable.

I tested fdd0af78bbda27e1084ec859b27765d927cbe27e (Flutter 2.10-beta) on a Pixel 4, and I'm unable to reproduce the glitch.
Examples tried:
@just-kip https://github.com/flutter/flutter/issues/95343#issuecomment-1021037818
@peterwvj https://github.com/flutter/flutter/issues/95343#issue-1081292044
If you are still seeing this issue, please ensure that you are using that commit as the baseline. If you are still seeing this issue, this might be a device-specific issue. Please share the device model as well as the example code.

I have upgraded to  2.10.0-0.3.pre and this does not appear to be fixed at all. I can also reproduce on my physical device in release mode.
https://user-images.githubusercontent.com/29047682/151905152-ab4a3804-74b5-45d7-aec6-bc00a287c066.mp4

The latest 2.10 version still got this problem.  For first time only though. pop the second screen and push again, the blink goes away.

Just noticed after deployed app to production, It is bit annoying too. Thought issue was fixed, Please look into it.

This problem was much worse in stable version 2.8.1
On the new flutter stable version 2.10.0, with dart 2.16.0, is much better. But it is not fixed 100% yet.
I can also see the glitch 😢

I test on the 2.10 stable version and the issue was reproducible sometime , look like thee video below:
https://user-images.githubusercontent.com/10770362/152925664-e92d7e70-2abe-41dd-9d8b-6a3060b03404.mp4
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel unknown, 2.10.0, on macOS 12.1 21C52 darwin-x64, locale zh-Hans-CN)
[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.1)
[✓] IntelliJ IDEA Ultimate Edition (version 2018.3.5)
[!] Proxy Configuration
    ! NO_PROXY is not set
[✓] Connected device (2 available)
[✓] HTTP Host Availability

! Doctor found issues in 1 category.

it's almost two month, I am still using version 2.5.3 to build android app.

I modified the example a little bit, and I can see the issue now. I'm taking a look at the issue.

Code
void main() {
  WebView.platform = SurfaceAndroidWebView();
  runApp(MyApp());
}

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

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(home: HomeScreen());
  }
}

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

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

class _HomeScreenState extends State<HomeScreen> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: SafeArea(
        child: Column(
          children: [
            ListTile(
              title: Text('Red'),
              onTap: () {
                Navigator.push(context, MaterialPageRoute(builder: (context) {
                  return const ProducDetailPage();
                }));
              },
            ),
            ListTile(
              title: Text('Green'),
              onTap: () {
                Navigator.push(context, MaterialPageRoute(builder: (context) {
                  return const ProductDetailPage2();
                }));
              },
            ),
            SizedBox(
              height: 150,
              child: WebView(
                initialUrl: 'https://flutter.dev',
              ),
            ),
          ],
        ),
      ),
    );
  }
}

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

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: const Text('Produc Detail'),
        ),
        body: Column(children: const [
          Padding(
            padding: EdgeInsets.all(8.0),
            child: SizedBox(
              height: 150,
              child: Placeholder(
                color: Colors.red,
              ),
            ),
          ),
          SizedBox(
            height: 150,
            child: WebView(
              initialUrl: 'https://flutter.dev',
            ),
          ),
        ]));
  }
}

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

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: const Text('Produc Detail'),
        ),
        body: Column(children: const [
          SizedBox(
            height: 150,
            child: Placeholder(
              color: Colors.green,
            ),
          ),
        ]));
  }
}

I synced to the commit prior to https://github.com/flutter/engine/commit/866db6211126ab34539b799852b9b63b9249c082, and I'm still able to see a glitch if I run the code snippet I shared above.
The good news is that once https://github.com/flutter/engine/pull/31198 is merged, this issue will be fixed from its root cause and won't happen again.

From iraq
, now im test flutter google_ads that was have crash when tap to other page but now fixed in google_mobile_ads:1.1.0
with flutter version 2.10.1 stabel versiom now the erorr not happening  screen not crashing anymore  if you have this error  contact me i will help you
<EMAIL_ADDRESS>Snapchat:shaho-it
Instagram:shaho_it

@blasten Will this be released in 2.10 hot fix?

i dont have a problem with flutter 2.10 and google ads 1.1.0 anymore.

 flutter 2.10 and google ads ^1.1.0 . and it show some time the flicking

flutter 2.10 and google_mobile_ads ^1.1.0 . It seems to me that the problem is still occurring. Right when I updated it stopped blinking but soon after it came back

flutter 2.10.2 and google_mobile_ads: ^1.1.0 . It seems to me that the problem is still occurring. :(

Flutter 2.10.2,
Dart 2.16.1,
google_mobile_ads: ^1.1.0,
Such a turnoff. Cannot release the app to the play store because of this issue.

flutter 2.10.3 and google_mobile_ads: ^1.1.0 . It seems to me that the problem is still occurring. :(

I'm testing in the 2.10 stable version and the issue was reproducible sometime , look like thee video below:
Screenrecorder-2022-02-08-13-40-48-945.mp4
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel unknown, 2.10.0, on macOS 12.1 21C52 darwin-x64, locale zh-Hans-CN)
[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.1)
[✓] IntelliJ IDEA Ultimate Edition (version 2018.3.5)
[!] Proxy Configuration
    ! NO_PROXY is not set
[✓] Connected device (2 available)
[✓] HTTP Host Availability

! Doctor found issues in 1 category.

2.10.3 still occurring , in my case with webView_flutter ：
1、A page -> webview page -> B page ， when webview page open B page ，sometime A page UI  will  twinkle in  B page .
2、when B page back to webview page , then back to A page， sometime B page UI  will  twinkle in A page  suddenly.
if I only A page -> webview page , I can resolve this issue by render Container replace WebView when Navigator.pop .

Any progress on this? Until this gets fixed I'm stuck on 2.5.3 and with me probably most people using the ads package.
Multiple users have confirmed this still happens with 2.10.3.
Apparently support for ad-based apps is not a priority?

same here stuck on  2.5.3

Hi folks, I believe the fix for this from @blasten is in the 2.12 beta. (@blasten Is that the right commit?) Please give it a try.

is in the 2.12 beta.

I've tested on 2.12.0-4.1.pre with dart 2.17.0-182.1.beta using PageView with BannerAd inside pages and the bug still exists. 😢
Can anyone test it to confirm too ?

The ultimate fix for this issue is available on the master channel. @marcellocamara can you try building with the master channel?

Thanks for confirming.
If someone is having this issue. please try the steps described above, and comment
if you are having issues after trying.


Credential provider debug

Hi! Could you give me some advice how to run your credential provider in debug mode under Visual Studio. Thnks.

I haven't run this in about 9 years, so I'm not totally sure. Off the top of my head:

You can register the debug DLL location in the registry
The CredUILauncher (https://github.com/tylermenezes/Rfid-Credential-Provider/tree/master/Provider/CredUILauncher) should let you test the provider in a window, instead of logging in.

This isn't really supported anymore, though, and I don't think it works with modern versions of Windows.


Error In Dout Gtkwave

I am getting the following output. Please let me know if there are any changes to be made in the code while running.
I get xxxxx on gtkwave on 698ns timescale
I ran
iverilog -o output2.vvp softmax.v adder.v divider.v exponential.v multiplier.v softmax_tb.v
vvp output2.vvp
gtkwave softmax_tb.vcd

There was an issue in the TB and I fixed it, please try it now.


changes in auth URL in security section

Latest improvements:
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[ ] The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

Automation for azure-sdk-for-python

Automation for azure-sdk-for-go

It seems that you have changed an url to a table? Is that valid?

It seems that you have changed an url to a table? Is that valid?

Hi @ArcturusZhang, I need to stage this before its merged to see if it renders correctly. Closing this PR and creating a new one to stage this change in OpenAPI Hub.


Enhancement: Autocompletion of values.

It would be great to have a "Author" setting, and to auto complete file with date and filename automatically :D Same for functions !

Hello @Nurrl ! :+1:
I have the package a little left :cry: Is it okay if you write me here all the enhancements you would love seeing implemented or email them to me? :bowing_man:
By the way, if you would love to help me with the project you are more than welcome! ^.^
Best regards,
Omar


Chrome unique id fix

Removed id #dtEntry from px-datetime-entry-cell and replaced with class variable .datetime-entry-input.
This ensures no duplicate non-unique id error that chrome console checks for.

@sks please review. Thanks

@cla-bot check

@itzzshirlayyy I've done a rebase + force-push to fix cla-bot - one of your commits was done with your GE e-mail which isn't tied to any github account. You may want to delete your local copy of the chromeUniqueIdFix and check it out again to get synchronised (if you need to make further changes).
Also updated the node-sass dependency to (hopefully) fix travis.

@evanjd Thank you so much for your promptness in resolving my issues!


Fix crash in OptimizedRegularExpression

I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en
Category (leave one):

Bug Fix

Short description (up to few sentences):
Hotfix for crash in extractAll() function.

fixes #6627


Specify bright colours first to match base16 specification

I decided against merging this last week since I didn't feel like we had a strong reason to change the base24 spec, but I think a strong reason to change it is that it is most intuitive to keep base00-base0F the same in both the base16 scheme and base24 scheme when creating a base24 scheme.
What is a "Bright" colour?
A bright colour is perceived "bright" typically when the luminance and the saturation are higher values compared to another colour.
Examples of current spec not being intuitive

Here is an example of someone creating a new base16 and base24 scheme, but they keep base00-base0F the same in both schemes, even though the base24 specification specifies keeping "brighter" colours as base12-base17. It's not intuitive at all to create a base16 theme, and then swap base08, base0A-base0E with base12-base17. https://github.com/tinted-theming/schemes/pull/31
Even though the base24 spec stipulates different, the current base24 themes actually have the "Bright" colours as base08-base0E in most cases.

The proposed PR change would actually make most of the base24 schemes fall in line with the spec

My understanding with the colour palettes given are that bases 12-17 are 'lighter' than bases 8 to A, which appear more saturated. To clarify, is the understanding that these are the 'bright' colours? If so I actually think it might be worth clarifying this, that the most saturated colours are bases 8 to A
Thoughts?

Yeah sounds good, I've added a line to define "Bright" - I'm happy to change anything about it.

Yeah sounds good, I've added a line to define "Bright" - I'm happy to change anything about it.

In those examples the brighter colurs have higher saturation but not higher luminance
In many cases I had decided what I thought were bright colours by increading the luminance by 10 percentage points (certainly not suggesting that was right, but more background on what I did at the time)
That said, I'm happy for bright to mean both lighter (more luminance) and more saturated

Yeah I get that. It’s complicated with colours and something can seem “brighter” with a certain colour even if it’s technically not. A milky colour might not seem brighter compared to a more saturated colour, but a milk red is brighter than a dark red. It all depends on the colours in that palette and isn’t really something we can strictly define.
I think we could say “Bright” refers to intensity, vividness or luminance of the colour. At the end of the day it doesn’t really matter too much as long as the two colours are different variants of the same colour.

We could also add an image for clarity (even though it's not a hard rule):


x/mobile: file

What version of Go are you using (go version)?

$ go version

Does this issue reproduce with the latest release?
What operating system and processor architecture are you using (go env)?
go env Output
$ go env

What did you do?

What did you expect to see?
What did you see instead?

Incomplete.


refs in OverlayView not defined in parent component's componentDidMount

If you have a component like so:
class MapControllerOrWhatever extends Component {
  componentDidMount() {
    console.log(this.refs.redSquare); // logs undefined
  }

  render() {
    const mapCenter = new google.maps.LatLng(40.71, -73.95);
    return (
      <div>
        <GoogleMap
          containerProps={{
            style: {
              height: '100%',
            },
          }}
          zoom={13}
          center={mapCenter}
          ref="map"
        >
          <OverlayView
            position={mapCenter}
            mapPaneName={OverlayView.OVERLAY_MOUSE_TARGET}
            >
            <div
              style={{
                width: 100,
                height: 100,
                backgroundColor: 'red'
              }}
              ref="redSquare"
            />
          </OverlayView>
        </GoogleMap>
      </div>
    );
  }
}

the ref to the redSquare div, which is a child of the OverlayView will be undefined in componentDidMount. Is there a way to mitigate this problem, or is it a consequence of the techniques you use to render the children of the OverlayView?

Unfortunately yes. Currently I don't see a possible solution out there.

Reason for this is that render happens on Parent first and then children. So issue is that when Parent finishes render it calls componentDidMount fn() but at that Child Overlay is finished rendering so ref is not set with parent.
Work around for this is set timedelay so child renders  and ref is available at Parent
  componentDidMount() {
      setTimeout(console.log(this.refs.redSquare), 1000) #required delay 1sec or more
  }

React must need a componentDidDisplay lifecycle for this use of refs

@TonyFrancis I think the reason here is we had a different React.render cycle for components like OverlayView, InfoWindow and InfoBox.

@tomchentw  yes that's the issue. React group try to propose a new lifecycle for this .
ComponentDidDisplay

@TonyFrancis wow it's so new. Thanks for the reference!

@brainkim @TonyFrancis Try callback style ref instead? At that time, you could always get up to date DOM. https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute

Close for now.
We're also looking for maintainers. Involve in #266 to help strengthen our community!


mt-dashboard

Due Monday 4/11
Designed by Fiona & Serena - please review design with them when complete

Create MT Dashboard Site View (as on figma)
Connect to backend to get site/student group/student data

closes #73

some minor things that design still needs to verify

getting the final okay for the page (disabled dropdown + empty data text)
data for View All right data (Other TLP)


FEATURE - Add CSS enhancement to the navbar

Greetings !!
I have a feature recommendation to this website by adding additional UI properties to the navbar to look it more interesting in the dak mode and light mode.I hope you will like it so please assign me this issue

Hello @codervivek5  could you please assign this issue to me, I am really interested to work your project, Hoping you to give me the chance, thanking you in advance

Also, @codervivek5 could you please add the necessary labels, Thank you


Is there a way to stop the server programmatically?

Question
I am using Pode to listen on localhost for an OAuth response, but I haven't figured out how to store the response in a powershell session variable and stop Pode when it is received. Is that currently possible?

Ooo, so you want the response to be available in a variable to use outside of Pode, then close the server?
For closing Pode, there's Close-PodeServer, call this from within the server itself - like a route, middleware, endware, etc. - and the server will terminate

Ooo, so you want the response to be available in a variable to use outside of Pode, then close the server?
Yes Exactly! A special short lived server for an important use. If there were any easy way to integrate this into a powershell module then enabling OAuth based Authentication for Powershell modules would be made trivial.
Right now I'm using Flask to bridge the gap, there I am able to assign the request input from a route to a global variable.

I'd support that :D

Those commits add a new Out-PodeVariable, which auto-creates variables when the server stops :)
used as: Out-PodeVariable -Name 'VariableName' -Value <SomeValue>


Replace deprecated set-output command

When using this action, GitHub Actions displays the following warning:

Warning: The set-output command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

Can this action be updated to prevent any issues when the set-output command is disabled?

This repo is being archived due to the maintainer passing away and development has moved to https://github.com/onyxmueller/build-tag-number
Consider re-creating this issue there (if it hasn't been fixed there already)


GeeksForGeeks Tests

(Ignore few SO tests for now, too many API calls today)

Remind me who's already approved this? Is it just me who's left, or should we be waiting for the pod to approve and so forth?

Remind me who's already approved this? Is it just me who's left, or should we be waiting for the pod to approve and so forth?

the pod approved it, i think Joan also needs to be added here


Vertical mode uses horizontal scrolling

When set to vertical mode the scrolling/touch/draggable is still done horizontally.
I would expect to be able to scroll/touch-move up or down and have the slider respond.
See the following fiddle
https://jsfiddle.net/nemh9nzk/29/

Hey, thanks for contributing @Seanom ... but you could have done a very simple search to find this :)
https://github.com/kenwheeler/slick/issues/1001
Regards, Simon.

ahh, my mistake I ran a search but only on open tickets. Nice to see its in progress.
Thanks

No sweat :smile: - the default search is kinda icky, always gotta delete that "is: issue, is: open" :/


Question: Automatically horizontally scale when building

Is this a request for help?: Yes

I'm trying to make my agents horizontally scale when all agents are busy. Lets say capping it at 10 workers and looks somewhat like this:
No pipelines triggered (agents => 1)
Incoming Work triggers pipelines
Agent_1 gets assigned and starts building
Automatically create Agent_2
Agent_2 gets assigned some work
Automatically create Agent_3
Agent_3 waits for job
Agent_1 finishes (gets killed)
Agent_2 finished (gets killed)
Remaining agents (1): Agent_3

it is not supported by buildkite agent yet.
Custom metrics need be involved there.

The metrics are collected via: https://github.com/buildkite/buildkite-agent-metrics

I see Prometheus metrics are supported, which are cloud agnostic, which is good.
Need to find time to play with it, at least somebody else can chip in with the help

@rimusz I realize this issue is old, but I opened this PR today to work on this: https://github.com/buildkite/charts/pull/80
As for whether or not is practical or useful, I'll leave it up to the team. Thanks!


_WD_FrameLeave's Header

The syntax of _WD_FrameLeave says it doesn't accept any arguments currently, should be updated to this...
;#FUNCTION#===================================================================================================================
; Name ..........: _WD_FrameLeave
; Description ...: This will leave the current frame, to its parent, not necessarily the Top, for subsequent WebDriver operations.
; Syntax ........: _WD_FrameLeave($sSession)
; Parameters ....: $sSession            - Session ID from _WDCreateSession
; Return values .: Success      True
;                  Failure      - WD Response error message (E.g. "chrome not reachable")
; Author ........: Decibel
; Modified ......: 2018-04-27
; Remarks .......: ChromeDriver and GeckoDriver respond differently for a successful operation
; Related .......:
; Link ..........: https://www.w3.org/TR/webdriver/#switch-to-parent-frame
; Example .......: No
;===============================================================================================================================

(took me waaay to long to realize that I could triple backticks to make a code block :D )

Thanks. I'll include this in the next update


Test on a Mac

I've tried it today for release version 0.5.1 and get the following error:
dyld[50626]: Library not loaded<EMAIL_ADDRESS>  Referenced from: <20B84643-C252-3706-92BA-9768FCE084B3> /Users/user/seccardgame
  Reason: tried<EMAIL_ADDRESS>(no such file<EMAIL_ADDRESS>(no such file<EMAIL_ADDRESS>(no such file), '/usr/local/lib/libssl.3.dylib' (no such file), '/usr/lib/libssl.3.dylib' (no such file, not in dyld cache)
[1]    50626 abort      ./seccardgame

A rather quick and not too deep search revealed that this is not uncommon issue, e.g. see

https://users.rust-lang.org/t/wasm-pack-dyld-library-not-loaded/58218
https://stackoverflow.com/questions/67295685/openssl-library-is-not-loaded-at-mac-m1-library-not-loaded-usr-local-opt-open
https://stackoverflow.com/questions/68883754/how-do-i-fix-dyld-library-not-loaded-when-using-wget-on-a-command-line-for

On my system, openssl@3 is installed already, re-installing didn't help, as was exporting the path. The part most resources I came across had in common is to reinstall the library that depends on openssl@3 - the question for us would be then to figure out which one does?

Thank you for testing and the research. I will try to set up a native cross compiled to apple silicon. I remember it did not work out of the box.
As I do not have hands on an apple silicon computer, is there a chance you can try and compile it from source? If not I will ask around at work.

Good idea :) Also, totally forgot to provide the environment I was testing on, oops 😅 Just ran the game locally on my M3 and it worked, didn't face any problem setting things up at all (installed rust via homebrew). So I think that's fine for the current state; I can build it and upload it to the release until we can fix cross-compilation, and alternatively people on Apple Silicon architecture can build the game locally as well. Also, good news is that on my Intel Macbook the provided build still just works without issues.

That is great to hear.  I just had a look into cross-compilation. Locally I can cross-compile to aarc64-darwin when setting the openssl to vendored as dependency for this architecture. I then had a look at the github runners and realized macOS-13 runners are the last running on x86. With adjusted runners and dependency the build works for x86_64 and aarch64 darwin (maxOS) targets.
However, I cannot test it due to missing hardware. Can you test this release?

Congrats, it worked! Runs like a charm in both the Intel and the Apple Silicon versions now for Mac 🎉

Thank you so much for testing!


Replace pymatgen substitution

This PR replaces the pymatgen doping to address #24.
The substitution step is now done manipulating the Atoms object where pymatgen is
used to ensure that only a single unique site to dope is present.

It appears this pymatgen AdsorbateFinder.generate_substitution_structures method was the source of the missing key errors we saw trying to convert the pymatgen.Structures back to ase.Atoms. So, we no longer need to pin to the older pymatgen version (which was also pinning numpy to an older version)


Enable A/B testing

Enable A/B testing for shopping app.  See https://fr.wikipedia.org/wiki/Test_A/B
Goal is to show the promotion banner on top of the cart, for only a percentage of the visitors.

[x] Proper NGINX config for "current_A" and "alternative_B"
[x] Update microservice\frontend\catalog\app\partials\cart.html to show discount if enabled
[x] Update Debian packaging to include 2 sites alternative

All good.


More eclipse compiler fixes.

Compilation errors flagged by the Eclipse compiler. Those can be
reproduced inside IDEA by following
http://blog.dripstat.com/post/103658392234/why-you-should-use-the-eclipse-compiler-in

I would hold off applying this pull request for now. The upcoming Eclipse Mars compiler seems to have all the problems fixed (it compiles my test suite without errors) but in turn introduced a new error (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=469317)

Downloading Eclipse Mars and loading Presto does indeed work and has no errors (only warnings).

Should we close this @hgschmie ?


Explain how to try out the API

Hopefully, this will make it easier for future contributors to get
started.

I feel like I remember there being a gotcha around having complete store paths in the source (including docs?), but I also think it may not apply to binlore since it isn't a full derivation.
I've folded this in as-is for now, subbed out the store paths for an ellipses just in case, and then added a section on the shell environment for playing around with the lower-level YARA rule results. (660bc04d49df9b047f6f2850ab74698078705327)
Thanks for the nudge here.


[Service Bus] Perf tests - testing rhea-promise receive

In case of the old azure-sb sample, lets make the request to receive the next message only after the previous call completed. Then compare this with the other 2 samples where we pass maxConcurrentCalls as 1

https://github.com/Azure/azure-sdk-for-js/pull/2698#issuecomment-489254888


Suspend/Enable Autoscaling Groups

Autoscaling groups kick in once you shut down the EC2 instances. To prevent this you must suspend them.
It would be great if you could include them in your process.
Here are the scripts I use pre conserve and restore
Suspend Auto-scaling Groups: This will use the region from your ~/.aws/config profile
aws autoscaling describe-auto-scaling-groups --output=yaml | grep AutoScalingGroupName | awk '{print $2}' | xargs -n1 aws autoscaling suspend-processes --auto-scaling-group-name
Resume Auto-scaling Groups: This will use the region from your ~/.aws/config profile
aws autoscaling describe-auto-scaling-groups --output=yaml | grep AutoScalingGroupName | awk '{print $2}' | xargs -n1 aws autoscaling resume-processes --auto-scaling-group-name

@037g that's a good idea, there's a similar feature for ECS Fargate tasks. Will add it to to-do list.

@037g this is released in v0.0.9, let me know if it works for you :)

@aramalipoor
Unfortunately v0.0.10 did not work for me. Your approach caused my instances to be terminated instead of being shut down. It doesn't seem like you are suspending the autoscaling activities like the script I provided. Instead you are changing all the autoscaling configurations.
Instances:
https://www.dropbox.com/s/qqqi29ha9xah888/instances.png?dl=0
Autoscaling:
https://www.dropbox.com/s/r3mcowg7fifn44p/autoscaling.png?dl=0
Log Output
`AWS Cost Saver
Action: Conserve
AWS region: eu-west-1
AWS profile: default
State file: eu-awsenv.json
Dry run: no
❯ Shutdown EC2 Instances
✔ Fetch current state
❯ Conserve resources
⠙ i-083f3d4e1b9202e94 / gke-063c034a-controlplane-1
→ Stopping EC2 instance...
❯ Shutdown EC2 Instances
✔ Fetch current state
❯ Conserve resources
⠹ i-083f3d4e1b9202e94 / gke-063c034a-controlplane-1
→ Stopping EC2 instance...
❯ Shutdown EC2 Instances
✔ Fetch current state
❯ Conserve resources
✔ i-083f3d4e1b9202e94 / gke-063c034a-controlplane-1
✖ i-085dc0e4010790f01 / gke-063c034a-nodepool-0abb80dc
→ Resource is not in the state instanceStopped
✖ i-0fc6d8ae1434fc98e / gke-063c034a-nodepool-0abb80dc
→ Resource is not in the state instanceStopped
✖ i-0c540a745e4a86c95 / gke-063c034a-nodepool-0abb80dc
→ Resource is not in the state instanceStopped
✔ i-07ed551718eb85aea / gke-063c034a-controlplane-2
✖ i-0d4d63ef1a0d917d6 / gke-063c034a-nodepool-436c79f1
→ Resource is not in the state instanceStopped
✖ i-022f61c0ce0859bc3 / gke-063c034a-nodepool-436c79f1
→ Resource is not in the state instanceStopped
✖ i-02173c3a8941920c0 / gke-063c034a-nodepool-436c79f1
→ Resource is not in the state instanceStopped
✔ i-0f6ac5ceaa994fb40 / gke-03fdbaba-bastion
✔ i-07c7026aa9979b0d9 / gke-03fdbaba-management-0
✔ i-048bca573bc4d18c7 / gke-063c034a-controlplane-0
✖ i-05e9a3e4e8923c1bd / gke-063c034a-nodepool-2ed5b70c
→ This instance 'i-05e9a3e4e8923c1bd' is not in a state from which it can be s
…
✖ i-083387083b1682585 / gke-063c034a-nodepool-2ed5b70c
→ This instance 'i-083387083b1682585' is not in a state from which it can be s
…
✖ i-00e56a12b6db9d660 / gke-063c034a-nodepool-2ed5b70c
→ This instance 'i-00e56a12b6db9d660' is not in a state from which it can be s
…
✔ Stop Fargate ECS Services
✔ Stop RDS Database Instances
✔ Decrease DynamoDB Provisioned RCU and WCU
✔ Decrease Kinesis Streams Shards
✔ Stop RDS Database Clusters
✔ Scale-down Auto Scaling Groups
❯ Wrote state file to eu-awsenv.json
✖ All 7 tricks failed with errors.`

Hi @037g thanks for quick feedback and sharing your screenshot. I see that for your use-case (K8S I suppose) scaling down an ASG would not work since instances might not be stateless and scaling back up is painful or impossible!
For my use-case removing some volumes would've helped but I have added a new trick to only "suspend" processes and disabled "scaledown" by default, since it could not work for many!
I really hope bringing your cluster back up is not hard though! I had to mention this trick will set desired count to zero and terminate all instances!
To avoid same issue for other people as well I have released v0.0.11 which only suspends ASGs by default.

@aramalipoor Thanks for the quick turnaround. I'll give it another try tonight.

@aramalipoor everything worked beautifully! Thank you for your quick response and efforts.


[Build] Fix stats issue in build_aomp script

The call to xargs may lead to multiple of the later-on 'grep'ed values. To account for that the script now sums up all potential matches of the grep command to produce a single number.

I'll do another full test run and merge when successful.


Update index.njk

Changed CTA for free trial to Team, clarified that Starter is available after trial of Team.
Description

Removed 'Try for Free' CTA from Starter
Added 'After trial of Team' after price for Starter
Added 'Try for Free' CTA to Team

Checklist

[x] I have read the contribution guidelines
[] I have considered the performance impact of these changes
[] Suitable unit/system level tests have been added and they pass
[x] Documentation has been updated

It needs some styling, but for the sake of iterations, I'm merging it as is and will style it later in a new PR.

Thanks Yndira!


[Feature] the command vela def apply support directory

Is your feature request related to a problem? Please describe.

It is hoped that the command  like kubectl apply -f ./xx can apply all the cue files in one directory at a time.
Currently, vela def apply xx.cue only supports to  apply one cue file.

good idea! Pleas go ahead.


misformatted flow output on MS-Windows

Hi,
the output code displayed in the thread tab appears to be confused by windows line endings (\r\n compared to unix's n\).

Way to reproduce (as per getting started guide):

Start a REPL on a PowerShell prompt with flow-storm deps:

clj -Sforce -Sdeps '{:deps {com.github.jpmonettas/flow-storm-dbg {:mvn/version "RELEASE"} com.github.jpmonettas/flow-storm-inst {:mvn/version "RELEASE"}}}'`
# Downloading: com/github/jpmonettas/flow-storm-inst/maven-metadata.xml from clojars
# Downloading: com/github/jpmonettas/flow-storm-inst/3.0.208/flow-storm-inst-3.0.208.pom from clojars
# Downloading: com/github/jpmonettas/flow-storm-inst/3.0.208/flow-storm-inst-3.0.208.jar from clojars
# Clojure 1.11.1
# user=>

do a local connect

Clojure 1.11.1
user=> (require '[flow-storm.api :as fs-api])
nil
user=> (fs-api/local-connect)
[Starting Events queue subsystem]
Events queue started
[Starting Runtime Api subsystem]
[Starting UI subsystem]
;; ...

In the Browser tab, search for clojure.string, right click on it below, and  do instrument name space: full. You should see something like below in the repl:

user=>
Instrumenting namespace: clojure.string Forms (27) (file:/C:/Users/ikappaki/.m2/repository/org/clojure/clojure/1.11.1/clojure-1.11.1.jar!/clojure/string.clj)
..IIIIIIIIIIIIIIIIIIIIIIIII

Eval an sform on the REPL

user=> (clojure.string/join " " ["1" "2"])
;; => "1 2"

Go back to the GUI, the code is formatted as shown above in the screenshot.

I would have had a look myself, but I don't know how to setup a dev env to debug the debugger :) It'd be nice to write to put a small section up on how other people can contribute to the codebase.
Thanks,

Hey thanks for reporting @ikappaki ! I was able to reproduce it on a VM.
You are right, I should add instructions on how to debug the debugger since the latest version can't instrument itself.

Fixed on https://github.com/jpmonettas/flow-storm-debugger/commit/014bac96ad24bcde4536bbaca6c2163da6cb8152
Released on 2.0.216
Just tried on a windows VM and everything looks fine.

thanks @jpmonettas , I can confirm it works!


Helm: no matches for kind "Certificate"

Getting the following with v0.1.0 when deploying with helm, specifically the caininjector deployment is stuck in a crashbackloop:
F0925 23:50:52.580996       1 start.go:123] error registering controllers: no matches for kind "Certificate" in version "cert-manager.io/v1alpha2"

k8s: v1.14.6

Hey @dcrdev !
Can you confirm that all the cert-manager CRDs are install on your cluster? You should see all the resources with kubectl api-resources.
It looks like you are deploying from master (cert-manager.io/v1alpha2 has currently not been released yet). Unless testing for development we recomending installing a full release version of cert-manager which you can follow from here.

Yep, please don't use the Helm chart from this git repository. It should be seen as 'source code' and not a release artifact.
For instructions on installing with Helm, check out or getting started docs 😄
https://docs.cert-manager.io/en/latest/getting-started/install/kubernetes.html#installing-with-helm

I got the same error installing 0.11.0; 0.10.1 successfully installed.

Never mind, I had old CRD's.

Execute the following command to install the latest cert manager before install Helm
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.9.1/cert-manager.yaml


Mask Shape for RGBA

Which shape do my masks need if i use rgba images for training? I'm using the ImageDataGenerator and fit_generator method. Does it work with black and white RGB-Masks with 3 channels?

Hi @johanneskpp
image shape = [batch_size, height, width, num_channels]
mask_shape =  [batch_size, height, width, num_classes]
 # dont forget background class if num_classes > 1

As you see, mask shape does not depend on how many channels have your input image.

@qubvel , regarding the background class, how should one denote it so that it is not included in the loss and predictions? Currently I have actual classes [1:7], and one I call 'background' which has a pixel value of 0 in my masks. I'm finding that the background class is actually being considered as a class like the others, when what I actually want is for those pixels to be completely ignored during training and not considered an option in prediction. Thoughts?
Thanks.

for loss and metrics added class_indexes parameter in new version, look at v1.0.0b1

@qubvel thanks!


Tutorial added for 1018: issue #344

Submitted for a review

have changed as per the suggestion. Please review.


LiveIntent Analytics Adapter

🏷 Type of documentation

[ ] new bid adapter
[ ] update bid adapter
[x] new feature
[ ] text edit only (wording, typos)
[ ] bugfix (code examples)
[ ] new examples

📋 Checklist

[x] Related pull requests in prebid.js or server are linked (https://github.com/prebid/Prebid.js/pull/8960)

Hi @muuki88, the feature PR has been merged already. Can we merge this one too?

Thanks for ping. This is also released, right?


added LFS_NO_ASSERT guards around uses of lfs_mlist_isopen

I was getting some compilation failures when using #define LFS_NO_ASSERT
/usr/libexec/gcc/arm-none-eabi/ld: ./Shared/littlefs/lfs.o: in function `lfs_file_opencfg':
../Shared/littlefs/lfs.c:5501: undefined reference to `lfs_mlist_isopen'
/usr/libexec/gcc/arm-none-eabi/ld: ./Shared/littlefs/lfs.o: in function `lfs_file_close':
../Shared/littlefs/lfs.c:5516: undefined reference to `lfs_mlist_isopen'
/usr/libexec/gcc/arm-none-eabi/ld: ./Shared/littlefs/lfs.o: in function `lfs_file_read':
../Shared/littlefs/lfs.c:5550: undefined reference to `lfs_mlist_isopen'
/usr/libexec/gcc/arm-none-eabi/ld: ./Shared/littlefs/lfs.o: in function `lfs_file_write':
../Shared/littlefs/lfs.c:5568: undefined reference to `lfs_mlist_isopen'
/usr/libexec/gcc/arm-none-eabi/ld: ./Shared/littlefs/lfs.o: in function `lfs_file_seek':
../Shared/littlefs/lfs.c:5586: undefined reference to `lfs_mlist_isopen'
collect2: error: ld returned 1 exit status

I think this is because LFS_ASSERT will still be called even with #define LFS_NO_ASSERT. It just makes LFS_NO_ASSERT do nothing. So on
https://github.com/littlefs-project/littlefs/blob/master/lfs.c#L5501
https://github.com/littlefs-project/littlefs/blob/master/lfs.c#L5516
and so on...
The assumption is LFS_ASSERT() will void out, but since lfs_mlist_isopen is still being called and isn't defined when using LFS_NO_ASSERT, it doesn't really get that far.

I also don't really get why lfs_mlist_isopen needs to be wrapped in a LFS_NO_ASSERT guard so I may just be missing something.

I can see it's confusing. Are you defining a custom LFS_ASSERT? If you do that you shouldn't define LFS_NO_ASSERT, lfs_util.h includes an ifdef for LFS_ASSERT to avoid conflicts (line 94).
LFS_NO_ASSERT is intended to disable asserts completely. Rather than putting ifdefs in every function, lfs_util.h defines LFS_ASSERT to be a noop.
Rather annoyingly, lfs_mlist_isopen is only used in an assert. This led to unused function warnings with LFS_NO_ASSERT, which is why it gets an ifdef https://github.com/littlefs-project/littlefs/pull/499.


Fix issue #842 second way

issue : #842
In this PR, I solved the bug that overlaps statusbar and appbar by settinging the padding value.
This way, scroll animation at the bottom of the app bar works, but other bugs could not be fixed.
You can see the PR that fixed other bugs in this link. https://github.com/android/sunflower/pull/848
However, the PR of this link has the disadvantage of not being able to operate the animation of the app bar.
https://github.com/android/sunflower/assets/93872496/1c2d8abf-fcc6-4cea-8535-1793a8509de4

This is the best way to correct the error. I don't know how to modify it more here.
I think using material3 is the best way.