Platform views are drawn at the wrong position and don't fill the parent

Steps to Reproduce:
Build the example app from https://github.com/flutter-mapbox-gl/maps with Flutter 3.0.0, run it and open for example "Place symbol".
How you can see in the screenshot in https://github.com/flutter-mapbox-gl/maps/issues/1041 the platform view (the map) is mispositioned and even drawn under the status bar.
Expected results:
The map gets drawn within its parent container and fills it. To see how it is supposed to look like you can run the app with any previous flutter version like 2.10.5.
Due to the fact that this issue only affect Android I assume this is related to some changes to the Android platform views which also were mentioned in the release notes on medium.com.

Logs
[✓] Flutter (Channel stable, 3.0.0, on macOS 12.3.1 21E258 darwin-arm, locale de-DE)
    • Flutter version 3.0.0 at /Users/f/Documents/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ee4e09cce0 (3 days ago), 2022-05-09 16:45:18 -0700
    • Engine revision d1b9a6938a
    • Dart version 2.17.0
    • DevTools version 2.12.2

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

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

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

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

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

[✓] Connected device (3 available)
    • Pixel 3 XL (mobile) • <IP_ADDRESS>:5555                      • android-arm64  • Android 12 (API 31)
    • iPhone (mobile)     • fb804538ab944b670e4061e2b3978d027625c70b • ios            • iOS 14.6 18F72
    • Chrome (web)        • chrome                                   • web-javascript • Google Chrome 101.0.4951.64

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

• No issues found!

Hi, I can reproduce this issue with provided sample code on latest stable and master channel.
Actually, there is an un-merged patch fixes that need to be updated in the example code.

Patch fixes
  location:
    git:
      url: https://github.com/Yczar/flutterlocation.git
      path: packages/location

Demo

flutter doctor -v
[✓] Flutter (Channel stable, 3.0.0, on macOS 12.2.1 21D62 darwin-x64, locale en-VN)
    • Flutter version 3.0.0 at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ee4e09cce0 (2 days ago), 2022-05-09 16:45:18 -0700
    • Engine revision d1b9a6938a
    • Dart version 2.17.0
    • DevTools version 2.12.2

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

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

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

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

[✓] Android Studio (version 4.1)
    • Android Studio at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/201.7042882/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] Android Studio
    • Android Studio at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-1/203.7185775/Android Studio Preview.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.6842174)

[✓] IntelliJ IDEA Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • 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

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

[✓] Connected device (3 available)
    • iPhone 13 (mobile) • 5F5D609C-3B0B-4C48-872C-961928157361 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-2 (simulator)
    • macOS (desktop)    • macos                                • darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)       • chrome                               • web-javascript • Google Chrome 101.0.4951.54

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

• No issues found!

[✓] Flutter (Channel master, 3.1.0-0.0.pre.682, on macOS 12.2.1 21D62 darwin-x64, locale en-VN)
    • Flutter version 3.1.0-0.0.pre.682 at /Users/huynq/Documents/GitHub/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 6bba577bf2 (6 hours ago), 2022-05-12 21:29:07 -0400
    • Engine revision 7bde72ab75
    • Dart version 2.18.0 (build 2.18.0-109.0.dev)
    • DevTools version 2.13.1

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

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

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

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

[✓] Android Studio (version 4.1)
    • Android Studio at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/201.7042882/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[!] Android Studio
    • Android Studio at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-1/203.7185775/Android Studio Preview.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
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[✓] IntelliJ IDEA Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • 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

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

[✓] Connected device (3 available)
    • iPhone 13 (mobile) • 5F5D609C-3B0B-4C48-872C-961928157361 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-2 (simulator)
    • macOS (desktop)    • macos                                • darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)       • chrome                               • web-javascript • Google Chrome 101.0.4951.64

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

! Doctor found issues in 1 category.

[✓] Flutter (Channel beta, 2.13.0-0.4.pre, on macOS 12.2.1 21D62 darwin-x64, locale en-VN)
    • Flutter version 2.13.0-0.4.pre at /Users/huynq/Documents/GitHub/flutter_beta
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 25caf1461b (6 days ago), 2022-05-05 14:23:09 -0700
    • Engine revision c5caf749fe
    • Dart version 2.17.0 (build 2.17.0-266.8.beta)
    • DevTools version 2.12.2

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

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

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

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

[✓] Android Studio (version 4.1)
    • Android Studio at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/201.7042882/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] Android Studio
    • Android Studio at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-1/203.7185775/Android Studio Preview.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.6842174)

[✓] IntelliJ IDEA Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • 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

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

[✓] Connected device (3 available)
    • iPhone 13 (mobile) • 5F5D609C-3B0B-4C48-872C-961928157361 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-2 (simulator)
    • macOS (desktop)    • macos                                • darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)       • chrome                               • web-javascript • Google Chrome 101.0.4951.54

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

• No issues found!

I see the same issue with huawei_map (buggy on any Android API version), as well as google_maps_flutter (buggy on Android API <=22, but fine on API >=23).
When this happens, clipping the platform view and drawing widgets over it fails too. It's like the platform view is completely independent of the Flutter widget tree.

Any update on this?

@felix-mittermeier  We changed how platform views are rendered by default in Flutter 3.0.0.  Since the native view com.mapbox.mapboxsdk.maps.MapView uses GL directly, you would need to remove the check useHybridComposition, and replace initSurfaceAndroidView for initExpensiveAndroidView.
https://github.com/flutter-mapbox-gl/maps/blob/71c4de42ad5d8f76fa03537a305bf0498746eb15/mapbox_gl_platform_interface/lib/src/method_channel_mapbox_gl.dart#L139
  @override
  Widget buildView(
      Map<String, dynamic> creationParams,
      OnPlatformViewCreatedCallback onPlatformViewCreated,
      Set<Factory<OneSequenceGestureRecognizer>>? gestureRecognizers) {
    if (defaultTargetPlatform == TargetPlatform.android) {
-      if (useHybridComposition) {
        return PlatformViewLink(
          viewType: 'plugins.flutter.io/mapbox_gl',
          surfaceFactory: (
            BuildContext context,
            PlatformViewController controller,
          ) {
            return AndroidViewSurface(
              controller: controller as AndroidViewController,
              gestureRecognizers: gestureRecognizers ??
                  const <Factory<OneSequenceGestureRecognizer>>{},
              hitTestBehavior: PlatformViewHitTestBehavior.opaque,
            );
          },
          onCreatePlatformView: (PlatformViewCreationParams params) {
            final SurfaceAndroidViewController controller =
-                PlatformViewsService.initSurfaceAndroidView(
+                PlatformViewsService.initExpensiveAndroidView(
              id: params.id,
              viewType: 'plugins.flutter.io/mapbox_gl',
              layoutDirection: TextDirection.ltr,
              creationParams: creationParams,
              creationParamsCodec: const StandardMessageCodec(),
              onFocus: () => params.onFocusChanged(true),
            );
            controller.addOnPlatformViewCreatedListener(
              params.onPlatformViewCreated,
            );
            controller.addOnPlatformViewCreatedListener(
              onPlatformViewCreated,
            );

            controller.create();
            return controller;
          },
        );
-      } else {
-        return AndroidView(
-          viewType: 'plugins.flutter.io/mapbox_gl',
-          onPlatformViewCreated: onPlatformViewCreated,
-          gestureRecognizers: gestureRecognizers,
-          creationParams: creationParams,
-          creationParamsCodec: const StandardMessageCodec(),
-        );
-      }
    } else if (defaultTargetPlatform == TargetPlatform.iOS) {
      return UiKitView(
        viewType: 'plugins.flutter.io/mapbox_gl',
        onPlatformViewCreated: onPlatformViewCreated,
        gestureRecognizers: gestureRecognizers,
        creationParams: creationParams,
        creationParamsCodec: const StandardMessageCodec(),
      );
    }
    return Text(
        '$defaultTargetPlatform is not yet supported by the maps plugin');
  }

I also suggest to add a Flutter SDK constraint to pubspec.yaml, so the new version of the plugin requires Flutter 3.0.0 or higher.

@blasten thank you for the explanation. Do you know if we can expect a fix for google_maps_flutter soon? As mentioned previously, it's buggy on API <= 22.

I'm not very sure whether this change will affect the performance who use Flutter SDK < 3.0 or not, should we keep the AndroidView implementation for capability?

on flutter_mapbox we have a fix for the bug https://github.com/flutter-mapbox-gl/maps/pull/1049/commits/39d52cd1bf339df756bc98c84c2f835d2ca1c976
It is to disable non hybrid Composition and switch to the ExpensiveAndroidViewController as opposed to the old SurfaceAndroidViewController. There is the question how expensive the new one will be.
This might be helpful debugging this.

@felix-mittermeier We changed how platform views are rendered by default in Flutter 3.0.0. Since the native view com.mapbox.mapboxsdk.maps.MapView uses GL directly, you would need to remove the check useHybridComposition, and replace initSurfaceAndroidView for initExpensiveAndroidView.

What will be the consequences of this for old Flutter versions?

@blasten Thanks for your response but I am not sure your suggested changes are the solution to this issue. I tried it out and tested it but now the app crashes instantly as soon as the platform view is visible.

Click this to show crash log
Launching lib/main.dart on Pixel 3 XL in debug mode...
W/TelemetryUtils( 3225): java.lang.SecurityException: getDataNetworkTypeForSubscriber
V/Mbgl-ConnectivityReceiver( 3225): connected - true
I/Mbgl-EGLConfigChooser( 3225): In emulator: false
W/Mbgl    ( 3225): {GLThread 4356}[Android]: MapRenderer::onSurfaceCreated GlyphsRasterizationMode was specified without providing LocalIdeographFontFamily. Switching glyphsRasterizationMode to NoGlyphsRasterizedLocally mode.
I/Mbgl    ( 3225): {GLThread 4356}[General]: GPU Identifier: Adreno (TM) 630
E/flutter ( 3225): [ERROR:flutter/fml/platform/android/jni_util.cc(204)] java.lang.IllegalStateException: Platform view hasn't been initialized from the platform view channel.
E/flutter ( 3225): 	at io.flutter.plugin.platform.PlatformViewsController.initializePlatformViewIfNeeded(PlatformViewsController.java:732)
E/flutter ( 3225): 	at io.flutter.plugin.platform.PlatformViewsController.onDisplayPlatformView(PlatformViewsController.java:791)
E/flutter ( 3225): 	at io.flutter.embedding.engine.FlutterJNI.onDisplayPlatformView(FlutterJNI.java:1380)
E/flutter ( 3225): 	at android.os.MessageQueue.nativePollOnce(Native Method)
E/flutter ( 3225): 	at android.os.MessageQueue.next(MessageQueue.java:335)
E/flutter ( 3225): 	at android.os.Looper.loopOnce(Looper.java:161)
E/flutter ( 3225): 	at android.os.Looper.loop(Looper.java:288)
E/flutter ( 3225): 	at android.app.ActivityThread.main(ActivityThread.java:7842)
E/flutter ( 3225): 	at java.lang.reflect.Method.invoke(Native Method)
E/flutter ( 3225): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
E/flutter ( 3225): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
E/flutter ( 3225):
F/flutter ( 3225): [FATAL:flutter/shell/platform/android/platform_view_android_jni_impl.cc(1469)] Check failed: fml::jni::CheckException(env).

Exited

Physcial test device was the Google Pixel 3 XL running on Android 12.

@blasten Thanks for your response but I am not sure your suggested changes are the solution to this issue. I tried it out and tested it but now the app crashes instantly as soon as the platform view is visible.
Click this to show crash log
Physcial test device was the Google Pixel 3 XL running on Android 12.

I face this crash too, I think this issue should be reopened. @felix-mittermeier

@felix-mittermeier Thanks for the report. We missed a commit in the stable branch. I just filed a request to cherry pick the required commit. Could you confirm that this change works on the master channel?

I'm not very sure whether this change will affect the performance who use Flutter SDK < 3.0 or not, should we keep the AndroidView implementation for capability?

@littleGnAl No, it doesn't. The affected plugin would need to add a Flutter SDK constraint, so pub resolves to the right version of the plugin depending on the version of Flutter that is used. https://dart.dev/tools/pub/pubspec#flutter-sdk-constraints

@felix-mittermeier Thanks for the report. We missed a commit in the stable branch. I just filed a request to cherry pick the required commit. Could you confirm that this change works on the master channel?

@blasten Thanks for the reply, it works fine on the master channel for my case.

I'm not very sure whether this change will affect the performance who use Flutter SDK < 3.0 or not, should we keep the AndroidView implementation for capability?

@littleGnAl No, it doesn't. The affected plugin would need to add a Flutter SDK constraint, so pub resolves to the right version of the plugin depending on the version of Flutter that is used. https://dart.dev/tools/pub/pubspec#flutter-sdk-constraints

How can I compatible it without adding the Flutter SDK constraint? Our plugin supported the Flutter SDK >= 2.0, I'm not very willing to increase the minimal support for this change.

@felix-mittermeier Thanks for the report. We missed a commit in the stable branch. I just filed a request to cherry pick the required commit. Could you confirm that this change works on the master channel?

@blasten Thanks for your answer. I tried it out switching to the master branch and the app still crashes immediately due to some native code but the message changed. The one I posted above is gone now but now we get this instead:

Click this to show crash log
Launching lib/main.dart on Pixel 3 XL in debug mode...
✓  Built build/app/outputs/flutter-apk/app-debug.apk.
I/Mbgl-EGLConfigChooser(15612): In emulator: false
W/Mbgl    (15612): {GLThread 4569}[Android]: MapRenderer::onSurfaceCreated GlyphsRasterizationMode was specified without providing LocalIdeographFontFamily. Switching glyphsRasterizationMode to NoGlyphsRasterizedLocally mode.
I/Mbgl    (15612): {GLThread 4569}[General]: GPU Identifier: Adreno (TM) 630
E/MethodChannel#plugins.flutter.io/mapbox_maps_1(15612): Failed to handle method call
E/MethodChannel#plugins.flutter.io/mapbox_maps_1(15612): com.mapbox.mapboxsdk.style.sources.CannotAddSourceException: Source already exists
E/MethodChannel#plugins.flutter.io/mapbox_maps_1(15612): 	at com.mapbox.mapboxsdk.maps.NativeMapView.nativeAddSource(Native Method)
E/MethodChannel#plugins.flutter.io/mapbox_maps_1(15612): 	at com.mapbox.mapboxsdk.maps.NativeMapView.addSource(NativeMapView.java:937)
E/MethodChannel#plugins.flutter.io/mapbox_maps_1(15612): 	at com.mapbox.mapboxsdk.maps.Style.addSource(Style.java:119)
E/MethodChannel#plugins.flutter.io/mapbox_maps_1(15612): 	at com.mapbox.mapboxgl.MapboxMapController.addGeoJsonSource(MapboxMapController.java:357)
E/MethodChannel#plugins.flutter.io/mapbox_maps_1(15612): 	at com.mapbox.mapboxgl.MapboxMapController.onMethodCall(MapboxMapController.java:817)
E/MethodChannel#plugins.flutter.io/mapbox_maps_1(15612): 	at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:262)
E/MethodChannel#plugins.flutter.io/mapbox_maps_1(15612): 	at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:295)
E/MethodChannel#plugins.flutter.io/mapbox_maps_1(15612): 	at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:319)
E/MethodChannel#plugins.flutter.io/mapbox_maps_1(15612): 	at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12)
E/MethodChannel#plugins.flutter.io/mapbox_maps_1(15612): 	at android.os.Handler.handleCallback(Handler.java:938)
E/MethodChannel#plugins.flutter.io/mapbox_maps_1(15612): 	at android.os.Handler.dispatchMessage(Handler.java:99)
E/MethodChannel#plugins.flutter.io/mapbox_maps_1(15612): 	at android.os.Looper.loopOnce(Looper.java:201)
E/MethodChannel#plugins.flutter.io/mapbox_maps_1(15612): 	at android.os.Looper.loop(Looper.java:288)
E/MethodChannel#plugins.flutter.io/mapbox_maps_1(15612): 	at android.app.ActivityThread.main(ActivityThread.java:7842)
E/MethodChannel#plugins.flutter.io/mapbox_maps_1(15612): 	at java.lang.reflect.Method.invoke(Native Method)
E/MethodChannel#plugins.flutter.io/mapbox_maps_1(15612): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
E/MethodChannel#plugins.flutter.io/mapbox_maps_1(15612): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
F/libc    (15612): Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 in tid 15612 (.dynamic_forest), pid 15612 (.dynamic_forest)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'google/crosshatch/crosshatch:12/SP1A.210812.016.C1/8029091:user/release-keys'
Revision: 'MP1.0'
ABI: 'arm64'
Timestamp: 2022-05-19 10:38:17.022000577+0200
Process uptime: 0s
Cmdline: io.ocell.dynamic_forest
pid: 15612, tid: 15612, name: .dynamic_forest  >>> io.ocell.dynamic_forest <<<
uid: 11216
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
Cause: null pointer dereference
    x0<PHONE_NUMBER>000000  x1  000000760d949810  x2<PHONE_NUMBER>000000  x3  000000753a0a573c
    x4  0000007fd2d474f8  x5  00000074c7c559bf  x6  656d617246676e69  x7  0000007fd2d473a8
    x8  9fc9e2991523aa9a  x9  9fc9e2991523aa9a  x10<PHONE_NUMBER>00002b  x11 000000753a586630
    x12<PHONE_NUMBER>000021  x13 000000008d1a6dc0  x14<PHONE_NUMBER>000002  x15<PHONE_NUMBER>000003
    x16<PHONE_NUMBER>d7c3a0  x17 00000077e38e7bd8  x18 00000077f98d6000  x19 000000758d9c6430
    x20 000000756da08710  x21 00000077f865a000  x22 00000075eda37838  x23 00000075eda378a4
    x24 00000077f865a000  x25<PHONE_NUMBER>000000  x26<PHONE_NUMBER>d84968  x27<PHONE_NUMBER>d84960
    x28<PHONE_NUMBER>d84980  x29 0000007fd2d47640
    lr<PHONE_NUMBER>933ed8  sp  0000007fd2d475c0  pc<PHONE_NUMBER>956bac  pst<PHONE_NUMBER>000000
backtrace:
      #00 pc<PHONE_NUMBER>10ebac  /data/app/~~tIJIOmZe9EfpGN8LsvSV_w==/io.ocell.dynamic_forest-ocyAEH4GbZdaJwPUsWAKoA==/lib/arm64/libmapbox-gl.so (BuildId: 5340fab4c92fd87f8304775de4bc95627e863fd7)
      #01 pc<PHONE_NUMBER>0ebed4  /data/app/~~tIJIOmZe9EfpGN8LsvSV_w==/io.ocell.dynamic_forest-ocyAEH4GbZdaJwPUsWAKoA==/lib/arm64/libmapbox-gl.so (BuildId: 5340fab4c92fd87f8304775de4bc95627e863fd7)
      #02 pc<PHONE_NUMBER>0ec48c  /data/app/~~tIJIOmZe9EfpGN8LsvSV_w==/io.ocell.dynamic_forest-ocyAEH4GbZdaJwPUsWAKoA==/lib/arm64/libmapbox-gl.so (BuildId: 5340fab4c92fd87f8304775de4bc95627e863fd7)
      #03 pc<PHONE_NUMBER>0fb3e0  /data/app/~~tIJIOmZe9EfpGN8LsvSV_w==/io.ocell.dynamic_forest-ocyAEH4GbZdaJwPUsWAKoA==/lib/arm64/libmapbox-gl.so (BuildId: 5340fab4c92fd87f8304775de4bc95627e863fd7)
      #04 pc<PHONE_NUMBER>21b0c4  /data/app/~~tIJIOmZe9EfpGN8LsvSV_w==/io.ocell.dynamic_forest-ocyAEH4GbZdaJwPUsWAKoA==/lib/arm64/libmapbox-gl.so (BuildId: 5340fab4c92fd87f8304775de4bc95627e863fd7)
      #05 pc<PHONE_NUMBER>21a930  /data/app/~~tIJIOmZe9EfpGN8LsvSV_w==/io.ocell.dynamic_forest-ocyAEH4GbZdaJwPUsWAKoA==/lib/arm64/libmapbox-gl.so (BuildId: 5340fab4c92fd87f8304775de4bc95627e863fd7)
      #06 pc<PHONE_NUMBER>21a9fc  /data/app/~~tIJIOmZe9EfpGN8LsvSV_w==/io.ocell.dynamic_forest-ocyAEH4GbZdaJwPUsWAKoA==/lib/arm64/libmapbox-gl.so (BuildId: 5340fab4c92fd87f8304775de4bc95627e863fd7)
      #07 pc<PHONE_NUMBER>219c24  /data/app/~~tIJIOmZe9EfpGN8LsvSV_w==/io.ocell.dynamic_forest-ocyAEH4GbZdaJwPUsWAKoA==/lib/arm64/libmapbox-gl.so (BuildId: 5340fab4c92fd87f8304775de4bc95627e863fd7)
      #08 pc<PHONE_NUMBER>01691c  /system/lib64/libutils.so (android::Looper::pollInner(int)+912) (BuildId: a3acb0eba7fd91ea48db6f0befa41c65)
      #09 pc<PHONE_NUMBER>016524  /system/lib64/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+112) (BuildId: a3acb0eba7fd91ea48db6f0befa41c65)
      #10 pc<PHONE_NUMBER>14acf8  /system/lib64/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long, int)+44) (BuildId: f21e19bfa4e5c3afad804a71681c9fca)
      #11 pc<PHONE_NUMBER>1cf22c  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot-framework.oat (art_jni_trampoline+108)
      #12 pc<PHONE_NUMBER>00dfac  /memfd:jit-cache (deleted) (android.os.MessageQueue.next+204)
      #13 pc<PHONE_NUMBER>0290c8  /memfd:jit-cache (deleted) (android.os.Looper.loopOnce+168)
      #14 pc<PHONE_NUMBER>2ca9e8  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: 34e3dd028e2e682b63a512d6a4f1b5eb)
      #15 pc<PHONE_NUMBER>2ee6b8  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+320) (BuildId: 34e3dd028e2e682b63a512d6a4f1b5eb)
      #16 pc<PHONE_NUMBER>40ade4  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+820) (BuildId: 34e3dd028e2e682b63a512d6a4f1b5eb)
      #17 pc<PHONE_NUMBER>76d4b8  /apex/com.android.art/lib64/libart.so (MterpInvokeStatic+3812) (BuildId: 34e3dd028e2e682b63a512d6a4f1b5eb)
      #18 pc<PHONE_NUMBER>2c5014  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_static+20) (BuildId: 34e3dd028e2e682b63a512d6a4f1b5eb)
      #19 pc<PHONE_NUMBER>44d394  /system/framework/framework.jar
      #20 pc<PHONE_NUMBER>76c840  /apex/com.android.art/lib64/libart.so (MterpInvokeStatic+620) (BuildId: 34e3dd028e2e682b63a512d6a4f1b5eb)
      #21 pc<PHONE_NUMBER>2c5014  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_static+20) (BuildId: 34e3dd028e2e682b63a512d6a4f1b5eb)
      #22 pc<PHONE_NUMBER>1c8542  /system/framework/framework.jar
      #23 pc<PHONE_NUMBER>27d840  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.3351068054637636664)+644) (BuildId: 34e3dd028e2e682b63a512d6a4f1b5eb)
      #24 pc<PHONE_NUMBER>27c9e8  /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+1176) (BuildId: 34e3dd028e2e682b63a512d6a4f1b5eb)
      #25 pc<PHONE_NUMBER>2d4178  /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: 34e3dd028e2e682b63a512d6a4f1b5eb)
      #26 pc<PHONE_NUMBER>2ca9e8  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: 34e3dd028e2e682b63a512d6a4f1b5eb)
      #27 pc<PHONE_NUMBER>35b5d0  /apex/com.android.art/lib64/libart.so (_jobject* art::InvokeMethod<(art::PointerSize)8>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+608) (BuildId: 34e3dd028e2e682b63a512d6a4f1b5eb)
      #28 pc<PHONE_NUMBER>35b348  /apex/com.android.art/lib64/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+52) (BuildId: 34e3dd028e2e682b63a512d6a4f1b5eb)
      #29 pc<PHONE_NUMBER>0b2f74  /apex/com.android.art/javalib/arm64/boot.oat (art_jni_trampoline+132) (BuildId: ad9ee401645a5135206a62ff86fc2ef5cdc29120)
      #30 pc<PHONE_NUMBER>2ca764  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: 34e3dd028e2e682b63a512d6a4f1b5eb)
      #31 pc<PHONE_NUMBER>2ee6b0  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+312) (BuildId: 34e3dd028e2e682b63a512d6a4f1b5eb)
      #32 pc<PHONE_NUMBER>40ade4  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+820) (BuildId: 34e3dd028e2e682b63a512d6a4f1b5eb)
      #33 pc<PHONE_NUMBER>2c0ea4  /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+5380) (BuildId: 34e3dd028e2e682b63a512d6a4f1b5eb)
      #34 pc<PHONE_NUMBER>2c4e94  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: 34e3dd028e2e682b63a512d6a4f1b5eb)
      #35 pc<PHONE_NUMBER>247596  /system/framework/framework.jar
      #36 pc<PHONE_NUMBER>27d840  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.3351068054637636664)+644) (BuildId: 34e3dd028e2e682b63a512d6a4f1b5eb)
      #37 pc<PHONE_NUMBER>27c9e8  /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+1176) (BuildId: 34e3dd028e2e682b63a512d6a4f1b5eb)
      #38 pc<PHONE_NUMBER>2d4178  /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: 34e3dd028e2e682b63a512d6a4f1b5eb)
      #39 pc<PHONE_NUMBER>8598c8  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot-framework.oat (com.android.internal.os.ZygoteInit.main+2232)
      #40 pc<PHONE_NUMBER>2ca9e8  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: 34e3dd028e2e682b63a512d6a4f1b5eb)
      #41 pc<PHONE_NUMBER>44ca04  /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+464) (BuildId: 34e3dd028e2e682b63a512d6a4f1b5eb)
      #42 pc<PHONE_NUMBER>62cf30  /apex/com.android.art/lib64/libart.so (art::JNI<true>::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+268) (BuildId: 34e3dd028e2e682b63a512d6a4f1b5eb)
      #43 pc<PHONE_NUMBER>0aeac4  /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+120) (BuildId: f21e19bfa4e5c3afad804a71681c9fca)
      #44 pc<PHONE_NUMBER>0ba05c  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+836) (BuildId: f21e19bfa4e5c3afad804a71681c9fca)
      #45 pc<PHONE_NUMBER>00258c  /system/bin/app_process64 (main+1336) (BuildId: 4ecb2c57d6667e4a94a73568ce392d22)
      #46 pc<PHONE_NUMBER>0488c8  /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+96) (BuildId: ba489d4985c0cf173209da67405662f9)
Lost connection to device.
Exited

It looks somehow more MapBox related but due to the fact, that this doesn't happen with the previous Flutter version it is probably still somehow related.

But this looks more MapBox related now because the onStyleLoadedCallback got called twice.

@felix-mittermeier - I verified this behavior, and it wasn't intended. I was able to fix the issue by removing the create() call. Please see the updated map: https://github.com/flutter/flutter/issues/103630#issuecomment-1129224567
On a side note, MapBox appears to be using Android's SurfaceView. Is there any way that MapBox can use Android's TextureView?  TextureView allows you to use the fast path in the Flutter engine, so it improves performance, and fixes this issue too.

Even the Virtual Display method is broken in 3.0.1.
I'm using AndroidView  to show the camera preview. and after updating to 3.0.1,
On Android 10: i can't round the corners on the native view anymore and cant render any content on top of it.
On Android 7: i get an empty gray view.

Debugging Mapbox, it looks like PlatformViewCreatedCallback is triggered twice by Flutter, using latest Flutter master.

Even the Virtual Display method is broken in 3.0.1. I'm using AndroidView to show the camera preview. and after updating to 3.0.1, On Android 10: i can't round the corners on the native view anymore and cant render any content on top of it. On Android 7: i get an empty gray view.

@apkuhar On Android 7, I think you should set the setZOrderOnTop or setZOrderMediaOverlay for the SurfaceView

I took @blasten recommendation with initExpensiveAndroidView. Visually it worked like AndroidView in Flutter 2.10. I could clip it to round the corners, I could overlay over it. But the performance is much worse than AndroidView in  Flutter 2.10.

Any update on this major issue?
Mapbox maps are now basically unusable due to PlatformViewCreatedCallback is triggered twice by Flutter, resulting in all the logic running twice and breaking the map.

Applying all the suggested fixes, there are big performance issues and still some problems with native view overlapping everything on Android

I have tried to do a fix for Mapbox in this PR: https://github.com/flutter-mapbox-gl/maps/pull/1059
Even applying all the suggestions, there is still an issue with native view displayed on top of everything when navigating to another screen and a new native NPE that was not present there before.

there is still an issue with native view displayed on top of everything when navigating to another screen and a new native NPE that was not present there before.

@AAverin  I was looking at https://github.com/flutter-mapbox-gl/maps/pull/1059, but I didn't see the steps to repro. Let me know how to reproduce the issue.  I'm looking at this issue to see what can be done to improve performance.

@blasten Is there some kind of minimal example of a platform plugin I can play with to reproduce the problem?

so does this affect all uses of Android's SurfaceView? I have this issue when using the adv_camera plugin as well and it also uses a surface view. I can correct the issue when switching the AndroidView to a PlatformViewLink with AndroidViewSurface (like the example above), provided I switch to the master channel. However, I still have the same issue on stable even with the PlatformViewLink. @blasten you mentioned something about cherry-picking, will this resolve the issue only when switching to the PlatformViewLink with AndroidViewSurface (like the provided example) or will this cherry-picking work with the AndroidView. Or is this ultimately an issue with Androids' SurfaceView not being compatible with clipping?

so does this affect all uses of Android's SurfaceView?

Yes as I can see. In my custom plugin platform view with AR shows on top of Stack widget and overlap other widgets - same as in several linked issues above. Surprisingly it also add periodic freezes for ios version.
I'm afraid for now there is no way to upgrade to 3.0 if there is a PlatformView somewhere in project

Would be quite a drastic step but maybe it would make sense to revert all the changes made in the flutter framework related to platform views (to the state in 2.10.5). If it is way more buggy now and the performance is worse I don't see the advantages of these changes currently. Feel free to correct me if I am wrong but that is just my feeling.

My whole Flutter UI is hidden behinde my PlatformView on Android.
I cannot use Flutter 3.* because of this Regression-Error....

@felix-mittermeier I'm looking at this issue. I think it's possible to do a soft-revert for SurfaceView. At the moment, I'm working on improving the tests, so this regression don't happen in the future.

Would be quite a drastic step but maybe it would make sense to revert all the changes made in the flutter framework related to platform views (to the state in 2.10.5). If it is way more buggy now and the performance is worse I don't see the advantages of these changes currently. Feel free to correct me if I am wrong but that is just my feeling.

I believe this is the right step. Nothing related to the platform views works properly now. And because there are other breaking changes, staying with the 2.10.5 is not an option because the newer versions of the most of the plugins are incompatible with the previous Flutter version. Please do a hotfix and revert it to the previous state.

https://github.com/flutter/engine/pull/33599 will fix this issue

@blasten I will be happy to test once the fix is merged to master.
The exception also started with Flutter 3.0 and I don't yet know what is causing it exactly. It is an NPE and nothing changed in the way mapbox was integrated in the recent updates.

Are there any updates on this? Would it be possible to create a separate branch of flutter and merge https://github.com/flutter/engine/pull/33599 so we who don't build for Linux can be unblocked?

Any updates on this?

This is a breaking bug for many applications, because it completely breaks the UI. Please, make applying the fix top priority, it is not just a P4!!!

this is causing major issues on our apps! Can you please prioritize this fix! Thanks!!

Please this is a P1 breaking bug, we need a fix for this asap

@sirmamedical @farabisameer  @C0deZLee While I agree with you that it is important of course, it has to be said that Flutter has a strict priority system. Comments like "P1 breaking bug" are therefore not useful at all IMO because P1 are only bugs that prevent the whole Flutter tool from building. So in other words "ultra urgent for ALL Flutter developers" - but if you are not using platform views in your app, you won't even notice this issue.
As written here: https://github.com/flutter/flutter/wiki/Issue-hygiene

P3 is the highest priority a bug can normally have.

So this bug could be promoted to P3 (which probably also would make sense according to the count of thumbs) but that's it. I read this kind of comments so often but there is a clear system for priorities and I think this has to be respected instead of questioned over and over.
Here is the overview:

@felix-mittermeier I understand and agree with your priority system Flutter has in place.  As for this bug it does seems to be a regression created by the Flutter team in version 3.0.0 and continues in 3.0.1.  While I can downgrade to 2.10.5 to build my app all versions of 3.x are complete broken.  Not sure how that doesn't equal a regression.

@blasten,
We use platformviews for videoplayer in flutter. Flutter 3.x upgrade breaks videoplayer with a crash in android version. We also tried a suggestion to use  PlatformViewsService.initExpensiveAndroidView. Still it is not working as expected.
Now the question is, Can we expect our platformviews videoplayer issue also fixes with the changes mentioned here https://github.com/flutter/flutter/issues/103630#issuecomment-1136515541
And what is the tentative expected timeline for this.

This issue is also affecting our team. In order to evaluate the possibility of downgrading the Flutter SDK, how long should we expect to take merging https://github.com/flutter/engine/pull/33599 ?

This is affecting our app and stopping a new release - we use the mapbox_gl plugin and have a map on our first page.
The map stays visible when the user opens the drawer or pushes a page on top.

Can't you use Flutter 2.10.5 for building the release? That's how we do it currently - and if this gets fixed we'll start using the 3.x.x version.

What I don't get is 4 days ago I was told this issue was waiting on a test case wrapped up in this pull request: https://github.com/flutter/engine/pull/33574.  The pull request was merged but the pull request
https://github.com/flutter/engine/pull/33599 is still a Draft.  So what else are we waiting on?

What I don't get is 4 days ago I was told this issue was waiting on a test case wrapped up in this pull request: flutter/engine#33574. The pull request was merged but the pull request flutter/engine#33599 is still a Draft. So what else are we waiting on?

If I'm following right, it looks like the test cases might have been reverted out by another dev because builds were failing? See: https://github.com/flutter/engine/pull/33813

I read over the pull request.  I find the way they do their stuff very confusing.  We use git and pull request with an online system at work but nothing this confusing.

It's been 30 days, a bug that affected so many people still can't be addressed. wow

This problem has kept me looking for my own mistakes, but now, I am only forced to go back to 2.10.5. Although this bug is not so important in the P-level, in the ecology of flutter, this is the A very serious bug, which cannot be explained, we do not respect the rules of P-level. As far as the problem itself is concerned, it's not much less important than building the toolchain, because it just keeps everyone stuck at 2.10.5, or there are other workarounds we don't know about. This may be related to the reason that the 3 toolchain itself still needs to be improved.

It's been 30 days, a bug that affected so many people still can't be addressed. wow

I'm with you. Very very worrying.
This problem affects an absolute basic functionality.

Had to fall back to 2.10.5 because of this issue.
But this problem has been around for more than 30 days. Really hope it gets fixed soon

It's been 30 days, a bug that affected so many people still can't be addressed. wow

Flutter already released a new version. but this bug is not fixed yet. 😭

It's been 30 days, a bug that affected so many people still can't be addressed. wow

Flutter already released a new version. but this bug is not fixed yet. 😭

sounds very frustrating

Same issue. Need to fix(

Hi, I can reproduce this issue with provided sample code on latest stable and master channel. Actually, there is an un-merged patch fixes that need to be updated in the example code.
Patch fixes
Demo
flutter doctor -v

Hi huycozy, it seems like this issue's tags are blocking it from having more visibility, can we remove the p: third party tag and change the
P4 to P3?

@blasten Can we have an ETA on when this issue will be fixed?

it seems like this issue's tags are blocking it from having more visibility, can we remove the p: third party tag

This is so true. While this problem affects these third party packets, it is a bug in the framework.

There are a lot more other issues linked to the same problem because of the Platform View regression on the Android side.

Webview Flutter not working: https://github.com/flutter/flutter/issues/104686
This issue is labeled as P3

Google Map not working: https://github.com/flutter/flutter/issues/103686
This issue is labeled also as P3

Another issue mentioning Platform View not working: https://github.com/flutter/flutter/issues/104444
This issue is labeled as P4

Another issue mentioning Webview Flutter not working https://github.com/flutter/flutter/issues/105681
This issue is labeled also as P4

And many many other closed duplicate issues.
Please flutter team, this bug completely fucks up all first-party/third-party libraries that use native views because they cannot work properly on Android devices. This blocks many dev teams across the world from shipping their apps built with Flutter, how is this not blocking the Flutter release? This should be a P0!
And the worst part is that there are NO WORKAROUNDS, all of us have to wait for you guys to fix this, and we have been patiently waiting for over a whole month!
PLEASE PLEASE Flutter dev team I know you guys a busy but this is a critical bug that needs more attention! Please bump it up!

@huycozy @blasten @fluttergithubbot Guys this is definitely P0. Very important to fix this.

The @blasten revert looks complete and is passing all tests. Should be merged in soon™.

@sirmamedical @josephcrowell @blasten , do you have an estimation of how long should it take to merge the PR now it has all test passing? Is it a matter of days or weeks? Just asking 😇, I'm not familiar with Flutter PR workflows and we have to evaluate the possibility of going back to previous Flutter version

The PR is ready for review, so I'd expect a few days

Problem is still there after flutter 3.0.3

The patch has been merged. It should land to the master channel shortly after.
I would not vote for cherry picking this change because of its size and impact. I'd suggest that if you are seeing this issue, you use the flutter master channel, and report any issue if you find one.

@blasten, so the fix was not in 3.0.3 and it will be in the next build 3.0.4, is that correct?

Even I am also facing the same issue in both master and stable channel for the version 3.0.3

Same here. AndroidView is still drawn on top of everything else.

I try the master channel the issue is still there.
Flutter v3.1.0-0.0.pre.1360

git checkout 2.10.5
flutter downgrade v2.10.5

Pulled  master 3.1.0-0.0.pre.1369 and the issue IS FIXED there. Thank you!
It would be nice to be cherry picked for the stable channel because we badly need this for production releases. If not, we'll appreciate an estimate when 3.1 will be released from master. Thanks again!

This issue affects our production release as well. Using master channel in production is not something we are eager to do, nor downgrading flutter is option for us right now (because of Android 12 support and necessity to upgrade some of the libraries to to versions that do need flutter 3.0).
Please consider cherry picking.

I would not vote for cherry picking this change because of its size and impact

Just curious, how is size and impact measured? Does the measurement take into account all the linked issues from all the other packages which mention this issue and are affected by this?

any updates on stable channel?

The PR has merged. The issue has been Closed. But the new release is not fix yet.

The PR has merged. The issue has been Closed. But the new release (3.0.4) is not fix yet.

@j1mmyto9
flutter channel master

this issue is still not fixed on my side. I use Flutter v3.1.0-0.0.pre.1376

any update for this, I tried to use Flutter v3.1.0-0.0.pre.1493 but this issue is still there.

Stable branch still crashes after some seconds on AndroidTv using initExpensiveAndroidView
Master branch 3.1.0-0.0.pre.1495 always crashes with "Unexpected platform view context. When constructing a platform view in the factory, use the context from PlatformViewFactory#create, view id: 0"
Flutter 2.xxx works fine.

Any workaround to do until they fix it?

To be honest it would be best if the "assignee" was removed from this issue to make this issue visible to all other developers who might be able to fix this issue. In a closed and allocated state, no other developer cares about this issue.

I can confirm the crash with unexpected platform view context. The developer pushed through a fix for one use case on one plugin repo but didn't check any other repos. I am using the context from the create override so the context check isn't working correctly.

There is a context check that isn't working correctly on master so the issue isn't fixed.

Also facing the exact same issue by using twilio library where I’m filling a container with a webcam on the bottom right. On iOS everything works as expected, but on android it’s totally ignoring the parent and just displays on the top left. I also can avoid the issue by reverting to flutter 2.xxxx.  This issue is related to a lot of use cases, why isn’t it in the focus to be fixed quick for the next flutter release?

(Leaving the comment here for anyone who is facing a similar issue when adding a custom implementation)
We were building a custom camera plugin using a PlatformView and had faced the same issue on Flutter 3.0.0.
Using the fix mentioned here had fixed the issue for us. Long-story-short, create a hybrid composition and use PlatformViewsService.initExpensiveAndroidView.

The fix in https://github.com/flutter/engine/pull/33599 didn't cover all cases/issues and development is being continued by another developer at https://github.com/flutter/flutter/issues/107313

Reopening since many issues came across, and the issue seems not well-addressed by the PR.
For triage and maintainers, feel free to close and lock the issue if we have another issue to track.

There have been at least three different issues described here, and the behavior is different on stable and master, so it's very hard to tell what all the comments that say that people have "the same issue" are referring to exactly.
@felix-mittermeier Is the initial issue you reported here fixed on master for you? If not, what is the current behavior on master exactly?
Everyone else: if you have an issue on a current version of master, please file a new issue with details, so that we can figure out what other changes may be necessary to the new platform view codepaths. This issue is not intended to be a catch-all issue for any regression with Android platform views in Flutter 3.0.

Carefully re-reading comments above and in upstream issues linking to this one, I don't see any concrete evidence for:

The fix in flutter/engine#33599 didn't cover all cases/issues

or

Reopening since [...] the issue seems not well-addressed by the PR

Multiple comments both here and in upstream issues confirm this is fixed on master for multiple affected plugins. No comment here saying there's still an issue are clearly referring to the bug this issues was tracking (several instead are talking about issues with using initExpensiveAndroidView as a workaround; those should certainly be filed with repro steps, but aren't at all what this issue was about) and on a version of master that had the fix.
Given that I'm going to re-close this. If anyone has a concrete example of this specific bug (the layering and/or positioning of a platform view being incorrect) still happening on the latest master, please provide clear repro steps, and I can re-open it.

and development is being continued by another developer at #107313

Since this seems to have caused confusion among some people following the state of this issue: #107313 is not about this bug, and is in no way a continuation of the work in this issue. If people are still experiencing this issue on master, this is the place to report that, not #107313.

Is there a way users of Flutter can know/be-notified when an issue lands in the different release channels?

There's no notification system, but https://github.com/flutter/flutter/wiki/Where's-my-Commit%3F explains how to find out what version contains a given fix.
In the case of this issue, https://github.com/flutter/engine/pull/33599 rolled into the framework in https://github.com/flutter/flutter/pull/106574 which landed as https://github.com/flutter/flutter/commit/79d08aa2c083a346e3a1b0cfaa887922d67b0ffb. Currently it's only on master as indicated by the tags. You can re-check the tag list when a new release on beta or stable comes out to see if it's in that release.
Given when it landed, I would expect it to be in the next beta.

Following up on the above: this fix is in the just-released-to-beta 3.3.0.

A bit of helpful info on the beta: the docs used to tell us to call ..create at the bottom of your initSurafaceAndroidView like:
@override
 return PlatformViewsService.initExpensiveAndroidView(
   id: params.id,
   viewType: viewType,
   layoutDirection: TextDirection.ltr,
   creationParams: creationParams,
   creationParamsCodec: const StandardMessageCodec(),
   onFocus: () {
     params.onFocusChanged(true);
   },
 )
   ..addOnPlatformViewCreatedListener(params.onPlatformViewCreated)
   ..create();

Create is now called internally and this create at the end results in create within the factory being called twice, resulting in 2 instances of your view and activity. If you're getting unexpected behavior or much worse performance than before, this is probably the reason why. Just remove ..create() from the end of your PlatformViewsService.initExpensiveAndroidView call.
@override
 return PlatformViewsService.initExpensiveAndroidView(
   id: params.id,
   viewType: viewType,
   layoutDirection: TextDirection.ltr,
   creationParams: creationParams,
   creationParamsCodec: const StandardMessageCodec(),
   onFocus: () {
     params.onFocusChanged(true);
   },
 )
   ..addOnPlatformViewCreatedListener(params.onPlatformViewCreated);

Create is now called internally and this create at the end results in create within the factory being called twice, resulting in 2 instances of your view and activity.

This is a bug, which has been fixed in https://github.com/flutter/flutter/pull/109405. There's a cherry-pick request in progress to get it onto beta.

Create is now called internally and this create at the end results in create within the factory being called twice, resulting in 2 instances of your view and activity.

This is a bug, which has been fixed in #109405. There's a cherry-pick request in progress to get it onto beta.

Is there an ETA for this to get to the stable branch? It is nice that it's making it to beta but I would love to be able to update my production builds to the latest version of flutter instead of having to hold at 2.10.5

The double-create issue (which is not what this issue was tracking, to be clear) doesn't affect the stable branch.

@stuartmorgan do you have an estimate (weeks, months) when these changes do roll into a stable release?

https://github.com/flutter/flutter/wiki/Flutter-build-release-channels explains Flutter's release cadence.

https://github.com/flutter/flutter/wiki/Flutter-build-release-channels explains Flutter's release cadence.

Shouldn't this be considered a hotfix and be an urgent update to stable as it is now causing a lot more underlying issues? We are stuck at 2.10.5 and have to hold any package we use below flutter 3.0 support and that has caused us to have broken apps now with the Android 33 release.

That was certainly considered, but unfortunately it wasn't viable to cherry-pick the fix for this to stable.
The current beta has been through a month of stabilization at this point, so if you need a fix ASAP you should consider using beta until the next stable release.

That was certainly considered, but unfortunately it wasn't viable to cherry-pick the fix for this to stable.
The current beta has been through a month of stabilization at this point, so if you need a fix ASAP you should consider using beta until the next stable release.

That wouldn't help us because the packages we are using will not update until this is on stable as they do not want to work with a beta product.

the packages we are using will not update until this is on stable

Can you provide links with more context on this? The fix for this issue involved disabling the new platform view path automatically for plugins that use SurfaceView, so no updates to the packages should be necessary.

the packages we are using will not update until this is on stable

Can you provide links with more context on this? The fix for this issue involved disabling the new platform view path automatically for plugins that use SurfaceView, so no updates to the packages should be necessary.

One of the packages is 100ms https://pub.dev/packages/hmssdk_flutter.
I also tried with Dyte_client package https://pub.dev/packages/dyte_client.
I switched to the beta channel and ran the latest beta but the issue was still there. The video view was still showing overtop of buttons that on 2.10.5 stable does not happen.

@stuartmorgan if it helps a member from the Dyte team stated that when they tried to use the latest beta to see if the issue would be fixed they still had the issue occur.

If a plugin doesn't work on beta, then a cherry-pick for this issue wouldn't help that plugin. As I said when closing the issue:

If anyone has a concrete example of this specific bug (the layering and/or positioning of a platform view being incorrect) still happening on the latest master, please provide clear repro steps, and I can re-open it.

Your last comments are the first reports we've had of any cases that weren't fixed; as far as we were aware this was fully resolved on master and beta.
Unfortunately neither of those plugins has an example that builds out of the box, which makes it hard to investigate why the fix didn't work for them. I'll file new issues, and hopefully the developers of those plugins can chime in there to help us get a reproducible test case, and we can see what changes to Flutter (for the medium term) and/or the plugins (in the short term) will ensure they aren't on the new path.

If a plugin doesn't work on beta, then a cherry-pick for this issue wouldn't help that plugin. As I said when closing the issue:

If anyone has a concrete example of this specific bug (the layering and/or positioning of a platform view being incorrect) still happening on the latest master, please provide clear repro steps, and I can re-open it.

Your last comments are the first reports we've had of any cases that weren't fixed; as far as we were aware this was fully resolved on master and beta.
Unfortunately neither of those plugins has an example that builds out of the box, which makes it hard to investigate why the fix didn't work for them. I'll file new issues, and hopefully the developers of those plugins can chime in there to help us get a reproducible test case, and we can see what changes to Flutter (for the medium term) and/or the plugins (in the short term) will ensure they aren't on the new path.

I did reach out to the developers of the Dyte plugin and they are working on getting a repo to present that shows the issue still occurring.

Filed https://github.com/flutter/flutter/issues/109689 and https://github.com/flutter/flutter/issues/109690 for follow-up investigation.

Your last comments are the first reports we've had of any cases that weren't fixed; as far as we were aware this was fully resolved on master and beta.

Just to confirm - if the issue occurs on beta 3.3.0-0.3.pre, but doesn't occur on master 3.1.0-0.0.pre.2296, should I just wait for the next beta version to resolve that? I'll try to showcase the issue as it's a little bit different than this exact one (it's more like Flutter view ghosting when displaying the platform view for the second time in the app lifecycle).
Once I have the repro issue, I'll try to link it here.

@orestesgaolin That sounds very different; please file a new issue and CC me. It may be related to an issue that's already being cherry-picked to beta, but if not we can evaluate it for a potential cherry-pick.

Thanks, just posted it in #109692

3.3.0 just hit the stable.

I am on 3.3.0 and it does not work for me without using the fix mentioned here, because we have written a custom integration for a clients native video player that uses Surfaces internally.
Could we please add this to the documentation? It took me 5 days of searching and trying to finally find this github issue with the awesome solution! But i think this would be awesome if it would be in the native view integration documentation. (or should i try to do it myself?)

does not work for me without using the fix mentioned here

What fix are you referring to?

I am on 3.3.0 and it does not work for me without using the fix mentioned here, because we have written a custom integration for a clients native video player that uses Surfaces internally.
Could we please add this to the documentation? It took me 5 days of searching and trying to finally find this github issue with the awesome solution! But i think this would be awesome if it would be in the native view integration documentation. (or should i try to do it myself?)

What fix?
Mapbox styling does not appear correctly in android as it does in iOS
there is a black background for the map. Just roads are colored in Android

I don't know what @000panther is referring to but it seems that official documentation on hosting native views in Android might be wrong. Or maybe I am doing something wrong.
https://docs.flutter.dev/development/platform-integration/android/platform-views tells us that with Hybrid Composition approach we should be using PlatformViewsService.initSurfaceAndroidView(). For me, when using Flutter 3.3 this appears to result in a crash from libEGL.so when I load the native view the second time.
Using PlatformViewsService.initExpensiveAndroidView() instead appears to be working fine.
First comment by @stuartmorgan  here https://github.com/flutter/flutter/issues/107313 indicates that using initSurfaceAndroidView() actually selects what he called Texture Layer Hybrid Composition. And real Hybrid Composition is selected by using initExpensiveAndroidView which works for me but is contradicting the official documentation. That comment was written almost two months ago so things might have changed since then.
Also can someone confirm that we are indeed supposed to call create() manually when creating an android view?

Also can someone confirm that we are indeed supposed to call create() manually when creating an android view?

I cannot find the issue about it, but I do remember this was not the expected behavior. You should not be calling .create() yourself.

https://docs.flutter.dev/development/platform-integration/android/platform-views tells us that with Hybrid Composition approach we should be using PlatformViewsService.initSurfaceAndroidView().

These docs are outdated; they will be updated soon.

First comment by @stuartmorgan here #107313 indicates that using initSurfaceAndroidView() actually selects what he called Texture Layer Hybrid Composition. And real Hybrid Composition is selected by using initExpensiveAndroidView which works for me but is contradicting the official documentation.

That's correct for Flutter 3.0+, when the behavior of initSurfaceAndroidView changed from using HC to the new TLHC.

Also can someone confirm that we are indeed supposed to call create() manually when creating an android view?

Yes, that continues to be true.

I am on 3.3.0 and it does not work for me without using the fix mentioned here, because we have written a custom integration for a clients native video player that uses Surfaces internally.

Please file a new issue describing the case that's not working in 3.3 so we can investigate that issue further. (Unless you are the SurfaceView dynamically post-create, in which case you can follow https://github.com/flutter/flutter/issues/109690 for updates.)

I'm facing the issue of wrong placement of platform view in v3.3.0
I'm using this library which uses a platform view.

@usamawork61 Please file a new issue with a detailed description and repo steps.

The platform view of flutter version 3.0.0 or more has become buggy. Hope flutter team will fix it soon. If you want to make it work or you want this overlaying issue to be fixed, only way for now is to degrade the flutter version to <3.0.0 until the flutter team fixes the issue. This worked for me. If you've got any solutions other than this . Then please write your solutions here.


Gulpfile errors if the last line is a comment

So I was getting an error in my gulpfile and had absolutely no idea what it was caused by and it turns out that it the last line of my gulpfile is an inline comment, it errors.
Example code:
// Include gulp
var gulp = require('gulp');

// Changed html / php
gulp.task('test', function(files) {
	console.log("I work!");
});

// Default Task
gulp.task('default', ['test']);

//You shall not work

The code works if executed by the command line and multiline comments work fine.
I am using OSX 10.11 and the latest gulp version

Yes!
This is a known bug, #37 , I didn't have time (yet) to fix it but it's on the roadmap!
If you don't mind, I'll close this so it doesn't get duplicated but for any more feedback please let me know in the other issue.
Thanks :)

Oh, my bad, sorry about that.


Performance Issue

My angular 2 application giving performance Issue in IE where as it's working fatser in chrome,
Could you please help me what caused performance issue in IE and Edge?

Hi, your issue reads like a support question. This github repo is only for bug reports and feature requests. Please try one of the listed Support Channels. Thanks!


[WIP]Fer: add SQL order by with priority queue.

What this PR does:
Which issue(s) this PR fixes:

For #92 .
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

Codecov Report

Merging #186 (7bb4478) into master (df363ef) will decrease coverage by 0.21%.
The diff coverage is 24.32%.

@@            Coverage Diff             @@
##           master     #186      +/-   ##
==========================================
- Coverage   33.31%   33.10%   -0.22%
==========================================
  Files          78       81       +3
  Lines       12363    12524     +161
==========================================
+ Hits         4119     4146      +27
- Misses       7764     7896     +132
- Partials      480      482       +2

Impacted Files
Coverage Δ

.../merge/impl/order_by/order_by_stream_merge_rows.go
0.00% <0.00%> (ø)

pkg/merge/merge_rows.go
57.14% <0.00%> (-6.02%)
:arrow_down:

pkg/merge/impl/order_by/order_by_value.go
22.00% <22.00%> (ø)

pkg/merge/impl/order_by/order_priority_queue.go
59.25% <59.25%> (ø)

pkg/runtime/optimize/optimizer.go
25.51% <0.00%> (-3.32%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update df363ef...7bb4478. Read the comment docs.

code is very old, close this pr and reopen new.


Feat:Add Multilingual Support

Describe the feature
I would like to propose the integration of multilingual support into the project. This feature would allow users to switch between different languages, enhancing accessibility and improving the user experience for non-English speaking users.
Key Requirements:
Language Options: Add support for multiple languages (e.g., Spanish, French, German, etc.).
Language Switcher: Provide a simple interface (e.g., a dropdown or toggle) for users to switch languages easily.
Dynamic Content Translation: Ensure that all user-facing text (buttons, labels, messages, etc.) is translated dynamically based on the selected language.
Fallback Mechanism: Implement a fallback mechanism for untranslated text, defaulting to English when needed.
Localization: Use industry-standard localization libraries to manage translations efficiently (e.g., i18n, or a similar package).
Benefits:
Increased accessibility for a global audience.
Improved user engagement by offering content in users' preferred language.
Potential for expanding the user base to non-English speaking regions.
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a gssoc-24-extd contributor
[X] I want to work on this issue

@RamakrushnaBiswal can you assign me this issue

@17arindam which place you are going to add it

@RamakrushnaBiswal at the footer of the website

yh ok i will :) @17arindam don't worry

@RamakrushnaBiswal thanksss


Add Beatrix to Authors file

Add Beatrix to Authors file
No ticket

Before getting review, please check the following:

[x] Does frontend functionality render and work correctly in IE?
[x] Have we load-tested any new pages or internal API endpoints that will receive significant traffic?
[x] Are interactive elements accessible to screen readers?
[x] Have you checked for tech debt you can address in the area you're working in?
[x] If this change involves routes, does it work correctly with pertinent "unusual" routes such as the combined Green Line, Silver Line, Foxboro commuter rail, and single-direction bus routes like the 170?
[x] Are the changes organized into self-contained commits with descriptive and well-formatted commit messages?

@beeuhtricks I took the email address from your GitHub profile. Let me know if you’d prefer to use your MBTA or any other email (or if you’d prefer not to be listed at all).

@beeuhtricks Updated your email address.


share: Cache Availability

Background
We have defined share.Availability interface which validates the availability of shares for a specific share.Root. In case we call SharesAvailable multiple times over the same Root, we will execute availability again. Instead, we should not execute expensive validation and perform caching of successful and failed executions. This way Light Availability won't sample shares again over the same Root.
Design
To fix the problem above we should introduce another implementation of share.Availability which wraps e.g Light Availability and caches the results on disk.
Basically, on SharesAvailable Cache Availability checks if there is a cached result on disk for a given Root and if not pass the call to SharesAvailable of wrapped share.Availability. Once done, Cache Availability saves result on disk for the Root. Further, If someone calls SharesAvailable Cache Availability  will return result from cache, without re-executing SharesAvailable on a wrapped share.Availability.

@Wondertan comment on #473


[@typespec/spector] - Handle and report failed scenarios at the end

In the server-test scenario, if there is an error, then the script immediately reports the error and comes out of the execution. But, the service generator has not implemented all the scenarios yet. So, If all the scenarios are executed, then the script might fail even before executing the intended script. So, the correct approach would be to report at the end.
Please review and approve the PR. Thanks

:x: There is undocummented changes. Run chronus add to add a changeset or click here.
The following packages have changes but are not documented.

:x:@typespec/spector

Show changes

You can try these changes here

🛝 Playground
🌐 Website
📚 Next docs


Batch dispatch seems to not be working

Describe the bug
I am trying to dispatch multiple commands via IPC, but it seems to not be working correctly.
To Reproduce
Steps to reproduce the behavior:

I found the easiest way to reproduce this using exec dispatch, but this issue happens every time you try to dispatch multiple commands
Apply this patch

diff --git a/ipc_test.go b/ipc_test.go
index 4691a78..818c3fb 100755
--- a/ipc_test.go
+++ b/ipc_test.go
@@ -182,7 +182,8 @@ func Test_ipc_CursorPos(t *testing.T) {

 func TestIpc_Dispatch(t *testing.T) {
 	q := NewByteQueue()
-	q.Add([]byte("exec"))
+	q.Add([]byte("exec kitty"))
+	q.Add([]byte("exec kitty"))
 	_, err := ipctest.Dispatch(q)
 	if err != nil {
 		t.Error(err)

go test -run TestIpc_Dispatch -v
kitty will start only once, and that instance shows Failed to launch child: exec. It seems to imply that exec kitty twice made starting kitty exec kitty instead.

Expected behavior
Two kitty instances would be open instead.
Keep in mind that this is an example. I am not that interested in the exec dispatch, I just want batch dispatch to work.
Screenshots

Desktop (please complete the following information):

OS: NixOS
Hyprland: 0.42.2

Additional context
N/A.

I found the issue. If you print q.Glued() results with the patch above, you will get:
[[BATCH]] dispatch exec kitty exec kitty

This is wrong, it should be something like:
[[BATCH]] dispatch exec kitty; dispatch exec kitty

So you need to do something like this:
diff --git a/ipc_test.go b/ipc_test.go
index 4691a78..4f03326 100755
--- a/ipc_test.go
+++ b/ipc_test.go
@@ -182,7 +182,8 @@ func Test_ipc_CursorPos(t *testing.T) {

 func TestIpc_Dispatch(t *testing.T) {
 	q := NewByteQueue()
-	q.Add([]byte("exec"))
+	q.Add([]byte("exec kitty;"))
+	q.Add([]byte("dispatch exec kitty"))
 	_, err := ipctest.Dispatch(q)
 	if err != nil {
 		t.Error(err)

It works, but this is of course really counter-intuitive.

Another issue is that there is no validation about the maximum number of commands in batch, e.g.:
diff --git a/ipc_test.go b/ipc_test.go
index 4691a78..23d3ed1 100755
--- a/ipc_test.go
+++ b/ipc_test.go
@@ -182,7 +182,10 @@ func Test_ipc_CursorPos(t *testing.T) {

 func TestIpc_Dispatch(t *testing.T) {
 	q := NewByteQueue()
-	q.Add([]byte("exec"))
+	q.Add([]byte("exec kitty;"))
+	for i := 0; i < 32; i++ {
+		q.Add([]byte("dispatch exec kitty;"))
+	}
 	_, err := ipctest.Dispatch(q)
 	if err != nil {
 		t.Error(err)

 		t.Error(err)

Running this above will result in only one Kitty instance being opened. If you set i < 31 it is fine (yes, I am doing some weird things with the IPC that needs to trigger multiple commands in batch mode).  Ideally this project should do the same, but if not at least an error or panic should be generated if the user pass the maximum number of commands.

Thank you so much for your input, I looked at the code, looks good, hope nothing is broken


Please add 4anime.is source if possible 🙏🙏🙏🙏

Describe your suggested feature
4anime.is is a good website after The OG 4anime died
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] If this is an issue with an extension, I should be opening an issue in the extensions repository.
[X] I have updated the app to version <IP_ADDRESS>.
[X] I will fill out all of the requested information in this form.

It's just a zoro.to clone

Its true but now zoro.to doesn't add anime episodes as fast as they used to

plz add hindi anime and movie extensions to the app as there is no source for watching something in Hindi. there is currently only 1 hindi expansion which also doesn't work. some great extensions could be like katmoviehd, worldfree4u, raretoonsindia, deadtoonsindia etc.

plz add hindi anime and movie extensions to the app as there is no source for watching something in Hindi. there is currently only 1 hindi expansion which also doesn't work. some great extensions could be like katmoviehd, worldfree4u, raretoonsindia, deadtoonsindia etc.

why did you close the issue which extension has been added for Hindi movies??


allow authentication via access token in addition to username/password

Note, this change requires the upstream change https://github.com/springml/salesforce-wave-api/pull/3

Is there any hope of this PR getting merged?
If you have MFA enabled for API access to salesforce, you can't get a security key. This means that the only way to access Salesforce APIs for accounts with MFA is via OAuth. Submitting a username, password, and security token simply isn't an option in that case :(
Salesforce has said that they are not responsible for security breaches for any customers that don't have MFA enabled on their accounts. (makes sense). This means that more and more SF accounts are enabling MFA. I think that means that this library is useless for those accounts in it's current state. (unless I'm wrong, which I'd love to be)
References:
https://help.salesforce.com/s/articleView?id=sf.security_require_2fa_api.htm&type=5

https://help.salesforce.com/s/articleView?id=sf.user_security_token.htm&type=5


Update to jlab 0.8.0.

I just published this version.

Actually, there are errors trying to build the python package. Working on it.

Now I've fixed the errors and published 0.8.0 to pypi


Custom file dialog: do not show folders with trailing slash/backslash

I am not entirely sure why we chose to do that. From my knowledge of native file dialogs, I have never seen trailing slash or backslash.
From: https://github.com/microsoft/vscode-remote-release/issues/1597

It is to make typing/navigating easier. Example:
I'm in C:\users
I want to navigate to a user, so I type Alex
I now have C:\usersAlex, not C:\users\Alex

@alexr00 but can we not add the path separator when I accept a folder via Enter or Mouse automatically instead of seeing it in the list?

I misunderstood, I thought you were talking about the input box, not the list.
Yes, we can do that.


Caffemodel files

Is there somewhere a   .caffemodel file for the networks in stead of only the prototxt?

Hi, the pre-train models can be found in https://github.com/soeaver/caffe-model/tree/master/cls#performance-on-imagenet-validation

This files are the deploy prototxts, is there no caffemodel? Thanks!

@jawieme the caffemodel is provided in the link already

Hi, did the inception-V3.caffemodel has already been trained?
I just want to valid my data not train the model.


Docs(web-twig): Improve additional API options info #DS-1099

Please take a look at the suggested sentences in the Header component. If we agree on that I will copy it everywhere.

coverage: 96.371% (+15.8%) from 80.578%
when pulling 6468df30e1d15b1d1f294223240d68d87c09585f on docs/unsafe-readme
into bba9fb31a5b533d83edf30dc67f91e2e466336a1 on main.

I have added one comment about escape hatches. Otherwise, it is good to go for me. Good Job 👍


Safari: SVG icons too small in catalog

The look fine in Chrome, but the icons are much smaller in Safari.

Chrome, IE, and Firefox are fine. It only seems to be a problem in Safari.

My testing indicates they are small in IE11, too.

My testing indicates they are small in IE11, too.

I'm probably wrong then. They're showing up at least :)


Could you develop a feature to see who follows my playlists?

It'd be nice to know about the people who follow my playlists

Is this possible though?

hey @mathkruger
was looking at this but it seems like there is no actual way to develop who as in user follow we just get a number of followers through the API,
someone suggested on their forum and they said it's not important for now
Playlists-View-all-Playlist-Followers
to get the follower total number it's in spotify API link
but it seems like it already exist on code
 {{ playlist.followers.total | numberLocale:this.translateService.currentLang }} {{ playlist.followers.total > 1 || playlist.followers.total == 0 ? ('MusicListFollowersPlural' | translate) : ('MusicListFollowers' | translate) }}

but i found that spotify does offer the api where it can check if the "specific" user is following the playlist from spotify API link
so the conclustion is that this can be open but its not gonna be working untill the spotify add the data itself ,  i would suggest to close it and reopen later when the release with the support comes

@DevIos01 Actually I was thinking to create a server side for Litefy, to keep track of some things and the playlist followers. Of course it would only work for Litefy users, but it will add the oportunity to add more features to Litefy that the official player does not have. That's why I'm keeping this issue open, just to remind me lol

Ah yes I had this on my mind also regarding if we make our own community style and we can use the api I mention to check if the user we have on our community exist on the Playlist the user made , cool idea and yea there more potential on future regarding that

heya was just going through this issue and the idea of playlist follower seems really good as another service in the backend itself and if that's the thing we want I would love to create that feature and contribute to the same


Autocomplete Tutorial uses Pre 0.11 TypeAhead.js

https://www.algolia.com/doc/tutorials/multi-auto-complete
This tutorial still uses the pre-0.11 TypeAhead.js and makes use of the ttAdapter(), which has been removed from the latest version of TypeAhead.js.
I'm trying to update our typeahead.js and our alogliasearch-client.js but finding it difficult to see what needs to be changed.
Thanks!
Josh

Oh yeah, good catch; we actually need to use autocomplete.js now :)

Even better. Didn't even know about that.
So that removes the need for TypeAhead.js?

So that removes the need for TypeAhead.js?

Yes :) Actually autocomplete.js is originally a fork of typeahead.js on which we fixed all the bugs on remote sources \o/

Ha. Thank god. Bring it on. :)

I am looking into this and fixing our github example to use autocomplete.js

Fixed! The example in github is now using autocomplete.js, thanks

Great! Thanks!
Noticed a minor typo on one of the tutorials:
"The easiest way to render such auto-completion dropdown menu is to our" <-- missing "use".
From https://www.algolia.com/doc/tutorials/multi-auto-complete#ui under Section 4 UI.

I also noticed that the code on that tutorial has been changed to reference autocomplete.js but there is still use of ttAdapter in the code and I don't believe autocomplete.js uses that any longer.
Was the tutorial code updated to reflect the current version of autocomplete.js's API as well?

Just fixed the github tutorial to use the right API: https://github.com/algolia/instantsearch.js#from-a-cdn

I am fixing the website also, thank you for all the feedback

Website was already fixed, thanks!

:+1:


File hashing cleanup

Ok now it only updates the example to work with the file hashes

Thanks again!


Cloud server deployment does not give minimum requirements

Cloud server deployment does not give minimum requirements

Fixed in version 1.2.1, please refer to other sections of Readme


Add Sensible Screenshot from SpaceDock

This pull request was automatically generated by SpaceDock on behalf of magico13, to add Sensible Screenshot to CKAN.
Mod details:
name = /mod/642/Sensible%20Screenshot
author = magico13
abstract = Give your screenshots sensible names
license = GPL-3.0
Homepage = http://forum.kerbalspaceprogram.com/index.php?/topic/97033-10x-magico13s-modlets-field-experience-sensible-screenshot-etc/
description = Give your screenshots sensible names! This modlet renames your screenshots to give them descriptive names that not only help with remembering what was going on, but also makes them easier to back up since no names will clash.
See the forum thread for more information. This mod requires (and includes) MagiCore.dll.
Please direct questions about this pull request to magico13.

https://github.com/KSP-CKAN/NetKAN/pull/3911
Closing this due to / in favour of the referred PR/issue/commit.


About the hack

Are you sure this is gonna work for the exam.net updated version. Coz I was using the other code which isnt working now. Can you please make sure and send me a tutorial to this email<EMAIL_ADDRESS>plessss

Chethan77jpg I am gonna make a youtube video soon on how to install and use it and from that, you can do it yourself. This script is an updated script and it will definitely work

Can you please notify me when u release?
On Tue, 1 Dec, 2020, 3:38 PM Architsakri<EMAIL_ADDRESS>wrote:

Chethan77jpg I am gonna make a youtube video soon on how to install and
use it and from that, you can do it yourself. This script is an updated
script and it will definitely work
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Architsakri/Exam.net-Hack/issues/2#issuecomment-736373653,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQ3MH5JWJMET2XF3EH6BAL3SSS6CHANCNFSM4UIOHCUQ
.


Support fixed-sized arrays

Thank you for making this!
Opening this issue to track discussion about supporting fixed-sized arrays.

Thank you for opening an issue, this is something worthwhile to add to the package.
I will look into this.


ActionScript source path view: should be visible always (or only if asconfig has source-path has more than "src" listed)

If a file from src dir is opened, panel is not visible. If a file from other source-path dir is opened, panel becomes visible:

Why is "ACTIONSCRIPT SOURCE PATH" panel visible only if active file in editor is from included source path? Should it not be always visible, at least to indicate user that the opened project has extra source-path included?

It is visible when any .as or .mxml file is open. It is hidden when other file formats are open. The value of the source-path compiler option does not affect the behavior.

It used to be open at all times, but then it would activate the extension in all workspaces. Even workspaces for other languages.
I noticed that TypeScript hides some UI when other types of files are open, so I decided that it would make sense to do the same for this.


Add HOUPASS to the environment

Add HOUPASS var in both production and
sandbox configurations.
Issue: IT-16687
Signed-off-by: Jessica Wagantall<EMAIL_ADDRESS>

No need for this since ASWF has moved to using Azure Pipelines.


Draft landscape

Draft version ready - corrected logos, and layout.

some conflicts on processed_landscape.yml @TracyRagan @sbtaylor15 I think that is why the build checks fail

@danlopez00 the processed_landscape.yml  is a generated file.  Should we remove it from the repo?  Either way the conflicts are resolved.
cc: @TracyRagan


No Trading Page ?

Trading page is coming soon. Is microkube an incomplete project ?

no

Microkube uses Peatio 2.0.xx. There is no trade UI provided for this version, only what you see in mikroapp is provided. If you want a ready made trade UI, try installing Peatio 1.9 with the workbench project.

can u close issue?


[TU] - Enrich Unit test po

Description
Ingestion job is tested but not all details are currently tested such as the result of audit output.
This issue is related to #498.

implemented


Flip dictionary in prefill implementation

Fixes a bug where prefilling the same value to more than one field
throws a duplicate key exception.
The following will now be allowed:
    { "field1": "x"
    , "field2": "x" }

The existing implementation used the resulting value as the key, and the
resulting data field as the value. This means a value can only be
assigned a single data field without triggering a "Duplicate key"
exception.
prefill.json files still use the old value/key syntax, so there are some
semantic changes. The following used to work
    { "name": "field1"
    , "email": "field1"}

And would assign (in undefined order as the dictionary is probably
unordered) first one value, and then overwrite with the other value (if
configured to overwrite values). This will now trigger a duplicate key
exception.
Closes #44

NOTE: It's a Works For Me - As you can see, I haven't written any tests or seen if other things break. So please help me test it before merging.

Included in template v 4.31.0


Add msal

@Redwolf118 First stage of verification passed, official domain is msal.ru as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@Redwolf118 Unfortunately your request will not be processed further as JetBrains does not conduct business with persons or organisations individually targeted or incorporated in territories subject to applicable EU, U.N. and/or U.S. sanctions and/or certain export control restrictions due to legal, contractual and commercial related risks and reasons.
JetBrains complies with all relevant regulations, including applicable sanctions and export control laws.
We appreciate your understanding and apologise for any inconvenience caused.


define symbols for linker script generation

There is sometimes a need for specifying preprocessor defines for linker scripts. Having a toolchain independent way of specifying linker defines would be useful.
This is addressed by adding - define: to linker: with this proposal: https://github.com/ReinhardKeil/devtools/blob/main/tools/projmgr/docs/Manual/YML-Input-Format.md#linker

Considering the linker script pre-processing step will be introduced, adding defines to this step makes sense to me.
What needs to be discussed whether defines (as well as add-path) are always strictly separate from the defines/include paths specified for C/C++.

Separate for linker only!

To be included starting CMSIS-Toolbox 1.7.0


Use splitter for UI output and console panels

The console output can be hard to read since it's not resizable:

Since we don't currently show the console if running a Flutter app, if that's what we want to keep doing, perhaps the console should replace the app view if there was a compilation failure?

I like the expandable console we currently have - this idea came from the results of a UX study so we might want to consider keeping this behavior.

Yeah that seems like we omitted that feature by mistake out of expediency. Flutter logs contain a lot of information but they should still be made available somehow IMO.


Workaround unexpected compilation bug

I am working on a CI pipeline for p4c-dpdk and dpdk swx here. I found an unexpected problem that happens by chance. It is a compilation problem, which seems have already been discovered before yet not fully fixed. I workaround it with the same approach as the previously discovered one.
Here is the log showing the .o file was not generated while it was actually generated:
...
2023-08-08 11:32:15.539210 INFO  BF_PORT Exit port_mgr_config_import
2023-08-08 11:32:15.664004 ERROR BF_PIPE STATUS: -1
2023-08-08 11:32:15.664158 ERROR BF_PIPE dal_enable_pipeline line:122  Cannot generate /tmp/p4.o file

2023-08-08 11:32:15.664187 ERROR BF_PIPE Failed to Build Pipeline pipe
2023-08-08 11:32:15.664210 ERROR BF_DVM Device add handling failed for dev 0, sts Internal error (22), Client pipe-mgr
2023-08-08 11:32:15.664228 ERROR BF_DVM Device add failed for dev 0, sts Internal error (22)
2023-08-08 11:32:15.664286 INFO  BF_PORT Entering port_mgr_dev_remove
2023-08-08 11:32:15.664321 INFO  BF_PAL STUB fixed_function_dev_remove
2023-08-08 11:32:15.664335 INFO  BF_LLD Entering dummy STUB:lld_dev_remove
...

@swaroopsarma Can you review this?

I approved this, maybe not as a final state we want the code to be in to solve this issue cleanly, but as a workaround that allows us to make progress.
Note: I am not a maintainer on this project, so my approval does not allow this PR to be merged.  You will need to ask a project maintainer to review and approve before that can happen.

If someone with permission could merge this, that would be great.  @swaroopsarma  Perhaps you do?


web.php path is changed

while running php artisan infyom.publish:layout get error:
[ErrorException]                                                                                file_get_contents(C:\xampp\htdocs\sherkat\app\routes/web.php): failed to open stream: No such file or directory
laravel 5.4 route directory is not in app anymore . it is in root

@amin101 still its not supporting laravel 5.4. May be that's can be a problem. But its coming soon. You can track that here https://github.com/InfyOmLabs/laravel-generator/issues/382.


Promote dev build to master

We should bump the master branch with the latest dev changes. Notably, this release includes

Swagger API docs
Project restructure to use a source directory
Update to ES6 features
Update GH auth flow

Is this project abandoned? 😢


Question

Why didn't you wrap it in a standard way? For example, take func Insert(&& insert) in stead of func Set. And when you random a level, whether if you would consider the thread-safe？Or, will you improve that part?? Any better way to random a level?
At last, thank you too much because I've learned much from your code. Thanks again!

I am not sure what you mean about wrapping it in a standard way. Can you clarify?
As for thread safety: this skiplist implementation is not thread-safe, and that's by design. As a data structure implementor, you don't have enough information to decide what's the best way to ensure thread  safety, so it's better to leave it to the user.

closing as obsolete.


(Prod bug) Look into lack of data on deployed version

Tested with Charter 13: Explore UI after data outage to verify display