App crashes with RecoverableSecurityException after URI resolves to content://media/

Bug Report
Problem
App crashes when using Timestamp app  to take a picture.
What is expected to happen?
App should inform that the URI is not accessible by app, not crash.
I have tried converting the "content://media/" into a "file://" without succes.
I verified all permissions and the function works fine when using device's camera.
What does actually happen?
App is killed by OS...
Log from adb logcat
10-20 23:27:29.354 13405 13405 E AndroidRuntime: FATAL EXCEPTION: main
10-20 23:27:29.354 13405 13405 E AndroidRuntime: Process: io.gits.form, PID: 13405
10-20 23:27:29.354 13405 13405 E AndroidRuntime: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=34, result=-1, data=null} to activity {io.gits.form/io.gits.form.MainActivity}: android.app.RecoverableSecurityException: io.gits.form has no access to content://media/external/images/media/6625
10-20 23:27:29.354 13405 13405 E AndroidRuntime: 	at android.app.ActivityThread.deliverResults(ActivityThread.java:5097)
10-20 23:27:29.354 13405 13405 E AndroidRuntime: 	at android.app.ActivityThread.handleSendResult(ActivityThread.java:5138)
10-20 23:27:29.354 13405 13405 E AndroidRuntime: 	at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:51)
10-20 23:27:29.354 13405 13405 E AndroidRuntime: 	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
10-20 23:27:29.354 13405 13405 E AndroidRuntime: 	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
10-20 23:27:29.354 13405 13405 E AndroidRuntime: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2147)
10-20 23:27:29.354 13405 13405 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:107)
10-20 23:27:29.354 13405 13405 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:237)
10-20 23:27:29.354 13405 13405 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:7814)
10-20 23:27:29.354 13405 13405 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
10-20 23:27:29.354 13405 13405 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
10-20 23:27:29.354 13405 13405 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1075)
10-20 23:27:29.354 13405 13405 E AndroidRuntime: Caused by: android.app.RecoverableSecurityException: io.gits.form has no access to content://media/external/images/media/6625
10-20 23:27:29.354 13405 13405 E AndroidRuntime: 	at android.app.RecoverableSecurityException$1.createFromParcel(RecoverableSecurityException.java:197)
10-20 23:27:29.354 13405 13405 E AndroidRuntime: 	at android.app.RecoverableSecurityException$1.createFromParcel(RecoverableSecurityException.java:194)
10-20 23:27:29.354 13405 13405 E AndroidRuntime: 	at android.os.Parcel.readParcelable(Parcel.java:2990)
10-20 23:27:29.354 13405 13405 E AndroidRuntime: 	at android.os.Parcel.createException(Parcel.java:2083)
10-20 23:27:29.354 13405 13405 E AndroidRuntime: 	at android.os.Parcel.readException(Parcel.java:2056)
10-20 23:27:29.354 13405 13405 E AndroidRuntime: 	at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:188)
10-20 23:27:29.354 13405 13405 E AndroidRuntime: 	at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:140)
10-20 23:27:29.354 13405 13405 E AndroidRuntime: 	at android.content.ContentProviderProxy.delete(ContentProviderNative.java:553)
10-20 23:27:29.354 13405 13405 E AndroidRuntime: 	at android.content.ContentResolver.delete(ContentResolver.java:1956)
10-20 23:27:29.354 13405 13405 E AndroidRuntime: 	at org.apache.cordova.camera.CameraLauncher.checkForDuplicateImage(CameraLauncher.java:1234)
10-20 23:27:29.354 13405 13405 E AndroidRuntime: 	at org.apache.cordova.camera.CameraLauncher.cleanup(CameraLauncher.java:1200)
10-20 23:27:29.354 13405 13405 E AndroidRuntime: 	at org.apache.cordova.camera.CameraLauncher.processResultFromCamera(CameraLauncher.java:601)
10-20 23:27:29.354 13405 13405 E AndroidRuntime: 	at org.apache.cordova.camera.CameraLauncher.onActivityResult(CameraLauncher.java:806)
10-20 23:27:29.354 13405 13405 E AndroidRuntime: 	at org.apache.cordova.CordovaInterfaceImpl.onActivityResult(CordovaInterfaceImpl.java:159)
10-20 23:27:29.354 13405 13405 E AndroidRuntime: 	at org.apache.cordova.CordovaActivity.onActivityResult(CordovaActivity.java:361)
10-20 23:27:29.354 13405 13405 E AndroidRuntime: 	at android.app.Activity.dispatchActivityResult(Activity.java:8292)
10-20 23:27:29.354 13405 13405 E AndroidRuntime: 	at android.app.ActivityThread.deliverResults(ActivityThread.java:5090)
10-20 23:27:29.354 13405 13405 E AndroidRuntime: 	... 11 more
10-20 23:27:29.365 22238 22238 D ActivityThread: setConscryptValidator
10-20 23:27:29.366 22238 22238 D ActivityThread: setConscryptValidator - put
10-20 23:27:29.369  4678  6839 I ActivityManager: DSS OFF for com.samsung.android.bixby.service
10-20 23:27:29.386  4243  7458 I CameraService: onUidStateChanged: uid=10024, procState=4

Information

Command or Code

takePicture(fieldId){
    console.log("Taking picture...");
    this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.CAMERA).then(
      response => {
        console.log("Permission status:", response);
        console.log("Resolving file path...");
        this.camera.getPicture().then( uriPath => {
          this.fileCordova.resolveLocalFilesystemUrl(uriPath).then( resultPath => {
            console.log(resultPath);
          }).catch(error => console.log(error));
      }, err => {console.log(err)})
  }, err => {console.log(err)}
  )
}

Environment, Platform, Device

Bug occurs on different Android 9+ devices.
Version information
ionic info
Ionic:
Ionic CLI                     : 5.4.9 (/usr/local/lib/node_modules/ionic)
Ionic Framework               : @ionic/angular 5.0.0
@angular-devkit/build-angular : 0.803.24
@angular-devkit/schematics    : 8.3.25
@angular/cli                  : 8.3.25
@ionic/angular-toolkit        : 2.1.2
Cordova:
Cordova CLI       : 9.0.0<EMAIL_ADDRESS>Cordova Platforms : android 7.1.0, browser 6.0.0
Cordova Plugins   : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 4.1.3, (and 15 other plugins)
Utility:
cordova-res : not installed
native-run  : 1.2.1 (update available: 1.2.2)
System:
NodeJS : v14.2.0 (/home/gerardo/.nvm/versions/node/v14.2.0/bin/node)
npm    : 6.14.4
OS     : Linux 5.4
Checklist

[x] I searched for existing GitHub issues
[x] I updated all Cordova tooling to most recent version
[x] I included all the necessary information above

I'm trying to retrieve plugin callback as mentioned in :
https://cordova.apache.org/docs/en/latest/guide/platforms/android/index.html#upgrading   (Last section)

If you're targeting android target 30, I'll downgrade for the time being. There are breaking changes in the android filesystem APIs that Cordova doesn't currently support. You can downgrade the target API via android-targetSdkVersion preference.
If you're targeting android target 29, then I'd either downgrade to API 28* using the preference noted above or try the master branch of cordova-plugin-file (for testing purposes).

Note: If you're building a new app, Google won't allow you to publish an app build with API 28. If you're updating an existing app, Google will allow API 28 until November, which is creeping up fast.

You're right, downgrading to android-targetSdkVersion = 28 stopped the app from crashing and is working as before.
The app needs to be published eventually, do you think trying out the cordova-custom-config to try to access the content URI is worth the try?
Thanks for the help!

With API 29, you'll need https://github.com/apache/cordova-plugin-file/pull/417/files which the cordova-plugin-file has, but is not released yet.
So if you can add the android:requestLegacyExternalStorage flag using the cordova-custom-config plugin, then that could be a workaround for the time being.
The android:requestLegacyExternalStorage is only introduced in API 29 and will be ignored in API 30, forcing app developers to actually use the new FS system that android has.

same problem here, fixed temporarily with @breautek solution, and there is no fix for Android 11... :(

Any solution found for android 11

@breautek Do you know when we will have any informations about this Android 11 problem and Cordova? Is someone working on this?

@breautek Do you know when we will have any informations about this Android 11 problem and Cordova? Is someone working on this?

Afaik, no one is allocating time on API 30 FS problems. We need to figure out how to incorporate the MediaStore APIs for API 30.
MediaStore API is significantly different than the raw file system APIs so it may be out of scope for the file plugin itself. Someone needs to analyse this problem in great detail to understand the full scope of the problem (i.e: it obviously it affects the file system usage, but does it also affect this camera plugin? file transfer plugin? media-capture plugin? etc...). Based on this ticket, the answer to each of those questions is probably a "yes". Help is wanted for this.

Google play store will not allow publishing ionic applications with  android:requestLegacyExternalStorage:true 5 Mai .
Are there any alternative solution to keep this plugin work ? Or use another Similar one.

the last Time i published , the Ionic APK to play store , I Got this warning :

From May 5, you will need to tell us why your app requires extended storage access
We have detected the requestLegacyExternalStorage flag in the manifest file of one or more of your app's app bundles or APKs.
Developers whose apps are running on Android 11 or later should make use of siled storage space so that users can better control access to their device's storage space. As of May 5, to offer your app on Android 11 or later, you will need to follow one of the procedures below:
Update your application to follow best practices that are more respectful of confidentiality, for example thanks to the Storage Access Framework or Media Store APIs
Update your application to declare permission to access all files (MANAGE_EXTERNAL_STORAGE) in the manifest file, and complete the permission to access all files statement in the Play Console from May 5th
Remove permission to access all files in your app
For apps targeting Android 11, the requestLegacyExternalStorage flag will be ignored. You must use the All Files Access permission to maintain extended access.
Apps that ask for permission to access all files when they are not allowed to do so will be removed from Google Play, and you will not be able to update them.

In my Case , I commented the code line that crash the Plugin in a fork branch (https://github.com/interstellerS/cordova-plugin-camera/commit/884ff37f9ef68d40ca464a70b0e39b4adfde4f4b ) , Then both the image capture and save to gallery worked just Fine!
I wonder if the entrerpise version of this plugin has a fix for this .

From what I can tell, taking a picture with this plugin might always add the picture to the phones gallery (=MediaStore), even if saveToPhotoAlbum is false. I think that this is related to camera app that used on the phone, but I am not completely sure about that.
The deletion of files in the MediaStore changed with the Scoped Storage changes introduced in SDK 29.
As far as I can tell, deletion will only be possible if the user manually approves the modification.
In SDK 29 this permission may be requested via the RecoverableSecurityException. Starting from SDK 30, a delete request can be created.
You can find a simple implementation for this here: https://github.com/jkorrek/cordova-plugin-camera/blob/sdk-30-deletion/src/android/CameraLauncher.java#L1267
As I am not sure if I want to bother our users with this deletion request, I also added a flag to explicitly activate this behaviour.
For Android 10 / SDK 29 the confirmation request show to the user will look like this:

I wasn't able to test this for Android 11 / SDK 30 yet.

Hi,
Im having this issue too but it seems to be caused by the device itself as it tested my app and the camera.takePicture feature on many different devices all on android 10.. (even a fairPhone is working well).
It's working also well on android 9, 11 and 12.
Im having this issue with a Lenovo tab.
Using the requestLegacyFileStorage flag is not an option as targetting api level 30 is mandatory.
I should probably try to upgrade to v6 of this plugin but needs to upgrade cordova-android to > 10 also and it's quit scary and cause many other bugs for me.
And as it's working well on most device, I believe thats i do not really need to upgrade the plugin version.
Somebody have a workaround ?
Its seems to crash on the checkForDuplicate function in cameraLuncher.java when trying to delete the image using the uri...
im quite hopeless as im starting to change the java file for debugging ....
Thx in advance

Any update on this? I see there is a PR 781
After updating to the latest version of the camera plugin, our Android Crashes and ANR in the Play Developer Console, shows a number of users experiencing this issue.
java.lang.RuntimeException:    at android.app.ActivityThread.deliverResults (ActivityThread.java:5579)   at android.app.ActivityThread.handleSendResult (ActivityThread.java:5620)   at android.app.servertransaction.ActivityResultItem.execute (ActivityResultItem.java:51)   at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:135)   at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:95)   at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2325)   at android.os.Handler.dispatchMessage (Handler.java:106)   at android.os.Looper.loop (Looper.java:246)   at android.app.ActivityThread.main (ActivityThread.java:8633)   at java.lang.reflect.Method.invoke (Native Method)   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:602)   at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1130) Caused by: android.app.RecoverableSecurityException:    at android.app.RecoverableSecurityException$1.createFromParcel (RecoverableSecurityException.java:197)   at android.app.RecoverableSecurityException$1.createFromParcel (RecoverableSecurityException.java:194)   at android.os.Parcel.readParcelable (Parcel.java:3293)   at android.os.Parcel.createExceptionOrNull (Parcel.java:2380)   at android.os.Parcel.createException (Parcel.java:2369)   at android.os.Parcel.readException (Parcel.java:2352)   at android.database.DatabaseUtils.readExceptionFromParcel (DatabaseUtils.java:190)   at android.database.DatabaseUtils.readExceptionFromParcel (DatabaseUtils.java:142)   at android.content.ContentProviderProxy.delete (ContentProviderNative.java:624)   at android.content.ContentResolver.delete (ContentResolver.java:2299)   at android.content.ContentResolver.delete (ContentResolver.java:2265)   at org.apache.cordova.camera.CameraLauncher.checkForDuplicateImage (CameraLauncher.java:1242)   at org.apache.cordova.camera.CameraLauncher.cleanup (CameraLauncher.java:1208)   at org.apache.cordova.camera.CameraLauncher.processResultFromCamera (CameraLauncher.java:592)   at org.apache.cordova.camera.CameraLauncher.onActivityResult (CameraLauncher.java:843)   at org.apache.cordova.CordovaInterfaceImpl.onActivityResult (CordovaInterfaceImpl.java:160)   at org.apache.cordova.CordovaActivity.onActivityResult (CordovaActivity.java:368)   at android.app.Activity.dispatchActivityResult (Activity.java:8550)   at android.app.ActivityThread.deliverResults (ActivityThread.java:5572)

@breautek anything we can do to push the PR along? We are seeing a bit of crashes of users with non default camera apps.

@breautek We have a user experiencing these crashes, and gave them a .apk of our app with the code in proposed 6.01 patch or rather to be precise we installed this version of the plugin https://github.com/dongourdet/cordova-plugin-camera/commit/fa9570399b11af0547fd4ed77892f4c35d383d33
This fixed the issue for our user.. Is there a timeline for getting this fix out in the wild in the official plugin?

I took the fork + commit from https://github.com/dongourdet/cordova-plugin-camera/commit/fa9570399b11af0547fd4ed77892f4c35d383d33 and rebased it on top of the main repo's current master (2023-06-08 https://github.com/apache/cordova-plugin-camera/commit/23642f09b5e72d38bce171041f260674ba297c0e ) and built on an Android 12 before and after and this fix also looks like it solves the problem for our Android device as well.
I see https://github.com/apache/cordova-plugin-camera/milestone/4
If it would help anyone else I can publish / clean up my rebased fork for this fix (there's some whitespace noise in the current PR in case anyone was wondering).
Great plugin, great work identifying the issue!

@JeffBerman I only did a quick test so this could be happening, not sure. We just send build to QA, I'll ask our Android 12 user to test again and update asap.

Just a little update: I'm not sure how relevant this is, but our customer says the patched camera plugin works with their Galaxy tablet but not their Lenovo ones. The Galaxy uses the com.sec.android.app.camera camera package, while the Lenovo uses the com.mediatek.camera package. I'm not too familiar with how Android works, but it sounds like there's some incompatibility between the Mediatek camera software and either Android 11+ or this plugin, that causes it to ask for permission with every photo they take.

@JeffBerman The person who has the Android 12 still hasn't tested, but now Android 13 is a whole new issue for us...
Here's the comment path I've used that seems to work on 13 (still other related issues with cordoav-plugin-file and copying file from gallery)
https://github.com/apache/cordova-plugin-camera/issues/825#issuecomment-1613588878
https://github.com/apache/cordova-plugin-camera/issues/826#issuecomment-1610030014
I'm PRAYING that forks fixed the Android 12 issue as well, so I can just used that and not need to merge in DonGourdet's changes as well.  I will update if I test the fork for Android 13 on an Android 12 device with my results.

Update to my above comment:
I tested on Android 12 wit JUST the fork for Android 13 here (hoping it was the same issue), but it was not apparently.
I then combined both the Android 13 fork here and the Android 12 fork (here) and rebuilt and tested on both Android 12 and 13.  I had to update cordova-plugin-file from 6->8 which required me to update cordova-android as well, and not with my customer double fork, it looks like I have both working.
I got the custom double for by doing the following:

clone cordova-plugin-camera master
add fork1 author as a remote
cherry-pick fork1 master commit
add fork2 author as a remote
cherry-pick fork2 master commit (resolve conflict from whitespace)
install that to my app using ionic cordova plugin add LOCAL_REPO_FOLDER_FOR_CUSTOM_PLUGINS/cordova-plugin-camera

I'll document locally, and then when either / both of these fixes go through, I can revert back to installing from the plugin's page.

they state that every time they take a photo it asks for permission to modify the picture

Yes. This is happening to me as well.  It's better than crashing.  Maybe worth pinging the fork author?  I don't know if that's correct etiquette here tho.

Hi everyone,
I am having the same problem here, happening on different devices, Samsung -
Galaxy M31 , Galaxy A02s , Motorola -  Moto G(8) Power Lite, Xiaomi  - Redmi Note 9
with Android 10 and 12.
The photo taking feature was recently implemented in our app, and I saw that there is a possible solution in the comments. Will this solution be applied to the plugin in question?
Thanks!

Any update on this?

Hi @PabbleDabble Would you consider creating a fork or a pull request with your changes on the original cordova-plugin-camera repository? This could really help others in the community.
Thanks for your contribution!

Thank you very much. It's almost the same as the changes I implemented. But I still don't understand why, even though I work with the image as a blob (last option), it keeps trying to access content://media/external/images/media/ and generating android.app.RecoverableSecurityException. On Android 10 devices, the application crashes; however, on version 13, it generates the error but doesn't close the app.

This was originally opened for API 30 which should have already been fixed in v6 of the plugin, but the issue would re-appear for API 33 devices, which will be resolved by https://github.com/apache/cordova-plugin-camera/pull/844

Can anyone confirm if this is fixed in 7.0.0? Noticed that this error was occurring for some users and I was able to reproduce it using the Timestamp even when using 7.0.0. Perhaps I'm doing something else wrong.

We are using 7.0.0. In the Google Play Store logs we two variations of this error:
Exception java.lang.RuntimeException:
at android.app.ActivityThread.deliverResults (ActivityThread.java:6020)
at android.app.ActivityThread.handleSendResult (ActivityThread.java:6059)
at android.app.servertransaction.ActivityResultItem.execute (ActivityResultItem.java:67)
at android.app.servertransaction.ActivityTransactionItem.execute (ActivityTransactionItem.java:45)
at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2584)
at android.os.Handler.dispatchMessage (Handler.java:106)
at android.os.Looper.loopOnce (Looper.java:226)
at android.os.Looper.loop (Looper.java:313)
at android.app.ActivityThread.main (ActivityThread.java:8810)
at java.lang.reflect.Method.invoke
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:604)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1067)
Caused by android.app.RecoverableSecurityException:
at android.app.RecoverableSecurityException$1.createFromParcel (RecoverableSecurityException.java:197)
at android.app.RecoverableSecurityException$1.createFromParcel (RecoverableSecurityException.java:194)
at android.os.Parcel.readParcelableInternal (Parcel.java:4787)
at android.os.Parcel.readParcelable (Parcel.java:4755)
at android.os.Parcel.createExceptionOrNull (Parcel.java:3018)
at android.os.Parcel.createException (Parcel.java:3007)
at android.os.Parcel.readException (Parcel.java:2990)
at android.database.DatabaseUtils.readExceptionFromParcel (DatabaseUtils.java:190)
at android.database.DatabaseUtils.readExceptionFromParcel (DatabaseUtils.java:142)
at android.content.ContentProviderProxy.delete (ContentProviderNative.java:629)
at android.content.ContentResolver.delete (ContentResolver.java:2340)
at android.content.ContentResolver.delete (ContentResolver.java:2306)
at org.apache.cordova.camera.CameraLauncher.checkForDuplicateImage (CameraLauncher.java:1287)
at org.apache.cordova.camera.CameraLauncher.cleanup (CameraLauncher.java:1253)
at org.apache.cordova.camera.CameraLauncher.processResultFromCamera (CameraLauncher.java:637)
at org.apache.cordova.camera.CameraLauncher.onActivityResult (CameraLauncher.java:888)
at org.apache.cordova.CordovaInterfaceImpl.onActivityResult (CordovaInterfaceImpl.java:160)
at org.apache.cordova.CordovaActivity.onActivityResult (CordovaActivity.java:368)
at android.app.Activity.dispatchActivityResult (Activity.java:9017)
at android.app.ActivityThread.deliverResults (ActivityThread.java:6013)
And:
Exception java.lang.RuntimeException:
at android.app.ActivityThread.deliverResults (ActivityThread.java:6063)
at android.app.ActivityThread.handleSendResult (ActivityThread.java:6102)
at android.app.servertransaction.ActivityResultItem.execute (ActivityResultItem.java:67)
at android.app.servertransaction.ActivityTransactionItem.execute (ActivityTransactionItem.java:45)
at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:139)
at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:96)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2685)
at android.os.Handler.dispatchMessage (Handler.java:106)
at android.os.Looper.loopOnce (Looper.java:230)
at android.os.Looper.loop (Looper.java:319)
at android.app.ActivityThread.main (ActivityThread.java:8919)
at java.lang.reflect.Method.invoke
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:578)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1103)
Caused by java.lang.SecurityException:
at android.os.Parcel.createExceptionOrNull (Parcel.java:3069)
at android.os.Parcel.createException (Parcel.java:3053)
at android.os.Parcel.readException (Parcel.java:3036)
at android.database.DatabaseUtils.readExceptionFromParcel (DatabaseUtils.java:190)
at android.database.DatabaseUtils.readExceptionFromParcel (DatabaseUtils.java:142)
at android.content.ContentProviderProxy.delete (ContentProviderNative.java:661)
at android.content.ContentResolver.delete (ContentResolver.java:2349)
at android.content.ContentResolver.delete (ContentResolver.java:2315)
at org.apache.cordova.camera.CameraLauncher.checkForDuplicateImage (CameraLauncher.java:1277)
at org.apache.cordova.camera.CameraLauncher.cleanup (CameraLauncher.java:1242)
at org.apache.cordova.camera.CameraLauncher.processResultFromCamera (CameraLauncher.java:626)
at org.apache.cordova.camera.CameraLauncher.onActivityResult (CameraLauncher.java:877)
at org.apache.cordova.CordovaInterfaceImpl.onActivityResult (CordovaInterfaceImpl.java:160)
at org.apache.cordova.CordovaActivity.onActivityResult (CordovaActivity.java:375)
at android.app.Activity.dispatchActivityResult (Activity.java:9362)
at android.app.ActivityThread.deliverResults (ActivityThread.java:6056)
I can't reproduce on our devices, but our customers can according to the crash logs.


KeyError: ['message', 'edited_message', 'callback_query', 'inline_query', 'chosen_inline_result']

My bot randomly started throwing this error for every incoming message it received:
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/telepot/init.py", line 761, in get_from_telegram_server
offset = max([relay_to_collector(update) for update in result]) + 1
File "/usr/local/lib/python3.5/dist-packages/telepot/init.py", line 761, in
offset = max([relay_to_collector(update) for update in result]) + 1
File "/usr/local/lib/python3.5/dist-packages/telepot/init.py", line 748, in relay_to_collector
'chosen_inline_result'])
File "/usr/local/lib/python3.5/dist-packages/telepot/init.py", line 61, in _find_first_key
raise KeyError(keys)
KeyError: ['message', 'edited_message', 'callback_query', 'inline_query', 'chosen_inline_result']
This error was thrown while it was running, not in between an update, so I don't think it's anything to do with my code.
I tried generating a new HTTP access token to see if that would fix anything but the error is still being thrown for every incoming message
Is there any way to fix this so my bot can return to functionality?

I think your issue is the same that this one:
https://github.com/nickoala/telepot/issues/184
Try to upgrade telepot to the last version where the problem has been already solved:
pip install telepot --upgrade


[nl] add support for overriding places on any tile **

** except disaster tiles
** found out too late that there's getNamedTypedPlace, but that should be updated to use this new endpoint. will merge later since that touches a lot of other stuff

The highlight is a separate tile that we can add if we'd like. Was just using it for testing :) They all support the place override now.


Add indicator to active item on page load

Resolves http://vjira2:8080/browse/BDS-380

add a custom event to the nav-priority component to let others know when the component is ready to go (like the nav-indicator)
update nav indicator logic to listen for this even before trying to animate if the nav-priority is a nested component AND isn't yet ready to go

@sghoweri this works as expected, and the design is much improved.
One part of http://vjira2:8080/browse/BDS-380 that it doesn't resolve is setting an active item when Gumshoe isn't involved (that is, the links were URLs to other pages and not anchors).  In fact, we're binding Gumshoe to every link with a somewhat broad bolt-nav-indicator a.  That feels a little heavy handed.
In any case, maybe the conclusion is that navbar can only be used for anchor links?

@remydenton i think we need to iterate - plain and simple. Maybe merge this in and we chat about the next couple things to refine on this on Monday?

@sghoweri this works as expected, and the design is much improved.
One part of http://vjira2:8080/browse/BDS-380 that it doesn't resolve is setting an active item when Gumshoe isn't involved (that is, the links were URLs to other pages and not anchors). In fact, we're binding Gumshoe to every link with a somewhat broad bolt-nav-indicator a. That feels a little heavy handed.
In any case, maybe the conclusion is that navbar can only be used for anchor links?

@remydenton after thinking about this a bit more, I’m not sure the Nav Indicator itself would make a ton of sense to use for anything but anchor links.
Yes, highlighting a non-anchor link that’s active in some way is fine however I’m really worried about the multiple levels of logic in place starting to collide (behavior of anchor vs non-anchor links on the sameness page in the same navbar, especially once you start to factor in scrolling), in addition to not having a clear visual indicator of which links in the Navbar are anchors vs regular links...
Kind of feel like we need to regroup with @theSadowski before expanding on the “active” functionality here.

@remy ^ I’m still ok with you merging in this PR in btw — just referring to additional functionality beyond this!

With regards to non-anchor links (relative/external) in navbar, I'm fairly certain that's expected functionality. In particular, I believe content creators will want to use the navbar as a secondary nav for a subset of pages - suppose there's three pages, where all of them have the same navbar linking to the current and other pages (with the link to the current page being active).
See http://vjira2:8080/browse/WWWD-1779

A content administrator must be able to enter  for a link, and this will indicate that the links must render the current path of the parent node being viewed.
When a Subnav component is displaying a  link, it must add an active class so that the link gets the active theming.

There was even discussion for a while about whether there'd ever be mixed anchor and non-anchor links side by side, but I don't believe that's a use case.
The title is occasionally a link to another page (eg https://demo1.d8.pega.com/services/partnerships/incessant) but it looks like that use case is covered already.

To add additional context, non-anchor links in navbar will be a thing when we migrate these industry pages from D7 to D8:
https://www.pega.com/industries/financial-services
https://www.pega.com/industries/insurance
https://www.pega.com/industries/healthcare
https://www.pega.com/industries/communications
https://www.pega.com/industries/government
https://www.pega.com/industries/manufacturing
https://www.pega.com/industries/energy

Thanks for confirming @charginghawk.
@sghoweri, re: your question about how the indicator should work for non-anchor links, I suspect both UX and stakeholders will insist on the indicator for links of all kinds (imo, the usability really falls apart without that).  Let's discuss details with @theSadowski after today's standup though.
I do see the technical challenge here though-- we effectively have duplicate links between the navbar and 'more' dropdown, so it's not as simple as assuming there's a single active link at a time.  That probably doesn't excuse us from making it work though :).  IMO, the current architecture makes Gumshoe too central -- activateGumshoeLink() should really be a generic function (maybe part of the indicator component?) that could either be activated by a Gumshoe event or something else (page load, for instance).
I'm going to merge this in since it solves the problem for anchor links, but http://vjira2:8080/browse/BDS-380 still needs work.


Units that aren't testable or just powers on.

We are needing to input additional information for products that aren't able to be tested or just power on only.  When creating an ad we have to describe exactly what's wrong with the information. If you guys can think of a way to include this with the "Powers on, tested, etc..." sticker that gets attached to products that would be great. Of course if you need any additional information or help I'm here.
Thanks!

Yeah, we can include a field for it

Templating to the rescue!


Makie v0.21 compat

This PR bumps compat to Makie v0.21 as well as adding a patch release.

ERROR: LoadError: LoadError: LoadError: MethodError: no method matching boundingbox(::Makie.GlyphCollection, ::Quaternion{Int64})
Closest candidates are:
  boundingbox(::Any, ::Function) at /home/runner/.julia/packages/Makie/eziUH/src/layouting/boundingbox.jl:17
  boundingbox(::Any, ::Function, ::Symbol) at /home/runner/.julia/packages/Makie/eziUH/src/layouting/boundingbox.jl:17
  boundingbox(::Any) at /home/runner/.julia/packages/Makie/eziUH/src/layouting/boundingbox.jl:17
Stacktrace:
  [1] (::GraphMakie.var"#24#50"{Int64, MakieCore.Automatic})(::Tuple{Int64, Makie.GlyphCollection})
    @ GraphMakie ~/work/GraphMakie.jl/GraphMakie.jl/src/recipes.jl:259
  [2] iterate
    @ ./generator.jl:47 [inlined]
  [3] collect(itr::Base.Generator{Base.Iterators.Enumerate{Vector{Makie.GlyphCollection}}, GraphMakie.var"#24#50"{Int64, MakieCore.Automatic}})
    @ Base ./array.jl:681
  [4] map(f::Function, A::Base.Iterators.Enumerate{Vector{Makie.GlyphCollection}})
    @ Base ./abstractarray.jl:2323
  [5] #23
    @ ~/work/GraphMakie.jl/GraphMakie.jl/src/recipes.jl:256 [inlined]
  [6] #map#13
    @ ~/.julia/packages/Observables/YdEbO/src/Observables.jl:[570](https://github.com/MakieOrg/GraphMakie.jl/actions/runs/9045902924/job/24856138523?pr=183#step:6:573) [inlined]
  [7] map(::GraphMakie.var"#23#49", ::Observable{Vector{Makie.GlyphCollection}}, ::Observable{Any}, ::Observable{Any})
    @ Observables ~/.julia/packages/Observables/YdEbO/src/Observables.jl:570
  [8] plot!(gp::Plot{GraphMakie.graphplot, Tuple{SimpleDiGraph{Int64}}})
    @ GraphMakie ~/work/GraphMakie.jl/GraphMakie.jl/src/recipes.jl:255

needs to be fixed also

Don't know why the doc build fails, works locally...  I'll merge and check again on master, sometimes the doc build has weird errors when triggered from another repo.


Kata star status are not updated inside train page

Katas I starred appears like this in every page accessible from outside (Description, Solutions, Discourse):

But not in the train page:

Maybe #763 is similar issue.

@kazk The star experiences the same issue as #921 as well, but that's probably a separate issue in itself.

I think it's been fixed recently?

Recently to what point? Because I've seen the problem again just some days ago.

I removed some unnecessary caching for the trainer recently, so that probably fixed this one.
I think what @Blind4Basics is describing is #763, and is a different issue.


✨ Mobile | Push notifications (Android)

What triggered this change? (PBI link, Email Subject, conversation + reason, etc)

✏ #380

What was changed?

✏  Infrastructure:

We have 2 projects in Firebase - "SSW Rewards" which is used for Production and "SSW Rewards Staging" used for everything else. Use the ssw developers account to login. You can send test messages in the Messaging service.
Every Firebase project has its own google-services.json file. Technically they are not secret, but it's better not to store them in the repo as it can be forked. Grab google-services.json (staging) from Keeper and then run from the src folder git update-index --assume-unchanged MobileUI/Platforms/Android/google-services.json. Production google-services.json will be inserted during build from Secrets.

How it works:

When the app starts for the first time, the OnNewToken() method in RewardsFirebaseMessagingService.cs is fired. The device token is stored in the SecureStorage. The token can be re-generated, so we cannot rely on it to be unique.
Once the user logs in, we ask for permission and if granted upload the token to the server (see OnAfterLogin() in LoginPageViewModel.cs).
The upload will be triggered every 30 days as per Google's recommendation or when the user switches profiles or when the token is re-generated.
The token is preserved during logout (see SignOut()).
The uploaded token is stored together with UserId and a unique DeviceId. That is done so because the user might use several accounts on one device and might have several devices. The tokens are constantly rotated and cannot be used to represent either a user or a device.
Push notifications wont show up if the app is in the foreground.

Did you do pair or mob programming?

✏ No

See a Done video on the ticket.


Update, design, and implement github pages for React Storybook

React Storybook has been added to show off the components. This is two part as it also provides a nice debugging platform. It would be nice to also be able to share the storybook in Github pages.

#56


Problem selecting JSON in columns with fetchAll([columns])

Bookshelf
Works just fine...
fetchAll({columns: ["jsoncol"]})

But if I try to select a specific value...
fetchAll({columns: ["jsoncol->'value'"]})

I get the error...
Unhanded rejection error: select "jsonbcol->'value'" from ... - column "jsonbcol->'value'" does not exist

Postgres
Works fine without quotes...
db=> select jsonbcol->'value' from device_data;

But when surrounding with quotes, I get the same error...
db=> select "jsonbcol->'value'" from device_data;
ERROR:  column "jsonbcol->'value'" does not exist
LINE 1: select "jsonbcol->'value'" from device_data;

Ideas?

@rmharrison The problem comes from how Knex is serializing your columns parameter. Query comes out like this:
SELECT "jsonbcol->'value'" FROM device_data;

This is coming back as an error because in SQL, it is an expression that has to be evaluated rather than a column. The quotes are causing Postgres to interpret your expression as a column.
I think you should just consider allowing Bookshelf to pull in all of your models, and then to map the data you need after the fact. It will simplify the query, and JS will be able to do this much faster in memory anyways. Maybe something like this:
json_table.forge().fetchAll().then((collection) => {
  return collection.map((model) => {
    return model.get('jsonbcol').value;
  });
});

With that in mind, if you only want to return that specific column, I recommend you drop down to using Knex directly. Example of that below:
knex.select(knex.raw("jsonbcol->\'value\'"))
    .from('device_data')
    .then((rows) => {
        return _.map(rows, '?column?'));
    });

Let me know if you have any more questions!

@rmharrison You could use
var Bookshelf = require('bookshelf')(knex); // Bookshelf instance

// use it somewhere after declaring models
fetchAll({columns: [Bookshelf.knex.raw("jsoncol->'value'")]})

This should work, as internally knex.select(columns) is called. (knex.select)

@vellotis Good call, but I think you should avoid limiting columns like that in a Bookshelf model. Don't see much of a problem just dropping down and using Knex directly.


matchCohort - extra matching variables

It would be nice to think of a way to allow users to go beyond year on sex, and match on other omop fields

use case

include visit occurrence as additional factor for matching


Update HasFormParams.php

bootHasBodyFeature was never called when using this trait since its not folowing the correct naming convention.
This change solved that issue and the data is attached correctly.

@ronnievisser This is now in v0.7.1


zxing cannot read Numpy non-c-contiguous arrays (slices)

In numpy it is possible to get a "slice" of an array. That is actually a view into another array.
This is achieved using memory tricks and that means the array is no longer contiguous in memory.
It is super common to do in image analysis because barcode readers will often scan just in a specific area.
I think zxing should check whether an array is contiguous and throw an exception if it's not.
Or it could make the array contiguous (using numpy.ascontiguousarray function) but might cause memory issues in some scenarios.
Here's an example of a code that shows the problem and the soluton:
import cv2, zxingcpp, numpy

frame = cv2.imread('bc.jpg')
bcs = zxingcpp.read_barcodes(frame)
print(f'found {len(bcs)} barcodes in frame')

win = frame[0:300,0:644,:]
print(f'found {len(zxingcpp.read_barcodes(win))} barcodes in window')

win = numpy.ascontiguousarray(win)
print(f'found {len(zxingcpp.read_barcodes(win))} barcodes in window as contiguous')

Here's the example image

I have no idea how to do this in python c interface or I would have made a pull request

Is this fixing the code above for you?
I tried to recompile but it still fails for me
maybe I'm missing something?

thanks for the quick fix! this works for me


Starter POMs for Spring Cloud AWS

I created 3 starter POMs for Spring Cloud AWS. Could you please add them to the spring-cloud-starters project?

I also pushed this change onto RC2.
BTW you forgot to put the jdbc and messaging starters in the parent dependencyManagement (I added them).


ListObjects: don't walk parent directories

similar to https://github.com/versity/versitygw/pull/904, avoid walking parent directories that are above the prefix

This won't automatically run in continuous integration without approval. A member of the Versity organization must allow it.


Fixes #14304: Fixed yii\validators\UniqueValidator and yii\validators\ExistValidator to skip prefixes in case expressions are used

Q
A

Is bugfix?
yes

New feature?
no

Breaks BC?
no

Tests pass?
yes/no

Fixed issues
#14304

Issue is solved by it seems something else is now broken. Need to re-check tests...


KubeletVersion error

Hi ,
I am try to bring up kubernetes in my RPI 3+..
I have followed the steps specified in the following location.
https://blog.hypriot.com/post/setup-kubernetes-raspberry-pi-cluster/
I am struck with the following error.
kubeadm init --pod-network-cidr <IP_ADDRESS>/16
[init] Using Kubernetes version: v1.10.4
[init] Using Authorization modes: [Node RBAC]
[preflight] Running pre-flight checks.
[WARNING SystemVerification]: docker version is greater than the most recently validated version. Docker version: 18.04.0-ce. Max validated version: 17.03
[WARNING FileExisting-crictl]: crictl not found in system path
Suggestion: go get github.com/kubernetes-incubator/cri-tools/cmd/crictl
[preflight] Some fatal errors occurred:
[ERROR KubeletVersion]: couldn't get kubelet version: exit status 2
[preflight] If you know what you are doing, you can make a check non-fatal with --ignore-preflight-errors=...
I am not sure on what i am missing here.
Any help will be appreciated.
-Dinakaran.AS

I've been following https://github.com/kubernetes/kubernetes/issues/64234 which I think looked like your issue when I found it, but there is a new release that I haven't tried yet (1.10.4). I have my pis still pinned to 1.10.2.

I have an issue with 1.10.2 ..

Closing due to inactivity


CLI - asc should not be assumed globally available when running local build strategy

While running tests, I noticed that the local build strategy was failing to build, giving me an output of asc not found.
Looking into local.sh I found out that the default build script assumes that asc is present as a global command (e.g. npm i -g typescript), whereas my setup did not have this.
I have changed the script to assume that TS is present locally (yarn should take care of that) and switched to running it using npx asc...
Let me know if this is something we don't want to have.

Using npx makes sense to me, since it will resolve local & global installs (in that order).


Feature request: Ability to vary RSSI and SNR

Enabling the adjustment of SNR and RSSI, and thereby the transmission strength of simulated devices to real gateways, would enhance the realism of test scenarios. This is particularly essential for evaluating ADR algorithms, which respond directly to changes in SNR. The option to set these parameters either statically or dynamically over time would greatly enhance the value of such testing.

Interesting, this feature could be very useful in the research and testing field, we will add it in the next version

before this new feature we need to fix some issues


I press start and nothing happens

Hello, I have an issue, actually it's been a while, the issue is when I press the start button and nothing happens

Eh nvm now fixed with desktop mode


Simulation Error: Cannot cast from source type to destination type

Describe the problem
Tried to load this save up today and it kept spitting out this error, I would rather not lose all this work.
This save is the only one not working it seems.
Steps to reproduce

Attempt to Load the Save

Log files
https://ufile.io/d28x2xqa - Output_log.txt
Savegame?
Will add when steam's servers start working again.
I have disabled all my mods and all my assets, separately, and still, get this error, google leaves me at a loss on what to do.
Any help would be much appreciated

Why you even think it's TM:PE error?
Disabling mods will not solve your problem, because that save file needs specific mod(s) enabled but at a time you are trying to load that file, mod is disabled or unsubscribed, causing and error.
I suggest subscribing to Mod Compatibility Checker and follow instruction in mod description, but first go to Content Manager -> Saves, find that save file and hit Subscribe All and then Enable All to make sure you subscribe all mods and assets that are necessary to load that savegame. Reopen game after subscribing and enabling mods to properly reinitialize mods and assets

Evidently I was missing an asset, I subscribed to it and clicked enable all.
Whenever I restart Cities: Skylines, however, all mods are suddenly disabled.

Game config is probably corrupted, you need to enable all and restart again. It's hard to tell why it corrupts, but sometimes it does. Usually restarting game helps

I've restarted, enabled, then restarted several times. All mods keep getting disabled.
I managed to get the mods to stay after clicking Enable All, still get the same error
Output log https://ufile.io/athj0tln

Subscribe to Mod Compatibility Checker, link above.
Do you have 81 tiles mod enabled when you are trying to load savegame?

Okay
Yes I do.

Also unsubscribe FineRoadAnarchy and FineRoadTool since you have newer version subscribed

Output of the mod compatibility checker
https://ufile.io/0nbwjjun

"Proper Hardness Mod - KHFork"

The Proper Hardness mod is incompatible with vast numbers of other mods. Assuming it's similar to the one in the workshop, these are its compatibility vectors:
{<PHONE_NUMBER>uL, Status.Incompatible }, // Game Speed mod
{<PHONE_NUMBER>uL, Status.Incompatible }, // Easy Mode: Money Mod
{<PHONE_NUMBER>uL, Status.Incompatible }, //<PHONE_NUMBER> Extended Building Information (1
{<PHONE_NUMBER>uL, Status.Incompatible }, // Free Maintenance by Anvilarse
{<PHONE_NUMBER>uL, Status.Incompatible }, // Realistic Population revisited
{<PHONE_NUMBER>uL, Status.Incompatible }, // RICO revisited
{<PHONE_NUMBER>uL, Status.Incompatible }, // Extended Building Info (live627)
{<PHONE_NUMBER>uL, Status.Incompatible }, // EasyMode
{<PHONE_NUMBER>uL, Status.Incompatible }, // Stops & Stations
{<PHONE_NUMBER>uL, Status.Incompatible }, // Anxiety Reducer
{<PHONE_NUMBER>uL, Status.Incompatible }, // Real Time Offline
{<PHONE_NUMBER>uL, Status.Incompatible }, // Money Back (Refund)
{<PHONE_NUMBER>uL, Status.Incompatible }, // Real Construction
{<PHONE_NUMBER>uL, Status.Incompatible }, // Mary's Mod
{<PHONE_NUMBER>uL, Status.Incompatible }, // 真实人口，低密度只有一户人，高密度人口容量变大
{<PHONE_NUMBER>uL, Status.Incompatible }, // Show It!
{<PHONE_NUMBER>uL, Status.Incompatible }, // EnhancedBuildingCapacity - Fixed
{<PHONE_NUMBER>uL, Status.Incompatible }, // Infinite Demand Mod
{<PHONE_NUMBER>uL, Status.Incompatible }, // Real Time
{<PHONE_NUMBER>uL, Status.Incompatible }, // Ticket Price Customizer
{<PHONE_NUMBER>uL, Status.Incompatible }, // Full Refund Cost[Industries Compatible]
{<PHONE_NUMBER>uL, Status.Incompatible }, // Ploppable Rico High Density Fix
{<PHONE_NUMBER>uL, Status.Incompatible }, // Extended Building Information (1.10+)
{<PHONE_NUMBER>uL, Status.Incompatible }, // Adjustable Business Consumption
{ 938049744uL , Status.Incompatible }, // Proper Hardness Fixed
{ 931330091uL , Status.Incompatible }, // 410344523 PopBalanceMod
{ 928988785uL , Status.Incompatible }, // Extended Building Information (billw)
{ 838095079uL , Status.Incompatible }, // Cheaper Hydro Electric Power
{ 819155459uL , Status.Incompatible }, // 超级需求 (super RCI demand)
{ 767788339uL , Status.Incompatible }, // More Demands Configurable
{ 670422128uL , Status.Incompatible }, // Extended Building Information (Hedgehog)
{ 586012417uL , Status.Incompatible }, // Ploppable RICO
{ 426163185uL , Status.Incompatible }, // Realistic Population and Consumption Mod v8.4.0
{ 414469593uL , Status.Incompatible }, // Extended Building Information (emf)
{ 411190402uL , Status.Incompatible }, // Building Simulation Overhaul
{ 410344523uL , Status.Incompatible }, // PopBalanceMod
{ 408706691uL , Status.Incompatible }, // Proper Hardness

You have two versions of Advanced Vehicle Options (AVO) subscribed; unsubscribe the old one.
I've had some reports that "Mods Listing" mod is broken since Sunset Harbor update (not had time to test myself yet). Might be worth removing it.

I'll remove it.
I think it is just safe to say that this save died, my fault for not routinely saving.

Closing (external issue, links to log are dead).


Hide Action row

$this->crud->denyAccess(['create', 'update', 'reorder', 'delete']);
i want to show list only so no need of blank actions column

Maybe you can copy list.blade.php from the /vendor folder to your /ressource folder and just remove the column. But it will remove it for all the crud lists of your project.

Hi @karandatwani92 ,
Try $this->crud->removeAllButtons() or $this->crud->removeAllButtonsFromStack('line').
Should hide it for you.
Cheers!

How I can hide action column. I used what is mentioned here but no success
I used this code bellow
$this->crud->denyAccess('show');
$this->crud->denyAccess('create');
$this->crud->denyAccess('delete');
$this->crud->denyAccess('update');
All buttons are hidden however the action column is still there and is smpty

In Backpack 4.0 you can completely hide the Actions column by removing all buttons from the "line" stack, when configuring the "List" operation:
protected function setupListOperation()
{
    // ..
    $this->crud->removeAllButtonsFromStack('line');
    // ..
}

Maybe we should create an alias to that? Something like hideActionsColumn()? If anybody else stumbles upon this thread and thinks we should add it, please say so.

If you remove all buttons from the line stack it's intended/expected that the column will not show.
The alias don't hurt, but we'll, in my opinion remove buttons is enough.
I think anyone that bumps into this will just remove the buttons.
Best


fix(icon): add media query style for WHCM

This change: (check at least one)

[ ] Adds a new feature
[x] Fixes a bug
[x] Improves maintainability
[ ] Improves documentation
[ ] Is a release activity

Is this a breaking change? (check one)

[ ] Yes
[x] No

Is the: (complete all)

[x] Title of this pull request clear, concise, and indicative of the issue number it addresses, if any?
[x] Test suite(s) passing?
[ ] Code coverage maximal?
[x] Changeset added?
[ ] Component status page up to date?

What does this change address?
This addresses issue #688 where Pharos icons were not visually appearing while navigating screens with Windows High Contrast Mode.
How does this change work?
Added a media query that targets the forced-colors user preference and sets the SVG attributes fill and stroke to the currentColor.
Additional context
Resolves #688

@sirrah-tam can you link to some docs/info about using currentcolor for this purpose? It's one I'm fairly unfamiliar with!

Just copied over the references I included in the original issue for this to the PR description.

Ope, sorry if I missed those


chore(main): release 1.3.3

:robot: I have created a release beep boop
1.3.3 (2024-05-27)
Bug Fixes

类型 InfoWindow 缺少 extra data 相关方法 (0f6b7eb)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/xyy94813/amap-jsapi-v2-types/releases/tag/v1.3.3 :sunflower:


Target netstandard1.5 for Avalonia NuGet package

This is continuation of work done in https://github.com/AvaloniaUI/Avalonia/pull/930

Codecov Report

Merging #931 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #931   +/-   ##
=======================================
  Coverage   60.48%   60.48%
=======================================
  Files         539      539
  Lines       20389    20389
  Branches     2913     2913
=======================================
  Hits        12332    12332
  Misses       7205     7205
  Partials      852      852

Continue to review full report at Codecov.

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

We can't do that. Current code is only somewhat compatible with netstandard1.5 because of a hack in Avalonia.DotNetCoreRuntime: https://github.com/AvaloniaUI/Avalonia/commit/a5467c31e574010bd09644372b4c396dc8d7ef09
This hack was introduced because we had to support both VS2015 and VS2017 RC for a while and will be removed since original code with DependencyContext can't be used with netstandard.15

Can we use netstandard1.6 here instead of netcoreapp1.0?

The package that we need is Microsoft.Extensions.DependencyModel which actually targets netstandard1.6 instead of netcoreapp1.0, so I guess that we can do that. I'm currently changing the code back to using DependencyContext, so we could check if anything breaks.


Upgrade U2F to WebAuthn

Using web-auth/webauthn-lib as the library (documentation).
Probably need to refactor the 2FA management page entirely as well, as multiple webauthn tokens can theoretically be registered.
There's some API calls and JS interaction I don't fully understand yet, so more investigation needed.
We should not use any attestation types, and we should probably focus on cross-platform (aka roaming) authenticators. If we're supporting multiple tokens, we also need to consider how to identify the different tokens in the UI. If we use platform-specific tokens, then the token is limited to one device, so only that one device would be able to log in (aka using Android screen lock, or Windows Hello on one device). Cross-platform tokens cover things like YubiKeys in U2F mode which can move between devices, hence in theory only one is "needed".

[x] Single-authenticator registration
[x] Single-authenticator un-registration
[x] Authentication
[x] Multiple authenticators
[x] Kill off U2F

Moved to H2, since this is much more complex than I expected.

This basically isn't going to get done in any realistic fashion. There's a PR (#666) with the code that needs to be done to get this live, though it needs work to bring it up-to-date with recent changes to the tool itself.
I'm going to close this without prejudice to someone else doing the work to carry it forward, but I'm not going to look at it again until there's commitment to review it from others.


Keyboard pushes model input outside of view

Problem description
I have a modal with an input, when I focus the input the keyboard pushes the full modal up and makes the input not visible. Check video: https://monosnap.com/file/8CpXW2O7JgASLqUa545tJ0ECxsryai
I tried with the native modal and the problem persists.
Expected behaviour
Should only push the view slightly up to make sure that the input is not behind the keyboard (as it usually happens when using KeyboardAvoidingView.
Code Snippet
Styles:
import { StyleSheet } from 'react-native';

export default StyleSheet.create({
  modal: {
    margin: 0
  },
  wrapper: {
    position: 'absolute',
    bottom: 0,
    width: '100%',
    display: 'flex',
    flexDirection: 'column',
    alignItems: 'center',
    backgroundColor: 'white',
    padding: 20,
    height: 550
  },
  ...
});

JSX:
<Modal
    avoidKeyboard={false}
    style={styles.modal}
    isVisible={isOpen}
    onBackButtonPress={this.props.onCancel}
    onBackdropPress={this.props.onCancel}
>
    <View style={styles.wrapper}>
        <FormInput
            label="Quantity"
            type="number"
            required
            onChange={this.handleInputChange}
            value={this.state.quantity}
            error={errors.quantity}
        />
        ....
    </View>
</Modal>

Versions
    "react": "16.6.3",
    "react-native": "0.58.3",
    "react-native-modal": "^7.0.2",

Hey @canastro , thanks for reporting the issue following the template 🙏
Unfortunately the issue is not related to the react-native-modal package, it's just how the keyboard works on Android.
I would suggest looking for a way to change the behaviour by searching for the android:windowSoftInputMode docs.

This happens for iOS as well. I think this should be reopened

to me it happens only on Android, in iOS only the 'KeyboardAvoidingView' is pushed up, while in android the whole modal is pushed up

This will help you: https://github.com/react-native-community/react-native-modal/issues/344#issuecomment-629400548


Trader charset issue, pound sign is replaced with "?1/2"

Bug: missing £ character in trader menu.
Repro: open trader menu and observe the prices

Fixed by b6bc286.


Feature request: Make component more agnostic

I like this project and am considering forking it to implement a feature request, but wanted to document the request first.
It would be great to have ContextMenu be more of generic Menu component with the option for it to become a context menu via a prop passed to the trigger component.
Something along the lines of <MenuTrigger context={true} />.
Thanks for the project!

I've got similar requests in past.
Let me explain my point of view:
The definition of a context-menu (AFAIK) is a menu that opens on right-click.
If we make this a generic menu, then:

It will break existing user code.
Project might have to be renamed. (I'm not comfortable with this option).

I do not understand the use case for opening a menu on left click. For such cases, I prefer using something like dropdown menu.
Please correct me if I'm wrong and let me know the use case of what you are proposing.

I was thinking about writing this feature too but instead found that calling the method handleContextClick from the ContextMenuTrigger was enough flexibility to give the context menu other roles within my application.
For example, a button like this (http://i.imgur.com/5Qsu2yW.png) opens the context menu manually. It works in the same way a drag handle works for a draggable div - the button is the only area the user can left click to open the menu.
let contextTrigger = null;

const toggleMenu = e => {
    if(contextTrigger) {
        contextTrigger.handleContextClick(e);
    }
};

return (
    // Handles my right clicking of the artwork
    <ContextMenuTrigger ref={c => contextTrigger = c}>
        <img src="artwork.jpg" />
        // The artwork has a menu icon on top of it, allowing for left click
        <button onClick={toggleMenu}><Icon name="more_vert" /></button>
    </ContextMenuTrigger>
    <ContextMenu>
        ...
    </ContextMenu>
);

It doesn't turn it into a perfect dropdown menu but that's not what this component is, and if you need that then you should install a dedicated dropdown-menu component.

@danbovey Can you create new FAQs section in Readme and document the same and open a PR?

^ Done. I'd suggest moving the FAQs to the Wiki, the README already feels extremely long for such a simple API.
Maybe, convert the props documentation into table format?

Property
Type
Required?
Description

id
String
✓
A unique identifier for a menu.

hideOnLeave
Boolean

Hides the context menu on mouse leave.

Table format PR'ed in #90 😄


Error on python 2.7

I get the following error:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner
    self.run()
  File "/usr/local/lib/python2.7/dist-packages/pyomegle/pyomegle.py", line 32, in run
    self.instance.client_id = data['clientID']
KeyError: 'clientID'

Is this problem related to the api?

Happens when your clientID is 1) revoked 2) proxy web servers 3) VPN services.


Merkle Patricia Tree

Some observations:

The size of the proofs isn't actually < log(D) (with D the size of the UTxO), but it's closer to log(D) * log(D) ... For UTxO of size 100, I couldn't find counter examples greater than 25 for example. Still, it means that for UTxO of such size, verifying a single transaction may require 25 hashes! Even with small hashes, that truly limits the number of transactions that can be in flight (~20).

The implementation isn't "on-chain" friendly at the moment, but the only parts which really need to end up in a contract are add and delete, which are rather self contained and can be fully implemented as on-chain code (provided that the hash algorithm gets hard-coded or passed as argument).

Verifying that an out-ref belongs to a Merkle-Patricia tree requires around 33 hashes (34 in worse scenarios). For many transactions, this may be an issue w.r.t to the execution budget of a contract, maybe (haven't done the maths yet really..) ?

PS: I've put some effort into the Haddock documentation, so a good starting step for reviewing this may be to look at the exposed module interface first by running cabal haddock merkle-patricia-tree

Questions to answer (from @ch1bo):

Why hash the prefix(es)?
How does it compare to standard Patricia-Trie; could we re-use known algorithms for inserting / removing elements?

Question is: Should this really be part of our codebase? We want Plutus to be able to handle MPT membership and possibly add/delete so this should probably be a standalone library?

And BTW, I really appreciate the documentation effort and the property tests. FWIW I gave doctest a shot to see if we could embed the properties as doctest fragments but it's a PITA to work with the dependencies as doctest relies on GHCi which means providing the right package db descriptors and what not

Question is: Should this really be part of our codebase? We want Plutus to be able to handle MPT membership and possibly add/delete so this should probably be a standalone library?

It is a standalone library. It just happen to be located in our repository ^.^ ... It has no dependency with Hydra however. So the question maybe is: shall we create another repository for that?


Login API

Provide API for login, authorizing "add locality" API

the url : "v1/healthsites/login/social"
social is :

facebook
twitter
openstreetmap
github
google
linkedin

put parameter ?next=url
to redirect to next url after login

Already implemented, using social network, but in hold, to be change based on HCID request in future
https://github.com/healthsites/healthsites/pull/664


nix-update: 0.10.0 -> 0.11.0, add figsoda as a maintainer

Diff: https://github.com/Mic92/nix-update/compare/0.10.0...0.11.0
Changelog: https://github.com/Mic92/nix-update/releases/tag/0.11.0
Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 206312 run on aarch64-linux 1

1 package built:

nix-update


add error indicator for invalid artifactId

Summary

add error indicator for invalid artifactId
How did you test this change?

[ ] Test(s) added
[x] Manual testing (please provide screenshots/recordings)
[ ] No testing (please provide an explanation)

lets also add a patch message to changeset


[README.md] better info about parameters

added better example of paramters to docs + link to page with all parameters @edorofeev

@Gallaecio one thing to note is that some parameters are not documented in the website of Fetch API. I'm not confident if they are official or not? @edorofeev Should we also add parameters to website? I can do it too, it will speed up things next time I need to set up some spider for Fetch api


Update Docker version on Jenkins salve to 18.06.3

As observed in #4531 the Docker version running on Jenkins build is old and does not support some features. We should update the Docker version to match whats being used on Travis i.e. 18.06.3~ce~3-0~ubuntu
Without this one of the test related to standalone would fail on Jenkins build

I will update the version if there is no other reason not to do.

I updated the docker version on all 3 Jenkins slaves(openwhisk-vm1-he-de ~ openwhisk-vm3-he-de).
Since I just removed the old version and installed the new one, we may need a sanity check if there are other configurations that I am not aware of.
@houshengbo Could you check once?
I just installed 18.06.3~ce~3-0~ubuntu according to the Docker official guide.
https://docs.docker.com/v17.12/install/linux/docker-ce/ubuntu/#install-docker-ce-1
root@openwhisk-vm1-he-de sudo apt-get install docker-ce=18.06.3~ce~3-0~ubuntu
.
.
.
root@openwhisk-vm1-he-de /run/runc # docker version
Client:
 Version:           18.06.3-ce
 API version:       1.38
 Go version:        go1.10.3
 Git commit:        d7080c1
 Built:             Wed Feb 20 02:27:18 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.06.3-ce
  API version:      1.38 (minimum version 1.12)
  Go version:       go1.10.3
  Git commit:       d7080c1
  Built:            Wed Feb 20 02:26:20 2019
  OS/Arch:          linux/amd64
  Experimental:     false

@style95 since you are already working on the systems anyway... is memory cgroup support for swap limits enabled?
https://docs.docker.com/install/linux/linux-postinstall/#your-kernel-does-not-support-cgroup-swap-limit-capabilities

Yes, it seems that.
root@openwhisk-vm1-he-de /run/runc # cat /etc/default/grub | grep swap
GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"

@style95 thanks a lot for checking!

@style95 Recent runs on Jenkins are still failing with same error. For e.g. see https://builds.apache.org/job/OpenWhisk-Playground/484/testReport/org.apache.openwhisk.standalone/StandaloneServerTests/Wsk_Action_REST_should_create__and_invoke_an_action_that_utilizes_dockerskeleton_with_native_zip/
It still shows
[2019-07-05T07:13:37.807Z] [ERROR] [#tid_flYRXaB7W7ixskT7uwqZuLJTgRLXthZW] [ExtendedDockerClient] info: command was unsuccessful, code: 125 (unsuccessful), stdout: , stderr: unknown flag: --until
See 'docker logs --help'. [marker:invoker_docker.logs_error:3761:18]

@chetanmeh the error from your recent comment comes from following code location, right?
https://github.com/apache/incubator-openwhisk/blob/ee33c22224515d0161b5b595b0d45dbc14164c6e/core/invoker/src/main/scala/org/apache/openwhisk/core/containerpool/docker/DockerCliLogStore.scala#L67-L81
I wonder whether that error occurs on the client (=Docker CLI) side...
But according to following Dockerfile, the Docker CLI in the invoker image should be on 18.06.3-ce.
https://github.com/apache/incubator-openwhisk/blob/ee33c22224515d0161b5b595b0d45dbc14164c6e/core/invoker/Dockerfile#L22

@chetanmeh
I checked the version of jenkins machine, and it seems the docker version is reverted.
root@openwhisk-vm2-he-de ~ # docker version
Client:
 Version:      17.05.0-ce
 API version:  1.29
 Go version:   go1.7.5
 Git commit:   89658be
 Built:        Thu May  4 22:10:54 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.05.0-ce
 API version:  1.29 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   89658be
 Built:        Thu May  4 22:10:54 2017
 OS/Arch:      linux/amd64
 Experimental: false

I am not sure this is automatically done during any CI/CD pipeline or done by someone else intentionally.

I tried on one of my invoker containers and it looks good:
# docker version
Client:
 Version:           18.06.3-ce
 API version:       1.38
...

As far as I understand, API version 1.35 is required (and sufficient) for docker logs --until.

@style95 good finding...

Let me upgrade the docker version again.
@houshengbo Do you have any idea on this?

 We do not see anything regarding docker.
One remark I have is that all the VMs under Apache are controlled by some default configurations: for example, I used to add some parameters into a config file(forgot the name) about the ssh connections among these three VMs. The config files always revert to the original content after a certain while. I suspect that docker 17.05 is probably configured for the VMs, so they revert the version of docker if it does not match.

Opened infra ticket https://issues.apache.org/jira/browse/INFRA-18708

Let me try one more time for upgrading the docker.

Latest builds now pass. So we can close this issue. Thanks @style95 and @houshengbo !!

So good hear that : )


improvement  Rename fail wal to tmp should only use in test P0 scenario

Proposed changes
Rename fail wal to tmp should only use in test P0 scenario
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


update Avalonia

Avalonia 0.10?

@jinyuttt Hi! Check develop-branch, she is work on avalonia 10.0.
https://github.com/Splitwirez/AvaloniaRibbon/tree/develop
You can download develop-branch and add it to yourself as a project.

Done and done. Avalonia 0.10.0-compatible update went up to nuget yesterday.

Great, good job @Splitwirez


Dev timeseries convert to json fix for missing values

Updated the convertToJSON method to derive the value class from the first not null value in the data series instead of the very first value element to avoid NullPointer exceptions in case of missing data

Rather than using explicit integer indexing, please rewrite your loop using an iterator.

This comment has been addressed by commit d96bb290787b0fe57abc78fec3f03848eb4f43f7

Careful - every time you call next() on an iterator, it moves the iterator to the next element! You've got three occurrences of next() in what is meant to be a single loop iteration...

This should be fixed by commit 71bc2b81720cc171507b544baed3d66bc9adb263

I'm not sure what will the visualisation show if you set the class to "Unknown", as far as I know the current framework accepts either "Boolean" or "Number" (because of the CReDo project). This can certainly be improved and requires coordination with Michael

I'm not sure what will the visualisation show if you set the class to "Unknown", as far as I know the current framework accepts either "Boolean" or "Number" (because of the CReDo project). This can certainly be improved and requires coordination with Michael

Just looping in @mdhillmancmcl on this topic.
The behavior of the DTVF is as follows:

For missing (i.e. null) values in a "Numbers" series, the data points will simply not been shown (figure 1)
Setting the class to "Unknown" does not seem to cause any issues (at least if all values as missing, i.e. null) (figure 2)

Hence, I believe there is no further amendment needed; however, we could change "Unknown" to "Number" with all values missing if we really want to push for explicitly supported value formats.
Let me elaborate why we need this in the first place: While developing the agent to instantiate and retrieve the MetOffive live weather data I noticed, that normally 6-9 parameters are reported at the same frequency; hence, are stored as one time series. It can happen that some values are not always reported, e.g. wind gust. Depending on the time frame for which to retrieve data, it can happen that all values for an individual time series (i.e. dataIRI) might be missing (i.e. null).

If it's all empty, I think it's better to just take out the column from the JSON?

For an operation this simple, I'm happy using a for-loop. But it's worth noting that there are places (particularly in any code that could be run by multiple threads) that better suit iterators, or Java 8s Streams API (which is faster over larger collections).

also a note, the getValuesAs____ methods in the TimeSeries class need to be improved to deal with nulls

also a note, the getValuesAs____ methods in the TimeSeries class need to be improved to deal with nulls

This should be addressed by commit https://github.com/cambridge-cares/TheWorldAvatar/pull/182/commits/48a8a336161661174cd08408268f0b5e48f90390


SoftCommit

How do you see to implement "soft commit" in AddOrUpdate and Delete methods?

Hi Davalillo,
as I understood soft commit is just an extra parameter (softcommit=true) which need to be passed to update/delete handler?

I think so. I can try to implement this by myself and upload it to the repository.

Hi devalillo,
I made this change already yesterday :)
try to update the lib to a most recent version (<IP_ADDRESS>)
You will find an overload method for Delete and AddOrUpdate methods accepting a bool softCommit parameter - set it to true.


Add a -flush_pool flag to the PlannedReparentShard command

We find ourselves doing PlannedReparentShard, a lot.....as it stands it's a pretty painful and disruptive process for us.

Our Percona version crashes when doing performing this operation due to a Semi-Sync bug (not what I'm writing about) Detailed Here: https://bugs.launchpad.net/percona-server/+bug/1641193
The vttablet healthchecks fail during this process when the vttablet process blocks while waiting for the transaction pool to flush (when we had our transaction timeout set to 10m this actually caused kubernetes to think that the health check at /debug/vars was "failed" and it took action to restart the tablet container mid Reparent)
Our application experiences a fair amount of disruptive "SHUTTING DOWN" errors from the vtgates/vttablets while performing a PlannedReparentShard. We have our transaction timeout limits set to 5 minutes, so in the worst case scenario we have a tablet "down", throwing back "SHUTTING DOWN" errors upwards of 5 minutes.

The really important one is that last one. Given that no new queries can pass through the vttablet process anyways I propose that we add an optional, -flush_pool flag, to the PlannedReparentShard process to forcefully terminate and rollback transactions to immediately clear the transaction pool.
This should allow us to reparent more quickly, with less disruption to the services using Vitess.

After talking to Sugu, he agreed to take this on.
We are also proposing a slightly different flag, that would be a duration, on how long to wait until we kill all existing transactions. With a value of 0s, it would be the same as the flag you propose. But it's more flexible with an actual duration, so you could use 5s or 10s to not kill ongoing short-lived transactions, but kill the long-lived ones.

In #2301, I've added a new flag transaction_shutdown_grace_period that will make vttablet shutdown sooner if there are lingering transactions.


native image gradle extenstion too

it seems there is only a native image maven extension but no gradle. as eg jib itself use gradle it'd be nice to add gradle extension too.
https://plugins.gradle.org/plugin/org.graalvm.plugin.native-image
or:
https://github.com/palantir/gradle-graal

I'm sure you already know this, but the Jib Maven extension depends on the official Quarkus Maven plugin. We are aware that there is also the Gradle plugin, but it has been in the preview state forever. We thought we should wait before committing to release a first-party extension until they become stable and there is a userbase big enough to justify spending our resources on it. Right now, I think it isn't really risky to support the alpha plugin, but still, this would be a very low priority for us. Please thumps-up the issue if you want this to happen more quickly. We also welcome contributions.

The work to move the Gradle plugin out of beta is here: https://github.com/quarkusio/quarkus/issues/10189

@nickcaballero thanks! I subscribed to the Quarkus issue. Once it goes out of beta, we will reconsider the priority. But as we said, we welcome contributions, as our resources are pretty tight.

Ugh, sorry folks. I mistakenly mixed Quarkus into this issue where Quarkus has nothing to do with. What a grand mistake! :tired_face: (We already have Maven and Gradle extensions for Quarkus apps.) Please forget Quarkus.
The issue—as OP described—is that, while Jib has the Native Image extension for Maven, we don't have a Gradle counterpart.
That said, the Jib Maven extension depends on the official GraalVM org.graalvm.nativeimage:native-image-maven-plugin, which I think is superseded by the new plugin org.graalvm.buildtools:native-maven-plugin. It's likely that the new native-image-plugin still works in the same way the original one does, so our Jib extension may continue to work well. But if anyone finds it broken, please file a new issue.
For Gradle, they now have an official Gradle plugin that looks reliable, so nothing is blocking us to have a Gradle extension for that. Contributions are highly welcome.

For the help wanted on this are you wanting a pull request with a gradle port of the maven plugin that will be taken on as a first party plugin?
I have a forked version with some simple support that maybe of some help.

@M-Whitaker Yes, the gradle plugin should go in /jib-extension/first-party; next to the maven plugin.
Thank you!


[Snyk] Security upgrade cryptography from 3.2 to 41.0.3

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to fix one or more vulnerable packages in the `pip` dependencies of this project.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

requirements.txt

Vulnerabilities that will be fixed
By pinning:

Severity
Priority Score (*)
Issue
Upgrade
Breaking Change
Exploit Maturity

471/1000  Why? Recently disclosed, Has a fix available, CVSS 3.7
Insufficient Verification of Data Authenticity SNYK-PYTHON-CRYPTOGRAPHY-5813745
cryptography:  3.2 -> 41.0.3
No
No Known Exploit

551/1000  Why? Recently disclosed, Has a fix available, CVSS 5.3
Denial of Service (DoS) SNYK-PYTHON-CRYPTOGRAPHY-5813746
cryptography:  3.2 -> 41.0.3
No
No Known Exploit

471/1000  Why? Recently disclosed, Has a fix available, CVSS 3.7
Denial of Service (DoS) SNYK-PYTHON-CRYPTOGRAPHY-5813750
cryptography:  3.2 -> 41.0.3
No
No Known Exploit

(*) Note that the real score may have changed since the PR was raised.
Some vulnerabilities couldn't be fully fixed and so Snyk will still find them when the project is tested again. This may be because the vulnerability existed within more than one direct dependency, but not all of the affected dependencies could be upgraded.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Denial of Service (DoS)

Newer version merged in


feat(#0000) - Trigger WhiteSource scanning

WhiteSource Support contacted us with the following message:

I'm following up on my note from last week regarding the hot fix deployed to fix gradle repository scans in GitHub.
I confirmed that the fix was deployed and retested the following:

Downloading and scanning your repository locally using the Unified Agent
Scanning a fork of your repository using AUTO config
Scanning a fork of your repository using LOCAL config

In all 3 cases a project was successfully created from the repository (I received the same counts in all 3 tests- 64 unique dependencies.
I think the best next step would be for you to trigger a scan - the easiest way is to edit the .whitesource file with a white space or something else innocuous and commit the change.
Please give it a try and let me know if the resulting inventory is as you expect.

When merged, I will review the inventory on WhiteSource to confirm if the GitHub issues created (or not) reflect the status of WhiteSource dashboard.
Please let me know if you have any questions.
Thanks!
/CC @ColinEberhardt @willsalt-sl

Thanks @maoo we'll get this merged - can you please update the commit message to feat(#0000): Trigger WhiteSource scanning - it is failing our commit message check!

Merged - get your hard-hats on, those issues should be arriving soon!
(Thanks Mao)

Here they are! From https://github.com/finos/datahelix/issues/1602 to https://github.com/finos/datahelix/issues/1614 . WhiteSource configuration works! Now we need to define (and uncomment) exclusions on https://github.com/finos/datahelix/blob/master/whitesource.config#L11 to that false positives are excluded.
Tomorrow I'll try to catch some obvious exclusions; @ColinEberhardt @willsalt-sl - feel free to check them out and update exclusions! Let me know if you want me to review WS scanning and inventory.
Thanks @mcleo-d for helping out with the WhiteSource scanning setup!


Added Norwegian translation to BookStack

This adds the Norwegian language as an option to BookStack.

Thank you very much for this @Swoy, All merged in for the next release.
I have changed some of the folder naming and locale definitions to fit with project & ISO standards, Otherwise all looked great. I have also added the language to crowdin so it's easier for people to make edits/updates/additions to the translations in the future: https://crowdin.com/project/bookstack

Thank you very much for this @Swoy, All merged in for the next release.
I have changed some of the folder naming and locale definitions to fit with project & ISO standards, Otherwise all looked great. I have also added the language to crowdin so it's easier for people to make edits/updates/additions to the translations in the future: https://crowdin.com/project/bookstack


fix runtime test timestamp

What current issue(s) from Github does this address?
None
What problem does this PR solve?
there's a 15s difference caused by this check in neo-python: https://github.com/CityOfZion/neo-python/blob/master/neo/SmartContract/StateReader.py#L399-L400
which doesn't exist in the C# version https://github.com/neo-project/neo/blob/077bb5a4e2073c78a628a2a77617644a7f6fa21d/neo/SmartContract/StateReader.cs#L171
How did you solve this problem?
update expected return value
How did you make sure your solution works?
ran the test
Are there any special changes in the code that we should be aware of?
no
Is there anything else we should know?
no

Going to close this one and make a new PR with all changes related to the NEP8 changeset.


Calling Unsubcribe twice on PubSub causes interface conversion panic

Trying to Unsubscribe from all topics, while the client isn't subscribed to any topic causes func newMessage to panic:
panic: interface conversion: interface {} is nil, not string

goroutine 19 [running]:
github.com/go-redis/redis/v7.(*PubSub).newMessage(0xc000120000, 0x66dd00, 0xc00000e260, 0x0, 0xc00004ce00, 0x0, 0x0)
        /home/hjr265/Projects/go-redis-bug/vendor/github.com/go-redis/redis/v7/pubsub.go:314 +0x94a
github.com/go-redis/redis/v7.(*PubSub).ReceiveTimeout(0xc000120000, 0x0, 0x67f201, 0xc00007c720, 0x0, 0x0)
        /home/hjr265/Projects/go-redis-bug/vendor/github.com/go-redis/redis/v7/pubsub.go:362 +0x145
github.com/go-redis/redis/v7.(*PubSub).Receive(...)
        /home/hjr265/Projects/go-redis-bug/vendor/github.com/go-redis/redis/v7/pubsub.go:369
github.com/go-redis/redis/v7.(*PubSub).initMsgChan.func1(0xc000120000)
        /home/hjr265/Projects/go-redis-bug/vendor/github.com/go-redis/redis/v7/pubsub.go:490 +0x8b
created by github.com/go-redis/redis/v7.(*PubSub).initMsgChan
        /home/hjr265/Projects/go-redis-bug/vendor/github.com/go-redis/redis/v7/pubsub.go:484 +0x6d
exit status 2

I could use this snippet of code to reliably reproduce this issue on my end:
cl := redis.NewClient(&redis.Options{
	Addr: ":32768",
})
ps := cl.Subscribe("x")
ps.Unsubscribe()
ps.Unsubscribe()
<-ps.Channel()

The issue affects both v6.15.7 and v7.2.0.
It stems from the fact that for an unsubscribe message, Redis may push a payload like:
["unsubscribe", nil, 0]

The same behavior can be seen with the UNSUBSCRIBE command in the CLI:
<IP_ADDRESS>:6379> UNSUBSCRIBE
1) "unsubscribe"
2) (nil)
3) (integer) 0

And, this snippet from pubsub.go:310 tries to assert the type of the second element to string:
		switch kind := reply[0].(string); kind {
		case "subscribe", "unsubscribe", "psubscribe", "punsubscribe":
			return &Subscription{
				Kind:    kind,
				Channel: reply[1].(string),
				Count:   int(reply[2].(int64)),
			}, nil

I discovered this issue when my project's web server would crash periodically with a similar stack trace as shared above. I was able to workaround the issue by adding a check before the assertion to ensure that reply[1] isn't nil.

Thanks for the report and for the fix.


Less verbose CI output

There's a lot of output in CI that isn't really relevant. This PR attempts to hide most of the irrelevant output. It depends on https://github.com/stevvooe/protobuild/pull/12
No warnings or errors are hidden.

@dnephin Approach looks good. Any side effects to this change?
I've poked the build, let's see if the new flag gets picked up.

No side effects I can think of

It looks like make coverage is still printing all the packages, let me see if I can fix that before we merge

Codecov Report

Merging #1904 into master will increase coverage by 0.18%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1904      +/-   ##
==========================================
+ Coverage   47.29%   47.48%   +0.18%
==========================================
  Files          89       91       +2
  Lines        8830     8997     +167
==========================================
+ Hits         4176     4272      +96
- Misses       3968     4014      +46
- Partials      686      711      +25

Flag
Coverage Δ

#linux
50.54% <ø> (-0.12%)
:arrow_down:

#windows
42.24% <ø> (ø)
:arrow_up:

Impacted Files
Coverage Δ

archive/tar.go
43.33% <0%> (-0.66%)
:arrow_down:

cio/io_unix.go
62.82% <0%> (ø)

cio/io.go
45.09% <0%> (ø)

content/local/writer.go
59.4% <0%> (+9.4%)
:arrow_up:

Continue to review full report at Codecov.

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

Apparently go test -i prints to stderr , not stdout, so changed   to 2> /dev/null for that line.

@dnephin Should we remove -v from TESTFLAGS? That is by far the biggest offender and makes it hard to debug in CI.

I like having -v to know what test is actually running. All it does is print the test name.

All it does is print the test name.

Doesn't it also print logging, as well?

Doesn't it also print logging, as well?

Oh, yes it does, I never do fmt.Print* in tests, so I forgot. Well, if we want to keep those print, I guess we should remove -v then

I personally like seeing the test names in CI, I think that output has value. From what I can see there isn't much stdout/stderr in the output right now. There are still a few t.Log() lines which could be removed

LGTM

Marking this as cherry-pick so we can have faster builds on 1.0 release builds.


tox postgres

What does this PR do?
Fix tox Postgres
Motivation
What inspired you to submit this pull request?
Additional Notes
Anything else we should know when reviewing?
Review checklist (to be filled by reviewers)

[ ] PR title must be written as a CHANGELOG entry (see why)
[ ] Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
[ ] PR must have changelog/ and integration/ labels attached
[ ] Feature or bugfix must have tests
[ ] Git history must be clean
[ ] If PR adds a configuration option, it must be added to the configuration file.

We can even remove the marker altogether no ? unit tests will be run alongside every integration test


[Request]Please update

Hi there, thanks for providing such a useful component, but I encountered some problems when deploying.
I tried both esp-idf v4.4 stable version(the latest release) and the master branch which seems to be a beta version of esp-idf 5.0, they both failed compiling.
The chip is esp32s3, I followed the instruction and put your repo under ${IDF_PATH}/components then use idf.py menuconfig to open the esp32usb with it’s hid  component and leave the original tinyusb closed.
I managed to fix some missing header problems but the ‘std::string’ in function declarations blocked me, would you please update this repo to fix it? Thanks a lot!

@Huckies This library should NOT be under ${IDF_PATH} but instead in your project's components tree. This is also only compatible with C++ code and not C code as used in IDF.
If you can share a bit more information on your project I should be able to help further on any issues.

@atanisoft Thanks for replying! What should I do to use C++ code? I've used arduino-as-component before but still have no idea the difference between them under IDF.

This is a pure IDF component with no Arduino dependencies.
To use this as C++ vs C, rename your main.c to main.cpp and update the reference in CMakeLists.txt. Whichever file(s) use the code from this library should have their filenames ending in cpp instead of c.

@atanisoft Yeah I followed that, so the project directory look likes this now https://github.com/Huckies/Debugging/blob/master/Screenshot%202022-02-13%2012.03.26.png
My configuration of esp32usb in idf.py menuconfig looks like this, with TinyUSB stack(the one comes with IDF) unchecked https://github.com/Huckies/Debugging/blob/master/Screenshot%202022-02-13%2012.06.32.png
But I'm still getting these errors:https://github.com/Huckies/Debugging/blob/master/Screenshot%202022-02-13%2012.02.23.png

From the errors it looks like HID is missing some config flags. I'll see what I can come up with.

It's the missing part
  /// HID Protocol
  typedef enum
  {
    HID_PROTOCOL_NONE = 0,     ///< None
    HID_PROTOCOL_KEYBOARD = 1, ///< Keyboard
    HID_PROTOCOL_MOUSE = 2     ///< Mouse
  } hid_protocol_type_t;

in esp32usb/src/tinyusb/src/class/hid/hid.h caused the problem, adding it as well as its include path to esp32usb/CMakeLists.txt fixed the problem.
But I still can't figure out the problem with desc_hid_report, the macro thing looks strange.

Yeah it do fix the problems mentioned above, but in usb.cpp, line 296&297
  TUD_HID_REPORT_DESC_CONSUMER( HID_REPORT_ID(REPORT_ID_CONSUMER_CONTROL )),
  TUD_HID_REPORT_DESC_GAMEPAD ( HID_REPORT_ID(REPORT_ID_GAMEPAD          ))

is added to tinyusb component after release 0.12.0 so currently it's not able to use. Also usb.cpp needs a header file hid.h when HID function is enabled in menuconfig.
Furthermore, while it completes compiling errors still occur when linking. Sorry for the inconvenience that I can't get them highlighted since they are not compiling errors.

is added to tinyusb component after release 0.12.0 so currently it's not able to use.

The embedded TinyUSB is currently pinned to 0.12.0 tagged release. I pulled this from the HID example tree.

Also usb.cpp needs a header file hid.h when HID function is enabled in menuconfig.

https://github.com/atanisoft/esp32usb/blob/8423db0bb105cf3ff44842e50f04f52223091592/src/usb.cpp#L24-L26

Sorry for the inconvenience that I can't get them highlighted since they are not compiling errors.

gpio_output_set_high is an ESP-IDF function that looks like they moved to a new header file, I'll add the required header for fixing that.
As for tud_hid_get_report_cb, tud_hid_set_report_cb and tud_hid_descriptor_report_cb these are application specific but I'll provide a default implementation but you will likely need to override the functionality to suit your application's needs.

Appreciate your efforts! I'm kinda lost in the tinyusb codes, 3interfaces with 5endpoints work, but 4interfaces with 6endpoints/3interfaces with 6endpoints fail all the time, I've checked the code for many times.
Whatever, I'll give another try and hope the esp32usb repo works as silk. Thanks again!

While I still cannot figure out all the errors when compiling this repo, I manage to build my own device base on the tinyusb stack. This repo do help me a lot understanding, thanks again for offering such a "code abstraction layer".


Add edit and reset options. (#17)

After exiting the editor, adds 2 additional options:

Edit reopens the editor with user changes.
Reset reopens the editor with the initial filelist.

Tempfile creation is moved inside open_editor because MacOS was not happy with me trying to reopen a closed tempfile.

This is awesome! Just tested it out, very nice addition. Thank you :D

Just published 1.2.0, which has these changes


Update README.md

Updated the readme with some explanation for music, some grammar, and a troubleshooting section. Also added the examples in the README.

Apart from these two comments, the rest looks good to me, it is quite an improvement from the original. Thank you.

Fixed the issues


missing history data

Trying to run my strategy on latest data, but bitfinex and poloniex return same error for the same period.
PricingDataNotLoadedError: Missing data for bitfinex ltc_usd in date range [2018-08-01 00:00:00+00:00 - 2018-08-05 00:00:00+00:00]
Please run: `catalyst ingest-exchange -x bitfinex -f daily -i ltc_usd`. See catalyst documentation for details.

Thx.

Hi @ddimkin ,
I wasn't able to reproduce the issue you are describing.
Does is still occurring (after a clean ingest)? If so, what causes this error (what API call)?
Thanks,
Lena

@lenak25
For some reason it disappears now.
Sorry for being worried.
Thx!