Create Consumption & Dedicated plan Swagger

Purpose of this PR
What's the purpose of this PR? Check all that apply. This is mandatory!

[ ] New API version. (Such PR should have been generated with OpenAPI Hub, per this wiki doc.)
[ ] Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
[ ] Update existing version to fix swagger quality issues in S360.
[x] Other, please clarify:

We are introducing a new api-version in our swagger. At the same time, we are also defining new tracked resources in this new apiversion.

Due diligence checklist
To merge this PR, you must go through the following checklist and confirm you understood
and followed the instructions by checking all the boxes:

[x] I have reviewed the general guidance on the spec PR review process: https://aka.ms/specprreview.
[x] I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data-plane related specifications.
[x] I commit to follow the Breaking Change Policy.
[x] I have reviewed following Resource Provider guidelines, including
ARM resource provider contract and
REST guidelines (estimated time: 4 hours).
I understand this is required before I can request review from an ARM API Review board.

ARM API changes review

If you want for the ARM team to review this PR, you must add the ARMReview label.
The automation may automatically add the ARMReview label, if appropriate.
If this happens, proceed according to guidance given in GitHub comments also added by the automation.

Breaking change review
If you have any breaking changes as defined in the Breaking Change Policy,
follow the process outlined in the High-level Breaking Change Process doc.
Getting help

For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
and https://aka.ms/ci-fix.
For additional help, see https://aka.ms/azsdk/support/spectools.

@rkmanda Hi Roopesh, please help with the review when you got time. Thank!
As for the ModelValidation failure, I raised a post in the Azure SDK channel and the owner bypassed it for me in this pr with the comment.

How to visualize the changes:

Go to the file changed like SpringEnvironment.json in this pr
View the file and click Raw

Copy the url and past it into the text box of Temp tool to view the swagger

Click "Explore"

@Caoxuyang Can you please follow the checklist exactly and do not overwrite them. PLease leave the checklist as is and select the correct options in the checklist so that reviewers are aware of what requires to be reviewed here.

Can you please fix the LintDiff warnings in this PR : https://github.com/Azure/azure-rest-api-specs/pull/24106/checks?check_run_id=15033764653

Can you please explain what you are doing in this PR ? I see that you are choosing to not rev the existing "appplatform.json"file in this version. This is not recommended since it would create an incomplete SDK

How to visualize the changes:

Go to the file changed like SpringEnvironment.json in this pr
View the file and click Raw

Copy the url and past it into the text box of Temp tool to view the swagger

Click "Explore"

@Caoxuyang Can you please follow the checklist exactly and do not overwrite them. PLease leave the checklist as is and select the correct options in the checklist so that reviewers are aware of what requires to be reviewed here.

Updated!

Can you please fix the LintDiff warnings in this PR : https://github.com/Azure/azure-rest-api-specs/pull/24106/checks?check_run_id=15033764653

@raosuhas I have fixed most of the warnings in the linkDiff. However I want to know whether we can bypass this one: AllProxyResourcesShouldHaveDelete? Per our current design, this resource it doesn't not support the delete api for now. We have the plan to add the delete API in the future but not in current milestone.

Can you please explain what you are doing in this PR ? I see that you are choosing to not rev the existing "appplatform.json"file in this version. This is not recommended since it would create an incomplete SDK

Hi @raosuhas , in short, we are intruducing several new tracked resources in a new api-version for a new sku of our service.
The 'appplatform.json' is also in use and it's referenced in the readme.md like this:
input-file:
  - Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json
  - Microsoft.AppPlatform/preview/2023-08-02-preview/Revisions.json
  - Microsoft.AppPlatform/preview/2023-08-02-preview/SpringEnvironments.json
  - Microsoft.AppPlatform/preview/2023-08-02-preview/SpringMiddlewares.json
  - Microsoft.AppPlatform/preview/2023-05-01-preview/appplatform.json

The SDK will be generated from appplatform.json from another api-version. It won't craete an incomplete SDK.

@raosuhas ping for review.

/azp run

AppPlatform

Check the comment: https://github.com/Azure/azure-rest-api-specs/pull/24106/checks?check_run_id=15302380753 for model validation errors.

Refers to: specification/appplatform/resource-manager/readme.md:1 in e192fdc. [](commit_id = e192fdc54be58869ca74f57924c09a2ea73dde14, deletion_comment = False)

AppPlatform

Check the comment: https://github.com/Azure/azure-rest-api-specs/pull/24106/checks?check_run_id=15302380753 for model validation errors.
Refers to: specification/appplatform/resource-manager/readme.md:1 in e192fdc. [](commit_id = e192fdc, deletion_comment = False)

Hi @visingla-ms, this is not introduced by my commit. The additional property environmentId reported here is from the parent swagger I referred in JavaApp definition. And here is the link to the parent definition: https://github.com/Azure/azure-rest-api-specs/blob/7c50841aadb4bfc241de3f09146e1f97ce3583b2/specification/app/resource-manager/Microsoft.App/preview/2023-04-01-preview/ContainerApps.json#L716

AppPlatform

Check the comment: https://github.com/Azure/azure-rest-api-specs/pull/24106/checks?check_run_id=15302380753 for model validation errors.
Refers to: specification/appplatform/resource-manager/readme.md:1 in e192fdc. [](commit_id = e192fdc, deletion_comment = False)

Hi @visingla-ms, this is not introduced by my commit. The additional property environmentId reported here is from the parent swagger I referred in JavaApp definition. And here is the link to the parent definition:
https://github.com/Azure/azure-rest-api-specs/blob/7c50841aadb4bfc241de3f09146e1f97ce3583b2/specification/app/resource-manager/Microsoft.App/preview/2023-04-01-preview/ContainerApps.json#L716

No, that's an anti-pattern. the parent and child property sets need to be kept separate otherwise it will be a difficult to even keep them in sync. If they both want to use same property set, define the properties as a separate model and refer to that. Model Validation Failures are blocker to the PR review approval.

AppPlatform

Check the comment: https://github.com/Azure/azure-rest-api-specs/pull/24106/checks?check_run_id=15302380753 for model validation errors.
Refers to: specification/appplatform/resource-manager/readme.md:1 in e192fdc. [](commit_id = e192fdc, deletion_comment = False)

Hi @visingla-ms, this is not introduced by my commit. The additional property environmentId reported here is from the parent swagger I referred in JavaApp definition. And here is the link to the parent definition:
https://github.com/Azure/azure-rest-api-specs/blob/7c50841aadb4bfc241de3f09146e1f97ce3583b2/specification/app/resource-manager/Microsoft.App/preview/2023-04-01-preview/ContainerApps.json#L716

No, that's an anti-pattern. the parent and child property sets need to be kept separate otherwise it will be a difficult to even keep them in sync. If they both want to use same property set, define the properties as a separate model and refer to that. Model Validation Failures are blocker to the PR review approval. BTW, rest of the PR looks good.

Hi @visingla-ms I left an message in teams to discuss this comment above.
And sorry to say that I made several commits today only for renaming a resource, hope that won't bring more work to you.

AppPlatform

Check the comment: https://github.com/Azure/azure-rest-api-specs/pull/24106/checks?check_run_id=15302380753 for model validation errors.
Refers to: specification/appplatform/resource-manager/readme.md:1 in e192fdc. [](commit_id = e192fdc, deletion_comment = False)

Hi @visingla-ms, this is not introduced by my commit. The additional property environmentId reported here is from the parent swagger I referred in JavaApp definition. And here is the link to the parent definition:
https://github.com/Azure/azure-rest-api-specs/blob/7c50841aadb4bfc241de3f09146e1f97ce3583b2/specification/app/resource-manager/Microsoft.App/preview/2023-04-01-preview/ContainerApps.json#L716

No, that's an anti-pattern. the parent and child property sets need to be kept separate otherwise it will be a difficult to even keep them in sync. If they both want to use same property set, define the properties as a separate model and refer to that. Model Validation Failures are blocker to the PR review approval. BTW, rest of the PR looks good.

Hi @visingla-ms I left an message in teams to discuss this comment above with two points:

I only inherit the environmentId property in JavaApps definition, I didn't define my own. (I do defined another 'environmentId' property in the resource 'JavaEnvironment'. And they all point to same arm id)
The model validation is a bug in the pipeline, I paste you the post in teams and I got the owner's approval comment in this pr for bypassing the check.

And sorry to say that I made several commits today only for renaming a resource, hope that won't bring more work to you.

Thank you for providing details offline. Approving it.

@visingla-ms Thank you so much. Could you please further help me to merge this pull request?

/azp run

/azp run

I don't think ARM should sign-off about this ?

Please do not merge before we have some clarification for the cross RP reference.

Staging lintdiff brings up a possibly interesting issue. Why isn't there a 'delete' operation for MiddlewareEurekaServer?

There are a number of properties in examples which are not properly modelled in swagger. Did you forget to model them?

❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: environmentId
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_ListBySubscription.json#L18:32
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: workloadProfileName
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_ListBySubscription.json#L19:38
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: latestRevisionFqdn
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_ListBySubscription.json#L20:37
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: latestReadyRevisionName
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_ListBySubscription.json#L21:42
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: configuration
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_ListBySubscription.json#L22:32
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: eventStreamEndpoint
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_ListBySubscription.json#L124:38
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: environmentId
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_ListByResourceGroup.json#L19:32
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: workloadProfileName
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_ListByResourceGroup.json#L20:38
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: latestRevisionFqdn
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_ListByResourceGroup.json#L21:37
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: latestReadyRevisionName
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_ListByResourceGroup.json#L22:42
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: configuration
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_ListByResourceGroup.json#L23:32
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: eventStreamEndpoint
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_ListByResourceGroup.json#L122:38
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: environmentId
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_Get.json#L18:28
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: workloadProfileName
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_Get.json#L19:34
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: latestRevisionFqdn
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_Get.json#L20:33
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: latestReadyRevisionName
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_Get.json#L21:38
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: configuration
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_Get.json#L22:28
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: eventStreamEndpoint
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_Get.json#L124:34
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: environmentId
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_CreateOrUpdate.json#L7:20
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: workloadProfileName
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_CreateOrUpdate.json#L7:20
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: configuration
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_CreateOrUpdate.json#L7:20
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: environmentId
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_CreateOrUpdate.json#L158:28
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: workloadProfileName
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_CreateOrUpdate.json#L159:34
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: latestRevisionFqdn
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_CreateOrUpdate.json#L160:33
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: latestReadyRevisionName
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_CreateOrUpdate.json#L161:38
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: configuration
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_CreateOrUpdate.json#L162:28
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: eventStreamEndpoint
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_CreateOrUpdate.json#L276:34
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: environmentId
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_CreateOrUpdate.json#L289:28
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: latestRevisionFqdn
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_CreateOrUpdate.json#L290:33
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: configuration
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_CreateOrUpdate.json#L291:28
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: eventStreamEndpoint
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_CreateOrUpdate.json#L381:34
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: configuration
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_Patch.json#L7:20
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: environmentId
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_Patch.json#L138:28
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: workloadProfileName
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_Patch.json#L139:34
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: latestRevisionFqdn
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_Patch.json#L140:33
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: latestReadyRevisionName
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_Patch.json#L141:38
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: configuration
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_Patch.json#L142:28
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: eventStreamEndpoint
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_Patch.json#L238:34
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: createdTime
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/Revisions.json#L402:23
ExampleUrl: examples/v2/Revisions/Revisions_List.json#L18:30
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: lastActiveTime
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/Revisions.json#L402:23
ExampleUrl: examples/v2/Revisions/Revisions_List.json#L19:33
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: fqdn
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/Revisions.json#L402:23
ExampleUrl: examples/v2/Revisions/Revisions_List.json#L20:23
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: trafficWeight
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/Revisions.json#L402:23
ExampleUrl: examples/v2/Revisions/Revisions_List.json#L52:32
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: active
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/Revisions.json#L402:23
ExampleUrl: examples/v2/Revisions/Revisions_List.json#L53:25
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: replicas
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/Revisions.json#L402:23
ExampleUrl: examples/v2/Revisions/Revisions_List.json#L54:27
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: createdTime
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/Revisions.json#L402:23
ExampleUrl: examples/v2/Revisions/Revisions_Get.json#L17:26
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: lastActiveTime
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/Revisions.json#L402:23
ExampleUrl: examples/v2/Revisions/Revisions_Get.json#L18:29
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: fqdn
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/Revisions.json#L402:23
ExampleUrl: examples/v2/Revisions/Revisions_Get.json#L19:19
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: trafficWeight
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/Revisions.json#L402:23
ExampleUrl: examples/v2/Revisions/Revisions_Get.json#L51:28
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: active
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/Revisions.json#L402:23
ExampleUrl: examples/v2/Revisions/Revisions_Get.json#L52:21
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: replicas
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/Revisions.json#L402:23
ExampleUrl: examples/v2/Revisions/Revisions_Get.json#L53:23

There are a number of properties in examples which are not properly modelled in swagger. Did you forget to model them?

❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: environmentId
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_ListBySubscription.json#L18:32
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: workloadProfileName
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_ListBySubscription.json#L19:38
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: latestRevisionFqdn
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_ListBySubscription.json#L20:37
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: latestReadyRevisionName
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_ListBySubscription.json#L21:42
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: configuration
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_ListBySubscription.json#L22:32
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: eventStreamEndpoint
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_ListBySubscription.json#L124:38
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: environmentId
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_ListByResourceGroup.json#L19:32
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: workloadProfileName
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_ListByResourceGroup.json#L20:38
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: latestRevisionFqdn
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_ListByResourceGroup.json#L21:37
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: latestReadyRevisionName
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_ListByResourceGroup.json#L22:42
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: configuration
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_ListByResourceGroup.json#L23:32
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: eventStreamEndpoint
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_ListByResourceGroup.json#L122:38
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: environmentId
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_Get.json#L18:28
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: workloadProfileName
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_Get.json#L19:34
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: latestRevisionFqdn
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_Get.json#L20:33
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: latestReadyRevisionName
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_Get.json#L21:38
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: configuration
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_Get.json#L22:28
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: eventStreamEndpoint
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_Get.json#L124:34
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: environmentId
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_CreateOrUpdate.json#L7:20
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: workloadProfileName
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_CreateOrUpdate.json#L7:20
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: configuration
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_CreateOrUpdate.json#L7:20
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: environmentId
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_CreateOrUpdate.json#L158:28
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: workloadProfileName
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_CreateOrUpdate.json#L159:34
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: latestRevisionFqdn
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_CreateOrUpdate.json#L160:33
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: latestReadyRevisionName
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_CreateOrUpdate.json#L161:38
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: configuration
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_CreateOrUpdate.json#L162:28
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: eventStreamEndpoint
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_CreateOrUpdate.json#L276:34
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: environmentId
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_CreateOrUpdate.json#L289:28
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: latestRevisionFqdn
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_CreateOrUpdate.json#L290:33
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: configuration
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_CreateOrUpdate.json#L291:28
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: eventStreamEndpoint
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_CreateOrUpdate.json#L381:34
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: configuration
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_Patch.json#L7:20
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: environmentId
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_Patch.json#L138:28
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: workloadProfileName
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_Patch.json#L139:34
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: latestRevisionFqdn
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_Patch.json#L140:33
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: latestReadyRevisionName
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_Patch.json#L141:38
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: configuration
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_Patch.json#L142:28
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: eventStreamEndpoint
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/JavaApps.json#L523:23
ExampleUrl: examples/v2/JavaApps/JavaApps_Patch.json#L238:34
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: createdTime
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/Revisions.json#L402:23
ExampleUrl: examples/v2/Revisions/Revisions_List.json#L18:30
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: lastActiveTime
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/Revisions.json#L402:23
ExampleUrl: examples/v2/Revisions/Revisions_List.json#L19:33
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: fqdn
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/Revisions.json#L402:23
ExampleUrl: examples/v2/Revisions/Revisions_List.json#L20:23
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: trafficWeight
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/Revisions.json#L402:23
ExampleUrl: examples/v2/Revisions/Revisions_List.json#L52:32
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: active
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/Revisions.json#L402:23
ExampleUrl: examples/v2/Revisions/Revisions_List.json#L53:25
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: replicas
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/Revisions.json#L402:23
ExampleUrl: examples/v2/Revisions/Revisions_List.json#L54:27
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: createdTime
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/Revisions.json#L402:23
ExampleUrl: examples/v2/Revisions/Revisions_Get.json#L17:26
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: lastActiveTime
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/Revisions.json#L402:23
ExampleUrl: examples/v2/Revisions/Revisions_Get.json#L18:29
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: fqdn
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/Revisions.json#L402:23
ExampleUrl: examples/v2/Revisions/Revisions_Get.json#L19:19
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: trafficWeight
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/Revisions.json#L402:23
ExampleUrl: examples/v2/Revisions/Revisions_Get.json#L51:28
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: active
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/Revisions.json#L402:23
ExampleUrl: examples/v2/Revisions/Revisions_Get.json#L52:21
❌ OBJECT_ADDITIONAL_PROPERTIES	Additional properties not allowed: replicas
Url: Microsoft.AppPlatform/preview/2023-08-02-preview/Revisions.json#L402:23
ExampleUrl: examples/v2/Revisions/Revisions_Get.json#L53:23

Thank you for your review, and this is a bug in the pipeline.
Please check this post: Xuyang Cao: Swagger ModelValidation doesn't handle the inherited model properly
And I got the owner's approval in this pr:

Staging lintdiff brings up a possibly interesting issue. Why isn't there a 'delete' operation for MiddlewareEurekaServer?

Hi @TimLovellSmith , I explained this in the previous round of review haha :). It's limited by our current feature scenario. We cannot support delete for two resources eurekaServer & configServer for now. We will support them soon in the following api versions. I hope you are good with this.

/azp run

/azp run

There's no suppression changed, so I removed the label.

this js sdk breaking is cuased by this pr: single api to multi api

please fix duplicate schema to make go sdk generation work


Getting TS2345 Error when I have got variables in type names

Description
We converted our project to using typesafe actions and it worked well until I touched the last reducer.
Having variables in the type names like:
export const initSelectionFromState = createAction(SELECTION +' [DOC] INIT_FROM_STATE')()
can cause a type error TS2345 in the reducer to occur. It does not happen in all constellations, and it does not on the first handleAction call.
Removing the SELECTION variable from that name fixes it
Mandatory info

[x] Are you extending internal types to enable type-free syntax with createReducer?

import { ActionType, StateType } from 'typesafe-actions';

declare module 'typesafe-actions' {
    export type Store = StateType<typeof import('../src/redux/store').default>;

    export type RootState = StateType<typeof import('../src/redux/reducers/rootReducer').default>;

    export type RootAction = ActionType<typeof import('../src/redux/actions').default>;

    interface Types {
        RootAction: RootAction;
    }
}

[x ] Did you checked [compatibility notes][1] and [migration guides][2]?

How to Reproduce

CodeSandbox Link
https://codesandbox.io/s/typesafe-actions-reference-project-yl65h
see todos/actions.ts and todos/reducer.ts
The error in our project looks slighty different and breaks the whole app, while this seems still to work, but you see that it makes a difference.
Expected behavior
It should not cause an error, at least I want to understand why this happens… It took me a full day to track it down to this odd cause
Project Dependencies

Typesafe-Actions Version: 5.1.0
TypeScript Version: 3.7.2
tsconfig.json:

{
  "compilerOptions": {
    "esModuleInterop": true,
    "jsx": "react",
    "lib": [
      "dom",
      "es2018"
    ],
    "resolveJsonModule": true
  }
}

Hey @haraldkrischner
I think you're getting this: Limitations of TypeScript when working with string constants
https://github.com/piotrwitek/typesafe-actions#constants

Thanks for your quick response @piotrwitek
Yes, it looks like that is the case. Besides it took me quite a while to narrow it down, the workaround is quite easy. Though we intended to share the actions across entities in the first place.
Anyway, this project reduces a lot of IMHO awkward redux typescript boilerplate code and is a big win for our project, so thank you!
Best
H.


Update to support latest django

They removed  ConstantIncludeNode in https://code.djangoproject.com/ticket/7815 so this is currently not working. Can you update it so its functional again?

Please try out #3


Update govuk_content_models & gds-api-adapters

We are going to need the most recent versions of these gems in upcoming pull requests.
cc @MatMoore @jackscotti

:+1:  thanks!


Update rbtools to 0.7.5

Thank you for the contribution. It was merged directly as 241e2e581308671ebb7e624bd78e083703af0e45 to keep commit history cleaner. Your contribution is still credited to you.


Add significance testing for weighted_corr

This PR adds significance testing for weighted_corr per https://github.com/NCAR/esmlab/issues/89.
Feature Checklist

[x] Calculate standard p-value per a two-tailed t-test
[ ] Add option for using the effective sample size, i.e., accounting for autocorrelation (Bretherton et al. 1999; https://github.com/bradyrx/climpred/blob/master/climpred/stats.py)

esmlab Checklist

[x] Enable and install pre-commit to ensure style-guides and code checks are followed.
[x] Target devel for new features or functionality changes.
[x] Include documentation when adding new features.
[ ] Include new tests or update existing tests when applicable.

Does anybody have a straightforward example of using the dim keyword on weighted_corr? I'm having issues with it. I'm testing the p-value function on, say, a lat/lon grid of data.
import esmlab

base = np.random.rand(100,10,10)
x = xr.DataArray(np.random.rand(100,10,10) + base, dims=['time','lat','lon'])
y = xr.DataArray(np.random.rand(100,10,10) + base, dims=['time','lat','lon'])
# just looking to correlate over the 'time' dimension so a grid of correlation
# coefficients is returned.
r = esmlab.statistics.weighted_corr(x, y, dim=['time'], weights=None)

@bradyrx, this is a bug in esmlab. There's a chain of function calls that is happening in weighted_corr(), and I believe that some flags/arguments are not being handled correctly. Meanwhile, I will try to come up with a fix.

@andersy005, thanks. I figured that was the case but didn't want to go through the chain if I was just calling the function wrong. A potential solution is to write vectorized numpy functions, then call them from xarray.apply_ufunc, e.g. in xskillscore (https://github.com/raybellwaves/xskillscore/blob/master/xskillscore/core/deterministic.py). This tracks all coordinates and dimensions pretty seamlessly.
from xskillscore import pearson_r, pearson_r_p_value
import numpy as np
import xarray as xr
base = np.random.rand(100,10,10)
x = xr.DataArray(np.random.rand(100,10,10) + base, dims=['time','lat','lon'])
y = xr.DataArray(np.random.rand(100,10,10) + base, dims=['time','lat','lon'])

r = pearson_r(x, y, dim='time')
p = pearson_r_p_value(x, y, dim='time')

print(r)

<xarray.DataArray (lat: 10, lon: 10)>
array([[0.533905, 0.458444, 0.509774, 0.593456, 0.52763 , 0.608084, 0.436919,
        0.511359, 0.514602, 0.48052 ],
       [0.636213, 0.510837, 0.434097, 0.662831, 0.539225, 0.460084, 0.504803,
        0.421864, 0.569972, 0.393358],
       [0.470968, 0.511835, 0.474997, 0.424008, 0.348932, 0.540813, 0.496891,
        0.43896 , 0.638253, 0.582971],
       [0.563795, 0.445417, 0.562172, 0.580923, 0.508425, 0.434931, 0.596794,
        0.463918, 0.610172, 0.470445],
       [0.427276, 0.400987, 0.552899, 0.51279 , 0.555465, 0.400016, 0.487967,
        0.495112, 0.41245 , 0.527987],
       [0.65203 , 0.594892, 0.439531, 0.449366, 0.486517, 0.440055, 0.399026,
        0.496796, 0.410862, 0.603409],
       [0.485064, 0.620396, 0.551704, 0.585494, 0.468969, 0.577097, 0.348778,
        0.481249, 0.567304, 0.551467],
       [0.498158, 0.47105 , 0.46874 , 0.44657 , 0.455551, 0.512364, 0.391466,
        0.558187, 0.609233, 0.455428],
       [0.388836, 0.512343, 0.441547, 0.488008, 0.595803, 0.405281, 0.605687,
        0.445643, 0.45182 , 0.525349],
       [0.520046, 0.515418, 0.49629 , 0.428106, 0.588623, 0.515663, 0.328488,
        0.457904, 0.353342, 0.525672]])
Dimensions without coordinates: lat, lon

We should consider fixing this bug in the context of making all functions operate on datasets as well as DataArray's.
The ultimate computational operation in each function in statistics.py should be in a private function that operates only on DataArray's and assumes _get_weights_and_dims has been applied.
Then we should pass DataArray's from public functions (i.e., mean, corr, etc.), returning the type passed in (DataArray or Dataset), looping over DataArray's as necessary.
When we call functions from within function, we use the private ones.
We should remove all instances of
   # If the mask is applied in previous operation,
    # disable it for subseqent operations to speed up computation
    if apply_nan_mask:
        apply_nan_mask_flag = False
    else:
        apply_nan_mask_flag = True

@jukent, @andersy005 can you help with this so @bradyrx can move forward?

@andersy005 I want to work on this but it feels wrapped up in our discussion from Monday on _get_weights_and_dims. I want to touch base first.

@bradyrx, I wanted to let you know that once #97 is merged, weighted_corr() will work as expected:
In [1]: import xarray as xr

In [2]: import numpy as np

In [3]: import esmlab

In [4]: base = np.random.rand(100,10,10)
   ...: x = xr.DataArray(np.random.rand(100,10,10) + base, dims=['time','lat','lon'])
   ...: y = xr.DataArray(np.random.rand(100,10,10) + base, dims=['time','lat','lon'])

In [5]: esmlab.statistics.weighted_corr(x, y, dim=['time'])
/Users/abanihi/devel/ncar/esmlab/esmlab/statistics.py:126: UserWarning: Computing mean using equal weights for all data po
ints
  warn('Computing mean using equal weights for all data points')
Out[5]:
<xarray.DataArray (lat: 10, lon: 10)>
array([[0.524924, 0.494863, 0.508805, 0.437148, 0.487002, 0.572298, 0.535313,
        0.470061, 0.5556  , 0.551623],
       [0.531431, 0.486831, 0.477618, 0.430656, 0.522503, 0.328701, 0.339792,
        0.585835, 0.520957, 0.469617],
       [0.356394, 0.478052, 0.500501, 0.463823, 0.386106, 0.475005, 0.512288,
        0.515351, 0.535773, 0.506998],
       [0.510024, 0.31364 , 0.529359, 0.434292, 0.488146, 0.519409, 0.389186,
        0.412388, 0.570032, 0.497333],
       [0.558904, 0.515453, 0.399842, 0.558256, 0.57212 , 0.433026, 0.459941,
        0.551059, 0.378602, 0.48377 ],
       [0.54679 , 0.506646, 0.421284, 0.589415, 0.482562, 0.499417, 0.537398,
        0.521407, 0.514654, 0.570337],
       [0.580641, 0.430284, 0.368287, 0.383737, 0.393695, 0.561684, 0.339382,
        0.569851, 0.380189, 0.418446],
       [0.508465, 0.499632, 0.503726, 0.563216, 0.589911, 0.432491, 0.488958,
        0.430792, 0.527264, 0.439756],
       [0.501921, 0.478446, 0.594801, 0.463977, 0.512082, 0.551683, 0.3955  ,
        0.558195, 0.53957 , 0.576574],
       [0.549452, 0.486373, 0.504508, 0.493075, 0.457823, 0.486836, 0.558396,
        0.447431, 0.534848, 0.504618]])
Dimensions without coordinates: lat, lon

@bradyrx, #97 has been merged to master. This should fix your issue.

@matt-long, as I mentioned a few days ago, it appears that #100 didn't fix all time manager issues.
Should we disable the failing tests for the time being?

@andersy005 -- okay, this should be good to go for a base implementation of p-values with weighted_corr. Note that pytest is broken from the previous commits but are unrelated to this implementation.
I also am holding off on adding effective sample size as a feature until later. It's a little more complicated and might require some larger changes to esmlab.

@bradyrx, is it okay if I push some changes to master branch of your folk?

@andersy005, yep no problem at all.

@matt-long, when you get time, can you have a look at this?

Merging this! Will look into fixing time manager and associated test failures in a future PR.
@bradyrx, thank you for your contribution!


Test for multiprocessing usage

@kpayson64 @jonparrott For #4736.  This test passes in python 3.6 (starmap doesn't exist in python2.7).  Did I write something wrong?
I'm also wondering if something else changed since I last looked, as batch.delete and batch.insert also seemed to be working now.
(I also know there is a possible race condition, but i just wanted to see if the process would hang or not)

@jonparrott If you have some time next week, could you take a look and see if the code would hang for you?  (I believe you have a Mac?)
Thanks.

@tseaver I think it's probably a good idea to have this in our test suite. Can you review and merge?

This test is actually hanging for me now with no changes.

It looks like something has changed in the backend and getting segmentation fault, getting a -11 exit code from pytest.  (SIGSEGV)
@jonparrott Maybe need to take this to the gRPC team?

@mehrdada @nathanielmanistaatgoogle

Since this is not actually going to be supported behavior I'm just going to close this.
Maybe at some point it will be good as a behavior test.


Remove getter for SchemaMetaData

Fixes #4738.

Pull Request Test Coverage Report for Build 2113

2 of 8 (25.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.08%) to 59.723%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

sharding-core/sharding-core-common/src/main/java/org/apache/shardingsphere/core/metadata/ShardingMetaDataLoader.java
0
6
0.0%

Totals

Change from base Build 1082:
0.08%

Covered Lines:
12469

Relevant Lines:
20878

💛  - Coveralls


Hyfi-pipeline-test

Codecov Report
Patch coverage: 7.89% and project coverage change: -70.00 :warning:

Comparison is base (c65b85b) 100.00% compared to head (f903ff5) 30.00%.

:exclamation: Current head f903ff5 differs from pull request most recent head e1d2328. Consider uploading reports for the commit e1d2328 to get more accurate results

Additional details and impacted files
@@             Coverage Diff              @@
##              main       #8       +/-   ##
============================================
- Coverage   100.00%   30.00%   -70.00%
============================================
  Files            3        4        +1
  Lines           13       50       +37
============================================
+ Hits            13       15        +2
- Misses           0       35       +35

Impacted Files
Coverage Δ

src/esgcov/datasets/preprocessing.py
0.00% <0.00%> (ø)

src/esgcov/__init__.py
100.00% <100.00%> (ø)

src/esgcov/_version.py
100.00% <100.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Choose a Test Environment

A test framework must not change reusability of the project (i.e. not restrict the MIT license further).
It should provide ways to unit-test the components of the algorithm.
It should be freely available cross-platform
It must integrate well with CMake and play along with openCV

chosen doctest for the time being.


Docker-compose.yaml file ?

Can I make the installation using a docker-compose.yaml ?
Can you share a sample ?

services:
  mbusd:
    restart: unless-stopped
    privileged: true
    build:
      context: https://github.com/jpmeijers/mbusd.git
      dockerfile: Dockerfile
    volumes:
      - /dev:/dev
      - ./mbusd.conf:/etc/mbusd.conf
    ports:
      - 502:502

Many thanks
A question - for the volumes, what is the difference to set between
/dev:/dev
and maybe
/dev/ttyUSB0:/dev/ttyUSB0

The docker-compose file mounts the whole /dev directory into the container, so it's up to your mbusd.conf file to specify the correct serial port to use. You can change the compose file to only mount a single tty by doing something like /dev/ttyUSB0:/dev/ttyUSB0, but then you need to specify the serial port in two locations.
If you do a ls /dev/tty* on the host, you will see which ones are available. In your case it looks like you do not have a ttyUS0.
My setup has two USB-Serial devices, so both a ttyUSB0 and a ttyUSB1. These numbers can be assigned at random, so I used Udev rules to create additional tty devices called ttyRS485 and ttyRS232. I then link in the RS485 one into this container for mbusd, keeping the default ttyUSB0 name inside the container.
/dev/ttyRS485:/dev/ttyUSB0

Got it all sorted in the end
Many thanks


Re-think Test Fixture Gen / Approach

Currently, test fixtures are being generated as WASM + bindings. This allows us to directly utilize the SCALE Rust crate, which is the best source of truth, behaviorally. However, this introduces some unfortunate complexity to the codebase.

I know Rust is cool and all, but I really don't think it's a good idea to use Rust.
The SCALE format is stable. It's never going to change. Hardcoding some encoded values instead of building them every time the tests are run is completely safe.
Using Rust brings a lot of complexity to the repo, for really no gain whatsoever over hardcoded values.

Originally posted by @tomaka in https://github.com/paritytech/scale-ts/issues/1#issuecomment-1087702034
^ how do we want to tackle this?

I've been thinking about this a bit.
On the one hand, using Rust adds a bit of complexity to the repo, as pointed out earlier. The CI, for example, needs to pull in all of rust and wasm-bindgen, which, when uncached, makes the total build time around 5 minutes.
On the other hand, the encoded values have to come from somewhere, at least initially.
I propose a middleground: In the TypeScript tests, use snapshots for testing the encoded values, with an adjacent file with a list of equivalent Rust values for each of the snapshots tested in the TypeScript file. Then, have two separate test scripts: one which runs the TypeScript tests (and completely ignores the Rust values), and one which checks the Rust values against the snapshot files.
This way, one can do a partial check without having Rust installed, and without generating any fixtures (as the snapshots of encoded values would already be committed), but the snapshots could still be double-checked against the Rust implementation (in, say, CI). The Rust testing could be done natively (i.e. not through WASM), which would simplify running it.
Thoughts?

Yes! If I'm not mistaken, we can address this by simply un-gitignoring and then committing the generated WASM and bindings?

Hmm... I suppose so, though I had a slightly different approach in mind, that I think might make the setup a little simpler and cleaner. Mind if I experiment with an alternate approach?


Added Windows support

Hopefully you don't mind me fixing up some things.
Remove awk and sh dependencies and removed the need for the separator/delimiter.
Tested on Windows and Linux.

Just noticed I have a bug with the path, let me fix it.

Should be all good now :)

Fixing another issue LOL two secs.

Thanks for the PR! Looks promising, but the highligting of the date and the commit hash does not work anymore, if you could fix that it would be great and then I can merge

Thanks for the PR!!


Revert "explicitly set container interface mac to local unicast"

This reverts commit e671b51a25017a0a9ccfb54e62fc19b263bd9e5b.
The MAC problem does not affest Pods, only VMs when used with KubeVirt.
This problems happens in 2 % times. It will be added in future relase.

There were no conflicts and tests are still passing.


[B2C] "not_before" improperly serialized to Date

Gson is choking when trying to parse epoch time in not_before -- it's assuming the format is ISO8601 which is not true.

/cc @shoatman FYI


Install w.2016.20 weekly at NERSC

The installation was going along very well, I was running "rebuild -r w.2016.20 lsst_apps" and then it hit afwdata.. there must be an easy fix.. it just can't find the code for some reason.  I recall that the lsstsw doc mentioned possibly maintaining an afwdata install outside the installation area.  What version of afwdata should we grab @SimonKrughoff @jchiang87 ?
afwdata: Traceback (most recent call last):
File "/project/projectdirs/lsst/lsstDM/Cori/w.2016.20/lsstsw/lsst_build/bin/lsst-build", line 51, in <module>
args.func(args)
File "/project/projectdirs/lsst/lsstDM/Cori/w.2016.20/lsstsw/lsst_build/python/lsst/ci/prepare.py", line 758, in run
manifest = p.construct(args.products)
File "/project/projectdirs/lsst/lsstDM/Cori/w.2016.20/lsstsw/lsst_build/python/lsst/ci/prepare.py", line 721, in construct
self._add_product_tree(products, name)
File "/project/projectdirs/lsst/lsstDM/Cori/w.2016.20/lsstsw/lsst_build/python/lsst/ci/prepare.py", line 709, in _add_product_tree
dependencies.append(self._add_product_tree(products, dprod.name))
File "/project/projectdirs/lsst/lsstDM/Cori/w.2016.20/lsstsw/lsst_build/python/lsst/ci/prepare.py", line 709, in _add_product_tree
dependencies.append(self._add_product_tree(products, dprod.name))
File "/project/projectdirs/lsst/lsstDM/Cori/w.2016.20/lsstsw/lsst_build/python/lsst/ci/prepare.py", line 709, in _add_product_tree
dependencies.append(self._add_product_tree(products, dprod.name))
File "/project/projectdirs/lsst/lsstDM/Cori/w.2016.20/lsstsw/lsst_build/python/lsst/ci/prepare.py", line 692, in _add_product_tree
ref, sha1 = self.product_fetcher.fetch(productName)
File "/project/projectdirs/lsst/lsstDM/Cori/w.2016.20/lsstsw/lsst_build/python/lsst/ci/prepare.py", line 305, in fetch
raise Exception("Failed to clone product '%s' from any of the offered repositories" % product)
Exception: Failed to clone product 'afwdata' from any of the offered repositories

Hi Heather, not directly relevant, but I tried following Simon's instructions on my ubuntu laptop just to see what would happen. It got a good way though and then failed with:
*** error building product mariadbclient.
I am wondering if this is the same error you saw before when building for NERSC? When I look in the log file I see:
:::::  [2016-05-13T01:06:39.408611Z] Setting up environment with EUPS
:::::  [2016-05-13T01:06:39.480713Z] + eupspkg PRODUCT=mariadbclient VERSION=10.1.11.lsst2 FLAVOR=generic config
:::::  [2016-05-13T01:06:39.598864Z] grep: /etc/redhat-release: No such file or directory
Of course I do not have an /etc/redhat-release, and neither does NERSC. Anyone have any experience of building this on non-REDHAT machines, is it even supported?

@heather999 very strange.  It seems like your lsstsw is not up to date.  Did you do a git pull before you started the build?  That repo also requires git-lfs, but that should have come with the git installed by lsstsw.
@tony-johnson that could be a red herring.  If you don't have cmake installed, mariadbclient will fail.  I'll ask around for others building on ubuntu.

Hi Simon, after installing cmake and libncurses5-dev I got past the mariadb build.  It took a few more package installs to get doxygen to build, but I am making progress.

BTW just as a note.. I was surprised to learn that conda supplies cmake.  It isn't in the default packages but you can do a 'conda install cmake' if you need it.

@SimonKrughoff I'm using a fresh clone of lsstsw, but I also did a git pull.  I'll try it again to confirm.
@tony-johnson That wasn't the same issue I had with mariadb - I can look it up, but it was a missing system library associated with the mariadb server, as I recall.  cmake was available in that failed attempt at NERSC.  Meanwhile, this latest attempt got past mariadbclient just fine, so I have high hopes that all will be fine once I get beyond this afwdata issue.

@heather999 Did you say git lfs init before you started your build?  That may be it.  If you want, we are chatting on HipChat if you want to jump on.

@SimonKrughoff ah.. no I had not done that, or set up ~/.gitconfig or ~/.git-credentials as outlined here
However when I do git lfs init, that is not a recognized command.. perhaps my set up of the git config files will be enough?  I'll give it a whirl.
heatherk@cori09:/project/projectdirs/lsst/lsstDM/Cori/w.2016.20/lsstsw> source bin/setup.sh
notice: lsstsw tools have been set up.
heatherk@cori09:/project/projectdirs/lsst/lsstDM/Cori/w.2016.20/lsstsw> git lfs init
git: 'lfs' is not a git command. See 'git --help'.

Did you mean this?
    log
heatherk@cori09:/project/projectdirs/lsst/lsstDM/Cori/w.2016.20/lsstsw> which git
/project/projectdirs/lsst/lsstDM/Cori/w.2016.20/lsstsw/lfs/bin/git

Unfortunately @SimonKrughoff  just updating ~/.gitconfig and creating a ~/.git-credentials didn't fix this issue (appending the same afwdata error at the end).  I followed the directions for Option 1 (anonymous access) I wonder if I'm one of the few to choose that option.. rather than Option 2 with authenticated access.  I'm looking at: http://developer.lsst.io/en/latest/tools/git_lfs.html
heatherk@cori09:/project/projectdirs/lsst/lsstDM/Cori/w.2016.20/lsstsw> git config -l
credential.https://lsst-sqre-prod-git-lfs.s3-us-west-2.amazonaws.com.helper=store
credential.https://s3.lsst.codes.helper=store
credential.https://git-lfs.lsst.codes.helper=store
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.url=https://github.com/lsst/lsstsw
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
push.default=current

heatherk@cori09:~> more ~/.git-credentials
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
heatherk@cori09:/project/projectdirs/lsst/lsstDM/Cori/w.2016.20/lsstsw> rebuild -r w.2016.20 lsst_apps
lsst_apps:  ok (1.2 sec).
meas_deblender:  ok (5.1 sec).
afw:  ok (11.4 sec).
daf_base:  ok (1.9 sec).
utils:  ok (1.5 sec).
base:  ok (2.0 sec).
boost:  ok (14.5 sec).
python:  ok (1.0 sec).
sconsUtils:  ok (1.9 sec).
scons:  ok (2.5 sec).
doxygen:  ok (4.0 sec).
swig:  ok (5.5 sec).
pex_exceptions:  ok (1.5 sec).
numpy:  ok (0.8 sec).
python_psutil:  ok (1.5 sec).
daf_persistence:  ok (5.9 sec).
mariadbclient:  ok (13.5 sec).
pex_logging:  ok (1.7 sec).
pex_policy:  ok (2.2 sec).
pyfits:  ok (2.4 sec).
python_d2to1:  ok (1.0 sec).
stsci_distutils:  ok (1.0 sec).
pyyaml:  ok (1.5 sec).
pex_config:  ok (2.0 sec).
ndarray:  ok (1.8 sec).
eigen:  ok (3.7 sec).
fftw:  ok (5.5 sec).
cfitsio:  ok (12.9 sec).
wcslib:  ok (3.7 sec).
minuit2:  ok (2.0 sec).
gsl:  ok (3.0 sec).
matplotlib:  ok (0.8 sec).
afwdata: Traceback (most recent call last):
File "/project/projectdirs/lsst/lsstDM/Cori/w.2016.20/lsstsw/lsst_build/bin/lsst-build", line 51, in <module>
args.func(args)
File "/project/projectdirs/lsst/lsstDM/Cori/w.2016.20/lsstsw/lsst_build/python/lsst/ci/prepare.py", line 758, in run
manifest = p.construct(args.products)
File "/project/projectdirs/lsst/lsstDM/Cori/w.2016.20/lsstsw/lsst_build/python/lsst/ci/prepare.py", line 721, in construct
self._add_product_tree(products, name)
File "/project/projectdirs/lsst/lsstDM/Cori/w.2016.20/lsstsw/lsst_build/python/lsst/ci/prepare.py", line 709, in _add_product_tree
dependencies.append(self._add_product_tree(products, dprod.name))
File "/project/projectdirs/lsst/lsstDM/Cori/w.2016.20/lsstsw/lsst_build/python/lsst/ci/prepare.py", line 709, in _add_product_tree
dependencies.append(self._add_product_tree(products, dprod.name))
File "/project/projectdirs/lsst/lsstDM/Cori/w.2016.20/lsstsw/lsst_build/python/lsst/ci/prepare.py", line 709, in _add_product_tree
dependencies.append(self._add_product_tree(products, dprod.name))
File "/project/projectdirs/lsst/lsstDM/Cori/w.2016.20/lsstsw/lsst_build/python/lsst/ci/prepare.py", line 692, in _add_product_tree
ref, sha1 = self.product_fetcher.fetch(productName)
File "/project/projectdirs/lsst/lsstDM/Cori/w.2016.20/lsstsw/lsst_build/python/lsst/ci/prepare.py", line 305, in fetch
raise Exception("Failed to clone product '%s' from any of the offered repositories" % product)
Exception: Failed to clone product 'afwdata' from any of the offered repositories

I assume @tony-johnson you haven't had any similar problem?

@heather999 did you run git lfs install?  It sounded before like you didn't have git-lfs installed for some reason.  What does which git tell you?

@SimonKrughoff I think we're suffering from trying to have this conversation via 2 mediums.. above you had mentioned "git lfs init" and I see on HipChat it was "git lfs install" :)
Let me back up a little.. here is what I am doing step by step:
I load and unload a few modules on NERSC so that gcc 4.9.3 is available (I can show the details if it becomes interesting), then:
git clone https://github.com/lsst/lsstsw
I update lsstsw/bin/deploy so that --cacert is used for the curl commands for eups and git
./bin/deploy
I believe "deploy" does the git lfs install.. but perhaps I am incorrect. Then I do:
source ./bin/setup.sh
rebuild -r w.2016.20 lsst_apps
and the build terminates when it is unable to find/download afwdata.
Here is the result of "which git" after "source ./bin/setup.sh"
heatherk@cori09:/project/projectdirs/lsst/lsstDM/Cori/w.2016.20/lsstsw> which git
/project/projectdirs/lsst/lsstDM/Cori/w.2016.20/lsstsw/lfs/bin/git
So I think I'm using the git lsstsw provides..  now I may not have git lfs setup correctly..

This has been a hoot-and-a-half :)  We've since discovered that the version of git-lfs (1.0.2) installed by lsstsw/bin/deploy is old and does not correspond to the configuration instructions provided in:
http://developer.lsst.io/en/latest/tools/git_lfs.html
Once I upgraded to the latest release (1.2.0), afwdata downloaded just fine.
However it is not yet a happy ending, the build ultimately failed on mariadb (similar to how it failed the last time I tried to install from source). The error is below.  I will follow-up on community.lsst.org to see if I can get some guidance.  Meanwhile, @danielsf, would it be possible to pursue making a conda install available for w.2016.20 for both lsst_apps and lsst_sims?
mariadbclient: 10.1.11.lsst2 .....................................ERROR (101 sec).
*** error building product mariadbclient.
*** exit code = 1
*** log is in /project/projectdirs/lsst/lsstDM/Cori/temp/lsstsw/build/mariadbclient/_build.log
*** last few lines:
:::::  [2016-05-14T04:40:25.506485Z] -- Looking for sd_notify
:::::  [mariadbclient: 10.1.11.lsst2 .....................................ERROR (101 sec).
*** error building product mariadbclient.
*** exit code = 1
*** log is in /project/projectdirs/lsst/lsstDM/Cori/temp/lsstsw/build/mariadbclient/_build.log
*** last few lines:
:::::  [2016-05-14T04:40:25.506485Z] -- Looking for sd_notify
:::::  [2016-05-14T04:40:25.796143Z] -- Looking for sd_notify - not found
:::::  [2016-05-14T04:40:25.796790Z] -- Looking for sd_notifyf
:::::  [2016-05-14T04:40:26.020048Z] -- Looking for sd_notifyf - not found
:::::  [2016-05-14T04:40:26.020596Z] -- Systemd features not enabled
:::::  [2016-05-14T04:40:26.023387Z] -- Performing Test HAVE_C__Wvla
:::::  [2016-05-14T04:40:26.382371Z] -- Performing Test HAVE_C__Wvla - Success
:::::  [2016-05-14T04:40:29.078157Z] -- Configuring incomplete, errors occurred!
:::::  [2016-05-14T04:40:29.078229Z] See also "/project/projectdirs/lsst/lsstDM/Cori/temp/lsstsw/build/mariadbclient/CMakeFiles/CMakeOutput.log".2016-05-14T04:40:25.796143Z] -- Looking for sd_notify - not found
:mariadbclient: 10.1.11.lsst2 .....................................ERROR (101 sec).
*** error building product mariadbclient.
*** exit code = 1
*** log is in /project/projectdirs/lsst/lsstDM/Cori/temp/lsstsw/build/mariadbclient/_build.log
*** last few lines:
:::::  [2016-05-14T04:40:25.506485Z] -- Looking for sd_notify
:::::  [2016-05-14T04:40:25.796143Z] -- Looking for sd_notify - not found
:::::  [2016-05-14T04:40:25.796790Z] -- Looking for sd_notifyf
:::::  [2016-05-14T04:40:26.020048Z] -- Looking for sd_notifyf - not found
:::::  [2016-05-14T04:40:26.020596Z] -- Systemd features not enabled
:::::  [2016-05-14T04:40:26.023387Z] -- Performing Test HAVE_C__Wvla
:::::  [2016-05-14T04:40:26.382371Z] -- Performing Test HAVE_C__Wvla - Success
:::::  [2016-05-14T04:40:29.078157Z] -- Configuring incomplete, errors occurred!
:::::  [2016-05-14T04:40:29.078229Z] See also "/project/projectdirs/lsst/lsstDM/Cori/temp/lsstsw/build/mariadbclient/CMakeFiles/CMakeOutput.log".::::  [2016-05-14T04:40:25.796790Z] -- Looking for sd_notifyf
:::::  [2016-05-14T04:40:26.020048Z] -- Looking for sd_notifyf - not found
:::::  [2016-05-14T04:40:26.020596Z] -- Systemd features not enabled
:::::  [2016-05-14T04:40:26.023387Z] -- Performing Test HAVE_C__Wvla
:::::  [2016-05-14T04:40:26.382371Z] -- Performing Test HAVE_C__Wvla - Success
:::::  [2016-05-14T04:40:29.078157Z] -- Configuring incomplete, errors occurred!
:::::  [2016-05-14T04:40:29.078229Z] See also "/project/projectdirs/lsst/lsstDM/Cori/temp/lsstsw/build/mariadbclient/CMakeFiles/CMakeOutput.log".

We seem to have a complete build now available on Cori after some discussion
https://community.lsst.org/t/trouble-installing-dmstack-w-2016-20-at-nersc/779
I've also tested it against lsst_dm_stack_demo via:
setup -t b2055 obs_sds
./bin/demo.sh
The build is here: /project/projectdirs/lsst/lsstDM/Cori/w.2016.20
to use it.. I would first setup the necessary NERSC  modules:
source /project/projectdirs/lsst/lsstDM/Cori/w.2016.20/loadmodules_w.2016.20.sh
then
source /project/projectdirs/lsst/lsstDM/Cori/w.2016.20/lsstsw/bin/setup.sh
@tony-johnson @jchiang87 what shall we do now? :)

Excellent! I will try rerunning some of the run 1.1 jobs by hand to see if they work!

@heather999 That is really good work!  Sorry for not being more involved.  This is important information you've provided.

@heather999 Could you also install a few other items?  The ones I see a need for right now are ipython, nose, coverage, and iminuit .  The last one is needed to fit light curves with sncosmo (which seems to be part of the Stack or sims, but somehow doesn't also pull in iminuit).  All of those are available via pip install.   We should work on a standard list of add-ons to include with each Stack/sims installation.

You were vital in this @SimonKrughoff! I can't expect any one person to address all the questions I come up with - some of which are really just ignorance about how the builds work. It forced me to learn a few things. I think this also proves that the various communication tools are working!
@jchiang87 ok, yes I can do that.  No specific versions, just whatever pip feels like grabbing?  :)  It would be nice to have a list and to start managing the things we add-on.  I need to script the installation procedure..

yes whatever pip feels like grabbing.   I haven't run into any cases for these where the default didn't work.

Done @jchiang87
nose 1.3.7
coverage 4.0.3
iminuit 1.2
ipython 4.2.0

When I tried running at NERSC I got:
/global/homes/t/tony_j/projects/trial/serialIngest: line 8: ingestImages.py: command not found\
My guess is that we also need:
rebuild -r w.2016.20 pipe_tasks
@SimonKrughoff -- does this sound right, and are there other things which might be missing?

The image ingest task for obs_lsstSim was renamed.  It's ingestSimImages.py now.

You are right, plus I forgot the
setup lsst_apps -t b2055

@tony-johnson sorry for the rename.  It is on my plate to updated the cookbook.

I have been able to run several jobs using this version of the code, and so far have not seen any problems caused by the installation. I would suggest we can close this issue.


DLCExpansionData doesn't work

The DLCExpansionData doesn't seem to work. I know that it contains a collection but it won't even let me add anything to the list. Instead, it crashes and no changes are made. Can someone explain it supposed to do exactly? Thanks

As far as I know, Gearbox intended this to be used for DLC expansion data but it went unused due to the issue documented here.
It's interesting that trying to add an item crashes, I'll put that on my list of things to investigate but it's pretty low priority.

This fix was undone due to it causing crashes with editing other data. Given that DLCExpansionData is extremely low priority, this will have to remain an issue for the time being.

Should be fixed as of https://github.com/gibbed/Gibbed.Borderlands2/commit/4fd656558636a826e091ce4f18cb3ef0dd0044a3.


Initial changes toward full OakHash solution

I confirm that this contribution is made under the terms of the license found in the root directory of this repository's source tree and that I have the authority necessary to make this contribution on behalf of its copyright owner.

I have address all the above review comments. I commented on each review comment. @liran-funaro please take a look and raise any issue you may be concerned with.


Fix for upstream 2023.2

This PR also starts the groundwork for #59.  We have finally run into issue #129 in this package as well.


What happens if one executor fails in muti executors running mode.

hi, all
I looked through the caffeOnSpark code, and found that every executor must sync each other for the data before mini-batch training. Does that means that if one of the executors fails, the training work will hang at the sync operation??

training will fail if any executor fails.

The job should not hang. Spark should declare the job failed.
You could then use the snapshot models to resume training.


Cannot associate records in a relation manager when the name of the primary key column is different to the parent table

Package
filament/filament
Package Version
v2.16.61
Laravel Version
v9.47.0
Livewire Version
No response
PHP Version
PHP 8.2.0
Problem description
When clicking a record in the select form of the AssociateAction action in a relation manager, no record is selected.
Expected behavior
When choosing a record to associate, the record that was clicked on should be selected in the form.
Steps to reproduce

Clone repo
Migrate everything
Create your first user (to login with)
Create a second user
Use CharacterFactory to create some characters
Go to /admin/users/2/edit and attempt to associate a character to the user

Reproduction repository
https://github.com/realslimsutton/filament-relations
Relevant log output
No response

I have proposed a potential solution here #5460

Fixed by #5460


Update license year 2019

Fix license of use,
update 2019;
Format ISO 8869-1;
in Memoriam Guto Schiavon

R.I.P pioneer and friend.
#ripGUTO

Description

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

thank you @jrsikors


Only send a reasonable amount of data to the GUI

data for some views (e.g. raster) for long recordings can be very large and need not be viewed all at once

Not sure if this is related:
In [1]: import sortingview as sv

In [2]: workspace_uri = "workspace://bb11da07535a50656b0ec7860af71a7443d30391c15
   ...: 151e480d13853298e363f?label=J1620210531_.nwb_raw data valid times no pre
   ...: maze no premaze_24"

In [3]: workspace_uri
Out[3]: 'workspace://bb11da07535a50656b0ec7860af71a7443d30391c15151e480d13853298e363f?label=J1620210531_.nwb_raw data valid times no premaze no premaze_24'

In [4]: workspace = sv.load_workspace(workspace_uri)

In [5]: workspace.spikesortingview?
Signature:
workspace.spikesortingview(
    *,
    recording_id: str,
    sorting_id: str,
    label: str,
    include_curation: bool,
)
Docstring: <no docstring>
File:      ~/repos/sortingview/sortingview/workspace/_spikesortingview.py
Type:      method

In [6]: recording_id = workspace.recording_ids[0]

In [7]: sorting_id = workspace.sorting_ids[0]

In [8]: workspace.label
Out[8]: 'J1620210531_.nwb_raw data valid times no premaze no premaze_24'

In [9]: workspace.spikesortingview(
   ...:     recording_id=recording_id,
   ...:     sorting_id=sorting_id,
   ...:     label=workspace.label,
   ...:     include_curation=True,
   ...: )
Preparing spikesortingview data
Initial pass: segment 0
Initial pass: segment 1
Initial pass: segment 2
Initial pass: segment 3
Initial pass: segment 4
Initial pass: segment 5
Initial pass: segment 6
Initial pass: segment 7
Initial pass: segment 8
Initial pass: segment 9
Initial pass: segment 10
Initial pass: segment 11
Initial pass: segment 12
Initial pass: segment 13
Initial pass: segment 14
Initial pass: segment 15
Initial pass: segment 16
Initial pass: segment 17
Initial pass: segment 18
Initial pass: segment 19
Initial pass: segment 20
Initial pass: segment 21
Initial pass: segment 22
Initial pass: segment 23
Initial pass: segment 24
Initial pass: segment 25
Initial pass: segment 26
Initial pass: segment 27
Initial pass: segment 28
Initial pass: segment 29
Initial pass: segment 30
Initial pass: segment 31
Initial pass: segment 32
Initial pass: segment 33
Initial pass: segment 34
Initial pass: segment 35
Initial pass: segment 36
Initial pass: segment 37
Initial pass: segment 38
Initial pass: segment 39
Initial pass: segment 40
Initial pass: segment 41
Initial pass: segment 42
Initial pass: segment 43
Initial pass: segment 44
Initial pass: segment 45
Initial pass: segment 46
Initial pass: segment 47
Initial pass: segment 48
Initial pass: segment 49
Initial pass: segment 50
Initial pass: segment 51
Initial pass: segment 52
Initial pass: segment 53
Initial pass: segment 54
Initial pass: segment 55
Initial pass: segment 56
Initial pass: segment 57
Initial pass: segment 58
Initial pass: segment 59
Initial pass: segment 60
Initial pass: segment 61
Initial pass: segment 62
Initial pass: segment 63
Initial pass: segment 64
Initial pass: segment 65
Initial pass: segment 66
Initial pass: segment 67
Initial pass: segment 68
Segment 0 of 69
Segment 1 of 69
Segment 2 of 69
Segment 3 of 69
Segment 4 of 69
Segment 5 of 69
Segment 6 of 69
Segment 7 of 69
Segment 8 of 69
Segment 9 of 69
Segment 10 of 69
Segment 11 of 69
Segment 12 of 69
Segment 13 of 69
Segment 14 of 69
Segment 15 of 69
Segment 16 of 69
Segment 17 of 69
Segment 18 of 69
Segment 19 of 69
Segment 20 of 69
Segment 21 of 69
Segment 22 of 69
Segment 23 of 69
Segment 24 of 69
Segment 25 of 69
Segment 26 of 69
Segment 27 of 69
Segment 28 of 69
Segment 29 of 69
Segment 30 of 69
Segment 31 of 69
Segment 32 of 69
Segment 33 of 69
Segment 34 of 69
Segment 35 of 69
Segment 36 of 69
Segment 37 of 69
Segment 38 of 69
Segment 39 of 69
Segment 40 of 69
Segment 41 of 69
Segment 42 of 69
Segment 43 of 69
Segment 44 of 69
Segment 45 of 69
Segment 46 of 69
Segment 47 of 69
Segment 48 of 69
Segment 49 of 69
Segment 50 of 69
Segment 51 of 69
Segment 52 of 69
Segment 53 of 69
Segment 54 of 69
Segment 55 of 69
Segment 56 of 69
Segment 57 of 69
Segment 58 of 69
Segment 59 of 69
Segment 60 of 69
---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
Input In [9], in <module>
----> 1 workspace.spikesortingview(
      2     recording_id=recording_id,
      3     sorting_id=sorting_id,
      4     label=workspace.label,
      5     include_curation=True,
      6 )

File ~/repos/sortingview/sortingview/workspace/_spikesortingview.py:9, in spikesortingview(self, recording_id, sorting_id, label, include_curation)
      6 S = self.get_sorting_extractor(sorting_id)
      8 print('Preparing spikesortingview data')
----> 9 X = SpikeSortingView.create(
     10     recording=R,
     11     sorting=S,
     12     segment_duration_sec=60 * 20,
     13     snippet_len=(20, 20),
     14     max_num_snippets_per_segment=100,
     15     channel_neighborhood_size=7
     16 )
     18 if include_curation:
     19     sorting_curation_uri = self.get_curation_subfeed(sorting_id).uri

File ~/repos/sortingview/sortingview/SpikeSortingView/SpikeSortingView.py:38, in SpikeSortingView.create(recording, sorting, segment_duration_sec, snippet_len, max_num_snippets_per_segment, channel_neighborhood_size)
     29 @staticmethod
     30 def create(*,
     31     recording: LabboxEphysRecordingExtractor,
   (...)
     36     channel_neighborhood_size: int
     37 ):
---> 38     data_uri = prepare_spikesortingview_data(
     39         recording=recording, sorting=sorting,
     40         segment_duration_sec=segment_duration_sec,
     41         snippet_len=snippet_len,
     42         max_num_snippets_per_segment=max_num_snippets_per_segment,
     43         channel_neighborhood_size=channel_neighborhood_size
     44     )
     45     return SpikeSortingView(data_uri)

File ~/repos/sortingview/sortingview/SpikeSortingView/prepare_spikesortingview_data.py:120, in prepare_spikesortingview_data(recording, sorting, segment_duration_sec, snippet_len, max_num_snippets_per_segment, channel_neighborhood_size)
    118 peak_channel_ind = channel_ids.tolist().index(peak_channel_id)
    119 if len(spike_train) > 0:
--> 120     spike_amplitudes = traces_with_padding[spike_train - start_frame_with_padding, peak_channel_ind]
    121     f.create_dataset(f'segment/{iseg}/unit/{unit_id}/spike_amplitudes', data=spike_amplitudes)
    122 else:

IndexError: index -4294966208 is out of bounds for axis 0 with size 35951218

this was a 32 channel, 24 hr long recording


Documentation for new_web_version

Bug description
This is for the ohm-deploy repository, the new_web_version branch.
The documentation at https://github.com/OpenHistoricalMap/ohm-deploy/tree/new_web_version/images#setting-up-ohm-website-for-development-mode is missing a few steps, which we worked our way through today. I will provide updated documentation and notes below.

gitignore for images/data

The images/data/ folder is not in a gitignore, but contains local data such as the PostgreSQL database.
File = images/.gitignore
Content:
data/

Another issue here, pulling out from slack:

If I wanted to run my ohm-website connected to staging DB, rather than my localhost Docker PostgreSQL, what would be involved? I’ve been working at it but seem to be missing a step.

comment out db from the docker-compose.yml
run the kubectl port-forward
maybe a change to DATABASE_HOST or rewriting the database.yml to localhost? I tried it, but without success.

The reason we would like to proxy the staging database is so that we don't need to pull down an load up a local database copy to test things like login and click query

The alternative would be to pull down a 4.4 GB production DB backup and install locally. We have those daily on S3:

But it would be much preferred to just proxy to staging to avoid requiring anyone doing local dev or testing to have to pull down and load 4GB of data.

I just went through this process again and a couple of places where I hit issues that others haven't noted:
1.docker-compose exec web bash never seems to put me in the container, while  docker exec ID works for me, though I need to do docker ps to find out the ID
2. When I got to the point of bundle exec rails db:migrate that failed for me with a notice that I had to do bundle install first. Which completed but takes a long time and I'm not sure if others did not have to do this for some reason.
3. But then on the next step, I hit another error:
# bundle exec rake yarn:install
rake aborted!
Errno::ENOENT: No such file or directory - bs_fetch:open_current_file:open
/var/lib/gems/2.7.0/gems/bootsnap-1.4.6/lib/bootsnap/compile_cache/yaml.rb:51:in `fetch'
...

And this repeats for any bundle exec rake variant I try, so though I got this stack running locally one time, I'm not able to do it a second time so far...
I tried this twice today, including once after a docker system prune to blow away everything and stat the process from scratch.
It feels to me like might be better off figuring out why CMD sh $workdir/start.sh doesn't work if we can fix that, so that we can put all the long list of ENV settings and touch this and that into a script that runs vs lots of commands we need to paste in. But that's easy for me to say!

During meeting today we said that @Rub21 would:

Document how to use port-forwarding within the container, similar to how we were doing it previously, with the command kubectl port-forward service/staging-db 5435:5432 -n default. See this Slack convo for some context on what we tried that wasn't working
Document your usual practices to making users in OSM Rails app locally, given that the local app can't send out emails. So just how to get the approval link or otherwise trigger approval for ta new user account, to allow local testing in situations for port-forwarding might not be desirable.

So with one .env setting thanks to @Rub21 I have the port-forwarding working:
from slack:

what we  is need to do is run kubectl port-forward staging-db-0 5432:5432 in a terminal and set DB env variables in the file .env

POSTGRES_DB=openstreetmap
PGUSER=postgres
POSTGRES_PASSWORD=l986yt63nfsr
POSTGRES_USER=postgres
POSTGRES_PORT=5432
POSTGRES_HOST=host.docker.internal
SERVER_URL=localhost
SERVER_PROTOCOL=http

This is the key part POSTGRES_HOST=host.docker.internal for mac and for linux POSTGRES_HOST=localhost

I just tested by stopping the local rails app, running POSTGRES_HOST=host.docker.internal at the command prompt in the Docker container I already had running, and then restarting the rails app. After that, I could log in and get click query working:

OK, now that we have localdev working through ohm-website, I'm closing this as outdated


Fixed an issue that caused the home button of the device to lose vibration feedback under certain circumstances.

If the user is using substitute (mainly  from unc0ver, the substitute from chimera has not been tested), in some cases Little11 may conflict with other tweaks and cause home button vibration feedback to fail. The cause of this problem has not been determined, this may be a bug in the substitute. Injecting hook of BSPlatform to springboard instead of UIKit can solve this problem.

The vibration feedback here refers to from iPhone7 to iPhoneSE2. Since the virtual home button is used instead of the physical home button, the feedback of the simulated physical home button provided by the linear motor.

Hi, thank you for the pull request! It helped me figure out what was causing the issue. Unfortunately, I will not be merging this as I came up with a different solution to this problem in the latest commit. Thanks again though!


Pushover (support) (phone notifications)

Can someone implement this please? I was recommended this in the discord but I don't know how to use it.
https://pushover.net/
https://github.com/sps/pushover4j/
There are other services if its easier or better
https://kdeconnect.kde.org (open source)
https://www.pushsafer.com

There are other services if its easier or better
https://kdeconnect.kde.org (open source)
https://www.pushsafer.com

There are other services if its easier or better
https://kdeconnect.kde.org (open source but doesn't support iOS)
https://www.pushsafer.com

iOS is very necessary.


RFC link in Readme goes nowhere

The Readme says:

Please see the RFC for the system design.

But the Link is a 404.

thanks, fixed


Erro toFixed() in coin wrappers scripts

Description
When I add symbols that involve the FIAT BRL the following error appears in several files that contain toFixed(precision):
"Uncaught RangeError: toFixed() digits argument must be between 0 and 100."
Note that when we add the symbols, an "precision" is -1
To Reproduce
To produce the error, I just added the symbols BTCBRL, ETHBRL and BNBBRL.
Solution found
The solution I found was to add "Math.abs()", for example:
{(+baseAssetBalance.free).toFixed(Math.abs(precision))}
I don't know if it interferes with anything, could someone help me in this correction?
Additional context
Sorry my english, I'm using google translator.

@Lavyk Thank you for reporting the bug.
I replicated, let me see what I can do.

@Lavyk The issue has been resolved in the PR, which will be merged later.
If you want to use BTCBRL, then please use this PR - https://github.com/chrisleekr/binance-trading-bot/pull/77


Add list support for vendor

Twin issue to #64 however it is much simpler.
Behaviour should be as per indicated in the feature specification, list vendor
The current list command should now be multiview (not for this issue) and if the first param is vendor it should display the VendorListPanel overidding any view currently displayed.

Closed by #94


[ENHANCEMENT] Relay Controller should handle concurrent requests

Relay controller concurrent requests
Issue:
Our relay controller should send concurrent requests for a faster response time, and chose the first response as an initial response.
Description:
The relay client should be kept simple, independent of any strong opinionated values outside of ease of development. The relay controller on the other hand is responsible for handling a relay once a request is received. It would be a good place for the relay controller to decide how the request is routed and served via concurrent requests to other nodes.
Concurrently sending requests will lay the foundation for how we will be able to enable QoS checksas we "prime" the nodes for health.
Objectives:
Acceptance Criteria:

Concurrent requests are sent and first response is consumed.

Resolved with https://github.com/baaspoolsllc/os-gateway/pull/7


Enable the "received byte count" feature.

After a loot of cout, it turns out that the number of bytes received for the headers only account for the "trimmed" headers. What is amusing is both EM and Cronet are doing the same here: they exclude the status line, and perform trimming.
Description: Report stream_intel_.received_byte_count to the Java Layer.
Risk Level: Small
Testing: Tests added for C++, tests enabled in Java, CI
Docs Changes: N/A
Release Notes: N/A
Fixes: 1426
Signed-off-by: Charles Le Borgne<EMAIL_ADDRESS>

@goaway any API concerns? If not I'll merge tomorrow

My general concern with bytes sent/received type measurements is that they're usually ambiguous about what precisely they're measuring. Encoding/framing at each network layer changes the number of bytes "seen" by other layers. For example, HTTP/2+ framing adds some bytes (probably not accounted for here), but OTOH header compression can substantially reduce what ultimately gets sent at L4 (also probably not accounted for here) and below. Something I've proposed in the past is an accounting based on the network layer doing the measuring.
(I think @alyssawilk also alludes to this above in her question.)
Is the goal here to measure the number of bytes received at L7 as if it were an unmodified HTTP/1 response?
I think it would be great if this field could be named and documented clarify what in fact is being measured.

Sorry, to clarify, I think receivedBytes is a somewhat ambiguous name that will lead to different people making different assumptions about what the field represents.

My general concern with bytes sent/received type measurements is that they're usually ambiguous about what precisely they're measuring. Encoding/framing at each network layer changes the number of bytes "seen" by other layers. For example, HTTP/2+ framing adds some bytes (probably not accounted for here), but OTOH header compression can substantially reduce what ultimately gets sent at L4 (also probably not accounted for here) and below. Something I've proposed in the past is an accounting based on the network layer doing the measuring.
(I think @alyssawilk also alludes to this above in her question.)
Is the goal here to measure the number of bytes received at L7 as if it were an unmodified HTTP/1 response?
I think it would be great if this field could be named and documented clarify what in fact is being measured.

@alyssawilk @goaway @RyanTheOptimist
Mike, this is a nightmare. I still have not found the exact recipe to mimic Cronet. I don't know what Cronet is counting. Now I start suspecting that it does not matter much. The only thing I'm sure of is the count sent by the onHeaders callback: it reflects only the trimmed headers, without the Status Line - that's for HTTP1 only - my guess this one is the same for other protocols/compression schemes.

@carloseltuerto How would you like to proceed? If we want to commit an arbitrary definition, my main concern would be that it be named unambiguously and documented as to what it counts.
If we were to choose what we expose, I'd propose we report a layer 4 accounting of what gets read and written to the socket for a given stream - though exposing this may require some additional work in Envoy.

@goaway @alyssawilk @RyanTheOptimist I have been working for more than a day to have the an environment where I can perform some tests with the original Chromium::Cronet. I was able to observe more details. It looks like that Cronet has two behaviors:

When the response is in a single packet: onHeaders includes all the bytes received up to the Body, and onSucceeded returns all the bytes received (Status line, untrimmed Headers, Body)
When the response is more than one packet: onHeaders only includes the trimmed Headers (excludes Status line), and onSucceeded returns the sum of the body size and trimmed Headers.

I suspect that when the CronetUrlRequestTest were written, the authors did not consider any of this. They rather let the test fail the first time, and then plugged the real number they saw.
I don't want to mimic this logic. So here is a suggestion:

onHeader always returns the trimmed Headers size with the stream_intel_
onData  trimmed Headers size + previous and current Buffer passed to onData with the stream_intel
onError, onCancel, onSucceed return the real number of bytes: streamInfo().getUpstreamBytesMeter()->wireBytesReceived() with the final_stream_intel_

This logic has this flaw: the sum of onHeader and onData call will never be the one returned in final_stream_intel_.received_byte_count. If this is plain data, the latter will be bigger, and if the data is compressed, then the latter will likely be smaller. However, I believe that it is important to reflect the correct number of bytes received on the final callbacks. What is being returned by the non-final callbacks does not matter much. That will be an improvement when compared with the original Cronet.

@goaway @alyssawilk @RyanTheOptimist The suggestion has been implemented. Please let me know what you think - thanks!


suggestion to allow user to specify what resource pack to use

hey there, what if i want to convert a resource pack that i already downloaded? like newer versions of Faithful that has textures based on JAPPA's textures, what if i want to convert that resource pack?

hi, sure, i think it easy enough to implement that

it's working now!
tested with faithful for 1.14
mind you, it only copies the textures and not any model
you also need to actually use the 1.14 pack alongside the converted one


pass typed params through to modules

It would be helpful to be able to pass list params (or map, bool, or any param types we support) as-is through to modules. Currently, this doesn't work:
containerModule.hcl:
param "image" {}
param "tag" {}
param "name" {}
param "ports" {
  default = []
}

docker.image "image" {
  name = "{{param `image`}}"
  tag  = "{{param `tag`}}"
}

docker.container "container" {
  name    = "{{param `name`}}"
  image   = "{{param `image`}}:{{param `tag`}}"
  ports   = ["{{param `ports`}}"]
  force   = true
}

runContainer.hcl
module "containerModule.hcl" "elasticsearch" {
  params = {
    name  = "elasticsearch"
    image = "elasticsearch"
    tag   = "2.4.0"
    ports = ["<IP_ADDRESS>:9200:9200"]
  }
}

When the preparer for the docker container resource is populated, the value for ports is []string{"[<IP_ADDRESS>:9200:9200]"} which is not what we want. We want []string{"<IP_ADDRESS>:9200:9200"}.

This appears to be working as of commit # d0fef40501c952445f6022dbbf9e001c5af3b3ef


Rules on stateful set

Coverage increased (+1.1%) to 83.366% when pulling c37ecf00ddcfaec1fc95c5cfdf030c99cdd174e8 on feature/statefulset-rules into c102cf48f565783c47ec3b9e3e86e90674a7c72c on master.


Update how-to-connect-install-existing-database.md

Added information that might be relevant for technical personel that arre assessing the requirements prior to an upgrade/installation

@billmath - Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

This is not needed.
#please-close


Prevent automatic recentering.

Apologies in advance for my React n00bdom.
I have a map with a center property define. On the same page I have a panel of controls, some of which update what is being rendered on the map (a fill extrusion layer, in this case).
Steps to reproduce:

Load the map. In it's initial state it is rendered correctly.
Drag the map around to view it from different angles.
Manipulate something in the control panel, causing the objects on the map to be redrawn.

Desired behavior:

The map camera position does not change.

Actual behavior:

The map resets its center and zoom level.

I feel pretty certain I am missing something simple and I'm just a big dummy but I have Googled this extensively to no avail, so any help would be great.
Thanks in advance.

I believe props like center and zoom use === equality to check if two items are the same.
const center = [0, 0];
console.log(center === center) // true
console.log(center === [0, 0]) // false
console.log([0, 0] === [0, 0]) // false

If you create a new array on every render, (e.g. <Map center=[0, 0] />), it will recenter every time it renders. so the solution would be to use a value defined outside the render (e.g. this.state.center, this.props.center, or a const defined outside the class).
I had the same issue and only realized what I was doing wrong after finding a similar issue that's been closed. It's sort of mentioned in the README, but I think it could be a little more clear somehow to help keep this issue from resurfacing. Maybe specifically showing "good" and "bad" examples of how to set static values without causing the map to update on rerenders.

@redbmk, that did the trick! We now reference pre-defined arrays on render, rather than declaring the arrays inline, and the problem appears to be solved.
Thank you so much!


unsubscribe/unwatch

Hello.
Do we need to unsubscribe/unwatch?
Example:
class MyComponent extends React.Component {
  componentDidMount() {
    this.calls = horizon('calls').watch().subscribe(this.setState.bind(this))
  }

  componentWillUnmount() {
    this.calls.unsubscribe()
  }
}

@hnordt This issue tracker is for bugs. Please ask on the slack channel or here https://discuss.horizon.io/

This is ok, we use it for feature suggestions too.

@hnordt I definitely recommend unsubscribing as a good practice. It's not technically necessary if your use case for cleaning up is "the user navigates away from the webpage", but if you're doing a multi-page app, cleaning up unused feeds is really important

@deontologician the correct way to unsubscribe is the way I written above?
For fetch() there is no need to unsubscribe, right?

@hnordt Yeah, what you have is correct. If you use forEach instead of subscribe there's no way to unsubscribe. And yes, fetch() leaves no resources on the server, so there's no real reason to unsubscribe.

Thank you @deontologician, you are a master!

Is this documented? I can't see it referenced anywhere in the Collections docs

I don't think that I have seen this in the documentation. Thanks for pointing this out though because it is very important to unsubscribe in SPAs.
I haven't looked at the source code, but basically if you keep the subscription open in a single page application that is only needed in a given component, your horizon instance will keep getting data on changes, even when that component is destructed.

I think this should actually not only be mentioned but highlighted in the documentation. While somewhat common sense for anyone used to working with rxjs subjects, it is definitely a potential source of massive memory leaks and wasted network resources.


Volume inconsistent density based on cell size

If you create a volume comprised of 100^3 tightly packed regular cells, the volume density will be much higher than that of a volume of the same size comprised of a single cell.

hi Stas, volume density is not a function of world space coordinates.  You can achieve this by altering the density scale on the volumetric model.

That the density of the volume depends on its resolution has been the behavior of OSPRay since the beginning. But I agree that this is unfortunate. We have some ideas to rectify this in a future release (around fall). In the meantime please use densityScale as Carson suggested to counter the effect.

Johannes, in ParaView this is handled by altering the scalarOpacityUnitDistance variable on the volume, which by default scales with volume size.  In paraviewOSPRay we handle this by altering the density scale to map to the scalarOpacityUnitDistance.


Windows Arm64 Github Action

I've attempted to add Windows Arm64 Platform library building to the github action, and it all builds successfully but as far as I can tell it still just builds it for x64. I'm not sure if the github action is just not working quite right yet (it's in "beta" apparently) or if there's something else that needs to happen.
Also worth looking into ... is there a way to build a dll combined for both Arm64 and x64, like there is for macOS?

Maybe I can modify the build action/cmake to do this?
https://learn.microsoft.com/en-us/windows/arm/arm64x-build

Although I just tested running this on an Arm Windows laptop and setting the csproj to use x64 just works (I guess through emulation?) so maybe I don't care about getting this working..........


1.6 beta breaks build

For now the workaround is to allow go to still send go pointers to cgo (I guess?), i.e. revert to GO 1.5
panic: runtime error: cgo argument has Go pointer to Go pointer
goroutine 1 [running]:
github.com/gordonklaus/portaudio._cgoCheckPointer1(0x4311a80, 0xc8200fe100, 0x0, 0x0, 0x0, 0x42f25a0)
??:0 +0x4d
github.com/gordonklaus/portaudio.OpenStream(0x0, 0x0, 0x0, 0xc82006c3c0, 0x1, 0xd78f88, 0x40e5888000000000, 0x100, 0x0, 0xc820055c18, ...)
/Users/timothybone/work/src/github.com/gordonklaus/portaudio/portaudio.go:504 +0x3d1
github.com/gordonklaus/portaudio.OpenDefaultStream(0x0, 0x1, 0x40e5888000000000, 0x100, 0xc820055c18, 0x1, 0x1, 0x44451a0, 0x0, 0x0)
/Users/timothybone/work/src/github.com/gordonklaus/portaudio/portaudio.go:538 +0x24a
github.com/nf/sigourney/audio.(*Engine).Start(0xc82006c2a0, 0x0, 0x0)
/Users/timothybone/work/src/github.com/nf/sigourney/audio/engine_cgo.go:24 +0x13d
main.demo(0x0, 0x0)
/Users/timothybone/work/src/github.com/nf/sigourney/demo.go:29 +0xd1
main.main()
/Users/timothybone/work/src/github.com/nf/sigourney/main.go:51 +0x9e

If the portaudio maintainers don't fix it, we might have to switch to a
different package for talking to the audio card.

There is a work in progress. I was able to get Sigourney working with my branch.
https://github.com/gordonklaus/portaudio/issues/7