Crashes on Huawei Devices

We are seeing Firebasex plugin crashes on certain Huawei devices.
For example, Google Play Console shows the following crash report:
Huawei nova 3i (HWINE), 3840MB RAM, Android 9

java.lang.NullPointerException:
  at org.apache.cordova.firebase.FirebasePlugin.handleExceptionWithContext (FirebasePlugin.java:2332)
  at org.apache.cordova.firebase.FirebasePlugin$49.run (FirebasePlugin.java:1724)
  at java.util.concurrent.ThreadPoolExecutor.processTask (ThreadPoolExecutor.java:1187)
  at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641)
  at java.lang.Thread.run (Thread.java:784)

We are currently using:

Cordova: 9.0.0
Cordova Android Platform: 8.1.0
cordova-plugin-firebasex 9.1.0

We believe it is because Google Play Services is not available on these devices.
How best do we use Firebasex plugin to check if Play Services is available, and if not, which Firebasex functions / APIs should we disable?
Thank you.

Please update to the latest plugin version (v11.0.2) and retest since the version you are using (v9.1.0) is considerably out-of-date.

Thank you for your advice, we'll give that a try and see if that resolves the crashes.
Generally speaking, newer Huawei devices no longer carry Google's Play Store / Apps and comes with its own AppGallery, requiring its own SDK and Push Kit for integrating push notifications.
How does Firebasex behave under such scenarios, does it automatically detect the lack of Google Play Services and disregard push notifications etc for such incompatible devices?

Hi Dave,
We removed the old cordova-plugin-firebasex and reinstalled the updated 11.0.2 version, but the Android build now fails.
Below are the commands we ran:
cordova plugin rm cordova-plugin-firebasex
cordova plugin add cordova-plugin-firebasex
cordova clean android
cordova build android

This is the output once we run the cordova build android:
> Task :app:transformClassesWithFirebasePerformancePluginForDebug
java.lang.ClassNotFoundException: android.graphics.fonts.Font
.\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\11\com\google\firebase\perf\network\InstrumentApacheHttpResponseHandler.class: D8: Interface `org.apache.http.client.ResponseHandler` not found. It's needed to make sure desugaring of `com.google.firebase.perf.network.InstrumentApacheHttpResponseHandler` is correct. Desugaring will assume that this interface has no default method.
.\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\21\module-info.class: D8: Illegal class file: Class module-info is missing a super type. Class file version 53.
.\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\25\com\google\android\gms\internal\gtm\zztx$zza.class: D8: Type `libcore.io.Memory` was not found, it is required for default or static interface methods desugaring of `void com.google.android.gms.internal.gtm.zztx$zza.zza(long, byte)`
.\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\25\com\google\android\gms\internal\gtm\zztx$zzb.class: D8: Type `libcore.io.Memory` was not found, it is required for default or static interface methods desugaring of `void com.google.android.gms.internal.gtm.zztx$zzb.zza(long, byte)`
.\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\39\com\google\android\gms\internal\clearcut\zzfd$zzb.class: D8: Type `libcore.io.Memory` was not found, it is required for default or static interface methods desugaring of `void com.google.android.gms.internal.clearcut.zzfd$zzb.zza(long, byte)`
.\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\39\com\google\android\gms\internal\clearcut\zzfd$zza.class: D8: Type `libcore.io.Memory` was not found, it is required for default or static interface methods desugaring of `void com.google.android.gms.internal.clearcut.zzfd$zza.zza(long, byte)`
.\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\71\androidx\core\graphics\Insets.class: D8: Type `android.graphics.Insets` was not found, it is required for default or static interface methods desugaring of `android.graphics.Insets androidx.core.graphics.Insets.toPlatformInsets()`
.\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\100\okhttp3\internal\platform\ConscryptPlatform.class: D8: Type `org.conscrypt.Conscrypt` was not found, it is required for default or static interface methods desugaring of `java.security.Provider okhttp3.internal.platform.ConscryptPlatform.getProvider()`
.\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\112\com\google\common\primitives\UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator.class: D8: Type `sun.misc.Unsafe` was not found, it is required for default or static interface methods desugaring of `sun.misc.Unsafe com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator.getUnsafe()`

com.android.builder.dexing.DexArchiveBuilderException: com.android.builder.dexing.DexArchiveBuilderException: Failed to process .\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\21
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:593)
        at java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:677)
        at java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:720)
        at com.android.ide.common.internal.WaitableExecutor.waitForTasksWithQuickFail(WaitableExecutor.java:146)
        at com.android.build.gradle.internal.transforms.DexArchiveBuilderTransform.transform(DexArchiveBuilderTransform.java:420)
        at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:239)
        at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:235)
        at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:102)
        at com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:230)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:4
        ....

* What went wrong:
Execution failed for task ':app:transformClassesWithDexBuilderForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.dexing.DexArchiveBuilderException: com.android.builder.dexing.DexArchiveBuilderException: Failed to process .\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\21

This is our plugin list:
cordova-custom-config 5.1.0 "cordova-custom-config"
cordova-plugin-activityindicator 1.0.5 "Activity Indicator"
cordova-plugin-appavailability 0.4.2 "AppAvailability"
cordova-plugin-camera 4.1.0 "Camera"
cordova-plugin-device 2.0.3 "Device"
cordova-plugin-dialogs 2.0.2 "Notification"
cordova-plugin-facebook4 6.4.0 "Facebook Connect"
cordova-plugin-file 6.0.2 "File"
cordova-plugin-file-transfer 1.7.1 "File Transfer"
cordova-plugin-firebasex 11.0.2 "Google Firebase Plugin"
cordova-plugin-geolocation 4.0.2 "Geolocation"
cordova-plugin-inappbrowser 3.1.0 "InAppBrowser"
cordova-plugin-splashscreen 5.0.3 "Splashscreen"
cordova-plugin-statusbar 2.4.3 "StatusBar"
cordova-plugin-whitelist 1.3.4 "Whitelist"
cordova-plugin-x-socialsharing 5.6.2 "SocialSharing"
es6-promise-plugin 4.2.2 "Promise"

Can you please advise if we are missing some module or need to update some compilation parameters? Thank you.

Try removing and replacing the Android platform:
cordova platform rm android --nosave && cordova platform add android --nosave.
If that doesn't work, try building the example project to see if the problem is specific to your project or your development environment.

We tried replacing the Android platform, but the errors remained.
We then tried the example project, which also produced similar errors:
> Task :app:transformClassesWithFirebasePerformancePluginForDebug UP-TO-DATE
.\cordova-plugin-firebasex-test\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\7\com\google\firebase\perf\network\zze.class: D8: Interface `org.apache.http.client.ResponseHandler` not found. It's needed to make sure desugaring of `com.google.firebase.perf.network.zze` is correct. Desugaring will assume that this interface has no default method.
.\cordova-plugin-firebasex-test\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\18\module-info.class: D8: Illegal class file: Class module-info is missing a super type. Class file version 53.
.\cordova-plugin-firebasex-test\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\19\com\google\android\gms\internal\gtm\zztx$zzb.class: D8: Type `libcore.io.Memory` was not found, it is required for default or static interface methods desugaring of `void com.google.android.gms.internal.gtm.zztx$zzb.zza(long, byte)`
.\cordova-plugin-firebasex-test\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\19\com\google\android\gms\internal\gtm\zztx$zza.class: D8: Type `libcore.io.Memory` was not found, it is required for default or static interface methods desugaring of `void com.google.android.gms.internal.gtm.zztx$zza.zza(long, byte)`
.\cordova-plugin-firebasex-test\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\29\com\google\android\gms\internal\clearcut\zzfd$zzb.class: D8: Type `libcore.io.Memory` was not found, it is required for default or static interface methods desugaring of `void com.google.android.gms.internal.clearcut.zzfd$zzb.zza(long, byte)`
.\cordova-plugin-firebasex-test\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\29\com\google\android\gms\internal\clearcut\zzfd$zza.class: D8: Type `libcore.io.Memory` was not found, it is required for default or static interface methods desugaring of `void com.google.android.gms.internal.clearcut.zzfd$zza.zza(long, byte)`
.\cordova-plugin-firebasex-test\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\76\okhttp3\internal\platform\ConscryptPlatform.class: D8: Type `org.conscrypt.Conscrypt` was not found, it is required for default or static interface methods desugaring of `java.security.Provider okhttp3.internal.platform.ConscryptPlatform.getProvider()`
.\cordova-plugin-firebasex-test\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\101\com\google\common\primitives\UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator.class: D8: Type `sun.misc.Unsafe` was not found, it is required for default or static interface methods desugaring of `sun.misc.Unsafe com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator.getUnsafe()`

com.android.builder.dexing.DexArchiveBuilderException: com.android.builder.dexing.DexArchiveBuilderException: Failed to process .\cordova-plugin-firebasex-test\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\18
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:593)
        at java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:677)
        at java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:720)
        ...
Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete
        at com.android.tools.r8.utils.ExceptionUtils.withCompilationHandler(ExceptionUtils.java:70)
        at com.android.tools.r8.utils.ExceptionUtils.withD8CompilationHandler(ExceptionUtils.java:43)
        at com.android.tools.r8.D8.run(D8.java:94)
        at com.android.builder.dexing.D8DexArchiveBuilder.convert(D8DexArchiveBuilder.java:99)
        ... 7 more
Caused by: com.android.tools.r8.utils.AbortException: Error: .\cordova-plugin-firebasex-test\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\18\module-info.class, Illegal class file: Class module-info is missing a super type. Class file version 53.
        at com.android.tools.r8.utils.Reporter.failIfPendingErrors(Reporter.java:89)
        at com.android.tools.r8.utils.Reporter.fatalError(Reporter.java:60)
        at com.android.tools.r8.utils.ExceptionUtils.withCompilationHandler(ExceptionUtils.java:64)
        ... 10 more

> Task :app:transformClassesWithDexBuilderForDebug FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:transformClassesWithDexBuilderForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.dexing.DexArchiveBuilderException: com.android.builder.dexing.DexArchiveBuilderException: Failed to process .\cordova-plugin-firebasex-test\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\18

We have not encountered such problems before, including from earlier Firebasex versions. Is it because Firebasex 10 / 11 is using some external library / dependency that is missing?
We are running Cordova on Windows 10.
Please advise, thank you.

We managed to narrow the problem down to specifically Firebasex 11.0.2 which produced those errors like "java.lang.ClassNotFoundException: android.graphics.fonts.Font". If we used 10.2.0 / 11.0.0 / 11.0.1, it compiles perfectly fine.
We also tried replacing the Android platform, but the Firebasex 11.0.2 errors remained. We then tried the example project, which also produced similar errors:
> Task :app:transformClassesWithFirebasePerformancePluginForDebug UP-TO-DATE
.\cordova-plugin-firebasex-test\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\7\com\google\firebase\perf\network\zze.class: D8: Interface `org.apache.http.client.ResponseHandler` not found. It's needed to make sure desugaring of `com.google.firebase.perf.network.zze` is correct. Desugaring will assume that this interface has no default method.
.\cordova-plugin-firebasex-test\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\18\module-info.class: D8: Illegal class file: Class module-info is missing a super type. Class file version 53.
.\cordova-plugin-firebasex-test\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\19\com\google\android\gms\internal\gtm\zztx$zzb.class: D8: Type `libcore.io.Memory` was not found, it is required for default or static interface methods desugaring of `void com.google.android.gms.internal.gtm.zztx$zzb.zza(long, byte)`
.\cordova-plugin-firebasex-test\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\19\com\google\android\gms\internal\gtm\zztx$zza.class: D8: Type `libcore.io.Memory` was not found, it is required for default or static interface methods desugaring of `void com.google.android.gms.internal.gtm.zztx$zza.zza(long, byte)`
.\cordova-plugin-firebasex-test\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\29\com\google\android\gms\internal\clearcut\zzfd$zzb.class: D8: Type `libcore.io.Memory` was not found, it is required for default or static interface methods desugaring of `void com.google.android.gms.internal.clearcut.zzfd$zzb.zza(long, byte)`
.\cordova-plugin-firebasex-test\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\29\com\google\android\gms\internal\clearcut\zzfd$zza.class: D8: Type `libcore.io.Memory` was not found, it is required for default or static interface methods desugaring of `void com.google.android.gms.internal.clearcut.zzfd$zza.zza(long, byte)`
.\cordova-plugin-firebasex-test\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\76\okhttp3\internal\platform\ConscryptPlatform.class: D8: Type `org.conscrypt.Conscrypt` was not found, it is required for default or static interface methods desugaring of `java.security.Provider okhttp3.internal.platform.ConscryptPlatform.getProvider()`
.\cordova-plugin-firebasex-test\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\101\com\google\common\primitives\UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator.class: D8: Type `sun.misc.Unsafe` was not found, it is required for default or static interface methods desugaring of `sun.misc.Unsafe com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator.getUnsafe()`

com.android.builder.dexing.DexArchiveBuilderException: com.android.builder.dexing.DexArchiveBuilderException: Failed to process .\cordova-plugin-firebasex-test\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\18
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:593)
        at java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:677)
        at java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:720)
        ...
Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete
        at com.android.tools.r8.utils.ExceptionUtils.withCompilationHandler(ExceptionUtils.java:70)
        at com.android.tools.r8.utils.ExceptionUtils.withD8CompilationHandler(ExceptionUtils.java:43)
        at com.android.tools.r8.D8.run(D8.java:94)
        at com.android.builder.dexing.D8DexArchiveBuilder.convert(D8DexArchiveBuilder.java:99)
        ... 7 more
Caused by: com.android.tools.r8.utils.AbortException: Error: .\cordova-plugin-firebasex-test\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\18\module-info.class, Illegal class file: Class module-info is missing a super type. Class file version 53.
        at com.android.tools.r8.utils.Reporter.failIfPendingErrors(Reporter.java:89)
        at com.android.tools.r8.utils.Reporter.fatalError(Reporter.java:60)
        at com.android.tools.r8.utils.ExceptionUtils.withCompilationHandler(ExceptionUtils.java:64)
        ... 10 more

> Task :app:transformClassesWithDexBuilderForDebug FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:transformClassesWithDexBuilderForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.dexing.DexArchiveBuilderException: com.android.builder.dexing.DexArchiveBuilderException: Failed to process .\cordova-plugin-firebasex-test\platforms\android\app\build\intermediates\transforms\FirebasePerformancePlugin\debug\18

Is it because Firebasex 11.0.2 added some new external library / dependency that is missing? We are running Cordova on Windows 10. Another weird thing is after we installed 11.0.2, then removed it and try installing 11.0.1 or lower, then the same error will happen. 11.0.2 plugin must not be installed or removed, we need to directly upgrade to 11.0.1 or lower, then compilation works.
Please advise, thank you.

v11.0.2 adds the Firebase Performance Gradle plugin for monitoring network requests on Android so maybe this is what's causing your build issues?
I tried also building the example project for Android on Windows but for me it works fine:

console output

$ cd /cygdrive/d/Temp/

$ git clone https://github.com/dpa99c/cordova-plugin-firebasex-test
Cloning into 'cordova-plugin-firebasex-test'...
remote: Enumerating objects: 275, done.
remote: Counting objects: 100% (275/275), done.
remote: Compressing objects: 100% (189/189), done.
remote: Total 646 (delta 160), reused 192 (delta 85), pack-reused 371
Receiving objects: 100% (646/646), 381.43 KiB | 347.00 KiB/s, done.
Resolving deltas: 100% (353/353), done.

$ cd cordova-plugin-firebasex-test/

$ cordova platform add android
Using cordova-fetch for<EMAIL_ADDRESS>Adding android project...
Creating Cordova project for the Android platform:
        Path: platforms\android
        Package: uk.co.workingedge.firebase.test
        Name: FirebaseTest
        Activity: MainActivity
        Android target: android-29
Subproject Path: CordovaLib
Subproject Path: app
Android project created with<EMAIL_ADDRESS>[Gradle Properties] Detected Gradle property "android.useAndroidX" with the value of "true", Cordova's recommended value is "false"
[Gradle Properties] Detected Gradle property "android.enableJetifier" with the value of "true", Cordova's recommended value is "false"
Installing "cordova-plugin-customfcmreceiver" for android
Discovered plugin "cordova-plugin-whitelist". Adding it to the project
Installing "cordova-plugin-whitelist" for android
Adding cordova-plugin-whitelist to package.json
Discovered plugin "cordova-plugin-firebasex". Adding it to the project
Installing "cordova-plugin-firebasex" for android
Subproject Path: CordovaLib
Subproject Path: app
Adding cordova-plugin-firebasex to package.json
Discovered plugin "cordova-custom-config". Adding it to the project
Installing "cordova-custom-config" for android
Adding cordova-custom-config to package.json
Discovered plugin "cordova-plugin-dialogs". Adding it to the project
Installing "cordova-plugin-dialogs" for android
Adding cordova-plugin-dialogs to package.json
Discovered plugin "cordova-plugin-enable-multidex". Adding it to the project
Installing "cordova-plugin-enable-multidex" for android
Subproject Path: CordovaLib
Subproject Path: app
Adding cordova-plugin-enable-multidex to package.json
Discovered plugin "cordova-plugin-androidx-adapter". Adding it to the project
Installing "cordova-plugin-androidx-adapter" for android
Adding cordova-plugin-androidx-adapter to package.json
Discovered plugin "cordova-plugin-hello-c". Adding it to the project
Installing "cordova-plugin-hello-c" for android
Adding cordova-plugin-hello-c to package.json
[Gradle Properties] Detected Gradle property "android.useAndroidX" with the value of "true", Cordova's recommended value is "false"
[Gradle Properties] Detected Gradle property "android.enableJetifier" with the value of "true", Cordova's recommended value is "false"
cordova-custom-config: Applied custom config from config.xml to D:\Temp\cordova-plugin-firebasex-test\platforms\android\app\src\main\AndroidManifest.xml
cordova-plugin-androidx-adapter: Processed 23 source files in 300ms
cordova-plugin-firebasex: Preparing Firebase on Android
cordova-plugin-firebasex: Updated colors.xml with accent color
cordova-plugin-firebasex: Added dependency to root gradle: com.google.firebase:perf-plugin:1.3.1
cordova-plugin-firebasex: Applied plugin to app gradle: com.google.firebase.firebase-perf

$ cordova plugin ls
cordova-custom-config 5.1.0 "cordova-custom-config"
cordova-plugin-androidx-adapter 1.1.1 "cordova-plugin-androidx-adapter"
cordova-plugin-customfcmreceiver 1.0.0 "Custom FCM Receiver"
cordova-plugin-dialogs 1.3.2-dev "Notification"
cordova-plugin-enable-multidex 0.2.0 "Enable Multidex"
cordova-plugin-firebasex 11.0.2 "Google Firebase Plugin"
cordova-plugin-hello-c 1.1.1 "Hello"
cordova-plugin-whitelist 1.3.4 "Whitelist"

$ platforms/android/gradlew -v

------------------------------------------------------------
Gradle 6.1.1
------------------------------------------------------------

Build time:   2020-01-24 22:30:24 UTC
Revision:     a8c3750babb99d1894378073499d6716a1a1fa5d

Kotlin:       1.3.61
Groovy:       2.5.8
Ant:          Apache Ant(TM) version 1.10.7 compiled on September 1 2019
JVM:          1.8.0_161 (Oracle Corporation 25.161-b12)
OS:           Windows 10 10.0 amd64

$ cp /cygdrive/d/Git/cordova-plugin-firebasex-test/google-services.json .

$ cordova build android
cordova-custom-config: Skipping auto-restore of config file backup(s)
[Gradle Properties] Detected Gradle property "android.useAndroidX" with the value of "true", Cordova's recommended value is "false"
[Gradle Properties] Detected Gradle property "android.enableJetifier" with the value of "true", Cordova's recommended value is "false"
cordova-custom-config: Applied custom config from config.xml to D:\Temp\cordova-plugin-firebasex-test\platforms\android\app\src\main\AndroidManifest.xml
cordova-plugin-androidx-adapter: Processed 23 source files in 264ms
cordova-plugin-firebasex: Preparing Firebase on Android
cordova-plugin-firebasex: Updated colors.xml with accent color
Checking Java JDK and Android SDK versions
ANDROID_SDK_ROOT=C:\Users\dpa99\AppData\Local\Android\sdk (recommended setting)
ANDROID_HOME=C:\Users\dpa99\AppData\Local\Android\sdk (DEPRECATED)
Using Android SDK: C:\Users\dpa99\AppData\Local\Android\sdk
Subproject Path: CordovaLib
Subproject Path: app
> Task :app:preBuild UP-TO-DATE
> Task :app:preDebugBuild UP-TO-DATE
> Task :CordovaLib:preBuild UP-TO-DATE
> Task :CordovaLib:preDebugBuild UP-TO-DATE
> Task :CordovaLib:compileDebugAidl NO-SOURCE
> Task :CordovaLib:packageDebugRenderscript NO-SOURCE
> Task :app:generateDebugBuildConfig UP-TO-DATE
> Task :app:javaPreCompileDebug UP-TO-DATE
> Task :app:compileDebugRenderscript NO-SOURCE
> Task :app:compileDebugAidl NO-SOURCE
> Task :app:generateDebugResValues UP-TO-DATE
> Task :app:generateDebugResources UP-TO-DATE
> Task :app:injectCrashlyticsMappingFileIdDebug

> Task :app:processDebugGoogleServices
Parsing json file: D:\Temp\cordova-plugin-firebasex-test\platforms\android\app\google-services.json

> Task :CordovaLib:compileDebugRenderscript
> Task :CordovaLib:generateDebugResValues
> Task :CordovaLib:generateDebugResources
> Task :CordovaLib:packageDebugResources
> Task :app:createDebugCompatibleScreenManifests
> Task :app:extractDeepLinksDebug
> Task :CordovaLib:extractDeepLinksDebug
> Task :CordovaLib:generateDebugBuildConfig
> Task :CordovaLib:processDebugManifest

> Task :app:processDebugManifest
D:\Temp\cordova-plugin-firebasex-test\platforms\android\app\src\main\AndroidManifest.xml:24:9-31:50 Warning:
	activity#com.google.firebase.auth.internal.FederatedSignInActivity@android:launchMode was tagged at AndroidManifest.xml:24 to replace other declarations but no other declaration present

> Task :CordovaLib:compileDebugLibraryResources
> Task :app:mergeDebugResources
> Task :CordovaLib:javaPreCompileDebug
> Task :CordovaLib:parseDebugLocalResources
> Task :app:mergeDebugShaders
> Task :app:compileDebugShaders NO-SOURCE
> Task :app:generateDebugAssets UP-TO-DATE
> Task :CordovaLib:mergeDebugShaders
> Task :CordovaLib:compileDebugShaders NO-SOURCE
> Task :CordovaLib:generateDebugAssets UP-TO-DATE
> Task :CordovaLib:packageDebugAssets
> Task :app:mergeDebugAssets
> Task :CordovaLib:generateDebugRFile
> Task :app:processDebugResources
> Task :CordovaLib:compileDebugJavaWithJavac
> Task :app:processDebugJavaRes NO-SOURCE
> Task :CordovaLib:processDebugJavaRes NO-SOURCE
> Task :CordovaLib:bundleLibResDebug NO-SOURCE
> Task :CordovaLib:bundleLibCompileToJarDebug

> Task :app:compileDebugJavaWithJavac
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

> Task :app:compileDebugSources
> Task :app:checkDebugDuplicateClasses
> Task :CordovaLib:bundleLibRuntimeToJarDebug
> Task :app:transformClassesWithFirebasePerformancePluginForDebug
> Task :app:mergeDebugJavaResource
> Task :app:dexBuilderDebug
> Task :app:mergeLibDexDebug
> Task :app:mergeExtDexDebug
> Task :app:mergeDebugJniLibFolders
> Task :CordovaLib:mergeDebugJniLibFolders
> Task :app:validateSigningDebug
> Task :CordovaLib:mergeDebugNativeLibs
> Task :CordovaLib:stripDebugDebugSymbols NO-SOURCE
> Task :CordovaLib:copyDebugJniLibsProjectOnly
> Task :app:mergeDebugNativeLibs

> Task :app:stripDebugDebugSymbols
WARNING: Support for ANDROID_NDK_HOME is deprecated and will be removed in the future. Use android.ndkVersion in build.gradle instead.
Support for ANDROID_NDK_HOME is deprecated and will be removed in the future. Use android.ndkVersion in build.gradle instead.
Expiring Daemon because JVM heap space is exhausted

> Task :app:mergeProjectDexDebug
> Task :app:packageDebug
> Task :app:assembleDebug
> Task :app:cdvBuildDebug

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.1.1/userguide/command_line_interface.html#sec:command_line_warnings

BUILD SUCCESSFUL in 3m 53s
43 actionable tasks: 40 executed, 3 up-to-date
Built the following apk(s):
	D:\Temp\cordova-plugin-firebasex-test\platforms\android\app\build\outputs\apk\debug\app-debug.apk

Thanks for promptly testing it out on your Windows. Yes, the Firebase Performance Plugin seems like the cause of the build issues.
The plugin versions are identical, but our gradlew is an older version:
------------------------------------------------------------
Gradle 4.10.3
------------------------------------------------------------
Build time:   2018-12-05 00:50:54 UTC
Revision:     e76905e3a1034e6f724566aeb985621347ff43bc

Kotlin DSL:   1.0-rc-6
Kotlin:       1.2.61
Groovy:       2.4.15
Ant:          Apache Ant(TM) version 1.9.11 compiled on March 23 2018
JVM:          1.8.0_242-release (JetBrains s.r.o 25.242-b01)
OS:           Windows 10 10.0 amd64

We are wary of upgrading gradle, in case it causes compilation or configuration issues to our existing apps. Is there any way we can disable the Firebase Performance Plugin feature in 11.0.2. via config.xml or something?
If not, then we'll just proceed to use 11.0.1 for now.

The Firebase Performance Monitoring Gradle plugin requires Android Studio v4.0+ and Gradle v6.1.1+ hence your build problems with it. It also adds significant overhead to Android build times and memory requirements as outlined here.
So I've made it an opt-in feature via this commit - it will go it out with the next release.
However I highly recommend upgrading your Gradle (and Android Studio) versions as it's likely newer versions of the Firebase SDK for Android will add dependency requirements for a higher version so future versions of this plugin may cause your builds to fail if you continue to use an old version of Gradle.

With regard to the original topic of this issue, the crashes you are seen arise here because the plugin instance is null so attempting to invoke an instance method is resulting in a NullPointerException. I'll add some defensive code to mitigate this.
With regard to running on Android devices which lack Google Play Services, the Firebase SDK is inherently dependent on it so I would think many Firebase features will not work properly.
However this isn't something that I can explicity offer support for; the best this plugin can do is to gracefully handle any exceptions (such as the one above) that arise and catch them to prevent the app crashing.
It is then up to the app to decide how to handle failed Firebase operations due to the lack of Play Services.

Hi Dave, thank you for so promptly releasing an update to fix the issues, you're absolutely amazing!
We have just updating the plugin, and the compilation works great now. We are now sourcing for Huawei devices / emulators to test the updated version and see if it runs smoothly.
During the compilation, there are a few warning messages:
> Transform interpolator.aar (androidx.interpolator:interpolator:1.0.0) with AarTransform
.\.gradle\caches\transforms-1\files-1.1\firebase-perf-19.0.9.aar\a3fdf5c1dfe53f4d137aa0a7d3437a39\jars\classes.jar: D8: Interface `org.apache.http.client.ResponseHandler` not found. It's needed to make sure desugaring of `com.google.firebase.perf.network.InstrumentApacheHttpResponseHandler` is correct. Desugaring will assume that this interface has no default method.
.\.gradle\caches\transforms-1\files-1.1\play-services-clearcut-17.0.0.aar\39c45b972a63d90f6fe075b3947169eb\jars\classes.jar: D8: Type `libcore.io.Memory` was not found, it is required for default or static interface methods desugaring of `void com.google.android.gms.internal.clearcut.zzfd$zzb.zza(long, byte)`
.\.gradle\caches\transforms-1\files-1.1\play-services-clearcut-17.0.0.aar\39c45b972a63d90f6fe075b3947169eb\jars\classes.jar: D8: Type `libcore.io.Memory` was not found, it is required for default or static interface methods desugaring of `void com.google.android.gms.internal.clearcut.zzfd$zza.zza(long, byte)`
.\.gradle\caches\transforms-1\files-1.1\core-1.3.0.aar\4432b6ee552f62b2457bbe4fb316d65b\jars\classes.jar: D8: Type `android.graphics.Insets` was not found, it is required for default or static interface methods desugaring of `android.graphics.Insets androidx.core.graphics.Insets.toPlatformInsets()`

Are these related to our Gradle version, and will there be any potential issues / crashes since it involves some missing libraries? Or are these solely used by Firebase Performance Monitoring plugin and can be ignored as long as that plugin is disabled?

Is there any method in your Firebasex plugin we can call to determine if Google Play Services is present?

It may be possible for this plugin to do something like this to check if Play Services is available and potentially get it to show an error dialog.

During the compilation, there are a few warning messages

Firebase Performance Monitoring is only one of the errors raised there so I believe the problem is independent of that - there's a similar error trace in #21.
I suggest building the example project to see if these errors are due to your build environment (e.g. Gradle version) or specific to your project (e.g. plugin conflict).

It may be possible for this plugin to do something like this to check if Play Services is available and potentially get it to show an error dialog.

Such a check would be very helpful indeed! Hopefully this will be available in a future Firebasex release, as we are seeing an increasing number of Huawei crashes recently due to the newer models without Google Play Services.
Meanwhile, would Firebase Analytics still work without Google Play Service, since it is just reporting app events?

I suggest building the example project to see if these errors are due to your build environment (e.g. Gradle version) or specific to your project (e.g. plugin conflict).

We have tried it with the test project, the warning messages are similar though it seems to be more. Is it fine to disregard these errors?
> Transform firebase-encoders-json.aar (com.google.firebase:firebase-encoders-json:17.0.0) with AarTransform
.\.gradle\caches\transforms-1\files-1.1\firebase-perf-19.0.9.aar\a3fdf5c1dfe53f4d137aa0a7d3437a39\jars\classes.jar: D8: Interface `org.apache.http.client.ResponseHandler` not found. It's needed to make sure desugaring of `com.google.firebase.perf.network.InstrumentApacheHttpResponseHandler` is correct. Desugaring will assume that this interface has no default method.
.\.gradle\caches\transforms-1\files-1.1\play-services-analytics-impl-17.0.0.aar\470fa3eb346f03502419b6775e796bd6\jars\classes.jar: D8: Type `libcore.io.Memory` was not found, it is required for default or static interface methods desugaring of `void com.google.android.gms.internal.gtm.zztx$zza.zza(long, byte)`
.\.gradle\caches\transforms-1\files-1.1\play-services-analytics-impl-17.0.0.aar\470fa3eb346f03502419b6775e796bd6\jars\classes.jar: D8: Type `libcore.io.Memory` was not found, it is required for default or static interface methods desugaring of `void com.google.android.gms.internal.gtm.zztx$zzb.zza(long, byte)`
.\.gradle\caches\transforms-1\files-1.1\play-services-clearcut-17.0.0.aar\39c45b972a63d90f6fe075b3947169eb\jars\classes.jar: D8: Type `libcore.io.Memory` was not found, it is required for default or static interface methods desugaring of `void com.google.android.gms.internal.clearcut.zzfd$zzb.zza(long, byte)`
.\.gradle\caches\transforms-1\files-1.1\play-services-clearcut-17.0.0.aar\39c45b972a63d90f6fe075b3947169eb\jars\classes.jar: D8: Type `libcore.io.Memory` was not found, it is required for default or static interface methods desugaring of `void com.google.android.gms.internal.clearcut.zzfd$zza.zza(long, byte)`
.\.gradle\caches\transforms-1\files-1.1\core-1.3.0.aar\4432b6ee552f62b2457bbe4fb316d65b\jars\classes.jar: D8: Type `android.graphics.Insets` was not found, it is required for default or static interface methods desugaring of `android.graphics.Insets androidx.core.graphics.Insets.toPlatformInsets()`
.\.gradle\caches\transforms-1\files-1.1\okhttp-3.12.1.jar\92738a01ca555872fef4756ffc0bca64\jetified-okhttp-3.12.1.jar: D8: Type `org.conscrypt.Conscrypt` was not found, it is required for default or static interface methods desugaring of `java.security.Provider okhttp3.internal.platform.ConscryptPlatform.getProvider()`
.\.gradle\caches\transforms-1\files-1.1\guava-28.1-android.jar\ea488cbad7f19aed331ae3015f0c8122\jetified-guava-28.1-android.jar: D8: Type `sun.misc.Unsafe` was not found, it is required for default or static interface methods desugaring of `sun.misc.Unsafe com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator.getUnsafe()`
.\.gradle\caches\transforms-1\files-1.1\guava-28.1-android.jar\ea488cbad7f19aed331ae3015f0c8122\jetified-guava-28.1-android.jar: D8: Type `sun.misc.Unsafe` was not found, it is required for default or static interface methods desugaring of `void com.google.common.util.concurrent.AbstractFuture$UnsafeAtomicHelper.<clinit>()`


[SPARK-6246] [ec2] fixed support for more than 100 nodes

This is a small fix. But it is important for amazon users because as the ticket states, "spark-ec2 can't handle clusters with > 100 nodes" now.

Can one of the admins verify this patch?

ok to test

Merged build triggered.

Merged build started.

Test build #33097 has started for   PR 6267 at commit 1e0d747.

Thanks @alyaxey -- Functionality looks good to me.
cc @nchammas for python style

Test build #33097 has finished for   PR 6267 at commit 1e0d747.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/33097/
Test PASSed.

LGTM. Merging this. Thanks @alyaxey for the change and thanks @thisisdhaas for helping me review

@alyaxey I can assign you the JIRA for credit but I don't know your JIRA name.

@srowen Yes, assign me please. My JIRA username is the same: alyaxey (Alex Slusarenko).


Unable to connect to the site

Comics not open just showing

Same thing happened to me too. The site itself can be accessed in browser so I think there's a new problem with the app

What should I do now??

same trouble

Same issue here

Same

So what to do now ??


Traccar extended information into Opengts?

Traccar offers mcc, mnc, lac, cellID, index, altitude, etc.
Is there any way to pass some of this data into OpenGTS?  I opened up the OpenGTS DB table and for events like CellID and others, they are blank.  When I run traccar without opengts integration, traccar shows them.
If it's a hassle or difficult -- any easy way to just log this to a file?
I see issue #855 which touches on this somewhat, but honestly I'm not a SQL developer so I do not know how to do this.
Optimally the traccar would file the information appropriately into OpenGTS.

you need netbeans and basic java.  take a look at DatabaseDataManager.java, Position.java, and your protocol server.

I'm completely lost.  It's probably hopeless, but I added the following to traccar.cfg and it didn't help.  It would no longer update the DB.  So I removed it.
The change from the default opengts integration file is the addition of "cellTowerID" and ":cell" into the two lines respectively.
Likely, if I need development knowledge I won't be able to tackle it.
        INSERT INTO EventData (accountID, deviceID, timestamp, statusCode, latitude, longitude, speedKPH, heading, altitude, rawData, creationTime, cellTowerID, address)
        VALUES (@accountID, @deviceID, UNIX_TIMESTAMP(:time), 0, :latitude, :longitude, :speed * 1.852, :course, :altitude, '', UNIX_TIMESTAMP(NOW()), :cell, :address);

Ignore @satbikkel's comment. You need to replace :cell with ExtractValue(:extended_info, '/info/cell').

Perfect.  I went back and grabbed ALL the goods.  I stuffed the whole extended info mess in rawData  incase I need to later -- I'm not sure why that was being set to null.
Works great.
<entry key='database.insertPosition'>
    START TRANSACTION;
        UPDATE Device SET lastValidLatitude = :latitude, lastValidLongitude = :longitude, lastGPSTimestamp = UNIX_TIMESTAMP(:time), lastUpdateTime = UNIX_TIMESTAMP(NOW()) WHERE imeiNumber = :device_id;
        SELECT @accountID := accountID, @deviceID := deviceID FROM Device WHERE imeiNumber = :device_id;
        INSERT INTO EventData (accountID, deviceID, timestamp, statusCode, latitude, longitude, speedKPH, heading, altitude, rawData, creationTime, address, cellTowerID, mobileCountryCode, mobileNetworkCode, locationAreaCode)
        VALUES (@accountID, @deviceID, UNIX_TIMESTAMP(:time), 0, :latitude, :longitude, :speed * 1.852, :course, :altitude, :extended_info, UNIX_TIMESTAMP(NOW()), :address, ExtractValue(:extended_info, '/info/cell'), ExtractValue(:extended_info, '/info/mcc'), ExtractValue(:extended_info, '/info/mnc'), ExtractValue(:extended_info, '/info/lac'));
    COMMIT;
</entry>

Thanks for feedback and for sharing your config.

It works great; but when a device doesn't report one of the required values in its update, it will not update the DB because the data is missing.  This can also happen as you add multiple devices and some server ports provide data elements and others don't.
Is there any way to allow the update to not fail if the required data is not present or the device can not supply the data?
2015-03-23 00:37:27  WARN: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'address, cellTowerID)

You can use IFNULL function to provide default value:
IFNULL(ExtractValue(:extended_info, '/info/cell'), 0)

It didn't like it.  I changed the top to the bottom.  Do you see a syntax error I might be missing?
2015-04-18 20:59:34 DEBUG: [5002 <- <IP_ADDRESS>] - HEX:<PHONE_NUMBER>34333034373536324252303031353034313841343333342e383931324e31313631392e31363238573030302e31323031393131302e3030303030303030303030304c303030303030303029
2015-04-18 20:59:34  INFO: device:<PHONE_NUMBER>2, time: Sat Apr 18 20:19:11 UTC 2015, lat: 43.58152, lon: -116.31938
2015-04-18 20:59:35  WARN: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'COMMIT' at line 3 - com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException (NativeConstructorAccessorImpl.java:-2)
2015-04-18 20:59:36 DEBUG: [5002 <- <IP_ADDRESS>] - HEX:<PHONE_NUMBER>34333034373536324250303030303030323730343330343735363248534f29
2015-04-18 20:59:36 DEBUG: [5002 -> <IP_ADDRESS>] - HEX:<PHONE_NUMBER>34333034373536324150303148534f29
        VALUES (@accountID, @deviceID, UNIX_TIMESTAMP(:time), 0, :latitude, :longitude, :speed * 1.852, :course, :altitude, :extended_info, UNIX_TIMESTAMP(NOW()), :address, ExtractValue(:extended_info, '/info/cell'), ExtractValue(:extended_info, '/info/mcc'), ExtractValue(:extended_info, '/info/mnc'), ExtractValue(:extended_info, '/info/lac'))

        VALUES (@accountID, @deviceID, UNIX_TIMESTAMP(:time), 0, :latitude, :longitude, :speed * 1.852, :course, :altitude, :extended_info, UNIX_TIMESTAMP(NOW()), :address, IFNULL(ExtractValue(:extended_info, '/info/cell'), 0), IFNULL(ExtractValue(:extended_info, '/info/mcc'), 0), IFNULL(ExtractValue(:extended_info, '/info/mnc'), 0), IFNULL(ExtractValue(:extended_info, '/info/lac'), 0))

it isnt working for me =( what version of traccar are you using? im using 3.6 and can't get extended information to opengts to work =(( it just dont update the db, i already tried the ifnull or nullif dont work either =/

im trying to pass battery data from traccar android through extended info to opengts

New version of Traccar save data in the JSON format. If you want XML, try this config parameter:
<entry key='database.xml'>true</entry>

Thank you so much ! i couldnt get 3.6 to work with extended info, but got 3.1 to work with the database.xml parameter, just one more question im getting values 40% battery = 4000% how to fix it ?

Please create a separate issue to discuss any problems that you have.


Call for maintainers

Hi all! As you've probably seen, I really don't have much time to respond to Slate issues or pull requests these days, and I'm sorry for the lack of investment. I've migrated the project to a new slatedocs repository to reflect this, and I'm seeking folks who would like to help me respond to pull requests and issues, and eventually to cut new releases. Optimally, maintainers would:

be active uses of Slate
have experience with contributing to and maintaining open source projects
care about kind, inclusive conversations, and upholding the code of conduct

I'm anticipating I'll still participate as a maintainer, but would hopefully be able to decrease my participation over time as more maintainers ramp up. If this sounds exciting to you, would love to hear about what makes you interested! Feel free to email me at<EMAIL_ADDRESS>

I'm happy to announce that @MikeRalphson and @MasterOdin have both generously offered to help maintain Slate. Thanks both to them, and to everyone else who expressed interest over email!


webapp: Added PR handler to handle incorrect report of CI module

This commit is to append web-based PR handler in order that
the reviewers directly pass the execution result of the CI modules
that are generated due to pre-mature functions and unexpected
exception cases.
Signed-off-by: Geunsik Lim<EMAIL_ADDRESS>

:memo: Version: 1.3.20190927. Thank you for submitting PR #580. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://nnsuite.mooo.com/.

To Reviewer,
I will re-submit the PR newly due to some issues. :)


Remove unnecessary DisplayVersion from SaaSGroup.Tower version 7.1.483

Issue https://www.github.com/microsoft/winget-pkgs/issues/138520 describes scenarios where DisplayVersion should not be used. This PR removes unnecessary DisplayVersion from the manifest file.
Microsoft Reviewers: Open in CodeFlow

Automatic Validation ended with:

Installation failed with exit code -1978334972
2024-11-14 05:50:16.948 [CLI ] No suitable installer found for manifest Microsoft.DotNet.DesktopRuntime.8 with version 8.0.11
2024-11-14 05:47:44.818 [CLI ] No suitable installer found for manifest Microsoft.DotNet.DesktopRuntime.8 with version 8.0.11

Automated error analysis suggests -1978334972 may mean This package has a dependency missing from your system.
(Automated response - build 897.)

URL:
Invalid URI: The hostname could not be parsed.
(Automated message - build 897)

URL:
Invalid URI: The hostname could not be parsed.
(Automated message - build 897)

URL:
Invalid URI: The hostname could not be parsed.
(Automated message - build 897)

URL:
Invalid URI: The hostname could not be parsed.
(Automated message - build 898)

URL:
Invalid URI: The hostname could not be parsed.
(Automated message - build 899)

URL:
Invalid URI: The hostname could not be parsed.
(Automated message - build 899)

@wingetbot run

@wingetbot run

@wingetbot run

URL:
Invalid URI: The hostname could not be parsed.
(Automated message - build 902)


Add a spacelift space_id override

what

Add a spacelift space_id override

why

At the moment, we have an admin infra stack that creates an infra space. The admin infra stack also creates a spacelift-policy stack which requires the root space. This will allow the spacelift-policy stack to override the infra space to use the root space.

references
N/A

/test all

@nitrocode pls fix tests

I still need to test this out locally. I believe it should work. I'll test tomorrow and then we can merge it in.
Also @goruha the test/terratest always fail in this repo unfortunately.


Networking is broken on experimental build 2

Players aren't able to join like, at all. I have no logs worth showing.

Can't replicate. Need log.

Closing because I'm silly and this is false


Added Error handling for shutil.rmtree function

Closes #225

It looks like the pre-commit hooks are not passing.
Please make sure you run the hooks on commit, it should be done automatically if you follow the steps in the CONTRIBUTING guidelines.

If you get an error, don't use the flag. Easy as that.

Thanks for helping out @Madhav-MKNC!
Please check labeled issues and our roadmap for things we know we want to do


feat: add mouse tracking feature in the browser

This feature addresses issue #118 in preparation for demo day
Changes

Added mouse tracking and click animations for better user experience

https://github.com/user-attachments/assets/53609112-c984-4c90-9912-a4ab367530c9

Would be good to get build green

Yes, test are failing because of not being able to login. we need to add two more env vars to Github secrets such as:

CLERK_PUBLISHABLE_KEY
CLERK_SECRET_KEY
GITHUB_TOKEN

@slavingia If you could add these please would be great. Also if it's possible to be part of Antiwork org in Clerk would be great because then I can create a test account and use it in the workflow. Thanks in advance.

Razvan asked for some more enhancements which I will make to this PR before merging. I will try to add issue #104 in this PR, if not I will open a new PR for that.

Sure I will open a new one.

@slavingia Seems like there is an issue with clerk authentication in preview env but the tests are passing locally. I will merge this branch for now to finish recording the demo.


Fix detection of subquery virtual columns in MssqlAdapter::applyLimit

Corrections for #1381, as well as a new regression test class MssqlAdapterTest to cover them.
I'm not sure if temporarily changing the default adapter for the tests was the right approach, but I couldn't find another way to effectively test using ModelCriteria. I'm open to alternative suggestions.

Great, thanks!

i think the changes in MssqlAdapter class broke queries where these is a column name that contains the word from.
e.g
SELECT TOP 1 repair.id, repair.date_from, repair.date_to
FROM repair WHERE repair.id=:p1

SELECT TOP 1 repair.id, repair.date_ FROM , repair.date_to
FROM repair WHERE repair.id=:p1

@chris-chr can you provide a fix or should we revert?

If it's not incredibly urgent, I can be available later today to take a look at doing another PR on top of this. I assume it might be related to that stripos($sql, 'from', $i) line in there.

that would be awesome :)

Opened a PR that should correct this. @chris-chr if you could double check this against your use case, that'd be super helpful. Thanks!

Just checked, it works properly. Thanks!

Wow, that was fast! :)


Styling Top Right Button on Meshery's Documentation Navbar

Styling of Button Required

Contributor Guides and Handbook

🛠 Meshery Build & Release Strategy
📚 Instructions for contributing to documentation

Meshery documentation site and source

🎨 Wireframes and designs for Meshery UI in Figma
🙋🏾🙋🏼 Questions: Discussion Forum and Community Slack

@anirudhp26 please mention how do you plan to style a bit in the description section.
Also, hope you can now find the apt doc file to work into ? :sweat_smile:

@legendarykamal i am really sorry but still haven't figured it out

@legendarykamal ok found it, thanks for guiding me out

No sweat go ahead ! @anirudhp26 :100:

No sweat go ahead ! @anirudhp26 💯

Is it in the docs folder which is at the root dir

No sweat go ahead ! @anirudhp26 100

Is it in the docs folder which is at the root dir

yes it is and you should probably comment here that you want to work on this to get assigned .

@legendarykamal but i created this issue still i have to comment for getting assigned this work?

Well ig the work is done and i made a pull request, i'll make sure i get assigned to any work before doing it. Sorry for that

@anirudhp26 thanks for jumping into the project. It's good to have you engaged.


fix: StatusBox spacing with empty slot

:tada: This PR is included in version 1.3.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Added skip functionality

Limits tests now pass. sqlite now has skip functionality

@mihaidma Made a small fix

the change looks ok but the tests fail

I'll let you know when I have it fixed

Please put a space before the LIMIT and OFFSET strings.

@mihaidma Ok fixed, do you want me to squash the commits?

yes, please :)


Codon blocks are not always three bases long

For this issue, I am using hg38 sequence data, working off of the higlass-transcripts example viewconf object (https://aveit.s3.amazonaws.com/higlass/data/sequence/hg38.fa).
Around the region chr3:71015547-71015554, the protein sequence appears not to fall on a three-base increment as would be expected for a codon:

As seen in the snapshot above, the Lysine residue appears to span two bases, instead of three.
At the other end of this exon block, around chr3:71015649-71015655, the first codon (Serine) is one base long:

It seems as if the start and end coordinates of the codon blocks might not be calculated correctly, or might not be derived correctly from the underlying sequence.
This also appears to affect forward-stranded exons (e.g., around chr3:85961639-85961649). I dug into a samtools faidx query of the sequence data at the position of the single-residue codon block:
$ samtools faidx hg38.fa chr3:85961647-85961647
>chr3:85961647-85961647
G

It's not clear how this is being mapped to aspartic acid (D/Asp).

Exons don't always start and end with a full codon. They can be broken up in between. Let's consider CADM2-203 in your last example. We have chr3:85961647-85961647 -> G. The next exon has chr3:85979164-85979165 -> AT. Together this is GAT, which is aspartic acid. Does that make sense?

Yes, sorry — of course!


GPU not being utilized.

GPU check box is selected however CPU is being utilized not the GPU.

Updated to the newest version as well. Same issue.

Hmm, I'm not seeing an issue with this on my end. Did you compare conversion times when GPU is checked vs unchecked? By the looks of your screenshot, it does look like the GPU is being utilized.

The GPU was being utilized on other things and the percent usage for UVR was hovering around 1%-2%. I couldn't compare between the two because it took longer than 20 minutes for a three minute song.

This is very unusual and might be a GPU driver issue on your end.
I just tested UVR on three separate PCs, all with different Nvidia GPUs, and it didn't have any issues utilizing the GPUs with Demucs running in UVR.

That's really weird because all the other features use the GPU properly. It's just Demucs v3.


[FLINK-16007][table-planner][table-planner-blink][python] Add PythonCorrelateSplitRule to push down the Java Calls contained in Python Correlate node

What is the purpose of the change
This rule will add PythonCorrelateSplitRule to support java calls in Python UDTF
Brief change log

Add PythonCorrelateSplitRule

Verifying this change
This change added tests and can be verified as follows:

UT in PythonCorrelateSplitRuleTest
IT in test_table_function_with_java_calls of test_udtf

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (yes)
If yes, how is the feature documented? (not applicable)

Thanks a lot for @hequn8128 review, I have addressed the comments at the latest commit.


Update to Teams retention policies

Can you update the following sentence

A single retention policy can be set to apply to Teams chat and Teams channel messages.

to

A single retention policy can be set to apply to Teams chat and Teams channel messages (including shared channel messages).

Add a second sentence to state
Teams private channel messages must be contained in their own retention policy.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: be4f3e5c-7dd7-ca98-8cd1-21177e7fe26d
Version Independent ID: 083f0f2c-8c72-582d-3e13-1679684ea88c
Content: Compliance options for Microsoft 365 groups, Teams, and SharePoint collaboration
Content Source: microsoft-365/solutions/groups-teams-compliance-governance.md
Service: microsoft-365-enterprise
GitHub Login: @MikePlumleyMSFT
Microsoft Alias: mikeplum

@nikki-c Thank you for your feedback. We have made changes to the document via PR#https://github.com/MicrosoftDocs/microsoft-365-docs/pull/9821
Once the author approves, the changes will be live.
Thanks
Sri

@msbemba Thank you very much for the contribution and updating the documentation with PR. @nikki-c Hope this update is helpful for you. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Added vendor download comment to 197 casks

@caskroom/maintainers These should be the last of them, which means that not counting some pending PRs, after this is merged we should not have any more casks in the main repo whose url and homepage hosts differ.
Exceptions include github.io homepages with github.com urls and code.google.com homepages with googlecode.com urls, since those really are the same host, in practice. Things like a github.com homepage with a googlecode.com url were checked, since those are different.
Pinging you all in case some are unaware of the policy1 to add this comment in these cases. These are somewhat hard to detect automatically due to the weird format urls can take and the amount of TLDs there are with different parts, which means we should take extra care with new submissions (as opposed to updates). If someone can manage a script for this (I may try to eventually work on one, but definitely not now), that’d be a huge step.

1 Introduced when we already had a bunch of them that did not comply, which is what these last PRs are meant to address.

I completely understand the problem and agree with moving away casks (to unofficial), that do not have an official download URL. :+1:
Nonetheless, I don't quite like the idea of having comments as a part of a policy. I know this is DSL, but I think Uncle Bob's thoughts about comments kinda apply to this as well. TL;DR You should not be commenting the obvious and try to express your thoughts through the code instead of adding a comment.
I'd expect that having the cask in the main repo homebrew-cask automatically means, that the url stanza points to an official download URL, if not, it should be simply moved to unofficial, or am I missing something?

I'd expect that having the cask in the main repo homebrew-cask automatically means, that the url stanza points to an official download URL, if not, it should be simply moved to unofficial, or am I missing something?

It is a modicum of reassurance that a third-party url is known to be the vendor's. In its absence, processing patches to affected Casks is more time-consuming: we must trace our steps in GH issues and PRs to verify that the url has been previously validated, as opposed to e.g. being erroneously merged.

Precisely.
 Let’s ignore the fact the writer admittedly has no idea of what a good comment is or when one should be used, and is clinging to an abstract notion that they somehow take a huge amount of time, completely ignoring they save time for other people2.
Comments don’t just explain what a piece of code does, but why it is needed. We do them with :no_ckeck in versioned casks because they provide context and tell a user that is learning by example “you should only use this in select cases, and this is why”.
To be fair, your concern was regarding using comments as part of policy, but what’s the alternative? Adding working code to represent the same thing is nonsensical when we have this simple, easy, and clear solution that doesn’t break anything.
The cases expressed by @ndr-qef are the main concern. Users notice these mistakes (invariably a good thing), and sometimes we do too. Confirming if it was intentional or not is time consuming, without this guide.

1 The whole thing read as “I hate comments and found this well-known book that agrees with me. A-ha! See? See? I was right; see these absolutely fabricated and exaggeratedly dumb examples that would never happen in real-world usage as proof”.
2 And many times, “other people” are ourselves in the future. Sometimes we can’t even recall intent in our own code no one else will use a few months down the line, let alone do it in a project with over a thousand contributors, close to a dozen maintainers, and who know how many daily contributions.

@vitorgalvao
The comment in case of adobe-air cask is a bit different story and actually "complies" with the Uncle Bob's idea - it's something, that one may not expect (replacing dmg under the same URL).
Whereas the proposed change/policy suggests adding comment to each and every cask in this repository, which in all cases will be the same which makes it something that can be basically automated.
I agree with the part that it may force newcomers to actually confirm, that the URL comes from an official homepage, so it helps the process of adding new casks (pushes down the number of PR turnarounds), but I'm not sure it's the best way of solving the problem.
It reminds me how Homebrew deals with licensing policies (similar problem). They force you to at least look at the licensing section in docs by requiring Signed-Off-By line inside each of your commit (otherwise Jenkins build goes red and points you to that URL).
If there would be any better way of noticing users about these things instead of adding the same comment to each cask, then I would definitely prefer it.

I hate comments and found this well-known book that agrees with me.

The linked article is only describing a very small part of http://www.amazon.co.uk/Clean-Code-Handbook-Software-Craftsmanship-ebook/dp/B001GSTOAM/ , I simply found it easier to link that instead of linking the whole book and/or its chapter about comments, where you would find many more reasons, e.g. comments often get old, because people tend to update code, but forget about updating comments or just make sure that comments are still true.

I'm aware that I'm probably not offering a solution, just thinking loudly what impact it may have for the whole codebase. Sorry for not being more helpful.

[…] I'm not sure it's the best way of solving the problem.

It is not, but…

[…] just thinking loudly what impact it may have for the whole codebase

… it is also one “search and replace” away from being undone.
Commenting will likely be a provisional measure, until we feel confident that both users and maintainers can be trusted to exercise due care with regard to third-party URLs.

Whereas the proposed change/policy

To be clear, this isn’t a proposal; it has been in place for quite a while. This is just making casks added before the rule was introduced (or slipped through) comply with it.

adding comment to each and every cask in this repository

Not each and every cask. Only the ones whose download host differ from the homepage, which are the minority (though a significant number).

which makes it something that can be basically automated.

No, it can’t, because they have to be verified by a maintainer (which is the whole point), which makes it mandatorily a manual process.

I agree with the part that it may force newcomers to actually confirm

No no, it forces us to do it. And grabbing @ndr-qef’s comment:

until we feel confident that both users and maintainers can be trusted to exercise due care with regard to third-party URLs.

We will never be able to do that, for the simple fact mistakes happen. We never saw a decidedly malicious contribution attempt, but that does not mean they can’t happen, and it also doesn’t mean we can’t slip up and not notice the download url is from a different host (it does happen). We have the responsibility to check these links and not just include a random dropbox download url if it isn’t given by the developer. At the same time, users should never be forced to trust us blindly, and should be able to verify these. Having the comment does mean that if they trust us they will probably be safe with that cask, because we’re asserting we checked.

If there would be any better way of noticing users about these things instead of adding the same comment to each cask

You’ll always have to add something to the cask, whether a comment or code, to make this clear when, for example, you’re brew cask cating it.

The linked article is only describing a very small part of (…)

Yes, my comment was merely directed at the post itself, not the book.

comments often get old, because people tend to update code, but forget about updating comments or just make sure that comments are still true which then turns reading of the comment into not only unhelpful, but also time wasting process.

That doesn’t really apply to these specific comments, though. Most urls don’t change after being introduced (thanks to interpolation of the version), so the comments will keep being true. If the url ever changes it will need to be checked again, anyway. In addition, every comment specifies the host at the time it was added, so if the host changes and the comment doesn’t, it can be detected (and that one would be easily done with a script, if needed).
Either way, the policy is in place and currently works, so I’ll merge this to get these last ones out of the way. That doesn’t mean we shouldn’t continue the discussion, naturally.

Fun discussion; sorry I missed it.  This is still undocumented, right?  That works out nicely in that the comment indicates that a maintainer checked it.
And that is what connects all sides in this debate: good comments flag edge cases or store out-of-band information. The unusual case is the divergent domain on the url stanza. The out-of-band information is that the URL was checked by a maintainer, personally. (Or in Vitor's case, heroically.)


fix: in standalone cli mode we must run aio as child process for building actions

Follow up from #17. Currently test-worker fails in projects generated with https://github.com/adobe/generator-aio-app/pull/55:
> aio app test

...

Actions:
- worker-example

Running tests in test/asset-compute/worker-example
Error: Building action failed, did not create /Users/alex/Work/code/nui/aio/temp/myworker/dist/actions/worker-example.zip
...

This fixes it by calling aio app deploy as child process. It still tries to find the command first, so that the aio plugin mode continues to work as before.

Codecov is blocking because I don't have any tests for the new changes. Will try to add test and handle child process execution by mocking the spawn function(s), e.g. using https://github.com/gotwarlost/mock-spawn.

Added tests for the new code (had to refactor things a bit), removed dead code and now the coverage increased.


Cannot initialize 'PitchShift' in iOS 14

After updating to iOS 14, I've encountered a bug when trying to initialize a PitchShift effect.
The error can be reproduced by running the following on any iOS 14 browser: https://jsbin.com/gonayajima/edit?js,console
Stacktrace:
Unhandled Rejection (TypeError): undefined is not an object (evaluating 'panWaveShaperNode.inputs[0]')

connectGraph
node_modules/standardized-audio-context/build/es2019/factories/native-stereo-panner-node-faker-factory.js:109

whenConnected
node_modules/standardized-audio-context/build/es2019/factories/native-stereo-panner-node-faker-factory.js:240

(anonymous function)
node_modules/standardized-audio-context/build/es2019/factories/monitor-connections.js:13

(anonymous function)
node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-node-disconnect-method.js:7
connectNativeAudioNodeToNativeAudioNode
node_modules/standardized-audio-context/build/es2019/helpers/connect-native-audio-node-to-native-audio-node.js:8

connect
node_modules/standardized-audio-context/build/es2019/factories/audio-node-constructor.js:323

CrossFade
/home/Tone/component/channel/CrossFade.ts:111

Effect
/home/justin/Tone/effect/Effect.ts:24
  21 |  * signal, 0 = 100% dry signal.
  22 |  */
  23 | this.wet = this._dryWet.fade;
> 24 | /**
     | ^  25 |  * connect the effectSend to the input of hte effect
  26 |  */
  27 | this.effectSend = new Gain({ context: this.context });

FeedbackEffect
/home/justin/Tone/effect/FeedbackEffect.ts:41

PitchShift
/home/justin/Tone/effect/PitchShift.ts:93
  90 |  * pitchShift.pitch = 7; // up a fifth
  91 |  */
  92 | get pitch() {
> 93 |     return this._pitch;
     | ^  94 | }
  95 | set pitch(interval) {
  96 |     this._pitch = interval;

I suspect this has to to do with standardized-audio-context breaking in iOS14, so I opened an issue there as well.

seems related to #720. could you install tone@next and try again? that patch should have the iOS 14 fix in there.

Thanks for taking a look at this.
It seems the commit that updates standardized-audio-context to a version that doesn't break on iOS 14 (8915e1b) isn't in tone@next because it has failing tests. Otherwise it looks like it would do the trick.

I tried cloning 14.7.39, manually updating standardized-audio-context to 25.0.3, and npm linking it to my project. I can confirm that bumping standardized-audio-context fixes the bug in iOS 14. I'll be watching for the next release!
Thanks for the help!


Readme cleanup

@SanthiSridharan can you update the main readme and just point to the site: http://capitalone.io/Hygieia?

The main readme has been updated: https://github.com/capitalone/Hygieia/tree/master.


Move /whisk.system/util from openwhisk to openwhisk-catalog as /whisk.system/utils (plural)

Issue #4 is a prereq.
Please note that as part of this move, there are 3 special changes that need to be made apart from the move of the action files.

The current JavaScript (JS) actions in the "openwhisk-openwhisk" repo. are installed into the catalog with the namespace "/whisk.system/util" which is incorrect. It should be plural "utils" with an "s". Please fix the install script "installSystem.sh" to reflect this name change.
The action file "pipe.js" is not supposed to be in the "utils" directory; it is actually installed (by "installSystem.sh) into the "/whisk.system/system" namespace. As part of this move, we will need to create a "system" directory under the top-level "packages" directory with the name "system" and update the "installSystem.sh" script to look for it there.
This issue should move the " openwhisk/catalog/installSystem.sh" script to the "openwhisk-catalog/packages/" directory (with the updates mentioned above).

The action files affected by this issue currently reside under repo. "openwhisk-openwhisk" in the "/openwhisk/catalog/utils". They will now live in the "openwhisk-catalog" repo. in the "openwhisk-catalog/packages/utils" directory; these include:
cat.js
date.js
head.js
sort.js

except for "pipe.js" which will reside in the "openwhisk-catalog/packages/system" directory.

Refer to openwhisk-catalog: https://github.com/openwhisk/openwhisk-catalog/issues/2
Refer to blue: https://github.ibm.com/BlueMix-Fabric/bluewhisk/issues/2037

Same comment as in #664.


Image generation fails with nix-env being aborted

Running nixos-conjurer config.yaml currently results in the following failure:
Configure and update Nix channels...
... ERROR: failed to update Nix channels: the `nix-channel` command returned non-zero status:
Output { status: ExitStatus(unix_wait_status(256)), stdout: "", stderr: "unpacking channels...\nAssertion failed: settings.buiacquire: 25)\nerror: program '/usr/bin/nix-env' failed due to signal 6 (Aborted)\n" }

Upon investigation, I have discovered that this commit released as part of 2.12.0 breaks an ability to run nix with empty build-users-group, which nixos-conjurer relies on.
It was subsequently discovered and fixed in 2.13.0 in this commit.
However, Alpine currently packaging 2.12.0 and thus is affected by this problem.

The Nix package is now at 2.13.2 in Alpine and the issue is fixed.


[Bugfix] Fix sending/delivered/failed message status is hidden for large group

What

Fix sending/delivered/failed message status is hidden for large group
Why

https://skype.visualstudio.com/SPOOL/_workitems/edit/2764493
How Tested

In a chat thread that has less than 20 participants, all message status (sending/delivered/failed and seen) should be displayed properly
In a chat thread that has more than 20 participants, sending/delivered/failed message status should be displayed properly.
In a large group(more than 20 participants), messages will never be marked as seen.

Process & policy checklist

[ ] I have updated the project documentation to reflect my changes if necessary.
[ ] I have read the CONTRIBUTING documentation.

Is this a breaking change?

[ ] This change causes current functionality to break.

I'm curious if this should be configurable behaviour.

Contoso can configure whether to show send status (including read receipt) or not. However, they cannot configure the behaviour based on whether it's a large group.


Simulate swap output

Closes: https://github.com/penumbra-zone/web/issues/421
https://github.com/penumbra-zone/web/assets/16624263/cf2955f1-dedc-4c77-b045-8e32942cea11

@grod220 one more thought — what do you think of adding a warning to the user that pressing "estimate swap" will expose them to the network? (Could be in a follow-up PR)

Also, I always get a 0 when I estimate the swap — even if I've opened a position of say 1penumbra:5test_usd. Is that expected? Not sure I understand this enough to know if it should be working differently. My extension is pointed at testnet-preview.

I'm not sure there's any infrastructure currently running on testnet-preview that would actually create liquidity positions. So this would be expected. If you aim at testnet, I've created some liquidity positions that should cause there to be price information.

One other note: when I point my extension at my local devnet, then click the "estimate swap" button, I get the error ConnectError: [unimplemented] HTTP 404.
My local devnet is on the latest main, and I've rm -rfed my test data and re-generated everything. Any ideas why that's happening?

The SimulateTrade RPC isn't enabled by default because it does computation (vs most of the other RPCs that just return data). Try --enable-expensive-rpc:
$ cargo run --release --bin pd -- start --help
...
    -e, --enable-expensive-rpc
            Enable expensive RPCs, such as the trade simulation service. The trade simulation
            service allows clients to simulate trades without submitting them. This is useful for
            approximating the cost of a trade before submitting it. But, it is a potential DoS
            vector, so it is disabled by default

Awesome, thanks @hdevalence ! And I did indeed confirm that I got prices when pointing at testnet rather than testnet-preview.

One other thing I'm not understanding, but not sure if it's a bug or a misunderstanding on my part:

I reset my local devnet.
cargo run --bin pcli tx position order buy 1000penumbra@5test_usd <-- this should set the exchange rate at 1penumbra:5test_usd
In the swap page, I enter 1 penumbra as the amount to swap, and test_usd as the asset type to swap into.
I press "estimate swap."

Expected behavior: it should estimate 5 test_usd.
Actual behavior: it estimates 5,000 test_usd.
I figured this was an issue of an incorrect exponent somewhere, but couldn't find any incorrect handling of amounts. For that matter, if I changed the input ("amount to swap") to e.g. 1,000,000 penumbra, the estimate remains at 5,000.

@erwanor any ideas on what's happening there?

@jessepinho The fact that you get the maximum amount of test_usd for 1penumbra and 10000..penumbra hints that something might be wrong with the denom unit amount. I can take a deeper look tomorrow, but my intuition is that we could be applying the scaling factor twice.
Could you paste the log of what assetIn.value is when you make the 1penumbra query?

A few things:

@erwanor the logs revealed the truth! I was passing the wallet balance of that asset to the swap simulation and not the user's swap input #fail. Fixed this. The results look good now. Thanks @jessepinho for prodding on this one!
Added tooltip that gives a privacy note on this action possibly revealing swap intentions to node
CI/CD is currently broken, but all passes locally. Think this is a low risk merge.


Initial 1.19 support upgrade

Ref https://github.com/cookpad/terraform-aws-eks/issues/197

Upgrade cluster / node group versions
Upgrade core addons to recommended versions (coredns / kube-proxy)
Upgrade other addons to latest compatible versions

For discussion
EKS no longer adds kubernetes.io/cluster/ tags to subnets
We are on the latest load-balancer-controller so we do not need to support these tags for compatibility. However, these tags are required for auto discovery on load balancer creation. I think this is the way we should encourage teams to operate (and is how they do now). The implication for PR changes:

Add tags to subnets in vpc module
remove lifecycle change ignore on tags in vpc module
Recommend users to codify these tags if they are not using the vpc module

@aidy @dan-slinky-ckpd @errm let me know your opinion on

EKS no longer adds kubernetes.io/cluster/ tags to subnets

If you agree we should default to keeping these tags on subnets I'll fix the tests and make the tags optional in the VPC module.

However, these tags are required for auto discovery on load balancer creation.

Could you explain some more about this? Is there a link to documentation about the situations where it would be needed?

Could you explain some more about this? Is there a link to documentation about the situations where it would be needed?

Thanks @errm 🙏 it's for the auto discovery for aws load balancer controller https://kubernetes-sigs.github.io/aws-load-balancer-controller/latest/deploy/subnet_discovery/
In practice - without those subnet tags users will need to specify the tag alb.ingress.kubernetes.io/subnets on their ingress definitions.

EKS no longer adds kubernetes.io/cluster/ tags to subnets

I think that makes sense to me.

From yesterday's discussions with @aidy - plan to introduce cert-manager to avoid generating self-signed certs for the aws-load-balancer will be done in #205
I've implemented the more opinionated VPC / subnet tags in the VPC module example - and upgrade notes for users to add them if they terraform their own VPC.
Remaining review can focus on the 1.19 upgrade + updates to critical addons


mpdris2: fix version & locale directory

@pjones

Can you explain why nativeBuildInputs is required here?  I know there's some confusing behavior in python packages related to buildInputs and nativeBuildInputs, but as far I'm aware buildInputs is the correct choice here.
Also, I don't believe setting DATADIRNAME in makeFlags has any effect.  The generated Makefile doesn't allow DATADIRNAME to be set from the environment.

nativeBuildInputs are for buildInputs that are only required at build time, not for linking or runtime. They are typically seperated out for the purpose of not having to compile build dependencies for the target architecture when cross compiling.
Not setting DATADIRNAME, the make variable never gets set so it generates garbage output in the form of $out/@DATADIRNAME@ which is invalid.  Also makeFlags are not environment variables.

This appears to be a bug in the po/Makefile.in file.  The AC variable @DATADIRNAME@ does not get substituted by the configure script.  You should file a bug upstream for this.  I suspect that the variable the author is intending to use is<EMAIL_ADDRESS>As far as using makeFlags to fix the problem, I think using something like postPatch/postConfigure and substituteInPlace would more clearly show your intention.
Finally, by "environment" I was referring to make's ability to set make variables from environment variables.  I forgot that setting a variable on the command line overrides the variable assignment in the Makefile and the environment.  Sorry about that.

Any updates?

@codyopel ping.

@codyopel won't you fix it?


Adding Alchemist Defi Logos and Space

Hi! What is your PR about?

[x] Add images for your space
[ ] Add custom domain for your space
[ ] Add alias for migrate your space
[ ] Add or edit a skin
~Edit your space with GitHub?~ (deprecated) Please migrate your space to ENS https://docs.snapshot.page/spaces/migrate
~Create your space with GitHub~ (deprecated) Create your space with ENS instead https://docs.snapshot.page/spaces/create

Added custom domain as well.


Freezing Variables

I want to extend the clingo interface mark a variable as frozen during propagator initialization. Currently, clingo already has a class with some extended functionality, which has access to clasp's facade. What do you think is best? Use the shared context to mark the literal as frozen or add a method to the ClingoPropagatorInit class? In the former case, given a solver literal lit, would
ctx.setFrozen(Clasp::decodeLit(lit), true);

be safe enough for the API?
Furthermore, variables of literals added via addWatch should be frozen automatically. This is probably something that clasp should do automatically behind the scenes.
https://github.com/potassco/clingo/blob/642f1b0a97bbc60505acfe86195c45cd4dc4eb47/libclingo/src/clingocontrol.cc#L392

I created a clasp branch with the necessary changes. However, in terms of LOC, it would actually be easier to handle everything in ClingoPropagateInit as this class already has full access to the relevant Clasp::SharedContext while  Clasp::ClingoPropagatorInit has not.
I.e. one could add something like:
void ClingoPropagateInit::freezeLiteral(Lit_t lit) {
  facade_().ctx.setFrozen(Clasp::decodeVar(lit), true);
}

and then call freezeLiteral() from the two addWatch() overloads. Of course, this wouldn't do the (stupid) dance of balancing out addWatch/removeWatch calls.
Anyhow, let me know which version you'd prefer so that I can adjust the ticket/branch accordingly.

@rkaminsk Is this issue still relevant?

Yes, let's use your implementation. I do not know why. But this is the third time I am replying to this issue but the comment never appears.


Fix : Make MetaMaskSnapWallet Integration in get-starknet as Minimalist as Possible

The current integration of MetaMaskSnapWallet in the get-starknet repository is not as minimalist as desired. This leads to unnecessary complexity and potential difficulties in maintaining and interacting with the starknet/get-starknet repo. The goal is to streamline the integration to make it as minimalist as possible.
This is linked to this PR on get-starknet repo.

the target PR has merged, hence we can close the issue


feat(tangle-dapp): Restake Deposit Feature

Summary of changes
Provide a detailed description of proposed changes.

[x] Implement a switch chain prompt on the EVM wallet when switching networks on the dApp (including our testnet & local chains).
[x] Introduce a function to verify the pallet constant (fully supported in Typescript, including type intellisense for the module and method).
[x] Incorporate a function to validate the presence of a query in the provided API (fully supported in Typescript, including type intellisense for the module and method).
[x] Introduce a utility type to convert the Polkadot enum into a Typescript type.
[x] Introduce PolkadotApiProvider to facilitate sharing the API for querying without the need to prepare it each time it is used.
[x] Enable support for viewing transactions on the Polkadot Portal.
[x] Add hooks for fetching data related to multi-asset-delegation, including:

[x] Supported assets with their metadata.
[x] User balances for these assets.
[x] User delegation information.
[x] List of operators in the system.
[x] Reward configuration.
[x] Pallet constants (without hardcoding in the code).

[x] Introduce RestakeTx class to accommodate multiple providers.
[x] Utilize react-hook-form in the deposit form implementation to enhance rendering efficiency.
[x] Implement the restake deposit function on Substrate.

Proposed area of change
Put an x in the boxes that apply.

[ ] apps/bridge-dapp
[ ] apps/hubble-stats
[ ] apps/stats-dapp
[x] apps/tangle-dapp
[ ] apps/testnet-leaderboard
[ ] apps/faucet
[ ] apps/zk-explorer
[x] libs/webb-ui-components

Reference issue to close (if applicable)
Specify any issues that can be closed from these changes (e.g. Closes #233).

Closes https://github.com/webb-tools/webb-dapp/issues/2367

Screen Recording
If possible provide a screen recording of proposed change.

https://github.com/webb-tools/webb-dapp/assets/60747384/c57c719c-6ef8-445a-8585-dc6867f5731d

The transaction progressor is being handled by @vutuanlinh2k2. Once it is completed, I will incorporate it into the restake pages.


Chat disappear on android 9

Chat with people disappear randomly on android 9, while rooms with multiple people do not seems to suffer from this bug, but i have only 2 of them so i'm not sure of it.
I can see the chat room again if i uninstall then reinstall the app, but the issue still appear when i go inside the room and then exit the room, chat just became invisible. This issue do not happen with all the room, that's just random, and make riot unusable just because if someone of the hidden room try to write me, i don't see anything

News: this issue appear also to older android versions, some my friends suffer from this bug too, with different smartphone and different android versions
Please fixit asap, because it became unusable

Can confirm, happens here too, even with group chats (Android P)


uv run spawns another process.

In the documentation uv run hello.py is used as an example (or the main way) on how to run a project. This assigns the PID 1 to uv and whatever uv spawns is another process - this is problematic when using Docker and need to send signals to your application, like sending SIGHUP, SIGTTIN, SIGTTOU to your container to inform Uvicorn to do something. Docker will only send the signals to the process sunning under PID 1 (here it's explained better then I ever could).
If the UV process can proxy all signals then I guess that would be fine but still I would not be too keen on running a different process in front of my web server, not for the reason of dependency management.
Might be related to: https://github.com/astral-sh/uv/issues/7342 if uv could install into a non-virtual env (container's only Python)

You can easily bypass uv run in this context, with one of:

UV_PROJECT_ENVIRONMENT: https://docs.astral.sh/uv/concepts/projects/#configuring-the-project-environment-path
Adding the bin/ to the PATH: https://docs.astral.sh/uv/guides/integration/docker/#using-the-environment
Specifying the full path to your application, e.g., ./.venv/bin/foo

There's some active discussion about signal handling in https://github.com/astral-sh/uv/pull/6738

My main concern of running the web server as the PID 1 process can be solved with the points you mentioned and I'll move the rest of the discussion into #6738.


Create posts activity component

Instead of manually render posts activity on summary page, create component for it which receive metrics props

https://github.com/hellowin/kanca/pull/71


Offline use

According to the documentation, when the server is not reachable (for whatever reason) the app still starts by using the cached version of the app.
But as soon as I close my Exponent XDE, I'm unable to open the app on my phone.
It tries to connect to my local server and then either timeouts or complains about the tunnel being broken.
Am I missing something?
The idea is that I would like to use my app even when my server is down and without having to publish it to Exponent.
Thanks.

Hi, is there a reason you don't want to publish to Exponent? Publishing is the mechanism that solves your problem:

It puts your JS bundle on our server so that all existing users of your app can get the newest version of your code.
If you make a standalone app, it also rolls the JS bundle into your binary so the standalone app loads offline.

Even the standalone app will still continue fetching updates to your published JS when it has an internet connection. All versions of Exponent will cache the newest JS bundle so it's available next time they don't have an internet connection.
Serving from XDE is solely intended for development. When you're ready to share the app, that's what publishing is for. Hopefully that all makes sense.

@hwaterke - you can also publish your app with the privacy setting "unlisted" - https://docs.getexponent.com/versions/v13.0.0/guides/configuration.html#privacy - and nobody will be able to find your app unless they know the URL (security by obscurity). At some point in the future we will also support entirely "private" apps, where you must be explicitly granted permission by the creator in order to use it, but we don't have that yet so "unlisted" is your best bet.

I share hwaterke's request. I also discovered that I need an active connection to Exponent servers. I understand the benefit of publishing the app to earlier testers in beta phase but I would prefer a pure offline experience during development. For now, I quit using exponent because of missing offline functionality.

We support offline development with exp.  Use exp start --offline

Please add something in the auth CLI output about the --offline switch, or if it could "just work" but warn about trying to go online instead of not starting.
I was bitten by this when I wanted to demo an Expo app during a design meeting, and the WiFi was spotty. I was unable to demo my app because Expo insists on logging in.

 I want to develop an app for personal use, not to distribute on the app store (at least, not yet). It's one that I'd like to be able to use independently of a computer, but there's seemingly no way I can package it for just my phone.
I tried exp build:ios but that doesn't work because I have 2FA enabled on my Apple ID. exp start --offline doesn't seem to load the app when my computer is off either.
Is there a way I can (preferably without authenticating anywhere) just build the app for personal use?

I wanted to work on my app offline on my laptop (actually in the car on 7 hr drives).   I figured out a way to do it.
http://javascriptrambling.blogspot.com/2018/03/running-expo-offline.html
I actually use this on my desktop too as it eliminates some of the firewall issues I was experiencing because of our crazy network.   I now only use Expo XDE to publish.


add flag -p for timestamp precision for micros or nanos

Currently joincap writes all output pcaps with microsecond precision. I have a use case with nanosecond precision pcaps being used as input. I would like to preserve the nanosecond timestamps in the merged output. In mergecap, I would use -Fnsecpcap.
I have made a first attempt at implementing this for joincap by using the pcapgo.NewWriterNanos method added in https://github.com/google/gopacket/commit/7cc6592eca24b42f05b6d13a5521d9d2558cf53b
The current implementation adds a -p flag which sets the writer to NewWriterNanos if -p=nanos. Happy to change this to be implemented in whatever  other preferred way. I will aim to add some tests and a test_pcap to try this with in the coming days.

Thanks for contributing! This looks good to me, I'd just like to see some tests for the new case before I merge anything.

I have added an initial test which checks the magic number of the output pcap when using -p=nanos. I think this can still be refined as it will fail in one of the endianness cases where the magic number for nanosecond timestamp precision could be read as 0xa1b23c4d. https://www.tcpdump.org/manpages/pcap-savefile.5.html
We could just check for both values.
I wanted to get an initial test out and get your opinion on if it would be sufficient to verify the new -p feature. Happy to change/add more tests as required. Currently all tests pass:
git log | head -1; go test
commit 7b5ebf966730021caefb44bcb7c697ab3e9fed9a
PASS
ok  	github.com/assafmo/joincap	0.583s

Thanks!

Yeah, you should check both values, or alternatively check the endiness somehow. Ideally I'd want to replicate the current test suite for nanoseconds as well, do you think you can do this?

Added the second check for the new test!
For running the existing test suite for nanoseconds as well, I was thinking about options which would not require rewriting the same tests in new functions. I considered table driven tests but I think this approach might work instead:
diff --git a/main_test.go b/main_test.go
index 58fe094..6cce517 100644
--- a/main_test.go
+++ b/main_test.go
@@ -119,6 +119,7 @@ func testIsOrdered(t *testing.T, pcapPath string) {
 // should be the sum of the packet counts of the
 // input pcaps
 func TestCount(t *testing.T) {
+       for _, extra_args := range []string{"", "-p=nanos"} {
                outputFile, err := ioutil.TempFile("", "joincap_output_")
                if err != nil {
                        t.Fatal(err)
@@ -128,6 +129,7 @@ func TestCount(t *testing.T) {

                err = joincap([]string{"joincap",
                        "-v", "-w", outputFile.Name(),
+                       extra_args,
                        okPcap, okPcap})
                if err != nil {
                        t.Fatal(err)
@@ -137,6 +139,7 @@ func TestCount(t *testing.T) {
                        t.Fatal("error counting")
                }
        }
+}

What do you think?

This looks good, but please do it in sub-tests. :slightly_smiling_face:

How does this look:
diff --git a/main_test.go b/main_test.go
index e17ed7d..598ffc3 100644
--- a/main_test.go
+++ b/main_test.go
@@ -119,6 +119,8 @@ func testIsOrdered(t *testing.T, pcapPath string) {
 // should be the sum of the packet counts of the
 // input pcaps
 func TestCount(t *testing.T) {
+       for name, extra_args := range map[string]string{"DefaultMicros": "", "Nanos": "-p=nanos"} {
+               t.Run(name, func(t *testing.T) {
                        outputFile, err := ioutil.TempFile("", "joincap_output_")
                        if err != nil {
                                t.Fatal(err)
@@ -128,6 +130,7 @@ func TestCount(t *testing.T) {

                        err = joincap([]string{"joincap",
                                "-v", "-w", outputFile.Name(),
+                               extra_args,
                                okPcap, okPcap})
                        if err != nil {
                                t.Fatal(err)
@@ -136,11 +139,14 @@ func TestCount(t *testing.T) {
                        if packetCount(t, outputFile.Name()) != packetCount(t, okPcap)*2 {
                                t.Fatal("error counting")
                        }
+               })
+       }
 }

go test -v -run TestCount
=== RUN   TestCount
=== RUN   TestCount/DefaultMicros
=== RUN   TestCount/Nanos
--- PASS: TestCount (0.04s)
    --- PASS: TestCount/DefaultMicros (0.02s)
    --- PASS: TestCount/Nanos (0.02s)
PASS
ok  	github.com/assafmo/joincap	0.066s

Great, I'll update all the tests to match the above and then you should be good to go!

Just realised that I was running git diff -w and github's GUI will default to showing whitespace diffs. TIL there is a toggle for this and it might make looking at the changes easier:

I ran go fmt on the file before committing which would have inserted tabs and caused the additional whitespace to appear in the diffs.

Cool, I guess gofmt has changed in the past couple of years

Hey @assafmo it's been a while! I was coming back to using joincap and would love to have this merged and stop using my branch. I've rebased and resolved conflicts with the new added counter feature. Let me know if you need anything else.

I'm afk for the next few days, will test locally and merge next week

Any updates @assafmo? Happy to help out if anything more is needed! Appreciate that you might be busy with other things so just checking in :)

Thanks @Nequo - https://github.com/assafmo/joincap/releases/tag/v0.11.0


I got banned

idk how but i thought aimtux was undetected.. isn't Antario?
anyways i got untrusted mid game. not even by overwatch... got it about 1 hour ago and still the vac thingy hasn't appeared on my profile.. you can at least alert people that this version will get you banned.

Yep, today all aimtux forks have been detected.


How to use newlib's iconv on ESP32? (IDFGH-790)

I want to use newlib's libiconv for converting utf8 to iso-8859-11.
Is there any example to using iconv on Arduino-ESP32 or ESP-IDF?
Thank you.

@TridentTD Hi, sorry that get back to you so late. Does your issue still exist? Thanks.

@Alvin1Zhang
Yes. Is there any example how to use iconv on ESP32?

this issue still problem?? cuz there is no solution this issue... help me :((
I used to four days to this problem...

+1 ，need help

Now the toolchain was built without the iconv support. No official support for iconv now.
You can turn on that in https://github.com/espressif/crosstool-NG/blob/esp-2019r2/samples/xtensa-esp32-elf/crosstool.config and build it then as described https://docs.espressif.com/projects/esp-idf/en/latest/get-started/linux-setup-scratch.html

Still no official iconv support in the toolchain and IDF's examples.

Still no official iconv support in both the toolchain and IDF.
You can try build your code which uses iconv.h with https://dl.espressif.com/dl/toolchains/preview/xtensa-esp32-elf-gcc8_2_0-esp-2019r2-41-g8ac0429-linux-amd64.tar.xz (iconv support enabled ) and give any feedback here.
Probably the support for iconv.h will be added to next release of the toolchain release (2020r1)

请问，解决了吗，如何在esp32上使用iconv