[Bug]: NA values for "Herma_Trans" in Biology_at_age_in_endyr

Describe the bug
Max Cardinale (@akatan999) shared a model (I will forward to @Rick-Methot-NOAA) where the r4ss plot of the hermaphroditism transition rate was empty and wondered if this was a plotting issue.
I tracked this down to the "Herma_Trans" column in Biology_at_age_in_endyr report:47 having only NA values.
Max says that for some parameter combinations the transition curve is shown while for some very similar values it is not.
To Reproduce
Run the emailed model files using SS3 version 3.30.20 without estimation using a command like

ss_win -nohess -stopph 0

Expected behavior
Numerical values in the Herma_Trans column or some warning message indicating an issue with the setup of the hermaphroditism parameters.
Screenshots
No response
Which OS are you seeing the problem on?
Windows
Which version of SS3 are you seeing the problem on?
3.30.20
Additional Context
No response

Thanks @Rick-Methot-NOAA, for seeing that this was fixed in PR #381 (it is a duplicate of #379). I did look through the issues list before reporting, but somehow didn't use the right keywords.
Applying "duplicate" and closing.


Bug: Swipe navigation is not working with sub_view

Swipe navigation is not working from subview to main view. There is a repro dashboard. Name your dashboard dashboard-test2 or change navigation path to work for you.
title: Not working swipe

swipe_nav:
  animate: swipe
  animate_duration: 150

views:
  - title: Not working swipe
    subview: false
    icon: mdi:home-outline
    path: overview
    badges: []
    cards:
      - type: button
        name: Go to Subview
        icon: mdi:arrow-collapse-right
        tap_action:
          action: navigate
          navigation_path: /dashboard-test2/Subview
  - title: Subview
    subview: true
    path: Subview
    cards:
      - type: custom:mushroom-title-card
        title: 'This is subview. '
        subtitle: Swipe navigation to main view is not working

You are right, and The problem here is that tabs are not present when inside a subview.
In this function we deduce the active tab by looking at the class applied to the tab element. So we cannot know the active when in subviews.
To confirm this ì, notice that when in editing mode the swipe is working even in subviews. That's because the tabs are visible.
I need to investigate other ways to get the active tab.

+1. Looking forward to the fix.

Also, would it possible to add swipe only on ‘sub-view’ pages after this issue gets fixed?

I would also love to be able to return to the original tab from a subview via swipe.
Happy that this is work in progress and thank you for this great repo!

Yes, I did. It took me some time because the code had to be restructured before addressing this issue.
I have a working prototype that needs to be polished, but the fix is coming soon.
As of now, swiping is not treated differently in the subview. That means that a swipe to the right reveals the view at the right of the subview. The order of the views are determined by the order they are declared in the config. You can see that in "edit-mode".
The possibility to have custom actions is tracked on #8.

Also, would it possible to add swipe only on ‘sub-view’ pages after this issue gets fixed?

You can achieve that by setting skip_tabs and skip_subviews with the upcoming release.

Can you test the new Beta v1.14.0? Everything should be working now.

@zanna-37 on it. Thanks for fix!

It works partially. It's ok for the first sub view. But if I go from home > subview1 > subview2 then I swipe back to home instead of subview1.
Home Assistant back arrows work as ai expected (subview1)

@zanna-37 should I create a new bug or reopen this one?

This is expected behavior.
As I said previously:

As of now, swiping is not treated differently in the subview. That means that a swipe to the right reveals the view at the right of the subview. The order of the views are determined by the order they are declared in the config. You can see that in "edit-mode".

Having a "back" behavior should be handled with custom actions and:

The possibility to have custom actions is tracked on https://github.com/zanna-37/hass-swipe-navigation/issues/8.

Oh, ok. Thanks!!

Thank you for figuring this out!
Works perfectly for my use-case.


ManifestMerger Exits with Code 1 on build (preview 03)

This seemed very related to ManifestMerger error on build (preview 03) #734 but that was marked as resolved and I didn't want to conflate anything.
I'm in the process of trying to add AdMob support to my application, and just referencing the nuget package (with no other code changes) is enough to cause visual studio to fail compilation now.
The output I'm seeing is:
2>C:\Users\MyLocalUser\.nuget\packages\xamarin.android.manifestmerger\1.0.0-preview03\build\monoandroid\Xamarin.Android.ManifestMerger.targets(28,5): error MSB3073: The command ""C:\Program Files\Android\Jdk\microsoft_dist_openjdk_<IP_ADDRESS>\bin\java.exe" -cp "C:\Users\MyLocalUser\.nuget\packages\xamarin.android.manifestmerger\1.0.0-preview03\build\monoandroid\common.jar;C:\Users\MyLocalUser\.nuget\packages\xamarin.android.manifestmerger\1.0.0-preview03\build\monoandroid\guava.jar;C:\Users\MyLocalUser\.nuget\packages\xamarin.android.manifestmerger\1.0.0-preview03\build\monoandroid\kotlin-stdlib-jdk8.jar;C:\Users\MyLocalUser\.nuget\packages\xamarin.android.manifestmerger\1.0.0-preview03\build\monoandroid\kotlin-stdlib.jar;C:\Users\MyLocalUser\.nuget\packages\xamarin.android.manifestmerger\1.0.0-preview03\build\monoandroid\kxml2.jar;C:\Users\MyLocalUser\.nuget\packages\xamarin.android.manifestmerger\1.0.0-preview03\build\monoandroid\manifest-merger.jar;C:\Users\MyLocalUser\.nuget\packages\xamarin.android.manifestmerger\1.0.0-preview03\build\monoandroid\sdk-common.jar;C:\Users\MyLocalUser\.nuget\packages\xamarin.android.manifestmerger\1.0.0-preview03\build\monoandroid\sdklib.jar" "com.android.manifmerger.Merger" --main "obj\Debug\90\android\AndroidManifest.xml" --libs "obj\Debug\90\lp\10\jl\AndroidManifest.xml;obj\Debug\90\lp\16\jl\AndroidManifest.xml;obj\Debug\90\lp\18\jl\AndroidManifest.xml;obj\Debug\90\lp\20\jl\AndroidManifest.xml;obj\Debug\90\lp\21\jl\AndroidManifest.xml;obj\Debug\90\lp\22\jl\AndroidManifest.xml;obj\Debug\90\lp\23\jl\AndroidManifest.xml;obj\Debug\90\lp\24\jl\AndroidManifest.xml;obj\Debug\90\lp\25\jl\AndroidManifest.xml;obj\Debug\90\lp\26\jl\AndroidManifest.xml;obj\Debug\90\lp\27\jl\AndroidManifest.xml;obj\Debug\90\lp\28\jl\AndroidManifest.xml;obj\Debug\90\lp\29\jl\AndroidManifest.xml;obj\Debug\90\lp\30\jl\AndroidManifest.xml;obj\Debug\90\lp\31\jl\AndroidManifest.xml;obj\Debug\90\lp\32\jl\AndroidManifest.xml;obj\Debug\90\lp\33\jl\AndroidManifest.xml;obj\Debug\90\lp\34\jl\AndroidManifest.xml;obj\Debug\90\lp\35\jl\AndroidManifest.xml;obj\Debug\90\lp\36\jl\AndroidManifest.xml;obj\Debug\90\lp\37\jl\AndroidManifest.xml;obj\Debug\90\lp\38\jl\AndroidManifest.xml;obj\Debug\90\lp\39\jl\AndroidManifest.xml;obj\Debug\90\lp\40\jl\AndroidManifest.xml;obj\Debug\90\lp\41\jl\AndroidManifest.xml;obj\Debug\90\lp\42\jl\AndroidManifest.xml;obj\Debug\90\lp\43\jl\AndroidManifest.xml;obj\Debug\90\lp\44\jl\AndroidManifest.xml;obj\Debug\90\lp\45\jl\AndroidManifest.xml;obj\Debug\90\lp\48\jl\AndroidManifest.xml;obj\Debug\90\lp\49\jl\AndroidManifest.xml;obj\Debug\90\lp\5\jl\AndroidManifest.xml;obj\Debug\90\lp\50\jl\AndroidManifest.xml;obj\Debug\90\lp\51\jl\AndroidManifest.xml;obj\Debug\90\lp\52\jl\AndroidManifest.xml;obj\Debug\90\lp\53\jl\AndroidManifest.xml;obj\Debug\90\lp\54\jl\AndroidManifest.xml;obj\Debug\90\lp\55\jl\AndroidManifest.xml;obj\Debug\90\lp\56\jl\AndroidManifest.xml;obj\Debug\90\lp\61\jl\AndroidManifest.xml;obj\Debug\90\lp\62\jl\AndroidManifest.xml;obj\Debug\90\lp\63\jl\AndroidManifest.xml;obj\Debug\90\lp\64\jl\AndroidManifest.xml;obj\Debug\90\lp\65\jl\AndroidManifest.xml;obj\Debug\90\lp\66\jl\AndroidManifest.xml;obj\Debug\90\lp\67\jl\AndroidManifest.xml;obj\Debug\90\lp\68\jl\AndroidManifest.xml;obj\Debug\90\lp\69\jl\AndroidManifest.xml;obj\Debug\90\lp\7\jl\AndroidManifest.xml;obj\Debug\90\lp\70\jl\AndroidManifest.xml;obj\Debug\90\lp\71\jl\AndroidManifest.xml;obj\Debug\90\lp\72\jl\AndroidManifest.xml;obj\Debug\90\lp\73\jl\AndroidManifest.xml;obj\Debug\90\lp\74\jl\AndroidManifest.xml;obj\Debug\90\lp\75\jl\AndroidManifest.xml;obj\Debug\90\lp\76\jl\AndroidManifest.xml;obj\Debug\90\lp\77\jl\AndroidManifest.xml;obj\Debug\90\lp\8\jl\AndroidManifest.xml;obj\Debug\90\lp\9\jl\AndroidManifest.xml" --out "obj\Debug\90\android\AndroidManifest.xml"" exited with code 1.

Here's a screenshot that might make it a bit easier to read:

And from following the other thread, I figured I'd try playing around with this command directly on the command line. It was saying:
obj\Debug\90\android\AndroidManifest.xml does not exist

When in fact the file did exist. I double checked from the directory I was running in as well, and relatively it should have all lined up. Even the casing was correct. I figured I'd try replacing the two instances of that relative path with the full path (instead of relative) annnnnd it worked (i.e. didn't print an error).
So at this point:

I have no idea if the generated manifest is even correct (I did confirm the timestamp updated so it was at least touched)
I have no idea how I could force visual studio to use the full path to test if it would actually correct the issue.

My list of package is as follows:
<ItemGroup>
    <PackageReference Include="Xamarin.Android.Crashlytics">
      <Version><IP_ADDRESS></Version>
    </PackageReference>
    <PackageReference Include="Xamarin.Android.ManifestMerger">
      <Version>1.0.0-preview03</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.Firebase.Analytics">
      <Version>71.1630.0</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.Firebase.Auth">
      <Version>71.1605.0</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.Firebase.Common">
      <Version>71.1610.0</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.Firebase.Iid">
      <Version>71.1710.0</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.Firebase.Messaging">
      <Version>71.1740.0</Version>
    </PackageReference>
    <PackageReference Include="Xamarin.Forms" Version="<IP_ADDRESS>0" />
    <PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
    <PackageReference Include="Xamarin.Essentials" Version="1.5.2" />
    <PackageReference Include="Xamarin.GooglePlayServices.Ads.Lite">
      <Version>71.1720.2</Version>
    </PackageReference>
  </ItemGroup>

And for total transparency, everything functions properly (no code changes) EXCEPT for when I add the Xamarin.GooglePlayServices.Ads.Lite. I have tried all of the older nuget versions of this package and it still fails for the same reason.
Please let me know if there's other details I can provide that would help!

Just wanted to offer more context... from my working state, I decided I wanted to go update some nuget packages I had. But just revving these nuget packages breaks things in the same way:
Shared Project:

Android Project:

Not sure if that helps at all, but I'm assuming revving these versions causes one of the dependencies to need to add more onto that command line for the manifest merger and it explodes.

Same issue

AI updated to the latest version of all the android firebase packages and updated to android X in my consuming project. I then removed the manifest merger package. It seems like I don't need this manifest merger package anymore since the main reason why I added it was because Firebase.Instance was null in some cases. Its not null anymore so I think I can remove the manifest merger now

I just hit this as well, though for me the error I'm getting is obj\Debug\android\AndroidManifest.xml does not exist. When I look through the obj\Debug folder though, I see that AndroidManifest.xml is actually in obj\Debug\AndroidManifest.xml instead of \android. Copying it to \android works as a workaround, but it's annoying to have to remember to do that if I clean the project

I haven't contributed to the manifest merger NuGet package myself, but I noticed this discussion by chance, and it caught my eye because the latest recommended way to use Google's manifest merger is now part of Xamarin.Android itself.
I tried a couple quick tests around this locally:

I installed Xamarin.GooglePlayServices.Ads.Lite version 71.1720.2 and Xamarin.Android.ManifestMerger version 1.0.0-preview03 into a new template app and built the project. I saw the reported error:
obj\Debug\90\android\AndroidManifest.xml does not exist

I then uninstalled Xamarin.Android.ManifestMerger version 1.0.0-preview03 and enabled the new manifest merger support that's part of Xamarin.Android by adding the following lines to the Android app project .csproj file (using the text editor in Visual Studio):
<PropertyGroup>
  <AndroidManifestMerger>manifestmerger.jar</AndroidManifestMerger>
</PropertyGroup>

After that, the project built successfully, and importantly, it successfully ran the ManifestMerger task.

Summary: I believe the Xamarin.Android.ManifestMerger NuGet package can now be considered deprecated. Project authors would be recommended to remove that NuGet package and instead set the <AndroidManifestMerger>manifestmerger.jar</AndroidManifestMerger> MSBuild property in their .csproj files to take advantage of the latest approach in Xamarin.Android 10.2 and higher.

I did as @stepheaw suggested and just updated all my firebase packages to the latest. From there, I uninstalled the manifest merger... and everything now works as I continue to add more nuget package dependencies.
So @brendanzagaeski I'd agree that the solution seems to just be "Update things and stop using the manifest merger"

closing this one


UTC offset is not being validated

Describe the bug
The UTC offset in a date/time string is not being validated.
To Reproduce
Example: UTC offset of -99:00:
console.log(moment.parseZone('2020-05-28T02:54:09-99:00').isValid())
// Returns true

https://stackblitz.com/edit/js-pajunu
Expected behavior
I would expect that the return value in the example above would return false.
Moment-specific environment
Fri May 29 2020 17:59:23 GMT-0400 (Eastern Daylight Time)
5/29/2020, 5:59:23 PM
240
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36
2.26.0

Why would this be false?

I think I see why you are asking this question and why you could argue that an offset of -99:00 is in fact valid. But if you say that an offset of -99:00 is valid, then I ask why is 2020-05-28T02:54:99-99:00 (i.e. note the 99 seconds) not valid? That is just one example. You could ask the same question about minutes, hours, days, months, or years.

Here are some examples that I was playing around with:
2020-01-01T00:00:00-99:00 - valid? true
2020-01-01T00:00:00-00:99 - valid? true
2020-01-01T00:00:99-00:00 - valid? false
2020-01-01T00:99:00-00:00 - valid? false
2020-01-01T99:00:00-00:00 - valid? false
2020-01-99T00:00:00-00:00 - valid? false
2020-99-01T00:00:00-00:00 - valid? false

https://stackblitz.com/edit/js-3m1qkb

Thanks for the examples.
How do you represent a UTC offset above 24 hours?
For example, with 99 seconds, you can use minutes; with 99 minutes, you can use hours; etc.

I would expect it to roll over the day:
2020-01-01T01:00:00+24:00 === 2020-01-02T01:00:00+00:00
2020-01-01T01:00:00+25:00 === 2020-01-02T01:00:00+01:00
2020-01-01T01:00:00+26:00 === 2020-01-02T01:00:00+02:00
I do have to admit that I am by no means a "time expert". The more time I spend looking into this (no pun intended 😄 ), the more I discover that is completely new to me. For example, I always thought that time zones ranged from UTC-12:00 to UTC+12:00, but they actually range from UTC-12:00 to UTC+14:00. So doesn't that mean that the allowable offset should be -12 to +14?

What if countries change their offset beyond -12 or +14?
For default parsing, we eventually defer to ISO 8601 or the browser-specific Date() constructors.
https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC
Because the offset range is not specified (unlike seconds, minutes, hours), I think -99 to +99 is ok.
So I don't think Moment.js should change behavior here.
Please re-open if you still have thoughts.


Fixed Business Voice link in microsoft-teams-add-on-licensing.md

Closes https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/issues/5161.
En-us and en-gb are working, but not es-es and es-ar for example. Is there another way to fix it?

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@LanaChin PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


Prevent feedback for future appointment

What does this pull request do?
https://trello.com/c/SP3ESYUs
returns bad request if attempting to set feedback on a future appointment
What is the intent behind these changes?
users should not be able to add feedback for an appointment that hasn't happened yet.

 🐛 Prevent feedback on future appointments


add dao.kokodi.world

Hi! What is your PR about?
Add a custom domain for your space

Duplicate with #2103


chore(TARGET_PODS): Adding an ability to provide multiple target pods

Signed-off-by: shubhamchaudhary<EMAIL_ADDRESS>

LGTM except for a minor comment


James/create room

Got "Create Room" working (both command and button) resolving #111
Fixed an issue where messages couldn't be sent, throwing a JS error regarding chat.state.name in #113
Added dependency injection for the Hubs, without which was causing the InMemoryRepository to be reset regularly, as often as long polling was refreshing #117

To test, hop on james/create-room and ensure that you can create a room, write messages in that room, and then create a second room and additionally write messages there as well.

@adamtuliper for visibility, @jcocchi want to test this?

@JamesEarle I can test this within the hour.

@JamesEarle Test runs as described. Able to use /create and /join to switch between multiple rooms with the ability to type and add messages to each room. Able to re-enter rooms with /join.
Exception throws when I try to create a room with spaces. i.e "Kevin's room" (args > 1 exception thrown) If this is expected for this PR then good to go. :shipit:

Confirmed on call this AM exception is as expected (its what should happen). Merging...

Made some code cleanup as per @adamtuliper's request. Should be good to go.

@adamtuliper cleanup done


Replace php-apache with php-fpm

Replace php-apache and make it work with the nginx server

There is a known complication with sub-directory setup, it will need some further investigation

Sub-directory setup is achievable with request regex to catch the dir name and use it in a few config parts
However it turns out that php-apache works blazingly fast out of the box and while php-fpm+nginx is a better choice for production in most cases, it doesn’t seem to bring any difference on localhost, yet it’s even a bit slower without extra configuration
So instead of a conversion it might be better to create a separate docker-compose setup later if necessary e.g. to compare performance for a large WooCommerce site


Getting Bad request error for enrolment - Speaker Recognition

Hi,
I've been trying to enroll a voice file for a created profile using the python API.
I was able to create a profile and list all profiles successfully. But when I try to enroll a voice (.wav) file with a simple hello world phrase with the created profile, I get the error 'ERROR:root:Error enrolling profile.' which in the trace tells 'Exception: Error enrolling profile: Bad Request'. If needed I can attach the stack trace. Can you help me getting started with this?

It seems like an API problem, I've tried hitting the actual endpoint with a POST request along with the documentation specified parameters and headers. I get the response { 'status' : 'Bad request',  message: 'Not a valid WAVE file - No RIFF header'. I've tried with multipart/form-data and using file input from postman REST client. I've also tried to hit the API endpoint in the actual console provided by Microsoft (which doesn't have any way to pass the wave file as file input) by encoding the audio file into string(which starts with data:audio/wav;base64..) Can anyone from Microsoft answer this. I know its in preview stage, but it should have some understandable instructions and parameter details.

Hi @rajagopal28,
Thanks for your comments. Can you please attach the *.wav file used for enrollment?

I've used 3 files, I'm attaching all the three
Archive.zip

It looks like the enrollment audio is too short.  The audio file should be at least 20 seconds long and no longer than 5 minutes. The minimum number of total speech needed for enrollment, after removing silence, is 60 seconds.
@momohs - one improvement to consider is to include the response body in the exception.  In this case it would have made the error much more obvious: {   "error": {     "code": "BadRequest",     "message": "Audio too short"   }

@cthrash Thank you so much. It worked, I enrolled a voice phrase to the created profile.
It would be better if there is a way to know this message('Not a valid WAVE file - No RIFF header' or 'Audio too short') in the python wrapper log. It only shows the code ('BadRequest'), which is not so helping in identifying the issue.

@rajagopal28 I have tried out the files you sent and I did some successful enrollments with them. However, the file "password.wav" has an incorrect sampling rate. and thus gave me an "incorrect sampling rate error". I have used a REST client for this.
Regarding the python wrapper, the enrollments were successful but I have received a "Bad request" for the file "password.wav". Indeed the exception needs to be better handled in the python wrapper.
Using the console, I am not sure how to attach the file to the request. I am in contact with the team responsible for that. I'll get back to you once it is sorted out.
@cthrash The "Audio Too Short" exception message is currently thrown out by the server if the audio is too short. At this moment, the audio should be from 1 to 15 seconds (as mentioned in the API Documentation)

1-15 seconds, IIUC, is for Speaker Verification.  In the Stack Overflow Post, @rajagopal28 is asking (despite the title) about Speaker Identification, as you can see from the call stack.

Hello, I am also having problems enrolling an audio file in the API testing console. Please can you answer the question that @rajagopal28 asked, what format should be used in the Request body field? I am getting the same error: {
"error": {
"code": "BadRequest",
"message": "Invalid Audio Format: Not a WAVE file - no RIFF header"
}
}
My file is recorded according to the required parameter values of format and length. Any help would be greatly appreciated. Thanks a lot.

Thanks for your feedback @jjsuarez!
We are aware of the issue with uploading audio files using the API Testing Console and we are still sorting it out! Meanwhile, I urge you to use the Python sample code  or the C# sample code or the Online demos to test the Speaker Recognition service.

This issue was moved to Microsoft/Cognitive-SpeakerRecognition-Python#2

I am getting follwing response -
{
"error": {
"code": "BadRequest",
"message": "InvalidPhrase"
}
}

Also getting "InvalidPhrase". Regardless of the audio length.

Hey guys, I also encounter this InvalidPhrase  issue before.
Eventually, I found out we can only say what Azure ask us to say.
Using the following API to List All Supported Verification Phrases.
https://westus.dev.cognitive.microsoft.com/docs/services/563309b6778daf02acc0a508/operations/5652c0801984551c3859634d


refactor: use flex for pills spacing

A much better approach that also takes less code.

For some reason spacing is now smaller, is this on purpose?

vs

https://deploy-preview-240--infima.netlify.app/demo/#pills
vs
https://infima.dev/demo/#pills

(otherwise I'm fine with the refactor, let's consider flexbox gap has good enough browser support)


Get image(single or multiple) when finished selected

I know these function is use to control when we select, deselect or finish.
self.presentImagePicker(imagePicker, select: { (asset) in
      print("Selected: \(asset)")
    }, deselect: { (asset) in
      print("Deselected: \(asset)")
    }, cancel: { (assets) in
      print("Canceled with selections: \(assets)")
    }, finish: { (assets) in
      print("Finished with selections: \(assets)")
    })

But I want to get selected image when finished, but I don't know how to get the image when click "done" button, please help.

It seems to me that you've answered your own question.

I know these function is use to control when we select, deselect or finish.
...
But I want to get selected image when finished

The finish closure will be called with the selected assets when you press done.
Or is the question how you fetch an image for an PHAsset
A quick look in the documentation, source code or a search in your favorite search engine would have given you an answer like this:
let imageManager = PHCachingImageManager.default()

// Set which size, contentMode and any optional options you want for the image
imageManager.requestImage(for: asset, targetSize: targetSize, contentMode: .aspectFill, options: nil) { (image, _) in
    guard let image = image else { return }
    // Do something with image
}

PHImageManager documentation
PHImageRequestOptions documentation

It's work now, thank you very much.


Switch server from python flask to go beego

Switch server from python flask to go beego

done by @ZuqiuMao


ECO-546: Migrate Signer to use Material-ui framework

Now Signer is using Bootstrap, which is design for desktop browser and not designed to work with React. Material-ui(https://material-ui.com/) is a popular React UI framework which is designed mobile-first, which is more suitable for the Signer.
This PR doesn't introduce any new feature.
Tickets:
https://casperlabs.atlassian.net/browse/ECO-546

bors r+

bors r+

bors r+

bors r+

bors r+

bors r+

bors try

bors r+

bors r-

bors r+


[Feature] When send task to entrance with execution node status check firstly

Is your feature request related to a problem? Please describe.
Tasks can be sent to the entrance only when the execution node status is complete or running
 private def openDaemonForTask(task: EngineConnTask, taskFuture: Future[_], scheduler: ExecutorService): Future[_] = {
   ·······
          if (ExecutionNodeStatus.isCompleted(task.getStatus) || ExecutionNodeStatus.isRunning(task.getStatus)) {
            sendToEntrance(task, taskProgress(task.getTaskId))
            Thread.sleep(TimeUnit.MILLISECONDS.convert(sleepInterval, TimeUnit.SECONDS))
          }
  ········

has fixed


Change echoed message when configuration exists but its empty

Fixes #446

Codecov Report

Merging #484 (b905541) into master (ac091d7) will increase coverage by 0.08%.
The diff coverage is 96.55%.

@@            Coverage Diff             @@
##           master     #484      +/-   ##
==========================================
+ Coverage   98.14%   98.22%   +0.08%
==========================================
  Files          22       22
  Lines        2420     2422       +2
==========================================
+ Hits         2375     2379       +4
+ Misses         45       43       -2

Impacted Files
Coverage Δ

robocop/config.py
94.73% <96.55%> (+0.79%)
: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 ac091d7...b905541. Read the comment docs.


Defining custom electron version (-e, --electron-version) causes all URLs to be considered internal

Homework

[X] I took the time to write a good, descriptive issue title
[X] I read nativefier --help and API.md.
[X] I checked CATALOG.md for community suggestions & workarounds.
[X] I searched existing issues, open & closed. Yes, my bug is new.
[X] I'm running the latest version.

Nativefier command
nativefier https://discord.com/app --name Discord -e 25.2.0
Steps to reproduce
Use -e or --electron-version flag to define a custom version of electron to use
Expected behavior
By default all links should open in the default web browser
Actual behavior
An internal web browser window is opened instead
Debug info
No response
Nativefier version
$> nativefier --version 50.1.1
Node.js version
$> node --version v20.3.0
npm version
$> npm --version 8.19.2
OS
Arch Linux runnig Sway (wayland)

After some additional testing this may be due to the electron version used: when using Electron 23 or newer this is the behavior. Anything before 23 seems to behave as expected.

I have attempted to work around this with a combination of --internal-urls and --strict-internal-urls and this doesn't seem to solve it. URLs are still considered internal when --strict-internal-urls is set

Investigating a bit further I found this link: https://stackoverflow.com/questions/32402327/how-can-i-force-external-links-from-browser-window-to-open-in-a-default-browser
A response here lines up with a message I received in my terminal when fiddling with it:
(electron) The new-window event is deprecated and will be removed. Please use contents.setWindowOpenHandler() instead.
It looks like 'new-window' was removed entirely in 22 (deprecated in 12) which seems to be why all links get opened internally in Electron versions 22+
Is there anything that can be done about this on Nativefier's end or are we just stuck with whatever Electron is doing?

It actually looks like this is a known issue based on comments left in mainWindow.ts:
// .on('new-window', ...) is deprected in favor of setWindowOpenHandler(...)
// We can't quite cut over to that yet for a few reasons:
// 1. Our version of Electron does not yet support a parameter to
//    setWindowOpenHandler that contains `disposition', which we need.
//    See https://github.com/electron/electron/issues/28380
// 2. setWindowOpenHandler doesn't support newGuest as well
// Though at this point, 'new-window' bugs seem to be coming up and downstream
// users are being pointed to use setWindowOpenHandler.
// E.g., https://github.com/electron/electron/issues/28374

Please re-open, this is the only reason I'm stuck on 19 too, which is EOL as of November 2022.


guru callers failed

my project.sublime-project settings:
{
	"folders":
	[
		{
			"path": "/Users/me/dev/go/src/github.com/jostyee/test"
		}
	],

	"settings": {
	    "golang": {

	      // A list of GOPATH for this project
	      // refer to github.com/golang/sublime-config
	      "GOPATH": "/Users/me/dev/go",

	      // A list of PATH for this project
	      // refer to github.com/golang/sublime-config
	      //"PATH": "C:\\Users\\jsmith\\go\\bin",

	      // The root package (or namespace) of a project.
	      "project_package": "github.com/go-playground/log"
	    }
	  }
}

But the guru callers command throws exception:
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 812, in run_
    return self.run(edit, **args)
  File "gotools_guru in /Users/me/Library/Application Support/Sublime Text 3/Installed Packages/Golang Tools Integration.sublime-package", line 31, in run
TypeError: 'NoneType' object is not iterable

"Guru callers" need add a "build_packages" config item into your project settings. Just like:
			"build_packages":
			[
				""
			],
			"project_package": "leetcode/security"

And, you can open the "debug" flag in Golang config to check the details in console: Preferences -> Package Settings -> Golang Config, add: "debug_enabled": true

@liuhewei still has an issue:
GoTools: DEBUG: spawning process...
GoTools: DEBUG: 	command:     /Users/me/dev/go/bin/guru -scope github.com/go-playground/.../ callers /Users/me/dev/go/src/github.com/go-playground/test/main.go:#4133
GoTools: DEBUG: process returned (1) in 0 seconds
GoTools: DEBUG: stderr:
cannot find package "github.com/go-playground/..." in any of:
	/usr/local/Cellar/go/1.7.3/libexec/src/github.com/go-playground/... (from $GOROOT)
	/Users/me/dev/go/src/github.com/go-playground/... (from $GOPATH)
guru: no initial packages were loaded

GoTools: DEBUG: guru callers output:
GoTools: Guru error:
cannot find package "github.com/go-playground/..." in any of:
	/usr/local/Cellar/go/1.7.3/libexec/src/github.com/go-playground/... (from $GOROOT)
	/Users/me/dev/go/src/github.com/go-playground/... (from $GOPATH)
guru: no initial packages were loaded

project settings:
{
	"folders":
	[
		{
			"path": "."
		}
	],

	"settings": {
		"golang": {

			// A list of GOPATH for this project
			// refer to github.com/golang/sublime-config
			//"GOPATH": "/Users/me/dev/go",

			// A list of PATH for this project
			// refer to github.com/golang/sublime-config
			//"PATH": "C:\\Users\\jsmith\\go\\bin",

			"build_packages":
			[
				""
			],

			// The root package (or namespace) of a project.
			"project_package": "github.com/go-playground/..."
		}
	}
}

guru support ... but gotools concat scope flag value incorrectly, it should be -scope github.com/go-playground/... w/o the suffix /

https://github.com/alvarolm/GoGuru has a "goguru_use_current_package" : true, configuration which could be very useful as well.

@jostyee Plz check if this commit is OK for you: https://github.com/liuhewei/gotools-sublime/commit/762926e94e8a804371de165b7c13ad122de29218

@liuhewei it works now, thx a lot.
but I still don't understand what build_packages for? there's no documentation on it
Pointer analysis scope: some queries involve pointer analysis, a technique for answering questions of the form “what might this pointer point to?”.  It is usually too expensive to run pointer analysis over all the packages in the workspace, so these queries require an additional configuration parameter called the scope, which determines the set of packages to analyze.  Set the scope to the application (or set of applications---a client and server, perhaps) on which you are currently working.  Pointer analysis is a whole-program analysis, so the only packages in the scope that matter are the main and test packages.

The scope is typically specified as a comma-separated set of packages, or wildcarded subtrees like github.com/my/dir/...; consult the specific documentation for your editor to find out how to set and vary the scope.

@jostyee Actually, these codes come from the old Gotools sublime-plugin. "build_packages" is used for setting "the set of packages to analyze". The reason is just like what you copied: for narrow the scope of guru's code analysis.
It can be an advanced configuration. I've seen your PR for easier configuration. Thanks:)

@liuhewei still can't figure out the difference between project_package and build_packages.
furthermore, can gotools integrates https://github.com/alvarolm/GoGuru and https://github.com/alvarolm/GoRename instead of implement its own?

project_package is the common path, and build_packages is the real packages "imported" in code. I assume it's the reason, since the code is inherited from ironcladlou/GoTools.
It's not bad to integrate alvarolm's GoGuru and GoRename, but I recently don't have the time to try to migrate them. As a simplest way, you can add two flags to disable gotools' rename and guru functions, and then use alvarolm's instead. Just like: add a judgement in https://github.com/liuhewei/gotools-sublime/blob/master/gotools_guru.py#L12
I'm also happy to accept a PR for this integration if you're interested in this -:)

Thanks for explaining, currently I'm unfamiliar with neither python nor sublime text plugin dev, may have a look into it later.


Exclude libssh and libssl headers from umbrella header

Under macOS, libssh and libssl headers should be included as private headers since public headers are imported in the umbrella header. These header files contain path based includes such as # include <openssl/stack.h> which break when compiled as a dependency of another pod because the header search paths are incorrect. Scenario with head version:
App
|__NMSSH
Works.
App
|__MyPod
|__NMSSH
Fails compiling.
This PR fixes that.

Any thoughts on this?

Steps to reproduce:

Create a custom pod: pod lib create [pod name]
Specify NMSSH as a dependency e.g. s.osx.dependency 'NMSSH', '~> 2.2'
Lint the library: pod lib lint --sources='https://github.com/CocoaPods/Specs' --allow-warnings

I would very much appreciate if someone could tell me if this will be addressed anytime soon. I would like to distribute an update of my own pod, but since the linter fails because of the dependency to NMSSH I can't do that. Thx.

libssh headers must be public because they are imported in the public headers.
libssl headers are not necessary, in fact we don't have them in the iOS project.
I pushed a new version without the libssl headers, I hope it fixes your issue. Otherwise if you send me a demo project to reproduce the issue we can work on fixing it.


Support a declerative way of defining lakeFS RBAC

Requires some investigation into what's preffered:

Terraform provider
Helm YAML stanza
Another framework?

Another option (suggested by partners) as a temp solution, would be to have the iam setup configured thru a secret (or a config param from lakeFS pov).


Error after trying build ..

$ npm run build
><EMAIL_ADDRESS>build /Users/ridermansb/Projects/tmp/vue-gmaps
> node config/build.js && npm run docs:build

/Users/ridermansb/Projects/tmp/vue-gmaps/config/build.js:19
let entries = getAllEntries()
^^^

SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:387:25)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Function.Module.runMain (module.js:447:10)
    at startup (node.js:148:18)
    at node.js:405:3

Maybe updating the node version >= 6.0 will fix it.


Fix deprecation warnings from MUI > 4.12.X

In Material-UI 4.12.X several styling deprecations errors were introduced. Especially the fade color utility which is used many times in this project. Now I know that active development has been moved to Material-UI V5, but I think we should at least have fixes for such console-spamming errors as long as Material-UI V5 is still not a stable release and especially when the new pickers are only a part of the lab.

[X] The issue is present in the latest release.
[X] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯
When using and opening DatePicker in combination with the MuiPickersUtilsProvider the following error will be logged to the console:
Material-UI: The fadecolor utility was renamed toalpha` to better describe its functionality.
You should use import { alpha } from '@material-ui/core/styles'   at ...   at MuiPickersUtilsProvider   at ...
Or: Warning: Failed prop type: The prop justifyofForwardRef(Grid)is deprecated. UsejustifyContent instead, the prop was renamed.
Expected Behavior 🤔
No deprecation error should be logged and the suggested utilitly / property should be used.
Steps to Reproduce 🕹
Steps:

Open https://codesandbox.io/s/eager-drake-6wqck
Open the pickers one by one
See several deprecation logs arise

Context 🔦
This issue heavily disturbs working with the current stable release and right now we do not feel like that using the beta- and lab channels is the right way to go in production apps.
Your Environment 🌎
"@material-ui/core": "4.12.1",
"@material-ui/pickers": "3.3.10",
"moment": "2.29.1",
"@date-io/moment": "1.x",
"react": "latest",
"react-dom": "latest",
"react-scripts": "latest"

Same thing here, updated to MUI v4.12.X to simplify migration when v5 finally comes out, hit this.

Is there a reason why this is flagged as wontfix? Is there a workaround or another solution we should be using instead?

We have archived this repository, more details in #2157.


Indexed alternative/alignable instance for proxies

In #218 I suggested that "balanced" pipes form an indexed applicative, which in other words is a particular kind of lax monoidal functor:
class Functor f => EssenceOfApply f
  where
  zip :: (f a, f b) -> f (a, b)

But there are other sorts of monoidal functors.  The other problem is: what (if anything) is the identity? It seems to me that an "infinite" proxy that never returns would act as the identity for union, since the overall result is the one of the shorter proxy:
empty :: Applicative m => Proxy a' a b' b m v
empty = Eff $ pure $ empty

Not sure whether any of the above is right, but I thought I'd share the idea at least.

@masaeedu: I believe the identity of union would be cat (treating Either Void a as isomorphic to a)
I also think the identity of align would be something like Pipes.take n, where n would be the index used to track how the number of requests/responses at the interface

@Gabriel439 Wouldn't cat :: Monad m => Proxy () a () a m r have the wrong type? We need something of type Proxy a' a a' a m Void.


running cellpose on offline cluster

Dear Cellpose Community,
I am running cellpose on an offline cluster and I get an error message when running the line "model= models.Cellpose(gpu=True, model_type='cyto2'). I am attaching the screenshots of the errors.

please pre-download the models with these instructions: https://github.com/MouseLand/cellpose#download-of-pretrained-models


feat: export html parts renderers

Pull Request for RFC https://github.com/gravity-ui/rfc/issues/7

@korvin89 @ValeraS @sofiushko
I would appreciate it if you could take some time to review this pull request. Thank you.

@ValeraS done

@ValeraS выпусти, пожалуйста, новую версию


Amin1

In this PR:

Add an Amin1 class for accessing data from the minimus v1 release.
Add support for providing a list of contigs via the contig parameter in both Amin1 and Ag3.
Some improvements to tests and refactoring of common code between Amin1 and Ag3.

Out of interest, does the new fsspec setup give us anything extra, or is it just API changes?

Out of interest, does the new fsspec setup give us anything extra, or is it just API changes?

Do you mean the init_filesystem() function in the malariagen_data.util module? If so, that's just refactoring, moving out code needed by both Ag3 and Amin1 classes to a common location.

I did get 1 warning when running amin1 tests on pycharm, it would be good to run all the amin methods in a notebook once released to check.

I ran the tests from the terminal with an assert False in there to get the warnings reported, it looks fairly benign, not going to worry about for now.

Thanks again @cclarkson for the review. I'll merge if CI passes.


Add basic support for Docker, both for development and deploy

Add basic support for Docker, both for development (with Visual Studio Code) and deploy

This PR adds the capability to develop the project in container with Visual Studio Code (settings in the .devcontainer folder).
It also provides some raw support to run a python http.server in a Docker container, updating the res/config.js file according to the specified environment variables at startup (see run.sh and Dockerfile).


Add GitHub action to deploy to AWS after successful build

Create a GitHub action to deploy the infrastructure defined in the CDK code to AWS after a successful build.

I can create a Pull request for this if you like, I do need the gitHub actions secret key names for
aws_access_key
aws_secret_key
aws_region
aws_account_id
its looks something like this:
`    steps:
- uses: actions/checkout@v2
  - name: Download Artifacts
    uses: actions/download-artifact@v2
    with:
      name: LambdaArtifacts
      path: build/dist/

  - uses: actions/setup-node@v2
    with:
      node-version: "14"
  - name: Configure aws credentials
    uses: aws-actions/configure-aws-credentials@master
    with:
      aws-access-key-id: ${{ secrets.aws_access_key }}
      aws-secret-access-key: ${{ secrets.aws_secret_key }}
      aws-region: ${{ inputs.aws_region }}

  - name: DEPLOY synthesize & deploy
    run: |
      cd ${GITHUB_WORKSPACE}/infrastructure
      npm install -g aws-cdk
      cdk deploy`


feat: add prismock client

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

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


DNM: Attempt to make run_training error on error

Completely untested, just spitballing since I noticed that training failure doesn't break workflow tests for some reason.


WAL replay remote storage tailing error message after lagging behind

Not sure if its a bug, but definitely some errors in log during wal replay when prometheus is started with remote storage (TimescaleDB).
What did you do?
Start Prometheus with remote-storage enabled.
What did you expect to see?
No errors while wal replay.
What did you see instead? Under which circumstances?
Errors during wal replay, but then says wal replay done. Seems like a missing segment due to inconsistency in truncation and wal.Watcher (or possible race).

Logs:

level=info ts=2020-09-14T05:56:16.839Z caller=head.go:806 component=tsdb msg="Head GC completed" duration=2.366574ms
level=info ts=2020-09-14T05:56:16.839Z caller=checkpoint.go:96 component=tsdb msg="Creating checkpoint" from_segment=5695 to_segment=5696 mint=1600012800000
level=info ts=2020-09-14T05:56:16.881Z caller=head.go:886 component=tsdb msg="WAL checkpoint complete" first=5695 last=5696 duration=42.542668ms
level=info ts=2020-09-14T05:56:16.905Z caller=head.go:806 component=tsdb msg="Head GC completed" duration=1.129637ms
level=info ts=2020-09-14T05:56:16.945Z caller=head.go:806 component=tsdb msg="Head GC completed" duration=2.814506ms
level=info ts=2020-09-14T05:56:16.945Z caller=checkpoint.go:96 component=tsdb msg="Creating checkpoint" from_segment=5697 to_segment=5698 mint=1600027200000
level=info ts=2020-09-14T05:56:16.993Z caller=head.go:886 component=tsdb msg="WAL checkpoint complete" first=5697 last=5698 duration=47.674518ms
level=info ts=2020-09-14T05:56:17.013Z caller=head.go:806 component=tsdb msg="Head GC completed" duration=1.926415ms
level=info ts=2020-09-14T05:56:17.041Z caller=head.go:806 component=tsdb msg="Head GC completed" duration=2.009196ms
level=info ts=2020-09-14T05:56:17.041Z caller=checkpoint.go:96 component=tsdb msg="Creating checkpoint" from_segment=5699 to_segment=5700 mint=1600041600000
level=info ts=2020-09-14T05:56:17.082Z caller=head.go:886 component=tsdb msg="WAL checkpoint complete" first=5699 last=5700 duration=40.615538ms
level=info ts=2020-09-14T05:56:17.109Z caller=head.go:806 component=tsdb msg="Head GC completed" duration=2.02106ms
level=info ts=2020-09-14T05:56:17.134Z caller=head.go:806 component=tsdb msg="Head GC completed" duration=1.007374ms
level=info ts=2020-09-14T05:56:17.134Z caller=checkpoint.go:96 component=tsdb msg="Creating checkpoint" from_segment=5701 to_segment=5702 mint=1600056000000
level=info ts=2020-09-14T05:56:17.172Z caller=head.go:886 component=tsdb msg="WAL checkpoint complete" first=5701 last=5702 duration=38.221026ms
ts=2020-09-14T05:56:17.198Z caller=dedupe.go:112 component=remote level=error remote_name=3ed20f url=http://localhost:9201/write msg="error tailing WAL" err="open data/wal/00005702: no such file or directory"
ts=2020-09-14T05:56:23.267Z caller=dedupe.go:112 component=remote level=info remote_name=3ed20f url=http://localhost:9201/write msg="Done replaying WAL" duration=1.068800422s

cc @cstyan

Well something strange is going on, there's 4 checkpoints created in the span of 2 seconds. Looks to me like the WAL watcher was replaying 5701 when the last checkpoint was happening, and when it finished 5702 no longer existed, so it moved on to 5703 and found sample with a timestamp > prometheus' start time, hence the done replaying WAL message.
This could have caused more problems if there was series records in that segment file, we wouldn't have those labels when we see the series reference ID later, until the next time we check for and read the checkpoint file.
@codesome is it possible to delay any checkpointing until after the WAL watcher has replayed the WAL? Or should we delay remote storage starting until after the regular replay and initial checkpointing?

Well something strange is going on, there's 4 checkpoints created in the span of 2 seconds.

@Harkishen-Singh did you restart the Prometheus after a few hours gap since it was down?

@codesome is it possible to delay any checkpointing until after the WAL watcher has replayed the WAL? Or should we delay remote storage starting until after the regular replay and initial checkpointing?

The initial checkpointing is not in yet (unless Head is getting compacted when TSDB opens), but after https://github.com/prometheus/prometheus/pull/7939, I would say let's checkpoint once and then start the remote storage because I would not prefer TSDB operations depend on remote-write. Does remote write WAL replay block the statup? Also, if we checkpoint before remote write replay, is there a possibility of losing data because remote-write has not sent the samples from the earlier WAL segments?

@Harkishen-Singh did you restart the Prometheus after a few hours gap since it was down?

Yes, in fact, anytime I start it with remote storage enabled, this happens. (Checked out just now and same thing)

Does remote write WAL replay block the startup?

I don't think so.

The initial checkpointing is not in yet (unless Head is getting compacted when TSDB opens), but after #7939, I would say let's checkpoint once and then start the remote storage because I would not prefer TSDB operations depend on remote-write. Does remote write WAL replay block the statup? Also, if we checkpoint before remote write replay, is there a possibility of losing data because remote-write has not sent the samples from the earlier WAL segments?

@codesome I also would prefer if TSDB did not depend on remote write, but yes there is the possibility of losing data because remote-write has not sent the samples from earlier WAL segments once we have the remote write checkpointing from #7710. Remote write WAL replay doesn't block startup, that replay is explicitly not started until after TSDB has started (in main.go).

but after #7939, I would say let's checkpoint once and then start the remote storage because I would not prefer TSDB operations depend on remote-write.

Better if we have an issue for that.

We have looked at this during our bug scrub and decided to close this based on above comments. Thanks!

I think this requires work than closing it. @roidelapluie

Yeah lets keep this open until we are sure we cannot fix it.
@cstyan: is this error possible even when running normally but remote write lagging a lot? Hence rw lagging behind a few files and WAL truncation happens.

In theory if remote write was very far behind you could see this error yes. But if it's just a few files behind during normal operation, successfully sending data still but just not able to keep up, it's not likely that checkpointing would delete a segment file that remote write hasn't already read.
Not sure what we can do in either case, as we don't want remote write to have a say in whether a segment file is truncated as part of checkpointing.

If Prometheus is down for some time, then after a restart the data in the WAL could be technically considered as lagging behind. Nothing much we can do there when TSDB should not know about remote write and there would be loss of data in remote write anyway. So I propose wont-fix for this particular issue as it's a side affect of longer downtime of Prometheus.

I agree. There's not much we can do in that case.
We can do the "TSDB doesn't say it's 'started' until it's checked if it should, and executed, checkpointing. And then remote write can start" for the particular case in this issue.

Hi guys,
Any updates?

Hello from the Bug Scrub!
Seems as @codesome and @cstyan says, there is still no good idea (after 4y) on how to do it better at the moment. It seems it's an edge case around Prometheus replaying very old data and remote write trying to tail that. Let's close for now, we can always reopen. Thanks!


MySQL: "Deadlock found..." when creating a list item at position

Hello,
I've come across an issue where concurrent requests to create items in a list at a specific position leads to sporadic, but reproducible errors from MySQL like the following:
Mysql2::Error: Deadlock found when trying to get lock; try restarting transaction: INSERT INTO `todo_items` (`description`, `position`, `todo_list_id`) VALUES ('Thread5_Item0', 1, 1)

Reproduction Code
I can reproduce this issue with code like the following.
todo_list = TodoList.create(name: "The List")

threads = Array.new(THREAD_COUNT) do |i|
  Thread.new do
    LOOP_COUNT.times do |j|
      # Eventually, this line will raise ActiveRecord::Deadlocked
      item = TodoItem.create(description: "Thread#{i}_Item#{j}", todo_list: todo_list, position: 1)
    end
  end
end

threads.each {|t| t.join }

For a complete, runnable example, see this Gist: https://gist.github.com/nmoadev/0a078741e944ac5e5eec7fa80e6848f9
Gem Versions
ruby '2.5.3'
gem 'mysql2', '~> 0.5.2'
gem 'activerecord', '~> 5.2.2'
gem 'acts_as_list', '~> 0.9.3'

MySQL Version is 5.7.25
I think it may be possible to avoid the deadlock with more pessimistic locking, and would be willing to investigate a fix.
I think this issue is related to #235.

Hi @nmoadev, yes please, we'd love you to look into this further :) I think it's got something to do with table scans locking rows on the table, and perhaps sometimes we're scanning the table in reverse order leading to deadlocks?

Hi @brendon,
I read through the "Contributing to acts_as_list" notes at the end of the README and wanted to check:
Does this project have a Contributor License Agreement or something similar?

Hi @nmoadev, not that I'm aware of, but I'm not really savvy on such things. @swanandp might be able to shed more light. Why do you ask? :)

Thanks for getting back to me. I'm looking into this issue as part of a work project, so I need to know the licensing arrangements for any contributions I would make.

Sounds good. What would be an idea license for you?

Other projects that I'm aware of use CLAs like ones prepared by this tool (http://contributoragreements.org/ca-cla-chooser/) or something like the Microsoft CLA (https://cla.opensource.microsoft.com/SharePoint/sp-dev-gdpr-activity-hub).
 I found the FAQ at http://contributoragreements.org/faq.html pretty helpful to understand the what and why of CLAs.

Looks like it requires an infrastructure to accept signings etc... sounds a bit too overkill for a little project like this. Will this be a show-stopper for you if we don't do it?

Nope, the lack of CLA is not a problem. :)
I actually think that the "solution" to this issue won't be a code change to the gem. The techniques that one can use to mitigate the frequency of deadlocks are very context-dependent; what works well in one app may not be appropriate for another. I'll share a write up of what I've found soon. Maybe it will be a useful bit of documentation for the gem.

Thanks @nmoadev :D I'm glad RE the CLA :D
RE the deadlocking, I think that's what we've come to realise over the years. It would be great if we could black-box the updating so it didn't cause issues elsewhere with deadlocks but I guess by their very nature it's difficult because we don't control the other code that deadlocks with us. The advisory lock concept seemed to be the best way forward, but it sounds like we need to refactor things in this gem to reduce the callbacks to 1. See: https://github.com/swanandp/acts_as_list/pull/325

@brendon Yep, I agree with that conclusion. I went down a similar train of thought as #325 but didn't want to embark on such a large endeavor.
I wrote up the following set of suggestions / examples for someone using the gem. Could these part of the documentation for the gem? I thought it might save someone else some pain if they face the same issue:
1) Use the Most Concise API
One easy way to reduce deadlocks is to use the most concise gem API available. The more concise API results in one transaction instead of two, and it issues fewer SQL statements. Issuing fewer statements tends to lead to faster transactions. Faster transactions are less likely to deadlock.
# Good
TodoItem.create(todo_list: todo_list, position: 1)

# Bad
item = TodoItem.create(todo_list: todo_list)
item.insert_at(1)

2) Rescue then Retry
Deadlocks are always a possibility when updating tables rows concurrently. The general advice from MySQL documentation is to catch these errors and simply retry the transaction; it will probably succeed on another attempt. (see How to Minimize and Handle Deadlocks) Retrying transactions sounds simple, but there are alot of details that need to be chosen on a case-by-case basis: How many retry attempts should be made? Should there be a wait time between attemps? What other statements were in the transaction that got rolled back?
This a simple example of rescuing from deadlock and retrying the operation:

ActiveRecord::Deadlocked is avilable in Rails >= 5.1.0.
If you have Rails < 5.1.0, you will need to rescue ActiveRecord::StatementInvalid and check #cause.

  attempts_left = 2
  while attempts_left > 0
    attempts_left -= 1
    begin
      TodoItem.transaction do
        TodoItem.create(todo_list: todo_list, position: 1)
      end
      attempts_left = 0
    rescue ActiveRecord::Deadlocked
      raise unless attempts_left > 0
    end
  end

You can also use the approach suggested in this StackOverflow post:
https://stackoverflow.com/questions/4027659/activerecord3-deadlock-retry
3) Lock Parent Record
In additon to reacting to deadlocks, it is possible to reduce their frequency with more pessimistic locking. This approach uses the parent record as a mutex for the entire list. This kind of locking is very effective at reducing the frequency of deadlocks while updating list items. However, there are some things to keep in mind:

This locking pattern needs to be used around every call that modifies the list; even if it does not reorder list items.
This locking pattern effectively serializes operations on the list. The throughput of operations on the list will decrease.
Locking the parent record may lead to deadlock elsewhere if some other code also locks the parent table.

Example:
todo_list = TodoList.create(name: "The List")
todo_list.with_lock do
  item = TodoItem.create(description: "Buy Groceries", todo_list: todo_list, position: 1)
end

Thanks @nmoadev, that's some great advice :) I'm happy to add a section for that to the README with that if you want. Would you mind doing up a quick PR? Be sure to add a line to the changelog too :)

Yep I'll make up a PR!

Considering this closed with #344

Indeed :) Thanks @nmoadev :)


Better error handling

Problematic scenarios
The following scenarios are not properly handled yet.

User cancels workflow. We currently don't recognize the cancellation and if the user cancels the workflow before the runner boots up, the runner will stay there until it times out or another job comes along. If the runner is finally assigned another job, that means it took it away from another runner that was started just for the new job. So this can cause an endless resource waste cycle where a runner is always on, even when a job is not running. For Fargate that has no time limit, this can mean the runner will basically run forever.
Runner failure like configuration issues, missing capacity, or any random AWS failure. If the runner fails to even get the job, the job will just sit there waiting for the next runner to boot. But as we only create one runner per job, that means the old job is stealing the runner from the new job. The old job had to wait for the new job, and the new job will have to wait for the next job to come up. That could delay jobs for no reason. Our current solution for that is cancelling the workflow so the failure is clear and no job stealing occurs. However this can lead back to scenario number 1 if it happens fast enough.

Another complication to all of this is having to remove runners. There is a limited number of self-hosted runners allowed per-repo, and if we don't clean them up, we can get stuck unable to add runners. The runner usually removes itself, but any error conditions like provider timeout (lambda runs out of time), can prevent removal. That's why we always delete the runner using API on error. But to be able to delete the runner, we have to first stop any jobs running on it. That's another reason why we sadly have to cancel the entire workflow.
Wishlist
If we can get GitHub to make some changes, the following would really help simplify the solution for these corner cases.

GitHub runner should support a timeout configuration that allows us to tell it to only wait a certain amount of time before giving up on getting a job.
GitHub runner should allow us to configure a runner for a specific job and only for that job.
GitHub API should allow us to mark just one job as failed instead of the whole workflow.

Other solutions
Assuming we can't get our wishlist items, here some incomplete ideas to help resolve these issues.

Have the step function monitor the job using /repos/{owner}/{repo}/actions/runs/{run_id}/jobs or the other one that has attempt information too. If we detect the job was cancelled, we can stop the runner. This means we won't be able to use .sync variants and will have to monitor the runners in the step function. This will also not work for Lambda runners as you can't stop a Lambda execution. But Lambdas are limited to 15 minutes which is not too bad.
Monitor the job with the method above and stop the runner if the job hasn't started in 5 minutes. That would mean the runner was stolen or the labels don't match or there is another issue. Will this work with multiple jobs running at the same time "stealing" runners from each-other? We already create the runners in the repo scope to limit cross-job stealing.
Figure out the undocumented actions API so we can fail a single job. We have the credentials and connection information in the .runner and .credentials files. Another option is creating a special runner fork that fails a single job.
Some kind of external to the step function monitor that makes sure all jobs are behaving right and has the power to start more runners if needed so stolen runners can be "fixed".

@kichik I think i may be running into part of this issue. The symptoms i'm experiencing are very confusing but i think it's the case.
I have multiple aws accounts that im deploying to. i have the runner labels set up so they target the specific account but my job ends up being cancelled for some unknown reason.
I can see the step function picks up the runner because it has the "self-hosted" pre-req. unfortunately, it doesnt match exactly and ends up failing because of an unknown label. could the initial label checker check for both labels (self-hosted and the configured one) and then bail if both dont match?

@laxgoalie392 yes, jobs being cancelled by @your-github-app-name would be due to this less-than-ideal error handling.
In your case it sounds like it's because we expect every job with the self-hosted label to also have a label we recognize. It sounds like you have multiple installations of cdk-github-runners in different accounts, each implementing different labels. That means some of the installations will not recognize the label and cancel the job. We can probably add a flag to disable this behavior or considering. Let's do this in a separate ticket. I've opened #133.


Specify output format

Need to allow the user to specify which output format they want (instead of only returning JSON). This could be done with multipart/mixed header, or perhaps we want another method for handling it.

Not for this file, but I added output format for the cloud function version (see README)


has resolution should be revisited

Description of the issue
has resolution is currently defined as A relation that holds between a study / publication / model/model calculation and the resolution it uses.
It has two subproperties: has spatial resolution and has temporal resolution.
I see two problems here:

The domain seems to be rather broad an arbitrary. It is the same domain covers had at some point. covers was discussed several times (e.g. in #579 ) and is now restricted to study (#821). The reasoning is that publication can be connected via is about, model via models and model calculation is taken care of by its connection to model.
We don't have a concept resolution. This would help with actually using has resolution as well as getting a clearer understanding what has resolution means.

Ideas of solution
A resolution could be a part of an analysis scope and maybe be connected to a study region or study horizon (yet to be included, see #474).
We should also add spatial resolution and temporal resolution.
How is a resolution stated / used in practice?
Workflow checklist

[ ] I discussed the issue with someone else than me before working on a solution
[ ] I already read the latest version of the workflow for this repository
[ ] The goal of this ontology is clear to me

I am aware that

[ ] every entry in the ontology should have a definition
[ ] classes should arise from concepts rather than from words

resolution should be related to dataset, e.g.: Resolution is a quality of a dataset that indicates the level of detail of the data.
A relation to model could be helpful.
In a study or publication, datasets / models with a certain resolution are used or referred to.

Isn't the relation to a study or publication an only indirect one? In my view this would be the right structure of axioms:

data set has resolution some resolution
study has participant some data set
publication is about some data set
model calculation has input some data set and model calculation has output some data set

What does "general resolution" in that context even mean? At least for the modelling projects I do, some results data sets have hourly resolution, other results sets have data annual resolution and further results data sets have only five or ten years resolution.

In the 25th oeo-dev-meeting we decided to make annual, weekly, daily, hourly individuals of temporal resolution.

@stap-m I cannot find it in the ontology. Is there a reason for the not-implementation?

Probably a mistake. I'll fix it, together with #968. I'll take the def proposed in this issue.


M2 Ultra GPU not working

Hi, I previously had the older VITmatte working fine in Nuke 15 (it appeared as a green node). After upgrading to the latest version of VITmatte, I’m encountering an issue where, with GPU usage enabled, the screen turns black with red horizontal lines. When I disable the GPU, everything works correctly. Other than that, thank you so much for these tools, they are GAME CHANGING!!!

edit *** it works in 15.0v3 but it doesn't work in 15.1 v2

Can confirm this on M1 chipset too. OSX 14.6.1
Nuke 15.0v4 works fine.
Nuke 15.1v1 wont work with the following message below
There's something funky going on because even if you disable "use GPU if available"  it won't allow for a cpu processing of the node.
UNSUPPORTED (log once): POSSIBLE ISSUE: unit 0 GLD_TEXTURE_INDEX_2D is unloadable and bound to sampler type (Float) - using zero texture because texture unloadable
Exception caught processing model: The following operation failed in the TorchScript interpreter.
Traceback of TorchScript, serialized code (most recent call last):
  File .../__torch__.py, line 13, in forward
    trimap = torch.slice(_1, 1, 3, 4, 1)
    image_and_trimap = {"image": image, "trimap": trimap}
    _2 = (self.model).forward(image_and_trimap, )
          ~~~~~~~~~~~~~~~~~~~ <--- HERE
    _3 = torch.contiguous(_2["phas"], memory_format=0)
    return _3
  File .../vitmatte.py, line 16, in forward
    _0 = (self).preprocess_inputs(batched_inputs, )
    images, H, W, = _0
    features = (self.backbone).forward(images, )
                ~~~~~~~~~~~~~~~~~~~~~~ <--- HERE
    outputs = (self.decoder).forward(features, images, )
    _1 = torch.slice(outputs["phas"], 0, 0,<PHONE_NUMBER>854775807, 1)
  File .../vit.py, line 19, in forward
    _2 = self.pretrain_use_cls_token
    _3 = ((torch.size(x0))[1], (torch.size(x0))[2])
    x1 = torch.add(x0, _0(_1, _2, _3, ), alpha=1)
                       ~~ <--- HERE
    _4 = self.blocks
    _5 = getattr(_4, "0")
  File .../utils.py, line 34, in get_abs_pos
  if _3:
    _5 = torch.reshape(abs_pos0, [1, size, size, -1])
    new_abs_pos = _0(torch.permute(_5, [0, 3, 1, 2]), [h, w], None, "bicubic", False, None, )
                  ~~ <--- HERE
    _6 = torch.permute(new_abs_pos, [0, 2, 3, 1])
    _4 = _6
  File .../___torch_mangle_36.py, line 236, in interpolate
                                  _89 = scale_factor_list0[0]
                                  _90 = scale_factor_list0[1]
                                  _91 = torch.upsample_bicubic2d(input, output_size, align_corners10, _89, _90)
                                        ~~~~~~~~~~~~~~~~~~~~~~~~ <--- HERE
                                  _87 = _91
                                else:

Traceback of TorchScript, original code (most recent call last):
  File .../vit.py, line 496, in forward
        x = self.patch_embed(x)
        if self.pos_embed is not None:
            x = x + get_abs_pos(
                    ~~~~~~~~~~~ <--- HERE
                self.pos_embed, self.pretrain_use_cls_token, (x.shape[1], x.shape[2])
            )
  File .../utils.py, line 166, in get_abs_pos

    if size != h or size != w:
        new_abs_pos = F.interpolate(
                      ~~~~~~~~~~~~~ <--- HERE
            abs_pos.reshape(1, size, size, -1).permute(0, 3, 1, 2),
            size=(h, w),
  File .../functional.py, line 3175, in interpolate
    elif input.dim() == 4 and mode == 'bicubic':
        assert align_corners is not None
        return torch._C._nn.upsample_bicubic2d(input, output_size, align_corners, sfl[0], sfl[1])
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ <--- HERE
    else:
        raise NotImplementedError("Input Error: Only 3D, 4D and 5D input Tensors supported"
RuntimeError: "compute_indices_weights_cubic" not implemented for 'Half'

Found a workaround. Inside the Gizmo, disable "optimize for speed and memory" checkbox on the Inference1 node.

in fact looks like the "cpu" render issue is also connected to the "optimize for speed and memory" checkbox.
Looks like that even if hidden when "use gpu" is off , if the checkbox is checked it will throw gpu errors on cpu render.
Maybe a bug/bad design by foundry on the inference node.


Clarify error and instructions when user uses behavior function in non-behavior UDF

Add an informative error for behavior functions used in non-imperative UDF

✅ No public API change.

✅ No public API change.

✅ No public API change.


Update python-telegram-bot version, add new command, and fix language errors and more

Update python-telegram-bot package to version 13.15
Add a new command to the bot when starting main.py
Fix some errors in the language files and more

Please ensure compatibility first, for example, if you modify the properties in JSON or alter the saving path of configuration, you should check whether an old configuration exists and needs to be updated


fix: add content_filter and function_call to finish_reason

Would address https://github.com/openai/openai-node/issues/320
I have not verified whether this or https://platform.openai.com/docs/guides/gpt/chat-completions-api is more accurate on this subject.

r? @athyuttamre


How to work with response in alamofire 4

I used to use this script to log response
response { request, response, data, error in
            guard let response = response else {
                if let path = request?.URL?.absoluteString, description = error?.localizedDescription {
                    print("XXX \(path): \"\(description)\"")
                }
                return
            }

            guard let path = response.URL?.absoluteString else {
                return
            }

            if let data = data, body = NSString(data: data, encoding: NSUTF8StringEncoding) where level == .Verbose {
                print("\(response.statusCode) \(path): \"\(body)\"")
            } else {
                print("\(response.statusCode) \(path)")
            }
        }

But after i have updated the new version of alamofire which is 4 it's getting an error
Cannot call value of non-function type 'HTTPURLResponse?'
Any help would be appreciated

Hi @black-lotus,
The response method signature has changed. Just comment out your old code and use auto-complete to rebuild your logic. Please check out our AF 4 migration guide for more info.
If you continue to have issues, then I'd suggest you open a question on Stack Overflow and tag alamofire. We use our GitHub project for bug reports and feature requests.
Best of luck! 🍻

From our Contribution Guidelines
Asking Questions
We don't use GitHub as a support forum. For any usage questions that are not specific to the project itself, please ask on Stack Overflow instead. By doing so, you'll be more likely to quickly solve your problem, and you'll allow anyone else with the same question to find the answer. This also allows maintainers to focus on improving the project for others.


Support external weights

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 77.39%. Comparing base (e0cdf81) to head (fc320c2).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #175      +/-   ##
==========================================
+ Coverage   77.35%   77.39%   +0.04%
==========================================
  Files         120      120
  Lines       13939    13948       +9
==========================================
+ Hits        10782    10795      +13
+ Misses       3157     3153       -4

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


inconsistent documentation about transforms.json

The docstings in the data convention say that transforms.js expects extrinsics of the form
    // [+X0 +Y0 +Z0 X]
    // [+X1 +Y1 +Z1 Y]
    // [+X2 +Y2 +Z2 Z]
    // [0.0 0.0 0.0 1]

yet colmap exports the last row to have non zero values in the first three rows, and works perfectly. I havea custom dataset with know camera poses, yet using the description mentioned above doesn't work.
What is the actual precise meaning of the top-left submatrix? Can someone please document this accurately? The docstring is very vague

These are just SE(3) rigid body transform matrices. Nerfstudio uses the C2W (camera to world) convention whereas raw COLMAP output gives W2C (world to camera) transforms. To transform one from the other, inversion is required. The top T[:3,:3] elements of the transform is the rotation component (SO(3)) and the last column T[:3,3] is the translation component.
Which part of the description does not make sense (not accurate)?


add validating job

Towards https://github.com/giantswarm/giantswarm/issues/29756
This PR adds a job checking if the operator's pods are running
Checklist

[x] Update changelog in CHANGELOG.md.
[ ] Follow deployment test procedure in the tests/manual_e2e directory and have a working branch.

So in its current state, the job's pod enters the completed state when the ollyop pod is running and ready and enters a error and then CrashloopBackOff state whenever the ollyop pod is not ready.
Thankfully, the job's pod is not staying for too long and leads to a failed run recorded in the Job.


Added definitions for AIP, ALM and PP DLP

Category

[X] Content fix

Related issues

fixes #265

Added definitions for the following terms:
Azure Information Protection (AIP)
Application Lifecycle Management (ALM)
Power Platform Data Loss Prevention

Docs Build status updates of commit a21c297:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Community/glossary.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Thanks, Miguel!

Anytime @sympmarc!


MPKI calculation

Hi, I noticed your instrumentation function in your tracer only records the PC which isn't non-branch, then how did you calculate the following MPKI? I think non-branch instructions should also be considered in this metric.

Oh, I see, Thanks!


docxtemplater v3.x support required

+1

This really needs to happen...

+1

+1

+1

+1

+1

+1


Add NumberFormat to intl library

 Issue by sethladd
Originally opened as dart-lang/sdk#8576

User request to format numbers. See http://stackoverflow.com/questions/14865568/currency-format-in-dart
Seems like a good fit for intl, especially because intl has DateFormat.
Thanks!

 Comment by 0x3333

It's already fixed, isn't it?

 Comment by sethladd

Added Pkg-Intl label.

 Comment by kasperl

Added Area-Library, Triaged labels.

 Comment by alan-knight

This was added a long time ago.

Added AssumedStale label.

 Comment by lrhn

Removed Type-Defect, Area-Library labels.
Added Type-Enhancement, Area-Pkg labels.


Any update or datasets link?

As title

Hi,
thanks for the update.
Here is another question,
in the quantitative comparison section three datasets(Object(200),Postcard(199)&Wild(55)) from SIR2 are used for evaluation, but actually each of them have 200, 200, 100 images respectively.
Why and Which of them are selected for evaluation ?
thank again

Thank you for the answer!


ProtocolError: packet is not EOF

I am getting the following error when running in my local setup (mysql 5.5.40, ruby 2.1.5 on ubuntu 14.04):
$ mysql --version
mysql  Ver 14.14 Distrib 5.5.40, for debian-linux-gnu (x86_64) using readline 6.3

$ RAILS_ENV=production mysqltopostgres database.yml
gems/mysql-pr-2.9.11/lib/mysql-pr/protocol.rb:562:in `read_eof_packet': packet is not EOF (MysqlPR::ProtocolError)
        from gems/mysql-pr-2.9.11/lib/mysql-pr/protocol.rb:274:in `retr_fields'
        from gems/mysql-pr-2.9.11/lib/mysql-pr.rb:322:in `query'
        from gems/mysql-pr-2.9.11/lib/mysql-pr.rb:442:in `list_tables'
        from bundler/gems/mysql2postgres-084519061f48/lib/mysql2psql/mysql_reader.rb:193:in `tables'
        from bundler/gems/mysql2postgres-084519061f48/lib/mysql2psql/converter.rb:21:in `convert'
        from bundler/gems/mysql2postgres-084519061f48/lib/mysqltopostgres.rb:51:in `convert'
        from bundler/gems/mysql2postgres-084519061f48/bin/mysqltopostgres:23:in `<top (required)>'
        from bin/mysqltopostgres:23:in `load'
        from bin/mysqltopostgres:23:in `<main>'
        from bin/ruby_executable_hooks:15:in `eval'
        from bin/ruby_executable_hooks:15:in `<main>'

MySQL config (nothing special):
[...]
mysql_data_source: &pii
  hostname: localhost
  port: 3306
  socket: /var/run/mysqld/mysqld.sock
  username: xx
  password: xx
  database: xx

mysql2psql:
  mysql:
    <<: *pii

[...]

Thanks!
Thomas

Sorry, I just noticed that the error is thrown by mysql-pr, not by mysql2postgres. Closing the issue and re-opening there.


High-res version of the cards

Is this something you would be open to consider?
Cheers!
Seb

See #21.


Turbo: plugin turns on in replay editor

Basically what title says.
It doesn't seem to save the stats on exit. Rather, it just keeps counting session time until you enter an actual track, where it resets back to zero.
P.S. guess I lied in my PR, sorry

I wonder if that's a thing in Maniaplanet, too.

i have maniaplanet installed, so i'll check that too

fixed in 8073097eadbf78263b460322cd7fbcb43765dfb8


Using Blob Container Caches to limit Azure calls

Fixes #433
To do this, I had BlobDirectoryTreeItem extend AzureParentTreeItem. I also had to change the naming convention within BlobTreeItem.
You can see now that every folder only gets called twice (once to get its children directories and another time to get its children blobs).
10:31:39 AM: Querying Azure... Method: listBlobsSegmentedWithPrefix blobContainerName: "test" prefix: ""
10:31:40 AM: Querying Azure... Method: listBlobDirectoriesSegmentedWithPrefix blobContainerName: "test" prefix: ""
10:31:40 AM: Querying Azure... Method: listBlobsSegmentedWithPrefix blobContainerName: "test" prefix: "1"
10:31:40 AM: Querying Azure... Method: listBlobDirectoriesSegmentedWithPrefix blobContainerName: "test" prefix: "1"
10:31:41 AM: Querying Azure... Method: listBlobsSegmentedWithPrefix blobContainerName: "test" prefix: "2"
10:31:41 AM: Querying Azure... Method: listBlobDirectoriesSegmentedWithPrefix blobContainerName: "test" prefix: "2"
10:31:42 AM: Querying Azure... Method: listBlobsSegmentedWithPrefix blobContainerName: "test" prefix: "3"
10:31:42 AM: Querying Azure... Method: listBlobDirectoriesSegmentedWithPrefix blobContainerName: "test" prefix: "3"
10:31:42 AM: Querying Azure... Method: listBlobsSegmentedWithPrefix blobContainerName: "test" prefix: "bubly"
10:31:43 AM: Querying Azure... Method: listBlobDirectoriesSegmentedWithPrefix blobContainerName: "test" prefix: "bubly"
10:31:43 AM: Querying Azure... Method: listBlobsSegmentedWithPrefix blobContainerName: "test" prefix: "dogs"
10:31:44 AM: Querying Azure... Method: listBlobDirectoriesSegmentedWithPrefix blobContainerName: "test" prefix: "dogs"
10:31:44 AM: Querying Azure... Method: listBlobsSegmentedWithPrefix blobContainerName: "test" prefix: "big dogs"
10:31:44 AM: Querying Azure... Method: listBlobDirectoriesSegmentedWithPrefix blobContainerName: "test" prefix: "big dogs"
10:31:45 AM: Querying Azure... Method: listBlobsSegmentedWithPrefix blobContainerName: "test" prefix: "medium dogs"
10:31:45 AM: Querying Azure... Method: listBlobDirectoriesSegmentedWithPrefix blobContainerName: "test" prefix: "medium dogs"
10:31:46 AM: Querying Azure... Method: listBlobsSegmentedWithPrefix blobContainerName: "test" prefix: "small dogs"
10:31:46 AM: Querying Azure... Method: listBlobDirectoriesSegmentedWithPrefix blobContainerName: "test" prefix: "small dogs"
10:31:48 AM: Querying Azure... Method: listBlobsSegmentedWithPrefix blobContainerName: "test" prefix: ""
10:31:48 AM: Querying Azure... Method: listBlobDirectoriesSegmentedWithPrefix blobContainerName: "test" prefix: ""
10:31:49 AM: Querying Azure... Method: listBlobsSegmentedWithPrefix blobContainerName: "test" prefix: "1"
10:31:49 AM: Querying Azure... Method: listBlobDirectoriesSegmentedWithPrefix blobContainerName: "test" prefix: "1"
10:31:49 AM: Querying Azure... Method: listBlobsSegmentedWithPrefix blobContainerName: "test" prefix: "2"
10:31:50 AM: Querying Azure... Method: listBlobDirectoriesSegmentedWithPrefix blobContainerName: "test" prefix: "2"
10:31:50 AM: Querying Azure... Method: listBlobsSegmentedWithPrefix blobContainerName: "test" prefix: "3"
10:31:50 AM: Querying Azure... Method: listBlobDirectoriesSegmentedWithPrefix blobContainerName: "test" prefix: "3"
10:31:51 AM: Querying Azure... Method: listBlobsSegmentedWithPrefix blobContainerName: "test" prefix: "bubly"
10:31:51 AM: Querying Azure... Method: listBlobDirectoriesSegmentedWithPrefix blobContainerName: "test" prefix: "bubly"
10:31:52 AM: Querying Azure... Method: listBlobsSegmentedWithPrefix blobContainerName: "test" prefix: "dogs"
10:31:52 AM: Querying Azure... Method: listBlobDirectoriesSegmentedWithPrefix blobContainerName: "test" prefix: "dogs"
10:31:53 AM: Querying Azure... Method: listBlobsSegmentedWithPrefix blobContainerName: "test" prefix: "big dogs"
10:31:53 AM: Querying Azure... Method: listBlobDirectoriesSegmentedWithPrefix blobContainerName: "test" prefix: "big dogs"
10:31:53 AM: Querying Azure... Method: listBlobsSegmentedWithPrefix blobContainerName: "test" prefix: "medium dogs"
10:31:54 AM: Querying Azure... Method: listBlobDirectoriesSegmentedWithPrefix blobContainerName: "test" prefix: "medium dogs"
10:31:54 AM: Querying Azure... Method: listBlobsSegmentedWithPrefix blobContainerName: "test" prefix: "small dogs"
10:31:55 AM: Querying Azure... Method: listBlobDirectoriesSegmentedWithPrefix blobContainerName: "test" prefix: "small dogs"

For reference, I added console logs here and here:
// tslint:disable-next-line:promise-function-async // Grandfathered in
    listDirectories(currentToken: azureStorage.common.ContinuationToken, maxResults: number = 50): Promise<azureStorage.BlobService.ListBlobDirectoriesResult> {
        return new Promise<azureStorage.BlobService.ListBlobDirectoriesResult>((resolve, reject) => {
            console.log(`${new Date().toLocaleTimeString()}: Querying Azure... Method: listBlobDirectoriesSegmentedWithPrefix blobContainerName: "${this.container.name}" prefix: "${this.directory.name}"`);
            let blobService = this.root.createBlobService();
            // Intentionally passing undefined for token - only supports listing first batch of files for now
            // tslint:disable-next-line: no-non-null-assertion
            blobService.listBlobDirectoriesSegmentedWithPrefix(this.container.name, this.dirPath, currentToken, { delimiter: '/', maxResults: maxResults }, (error?: Error, result?: azureStorage.BlobService.ListBlobDirectoriesResult) => {
                if (!!error) {
                    reject(error);
                } else {
                    resolve(result);
                }
            });
        });
    }

    // tslint:disable-next-line:promise-function-async // Grandfathered in
    listBlobs(currentToken: azureStorage.common.ContinuationToken, maxResults: number = 50): Promise<azureStorage.BlobService.ListBlobsResult> {
        return new Promise<azureStorage.BlobService.ListBlobsResult>((resolve, reject) => {
            console.log(`${new Date().toLocaleTimeString()}: Querying Azure... Method: listBlobsSegmentedWithPrefix blobContainerName: "${this.container.name}" prefix: "${this.directory.name}"`);
            let blobService = this.root.createBlobService();
            // Intentionally passing undefined for token - only supports listing first batch of files for now
            // tslint:disable-next-line: no-non-null-assertion
            blobService.listBlobsSegmentedWithPrefix(this.container.name, this.dirPath, currentToken, { delimiter: '/', maxResults: maxResults }, (error?: Error, result?: azureStorage.BlobService.ListBlobsResult) => {
                if (!!error) {
                    reject(error);

                } else {
                    resolve(result);
                }
            });
        });
    }

Additionally, the Azure Storage extension also now shows the virtual folders in blobs. The Load More works as before.

Currently, I do not know how to show a button on File Explorer so cannot show a Load More option in File Explorer. However, if you load more children from the extension and click refresh in the File Explorer, you will see more children.

I probably don't have time to review this. @PrashanthCorp @nturinski @StephenWeatherford for help
@monalgarg please add more description to the PR so that they know what's going on. For example, add screenshots of the new blob experience in the Azure tree and the results of your performance testing (similar to what I did in the original issue). I still haven't seen the results of your testing for file shares

Hey, I had a look yesterday, but I could not totally follow the code changes. Hence the sole comment
@monal, do you recommend I look into each commit rather than the whole change?

From: Eric Jizba<EMAIL_ADDRESS>Sent: Tuesday, August 13, 2019 8:35:27 AM
To: microsoft/vscode-azurestorage<EMAIL_ADDRESS>Cc: Prashanth Srinivasan<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [microsoft/vscode-azurestorage] Using Blob Container Caches to limit Azure calls (#441)
I probably don't have time to review this. @PrashanthCorphttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FPrashanthCorp&data=02|01|prsri%40microsoft.com|ccdf9b4762b740d711d808d72003de2e|72f988bf86f141af91ab2d7cd011db47|1|0|637013073296235066&sdata=co%2B1lGHIdluJTZ7At%2Fbjq%2BkFJ%2B5jgCizPGjVjg4LLvc%3D&reserved=0 @nturinskihttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnturinski&data=02|01|prsri%40microsoft.com|ccdf9b4762b740d711d808d72003de2e|72f988bf86f141af91ab2d7cd011db47|1|0|637013073296235066&sdata=SNWwV62bfvZfJM8uJWFD9S5qVedDpCsKGFQVhD8Anqs%3D&reserved=0 @StephenWeatherfordhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FStephenWeatherford&data=02|01|prsri%40microsoft.com|ccdf9b4762b740d711d808d72003de2e|72f988bf86f141af91ab2d7cd011db47|1|0|637013073296245065&sdata=TL4bvo4ltGRAlCaVzjXG368kh3is3RVZsgG0sqT1aEw%3D&reserved=0 for help
@monalgarghttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmonalgarg&data=02|01|prsri%40microsoft.com|ccdf9b4762b740d711d808d72003de2e|72f988bf86f141af91ab2d7cd011db47|1|0|637013073296245065&sdata=rvy4cLO8lDF7SsrYTrd%2F1I5zr32NDXDbJRH6E%2BZkHnQ%3D&reserved=0 please add more description to the PR so that they know what's going on. For example, add screenshots of the new blob experience in the Azure tree and the results of your performance testing (similar to what I did in the original issue). I still haven't seen the results of your testing for file shares
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fvscode-azurestorage%2Fpull%2F441%3Femail_source%3Dnotifications%26email_token%3DAHIC73NM6WHZPHKEPOFZZV3QELID7A5CNFSM4IKVUDT2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4GBXGA%23issuecomment-520887192&data=02|01|prsri%40microsoft.com|ccdf9b4762b740d711d808d72003de2e|72f988bf86f141af91ab2d7cd011db47|1|0|637013073296255059&sdata=%2FWdMe9yBraaKBJAUlzIXRW4SDXe2V8bNKlcYfZwwtys%3D&reserved=0, or mute the threadhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAHIC73LLHHRCVOG5ZVULYDTQELID7ANCNFSM4IKVUDTQ&data=02|01|prsri%40microsoft.com|ccdf9b4762b740d711d808d72003de2e|72f988bf86f141af91ab2d7cd011db47|1|0|637013073296265053&sdata=zUV8i2kBGSALOZEJQyB3s7u1j8i6sme60iqysiIQbWM%3D&reserved=0.

@PrashanthCorp see my above comment - Monal should add more description to the PR

@PrashanthCorp You've tagged the wrong user.

Looks good to me.
@nturinski what say?


Create myGateway false

I follow  "Managing CA Certificate Sample"  finish to Step 3.
Then  create the new device certificate  get a error
"New-CACertsEdgeDevice myGateway"
Mode                LastWriteTime         Length Name

-a----       2018/06/26     16:23           4765 myGateway.pfx
openssl : MAC verified OK
位於 C:\azure-iot-sdk-c\tools\CACertificates\ca-certs.ps1:214 字元:5

openssl pkcs12 -in $newDevicePfxFileName -out $newDevicePemAllFil ...

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : NotSpecified: (MAC verified OK:String) [], RemoteException
FullyQualifiedErrorId : NativeCommandError

"New-CACertsDevice mydevice"  get a error too
Mode                LastWriteTime         Length Name

-a----       2018/06/26     15:59           3685 mydevice.pfx
openssl : 12676:error:02001005:system library:fopen:Input/output error:bss_file.c:175:fopen('C:\OpenSSL\bin','rb')
位於 C:\azure-iot-sdk-c\tools\CACertificates\ca-certs.ps1:212 字元:5

openssl pkcs12 -in $newDevicePfxFileName -out $newDevicePemAllFil ...

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : NotSpecified: (12676:error:020...nSSL\bin','rb'):String) [], RemoteException
FullyQualifiedErrorId : NativeCommandError

How to fix it
And $ENV:OPENSSL_CONF set as follows
$ENV:OPENSSL_CONF = "C:\OpenSSL\bin\openssl.cnf"

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

ID: de9562a7-4f9a-c733-6239-1af7f5f91854
Version Independent ID: 9fcc5069-27af-350c-6261-71f3526397b1
Content: Create a transparent gateway with Azure IoT Edge - Windows
Content Source: articles/iot-edge/how-to-create-transparent-gateway-windows.md
Service: iot-edge
GitHub Login: @kgremban
Microsoft Alias: kgremban

@andy1012 Thanks for the feedback! We are currently investigating and will update you shortly.

@andy1012 on this doc that you opened this issue at what step is failing? Please make sure that you follow all the steps and prerequisites as described.
Thanks!

@andy1012 the current version of ca-certs.ps1 has a bug, I could also reproduce it. While I am fixing it together with the Product Group can you please use an older version: https://github.com/Azure/azure-iot-sdk-c/tree/c9ad0a9d691619f87b87e8ae3347f19726c1ac58/tools/CACertificates
Thank you so much for troubleshooting and pointing this out 👍

@andy1012 the ca-certs.ps1 script was fixed and you can now use the version on the master branch.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.
Thank you once more.


feat: Allow definition of the same config key multiple times using a suffix

I need to redefine a key multiple times and it's incompatible with the YAML format. I added this feature that strips the suffix -[0-9] if provided.
Example:
remote:
  Hosts:
    bastion:
      HostName: <IP_ADDRESS>
      LocalForward-1: 8080 <IP_ADDRESS>:80
      LocalForward-2: 8443 <IP_ADDRESS>:443

Would output
Host bastion
    HostName <IP_ADDRESS>
    LocalForward 8080 <IP_ADDRESS>:80
    LocalForward 8443 <IP_ADDRESS>:443

@BapRx sorry I didn't see this! Setting a reminder to get to this - I'll just need to update the docs as well. Thank you!

No problem, thank you!

@BapRx I've taken a different approach to achieve the same thing by using Yaml lists. I hope this works for your needs - the example output in the commit correlates to the desired result. The reason I went this way was to avoid manipulating the SSH config key string directly.

Amazing @bencromwell thank you! Your implementation makes way more sense that what I coded :smile:


Composer complains about missing ext-mbstring, when mbstring extension is loaded

What steps will reproduce the problem?
air:www gri$ composer create-project yiisoft/yii2-app-basic basic 2.0.7
What is the expected result?
installation
What do you get instead?
Installing yiisoft/yii2-app-basic (2.0.7)

Installing yiisoft/yii2-app-basic (2.0.7)
Downloading: 100%

Created project in basic
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- yiisoft/yii2 2.0.7 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- yiisoft/yii2 2.0.6 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- yiisoft/yii2 2.0.5 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
- Installation request for yiisoft/yii2 >=2.0.5 -> satisfiable by yiisoft/yii2[2.0.5, 2.0.6, 2.0.7].
Additional info

Q
A

PHP version
7.0.2

Operating system
Mac OS X

$ php -m
[PHP Modules]
bz2
Core
ctype
curl
date
dom
ev
fileinfo
filter
gd
hash
json
libxml
mbstring
mysqlnd
openssl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
Reflection
session
SimpleXML
SPL
sqlite3
standard
tokenizer
xdebug
xml
xmlreader
xmlwriter
xsl

[Zend Modules]
Xdebug

$ php -v
PHP 7.0.2 (cli) (built: Jan 17 2016 18:58:51) ( NTS DEBUG )
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies
    with Xdebug v2.4.0RC3, Copyright (c) 2002-2015, by Derick Rethans

$ composer
...
Composer version 1.1-dev (76350676b53f295874447be4c37da2f52cd2c216) 2016-04-15 15:37:47

well, that should be reported to composer then, not yii...

Works for me:
$ php -v
Cannot load Xdebug - it was already loaded
PHP 7.0.3 (cli) (built: Mar  3 2016 23:03:56) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
    with Xdebug v2.4.0, Copyright (c) 2002-2016, by Derick Rethans

$ php -m |grep mbstring
mbstring

$ composer create-project yiisoft/yii2-app-basic basic 2.0.7
You are running composer with xdebug enabled. This has a major impact on runtime performance. See https://getcomposer.org/xdebug
Warning: This development build of composer is over 60 days old. It is recommended to update it by running "/usr/local/bin/composer self-update" to get the latest version.
Installing yiisoft/yii2-app-basic (2.0.7)
  - Installing yiisoft/yii2-app-basic (2.0.7)
    Loading from cache

Created project in basic
Loading composer repositories with package information
Installing dependencies (including require-dev)
  - Installing yiisoft/yii2-composer (2.0.4)
    Loading from cache

  - Installing ezyang/htmlpurifier (v4.6.0)
    Loading from cache

  - Installing swiftmailer/swiftmailer (v5.4.1)
    Loading from cache

  - Installing bower-asset/jquery (2.2.3)
    Downloading: 100%

  - Installing bower-asset/yii2-pjax (v2.0.6)
    Loading from cache

  - Installing bower-asset/punycode (v1.3.2)
    Loading from cache

  - Installing bower-asset/jquery.inputmask (3.2.7)
    Loading from cache

  - Installing cebe/markdown (1.1.0)
    Loading from cache

  - Installing yiisoft/yii2 (2.0.7)
    Loading from cache

  - Installing yiisoft/yii2-swiftmailer (2.0.5)
    Loading from cache

  - Installing yiisoft/yii2-codeception (2.0.5)
    Loading from cache

  - Installing bower-asset/bootstrap (v3.3.5)
    Loading from cache

  - Installing yiisoft/yii2-bootstrap (2.0.6)
    Loading from cache

  - Installing yiisoft/yii2-debug (2.0.6)
    Loading from cache

  - Installing bower-asset/typeahead.js (v0.11.1)
    Loading from cache

  - Installing phpspec/php-diff (v1.1.0)
    Downloading: 100%

  - Installing yiisoft/yii2-gii (2.0.5)
    Loading from cache

  - Installing fzaninotto/faker (v1.5.0)
    Loading from cache

  - Installing yiisoft/yii2-faker (2.0.3)
    Loading from cache

Writing lock file
Generating autoload files
> yii\composer\Installer::postCreateProject
chmod('runtime', 0777)...done.
chmod('web/assets', 0777)...done.
chmod('yii', 0755)...done.

does your composer command use the same PHP binary as the command line?

@cebe, good question,  I'll check now

it's an composer/xdebug issue problem, sorry guys

@grikdotnet could you please share how did you fix it? I have the same issue with xdebug/composer

i have the same issue,what can i do?

I have the same issue. How can i fix it???