GH-1057: Fixes issues cause by Firebase SDK updates on 5 April 2019

Fixes issues cause by Firebase SDK updates on 5 April 2019 which removed deprecated API features causing Android build failures.
Resolves https://github.com/arnesson/cordova-plugin-firebase/issues/1057.

Until such time as this has been merged, you can install the fixed plugin directly off my fork:
cordova plugin add https://github.com/dpa99c/cordova-plugin-firebase#GH-1057-April-05-android-build-issue

@dpa99c
Unable to install the fixed plugin directly off your fork: getting issues

@dpa99c
Unable to install the fixed plugin directly off your fork: getting issues

Github appears to be having some stability issues right now - this is what I'm getting when trying to access https://github.com/dpa99c/cordova-plugin-firebase/tree/GH-1057-April-05-android-build-issue -  may be related:

I'm getting an error:
In project 'app' a resolved Google Play services library dependency depends on another at an exact version (e.g. "[15.0.
2]", but isn't being resolved to that version. Behavior exhibited by the library will be unknown.

Dependency failing: com.google.android.gms:play-services-tagmanager-api:15.0.2 -> com.google.android.gms:play-services-m
<EMAIL_ADDRESS>but play-services-measurement-base version was 15.0.4.

It's working fine for me in a test project (see console output below).
If you're installing into an existing project you may need to remove/re-add the Android platform in order to rebuild the Gradle config:
cordova platform rm android --nosave && cordova plugin add android --nosave

console output

$ cordova create firebase-test && cd firebase-test
Creating a new cordova project.

$ cordova platform add android@latest
Using cordova-fetch for cordova-android@latest
Adding android project...
Creating Cordova project for the Android platform:
        Path: platforms\android
        Package: io.cordova.hellocordova
        Name: HelloCordova
        Activity: MainActivity
        Android target: android-28
Subproject Path: CordovaLib
Subproject Path: app
Android project created with<EMAIL_ADDRESS>Installing "cordova-plugin-whitelist" for android

               This plugin is only applicable for versions of cordova-android greater than 4.0. If you have a previous
platform version, you do *not* need this plugin since the whitelist will be built in.

--save flag or autosave detected
Saving android@latest into config.xml file ...

$ cp ../google-services.json .

$ cordova plugin add https://github.com/dpa99c/cordova-plugin-firebase#GH-1057-April-05-android-build-issue
Installing "cordova-plugin-firebase" for android
Subproject Path: CordovaLib
Subproject Path: app
Adding cordova-plugin-firebase to package.json
Saved plugin info for "cordova-plugin-firebase" to config.xml

$ cordova build android
Preparing Firebase on Android
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)
Starting a Gradle Daemon, 1 incompatible Daemon could not be reused, use --status for details

BUILD SUCCESSFUL in 2s
1 actionable task: 1 executed
Subproject Path: CordovaLib
Subproject Path: app
Starting a Gradle Daemon, 3 stopped Daemons could not be reused, use --status for details

> Configure project :app
WARNING: API 'variant.getAssemble()' is obsolete and has been replaced with 'variant.getAssembleProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variant.getAssemble(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.
WARNING: API 'variantOutput.getProcessResources()' is obsolete and has been replaced with 'variantOutput.getProcessResourcesProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variantOutput.getProcessResources(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.
WARNING: API 'variantOutput.getProcessManifest()' is obsolete and has been replaced with 'variantOutput.getProcessManifestProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variantOutput.getProcessManifest(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.
WARNING: API 'variant.getMergeResources()' is obsolete and has been replaced with 'variant.getMergeResourcesProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variant.getMergeResources(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.
WARNING: API 'variant.getMergeAssets()' is obsolete and has been replaced with 'variant.getMergeAssetsProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variant.getMergeAssets(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.
WARNING: API 'variant.getPackageApplication()' is obsolete and has been replaced with 'variant.getPackageApplicationProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variant.getPackageApplication(), use -Pandroid.debug.obsoleteApi=true on the command line
to display a stack trace.
WARNING: API 'variant.getExternalNativeBuildTasks()' is obsolete and has been replaced with 'variant.getExternalNativeBuildProviders()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variant.getExternalNativeBuildTasks(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)

> Task :app:preBuild UP-TO-DATE
> Task :CordovaLib:preBuild UP-TO-DATE
> Task :CordovaLib:preDebugBuild UP-TO-DATE
> Task :CordovaLib:checkDebugManifest
> Task :CordovaLib:processDebugManifest
> Task :app:preDebugBuild
> Task :CordovaLib:compileDebugAidl NO-SOURCE
> Task :app:compileDebugAidl NO-SOURCE
> Task :CordovaLib:packageDebugRenderscript NO-SOURCE
> Task :app:compileDebugRenderscript
> Task :app:checkDebugManifest
> Task :app:generateDebugBuildConfig
> Task :app:prepareLintJar
> Task :app:generateDebugSources
> Task :CordovaLib:compileDebugRenderscript
> Task :CordovaLib:generateDebugBuildConfig
> Task :CordovaLib:generateDebugResValues
> Task :CordovaLib:generateDebugResources
> Task :CordovaLib:packageDebugResources
> Task :CordovaLib:generateDebugRFile
> Task :CordovaLib:prepareLintJar
> Task :CordovaLib:generateDebugSources
> Task :CordovaLib:javaPreCompileDebug

Note: D:\Temp\firebase-test\platforms\android\CordovaLib\src\org\apache\cordova\engine\SystemCookieManager.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
> Task :CordovaLib:compileDebugJavaWithJavac

> Task :CordovaLib:processDebugJavaRes NO-SOURCE
> Task :CordovaLib:transformClassesAndResourcesWithPrepareIntermediateJarsForDebug
> Task :app:javaPreCompileDebug
> Task :app:mainApkListPersistenceDebug
> Task :app:mergeDebugShaders
> Task :app:compileDebugShaders
> Task :app:generateDebugAssets
> Task :CordovaLib:mergeDebugShaders
> Task :CordovaLib:compileDebugShaders
> Task :CordovaLib:generateDebugAssets
> Task :CordovaLib:packageDebugAssets
> Task :app:mergeDebugAssets
> Task :app:writeDebugApplicationId

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

> Task :app:createDebugCompatibleScreenManifests

> Task :app:processDebugManifest
D:\Temp\firebase-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 :app:fabricGenerateResourcesDebug
> Task :app:generateDebugResValues
> Task :app:generateDebugResources
> Task :app:mergeDebugResources
> Task :app:processDebugResources

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

> Task :app:compileDebugNdk NO-SOURCE
> Task :app:compileDebugSources
> Task :app:validateSigningDebug
> Task :app:signingConfigWriterDebug
> Task :app:transformClassesWithDexBuilderForDebug
> Task :app:transformDexArchiveWithExternalLibsDexMergerForDebug
> Task :app:transformDexArchiveWithDexMergerForDebug
> Task :app:mergeDebugJniLibFolders
> Task :CordovaLib:compileDebugNdk NO-SOURCE
> Task :CordovaLib:mergeDebugJniLibFolders
> Task :CordovaLib:transformNativeLibsWithMergeJniLibsForDebug
> Task :CordovaLib:transformNativeLibsWithStripDebugSymbolForDebug
> Task :CordovaLib:transformNativeLibsWithIntermediateJniLibsForDebug
> Task :app:transformNativeLibsWithMergeJniLibsForDebug
> Task :app:transformNativeLibsWithStripDebugSymbolForDebug
> Task :app:processDebugJavaRes NO-SOURCE
> Task :app:transformResourcesWithMergeJavaResForDebug
> Task :app:packageDebug
> Task :app:assembleDebug
> Task :app:cdvBuildDebug

BUILD SUCCESSFUL in 24s
47 actionable tasks: 47 executed
Built the following apk(s):
        D:\Temp\firebase-test\platforms\android\app\build\outputs\apk\debug\app-debug.apk

cordova platform rm android --nosave && cordova plugin add android --nosave

Works! Thank a lot.

Until such time as this has been merged, you can install the fixed plugin directly off my fork:
cordova plugin add https://github.com/dpa99c/cordova-plugin-firebase#GH-1057-April-05-android-build-issue

Works, Thanks!

Thank you for this fork. It's merge in the original project is urgent.

Yes please! Our builds are failing as a result.

played with this for a bit and seems to work like a gem 👍

Yes, please merge this changes ASAP.

Working here

Wow, like magic, thanks!

Works great. Thanks heaps. Merge Merge Merge.

@dpa99c  sir got this error after install above command:

Error: Failed to fetch plugin https://github.com/dpa99c/cordova-plugin-firebase#GH-1057-April-05-android-build-issue via registry.

Until such time as this has been merged, you can install the fixed plugin directly off my fork:
cordova plugin add https://github.com/dpa99c/cordova-plugin-firebase#GH-1057-April-05-android-build-issue

I have installed plugin with command:
cordova plugin add https://github.com/dpa99c/cordova-plugin-firebase#GH-1057-April-05-android-build-issue
But I have build issue. Can you please check ?

:preDebugBuild FAILED
FAILURE: Build failed with an exception.

What went wrong:
1

Get more help at https://help.gradle.org

BUILD FAILED in 3m 7s
at ChildProcess.whenDone (/Users/test/Documents/projects/ionic/test-project/platforms/android/cordova/node_modules/cordova-common/src/superspawn.js:169:23)
at ChildProcess.emit (events.js:182:13)
at maybeClose (internal/child_process.js:962:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:251:5)
(node:13453) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:13453) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

I have installed plugin with command:
cordova plugin add https://github.com/dpa99c/cordova-plugin-firebase#GH-1057-April-05-android-build-issue
But I have build issue. Can you please check ?

I have the same trouble.
The same error can be found in the failed travis build
https://travis-ci.org/arnesson/cordova-plugin-firebase/jobs/529225437

I have installed plugin with command:
cordova plugin add https://github.com/dpa99c/cordova-plugin-firebase#GH-1057-April-05-android-build-issue
But I have build issue. Can you please check ?

I have the same trouble.
The same error can be found in the failed travis build
https://travis-ci.org/arnesson/cordova-plugin-firebase/jobs/529225437

I think it's related with cordova-android version ?
I'm using cordova-android "6.4.0" version

@rhanesoghlyan
Yes, seems so. I also run "6.4.0" and just tried it with "7.1.1" but this also failed.
Based on the travis tests it seems to only work with "8.0.0."

@dpa99c what do you think about this ?
Does this changes will work only for cordova-android 8.0.0 version ?

This workaround works for me on cordova-android 6.4.0
https://github.com/arnesson/cordova-plugin-firebase/issues/1057#issuecomment-490418993

Regarding<EMAIL_ADDRESS>I think it's worth bearing in mind that the APKs it produces will soon be inadmissible to the Play Store and therefore you should migrate to<EMAIL_ADDRESS>as soon as possible:

<EMAIL_ADDRESS>=> Android API Level 26 (8.0)
<EMAIL_ADDRESS>=> Android API Level 27 (8.1)
<EMAIL_ADDRESS>=> Android API Level 28 (9.0)

https://developer.android.com/distribute/best-practices/develop/target-sdk:

Starting August 1, 2019, Google Play requires that new apps target at least Android 9.0 (API level 28), and that app updates target Android 9.0 from November 1, 2019.

Regarding<EMAIL_ADDRESS>I think it's worth bearing in mind that the APKs it produces will soon be inadmissible to the Play Store and therefore you should migrate to<EMAIL_ADDRESS>as soon as possible:

Thanks for provided information

@dpa99c  :Please help.  both provided git links were not able to install
https://github.com/rhanesoghlyan/cordova-plugin-firebase
https://github.com/dpa99c/cordova-plugin-firebase#GH-1057-April-05-android-build-issue

@dpa99c
unable to install given plugins:
https://github.com/rhanesoghlyan/cordova-plugin-firebase
https://github.com/dpa99c/cordova-plugin-firebase#GH-1057-April-05-android-build-issue

@baluworks please do the following
ionic cordova plugin rm cordova-plugin-firebase
rm -rf platforms/
ionic cordova plugin add https://github.com/rhanesoghlyan/cordova-plugin-firebase.git#master --save
ionic cordova platform add android
ionic cordova build android

Until such time as this has been merged, you can install the fixed plugin directly off my fork:
cordova plugin add https://github.com/dpa99c/cordova-plugin-firebase#GH-1057-April-05-android-build-issue

Thank you - this saved the day.

@rhanesoghlyan Thanks so much for forking a solution compatible with cordova-android 6.4.0 (as is my case). I did get past the original error that many people are reporting but, now, I have something different:
The Task.leftShift(Closure) method has been deprecated and is scheduled to be removed in Gradle 5.0. Please use Task.doLast(Action) instead.
        at build_111681jxraufgcz3cg5gruysh.run(/home/enriquepineda/fishint_v3/platforms/android/build.gradle:148)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
publishNonDefault is deprecated and has no effect anymore. All variants are now published.
:preBuild UP-TO-DATE
:CordovaLib:preBuild UP-TO-DATE
:CordovaLib:preDebugBuild UP-TO-DATE
:CordovaLib:checkDebugManifest UP-TO-DATE
:CordovaLib:processDebugManifest UP-TO-DATE
:preDebugBuild FAILED
3 actionable tasks: 1 executed, 2 up-to-date

FAILURE: Build failed with an exception.

* What went wrong:
1

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

Can you advise? Something about the preDebugBuild failing... (no additional info from --stacktrace)

@rhanesoghlyan sir i got antother error after remove fireabase  plugin:

 Uninstalling cordova-plugin-firebase from android
> Error during processing of action! Attempting to revert...
> Uh oh!
> AndroidStudio.js:inAndroidStudioProject root does not exist: /Users/kapil/Desktop/project/AMS/platforms/android
> [ERROR] An error occurred while running subprocess cordova.
>
>         cordova plugin remove cordova-plugin-firebase --save exited with exit code 1.

@kapilSoni101 please do the following:
rm -rf node_modules && rm - rf platforms && rm -rf plugins.
And after that:
ionic cordova plugin add https://github.com/rhanesoghlyan/cordova-plugin-firebase.git#master --save
npm install
ionic cordova platform add android
ionic cordova build android

@rhanesoghlyan  sir i got another error
rm: -: No such file or directory
rm: rf: No such file or directory
rm: platforms: is a directory

You can instead of this command manually remove platforms, plugins and node_modules directories.
And after that add plugin

@rhanesoghlyan ok sir i will try and let you know

@rhanesoghlyan: sir i have customize the project.properties according to the firebase docs and finally i got another new error
e/FirebasePluginMessagingService.java:75: error: cannot access zzbfm

@kapilSoni101 please contact with me via LinkedIn or via Gmail.
LinkedIn: Robert Hanesoghlyan
Gmail<EMAIL_ADDRESS>If you want we can do screenshare. I will help you

Until such time as this has been merged, you can install the fixed plugin directly off my fork:
cordova plugin add https://github.com/dpa99c/cordova-plugin-firebase#GH-1057-April-05-android-build-issue

Works fine for me while building new cordova project.
Thanks!

Until such time as this has been merged, you can install the fixed plugin directly off my fork:
cordova plugin add https://github.com/dpa99c/cordova-plugin-firebase#GH-1057-April-05-android-build-issue

Works fine for me while building new cordova project.
Thanks!

Any solution to this problem?
I have tested almost all of it and I did not succeed in any solution.
Here is the information from my project

@rhanesoghylan :ok sir i will contact thanks a lot sir..

Forgot to mention with approval:
IMPORTANT
In order to get your project compile successfully an upgrade to<EMAIL_ADDRESS>or higher might be required.
As @dpa99c mention earlier:

... the APKs<EMAIL_ADDRESS>produces will soon be inadmissible to the Play Store and therefore you should migrate to<EMAIL_ADDRESS>as soon as possible

Full comment

Can we expect this to be merged in the coming days? I would like to avoid setting up the fork to get back to the mail project before having to actually release something :)

Hello Guys, I am having the same error. I created new cordova project for testing. Then I did the following:

cordova plugin add C:..\cordova-plugin-firebase-master  (I added the plugin locally since I am not able to add it from url)
cordova platform add<EMAIL_ADDRESS>cordova build android

However, I get the same error:
**Failed to capture fingerprint of input files for task ':app:preDebugBuild' property 'compileManifests' during up-to-date check.

The library com.google.android.gms:play-services-measurement-base is being requested by various other libraries at [[16.5.0,16.5.0], [16.4.0,16.4.0]], but resolves to 16.5.0. Disable the plugin and check your dependencies tree using ./gradlew :app:dependencies.**

Any suggestions please.

Hi guys, thanks for this fix!
I want to comment an error that i'm getting with this versión:

The first time that I launch the app crash with the fallowing message:
07-04 15:58:53.649 5986-5986/com.myapp E/AndroidRuntime: FATAL EXCEPTION: main Process: com.myapp, PID: 5986 java.lang.RuntimeException: Unable to instantiate service org.apache.cordova.firebase.FirebasePluginInstanceIDService: java.lang.ClassNotFoundException: Didn't find class "org.apache.cordova.firebase.FirebasePluginInstanceIDService" on path: DexPathList[[zip file "/data/app/com.myapp-7E523fyAdaDB2oPbaq9wog==/base.apk"],nativeLibraryDirectories=[/data/app/com.myapp-7E523fyAdaDB2oPbaq9wog==/lib/arm64, /system/lib64, /product/lib64]] at android.app.ActivityThread.handleCreateService(ActivityThread.java:3996) at android.app.ActivityThread.access$2100(ActivityThread.java:267) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1979) at android.os.Handler.dispatchMessage(Handler.java:109) at android.os.Looper.loop(Looper.java:207) at android.app.ActivityThread.main(ActivityThread.java:7470) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:958) Caused by: java.lang.ClassNotFoundException: Didn't find class "org.apache.cordova.firebase.FirebasePluginInstanceIDService" on path: DexPathList[[zip file "/data/app/com.myapp-7E523fyAdaDB2oPbaq9wog==/base.apk"],nativeLibraryDirectories=[/data/app/com.myapp-7E523fyAdaDB2oPbaq9wog==/lib/arm64, /system/lib64, /product/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at android.app.AppComponentFactory.instantiateService(AppComponentFactory.java:103) at android.support.v4.app.CoreComponentFactory.instantiateService(CoreComponentFactory.java:68) at android.app.ActivityThread.handleCreateService(ActivityThread.java:3991) at android.app.ActivityThread.access$2100(ActivityThread.java:267)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1979)  at android.os.Handler.dispatchMessage(Handler.java:109)  at android.os.Looper.loop(Looper.java:207)  at android.app.ActivityThread.main(ActivityThread.java:7470)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:958)

This only happen on the firsh launch, the next launch woroks fine

can we merge this?

@dpa99c , can you make some change to allow this update can merge sir?

@briantq ping
we definitely need this

@ThonyBG The above commits resolve the issue of the obsolete  entry.
Should be good to merge now.

BTW would be great if #972 was merged too then I wouldn't need to maintain a parallel branch which uses Cocoapods to install Firebase SDK on iOS (rather than bundling it inside the plugin).

@dpa99c great job!
For someone with problems with this changes:
I set this versions in my build-extras, I'm not sure why, but it solved my build and run problems

configurations.all {
resolutionStrategy {
force "com.google.firebase:firebase-core:16.0.9"
force "com.google.firebase:firebase-iid:18.0.0"
force "com.google.android.gms:play-services-measurement-api:16.5.0"
force "com.google.firebase:firebase-perf:17.0.0"
force "com.google.firebase:firebase-config:17.0.0"
force "com.google.firebase:firebase-messaging:18.0.0"
force "com.google.android.gms:play-services-tagmanager:16.0.8"
}
}

This is my ionic info:

Ionic:
ionic (Ionic CLI)  : 4.2.1 (/usr/local/lib/node_modules/ionic)
Ionic Framework    : ionic-angular 3.9.5
@ionic/app-scripts : 3.1.8
Cordova:
cordova (Cordova CLI) : 8.1.2<EMAIL_ADDRESS>Cordova Platforms     : android 8.0.0
Cordova Plugins       : cordova-plugin-ionic-webview 4.0.1, (and 28 other plugins)
System:
Android SDK Tools : 26.1.1 (/Users/user/Library/Android/sdk)
ios-deploy        : 2.0.0
ios-sim           : 8.0.1
NodeJS            : v10.8.0 (/usr/local/Cellar/node/10.8.0/bin/node)
npm               : 4.1.2
OS                : macOS
Xcode             : Xcode 10.2.1 Build version 10E1001

btw @ThonyBG it's me too  👀

@dpa99c

I've deleted everything ( platform, plugins & package-lock.json, node_modules ).
rm -rf package-lock.json platforms/ plugins/ node_modules/

I've deleted cordova-plugin-firebase from both, your package.json & config.xml

add the forked plugin
cordova plugin add https://github.com/dpa99c/cordova-plugin-firebase#GH-1057-April-05-android-build-issue

add a fresh platform & install the needed modules
cordova platforms add android && npm install

But I got error

@harshkhandelwalcs There is no detail of the cause of the error in your screenshot. Re-run the command with the --verbose option as suggested.

@harshkhandelwalcs run ./platforms/adnroid/gradlew build --stacktrace to see what happen

@dpa99c
there are lot of logs.
how to check that where is error ?
can I send all the screenshots here? Please help me

@ThonyFD  checking

@harshkhandelwalcs copy/save the command window contents to a text file.
Then you can paste it somewhere like https://pastebin.com/ and share the link.

@harshkhandelwalcs you can also clone and build my test project for comparison which builds fine in my dev env (see console output below).
Just run the following:
git clone https://github.com/dpa99c/cordova-plugin-firebase-test && cd cordova-plugin-firebase-test
git checkout GH-1058-test
cordova platform add android
cordova build android

console output

$ git clone https://github.com/dpa99c/cordova-plugin-firebase-test && cd cordova-plugin-firebase-test
Cloning into 'cordova-plugin-firebase-test'...
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 43 (delta 0), reused 3 (delta 0), pack-reused 37
Unpacking objects: 100% (43/43), done.

$ git checkout GH-1058-test
Switched to a new branch 'GH-1058-test'
Branch 'GH-1058-test' set up to track remote branch 'GH-1058-test' from 'origin'.

$ cordova platform add android
Using cordova-fetch for cordova-android@*
Adding android project...
Creating Cordova project for the Android platform:
        Path: platforms\android
        Package: io.cordova.firebase.test
        Name: FirebaseTest
        Activity: MainActivity
        Android target: android-28
Subproject Path: CordovaLib
Subproject Path: app
Android project created with<EMAIL_ADDRESS>Discovered plugin "cordova-plugin-whitelist" in config.xml. Adding it to the project
Installing "cordova-plugin-whitelist" for android

               This plugin is only applicable for versions of cordova-android greater than 4.0. If you have a previous
platform version, you do *not* need this plugin since the whitelist will be built in.

Adding cordova-plugin-whitelist to package.json
Saved plugin info for "cordova-plugin-whitelist" to config.xml
Discovered plugin "cordova-plugin-firebase" in config.xml. Adding it to the project
Installing "cordova-plugin-firebase" for android
Subproject Path: CordovaLib
Subproject Path: app
Adding cordova-plugin-firebase to package.json
Saved plugin info for "cordova-plugin-firebase" to config.xml
Preparing Firebase on Android
--save flag or autosave detected
Saving<EMAIL_ADDRESS>into config.xml file ...

$ cordova build android
Preparing Firebase on Android
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)
Starting a Gradle Daemon, 1 incompatible Daemon could not be reused, use --status for details

BUILD SUCCESSFUL in 2s
1 actionable task: 1 executed
Subproject Path: CordovaLib
Subproject Path: app
Starting a Gradle Daemon, 2 incompatible and 1 stopped Daemons could not be reused, use --status for details

> Configure project :app
WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.
It will be removed at the end of 2018. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
WARNING: API 'variant.getAssemble()' is obsolete and has been replaced with 'variant.getAssembleProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variant.getAssemble(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.
WARNING: API 'variantOutput.getProcessResources()' is obsolete and has been replaced with 'variantOutput.getProcessResourcesProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variantOutput.getProcessResources(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.
WARNING: API 'variantOutput.getProcessManifest()' is obsolete and has been replaced with 'variantOutput.getProcessManifestProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variantOutput.getProcessManifest(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.
WARNING: API 'variant.getMergeResources()' is obsolete and has been replaced with 'variant.getMergeResourcesProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variant.getMergeResources(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.
WARNING: API 'variant.getMergeAssets()' is obsolete and has been replaced with 'variant.getMergeAssetsProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variant.getMergeAssets(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.
WARNING: API 'variant.getPackageApplication()' is obsolete and has been replaced with 'variant.getPackageApplicationProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variant.getPackageApplication(), use -Pandroid.debug.obsoleteApi=true on the command line
to display a stack trace.
WARNING: API 'variant.getExternalNativeBuildTasks()' is obsolete and has been replaced with 'variant.getExternalNativeBuildProviders()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variant.getExternalNativeBuildTasks(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)

> Task :app:preBuild UP-TO-DATE
> Task :CordovaLib:preBuild UP-TO-DATE
> Task :CordovaLib:preDebugBuild UP-TO-DATE
> Task :CordovaLib:checkDebugManifest
> Task :CordovaLib:processDebugManifest
> Task :app:preDebugBuild
> Task :CordovaLib:compileDebugAidl NO-SOURCE
> Task :app:compileDebugAidl NO-SOURCE
> Task :CordovaLib:packageDebugRenderscript NO-SOURCE
> Task :app:compileDebugRenderscript
> Task :app:checkDebugManifest
> Task :app:generateDebugBuildConfig
> Task :app:prepareLintJar
> Task :app:generateDebugSources
> Task :CordovaLib:compileDebugRenderscript
> Task :CordovaLib:generateDebugBuildConfig
> Task :CordovaLib:generateDebugResValues
> Task :CordovaLib:generateDebugResources
> Task :CordovaLib:packageDebugResources
> Task :CordovaLib:generateDebugRFile
> Task :CordovaLib:prepareLintJar
> Task :CordovaLib:generateDebugSources
> Task :CordovaLib:javaPreCompileDebug

Note: D:\Temp\cordova-plugin-firebase-test\platforms\android\CordovaLib\src\org\apache\cordova\engine\SystemCookieManager.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
> Task :CordovaLib:compileDebugJavaWithJavac

> Task :CordovaLib:processDebugJavaRes NO-SOURCE
> Task :CordovaLib:transformClassesAndResourcesWithPrepareIntermediateJarsForDebug
> Task :app:javaPreCompileDebug
> Task :app:mainApkListPersistenceDebug
> Task :app:mergeDebugShaders
> Task :app:compileDebugShaders
> Task :app:generateDebugAssets
> Task :CordovaLib:mergeDebugShaders
> Task :CordovaLib:compileDebugShaders
> Task :CordovaLib:generateDebugAssets
> Task :CordovaLib:packageDebugAssets
> Task :app:mergeDebugAssets
> Task :app:writeDebugApplicationId

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

> Task :app:createDebugCompatibleScreenManifests

> Task :app:processDebugManifest
D:\Temp\cordova-plugin-firebase-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 :app:fabricGenerateResourcesDebug
> Task :app:generateDebugResValues
> Task :app:generateDebugResources
> Task :app:mergeDebugResources
> Task :app:processDebugResources

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

> Task :app:compileDebugNdk NO-SOURCE
> Task :app:compileDebugSources
> Task :app:validateSigningDebug
> Task :app:signingConfigWriterDebug
> Task :app:transformClassesWithDexBuilderForDebug
> Task :app:transformDexArchiveWithExternalLibsDexMergerForDebug
> Task :app:transformDexArchiveWithDexMergerForDebug
> Task :app:mergeDebugJniLibFolders
> Task :CordovaLib:compileDebugNdk NO-SOURCE
> Task :CordovaLib:mergeDebugJniLibFolders
> Task :CordovaLib:transformNativeLibsWithMergeJniLibsForDebug
> Task :CordovaLib:transformNativeLibsWithStripDebugSymbolForDebug
> Task :CordovaLib:transformNativeLibsWithIntermediateJniLibsForDebug
> Task :app:transformNativeLibsWithMergeJniLibsForDebug
> Task :app:transformNativeLibsWithStripDebugSymbolForDebug
> Task :app:processDebugJavaRes NO-SOURCE
> Task :app:transformResourcesWithMergeJavaResForDebug
> Task :app:packageDebug
> Task :app:assembleDebug
> Task :app:cdvBuildDebug

BUILD SUCCESSFUL in 21s
47 actionable tasks: 47 executed
Built the following apk(s):
        D:\Temp\cordova-plugin-firebase-test\platforms\android\app\build\outputs\apk\debug\app-debug.apk

@dpa99c
Ok, will try

So, can we expect a merge soon? :)

@dpa99c  Thank you so much.

I've deleted everything ( platform, plugins & package-lock.json, node_modules ).
rm -rf package-lock.json platforms/ plugins/ node_modules/

I've deleted cordova-plugin-firebase from both, your package.json & config.xml

add the forked plugin
cordova plugin add https://github.com/dpa99c/cordova-plugin-firebase#GH-1057-April-05-android-build-issue

add a fresh platform & install the needed modules
cordova platforms add<EMAIL_ADDRESS>&& npm install

I have just upgrade my cordova platform version to 8.0.0 then build is successful.
But without @dpa99c  this is not possible.
Thanks a lot @dpa99c .

@ingoingoingo
do you resolved your problem?
If not check solution above in my comment. You have to update your android version to 6.4.0 to 8.0.0.
Hope this works for you.

Hi, could you also integrate the fix of https://github.com/wizpanda/cordova-plugin-firebase/commit/2e1fae335c839ccf89761f752b5fe341adbaa17a to support cordova@9?
Otherwise I will fork your and create the next one :D

Hello all,
It looks the library is not maintained anymore. So, for now, you can use cordova-plugin-firebase-lib.
 Works great.
Thank you so much.

Hello all,
It looks the library is not maintained anymore. So, for now, you can use cordova-plugin-firebase-lib.
Follow the changes here https://github.com/wizpanda/cordova-plugin-firebase-lib#difference-from-the-fork-repository
Note: You need to remove cordova-plugin-firebase

@ankit18singh if they want to seriously maintain a fork, they will have to open the issue tracker for people to be able to report stuff :)

Hi, i'm not able to install the fork

Failed to fetch plugin https://github.com/dpa99c/cordova-plugin-firebase#GH-1057-April-05-android-build-issue via registry.

Help.

Can this be closed after the merge of #1062?

@LucasG04 This PR addresses the root cause of the problem by updating the plugin code to replace references to features deprecated and removed in the API of the latest Firebase SDK.
#1062 simply bumps the referenced version of the Google Services plugin.

It still doesn't compile for me.
Is there anyone who has seen a similar error message to this?
`FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':app:compileDebugJavaWithJavac'.

Compilation failed; see the compiler error output for details.

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 16s
34 actionable tasks: 34 executed
(node:27215) UnhandledPromiseRejectionWarning: Error: /Users/mehmet.koc/Projects/mobile-app-tf/platforms/android/gradlew: Command failed with exit code 1 Error output:
Note: /Users/mehmet.koc/Projects/mobile-app-tf/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemCookieManager.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
/Users/mehmet.koc/Projects/mobile-app-tf/platforms/android/app/src/main/java/org/apache/cordova/firebase/FirebasePluginMessagingService.java:144: error: constructor Builder in class Builder cannot be applied to given types;
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this, channelId);
^
required: Context
found: FirebasePluginMessagingService,String
reason: actual and formal argument lists differ in length
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':app:compileDebugJavaWithJavac'.

Compilation failed; see the compiler error output for details.`

TL;DR @mehmetkoc182 and everyone reading this.
Compilation errors in this plugin has occurred several times because of Google releasing new versions of  their Firebase Android SDK with breaking changes. Last time it happened on May 7th 2019 and now it happened again on June 17th 2019. Also, probably more are to come in the future.
Every time one of these breaking changes is released, maintainers have to update the plugin in order to work with the latest Firebase Android SDK. This may take a few days and may force you to update dependencies, such as cordova or cordova-android.
In May 2019 a fix was added to this PR but no one merged it. The owner of this repository seems to be inactive. Now, some guys at Wizpanda became the new maintainers of the plugin, and they are fixing the issue caused on June 2019.
Thanks to everyone who have contributed @dpa99c @ankit18singh @sagrawal31 :+1:

Thanks, @Mdelaf for recognizing & appreciating the effort. We use open-source technologies so we believe in helping the community back.

Great news!
On Wed, Jun 19, 2019 at 8:43 AM Shashank Agrawal<EMAIL_ADDRESS>wrote:

Thanks, @Mdelaf https://github.com/Mdelaf for recognizing &
appreciating the effort. We use open-source technologies so we believe in
helping the community back.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/arnesson/cordova-plugin-firebase/pull/1058?email_source=notifications&email_token=AAIDQH5OLJH75Z7QNNQCMDLP3ILWBA5CNFSM4HLHM352YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYBTBHI#issuecomment-503525533,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAIDQH27AJRE7VJ6GBMN2I3P3ILWBANCNFSM4HLHM35Q
.

By the way, folks who are using cordova-android 8.0.0, v4.0.0 is released to fix the app build due to breaking changes of Google Firebase on Jun 17, 2019.

@sagrawal31 is cordova-plugin-firebase-lib replacing cordova-plugin-firebase?

@hanibhat not really. The cordova-plugin-firebase-lib is a forked repository of this repository which is maintained by Wiz Panda. By "maintaining", we mean, merging PR to provided bug fixes, upgrades & improvements and releasing it so that others can use it. See https://github.com/wizpanda/cordova-plugin-firebase-lib#difference-from-the-fork-repository

@hanibhat I use the fork from @dpa99c -> https://github.com/dpa99c/cordova-plugin-firebase
It works like a charm and furthermore it is Cordova >= v9 compatible

Well, for the short term, forking the project and fixing the bug does help. But I think it would be best to find a unified solution for this, so we don`t end up with 10 forked projects, without knowing which one is the best to choose. @robertarnesson

I agree with @DennisMatthiasScherf. We are also maintaining a version 😄

->-> https://github.com/arnesson/cordova-plugin-firebase/issues/1081#issuecomment-504208621

@peterpeterparker I was using that version too, but now I am unable to compile. I think after the breaking changes from Firebase new compilations will fail. After removing the plugin, my app compiles perfectly!

@hanibhat it does handle pretty well all the recent breaking changes of Google. His author also write a nice comment explaining "how to" solve the issue ->. https://github.com/arnesson/cordova-plugin-firebase/issues/1081#issuecomment-503135862
Regarding iOS, after 1 or 2 improvements, I could also confirm that it works like a charm with Cordova v9 and recent POD

FYI I just published<EMAIL_ADDRESS>which contains significant improvements: see here for details.

ionic cordova plugin add https://github.com/rhanesoghlyan/cordova-plugin-firebase.git#master --save

cordova plugin add https://github.com/rhanesoghlyan/cordova-plugin-firebase.git#master --save
Failed to fetch plugin https://github.com/rhanesoghlyan/cordova-plugin-firebase.git#master via registry.
Probably this is either a connection problem, or plugin spec is incorrect.
Check your connection and plugin name/version/URL.
Error: npm: Command failed with exit code 1 Error output:
npm ERR! code 1
npm ERR! Command failed: /usr/bin/git clone --depth=1 -q -b master https://github.com/rhanesoghlyan/cordova-plugin-firebase.git /Users/marcosricardo/.npm/_cacache/tmp/git-clone-7cabc72c
npm ERR! /Users/marcosricardo/.npm/_cacache/tmp/git-clone-7cabc72c/.git: Permission denied
npm ERR!

npm ERR!      /Users/marcosricardo/.npm/_logs/2019-07-24T13_11_08_241Z-debug.log

https://github.com/dpa99c/cordova-plugin-firebasex#migrating-from-cordova-plugin-firebase
works for me


[clarification]: copyedit javadoc before release

Specification
javadoc
I need clarification on ...
formatting and style.
Additional information
Before release, I think we need to go over the javadoc completely looking for minor things like the following:

Jagged line-lengths and lines which overflow the screen. Recent version of IntelliJ do a much better job of displaying javadoc, and of course in some cases it's very hard to make the line lengths consistent due to the use of {@ link} but even so, we can do better.
Use of <code> instead of {@code}
Use of informal language which addresses the user directly, e.g. "If you define a method...".

I would also prefer to see the work "keyset" go away if possible.

Jagged line-lengths and lines which overflow the screen. Recent version of IntelliJ do a much better job of displaying javadoc, and of course in some cases it's very hard to make the line lengths consistent due to the use of {@ link} but even so, we can do better.

Use of <code> instead of {@code}

I'm fine with this, but would consider it low priority because it can be adjusted at any point and is not a breaking change.
What is a good guideline for line length? If everyone has the same number in mind, it will help ensure it gets written in a compliant manner the first time.

Use of informal language which addresses the user directly, e.g. "If you define a method..."

The guideline that I would use here is that this sort of language is appropriate in JavaDoc that is meant for the end user, but it does not belong in the specification, which tends to be targeted toward implementors.

I would also prefer to see the word "keyset" go away if possible.

This makes sense if the pull that switches to CursoredPage goes in because we will no longer have a class name with keyset in it.

This is was mostly solved by #528 and #525.

Closing issue as completed for the Jakarta Data 1.0 milestone


Fixed header

How can I get a fixed header using this plugin (without resorting to jQuery.ui.position)?

Sorry, I'm not sure I understand the question.  The header is always fixed, is it not?  What version are you using, and what are you trying to achieve?

I see how the question is confusing. So I would like the header to stay fixed while the BODY of the page scroll underneath, so that the window's scrollbar is used in place of the table-level one.

Isn't that how the tutorials all work?  http://ui-grid.info/docs/#/tutorial/102_sorting
The header stays fixed, the body of the grid scrolls.

I believe what's being asked for is the effect demonstrated by this widget: http://mottie.github.io/tablesorter/docs/example-widget-sticky-header.html
The table header remains attached to the top of the browser viewport so long its associated table is also inside the viewport.

That's pretty cool, but not something the grid currently does.  We'd welcome a pull request that added this functionality though.

I don't think this is in our roadmap, nor likely to be possible within the current grid construct and the way we scroll.  I'm pushing to 4.0 for consideration of a different UI experience there.

Hi, I have a situation where I need the header of the columns to stay visible all the time, but as I scroll down and reach the last record, the headers of my columns will go behind my global header (fixed position).
I wonder if you have faced similar situations or if you would recommend and approach to follow.
I created one plunkr: http://plnkr.co/edit/nTO3wOQYjPdhv1rJxYyM?p=preview
As you can see below the headers of my columns are not visible after scrolling down.

Thanks a lot for any suggestion(s).

Closing as it is not a bug.


spec proposal - additional OTLP exporter values

@owais WDYT about adding support for SPLUNK_REALM and SPLUNK_ACCESS_TOKEN instead so that the user does not need to specify OTEL_TRACES_EXPORTER at all?

Assumption: #140 is accepted and a PR merged.
Would then this PR would still be worth the cost (as the instrumentation repositories would need to implement it 😄 )?

I think so.
REALM support is from the same category (making end-user life easier) but in a different way - avoiding potential issues with specifying full endpoint URLs.
Proposed exporter IDs would serve the same purpose. Even in our community I see sometimes problems with understanding that an exporter can have a protocol and there is a need to set both to get proper results. I also think it should be pretty minimal effort to implement.

Just to be sure, I want to point out that Otel spec defaults to otlp/http, not otlp/grpc: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#specify-protocol

If no configuration is provided the default transport SHOULD be http/protobuf unless SDKs have good reasons to choose grpc as the default (e.g. for backward compatibility reasons when grpc was already the default in a stable SDK release).

Java uses grpc as the default by the way

Java uses grpc as the default by the way

As far as I remember .NET and Go as well.
BTW:

If no configuration is provided the default transport SHOULD be http/protobuf
unless SDKs have good reasons to choose grpc as the default (e.g. for backward
compatibility reasons when grpc was already the default in a stable SDK
release).

Anyway, the conversation should be around following question: "Do we believe that adding new exporter values - otlp-grpc and otlp-http is worth the effort. That is if extra engineering effort will be offset by lowering friction to end users".

Anyway, the conversation should be around following question: "Do we believe that adding new exporter values - otlp-grpc and otlp-http is worth the effort. That is if extra engineering effort will be offset by lowering friction to end users".

Depends how often users would really need to use it. If almost never I do not think is worth the effort. I believe that https://github.com/signalfx/gdi-specification/issues/140 would cover ~95% of the cases and would be easier to use.


Update to lens 6.0.1

Does have any intention to update the extension to lens 6.0.1?

Hi,
Use master : https://github.com/artturik/lens-extension-network-policy-viewer/archive/refs/heads/main.tar.gz

Hey, thanks for reporting.
I have added support of Lens ^6.0.0 in latest commit - https://github.com/artturik/lens-extension-network-policy-viewer/commit/3167418a8e717b8f92a481099af988ff3aa8084a
Please update an extension and it should work again!


When working with an env variable, notify that there is an error in the function

Current Behavior
When working with an env variable, notify that there is an error in the function and notifies "When working with an env variable

notifies "Cannot redeclare block-scoped variable 'env'.".

And when click deploy, i have error message

Expected Behavior
No errors, everything was ok in version 2.2.0
Steps To Reproduce
Create function
in function writing "let env = global.get('env');"
click done
Example flow
paste your flow here

Environment

Node-RED version:
3.0.0
Node.js version:
v 8
npm version:

Platform/OS:Chrome
Browser:Chrome

The error is 100% correct. env is a predefined variable within the Function node and you cannot redefined env.
https://nodered.org/docs/user-guide/writing-functions#env

env is a known (already declared) variable (declared under the hood)
change it to something like let _env or let environ

No errors, everything was ok in version 2.2.0

No, it was the same but now NR V3 uses monaco - it actually gets highlighted as an issue in your function code

I will have to rewrite a lot of code (

I will have to rewrite a lot of code (

you can edit flow json and replace all variables by one action

I will have to rewrite a lot of code (

In Monaco, you can highlight the word env, Press f2,
Enter a new name, All instances will be replaced in that function node.

@dceejay Monaco is smart enough to do the right thing when you ask it to rename a variable... It isn't plain search/replace of text.

sweet - everyday a schoolday

So there is still obsolete documentation that gives an example thats show how to declare env in a FUNCTION that apparently is now wrong.  When makig a sweeping change like this, please ensure all documentation is also updated.
https://flows.nodered.org/flow/8a13d11dfe80e279df83341e3e17bcc1


0.8-preview: multiple arguments to computed method

http://jsbin.com/gotosa/4/edit?html,output
Polymer({
  // ...
  computed: {
    sum: 'add(num1,num2)'
  }
  // ...
});

Closing as it appears to now be handled with the new asynchronous computed properties commit


merge dependabot prs one by one

Coverage report
Total coverage

Status
Category
Percentage
Covered / Total

🟢
Statements
100%
121/121

🟢
Branches
100%
45/45

🟢
Functions
100%
37/37

🟢
Lines
100%
224/224

Status of coverage: 🟢 - ok, 🟡 - slightly more than threshold, 🔴 - under the threshold

Report generated by 🧪jest coverage report action from d95a1a39fe0203d8dc4eb7359e3c8d67919d80fc


Convert to UNIX seconds

Why is that our tests are not running?

@TiewKH can you rebase, I tried to fix the workflows.


wiredep issues

Hey looks like the current bower.json isn't playing nice with wiredep using gulp as the task runner.
I had a quick look and the main and dependencies are there so I'm not sure how to fix this one with overrides.
Could be a problem with my task here's the code anyways
gulp.task('wire-vendor', function() {
gulp.src('./www/index.html')
.pipe(wiredep())
.pipe(gulp.dest('./www'));
});
gulp.task('wire-app', function() {
var target = gulp.src('./www/index.html');
var sources = gulp.src(['./www/js//*.js', './www/resources//*.css'], {read: false});
return target.pipe(inject(sources, {relative: true})).pipe(gulp.dest('./www'));
});
gulp.task('wiredep', ['wire-vendor','wire-app']);

Hi Steffan,
could you provide more details on the isn't playing nice part? It is working fine for me with this setup:
gulp.task('bower', function() {
    return gulp.src('www/index.html')
        .pipe(wiredep.stream({devDependencies: true}))
        .pipe(gulp.dest('www/'));
});


Use "RenameNumericEnumValues" compiler pass for python

Needed for schemas that don't provide names for enum members.

Doesn't make a difference in the generated diff. Expected? 👀

That's because enum members in CUE have names :)
If we were generating code from jsonschema/OpenAPI, it would make a difference


Focus on dropdown using Tab highlights dropdown list

Version
"react-picky": "^4.4.5"
Here's what went wrong:
When i land on dropdown from other element(say input box), react-picky is highlighted but the dropdown list is also highlighted without showing the list.
Attaching the screenshot for better understanding
Example
Create a Code Sandbox, you can fork this: Demo Picky

:tada: This issue has been resolved in version 4.5.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


.get and .filter actions broken on interface_connections endpoint when results include CircuitTermination Records

Hi,
I hit an odd issue where using interface_connections failed with the following error:
>>> pynetbox.api(**nbconfig).dcim.interface_connections.filter(device='device-name-249')
pynetbox.core.query.RequestError: The request failed with code 500 Internal Server Error but more specific details were not returned in json. Check the NetBox Logs or investigate this exception's error attribute.

Doing the same operation through the netbox API in web browser yielded success, which lead me on to believe the culprit may be hidden somewhere inside pynetbox.
>>> try:
...     pynetbox.api(**nbconfig).dcim.interface_connections.get(device='device-name-249')
... except pynetbox.core.query.RequestError as e:
...     print(e.error)
...

<!DOCTYPE html>

    <title>Server Error</title>
    <link rel="stylesheet" href="/netbox/static/bootstrap-3.3.7-dist/css/bootstrap.min.css">
    <link rel="stylesheet" href="/netbox/static/font-awesome-4.7.0/css/font-awesome.min.css">
    <meta charset="UTF-8">

                            Server Error

                                There was a problem with your request. Please contact an administrator.

                            The complete exception is provided below:

<class 'AttributeError'>

Got AttributeError when attempting to get a value for field `name` on serializer `NestedInterfaceSerializer`.
The serializer field might be named incorrectly and not match any attribute or key on the `CircuitTermination` instance.
Original exception text was: 'CircuitTermination' object has no attribute 'name'.

                            If further assistance is required, please post to the NetBox mailing list.

                            Home Page

I checked the device and saw that one of the interfaces had a connection to a Circuit. I deleted that connection and retried and the operation worked.
I'm unsure how to tweak the serializer, but the problem exists on all types of operations involving interface_connections (.get, .filter) where one of the results includes a CircuitTermination-object.

after revisiting this issue and my previous findings I realize I must have done something wrong the first time around, because now the same issue is raised from within netbox API itself. I will be reporting this issue to the core netbox repository instead.


Running with Node 10.24.1

The earliest Node 10.x.y I can run the UI with is 10.24.1, because of security vulnerabilities in the version of node in the current Dockerfile.
When I run with the version of typescript in the current package.json for the ui, I get typescript errors. ("=" expected TS1005 on AntdIcon.d.ts, line 2 "import type...").
When I run with typescript 4.2.4 (changing the version in the ui/package.json) I get syntax error "Cannot read property 'map' of undefined' on ./src/pages/PDFPage.tsx.
Is there a version of typescript which will run the code with Node 10.24.1?  Or is it necessary to change to PAWLS code?

Sorry about that. Node v10 won't be maintained as of 4/30, so this is a good reminder to update. I'll see if I can get things working with Node 14 today.
Best,
Sam

Thanks, I just went ahead and updated the Node dependency in the Dockerfile to 14, as you've done here.  But I run into another error now:
Typescript error in /usr/local/src/skiff/app/ui/src/components/PDF.tsx(3,10):
Module '"../../node_modules/pdfjs-dist/types/pdf"' has no exported member 'PDFPageProxy'.  TS2305
...
3 | import {PDFPageProxy, PDFRenderTask } from 'pdfjs-dist';
...
It seems like there's some conflict between the dependencies @types/pdfjs-dist, which is currently set to "^2.1.5" and pdfjs-dist, which is currently set to "^2.4.456".  I haven't been able to find a combination that works, yet.

That's odd. I can't reproduce that error.
Are there other dependencies that you've modified?

Yes, I had to change typescript to 3.8.
If I use typescript 3.6.3 as in the repo I get an TypeScript error on AntdIcon.d.ts.  '=' expected. TS1005 on
"import type { IconDefinition } from '@ant-design/icons-svg/lib/types';"
searching around I found that the suggested solution was to upgrade typescript to at least 3.8.
This eliminated this error but introduced the one above.

Gotcha. In rereading your original message I see you said all of that. Sorry to make your repeat it.
I'll get the TypeScript updated shortly too. I imagine I'll run into the same error, and can hopefully get it fixed up!

Ok @eliotpbrenner. I updated a few things in https://github.com/allenai/pawls/commit/0f3e5153241502eb68e46f582ed4b28112e2f765. I think this should take care of the problems you're running into (I was able to reproduce them).
Ultimately there were some other dependencies that needed to be updated along with TypeScript. Specifically eslint and pdfjs.
Thanks for reporting the issue as it prompted a dependency update that was overdue!


documentation options

Can you please provide better documentation on the options for the solver?
what are -p, -s and -x? I might missed some.
../equihash/equi1 -p 34 -s -n 302317566 -r 9 -x
The only thing I found are these.
Options -h HEADER -n NONCE are self explanatory. Add option -r RANGESIZE to search a range of nonces. For benching, options -n 255 -r 100 are useful as it gets exactly 188 solutions from 100 runs.

Thank you kindly


Check broken links in docs

Add to CI checks for broken links in docs. Cargo doc can do that if you set RUSTFLAGS=-Dwarnings.
Alterntives:

https://lychee.cli.rs/introduction/
https://github.com/deadlinks/cargo-deadlinks

we already use cargo doc with RUSTFLAGS=-Dwarnings.


k8s-keystone-auth: Policy setting improvement

Is this a BUG REPORT or FEATURE REQUEST?:
/kind feature
What happened:
The authorization policy setting is too complex and not flexible, especially for the fine-grained controls for the resource.
What you expected to happen:
I'd propose the following setting format:
[
  {
    "match": {
      "role": ["member"],
      "project": ["demo"]
    },
    "resource_permissions": [
      {"*.service": ["*"]},
      {"*.pod": ["get", "list", "watch"]},
      {"!kube-system.*": ["get", "list", "watch"]},
      {"*.*": ["get", "list", "watch"]},
      {"*.!secret": ["get", "list", "watch"]}
    ],
    "nonresource_permissions": [
      {"/healthz": ["get"]}
    ]
  },
  {...}
]

The key in resource_permissions is in the format of <namespace>.<resource>
* means all the namespaces or resources are allowed.
! means all the namespaces or resources except the following one are allowed.
The policy is whitelist and the config orders in resource_permissions matters.
resource_permissions and nonresource_permissions can't be both used at the same time(same with the current behavior).

How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

openstack-cloud-controller-manager version:
OS (e.g. from /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

There are some differences between the issue description and the actual implementation. The docs/using-keystone-webhook-authenticator-and-authorizer.md is the source of truth.

@lingxiankong Thanks for proposing a v2 policy settings.
Before we move on, I have a few questions,

The key in resource_permissions is in the format of .

What about cluster-scoped resources? The format will be .<resource> ?
. has special meanings in regex. Better not use it. So why not having them into two parts?

{"*.pod": ["get", "list", "watch"]}

Are the verbs here case sensitive?

The policy is whitelist and the config orders in resource_permissions matters.

I know the limitations here due to the defined formats. But this will make users hard to maintain, especially when more regex expressions are used.

the following setting format

The format here is quite different from current RBAC policy formats. I am not saying RBAC is perfect, that we should follow all that RBAC is doing now. But at least for Kubernetes users, maintaining two different formats of policies is painful.
The defined format here is only suitable for experienced users or administrators. While RBAC is more friendly to users.

@lingxiankong Thanks for proposing a v2 policy settings.
Before we move on, I have a few questions,
The key in resource_permissions is in the format of .

What about cluster-scoped resources? The format will be .<resource> ?

Have you tried to do some testing using the image I provided for cluster scoped resources? You will find the answer by yourself.

. has special meanings in regex. Better not use it. So why not having them into two parts?

I've already replied in the PR, I agree with you that / may be better.

{"*.pod": ["get", "list", "watch"]}
Are the verbs here case sensitive?

I think so, should be mentioned in the doc.

The policy is whitelist and the config orders in resource_permissions matters.
I know the limitations here due to the defined formats. But this will make users hard to maintain, especially when more regex expressions are used.

On the contrary, our operators are very happy with this solution. The k8s-keystone-auth is usually used in managed k8s as a service in the openstack based cloud. The users of k8s-keystone-auth are either the cloud operator or the cluster admin who are assumed to be experienced users.
@dixudx If you have a better idea or preferred solution, you are welcome to propose commits for this issue, I am very happy to ask our operators to review and test. Otherwise, I think it's better to follow the approach that has positive feedback of the real users.


Selecting array/list content forces whole json tree to colapse

When I try to select any content in an array/list of a json that's laoded from an url for the first time, the whole json tree collapses and I have to reopen it all the way to where I was. It's really annoying! Please fix that nasty little bug!

 Clicking almost anywhere in the Tree view forces the feed to refresh, causing the entire tree to be collapsed. Ugh.


Yaml support for chef config objects

Chef already allows environments and roles as ruby, could there be support for yaml in addition to JSON for environments, roles, and data bags?
knife <environment|role|data bag> from file <whatever>.y(a?)ml
Im gonna take a shot at this. Just from a quick scan through the source, I think this is where I would start https://github.com/chef/chef/blob/master/lib/chef/knife/core/object_loader.rb#L63-L78

So this issue has a long history. The last time it was discussed was as part of the Dialects RFC which was later accepted, but part of that was a condition that all new formats (explictly including Yaml) live outside of chef core.

hmm you must be referring to https://github.com/chef/chef-rfc/blob/master/rfc036-dialects.md
is there a knife plugin you know of that already provides this functionality? I didnt find anything after searching for a short time. Doesnt seem like it would be too difficult to add in a plugin.

@atheiman There was a patch for Chef long ago but it has been so long that it would require starting over. chef-funnel also still exist but I've neither updated it nor tried using it in years.

Basically I fully endorse the feature and Chef has already accepted a design (disclaimer: I wrote the RFC as well as the original versions of this) to get it in via a plugins system, but it's going to be a lot more work than your patch unfortunately. If your company is interested in making this happen sooner, I'm happy to talk about sponsorship opportunities.

We just want to be able write data bags, roles, and environments in yaml.
At the moment we have a simple chef repo upload script that converts yaml
to json before upload that is doing just fine for us, I only opened this to
see if there was interest from others.
I think we can get the functionality in the knife command we want with a
pretty simple plugin gem. If I make that I will post it back here in case
others want the functionality.
The logic in that rfc makes sense to me, so I think its fine to close this
issue if this functionality still belongs outside chef core.
On Tue, Dec 6, 2016 at 9:52 PM Noah Kantrowitz<EMAIL_ADDRESS>wrote:

Basically I fully endorse the feature and Chef has already accepted a
design (disclaimer: I wrote the RFC as well as the original versions of
this) to get it in via a plugins system, but it's going to be a lot more
work than your patch unfortunately. If your company is interested in making
this happen sooner, I'm happy to talk about sponsorship opportunities.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/chef/chef/issues/5620#issuecomment-265348615, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AFqEQ8qyiyNk_sdA-DJ_ybcfxhiIZPVcks5rFi10gaJpZM4LF7Vg
.

It's also been a few years, I certainly wouldn't object if the other maintainers had changed theirs minds since I wanted Yaml in core from the start :) But I'm also happy to abide by the previous discussions and do see the argument that putting more formats in core risks new-user confusion.

I'm pretty strongly against doing this in core. One of Chef's biggest problems for users is TIMTOWTDI, and dialects in general make that worse.

I'm fairly against doing this simply on a code quality basis.  I don't want to see a PR that litters dozens of classes with if statements.  We already have enough really bad code which is an aggregation of the shortest path to implementing a feature/bugfix.

So yeah, I think I'm just going to vote straight up "no" on this.
We don't have the resources to bugfix it, or to inevitably refactor it, and I don't want to accept more features into ChefFS (which is another thing that probably needs fewer features and a rewrite), so I don't think we have the resources to even accept a PR that does the work, because there's an implied contract there that we will support the feature in the future.
So yeah, not in core -- the code needs to live somewhere else -- when I look at all the stalled RFCs and other problems that I don't have any time for that come ahead of this feature, I definitely don't have time for this feature.
There's also the TIMTOWTDI issues and the fact that I think its entirely debatable if this makes Chef better or worse.   Regardless of which side you fall on that argument, things like the DNF provider, and ohai segments and the desired/current state split, and even getting postgres and mysql client libs baked into the build are all things which are more clearcut wins for the community.  So if you stack rank the oustanding work, IMO, this feature is something that really needs to take zero of mine and thom's time.
Sorry to be a party pooper, but most of my job is dealing with decisions like this that were made years ago and figuring out how to refactor the code because its difficult to undo saying yes to things ("Yes is forever, no is temporary"), so I definitely see this through the lens of writing a check on my future time, of which I can't see where I have any for this (and don't see where other resources are going to come from).

Refactoring core chef to make it more amenable to plugging external code into it would certainly be fine tho.

Yeah, the design in the RFC was to basically bounce all file loading through a plugins framework, and then bundle the JSON and .rb (depending on the object type) plugins in Chef core. Extending knife stuff would then just mean adding a require in your knife config.

Going to close this out as it sounds like we're sticking with the previous plan that we don't want this in core but do want to see it supportable "easily" in a gem. Sorry to be spoilsports, it is a nice feature, and I really hope we can make this doable.


Release azure-cli-appservice 0.1.3

Reviewers, please verify the following for this PR:

[ ] The PR title has format Release <component-name> <version>.
[ ] setup.py has been modified with the same version as in the PR title.
[ ] HISTORY.rst has been modified with appropriate release notes.
[ ] If releasing azure-cli or azure-cli-core, __version__ defined in __init__.py should also be modified to match.

Started releasing azure-cli-appservice 0.1.3...

Release of 'azure-cli-appservice' with version '0.1.3' successful. View at https://pypi.python.org/pypi/azure-cli-appservice/0.1.3.

GitHub release created. https://github.com/Azure/azure-cli/releases.


Upgrade vue 2.2.1 -> 2.3.2, vue-router, vuex and vue resource

Upgrade the following packages

vue - 2.3.0 release

vue - 2.3.2 release

vue-resource - 1.3.1 release
vue-router - 2.5.2 release
vuex - 2.3.0 release

Update readme
First release support minified and full versions of assets #39 🎉

cc @adambutler

@adambutler mind to make a release?

A friendly ping: Vue 2.3.3 is out (10d ago actually).
@adambutler is there a way we can have more people doing releases?

😭 Sorry missed this... Can the collaborator sign up for RubyGems and provide me with your usernames I will then give you deploy access.

YurySolovyov

I just noticed that I need an email... this makes things a little tricky since anyone could email me claiming to be you. I'd therefore like to ask if you could either:
a. Provide me your email publicly here. or
b. Provide me with your email signed against my Keybase.io profile (https://keybase.io/adamb) with your KeyBase being GitHub verified.
Happy to consider other options if you've got any other ideas how I can obtain your email securely in a verifiable way.

@adambutler<EMAIL_ADDRESS>

@YurySolovyov You are now a gem owner.


Error parsing Inter.glyphs when nodes have userData

Glyphs nodes can have a 'userData' dictionary as their fourth element:
https://github.com/schriftgestalt/GlyphsSDK/blob/Glyphs3/GlyphsFileFormat/GlyphsFileFormatv3.md
right now fontc's glyphs-reader asserts the node arrays contain only three elements and fail otherwise.
E.g. take Inter.glyphs from https://github.com/rsms/inter
$ fontc -s src/Inter-Roman.glyphspackage
thread 'main' panicked at 'Invalid node content Array([Integer(96), Integer(1490), String("l"), Dictionary({"name": String("hr00")})])', glyphs-reader/src/font.rs:435:21

they look like this:
(1089,585,o),
(1088,390,cs,{
name = hr00;
}),
(1089,172,o),

I think we can just check that fourth element is a plist dictionary and store that in the Node as an optional field.

Since we do not have a known use case for Node names or other properties stored in the Node.userData, we could simply relax the check like so:
diff --git a/glyphs-reader/src/font.rs b/glyphs-reader/src/font.rs
index 5527292..d2ed888 100644
--- a/glyphs-reader/src/font.rs
+++ b/glyphs-reader/src/font.rs
@@ -433,7 +433,7 @@ impl FromPlist for Node {
                 Node { pt, node_type }
             }
             Plist::Array(value) => {
-                if value.len() != 3 {
+                if value.len() < 3 {
                     panic!("Invalid node content {plist:?}");
                 };
                 let x = value[0].as_f64().unwrap();

We could of course parse this userData and store it inside Node as an optional field (with an alternate Node::with_user_data constructor perhaps).. but until we know what this is for and whether it matters for compilation, I'd simply skip it.

Simon said in chat

You can ignore it for compilation.
It's user-defined. Same as UFO.

which mean we can skip parsing these for now until they become useful


You can create new issues, report bugs and improve UI or even start with documentation of readme

This website has been created solely using HTML, CSS, and JavaScript, making it an excellent platform for beginners to contribute to a noble cause.
You can always take help of ISKCON Vedabase library https://vedabase.io/

I am interested to work on this issue under Quine. So please assign me this issue to me.

This site is not responsive at all. Many items' , dimensions are hard coded.
We should work over it's responsiveness so that it can work on different devices .
We should work over it's navbar so that it will become more user friendly( we can add hover effects, improvement in the positioning of navbar elements, add scaling effects, once the element is selected it's appearance will be changed.
Bug:- In features section rejuvenate. We have to resolve these bugs for better flow.
kindly assign me this task.

Hey @akshitagupta15june ,
I would like to contribute on this .
Please assign this issue to me under GSSOC'23.
Thanks


trezor-suite: 24.2.4 -> 24.3.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/trezor-suite/versions.
meta.description for trezor-suite is: Trezor Suite - Desktop App for managing crypto
meta.homepage for trezor-suite is: https://suite.trezor.io
meta.changelog for trezor-suite is: https://github.com/trezor/trezor-suite/releases/tag/v24.3.2
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 24.3.2 with grep in /nix/store/s4sfv8a9r4nigjwrz500zrrrlqiqmv9h-trezor-suite-24.3.2
found 24.3.2 in filename of file in /nix/store/s4sfv8a9r4nigjwrz500zrrrlqiqmv9h-trezor-suite-24.3.2

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
trezor-suite

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/s4sfv8a9r4nigjwrz500zrrrlqiqmv9h-trezor-suite-24.3.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A trezor-suite https://github.com/r-ryantm/nixpkgs/archive/fef5b4fba1f281cba44ee2606d239eb54896e4aa.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/fef5b4fba1f281cba44ee2606d239eb54896e4aa#trezor-suite

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/s4sfv8a9r4nigjwrz500zrrrlqiqmv9h-trezor-suite-24.3.2
ls -la /nix/store/s4sfv8a9r4nigjwrz500zrrrlqiqmv9h-trezor-suite-24.3.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package built:

trezor-suite

Maintainer pings
cc @prusnak for testing.

superseded by https://github.com/NixOS/nixpkgs/pull/298470


Updated columns, added status icons and actions

I updated the columns following the Jira task. I also added Icons to the statuses and actions that match the Design from the Jira task.

Closing this in favor to https://github.com/RedHatInsights/edge-frontend/pull/64


Add another row

User input
Option to add another row. We would like to use Flyt to map the full process of creating Area Plans. Here you have both a process component and a tool component. We would ideally like to have the tool process in a seperate row below the Area Plan process to more easily see when the tool was actually used. Other rows we could like would be: key questions, user feeling, user interaction points etc (elements of a user journey)
Sharepoint list ID
132
User
Hanne Schøld Helgestad

Relates to

#364
#389


npm WARN deprecated<EMAIL_ADDRESS>react-tools is deprecated.

https://fb.me/react-tools-deprecated

It seems a problem of "express-react-views": "~0.7.2"

Thanks! Fixed!

No problem, and thanks to you too.