[Android] App stalls on blank screen and does not start on some Samsung devices

On some Samsung devices, the app starts up, but stalls on a blank screen and never renders the Flutter UI.
This issue was reported to be reproducible on the following devices:

Galaxy M21 (Android 11)
Galaxy S10 Ultra
Galaxy A7 Tab

This was originally reported under https://github.com/flutter/flutter/issues/93668, but has not yet been reproduced. If you are experiencing this, please include reproduction information in this thread,
If you are not experiencing this, but instead the warning [DP] cancel draw discussed here, please report it under https://github.com/flutter/flutter/issues/111593.

Facing the same issue.

same here, S21 FE (Android 12)

I'm experiencing this as an intermittent issue, so it's hard to replicate. But I've just managed it on the default flutter create application.
[✓] Flutter (Channel stable, 3.3.6, on macOS 12.6 21G115 darwin-x64, locale
    en-GB)
    • Flutter version 3.3.6 on channel stable at
      /Users/hamishjohnson/development/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 6928314d50 (7 weeks ago), 2022-10-25 16:34:41 -0400
    • Engine revision 3ad69d7be3
    • Dart version 2.18.2
    • DevTools version 2.15.0

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

[✓] Xcode - develop for iOS and macOS (Xcode 14.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14B47b
    • 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)

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

[✓] Connected device (3 available)
    • SM A105F (mobile) • RZ8N20926MJ • android-arm    • Android 11 (API 30)
    • macOS (desktop)   • macos       • darwin-x64     • macOS 12.6 21G115
      darwin-x64
    • Chrome (web)      • chrome      • web-javascript • Google Chrome
      108.0.5359.124

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

These are the steps I executed before I got a hang.

flutter create xxx
open in vscode and run app on Galaxy A10 from there using the flutter plugin
when app loads, press back button, and then open again. I had to repeat this step multiple times before I reproduced the bug. I probably had to do this about 20 times maybe.

During the process of repeatedly pressing back button and reopening, I also tried changing the code to cause a hot reload, however the bug didn't occur right after that so I'm not sure wether it's to blame.
Also, on the flutter create app, this causes a blank screen, but on my main app where i first noticed the bug, this hangs on the launch screen, not on a blank screen.

Same here, also Samsung user and this is still an issue. I get this app in production and sometimes not starting at all for users.
Any update or finding?

Happened today for me as well on a Samsung Galaxy S10 running Android 11 and a Flutter 3.x App. I think it has happened before as well but I have probably just killed and restarted the app.
When launching it, it got stuck with the white screen spitting out cancelDraw logs as reported by several other people. The manifest info for the splash screen was removed long ago.
When I relaunched the app through Android Studio, it started ok again so no idea how to reproduce it yet.
One detail I noticed was that when plugging in the USB cable, logcat first showed the information below, then that information disappeared and the log window was filled with cancelDraw io.flutter.embedding.android.FlutterActivityAndFragmentDelegate prints.
2023-05-10 15:59:23.317  1019-1219  AppOps                  system_server                        E  Cannot finishOperation
                                                                                java.lang.SecurityException: Specified package com.koahealth.habits under uid 10355 but it is really 10356
                                                                                at com.android.server.appop.AppOpsService.verifyAndGetBypass(AppOpsService.java:3950)
                                                                                at com.android.server.appop.AppOpsService.finishOperation(AppOpsService.java:3551)
                                                                                at com.android.internal.app.IAppOpsService$Stub.onTransact(IAppOpsService.java:491)
                                                                                at android.os.Binder.execTransactInternal(Binder.java:1190)
                                                                                at android.os.Binder.execTransact(Binder.java:1159)
2023-05-10 15:59:37.988  1019-1075  WindowManager           system_server                        E  win=Window{f55214a u0 Splash Screen com.koahealth.habits EXITING} destroySurfaces: appStopped=false win.mWindowRemovalAllowed=true win.mRemoveOnExit=true win.mViewVisibility=0 caller=com.android.server.wm.ActivityRecord.destroySurfaces:5251 com.android.server.wm.ActivityRecord.destroySurfaces:5232 com.android.server.wm.WindowState.onExitAnimationDone:5623 com.android.server.wm.WindowStateAnimator.onAnimationFinished:332 com.android.server.wm.WindowState.onAnimationFinished:6088 com.android.server.wm.-$$Lambda$dwJG8BAnLlvKNGuDY9U3-haNY4M.onAnimationFinished:2 com.android.server.wm.SurfaceAnimator.lambda$getFinishedCallback$0$SurfaceAnimator:112
2023-05-10 16:33:03.690  1019-1219  WindowManager           system_server                        E  win=Window{925924e u0 com.koahealth.habits/io.flutter.embedding.android.FlutterActivity} destroySurfaces: appStopped=true win.mWindowRemovalAllowed=false win.mRemoveOnExit=false win.mViewVisibility=8 caller=com.android.server.wm.ActivityRecord.destroySurfaces:5251 com.android.server.wm.ActivityRecord.destroySurfaces:5232 com.android.server.wm.ActivityRecord.notifyAppStopped:5291 com.android.server.wm.ActivityRecord.activityStopped:5918 com.android.server.wm.ActivityTaskManagerService.activityStopped:2595 android.app.IActivityTaskManager$Stub.onTransact:2223 android.os.Binder.execTransactInternal:1190
2023-05-10 16:58:32.355 30984-30984 ActivityThread          com.koahealth.habits                 D  handleBindApplication()++ app=com.koahealth.habits
2023-05-10 16:58:32.715 30984-30984 LoadedApk               com.koahealth.habits                 D  LoadedApk::makeApplication() appContext=android.app.ContextImpl@877c3bd appContext.mOpPackageName=com.koahealth.habits appContext.mBasePackageName=com.koahealth.habits appContext.mPackageInfo=android.app.LoadedApk@9d01db2
2023-05-10 16:58:32.856 30984-30984 ActivityThread          com.koahealth.habits                 D  handleBindApplication() -- skipGraphicsSupport=false
--------- beginning of main

When I then restarted the app from Android Studio, all of the logs above are still present but the log window is not cleared like in the failure case but the startup sequence continues. So, in case it makes sense to anyone, here is the success log to compare the failure case above with.
2023-05-10 15:59:23.317  1019-1219  AppOps                  system_server                        E  Cannot finishOperation
                                                                                java.lang.SecurityException: Specified package com.koahealth.habits under uid 10355 but it is really 10356
                                                                                at com.android.server.appop.AppOpsService.verifyAndGetBypass(AppOpsService.java:3950)
                                                                                at com.android.server.appop.AppOpsService.finishOperation(AppOpsService.java:3551)
                                                                                at com.android.internal.app.IAppOpsService$Stub.onTransact(IAppOpsService.java:491)
                                                                                at android.os.Binder.execTransactInternal(Binder.java:1190)
                                                                                at android.os.Binder.execTransact(Binder.java:1159)
2023-05-10 15:59:37.988  1019-1075  WindowManager           system_server                        E  win=Window{f55214a u0 Splash Screen com.koahealth.habits EXITING} destroySurfaces: appStopped=false win.mWindowRemovalAllowed=true win.mRemoveOnExit=true win.mViewVisibility=0 caller=com.android.server.wm.ActivityRecord.destroySurfaces:5251 com.android.server.wm.ActivityRecord.destroySurfaces:5232 com.android.server.wm.WindowState.onExitAnimationDone:5623 com.android.server.wm.WindowStateAnimator.onAnimationFinished:332 com.android.server.wm.WindowState.onAnimationFinished:6088 com.android.server.wm.-$$Lambda$dwJG8BAnLlvKNGuDY9U3-haNY4M.onAnimationFinished:2 com.android.server.wm.SurfaceAnimator.lambda$getFinishedCallback$0$SurfaceAnimator:112
2023-05-10 16:33:03.690  1019-1219  WindowManager           system_server                        E  win=Window{925924e u0 com.koahealth.habits/io.flutter.embedding.android.FlutterActivity} destroySurfaces: appStopped=true win.mWindowRemovalAllowed=false win.mRemoveOnExit=false win.mViewVisibility=8 caller=com.android.server.wm.ActivityRecord.destroySurfaces:5251 com.android.server.wm.ActivityRecord.destroySurfaces:5232 com.android.server.wm.ActivityRecord.notifyAppStopped:5291 com.android.server.wm.ActivityRecord.activityStopped:5918 com.android.server.wm.ActivityTaskManagerService.activityStopped:2595 android.app.IActivityTaskManager$Stub.onTransact:2223 android.os.Binder.execTransactInternal:1190
2023-05-11 09:10:39.827  1019-1575  WindowManager           system_server                        E  win=Window{fce44f0 u0 Splash Screen com.koahealth.habits EXITING} destroySurfaces: appStopped=false win.mWindowRemovalAllowed=true win.mRemoveOnExit=true win.mViewVisibility=0 caller=com.android.server.wm.ActivityRecord.destroySurfaces:5251 com.android.server.wm.ActivityRecord.destroySurfaces:5232 com.android.server.wm.WindowState.onExitAnimationDone:5623 com.android.server.wm.-$$Lambda$01bPtngJg5AqEoOWfW3rWfV7MH4.accept:2 java.util.ArrayList.forEach:1262 com.android.server.wm.ActivityRecord.onAnimationFinished:7162 com.android.server.wm.WindowContainer.doAnimationFinished:2626
2023-05-11 09:10:39.878  1019-3571  WindowManager           system_server                        E  win=Window{c9884d3 u0 com.koahealth.habits/io.flutter.embedding.android.FlutterActivity} destroySurfaces: appStopped=true win.mWindowRemovalAllowed=false win.mRemoveOnExit=false win.mViewVisibility=8 caller=com.android.server.wm.ActivityRecord.destroySurfaces:5251 com.android.server.wm.ActivityRecord.destroySurfaces:5232 com.android.server.wm.ActivityRecord.notifyAppStopped:5291 com.android.server.wm.ActivityRecord.activityStopped:5918 com.android.server.wm.ActivityTaskManagerService.activityStopped:2595 android.app.IActivityTaskManager$Stub.onTransact:2223 android.os.Binder.execTransactInternal:1190
--------- beginning of main
2023-05-11 09:11:12.337   631-3318  BufferQueueProducer     surfaceflinger                       E  [SurfaceView - com.koahealth.habits/io.flutter.embedding.android.FlutterActivity@641cdfc@1#0](id:2770000025c,api:0,p:-1,c:631) disconnect: not connected (req=1)
2023-05-11 09:11:12.349   631-648   BufferQueueProducer     surfaceflinger                       E  [com.koahealth.habits/io.flutter.embedding.android.FlutterActivity$_30984#0](id:2770000025b,api:0,p:-1,c:631) disconnect: not connected (req=1)
2023-05-11 09:11:12.374  1019-3508  WindowManager           system_server                        E  win=Window{c9884d3 u0 com.koahealth.habits/io.flutter.embedding.android.FlutterActivity} destroySurfaces: appStopped=true win.mWindowRemovalAllowed=false win.mRemoveOnExit=false win.mViewVisibility=8 caller=com.android.server.wm.ActivityRecord.destroySurfaces:5251 com.android.server.wm.ActivityRecord.destroySurfaces:5232 com.android.server.wm.ActivityRecord.notifyAppStopped:5291 com.android.server.wm.ActivityRecord.activityStopped:5918 com.android.server.wm.ActivityTaskManagerService.activityStopped:2595 android.app.IActivityTaskManager$Stub.onTransact:2223 android.os.Binder.execTransactInternal:1190
2023-05-11 09:59:04.495   631-1017  BufferQueueProducer     surfaceflinger                       E  [com.koahealth.habits/io.flutter.embedding.android.FlutterActivity$_30984#0](id:27700000266,api:0,p:-1,c:631) disconnect: not connected (req=1)
2023-05-11 09:59:04.501   631-650   BufferQueueProducer     surfaceflinger                       E  [SurfaceView - com.koahealth.habits/io.flutter.embedding.android.FlutterActivity@641cdfc@2#0](id:27700000267,api:0,p:-1,c:631) disconnect: not connected (req=1)
2023-05-11 09:59:17.483   631-3326  BufferQueueProducer     surfaceflinger                       E  [com.koahealth.habits/io.flutter.embedding.android.FlutterActivity$_30984#0](id:27700000266,api:0,p:-1,c:631) disconnect: not connected (req=1)
2023-05-11 09:59:17.529   631-1017  BufferQueueProducer     surfaceflinger                       E  [SurfaceView - com.koahealth.habits/io.flutter.embedding.android.FlutterActivity@641cdfc@2#0](id:27700000267,api:0,p:-1,c:631) disconnect: not connected (req=1)
2023-05-11 09:59:17.556   631-1017  BufferQueueProducer     surfaceflinger                       E  [com.koahealth.habits/io.flutter.embedding.android.FlutterActivity$_30984#0](id:27700000266,api:0,p:-1,c:631) disconnect: not connected (req=1)
2023-05-11 09:59:17.561   631-1017  BufferQueueProducer     surfaceflinger                       E  [SurfaceView - com.koahealth.habits/io.flutter.embedding.android.FlutterActivity@641cdfc@2#0](id:27700000267,api:0,p:-1,c:631) disconnect: not connected (req=1)
2023-05-11 09:59:19.963   631-650   BufferQueueProducer     surfaceflinger                       E  [com.koahealth.habits/io.flutter.embedding.android.FlutterActivity$_30984#0](id:27700000266,api:0,p:-1,c:631) disconnect: not connected (req=1)
2023-05-11 09:59:19.966   631-3318  BufferQueueProducer     surfaceflinger                       E  [SurfaceView - com.koahealth.habits/io.flutter.embedding.android.FlutterActivity@641cdfc@2#0](id:27700000267,api:0,p:-1,c:631) disconnect: not connected (req=1)
2023-05-11 09:59:24.296   631-3318  BufferQueueProducer     surfaceflinger                       E  [SurfaceView - com.koahealth.habits/io.flutter.embedding.android.FlutterActivity@641cdfc@2#0](id:27700000267,api:0,p:-1,c:631) disconnect: not connected (req=1)
2023-05-11 09:59:24.304   631-3318  BufferQueueProducer     surfaceflinger                       E  [com.koahealth.habits/io.flutter.embedding.android.FlutterActivity$_30984#0](id:27700000266,api:0,p:-1,c:631) disconnect: not connected (req=1)
2023-05-11 09:59:24.330  1019-1903  WindowManager           system_server                        E  win=Window{c9884d3 u0 com.koahealth.habits/io.flutter.embedding.android.FlutterActivity} destroySurfaces: appStopped=true win.mWindowRemovalAllowed=false win.mRemoveOnExit=false win.mViewVisibility=8 caller=com.android.server.wm.ActivityRecord.destroySurfaces:5251 com.android.server.wm.ActivityRecord.destroySurfaces:5232 com.android.server.wm.ActivityRecord.notifyAppStopped:5291 com.android.server.wm.ActivityRecord.activityStopped:5918 com.android.server.wm.ActivityTaskManagerService.activityStopped:2595 android.app.IActivityTaskManager$Stub.onTransact:2223 android.os.Binder.execTransactInternal:1190
2023-05-11 10:10:38.943   631-3326  BufferQueueProducer     surfaceflinger                       E  [com.koahealth.habits/io.flutter.embedding.android.FlutterActivity$_30984#0](id:27700000271,api:0,p:-1,c:631) disconnect: not connected (req=1)
2023-05-11 10:10:38.947   631-3326  BufferQueueProducer     surfaceflinger                       E  [SurfaceView - com.koahealth.habits/io.flutter.embedding.android.FlutterActivity@641cdfc@3#0](id:27700000272,api:0,p:-1,c:631) disconnect: not connected (req=1)
2023-05-11 11:07:39.611   631-1017  BufferQueueProducer     surfaceflinger                       E  [SurfaceView - com.koahealth.habits/io.flutter.embedding.android.FlutterActivity@641cdfc@3#0](id:27700000272,api:0,p:-1,c:631) disconnect: not connected (req=1)
2023-05-11 11:07:39.628   631-3326  BufferQueueProducer     surfaceflinger                       E  [com.koahealth.habits/io.flutter.embedding.android.FlutterActivity$_30984#0](id:27700000271,api:0,p:-1,c:631) disconnect: not connected (req=1)
2023-05-11 11:07:39.641  1019-1903  WindowManager           system_server                        E  win=Window{c9884d3 u0 com.koahealth.habits/io.flutter.embedding.android.FlutterActivity} destroySurfaces: appStopped=true win.mWindowRemovalAllowed=false win.mRemoveOnExit=false win.mViewVisibility=8 caller=com.android.server.wm.ActivityRecord.destroySurfaces:5251 com.android.server.wm.ActivityRecord.destroySurfaces:5232 com.android.server.wm.ActivityRecord.notifyAppStopped:5291 com.android.server.wm.ActivityRecord.activityStopped:5918 com.android.server.wm.ActivityTaskManagerService.activityStopped:2595 android.app.IActivityTaskManager$Stub.onTransact:2223 android.os.Binder.execTransactInternal:1190
2023-05-11 11:07:46.075   631-648   BufferQueueProducer     surfaceflinger                       E  [SurfaceView - com.koahealth.habits/io.flutter.embedding.android.FlutterActivity@641cdfc@4#0](id:2770000027c,api:0,p:-1,c:631) disconnect: not connected (req=1)
2023-05-11 11:07:46.132   631-3326  BufferQueueProducer     surfaceflinger                       E  [com.koahealth.habits/io.flutter.embedding.android.FlutterActivity$_30984#0](id:2770000027b,api:0,p:-1,c:631) disconnect: not connected (req=1)
2023-05-11 11:08:14.871   631-631   Layer                   surfaceflinger                       E  [Bounds for - com.koahealth.habits/io.flutter.embedding.android.FlutterActivity@4#0] No local sync point found
2023-05-11 11:08:21.220  7558-25345 Finsky                  com.android.vending                  E  [12765] VerifyV31SignatureInstallTask.d(2): VerifyApps V31SignatureVerification: Successful verification for the package: com.koahealth.habits using APK Signature Scheme v3
2023-05-11 11:08:22.497 31575-31575 oahealth.habit          com.koahealth.habits                 I  Late-enabling -Xcheck:jni
2023-05-11 11:08:22.527 31575-31575 oahealth.habit          com.koahealth.habits                 I  Unquickening 22 vdex files!
2023-05-11 11:08:22.548 31575-31575 ActivityThread          com.koahealth.habits                 D  setConscryptValidator
2023-05-11 11:08:22.549 31575-31575 ActivityThread          com.koahealth.habits                 D  setConscryptValidator - put
2023-05-11 11:08:22.579 31575-31575 ActivityThread          com.koahealth.habits                 D  handleBindApplication()++ app=com.koahealth.habits
2023-05-11 11:08:22.590 31575-31575 ActivityThread          com.koahealth.habits                 W  Application com.koahealth.habits is waiting for the debugger on port 8100...
2023-05-11 11:08:22.602 31575-31575 System.out              com.koahealth.habits                 I  Sending WAIT chunk
2023-05-11 11:08:23.603 31575-31575 System.out              com.koahealth.habits                 I  Debugger has connected
2023-05-11 11:08:23.604 31575-31575 System.out              com.koahealth.habits                 I  waiting for debugger to settle...
2023-05-11 11:08:23.804 31575-31575 System.out              com.koahealth.habits                 I  waiting for debugger to settle...
2023-05-11 11:08:24.004 31575-31575 System.out              com.koahealth.habits                 I  waiting for debugger to settle...
2023-05-11 11:08:24.205 31575-31575 System.out              com.koahealth.habits                 I  waiting for debugger to settle...
2023-05-11 11:08:24.406 31575-31575 System.out              com.koahealth.habits                 I  waiting for debugger to settle...
2023-05-11 11:08:24.606 31575-31575 System.out              com.koahealth.habits                 I  waiting for debugger to settle...
2023-05-11 11:08:24.806 31575-31575 System.out              com.koahealth.habits                 I  waiting for debugger to settle...
2023-05-11 11:08:25.007 31575-31575 System.out              com.koahealth.habits                 I  waiting for debugger to settle...
2023-05-11 11:08:25.208 31575-31575 System.out              com.koahealth.habits                 I  waiting for debugger to settle...
2023-05-11 11:08:25.409 31575-31575 System.out              com.koahealth.habits                 I  debugger has settled (1450)
2023-05-11 11:08:25.411 31575-31575 ActivityThread          com.koahealth.habits                 W  Slow operation: 2831ms so far, now at handleBindApplication: Before HardwareRenderer
2023-05-11 11:08:25.411 31575-31575 ActivityThread          com.koahealth.habits                 W  Slow operation: 2832ms so far, now at handleBindApplication: After HardwareRenderer
2023-05-11 11:08:25.416   631-650   BufferQueueProducer     surfaceflinger                       E  [Waiting For Debugger: com.koahealth.habits#0](id:27700000280,api:0,p:-1,c:631) disconnect: not connected (req=1)
2023-05-11 11:08:25.424 31575-31575 oahealth.habit          com.koahealth.habits                 I  The ClassLoaderContext is a special shared library.
2023-05-11 11:08:25.711 31575-31575 LoadedApk               com.koahealth.habits                 D  LoadedApk::makeApplication() appContext=android.app.ContextImpl@877c3bd appContext.mOpPackageName=com.koahealth.habits appContext.mBasePackageName=com.koahealth.habits appContext.mPackageInfo=android.app.LoadedApk@9d01db2
2023-05-11 11:08:25.711 31575-31575 NetworkSecurityConfig   com.koahealth.habits                 D  No Network Security Config specified, using platform default
2023-05-11 11:08:25.944 31575-31575 NetworkSecurityConfig   com.koahealth.habits                 D  No Network Security Config specified, using platform default
2023-05-11 11:08:25.950 31575-31575 FirebaseApp             com.koahealth.habits                 W  Default FirebaseApp failed to initialize because no default options were found. This usually means that com.google.gms:google-services was not applied to your gradle project.
2023-05-11 11:08:25.950 31575-31575 FirebaseInitProvider    com.koahealth.habits                 I  FirebaseApp initialization unsuccessful
2023-05-11 11:08:25.967 31575-31575 WM-WrkMgrInitializer    com.koahealth.habits                 D  Initializing WorkManager with default configuration.
2023-05-11 11:08:26.000 31575-31575 TetheringManager        com.koahealth.habits                 I  registerTetheringEventCallback:com.koahealth.habits
2023-05-11 11:08:26.001 31575-31575 ConnectivityManager     com.koahealth.habits                 D  ConnectivityManager() mContext=android.app.Application@f8dba5f getOpPackageName()=com.koahealth.habits getBasePackageName()=com.koahealth.habits getPackageName()=com.koahealth.habits
2023-05-11 11:08:26.025 31575-31575 ActivityThread          com.koahealth.habits                 D  handleBindApplication() -- skipGraphicsSupport=false
2023-05-11 11:08:26.188 31575-25949 ResourceExtractor       com.koahealth.habits                 I  Found extracted resources res_timestamp-1-1683730709832
2023-05-11 11:08:26.188 31575-25949 ResourceExtractor       com.koahealth.habits                 I  Resource version mismatch res_timestamp-1-1683796101506
2023-05-11 11:08:26.614 31575-25949 ResourceExtractor       com.koahealth.habits                 I  Extracted baseline resource assets/flutter_assets/kernel_blob.bin
2023-05-11 11:08:26.616 31575-25949 ResourceExtractor       com.koahealth.habits                 I  Extracted baseline resource assets/flutter_assets/vm_snapshot_data
2023-05-11 11:08:26.651 31575-25949 ResourceExtractor       com.koahealth.habits                 I  Extracted baseline resource assets/flutter_assets/isolate_snapshot_data
2023-05-11 11:08:26.684   514-514   audit                   auditd                               E  type=1327 audit(1683796106.681:2034): proctitle="com.koahealth.habits"
2023-05-11 11:08:26.736 31575-31575 FlutterArchivePlugin    com.koahealth.habits                 D  onAttachedToEngine - IN
2023-05-11 11:08:26.736 31575-31575 FlutterArchivePlugin    com.koahealth.habits                 D  doOnAttachedToEngine - IN
2023-05-11 11:08:26.736 31575-31575 FlutterArchivePlugin    com.koahealth.habits                 D  doOnAttachedToEngine - OUT
2023-05-11 11:08:26.736 31575-31575 FlutterArchivePlugin    com.koahealth.habits                 D  onAttachedToEngine - OUT
2023-05-11 11:08:26.778 31575-25968 TcpOptimizer            com.koahealth.habits                 D  TcpOptimizer-ON
2023-05-11 11:08:26.828 31575-25968 flutter                 com.koahealth.habits                 I  The Dart VM service is listening on http://<IP_ADDRESS>:33757/UrOBuOddUgQ=/
2023-05-11 11:08:26.976 31575-31575 oahealth.habit          com.koahealth.habits                 W  Accessing hidden method Landroid/view/accessibility/AccessibilityNodeInfo;->getSourceNodeId()J (greylist,test-api, reflection, allowed)
2023-05-11 11:08:26.976 31575-31575 oahealth.habit          com.koahealth.habits                 W  Accessing hidden method Landroid/view/accessibility/AccessibilityRecord;->getSourceNodeId()J (greylist, reflection, allowed)
2023-05-11 11:08:26.976 31575-31575 oahealth.habit          com.koahealth.habits                 W  Accessing hidden field Landroid/view/accessibility/AccessibilityNodeInfo;->mChildNodeIds:Landroid/util/LongArray; (greylist, reflection, allowed)
2023-05-11 11:08:26.976 31575-31575 oahealth.habit          com.koahealth.habits                 W  Accessing hidden method Landroid/util/LongArray;->get(I)J (greylist, reflection, allowed)
2023-05-11 11:08:27.045 31575-31575 DecorView               com.koahealth.habits                 I  [INFO] isPopOver=false, config=true
2023-05-11 11:08:27.047 31575-31575 DecorView               com.koahealth.habits                 I  updateCaptionType >> DecorView@79df217[], isFloating=false, isApplication=true, hasWindowDecorCaption=false, hasWindowControllerCallback=true
2023-05-11 11:08:27.047 31575-31575 DecorView               com.koahealth.habits                 D  setCaptionType = 0, this = DecorView@79df217[]
2023-05-11 11:08:27.185 31575-31575 InputTransport          com.koahealth.habits                 D  Input channel constructed: 'fe5a142', fd=107
2023-05-11 11:08:27.205 31575-31575 ViewRootIm...rActivity] com.koahealth.habits                 I  setView = com.android.internal.policy.DecorView@79df217 TM=true
2023-05-11 11:08:27.386 31575-31575 SurfaceView             com.koahealth.habits                 I  onWindowVisibilityChanged(0) true io.flutter.embedding.android.FlutterSurfaceView{ece47f7 V.E...... ......I. 0,0-0,0} of ViewRootImpl@8c965e9[FlutterActivity]
2023-05-11 11:08:27.440 31575-31575 SurfaceControl          com.koahealth.habits                 I  assignNativeObject: nativeObject = 0 Surface(name=null)/@0x7cc1664 / android.view.SurfaceControl.readFromParcel:1117 android.view.IWindowSession$Stub$Proxy.relayout:1820 android.view.ViewRootImpl.relayoutWindow:9005 android.view.ViewRootImpl.performTraversals:3360 android.view.ViewRootImpl.doTraversal:2618 android.view.ViewRootImpl$TraversalRunnable.run:9971 android.view.Choreographer$CallbackRecord.run:1010 android.view.Choreographer.doCallbacks:809 android.view.Choreographer.doFrame:744 android.view.Choreographer$FrameDisplayEventReceiver.run:995
2023-05-11 11:08:27.454 31575-31575 ViewRootIm...rActivity] com.koahealth.habits                 I  Relayout returned: old=(0,0,1080,2280) new=(0,0,1080,2280) req=(1080,2280)0 dur=26 res=0x7 s={true<PHONE_NUMBER>24} ch=true fn=-1
2023-05-11 11:08:27.479 31575-31575 SurfaceView             com.koahealth.habits                 I  windowStopped(false) true io.flutter.embedding.android.FlutterSurfaceView{ece47f7 V.E...... ......I. 0,0-0,0} of ViewRootImpl@8c965e9[FlutterActivity]
2023-05-11 11:08:27.493 31575-31575 ViewRootIm...rActivity] com.koahealth.habits                 I  [DP] dp(1) 1 android.view.ViewRootImpl.reportNextDraw:10957 android.view.ViewRootImpl.performTraversals:3845 android.view.ViewRootImpl.doTraversal:2618
2023-05-11 11:08:27.498 31575-31575 SurfaceView             com.koahealth.habits                 I  surfaceCreated 1 #8 io.flutter.embedding.android.FlutterSurfaceView{ece47f7 V.E...... ......ID 0,0-1080,2154}
2023-05-11 11:08:27.510 31575-31575 SurfaceView             com.koahealth.habits                 I  surfaceChanged (1080,2154) 1 #8 io.flutter.embedding.android.FlutterSurfaceView{ece47f7 V.E...... ...... Thanks!

三星 Note 10+ 上存在同样的问题，已通过添加回已弃用的清单来修复。

Hello , can you show me how you solved it ? Thank you

@camsim99 the workaround didn't even work on my end. App is still stuck on white screen on Samsung A53 device. I had even created another issue similar to this. 136222

Facing the same issue on my Pixel 6a. Any updates?

@shikharish I was able to solve the blank white screen on samsung device by turning off developer options, going to about phone > build number, tapping it 7 times to enable developer options again. from there flutter app run successfully

@Edijae Wow that worked! Thank you very much.

same issue with samsung galaxy a30s running latest flutter 3.16 stable

same issue with Oppo device

The same issue with emulator

I can reproduce the problem reliably

I tested many times and found that it is actually related to asynchronous waiting during startup.
`dart
void main() {
appRun();
// runApp(const MyApp());
}
void appRun() async {
runApp(await app());
}
Future app() async{
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
print("Firebase init success");
await Future.delayed(Duration(seconds: 10), () async {
print("delay 10 seconds");
});
return const MyApp();
}
`
If the execution is delayed, you can see that the log prints a lot of "Canceling draw. cancelDueToPreDrawListener=true cancelDueToSync=false", but it can eventually start normally.
But if I use await Firebase.initializeApp(); it seems that it will never finish executing, so there is no way to render the Flutter UI.

My dependency environment
Device is: Pixel 8
The system is: Android 14

`
void main() {
appRun();
// runApp(const MyApp());
}
void appRun() async {
runApp(await app());
}
Future app() async{
WidgetsFlutterBinding.ensureInitialized();
// Unable to render, keep typing Cancelling draw. cancelDueToPreDrawListener=true cancelDueToSync=false
await Firebase.initializeApp();
print("Firebase init success");
// It will also be output during waiting Cancelling draw. cancelDueToPreDrawListener=true cancelDueToSync=false
// will eventually render
await Future.delayed(Duration(seconds: 10), () async {
print("delay 10 seconds");
});
return const MyApp();
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
useMaterial3: true,
),
home: const MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({super.key, required this.title});
final String title;
@override
State createState() => _MyHomePageState();
}
class _MyHomePageState extends State {
int _counter = 0;
void _incrementCounter() {
setState(() {
_counter++;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Theme.of(context).colorScheme.inversePrimary,
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
const Text(
'You have pushed the button this many times:',
),
Text(
'$_counter',
style: Theme.of(context).textTheme.headlineMedium,
),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: const Icon(Icons.add),
), // This trailing comma makes auto-formatting nicer for build methods.
);
}
}
`

`
void main() {
appRun();
// runApp(const MyApp());
}
void appRun() async {
runApp(await app());
}
Future app() async{
WidgetsFlutterBinding.ensureInitialized();
// Unable to render, keep typing Cancelling draw. cancelDueToPreDrawListener=true cancelDueToSync=false
await Firebase.initializeApp();
print("Firebase init success");
// It will also be output during waiting Cancelling draw. cancelDueToPreDrawListener=true cancelDueToSync=false
// will eventually render
await Future.delayed(Duration(seconds: 10), () async {
print("delay 10 seconds");
});
return const MyApp();
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
useMaterial3: true,
),
home: const MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({super.key, required this.title});
final String title;
@override
State createState() => _MyHomePageState();
}
class _MyHomePageState extends State {
int _counter = 0;
void _incrementCounter() {
setState(() {
_counter++;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Theme.of(context).colorScheme.inversePrimary,
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
const Text(
'You have pushed the button this many times:',
),
Text(
'$_counter',
style: Theme.of(context).textTheme.headlineMedium,
),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: const Icon(Icons.add),
), // This trailing comma makes auto-formatting nicer for build methods.
);
}
}
`

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

void appRun() async {
  runApp(await app());
}

Future<Widget> app() async{
  WidgetsFlutterBinding.ensureInitialized();
  // Unable to render, keep typing Cancelling draw. cancelDueToPreDrawListener=true cancelDueToSync=false
  await Firebase.initializeApp();
  print("Firebase init success");
  // It will also be output during waiting Cancelling draw. cancelDueToPreDrawListener=true cancelDueToSync=false
  // will eventually render
  await Future.delayed(Duration(seconds: 10), () async {
    print("delay 10 seconds");
  });
  return const MyApp();
}

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

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

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

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

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  void _incrementCounter() {
    setState(() {
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            const Text(
              'You have pushed the button this many times:',
            ),
            Text(
              '$_counter',
              style: Theme.of(context).textTheme.headlineMedium,
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: const Icon(Icons.add),
      ), // This trailing comma makes auto-formatting nicer for build methods.
    );
  }
}

I tested many times and found that it is actually related to asynchronous waiting during startup.
If the execution is delayed, you can see that the log prints a lot of "Canceling draw. cancelDueToPreDrawListener=true cancelDueToSync=false", but it can eventually start normally.
But if I use await Firebase.initializeApp(); it seems that it will never finish executing, so there is no way to render the Flutter UI.

I think the issue for most people here is that WidgetsFlutterBinding.ensureInitialized(); needs to be in the async function, before  await Firebase.initializeApp();
This line is on the firebase flutter docs website, but not on the firebase integration screen where it should have been.
https://firebase.flutter.dev/docs/overview
Hopefully this works!

@shikharish I was able to solve the blank white screen on samsung device by turning off developer options, going to about phone > build number, tapping it 7 times to enable developer options again. from there flutter app run successfully

Worked with a Moto e22

Stuck on white screens during startup. Disabling wi-fi or disabling dev options was useless. Fixed by changing the physical device. Instead of a Moto E22 switched to a Huawei YAL L21.

@shikharish I was able to solve the blank white screen on samsung device by turning off developer options, going to about phone > build number, tapping it 7 times to enable developer options again. from there flutter app run successfully

im getting the same error in production in play store i can't say users to open developer options. Is there any other solution

@shikharish I was able to solve the blank white screen on samsung device by turning off developer options, going to about phone > build number, tapping it 7 times to enable developer options again. from there flutter app run successfully

THank you so much, that worked! 🎉


Update images

Release note:

Shoots of k8s versions v1.18 and v1.19 are now supported.

Thank you @johananl for your contribution. Before I can start building your PR, a member of the organization must set the required label(s) {'reviewed/ok-to-test'}. Once started, you can check the build status in the PR checks section below.

Thank you @johananl for your contribution. Before I can start building your PR, a member of the organization must set the required label(s) {'reviewed/ok-to-test'}. Once started, you can check the build status in the PR checks section below.

We will likely run into the year change in the license again. Maybe we should wait for #100 and then rebase over master.

We will likely run into the year change in the license again. Maybe we should wait for #100 and then rebase over master.

Actually let's wait with merging this anyway. I might have to push another change around the CSI-related images.

Actually let's wait with merging this anyway. I might have to push another change around the CSI-related images.

Already, then
/hold for now
Please /unhold when ready!

Already, then
/hold for now
Please /unhold when ready!

Ah nice, I see you already included the terraformer upgrade, just wanted to do this :)
Can you add a release note about it, too?

Ah nice, I see you already included the terraformer upgrade, just wanted to do this :)
Can you add a release note about it, too?

/rebase

/rebase

Ah nice, I see you already included the terraformer upgrade, just wanted to do this :)
Can you add a release note about it, too?

Done!

Ah nice, I see you already included the terraformer upgrade, just wanted to do this :)
Can you add a release note about it, too?

Done!

@johananl if you are ready please comment with /unhold :)

@johananl if you are ready please comment with /unhold :)

Yes, thanks :-) I'm waiting for #103 (because it doesn't make sense to me to leave the CSI-related images outdated here but I also don't want to update the images and then remove them). Once #103 is merged I'll rebase this PR and update only the remaining images.

Yes, thanks :-) I'm waiting for #103 (because it doesn't make sense to me to leave the CSI-related images outdated here but I also don't want to update the images and then remove them). Once #103 is merged I'll rebase this PR and update only the remaining images.

/unhold

/unhold

/reviewed ok-to-test

/reviewed ok-to-test


Logout of Discord On Exit

Figuring this out would be nice, but not super important.

This is functionality already programmed into the discord.py API wrapper. Specifically, client.run() runs client.logout() when a KeyboardException is met. For more information, see the discord.py documentation on client.run() and the discord.py implementation of client.run().
 Prior to this commit, the functionality should have been present in other operating systems. Once the issue present in this commit is resolved, it will be merged to master branch.

The remaining warning has been fixed as of commit 969ca0c9f166032216084da0e34c694c64890aa2 to AtriTestBranch. It will be merged to master after confirmation that it works.


Make OpenAPI3RouterFactory Open API schema first web-services easier to use

OpenAPI3RouterFactory is great at mapping the Open API schema to Vert.x routes but its way too tedious to do the rest of the work to implement the REST services.
What it needs is code generation for the following:

Pojos for all the models specified in the schema.
Code generation for all addHandlerByOperationId & addFailureHandlerByOperationId that match all the operationIds in the schema.  E.g. code that maps operationIds to methods.
Code generation in all the handlers for the input query parameters and/or body for each of the handlers.   E.g. code generation that knows what parameters are part of the REST API and generates getter code for them.

In general if the data is in the schema then Vertx should generate the corresponding code that will be needed to support each REST endpoint.  Don't force anyone to violate DRY.
Currently one has to create the schema and then manually create all of the above manually.  The problem with this is not only does it completely violate DRY but it is extremely tedious to implement REST servers in Vert.x using a schema first approach.
If I'm doing this wrong and there are ways to automate the above please let me know.

Ok so the actual state of oas3 support is:

Actually we have the tool https://github.com/pmlopes/slush-vertx that bootstrap the project but don't create POJOs, that of course need to be generated either when you are bootstrapping the project or at compile time. Or we implement the pojo generator in slush-vertx or we create a maven plugin that does that work starting from openapi spec (maybe from this http://www.jsonschema2pojo.org). The validator behind OpenaAPI3RequestValidator returns a RequestParameter, that is the most bad idea I ever had. I'm actually working to return a JsonObject for every type of parameter (query, path, body, ...), so the mapping is pain free
The second point is done by https://github.com/pmlopes/slush-vertx (maybe I haven't understand what are you talking about)
Changing the routing context is bad, maybe we can return a JsonObject like this:

{
  "query": ...
  "path": ...
  "body": ...
}

Then you have one POJO for every operation, so with one mapping you do everything.
vertx-web-api-contract should care about dynamic router generation and request validation, IMHO the static stuff like POJO code generation should remain outside

Thanks for the update/info, I was not aware of the tools you mentioned.  We are starting a major port of a Spring app to Vertx and it has a lot of REST services so I could really use these enhancements now so I don't have to change again.
I would like the code to be generated using a Maven plugin that reads the Open API spec.  It does seem that  http://www.jsonschema2pojo.org could be leveraged for the code generation.  However this isn't vertx aware so there still needs to be code generation that makes it vertx aware.
I'm not clear how slush-vertx fits with this as it seems that bootstraps a new project or something (I'm not clear what it does yet).  What is needed is build/compile time code generation from the provided Open API spec so that one does not violate DRY when implementing REST with Vertx.  E.g. code generation is needed that maps the Open API operationId string to the vertx Handler.  Can slush-vertx do this?  If so how?
Regarding your proposed changes your making do you have a SNAPSHOT build I could use?  Currently I'm using 3.5.1 which uses RequestParameters/RequestParameter which is quite tedious to use.  I would much prefer to use your new approach.
Agreed the code generation should/can remain outside.

With http://www.jsonschema2pojo.org/ you can take the single schema from your oas and then translate it. A good practice is to externalise schemas outside openapi.yaml and then refer to it with $ref. So if you need to generate at compile time with maven the POJOs, use jsonschema2pojo maven plugin and place all schemas in separate files outside the openapi spec. At runtime the router factory will load the refs, so you can modify that schemas outside when you want
IMHO the mapping from operationId to handler is quite simple, I don't see why you should simplify it more. Mapping from the openapi spec is something very bad, because you should do the dynamic class loading and I want to avoid that. Remember that, in some use cases, is useful to load multiple handlers in the same operation, so that's the most simple way to do that
slush-vertx is useful only for bootstrapping.
Nope the project is a WIP, I'm refactoring entirely the validation core to allow it.

Okay I follow most of what your saying.
Regarding the first part regarding externalize schemas outside openapi.yaml and then refer to it with $ref this is what I am doing as I have many existing pojos (db entities for example) that the openapi.yaml must reference.  So I'm generating json schema for those pojos and then referencing those schema in openapi.yaml.  So an example of this is:
requestBody:
content:
application/json:
schema:
$ref: 'resources/urn_jsonschema_com_issinc_odin_display_CreatePlan.json'
required: true
Where all these .json files are in a resources subfolder from openapi.yaml.  However this is not working well as the OpenApi3Utils class is throwing a RuntimeException with the message 'Wrong ref!'.  This is at line 270.  The reason this is failing is that the $ref value does not match what this class is expecting.  How can I fix this?  Am I not specifying the external file correctly?
Also there is a bug in the io.swagger.parser.v3:swagger-parser-v3:jar:2.0.0-rc3 dependency in it's ResolverFully class where the schemas map was never initialized so it throws a NPE in our use case.  I have fixed that by doing a custom build of that jar with schemas initialized.
Regarding the operationId mapping to handler I would like to see what you have in mind here.  I would like to have a way to:

Not violate DRY in the specifying of the string name field.
Guarantee that handlers have been registered for all operations specified in openapi.yaml.

I have solved #1 above by generating a string constants file for every operationId in openapi.yaml, this way I can not violate DRY in those names.

Ok so, if you have particular problems with $ref, just open an issue in repo https://github.com/vert-x3/vertx-web with a reproducer, so i can give a deeper look at it. $ref should work but there are a lot of corner cases that are difficult to address. Also please note that refs usually have relative paths, for example if you have the openapi.yaml in resources folder and a schema in resources/schemas you should refeer to schema with `$ref: "./schemas/schema1.json"
The bug you are talking about in swagger-parser could be interesting, please open a issue for it.
For what you are talking about operationId, Did you used reflections to map operationId to handlers? Because that's a thing we want to avoid.
We are going to support in near future the openapi extensions, allowing more customization of router behaviours through spec fields.

Okay I created vertx-web-api-contract fails to parse Open API with relative paths #899 for the $ref bug.
Regarding operationId, no we are not using reflection to map to handlers but we do want a way to not have type type the operationId string in both the Open API spec and in our code.  Right now we auto generate a constants file for this, its not ideal but better then typing things twice.

I created 'vertx-web-api-contract when parsing Open API can throw NPE' https://github.com/vert-x3/vertx-web/issues/900 for the NPE error.

Also created https://github.com/vert-x3/vertx-web/issues/901 and https://github.com/vert-x3/vertx-web/issues/902 for other issues.

@dhoffer I'm in the process of improving this support for this type of workflow. Have a look at the Archetype I am working on which leverages OpenAPI Generator to create the models. I'm also working on improving the Generator for Vert.x such that this will all be mapped using Web API Services, but that will take longer.


Hardcoded to use Ctrl+C instead of respecting stty setting

Describe the bug
Well-behaved raw terminal programs will ideally identify how the interrupt key is configured, and use that to determine what they listen for when mimicking interrupt behavior. Inquire currently seems to be hardcoded to listen to only Ctrl+C.
To Reproduce
Steps to reproduce the behavior:
stty intr ^Q
cargo run --example multiselect

Then hit Ctrl+Q.
Expected behavior
Should interrupt the selection.

hey @crabdancing, good to know, I had never heard of that before!
do you have an idea on how to implement this in Rust? I'll take a deeper look when I find some time

I know how to do it in termios. I've been trying to popularize a technique on doing it like this:
use std::io::{self, Read};
use std::os::unix::io::AsRawFd;
use termios::*;

fn main() {
    let stdin_fd = io::stdin().as_raw_fd();
    let original_term_config = Termios::from_fd(stdin_fd).unwrap();

    let interrupt_char = original_term_config.c_cc[VINTR];

    let mut raw_termios = original_term_config;
    cfmakeraw(&mut raw_termios);
    tcsetattr(stdin_fd, TCSANOW, &mut raw_termios).unwrap();

    println!("Press the interrupt character to exit...\r");

    let mut buffer = [0u8; 1];
    loop {
        io::stdin().read_exact(&mut buffer).unwrap();
        eprintln!("Got: {:?}\r", &buffer);
        if buffer[0] == interrupt_char {
            break;
        }
    }

    tcsetattr(stdin_fd, TCSANOW, &original_term_config).unwrap();
}

Not sure how to do it in crossterm. I opened an issue about it, but they have yet to get back to me.


Fix linter errors

Since we can't block on lint errors we have some errors that are generated w/ the current code. We should fix those.

I updated our shellcheck make target to check for unused variables even when uppercase (uppercase environment variables are presumed to be set by the parent process by default).
This makes it so we need to set these variables explicitly in the code and improves the quality since these variables are used pretty extensively.
We however need to update the scripts so that shellcheck passes now.


Error: Cannot find module '/Users/dave/node_modules/node-dash-button/bin/findbutton

I've run the command sudo node node_modules/node-dash-button/bin/findbutton on two different computers and gotten the same error response. I apologize if this is a user error.

Did you npm install? Are you running the command from the folder where you cloned pizzadash to?

Thanks! I've got it now.


Improve examples in README.md

Q
A

Is bugfix?
❌

New feature?
❌

Breaks BC?
❌

Thank you 👍


Keeps shutting down. Can't sync wallet

BUG REPORT
Stack Trace or error message
Expected Behavior
How to reproduce it (as minimally and precisely as possible)
Environment

Sia version:
OS:

There is no error message here.
Try this to find your error message: https://gist.github.com/tbenz9/8066d74853ab28c23bd7bc1d3c7cdeda


Add libman step to the readme getting started section

E. g.

Install libman: dotnet tool install -g microsoft.web.librarymanager.cli
Restore client-side libraries: libman restore

We added instructions for the UI 'Restore Client-Side Libraries' that is available in the context menu when you right click the solution node on VS.
We consider this enough for the time being.
Fixed by 74513ee5c2866384a4b364e3d1e3f1d228c7b928


supporting pandas on osx, added test suite

Adds a few additional dependencies to pandas (scipy, numexpr, bottleneck etc) which are listed as optional but are useful to have, providing either performance gains or additional functionality.
Can now support OSX as a platform
Running the test suite, minus a few problematic modules.

@domenkozar @7c6f434c

@domenkozar updated

@domenkozar any thoughts?

@domenkozar sorry to keep pressing on this but it'd be nice to get this in


Add import scala.language.implicitConversions

"import scala.language.implicitConversions" with the current version of Scala. Otherwise I receive an error message when I run the function definition :
"advanced_type.scala:11: warning: implicit conversion method strToInt shoulnabled
by making the implicit value scala.language.implicitConversions visible.
This can be achieved by adding the import clause 'import scala.language.imConversions'
or by setting the compiler option -language:implicitConversions.
See the Scaladoc for value scala.language.implicitConversions for a discus
why the feature should be explicitly enabled."

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Very poor performance when zooming over large resolution difference

I've got a map with the resolutions [1000, 500, 200, 0.125]. When zooming from 200 to 0.125 the page freezes.
Based on my initial investigations, the problem seems to be in ol.renderer.canvas.TileLayer.prepareFrame where there is the following for-loop
for (x = tileRange.minX; x <= tileRange.maxX; ++x) {
    for (y = tileRange.minY; y <= tileRange.maxY; ++y) {

        tile = tileSource.getTile(z, x, y, pixelRatio, projection);
        tileState = tile.getState();
        if (tileState == ol.TileState.LOADED ||
            tileState == ol.TileState.EMPTY ||
            (tileState == ol.TileState.ERROR && !useInterimTilesOnError)) {
                tilesToDrawByZ[z][ol.tilecoord.toString(tile.tileCoord)] = tile;
                continue;
        }

        fullyLoaded = tileGrid.forEachTileCoordParentTileRange(
            tile.tileCoord, findLoadedTiles, null, tmpTileRange, tmpExtent);
        if (!fullyLoaded) {
            // FIXME we do not need to clear the tile if it is fully covered by its
            //       children
            tilesToClear.push(tile);
            childTileRange = tileGrid.getTileCoordChildTileRange(
                tile.tileCoord, tmpTileRange, tmpExtent);
            if (!goog.isNull(childTileRange)) {
                findLoadedTiles(z + 1, childTileRange);
            }
        }
    }
}

In my case this was looping over these ranges and taking a VERY long time while continuing to eat up memory (into the gigabytes).
minX = 10290
maxX = 14753
minY = 7557
maxY = 10547

I've created a jsfiddle reproducing the issue.
http://jsfiddle.net/vzytmqL5/1/

Thanks for the good test case.
I don't know what the problem is right now, but note that the problem goes away if you don't pass a tileGrid to the TileWMS constructor.

@deadpassive's jsfiddle uses v3.2.0. I just tried with master, which includes the patch attached https://github.com/openlayers/ol3/pull/3246, but I discovered a bug: an assertion error at tile disposal time. This bug is related to https://github.com/openlayers/ol3/pull/3248, which added the ol.ImageTile#disposeInternal function and the call to unlistenImage_.  I still need to investigate the problem but it looks like we're creating a lot of unnecessary garbage (ol.ImageTile objects probably).

We could improve things by calculating a tile coord instead of creating a tile (and the underlying image) and then checking the cache to see if the tile has been created/loaded.  It would be good to rework things so we're not creating and caching tiles (and images) when we only need a tile coordinate.  I think it could make sense to only cache tiles when we load them, but this may be a bigger change.

We could improve things by calculating a tile coord instead of creating a tile (and the underlying image) and then checking the cache to see if the tile has been created/loaded. It would be good to rework things so we're not creating and caching tiles (and images) when we only need a tile coordinate. I think it could make sense to only cache tiles when we load them, but this may be a bigger change.

Yep, but in that case the problem is also related to « big » tile range, and the associated « big » loops.
@deadpassive, any reason for passing a specific tileGrid to the TileWMS constructor?

I'd be interested in comparing the time with and without image creation (no call to getTile).  Clearly the memory issue sout be improved without caching all those unused images.

@elemoine My map is EPSG:27700 and based loosely on:
https://astuntechnology.github.io/osgis-ol3-leaflet/ol3/01-OSGB-MAP.html
Without the tileGrid the map appears slightly blurry.

The problem is related to the tile resolution we use for a given viewState resolution. The renderer may indeed choose a tile resolution that implies a very big tile range. This is because the tileGrid.getZForResolution function may return a resolution that is actually lower that the viewState resolution. This patch fixes the performance problem:
diff --git a/src/ol/tilegrid/tilegrid.js b/src/ol/tilegrid/tilegrid.js
index e24e8e0..ace9d27 100644
--- a/src/ol/tilegrid/tilegrid.js
+++ b/src/ol/tilegrid/tilegrid.js
@@ -394,7 +394,7 @@ ol.tilegrid.TileGrid.prototype.getTileSize = function(z) {
  * @return {number} Z.
  */
 ol.tilegrid.TileGrid.prototype.getZForResolution = function(resolution) {
-  return ol.array.linearFindNearest(this.resolutions_, resolution, 0);
+  return ol.array.linearFindNearest(this.resolutions_, resolution, 1);
 };

I'd be interested in comparing the time with and without image creation (no call to getTile). Clearly the memory issue would be improved without caching all those unused images.

We're not talking about interim tiles here, but tiles we plan to load. So I don't quite see how we can avoid calling getTile without a major refactoring.

Without the tileGrid the map appears slightly blurry.

You could try using [1000, 500, 200, 0.125] as the view resolutions, and (much) more intermediate resolutions for the tileGrid. For example:
[1000, 500, 250, 200, 100, 50, 25, 12.5, 6.25, 3.125, 1.5625, 0.78125, 0.390625, 0.1953125, 0.125, 0.09765625]

This should prevent the performance issue from happening, while still allowing for sharp images (because the tileGrid resolutions include the view resolutions).

@elemoine Yes that's pretty much what I've done to get around this issue. My application allows users to arbitrarily set the map resolutions and I process the selected resolutions to add in intermediate resolutions. This works fine for my needs.

I've just worked on a patch that defer the creation of the Image until the tile is loaded (tile.load is called). See https://github.com/openlayers/ol3/compare/master...elemoine:deferimage. I don't know if this patch improves things.

I've just worked on a patch that defer the creation of the Image until the tile is loaded (tile.load is called). See master...elemoine:deferimage. I don't know if this patch improves things.

It certainly is not going to help @deadpassive's case.

This issue still persists in<EMAIL_ADDRESS>Is there any way to get around it?

v6.2.0 has been released today, and should improve performance here. Can you please check if that satisfies?

@ahocevar Thanks for your quick reply!
In my test case, jumping from 1:500.000 to 1:2000 (scales) took about 16s with 5.3.3. v6.2.0 slightly improves the situation (11s).
However i spotted another cause for the massive performance lag, that does not relate to openlayers but the integration with Vue, so i'll focus on fixing that first.


[core] [java-input-plugin] Behavior change due to missing 'super'

I would like to report a behavior change due to a missing "super" with java-input-plugin. Tested with openjdk8 and latest git version 59ef569
With java-input-plugin this sample
public class OverrideToString {
    @Override
    public String toString() {
        return super.toString();
    }
}

gets decompiled to a stack overflow:
public class OverrideToString {
    public String toString() {
        return toString();
    }
}

Java-convert-plugin/dex-input-plugin works fine, so this is not a regression. This example can be used in unit tests.

Fixed. Thanks, @nitram84 👍🏽


Amend Metamorphic Relations

Added a simple logic to the function generate_metamorphic_relations in specification/metamorphic_relation.py to deal with situations with dags that contain cycles/loops.
The added feature is a boolean parameter called skip_ancestors. The default is False which retains the original logic of the algorithm. If True, no adjustment sets are calculated and empty sets are passed into the ShouldCase/ShouldNotCause methods.
Logging is also used in the script's entry-point to warn the user to proceed with caution if this parameter is true.

TODO:

[ ] Write unit tests to validate the functionality of the algorithm when skip_ancestors=True

I'm afraid I'm a little confused as to what's going on here. I was envisioning something along the lines of an ignore_cycles parameter which, if true, got all of the nodes that form part of any cycle and ignored (i.e. did not append it to the list of MRs) every test which had them as control, treatment, or a member of the adjustment set. I think simply ignoring the ancestors might not be strong enough.


OutOfDirectMemoryError causes CPU 100% and fd is full

Expected behavior
Release connection
Actual behavior
Always occupy the connection
Steps to reproduce
see # 10424 OOM Exception , OOM  in netty 4.1.51.Final Fix，but OOM problem  caused this problem.  Should need to be fixed, because the next OOM will appear again .
Minimal yet complete reproducer code (or URL to code)
Gave me some thoughts  in the code .
in read event:
@Override
        public final void read() {
            final ChannelConfig config = config();
            if (shouldBreakReadReady(config)) {
                clearReadPending();
                return;
            }
            final ChannelPipeline pipeline = pipeline();
            final ByteBufAllocator allocator = config.getAllocator();
            final RecvByteBufAllocator.Handle allocHandle = recvBufAllocHandle();
            allocHandle.reset(config);

            ByteBuf byteBuf = null;
            boolean close = false;
            try {
                do {

                    // * If an oom exception occurs in its place,  oom will also be here  *
                    byteBuf = allocHandle.allocate(allocator);

                    allocHandle.lastBytesRead(doReadBytes(byteBuf));
                    if (allocHandle.lastBytesRead() <= 0) {
                        // nothing was read. release the buffer.
                        byteBuf.release();
                        byteBuf = null;
                        close = allocHandle.lastBytesRead() < 0;
                        if (close) {
                            // There is nothing left to read as we received an EOF.
                            readPending = false;
                        }
                        break;
                    }

                    allocHandle.incMessagesRead(1);
                    readPending = false;
                    pipeline.fireChannelRead(byteBuf);
                    byteBuf = null;
                } while (allocHandle.continueReading());

                allocHandle.readComplete();
                pipeline.fireChannelReadComplete();

                if (close) {
                    closeOnRead(pipeline);
                }
            } catch (Throwable t) {
                //  there catch oom exceptin and handler it
                handleReadException(pipeline, byteBuf, t, close, allocHandle);
            } finally {
                .....
            }
        }
    }

handleReadException method:

  private void handleReadException(ChannelPipeline pipeline, ByteBuf byteBuf, Throwable cause, boolean close,
                RecvByteBufAllocator.Handle allocHandle) {
            if (byteBuf != null) {
                if (byteBuf.isReadable()) {
                    readPending = false;
                    pipeline.fireChannelRead(byteBuf);
                } else {
                    byteBuf.release();
                }
            }
            allocHandle.readComplete();
            pipeline.fireChannelReadComplete();
            pipeline.fireExceptionCaught(cause);

           // If it is oom , clase value is false, no change,
           //  and cause not instanceof IOException,  because instanceof OutOfMemoryError ,
           // So event is not fire , event readPending always ,  If http server, request block always too.

           // This also explains why the socket is full and cpu full too
           //  If oom maybe set close = ture, or condition `cause instanceof OutOfMemoryError`
            if (close || cause instanceof IOException) {
                closeOnRead(pipeline);
            }
        }

Netty version
4.1.50.Final
JVM version (e.g. java -version)
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
OS version (e.g. uname -a)
Windows
Linux

I don't think netty was ever intended to properly recover from OutOfMemoryError...it would be a nice addition but hard to recover from errors in every random place.

I don't think netty was ever intended to properly recover from OutOfMemoryError...it would be a nice addition but hard to recover from errors in every random place.

yeah, recovering from OutOfMemoryError is a bit difficult
netty will creates a new receive buffer to read all inbound data .

I don't think netty was ever intended to properly recover from OutOfMemoryError...it would be a nice addition but hard to recover from errors in every random place.

yeah,  recovery from Outofmemoryerror is difficult.
I've only found out that "AbstractNioByteChannel.java#read" OutOfMemoryError causes the pipeline read event to be blocked. If many requests are in the request, many scokets will be occupied(socket).
[root@app ~]# ss -s
Total: 61569 (kernel 61731)
TCP:   62328 (estab 49757, closed 9067, orphaned 3, synrecv 0, timewait 235/0), ports 411

Transport Total     IP        IPv6
*	  61731     -         -
RAW	  0         0         0
UDP	  1         1         0
TCP	  53261     6         53255
INET	  53262     7         53255
FRAG	  0         0         0

In each channel read implementation, netty creates a new receive buffer to read all inbound data when it enters the read event, in this case if OutOfMemoryError is supposed to release the pipeline read event. Otherwise,  it will be blocked for a certain period of time, causing the server to monitor the alarm.
If we find out where to use RecvByteBufAllocator.java#Handle#allocate,  and then catch in the catch to add out of the OutOfMemoryError judgment, and then call the release pipeline read event, will it solve the problem?
I should probably test the 'EpollStreamChannel' KQueueStreamChannel environment to see if it will be the same, but I haven't tried to do it.


The section Built Using is not fill

The section is filled with the template information.
Modify the section with the project information.

Link to the section


Clean up istio-protocol and ResourceType

Clean up istio-protocol from all configs in favor of context.protocol. Also remove resource type as well as tcp specific logic from mixer. #2139 https://github.com/istio/istio/issues/3963

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: bianpengyuan
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers: ijsnellf, ozevren
Assign the PR to them by writing /assign @ijsnellf @ozevren in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS
mixer/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@bianpengyuan: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
f42629151ee0133d821c7bc95f15830c4c31cad2
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@bianpengyuan: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
e497aaef98d307898d93f10c449f42d1f1610752
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@bianpengyuan: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
e497aaef98d307898d93f10c449f42d1f1610752
link
/test istio-unit-tests

prow/istio-presubmit.sh
e497aaef98d307898d93f10c449f42d1f1610752
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: bianpengyuan, douglas-reid
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS [douglas-reid]
mixer/OWNERS [douglas-reid]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/retest

@bianpengyuan: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
e497aaef98d307898d93f10c449f42d1f1610752
link
/test istio-presubmit

prow/istio-unit-tests.sh
e497aaef98d307898d93f10c449f42d1f1610752
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@bianpengyuan: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
e497aaef98d307898d93f10c449f42d1f1610752
link
/test istio-unit-tests

prow/istio-presubmit.sh
e497aaef98d307898d93f10c449f42d1f1610752
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

you may have to rebase and push

Looks lovely.
/lgtm

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: bianpengyuan, douglas-reid, ozevren
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS [douglas-reid]
mixer/OWNERS [douglas-reid,ozevren]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@bianpengyuan: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
e497aaef98d307898d93f10c449f42d1f1610752
link
/test istio-presubmit

prow/istio-unit-tests.sh
402b423d3d43e6f103a439668ccfbe0fd0f51f0e
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

New changes are detected. LGTM label has been removed.

@bianpengyuan: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
e497aaef98d307898d93f10c449f42d1f1610752
link
/test istio-presubmit

prow/istio-unit-tests.sh
b672fa597f28999ab08d04f708c28f0b99a3c23a
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@bianpengyuan: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
b672fa597f28999ab08d04f708c28f0b99a3c23a
link
/test istio-unit-tests

prow/istio-presubmit.sh
b672fa597f28999ab08d04f708c28f0b99a3c23a
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@bianpengyuan: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
b672fa597f28999ab08d04f708c28f0b99a3c23a
link
/test istio-presubmit

prow/istio-unit-tests.sh
b672fa597f28999ab08d04f708c28f0b99a3c23a
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@bianpengyuan: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
b672fa597f28999ab08d04f708c28f0b99a3c23a
link
/test istio-unit-tests

prow/istio-presubmit.sh
b672fa597f28999ab08d04f708c28f0b99a3c23a
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: bianpengyuan, douglas-reid, kyessenov, ozevren
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS [douglas-reid,kyessenov]
mixer/OWNERS [douglas-reid,kyessenov,ozevren]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/retest


Keep the last used MIDI channel for new nodes

It is tedious to have to set the nodes to a given every time we add a new one, it would make sense to either remember the last channel or have a default channel.

Just tested it, but it does feel right for some reason...
What I tend to do instead is to setup a node with a specific channel, and then copy/paste it.
Any thoughts on this?

Ok. In the end, I got used to this. Let's ship it. It's available in the v0.3.2


Allow SoftSignals metadata (units, limits etc.)

SoftSignals are being used to propagate metadata about devices, such as the dodal Undulator length. length requires a unit (metres/m). Other soft signals may require limits. These would (after #137, #146, #148) propagate into documents.

Closed by #367


Prisma >= 4.13 causes TS1005 error

Bug description
Any version of Prisma greater than 4.12.0 that I tried (4.13.0 and 5.5.2 for sure) produce the following error:
prisma-client/prisma/dist/runtime/library.d.ts:1298:35 - error TS1005: '?' expected.

1298     select: infer S extends object;

I reproduced the issue with TS 4.7.4, 5.0.0, and 5.2.2, so it is not a matter of using an old TS version as reported in related issues (see below).
Related issues:

https://github.com/prisma/prisma/issues/5732
https://github.com/prisma/prisma/issues/20024

How to reproduce
Generate the client and build the application. The source files are sensitive and I did not yet have the opportunity to invest time shrinking to produce a minimal example that exposes the bug.
Expected behavior
Compile without errors.
Prisma information
datasource db {
  provider = "postgresql"
  url      = env("POSTGRES_URI")
}

generator client {
  provider        = "prisma-client-js"
  output          = "./dist"
  previewFeatures = ["tracing"]
}

// [...] sensitive and I did not yet have the opportunity to invest time shrinking to produce a minimal example that exposes the bug

// [...] sensitive and I did not yet have the opportunity to invest time shrinking to produce a minimal example that exposes the bug

Environment & setup

OS: Ubuntu 22.04.3 LTS 64 bits (Linux <hostname> 6.2.0-35-generic #35~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Oct  6 10:23:26 UTC 2 x86_64 x86_64 x86_64 GNU/Linux)
Database: PostgreSQL 15.3
Node.js version: Node.js v18.18.0

Prisma Version
The bug is present in 4.13.0 and 5.5.2. I have not tested all versions in between, but I believe all are affected. The bug is absent from version 4.12.0.

Are you sure you are using a recent version of Typescript?

Are you sure you are using a recent version of Typescript?

Yes, as explicitly stated in the issue description:

I reproduced the issue with TS 4.7.4, 5.0.0, and 5.2.2, so it is not a matter of using an old TS version as reported in related issues (see below).

@mitre-tm without more information to be able to reproduce, we won't be able to help here.
Please give steps to reproduce (the exact command and tooling versions) along with your tsconfig.json file for example.
I just tried the following with 5.5.2 and everything works as expected.
datasource db {
  provider = "postgresql"
  url      = "postgresql://prisma:prisma@localhost:5432/21665"
}

generator client {
  provider        = "prisma-client-js"
  output          = "./dist"
  previewFeatures = ["tracing"]
}

model Post {
  id        Int      @id @default(autoincrement())
  createdAt DateTime @default(now())
  title     String
  content   String?
  published Boolean  @default(false)
  author    User     @relation(fields: [authorId], references: [id])
  authorId  Int
}

model Profile {
  id     Int     @id @default(autoincrement())
  bio    String?
  user   User    @relation(fields: [userId], references: [id])
  userId Int     @unique
}

model User {
  id      Int      @id @default(autoincrement())
  email   String   @unique
  name    String?
  posts   Post[]
  profile Profile?
}

tsconfig
{
  "compilerOptions": {
    "target": "es2017" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */,
    "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */,
    "strict": true /* Enable all strict type-checking options. */,
    "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */,
    "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */
  }
}

main.ts
import { PrismaClient } from '@prisma/client'

async function main() {
  const prisma = new PrismaClient()

  const data = await prisma.user.findMany()
  console.log(data)
  prisma.$disconnect()
}

main()

I solved the issue by deleting the lockfiles (package-lock.json) and recreating them with npm install. In this process, some dependencies were auto-updated, which I believe solved the issue. In the build (CI), we use npm clean-install, for reproducibility and security.
By the way, our tsconfig.json was already consistent with the one provided in the example, with the difference that target was set to ES2022, as recommended for Node 18.

node_modules/@prisma/client/runtime/library.d.ts:1299:1 - error TS1005: '?' expected.
1299 } & Record<string, unknown> | {
~
node_modules/@prisma/client/runtime/library.d.ts:1301:1 - error TS1005: '?' expected.
1301 } & Record<string, unknown> ? {
~
Error! You can try adding the -V parameter for more information output.
Error: TS Error: '?'<EMAIL_ADDRESS>

ts config
{
  "compileOnSave": true,
  "compilerOptions": {
    "target": "ES2021",
    "module": "commonjs",
    "moduleResolution": "node",
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "inlineSourceMap":true,
    "noImplicitThis": true,
    "noUnusedLocals": true,
    "stripInternal": true,
    "skipLibCheck": true,
    "pretty": true,
    "declaration": true,
    "forceConsistentCasingInFileNames": true,
    "jsx": "preserve",
    "esModuleInterop": true,
    "typeRoots": [ "./typings", "./node_modules/@types"],
    "outDir": "dist",
    "paths": {
      "~/*": ["./*"],
      "@/*": ["./web/*"],
      "~src/*": ["./src/*"]
    }
  },
  "exclude": [
    "dist",
    "node_modules",
    "test",
    "web"
  ]
}

@brooke1220 Please open a new issue and fill up the template, we'll need more information to be able to help you.
Make sure to check your typescript package version installed.

I solved the issue by deleting the lockfiles (package-lock.json) and recreating them with npm install. In this process, some dependencies were auto-updated, which I believe solved the issue. In the build (CI), we use npm clean-install, for reproducibility and security.
By the way, our tsconfig.json was already consistent with the one provided in the example, with the difference that target was set to ES2022, as recommended for Node 18.

thank you bro, you solved my problem, i love you


Sqlite-based files-to-artifacts database deployment

This task consists of building a sqlite database with all the package metadata. Equivalent to the deprecated regro/libcfgraph:/artifacts repository.

[X] Bootstrap from libcfgraph
[X] Deploy a Datasette instance
[X] Frontend in Streamlit
[ ] Update from repodatas: https://github.com/jaimergp/conda-forge-paths/pull/1
[ ] Automate redeploy after updates

My findings so far:

The latest state of libcfgraph (last updated on Dec 4th 2023) contains:

1,602,023 artifacts
18,390,176 unique paths
618,908,726 path-to-artifact relationships

We can naively put all the JSONs in a artifact -> JSON blob table. Using the new JSONB, this takes 46GB uncompressed, 2.5GB zstd. However, finding files in this table is very slow because it needs to scan the JSON blob for each artifact. Adding a virtual JSON index doesn't help much and it increases storage significantly. On the upside, this can store ALL metadata in a very simple way and takes <10 min to populate.

To optimize for file querying, I also created a database with a file_path -> conda_artifacts table, indexed by file_path. The conda_artifacts field is a text field where each line is a conda artifact "route" (channel/subdir/filename). This has a lot of duplication, but the exact queries are blazingly fast. It takes 37GB uncompressed, but compresses nicely to 850MB zstd! We can also add a FTS5 index for the paths, which allows for fast partial searches at a relatively small cost.

I also experimented with some forms of string interning to avoid the artifacts duplication, but it's VERY slow to populate (estimates of 30-60h, compared to the <20min mark we have with the non interned version), and would also involve slower retrievals, so I think this is a good compromise.

The code is available in this repository: https://github.com/jaimergp/conda-forge-paths. I added a GHA workflow, but the runner dies trying to clone libcfgraph 🚀 😂  My plan is to upload a couple of database.zst files to GH releases and have that a starting point.

Hm, I learnt about RETURNING and realized we can store the artifact paths on the go at no cost, and instead store the IDs, which should have little cost at query time. I added full-text-search to enable partial searches as well, and didn't change the size significantly. This all means that with this new approach the uncompressed database is only 8.8GB! Compressed size doesn't change much: 634MB.
We also get a new table for free: all the artifacts, and I also stored the timestamps, which will be useful at update time.
The https://github.com/jaimergp/conda-forge-paths repo is now up-to-date, and includes a datasette example.

Demo search is now available at https://conda-metadata-app.streamlit.app/Search_by_file_path

@zklaus mentioned https://github.com/conda-forge/staged-recipes/pull/25862 which could be used to reduce storage on server.

Progress in https://github.com/jaimergp/conda-forge-paths: repo has self-updating releases (assuming it works) now. A systemd config has been added in the server too, so it updates itself every week.


Improvements

This pull request moves the server ID to the ENV. We have removed many unneeded commented code.
Additionally, this includes finalized scoped features that are ready for testing.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Jonathon Hammond seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

This pull request moves the server ID to the ENV. We have removed many unneeded commented code.
Additionally, this includes finalized scoped features that are ready for testing.

can you add a .gitignore file to remove some extra files here? files like .DS_Store
an example we use for other js repos:
# OS or Editor folders
.DS_Store
node_modules

# Jekyllg
_site
.sass-cache
.jekyll-metadata
Gemfile.lock
**/.DS_Store
**/desktop.ini
**/.svn

# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage

# next.js
.vercel
/.next/
/out/
/build/

# production
/build

# misc
.env*
.idea

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*

.now
.mdx-data
.cache
.yalc
yalc.lock
.cache

Otherwise, seems fine - once you address those 2 asks we'll get it merged and look into building/deploying

@wileyj I somehow missed this. I need to get my notifications sorted here. I will fix this first thing tomorrow.

@wileyj

I try to sign and get success but it still says not signed.

@wileyj

I try to sign and get success but it still says not signed.

Very odd, I've never seen this personally but I"m asking around. maybe try using the link in this comment?
If you click the yellow/black icon it'll bring you to the page to "sign" it.
https://github.com/blockstack/discord-automod/pull/1#issuecomment-716644450

Found the issue.
Most of the commits you've added are not using a github username, but a local device acccount.
https://github.com/jhammond2012/discord-automod/commits/improvements
i.e. (name/account removed here), but if you look at this specific commit you'll see your local device account.
commit 704a549df34cf1590987f733e884358d23088030
Date:   Mon Nov 2 09:07:38 2020 -0500

    added git ignore


replace inventory with me system

 yarden.zamir on Discord says

experiments and such on the matter of replacing a players inventory with an me system

 autistic.sack.of.friends on Discord says

in the event this is too hard, could we settle for having something that keeps only one device in each player's inventory

 autistic.sack.of.friends on Discord says

i.e. enough for personal assembly

 autistic.sack.of.friends on Discord says

and automatic


AVRO-2924: LocalDateTime for logical type local-timestamp-millis

Implementation of AVRO-2924

Cherry-picked to branch-1.10


transfers: expand window for EffectiveEntryDate comparison against created_at

This issue was reported by Ray regarding same day transfers, but the
logic applies as Transfers could be created on a weekend and not
posted for a day or two (which could push outside of the window).
Also, if a transfer is created today paygate sets the
EffectiveEntryDate to tomorrow in some cases and thus if the file is
immediately returned would fall outside of today's window.

Codecov Report

Merging #271 into master will decrease coverage by 3.84%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #271      +/-   ##
==========================================
- Coverage   61.38%   57.53%   -3.85%
==========================================
  Files          43       43
  Lines        4811     4813       +2
==========================================
- Hits         2953     2769     -184
- Misses       1310     1519     +209
+ Partials      548      525      -23

Impacted Files
Coverage Δ

internal/transfers.go
65.2% <100%> (+0.1%)
:arrow_up:

internal/accounts.go
10.95% <0%> (-69.87%)
:arrow_down:

internal/database/mysql.go
10.66% <0%> (-50.67%)
:arrow_down:

internal/ofac/client.go
38.65% <0%> (-35.3%)
:arrow_down:

internal/filetransfer/sftp.go
47.08% <0%> (-24.87%)
:arrow_down:

internal/microDeposits.go
64.03% <0%> (-1.48%)
:arrow_down:

internal/filetransfer/config.go
70.12% <0%> (-0.49%)
: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 27c7983...c15681e. Read the comment docs.


chore(deps): use rdme GitHub Action 🚀

🧰 Changes
This removes the rdme CLI from the dev-deps (and its corresponding npm script and GitHub workflow usage) in favor of using the rdme GitHub Action.
🧬 QA & Testing
I temporarily ran a chunk of the release  CI to verify that it works. You can view the results here: https://github.com/readmeio/markdown/runs/5591636430#step:3:10

This PR was released!
🚀 Changes included in v6.38.6


Viro ViroARSceneNavigator startVideoRecording, takeScreenshot is not working.

while using Android 13, I got issue in ViroARSceneNavigator as startVideoRecording and takeScreenShot is returning error code 1. we cannot capture image or record video as library is not compatable with Android 13.
`  _startRecording() {
if (!this.state.audioPermission && Platform.OS === 'android') {
this.requestAudioPermission();
}
 this._arNavigator._startVideoRecording('teleport_video', true, errorCode => {
  console.log('errorCode ', errorCode);
  this._displayVideoRecordAlert(
    'Recording Error',
    'Please allow video and audio permissions!' + errorCode,
  );
  this.props.dispatchDisplayUIScreen(UIConstants.SHOW_MAIN_SCREEN);
});
this.props.dispatchDisplayUIScreen(UIConstants.SHOW_RECORDING_SCREEN);

this._startStopWatch();

}`

Trying with Android 12 with no success. Even though it detects res it says res.status and res.result.outputURL are undefined. Have I made a mistake integrating it?

@ThomasCarstens  Still I also facing this issue, do you find any solution

@ThomasCarstens I am also facing the same issue, any solution?

Please fill in the development information in the issue template. We want your projects you build with NativeVision to be successful! However, we are a small team, and we don't have the time to spend trying to figure out what configuration of React Native / iOS / Android / Expo / NativeVision / Windows / MacOS / Linux you are using.
We are also tracking issues like #228 - There is an issue with screenshots and video recording in v2.23.1.
I'll happily reopen with the template filled out! 😊


ability to specify the parent DOM element to watch events on.

we currently register events on window always:
https://github.com/captivationsoftware/react-sticky/blob/master/lib/sticky.js#L187
would be nice to able to specify the parent component to watch events on. since you can have cases where you want something sticky within a container that is scrollable.

this gets tricky since:
The componentDidMount() method of child components is invoked before that of parent components.

i.e the current hard assumption is we will only use this against the window object.

Can you rephrase this? I'm having difficulty following your train of thought..

I think what he means is that the "sticky" may be within a container which is scrollable, say a div which has a table (made with css) within it. As you scroll inside the div, the table header becomes stuck.
Or something like this: http://react-bootstrap.github.io/react-overlays/examples/#affixes

This is addressed in v4.0.0


Is there way to ignore built-in functions?

Can you give me an example?

When you are talking about PHP built-in functions, such as in_array(), you can use your own NamespaceFilter plugin to return an empty array in this case.  Please check the manual https://github.com/mamuz/PhpDependencyAnalysis/wiki/5.-Plugins , the example https://github.com/mamuz/PhpDependencyAnalysis/wiki/4.-Examples#usage-graph-on-package-level-with-a-namespacefilter and the test stub https://github.com/mamuz/PhpDependencyAnalysis/blob/master/tests/_data/Plugin/NamespaceFilter.php

@Soufraz Did my answer help you?

Sorry, I did not test yet. So, if I remember the generator was getting all php functions in the classes. But I'll try the filter suggested above .. Thanks!

@mamuz @Soufraz Can you please help me understand how should I remove the inbuilt PHP functions and dependencies? I tried performing NameSpaceFilter which suggested above but it didn't happen. I running PhpDA on docker with the following configuration. Really appreciated it if you can help me remove PHP global functions and inbuilt one.
mode: 'call'
source: '../src/Controller'
filePattern: 'ContactsController.php'
ignore: 'tests'
formatter: 'PhpDA\Writer\Strategy\Svg'
target: './namespace-filter.svg'
namespaceFilter: 'MyDomain\Plugin\NamespaceFilter'
visitor:

PhpDA\Parser\Visitor\TagCollector
PhpDA\Parser\Visitor\SuperglobalCollector
visitorOptions:
PhpDA\Parser\Visitor\TagCollector: {minDepth: 1, sliceLength: 1}
classMap:
MyDomain\Plugin\NamespaceFilter: './NamespaceFilter.php'

+1
I believe that exclude built-in functions feature is highly demanded


Prometheus 1.4.1 leaves (a lot of) sockets on scraped node in CLOSE_WAIT state

Hi,

Issue at hand
We are running prometheus in production and recently we've started to see situation when it kill servers under pressure by leaving scraped nodes with a lot of connections in CLOSE_WAIT state.

Expected behaviour:
0 Connection in CLOSE_WAIT state, since prometheus should follow http and underlying protocols for correctly closing connections after scrape.

Observations
We are observing a lot of opened sockets left in CLOSE_WAIT mode.
That's happening in AWS ap-south-1 region.

System information:
Linux 4.4.19-29.55.amzn1.x86_64 x86_64

Prometheus version:

/usr/local/prometheus/prometheus -version
prometheus, version 1.4.1 (branch: master, revision: 2a89e8733f240d3cd57a6520b52c36ac4744ce12)
build user:       root@e685d23d8809
build date:       20161128-09:59:22
go version:       go1.7.3

Further debugging indicates this is some form of bug on the exporter side causing an overload, Prometheus appears to be behaving correctly.


Redesigned cart.html webpage issue #364

Redesigned cart.html webpage issue #364

@RitiChandak @Anushkabh Please review PR

@Anushkabh please review the pr


README.md instructions for installing project using python

It would be nice to indicate to user that the python needed to install sbml-diff requires python2 and not python3.

This issue is closed by  8be3aa1