feat(node metadata): add GCP env metadata to node metadata

This PR adds platform metadata support to the istio metadata section of the envoy node metadata. This data will be used by Istio extensions that require access to platform-specific metadata.
This PR only adds support for GCP. However, it does provide mechanisms for extending support for other platforms. This is no more restrictive than the GetPlatformLocality() functionality it replaces/amplifies, as that also only supported GCP.
@mandarjog @bianpengyuan I believe this matches the need described offline. I think the location of this data is reasonable, though I'm sure it can be moved to another part of the metadata easily, if you think it is more appropriate elsewhere.
Example metadata with this PR:
bootstrap": {
    "node": {
     "id": "sidecar~<IP_ADDRESS>~httpbin-5fc7cf895d-nqgp6.ma~ma.svc.cluster.local",
     "cluster": "httpbin.ma",
     "metadata": {
...
      "istio.io/metadata": {
       "ip": "<IP_ADDRESS>",
       "name": "httpbin-5fc7cf895d-nqgp6",
       "namespace": "ma",
       "platform_metadata": {
        "gcp_cluster_location": "us-east4-b",
        "gcp_cluster_name": "<cluster name redacted>",
        "gcp_project": "<project id redacted>"
       },
       "labels": {
        "pod-template-hash": "5fc7cf895d",
        "app": "httpbin",
        "version": "v1"
       }
      },
...
     },
     "locality": {
      "region": "us-east4",
      "zone": "us-east4-b"
     },

[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ X ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: douglas-reid
To complete the pull request process, please assign costinm
You can assign the PR to them by writing /assign @costinm in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

pkg/bootstrap/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@douglas-reid: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-lint.sh
d8f1ded39a7cbe0dfabdca06cf7f18f1a42ff6ea
link
/test istio-lint-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@douglas-reid: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-lint.sh
d8f1ded39a7cbe0dfabdca06cf7f18f1a42ff6ea
link
/test istio-lint-master

prow/istio-unit-tests.sh
d8f1ded39a7cbe0dfabdca06cf7f18f1a42ff6ea
link
/test istio-unit-tests-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@douglas-reid: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-lint.sh
d8f1ded39a7cbe0dfabdca06cf7f18f1a42ff6ea
link
/test istio-lint-master

prow/istio-unit-tests.sh
d8f1ded39a7cbe0dfabdca06cf7f18f1a42ff6ea
link
/test istio-unit-tests-master

prow/codecov.sh
d8f1ded39a7cbe0dfabdca06cf7f18f1a42ff6ea
link
/test istio-codecov-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@douglas-reid: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-lint.sh
d8f1ded39a7cbe0dfabdca06cf7f18f1a42ff6ea
link
/test istio-lint-master

prow/istio-unit-tests.sh
d8f1ded39a7cbe0dfabdca06cf7f18f1a42ff6ea
link
/test istio-unit-tests-master

prow/codecov.sh
d8f1ded39a7cbe0dfabdca06cf7f18f1a42ff6ea
link
/test istio-codecov-master

prow/racetest.sh
d8f1ded39a7cbe0dfabdca06cf7f18f1a42ff6ea
link
/test istio-racetest-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@douglas-reid: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-lint.sh
d8f1ded39a7cbe0dfabdca06cf7f18f1a42ff6ea
link
/test istio-lint-master

prow/istio-unit-tests.sh
d8f1ded39a7cbe0dfabdca06cf7f18f1a42ff6ea
link
/test istio-unit-tests-master

prow/codecov.sh
d8f1ded39a7cbe0dfabdca06cf7f18f1a42ff6ea
link
/test istio-codecov-master

prow/racetest.sh
d8f1ded39a7cbe0dfabdca06cf7f18f1a42ff6ea
link
/test istio-racetest-master

prow/integ-mixer-k8s-presubmit-tests.sh
d8f1ded39a7cbe0dfabdca06cf7f18f1a42ff6ea
link
/test integ-mixer-k8s-presubmit-tests-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: douglas-reid, mandarjog
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

pkg/bootstrap/OWNERS [mandarjog]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@douglas-reid bootstrap tests are failing .

@mandarjog ha. yes, of course. prow runs on GCE. I'll update.

New changes are detected. LGTM label has been removed.

@douglas-reid: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/codecov.sh
d8f1ded39a7cbe0dfabdca06cf7f18f1a42ff6ea
link
/test istio-codecov-master

prow/racetest.sh
d8f1ded39a7cbe0dfabdca06cf7f18f1a42ff6ea
link
/test istio-racetest-master

prow/integ-mixer-k8s-presubmit-tests.sh
d8f1ded39a7cbe0dfabdca06cf7f18f1a42ff6ea
link
/test integ-mixer-k8s-presubmit-tests-master

prow/istio-unit-tests.sh
e512fdd1905ba011d659f57f2be8c7e89bc309aa
link
/test istio-unit-tests-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@douglas-reid: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/racetest.sh
d8f1ded39a7cbe0dfabdca06cf7f18f1a42ff6ea
link
/test istio-racetest-master

prow/integ-mixer-k8s-presubmit-tests.sh
d8f1ded39a7cbe0dfabdca06cf7f18f1a42ff6ea
link
/test integ-mixer-k8s-presubmit-tests-master

prow/istio-unit-tests.sh
e512fdd1905ba011d659f57f2be8c7e89bc309aa
link
/test istio-unit-tests-master

prow/codecov.sh
e512fdd1905ba011d659f57f2be8c7e89bc309aa
link
/test istio-codecov-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@douglas-reid: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/racetest.sh
d8f1ded39a7cbe0dfabdca06cf7f18f1a42ff6ea
link
/test istio-racetest-master

prow/istio-unit-tests.sh
e512fdd1905ba011d659f57f2be8c7e89bc309aa
link
/test istio-unit-tests-master

prow/codecov.sh
e512fdd1905ba011d659f57f2be8c7e89bc309aa
link
/test istio-codecov-master

prow/integ-mixer-k8s-presubmit-tests.sh
e512fdd1905ba011d659f57f2be8c7e89bc309aa
link
/test integ-mixer-k8s-presubmit-tests-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@douglas-reid: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
e512fdd1905ba011d659f57f2be8c7e89bc309aa
link
/test istio-unit-tests-master

prow/codecov.sh
e512fdd1905ba011d659f57f2be8c7e89bc309aa
link
/test istio-codecov-master

prow/integ-mixer-k8s-presubmit-tests.sh
e512fdd1905ba011d659f57f2be8c7e89bc309aa
link
/test integ-mixer-k8s-presubmit-tests-master

prow/racetest.sh
e512fdd1905ba011d659f57f2be8c7e89bc309aa
link
/test istio-racetest-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

New changes are detected. LGTM label has been removed.

@douglas-reid: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
e512fdd1905ba011d659f57f2be8c7e89bc309aa
link
/test istio-unit-tests-master

prow/integ-mixer-k8s-presubmit-tests.sh
e512fdd1905ba011d659f57f2be8c7e89bc309aa
link
/test integ-mixer-k8s-presubmit-tests-master

prow/racetest.sh
e512fdd1905ba011d659f57f2be8c7e89bc309aa
link
/test istio-racetest-master

prow/codecov.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test istio-codecov-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@douglas-reid: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
e512fdd1905ba011d659f57f2be8c7e89bc309aa
link
/test istio-unit-tests-master

prow/integ-mixer-k8s-presubmit-tests.sh
e512fdd1905ba011d659f57f2be8c7e89bc309aa
link
/test integ-mixer-k8s-presubmit-tests-master

prow/racetest.sh
e512fdd1905ba011d659f57f2be8c7e89bc309aa
link
/test istio-racetest-master

prow/codecov.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test istio-codecov-master

prow/integ-telemetry-k8s-presubmit-tests.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test integ-telemetry-k8s-presubmit-tests-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@douglas-reid: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/integ-mixer-k8s-presubmit-tests.sh
e512fdd1905ba011d659f57f2be8c7e89bc309aa
link
/test integ-mixer-k8s-presubmit-tests-master

prow/racetest.sh
e512fdd1905ba011d659f57f2be8c7e89bc309aa
link
/test istio-racetest-master

prow/codecov.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test istio-codecov-master

prow/integ-telemetry-k8s-presubmit-tests.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test integ-telemetry-k8s-presubmit-tests-master

prow/istio-unit-tests.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test istio-unit-tests-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@douglas-reid: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/integ-mixer-k8s-presubmit-tests.sh
e512fdd1905ba011d659f57f2be8c7e89bc309aa
link
/test integ-mixer-k8s-presubmit-tests-master

prow/codecov.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test istio-codecov-master

prow/integ-telemetry-k8s-presubmit-tests.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test integ-telemetry-k8s-presubmit-tests-master

prow/istio-unit-tests.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test istio-unit-tests-master

prow/racetest.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test istio-racetest-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@douglas-reid: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/codecov.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test istio-codecov-master

prow/integ-telemetry-k8s-presubmit-tests.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test integ-telemetry-k8s-presubmit-tests-master

prow/istio-unit-tests.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test istio-unit-tests-master

prow/racetest.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test istio-racetest-master

prow/integ-mixer-k8s-presubmit-tests.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test integ-mixer-k8s-presubmit-tests-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@douglas-reid: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/codecov.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test istio-codecov-master

prow/integ-telemetry-k8s-presubmit-tests.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test integ-telemetry-k8s-presubmit-tests-master

prow/istio-unit-tests.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test istio-unit-tests-master

prow/racetest.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test istio-racetest-master

prow/integ-mixer-k8s-presubmit-tests.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test integ-mixer-k8s-presubmit-tests-master

istio-lint-master
36f72d93d53ea460d01c152c9f8f47f46edd270d
link
/test istio-lint-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@douglas-reid: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/codecov.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test istio-codecov-master

prow/integ-telemetry-k8s-presubmit-tests.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test integ-telemetry-k8s-presubmit-tests-master

prow/istio-unit-tests.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test istio-unit-tests-master

prow/racetest.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test istio-racetest-master

prow/integ-mixer-k8s-presubmit-tests.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test integ-mixer-k8s-presubmit-tests-master

istio-lint-master
36f72d93d53ea460d01c152c9f8f47f46edd270d
link
/test istio-lint-master

integ-mixer-k8s-presubmit-tests-master
36f72d93d53ea460d01c152c9f8f47f46edd270d
link
/test integ-mixer-k8s-presubmit-tests-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@douglas-reid: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/codecov.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test istio-codecov-master

prow/integ-telemetry-k8s-presubmit-tests.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test integ-telemetry-k8s-presubmit-tests-master

prow/istio-unit-tests.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test istio-unit-tests-master

prow/racetest.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test istio-racetest-master

prow/integ-mixer-k8s-presubmit-tests.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test integ-mixer-k8s-presubmit-tests-master

istio-lint-master
36f72d93d53ea460d01c152c9f8f47f46edd270d
link
/test istio-lint-master

integ-mixer-k8s-presubmit-tests-master
36f72d93d53ea460d01c152c9f8f47f46edd270d
link
/test integ-mixer-k8s-presubmit-tests-master

istio-shellcheck-master
e24048bc53cc0076c2ab25e8e92f97983a101a0a
link
/test istio-shellcheck-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test istio-shellcheck-master

@douglas-reid: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/codecov.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test istio-codecov-master

prow/integ-telemetry-k8s-presubmit-tests.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test integ-telemetry-k8s-presubmit-tests-master

prow/istio-unit-tests.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test istio-unit-tests-master

prow/racetest.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test istio-racetest-master

prow/integ-mixer-k8s-presubmit-tests.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test integ-mixer-k8s-presubmit-tests-master

integ-mixer-k8s-presubmit-tests-master
36f72d93d53ea460d01c152c9f8f47f46edd270d
link
/test integ-mixer-k8s-presubmit-tests-master

istio_auth_sds_e2e-master
e24048bc53cc0076c2ab25e8e92f97983a101a0a
link
/test istio_auth_sds_e2e-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@douglas-reid: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/codecov.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test istio-codecov-master

prow/integ-telemetry-k8s-presubmit-tests.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test integ-telemetry-k8s-presubmit-tests-master

prow/istio-unit-tests.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test istio-unit-tests-master

prow/racetest.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test istio-racetest-master

prow/integ-mixer-k8s-presubmit-tests.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test integ-mixer-k8s-presubmit-tests-master

istio_auth_sds_e2e-master
e24048bc53cc0076c2ab25e8e92f97983a101a0a
link
/test istio_auth_sds_e2e-master

integ-mixer-k8s-presubmit-tests-master
e24048bc53cc0076c2ab25e8e92f97983a101a0a
link
/test integ-mixer-k8s-presubmit-tests-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test istio_auth_sds_e2e-master

@douglas-reid: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/codecov.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test istio-codecov-master

prow/integ-telemetry-k8s-presubmit-tests.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test integ-telemetry-k8s-presubmit-tests-master

prow/istio-unit-tests.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test istio-unit-tests-master

prow/racetest.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test istio-racetest-master

prow/integ-mixer-k8s-presubmit-tests.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test integ-mixer-k8s-presubmit-tests-master

istio_auth_sds_e2e-master
e24048bc53cc0076c2ab25e8e92f97983a101a0a
link
/test istio_auth_sds_e2e-master

integ-mixer-k8s-presubmit-tests-master
e24048bc53cc0076c2ab25e8e92f97983a101a0a
link
/test integ-mixer-k8s-presubmit-tests-master

integ-galley-k8s-presubmit-tests-master
e24048bc53cc0076c2ab25e8e92f97983a101a0a
link
/test integ-galley-k8s-presubmit-tests-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@douglas-reid: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/codecov.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test istio-codecov-master

prow/integ-telemetry-k8s-presubmit-tests.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test integ-telemetry-k8s-presubmit-tests-master

prow/istio-unit-tests.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test istio-unit-tests-master

prow/racetest.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test istio-racetest-master

prow/integ-mixer-k8s-presubmit-tests.sh
51031b9b6743a7e4adc7c44b9537cb45cf0beba4
link
/test integ-mixer-k8s-presubmit-tests-master

istio_auth_sds_e2e-master
e24048bc53cc0076c2ab25e8e92f97983a101a0a
link
/test istio_auth_sds_e2e-master

integ-mixer-k8s-presubmit-tests-master
e24048bc53cc0076c2ab25e8e92f97983a101a0a
link
/test integ-mixer-k8s-presubmit-tests-master

integ-galley-k8s-presubmit-tests-master
e24048bc53cc0076c2ab25e8e92f97983a101a0a
link
/test integ-galley-k8s-presubmit-tests-master

integ-framework-k8s-presubmit-tests-master
e24048bc53cc0076c2ab25e8e92f97983a101a0a
link
/test integ-framework-k8s-presubmit-tests-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test integ-galley-k8s-presubmit-tests-master
Wait for Istio pods failed: timeout while waiting (last error: 6 errors occurred:
	* istio-system/istio-egressgateway-5cf879c7b7-z6k85: container not ready: 'istio-proxy'
	* istio-system/istio-galley-7456997585-qfnsp: container not ready: 'galley'
	* istio-system/istio-ingressgateway-649b8c54b4-jf7tm: container not ready: 'istio-proxy'
	* istio-system/istio-pilot-65cfc86d96-9qtsz: container not ready: 'discovery'
	* istio-system/istio-sidecar-injector-777fc7cbd6-skps6: container not ready: 'sidecar-injector-webhook'
	* istio-system/prometheus-776fdf7479-4xkqk: Pending
 )
2019-07-16T21:32:07.891060Z	info	CI	=== FAILED: Deploy Istio ===
``

/test integ-framework-k8s-presubmit-tests-master
2019-07-16T21:55:12.489908Z	info	CI	error waiting istio-system/istio-galley service endpoints: timeout while waiting (last error: the server was unable to return a response in the time allotted, but may still be processing the request (get endpoints istio-galley))
2019-07-16T21:55:12.490870Z	info	CI	=== FAILED: Deploy Istio ===

I believe this PR is ready. The failed tests are unrelated flakes.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: douglas-reid, mandarjog
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

pkg/bootstrap/OWNERS [mandarjog]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Revert "Update for sslyze changes"

Reverts cisagov/pshtt#199.  That pull request is not ready to be merged yet.

FWIW, we (the cisagov devs) usually let the person(s) who are assignees do the actual merging once all the required approvals are in.  Sometimes that person will want to wait for someone who is particularly familiar with a piece of the code to review, even when he or she already has the required two approvals to merge.
FYSA @IanLee1521 and @echudow.

Ah, ok. Good to know.
I've often seen work in progress PRs noted as such, often with a subject prefixed with WIP: ...


It takes Prometheus 5m to notice a metric is not available

What did you do?
I have a service reporting a metrics using collectd_exporter.
After killing the services, its take collectd_exporter a few second to reflect that, and stop showing service metric. It takes Prometheus additional 5 min to reflect the fact no new metrics are coming.
It looks like Prometheus has a 5min cache for the last metric.
What did you expect to see?
Prometheus immediately reflect the fact no metrics are available
What did you see instead? Under which circumstances?
Prometheus showing old value for 5 min.
Environment
Using the latest docker
sudo docker run -d -v $PWD/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml -p 9090:9090 prom/prometheus

System information:

Linux 4.4.6-201.fc22.x86_64 x86_64

Prometheus version:

0.18.0

Prometheus configuration file:

global:
  scrape_interval: 15s # By default, scrape targets every 15 seconds.

  # Attach these labels to any time series or alerts when communicating with
  # external systems (federation, remote storage, Alertmanager).
  external_labels:
    monitor: 'scylla-monitor'

scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'scylla'

    target_groups:
      - targets: ['x.x.x.x:9103','y.y.y.y:9103']

This is #398, there's not much you can do here until this is resolved.

Thanks for the report. As Brian said this is well known and covered by another issue. So closing here.

Thanks, will follow #398


Bug: Update Allure-commandline to fix Log4j Vuln?

I believe " "allure-commandline": "2.13.8"," is using a vulnerable version of Java that includes the Log4j vuln that everyone is talking about.
Is there plans to update and fix this vuln? My SCA Scanner is saying this lib is including the vulnerable jar.

Hi @Cameron-W-A,
Thank you for pointing this out. We will follow up as soon as allure-commandline has a new version available.
See: https://github.com/allure-framework/allure-npm/pull/34
To be clear, the allure-commandline is a devDependency in this package and only used to create and process allure reports for local development and testing. Having this package as a dependency in your project will not install this version of allure-commandline on your machine.

@vanhoofmaarten  Looks like that MR is now merged and closed


Getting logged out too regularly

What's the cookie's timeout?  Once a week strikes me as ok, but right now I seem to have to log in every day.

I have been meaning to issue this too, but I've been wondering if cookie-validation is tied to build version of the site and right now it is rebuilt rather frequently.

+1 I get logged out way too often
On Tue, 1 Aug 2017 at 04:28, Martin Zackrisson<EMAIL_ADDRESS>wrote:

I have been meaning to issue this too, but I've been wondering if
cookie-validation is tied to build version of the site and right now it is
rebuilt rather frequently.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ludumdare/ludumdare/issues/1142#issuecomment-319344126,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJ13Djn-j9Jpvr9i7BDvgmufi2OHU4ivks5sTwvEgaJpZM4Opk_l
.

It should be 2 days, but something has been kicking me out sooner.

2 days still seems really low. I very rarely have to log in to Facebook or
Twitter, they seem to have their refresh time longer than a month
On Tue, 1 Aug 2017 at 09:15, Mike Kasprzak<EMAIL_ADDRESS>wrote:

It should be 2 days, but something has been kicking me out sooner.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ludumdare/ludumdare/issues/1142#issuecomment-319419689,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJ13DkqfP0HTZ126OkvMMUprzD7QgubVks5sT08JgaJpZM4Opk_l
.

Well what it was supposed to do is refresh that 2 days every time you visit the website. So in practice you'd never notice that it was so short. But that refresh code is broken.
Also every time I reboot frontend server it should have logged you out, but for some reason it would immediately persist for me, and kick me off later.
Anyway, it's not clear what's wrong with login persistence.

You know, I haven't been logged out of Google in about 5 years. There is seriously no need to log people out on a regular basis. Also I am unsure how you are doing cookies, but the Lapis framework puts session data in a user cookie and signs the data with a secret token. That way if the server needs to be rebooted, users don't have to log back in. Hell I even wiped my test app and because I used the same secret key when I reconstituted the server, I remained logged in.

Signing a cookie also stops users from tampering with session data (such as giving themselves admin permissions or logging in with a different username) because changing any data would affect the generated hash.

You know, I haven't been logged out of Google in about 5 years

When was the last time you kept both your computer and your smartphone powered off for 1 week?

I visit twitter every few weeks or months, I stay logged in each time.

You're lucky. I visit daily and need to log in again every few months.

Getting logged out of websites is one of the most frustrating first world problems I encounter. I get signed out of bato.to weekly regardless of how often I visit the site and it makes me very angry deep inside my soul. Hyperbole aside, is there a valid reason to log someone out besides "it seems like a valid security measure"?
I think cookies expiring after a month of inactivity would be okay if you really, really want them to expire. But anything less than that seems more like security theatre than actual security.

if you haven't logged-in in 5 years then you havent changed a password in 5
years... I'd go do that now.
On 4 Aug 2017 21:02, "Mike Kasprzak"<EMAIL_ADDRESS>wrote:

You're lucky. I visit daily and need to log in again every few months.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ludumdare/ludumdare/issues/1142#issuecomment-320340572,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ARgKkwGUpeYlBSDx9eeXy8x5VKgTu9N6ks5sU3jPgaJpZM4Opk_l
.

Changing your password periodically does not enhance security unless your general security practices are poor to begin with. Assuming the service you are using uses a compatent hashing algorithm (if it uses one at all...), then brute forcing that password is gonna take years. If your password DOES get cracked, then you best not be using that password on other services. Changing that password every now and again isn't really gonna protect you. Ofcourse, if the service you are using gets hacked and their database stolen, yeah, change your (relevant) passwords to invalidate the old ones so they become useless to a hacker.
I assume Mike is using something like bcrypt and not md5 or SHA-1 for password hashing. bcrypt uses very strong and (relatively) slow hashing algorithms, iterates the hash thousands of times, and generates a unique salt for each hash. On top of that, I would expect Mike is also using a secret token that is LD-specific so even if LD was hacked, rainbow tables would be 100% useless.
The "slowness" of bcrypt is important here. Right now with a couple Maxwell Titans, you can write simple CUDA programs that hash billions of strings per second. You can create a rainbow table for the entire 8 byte ASCII table in a second or two. Not so much with bcrypt, that number drops by several orders of magnitude making brute forcing virtually impossible.
tl;dr: Assuming Mike is using sensible security measures, and users use non-shit passwords, changing it periodically will do nothing to help you.

Getting logged out of websites is one of the most frustrating first world problems I encounter

Yeah I agree, it sucks. It does helps if logging back in is 1-click. I believe that part is working in Chrome, but I haven't looked in to it since we started making accounts.
Once I'm sure the persistence issues are solved, then I will likely bump the timeout to 1 week. That will mean that if you visit the site within a week, it'll keep you in (while invisibly generating a fresh key).
We also need to get 2FA working. Though we're a low risk target (nothing to steal), I'm noticing way more attempts at to steal accounts from me. Fortunately Mojang and Nintendo have confirmations, or I'd have lost my Minecraft account and Pokemons.

I was just about to open an issue suggesting we set up 2fa. I 100% agree,
that is a super useful feature. I actually did have my Mc account stolen
but I recovered it without issue~
On Aug 4, 2017 17:33, "Mike Kasprzak"<EMAIL_ADDRESS>wrote:

Getting logged out of websites is one of the most frustrating first world
problems I encounter
Yeah I agree, it sucks. It does helps if logging back in is 1-click. I
believe that part is working in Chrome, but I haven't looked in to it since
we started making accounts.
Once I'm sure the persistence issues are solved, then I will likely bump
the timeout to 1 week. That will mean that if you visit the site within a
week, it'll keep you in (while invisibly generating a fresh key).
We also need to get 2FA working. Though we're a low risk target (nothing
to steal), I'm noticing way more attempts at to steal accounts from me.
Fortunately Mojang and Nintendo have confirmations, or I'd have lost my
Minecraft account and Pokemons.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ludumdare/ludumdare/issues/1142#issuecomment-320346922,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAkB_AKYpDv_sLruDWibIjPXYAMNOw6Tks5sU4AdgaJpZM4Opk_l
.

Now that #285 is fixed and we can log out manually, maybe it's time to make sure that users aren't logged out automatically each day? :) This is one of the biggest sources of frustration when using the site for me.
Ideally, the user would have to log in after missing a complete event or so, meaning the logout-on-no-activity duration should be set to 4 months. Are there any disadvantages to that?

Yes, security.
The best way to keep a connection safe is to regularly randomize the
session keys. Right now the same key is used forever. What needs to happen
is after X hours, the key needs to be renewed, which means the expiration
can be reset too. Right now sessions have a 2 day timeout. I'm happy to
increase it, but I would be reluctant to go longer than a week.
Also Chrome users, the login/password remembering works fine. Firefox, last
I heard it doesn't.
On Dec 7, 2017 09:53, "Sebastian Morr"<EMAIL_ADDRESS>wrote:

Now that #285 https://github.com/ludumdare/ludumdare/issues/285 is
fixed and we can log out manually, maybe it's time to make sure that users
aren't logged out automatically each day? :) This is one of the biggest
sources of frustration when using the site for me.
Ideally, the user would have to log in after missing a complete event or
so, meaning the logout-on-no-activity duration should be set to 4 months.
Are there any disadvantages to that?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ludumdare/ludumdare/issues/1142#issuecomment-349990362,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABf2CeJJertJo7-YRhwMxQHCkkBuaOfyks5s9_wCgaJpZM4Opk_l
.

Also Chrome users, the login/password remembering works fine. Firefox,
last I heard it doesn't.
Also safari has problems with it for me.  The login setup right now with
the site is, um, not without its frustrations.

2017-12-07 18:28 GMT+01:00 Mike Kasprzak<EMAIL_ADDRESS>
Yes, security.
The best way to keep a connection safe is to regularly randomize the
session keys. Right now the same key is used forever. What needs to happen
is after X hours, the key needs to be renewed, which means the expiration
can be reset too. Right now sessions have a 2 day timeout. I'm happy to
increase it, but I would be reluctant to go longer than a week.
Also Chrome users, the login/password remembering works fine. Firefox, last
I heard it doesn't.
On Dec 7, 2017 09:53, "Sebastian Morr"<EMAIL_ADDRESS>wrote:

Now that #285 https://github.com/ludumdare/ludumdare/issues/285 is
fixed and we can log out manually, maybe it's time to make sure that
users
aren't logged out automatically each day? :) This is one of the biggest
sources of frustration when using the site for me.
Ideally, the user would have to log in after missing a complete event or
so, meaning the logout-on-no-activity duration should be set to 4 months.
Are there any disadvantages to that?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<https://github.com/ludumdare/ludumdare/issues/1142#
issuecomment-349990362>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABf2CeJJertJo7-
YRhwMxQHCkkBuaOfyks5s9_wCgaJpZM4Opk_l>
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ludumdare/ludumdare/issues/1142#issuecomment-350037962,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAca4MuR4iB9xukjUz9_ir8enQe-wg4Dks5s-CA-gaJpZM4Opk_l
.

Okay, I've opened a new issue for that #1501.

No other site that I use logs me out after less than a week, so surely this is a solved problem.
I did some searching... here's one recommendation? https://paragonie.com/blog/2015/04/secure-authentication-php-with-long-term-persistence#title.2
I'd love Ludum Dare to have a better login experience. If you could just open the site to the games page you already had bookmarked and start rating games straight away I'm sure we'd get more people doing it too

I really do believe that the security concerns are very over blown. I visit Amazon every few months and I ma never logged out. I have to re-authenticate to do particularily special things like view my orders or make a purchase, but that's because real personal information and credit card info is involved. I visit Reddit once every few months and again, I've never been logged out. Same with my Microsoft account, I probably use that a couple times a year at most and I've never had to log in after the first time unless I am accessing personal info.
If Amazon, Reddit, and Microsoft among many others think that this isn't a major issue, I'm gonna trust them on that.

I'm repeating myself, but Google follows you around the internet. From their services like YouTube to Adsense, they unlike most companies have chances every hour to maintain a session (and randomize a session key). Amazon works around the issue by requiring you to re-login when you do something important (i.e. making a purchase, checking order history). Microsoft always makes me login (super frustrating, I know). Reddit doesn't need to care, because a Reddit account isn't an identity. They are throwaway.
Ludum Dare and game jamming is an identity for some folks. You brag about your accomplishments here. We don't keep information around of value around (other than your e-mail), but granting access to a Ludum Dare account provides edit privileges for that identity. We have a responsibility to protect that identity.

We should defo bump the expiry time to a week, that should keep an active user logged in through most of an event. (probably need a re-log for results)
Also it still seems that you may get logged out if the site is redeployed(rebuilt?)

User Session ID's are store in Redis, but currently only on the live server (I haven't merged the change in to the VM config). So long as redis doesn't crash, it will maintain its data across reboots.

Why not store them in an encrypted cookie? That's what I do and it works
great. I can delete a docker container and redeploy and no one has to
notice. It's encrypted suing a server-side secret token so the session data
isn't modifiable by the user and is unique to their browser.

Landon Manning
<EMAIL_ADDRESS>On 8 December 2017 at 23:10, Mike Kasprzak<EMAIL_ADDRESS>wrote:

User Session ID's are store in Redis, but currently only on the live
server (I haven't merged the change in to the VM config). So long as redis
doesn't crash, it will maintain its data across reboots.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ludumdare/ludumdare/issues/1142#issuecomment-350419550,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAkB_A3X_qNq5uLuJ_mGIDTW6prEMj_sks5s-fo5gaJpZM4Opk_l
.

Because our code is public. If you know exactly what the unencrypted data should look like, all you need is 2-3 unique accounts, and you can reverse engineer the secret.

I don't think reverse engineering encryption is quite that simple. Do you
have any proofs of concept?

Landon Manning
<EMAIL_ADDRESS>On 8 December 2017 at 23:17, Mike Kasprzak<EMAIL_ADDRESS>wrote:

Because our code is public. If you know exactly what the unencrypted data
should look like, all you need is 2-3 unique accounts, and you can reverse
engineer the secret.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ludumdare/ludumdare/issues/1142#issuecomment-350419913,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAkB_PkOPnsqz7gwLNlfbVWBXE-QWczhks5s-fu6gaJpZM4Opk_l
.

Are you familiar with the math formula A + B = C? If you know A and B, you can solve for C. Same as if you know A and C, you can solve B. At this point it's not even an encryption issue. It's arithmetic.

That is a gross oversimplification of the issue. The arithmetic involved in
reverse engineering the secret from a respectable encryption algorithm
would take billions of years to calculate, not a few minutes. You're
basically just brute forcing it, regardless of how many unique accounts you
have.

Landon Manning
<EMAIL_ADDRESS>On 8 December 2017 at 23:21, Mike Kasprzak<EMAIL_ADDRESS>wrote:

Are you familiar with the math formula A + B = C? If you know A and B,
you can solve for C. Same as if you know A and C, you can solve B. At this
point it's not even an encryption issue. It's arithmetic.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ludumdare/ludumdare/issues/1142#issuecomment-350420105,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAkB_KxB1KbQmz0fj1ZJLNLPz2Xg7sjsks5s-fycgaJpZM4Opk_l
.

Yes it's an oversimplification, but it takes years to brute force when you have nothing. If you know what's inside an encrypted blob, plus how a blob is generated, that's child's play.
The only truly secure thing to do is hand out a unique key (AKA session ID). Worst case you can hack yourself.

The link @Jezzamonn suggested, recommends creating a long random token which is what you just suggested. Right?
So why don't we do that?

We do generate random tokens (i.e. session Ids). The only thing we don't do is negotiate a new one every X hours to keep it fresh.

So you get logged out 2 days after you logged in, not 2 days after you last visited the site?

Yes.

So bumping expiry to a week and implementing renegotiation, will massively reduce how annoying this issue is, maybe even mitigate it.

Yes. It's literally a couple hours of work. It's an annoyance than an actual issue.

It's a big annoyance though, i think this should be prioritised after search is done.

I more meant it's easy to do. Yes it's frustrating being logged out.

Because our code is public. If you know exactly what the unencrypted data should look like, all you need is 2-3 unique accounts, and you can reverse engineer the secret.

Are you familiar with Kerckhoffs's Principle? Encryption algorithms are already public. This doesn't make them any less secure, even if you have cribs. State of the art ciphers like AES-256 are not known to be vulnerable to known-plaintext attacks.
Besides, the plaintext contents of the cookie are not even known to the attacker. It would contain a random session ID that is only stored in plaintext in the database, and never leaves the server. If we did reveal the plaintext contents, what would be the point of encrypting it in the first place?
The suggestion to store encrypted data (e.g. session ID) in a cookie is a very sensible one. Even Google does it this way. You only need to make sure the key is stored securely on your server, where nobody but the site administrators can access it.

^ Exactly this. Having a secret token on the server that only the server knows is how modern internet encryption works. This is also how securing passwords works, you throw a server-secret token (a pepper) in with the password to be hashed so even if a database is leaked, unless you have that token you basically cannot break a password.
let hash = bcrypt.digest("s3cur3p455" + "b3VpZ2hiaTt1Z2JsaWdiaXB1Z2JwaWd1YnA7aXVnYmhpO3VwZyBwaW91aCBwWzA5b2l1IHloOTgweWhwOXVocGhp", 12)


A-frame 0.9.0 incompatibility

3D object position not positioned correctly over hero Marker with a-frame 0.90
<html>
    <head>
     <script src="https://aframe.io/releases/0.9.0/aframe.min.js"></script>
   <script src="https://jeromeetienne.github.io/AR.js/aframe/build/aframe-ar.js"></script>
</head>

<body style='margin : 0px; overflow: hidden;'>
        <a-scene embedded arjs='sourceType: webcam;'>
                <a-box position='0 0.5 0' material='opacity: 0.5;'></a-box>
                <a-marker-camera preset='hiro'></a-marker-camera>
            </a-scene>
	</a-scene>
</body>

  </html>

Works fine with a-frame 0.8.2
 <head>
     <script src="https://aframe.io/releases/0.8.2/aframe.min.js"></script>
   <script src="https://jeromeetienne.github.io/AR.js/aframe/build/aframe-ar.js"></script>
</head>

Device: iPhone XS max
OS: iOS 12.1.4 (latest as of April /2019)
Browser: ios safari + chrome

Hoping to get AR.js working with a-frame 0.9.0!
Thanks.

Hi, first of all try again using a printed marker (and possibly put the HIRO marker on a white or light color surface, to make the marker stand out better). Let us know if the bug shows again.
I can tell that I updated on README and on my experiments to 0.90 of a-frame and found NO differences at all. So this might be a bug of latest Safari with a-frame 0.9.0.

Your pasted example URL has <a-box> outside of the <a-marker-camera>, and has the </a-scene> closing tag twice. Here is an updated example on glitch.me: https://glitch.com/~actually-macaroon
Putting the <a-box> inside of the <a-marker-camera> fixes it.
It does look like aframe 0.8.2 works with the unfixed version, but I believe that having the object outside of the marker is territory for undefined behavior, and should not be relied upon. Is there a specific reason that the object is not inside of the marker?

andreyrd your glitch.me example doesn't seem to work for me - can you confirm it's still working for you? (so I know it's something on my end!)

Hey, it works for me on an iPhone 8 using Safari.
You have to visit the non-embedded version of the glitch on the device:
https://actually-macaroon.glitch.me/


Implement clamped variables

Add to code generation
Implement following types

float
int
byte
double
long
sbyte
short
uint
ulong
ushort

Also add to SO Code Generation d

Write wiki entry and add documentation to project

Ensure menu names and sub-menus are correct
Ensure orders are correct


How to re-scale Shapley values to the original dataset magnitude?

Question
If I've used a MinMaxScaler to normalize my target variable between [-1, 1].
How can I re-scale the Shapley values, so that their magnitude is proportional to that of the target variable y in the unscaled dataset?
Motivation
Naively using inverse_transform on the shap_values[0] matrix does not work, since if I understand correctly the Shapley values represent a change in y_i, due to the value of X_ij.
However the fact that she Shapley values are scaled to a different range than the target variable makes interpreting them non trivial, especially when looking at the absolute impact of a feature in a dependence_plot or a force_plot.
For reference
The Shapley values were generated using a KernelExplainer on an MLP Regression problem. Scaling of both the independent variables and target variable is generally considered necessary for MLP Regressors to converge.

MinMaxScaler is just a linear transformation of the output value, so you can apply the inverse of that transform to the SHAP values and the expected_value to get what you want. (the SHAP values units are the units of the model output you are explaining)

Thank you @slundberg. Is there a way to handle this issue generically? Ex. when scaling the target variable using a StandardScaler?

I would think that just calling inverse_transform on the shap_values should always work (just remember to also call it on the expected_value). This should always work if the transformation is linear, however if the transformation is not linear then it gets way more complicated, and you have to use DeepExplainer or do something special (like just explain the untransformed model output).

@slundberg, I manage to inverse transform shap values with x_scaler.inverse_transform(shap_values) , but how should i scale back the expected_value?

MinMaxScaler is just a linear transformation of the output value, so you can apply the inverse of that transform to the SHAP values and the expected_value to get what you want. (the SHAP values units are the units of the model output you are explaining)

@slundberg Are you sure about that? I have been thinking the shap values describe the impact of a feature (value) on the prediction. Hence a value of 0 means "no impact at all". On the other hand inverse transforming a value of 0 (with the default min max scaler feature range of (0,1)) leads to the smallest fitted value which can be anything. The way I see it, inverse transforming a shap value of 0 should yield 0 as well.
An other case are negative shap values, which may be valid even if the target variable is min max scaled with feature range (0,1). Inverse transforming negative values with such a scaler, is not reasonable imho.

an appropriate way would be to devide by the scale_-attribute of the transformer object to rescale the shap values to the original order of magnitude.


Add CRD init to kustomize

The CRD wedget do not create after deployment, will raise 404 in log of controller

/hold
This is not the right approach for kcp. I'll follow up more tomorrow.

@vincent-pli how did you test your deployment?

I installed the controller in my virtual cluster: root:gold:dogs
Then I get 404 exactly same as https://github.com/kcp-dev/kcp/issues/1183,
So I think it's caused by no CRD installed, so I installed the related CRD(widgets), then i get the error in #25
That's all what I did, hope useful @ncdc

You have to create an APIBinding for widgets somewhere, then it will work. I'm going to close this, but we can keep the conversation going if you'd like.
/close


DataLogging, takes too long

As it was discussed in pull request #89
Sometimes, logging takes way too much computational time.
Which leads to some hudge delay in the stabilization loop !! (140ms delay compare to a period of this task of 4ms => we miss 35 stabilization loops...)
We should spend sometime spoting the issue and improving this.
Otherwise we will have to go back to something like writing bytes on the SD card, which is not that user friendly compare to having a Fat fs system file manager.
Best

Is it still an issue?

Another way to reduce the write time is to use binary format.
For example, logging 3 floating point variables takes:

csv text:  27 bytes, with a precision of 7 digits : 3 x ( 7 bytes for the data, +1 bytes for dot, +1 bytes for commas and end of line characters).
binary: 6 bytes

I'm going to bring this issue back as I've found some issues that seem to be caused by data logging.
There appears to be some delay that is caused by data logging. When this delay happens in the drone dome, there is frequently a spike in the position estimation. Sometimes upwards of 1 km (so there may be something wrong somewhere else as well) but usually on the order of a couple meters. The weird this is, is that it seems to be consistently occurring every ~140 s.

This is a graph where the drone was just sitting in the drone dome for 1 hour. The y axis is the x position estimation during that time. As the drone is still, it is expected that the position estimation should be close to 0 for the entire time; however, you can see the consistent spikes every 140 s.
Zooming into these spike,...

...we can see that there are several groups of data logging points that are missing. I assume that if the data logging points are missing, then we are also missing stabilization calls. Some gaps on other spikes reached 1200 ms.
The gaps also happen every 140 s when not using the drone dome as well, but the spikes do not appear to be there, see figure below:

I also tested the code by reducing the data logging frequency from 100 Hz to 10 Hz. With this, the gaps/spikes seem to occur 10 times less frequently, i.e. the first gap occurred at 1352 s. As the test only was 1450 seconds, there was only 1 gap. But it does seem that the data logging is what is causing these gaps to occur.

I think these delays are inherent to FatFs. Apparently writing 512 bytes at a time helps in terms of write speed, but there are always periodical delays due to housekeeping inside FatFs.
I see two solutions:

ditch FatFs, directly dump binary data to the SDcard. I think we could write mavlink messages to the SDcard as it would be more fault tolerant, and relatively easy to read.
use an RTOS, with data_logging in one task, and the rest in another task.

In the non-RTOS case, write speed could be improved with a DMA version of the SD SPI driver. We would write 512 bytes in a first DMA buffer, then trigger the DMA transfer while we keep writing in a second DMA buffer.


SoftBody settings, allow sleeping

Exposes mAllowSleeping on SoftBodyCreationSettings.

Thanks! Let me know if you need a release for this change.

Thanks! No need for release. It will "just work" when the next release comes.


Discord

What is Discord Webhook
secrets.DISCORD_WEBHOOK

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."

for update in discord server of WPPCONNECT with new informations

Well how did find new version of WhatsApp web

dont know, but @icleitoncosta can help u with that, he is the maintainer of WPPCONNECT projetct

The expiration dates are captured by an estimate, and we always check the current version in the service worker, then download the new HTML. We just compare the current version we found with the last version recorded in the JSON (in simple terms, that's it).


Allow editorLangId to recognise embedded language

It would be nice if keybinding's editorLangId recognised embedded languages.
Example (Python code embedded in a markdown document):

Set the following editorLangId == python keybinding in keybindings.json:

{
    "key": "ctrl+alt+shift+z",
    "command": "editor.action.commentLine",
    "when": "editorLangId == python && editorTextFocus && !editorReadonly"
}

Create a markdown file temp.md with the following content:
```python
x = 1
```

The command Developer: Inspect Editor Tokens and Scopes can be used to confirm that the language of the x = 1 line is Python.

Place the cursor on the x = 1 line and press the keybinding Ctrl+Alt+Shift+Z.

Actual behaviour
Nothing happens.
Desired behaviour
The keybinding works and so the line is commented.
Thank you!

Yes, this would be a very welcome feature and would approach achieve some of the awesome features of Emacs poly-mode.

This feature request is problematic to support because it can be implemented in two ways, both of which have problems:

force synchronous tokenization when moving the cursor in order to set the context value of editorLangId correctly. This means that very large files will freeze when moving the cursor.

do not force synchronous tokenization, and just set editorLangId to whatever happens to be the current language under the cursor, based on how tokenization has caught up. This means that the value editorLangId is not always correct, and is correct based on certain timings. So it is possible, for example, to make the same steps (like typing ```py\n in markdown) very quickly, and sometimes have the cursor believe it is in python, sometimes not, based on potentially random timings...

Hi @alexdima, thank you for considering and highlighting the challenges.

Above it’s noted that the two possible ways to implement this both have problems. Currently commenting lines uses the embedded language and I’ve never had any problems with that. Perhaps the same mechanism could be used to set editorLangId.


add manpage to Makefile

Cano's manpage will now be installed when running 'make install'

thanks!


drivers: qspi: added operation timeout

Cherry-picked from upstream.
Added Kconfig assignment of qspi timeout.
Per nrfx v3.2 addition of qspi timeout in config
struct.
Previous: https://github.com/nrfconnect/sdk-zephyr/pull/1428

There is now https://github.com/nrfconnect/sdk-zephyr/pull/1454, do you want to proceed with your PR or can you coin review there?

@hlord2000 There is now #1454, do you want to proceed with your PR or can you coin review there?

I will proceed with my PR as it addresses a separate issue. Will fix shortly.

@hlord2000 There is now #1454, do you want to proceed with your PR or can you coin review there?

I will proceed with my PR as it addresses a separate issue. Will fix shortly.

Ah sorry. Somehow I have managed to open the same issue twice and thought that these are the same.

@hlord2000 There is now #1454, do you want to proceed with your PR or can you coin review there?

I will proceed with my PR as it addresses a separate issue. Will fix shortly.

Ah sorry. Somehow I have managed to open the same issue twice and thought that these are the same.

Just updated. Any further changes required? Thanks!

@hlord2000 There is now #1454, do you want to proceed with your PR or can you coin review there?

I will proceed with my PR as it addresses a separate issue. Will fix shortly.

Ah sorry. Somehow I have managed to open the same issue twice and thought that these are the same.

Just updated. Any further changes required? Thanks!

You need one more PR, to the sdk-nrf, that will introduce the change. Something like
https://github.com/nrfconnect/sdk-nrf/pull/13667
so that the change gets tested, and then applied, to sdk-nrf.

@hlord2000 There is now #1454, do you want to proceed with your PR or can you coin review there?

I will proceed with my PR as it addresses a separate issue. Will fix shortly.

Ah sorry. Somehow I have managed to open the same issue twice and thought that these are the same.

Just updated. Any further changes required? Thanks!

You need one more PR, to the sdk-nrf, that will introduce the change. Something like nrfconnect/sdk-nrf#13667 so that the change gets tested, and then applied, to sdk-nrf.

https://github.com/nrfconnect/sdk-nrf/pull/13697

Hello @de-nordic are there any changes required from the sdk-nrf PR?

Hello @de-nordic are there any changes required from the sdk-nrf PR?

Fix the west, because it conflicts, and take it out of draft.

@hlord2000 You need to rebase this to the latest sdk-zephyr that the west you have already  rebased pointed to. Right now the sdk-nrf PR keeps failing on problems unrelated to this PR.

@hlord2000 You need to rebase this to the latest sdk-zephyr that the west you have already rebased pointed to. Right now the sdk-nrf PR keeps failing on problems unrelated to this PR.

The sdk-nrf PR is now passing. Thank you


Unable to send from curl when behind reverse proxy

I've got everything set up and working great in docker.
If i run the below command without a reverse proxy, it all works great
curl -u user:pass -H "X-Priority: 4" -T porch.jpg -H "Filename: /root/porch.jpg" -H "Title: Someone is at the door!" -H "Actions: view, Open Camera, https://user:pass@cameraurl domain.co.uk:82/doorbell
However if i use my reverse proxy and give it a url like ntfy.domain.co.uk (i'm using NginxProxyManager)
when running the above command, i get  "301 permanently moved" error in html
My server.yml is :
base-url: https://ntfy.domain.co.uk
listen-http: ":82"
auth-file: "/var/lib/ntfy/user.db"
auth-default-access: "deny-all"
behind-proxy: true
attachment-cache-dir: "/var/cache/ntfy/attachments"

Sounds like your proxy isn't proxying, but rather redirecting. Look at curl -v to see what's happening. Doesn't seem like a ntfy issue though. Feel free to close the ticket.

For everyone running into this, here is what the sample is like:
curl -d "Hi" mydomain.org/sandreas

If you are behind a proxy, this might not work. Instead you just have to fully qualify the URL:
curl -d "Hi" https://mydomain.org/sandreas

which made it work in my case.
Maybe this could be added to the example, if NTFY_BEHIND_PROXY=true...?


[harvester node driver] services are deploying, but are not working properly (i.e. nodeport)

Rancher Server Setup

Rancher version:v2.6-head(06e19b0)
Installation option (Docker install/Helm Chart):docker

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc):

Proxy/Cert Details:n/a

Information about the Cluster

Kubernetes version:any
Cluster Type (Local/Downstream):downstream

If downstream, what type of cluster? (Custom/Imported or specify provider for Hosted/Infrastructure Provider):harvester node driver

Describe the bug

nodes are not being removed on the backend when they are removed through rancher

To Reproduce

setup a harvester cluster
import the cluster into rancher via virtualization management
enable harvester node driver
provision an rke2 cluster using harvester node driver
deploy a workload with a service (i.e. nodeport) -- QA has a test for this if you need it

Result
service for the workload will deploy, but link is not generating for the service/link is not working through services -> nodeport link
Expected Result

services should work as they do for any other node driver

Screenshots

Additional context
also tested hostport, nodeport, clusterIP, loadbalancer, none of which are working properly

There are two services. The first one created automatically when adding the deployment does not work while the second one created manually works.
The second one has one more selector workloadID_ngx-nodeport: "true", which matches no pod.

@slickwarren can you confirm that's due to a wrong selector?

On 2.6.0
I see nodeport - deployment working. The additional selector as mentioned here in this comments is not added to the service that is created.

yes this is not harvester-specific, I will move this to reopened. it is happening with any rke2 setup

Available to test on v2.6-head after https://drone-publish.rancher.io/rancher/rancher/6600 passes.

On 2.6.1-rc9

Deploy a workload with nodeport enabled.
The service created has only selector workload.user.cattle.io/workloadselector=apps.deployment-default-test-new
And the nodeport hyperlinks are available and they work.


Feature request: Google Earth

Feature request via Chrome Web Store:
"I would love to see Earth View from Google Earth and CaretTab integrated."

Decided this would be out of the scope of this project. Trying to keep this extension fully compatible offline, and avoiding too many dependencies.


feat: add Hadley Garrett to /about page

PR Checklist

[x] Addresses an existing open issue: fixes N/A
[x] That issue was marked as status: accepting prs
[x] Steps in CONTRIBUTING.md were taken

Overview

✨

@all-contributors please add @hadleygarrett for code.

🤖 Beep boop! This comment was added automatically by all-contributors-auto-action.
Not all contributions can be detected from Git & GitHub alone. Please comment any missing contribution types this bot missed.
...and of course, thank you for contributing! 💙


Support uploading and downloading files

Add and list files

A box should be added in the chat's sidebar with a list of all files, and an add file button; also allow drag and drop for the whole page.

Proposed table:
files (
id,
userid,
channelid,
timecreated,
filename,
data,
index on channelid
)

add api functions:
get
get/id
post

model should have loadDataFromFilename()


feat(exporter-logs-otlp-grpc): implements otlp-grpc exporters for logs

Which problem is this PR solving?

[x] otlp-transformer for log records.
[x] exporter-logs-otlp-grpc

Short description of the changes

Added transformer for log records.
Cleaned up some unused code.
Improved test coverage of otlp-transformer.
Added new package exporter-logs-otlp-grpc

Type of change
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)
[x] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[x] Run the included unit tests.

Checklist:

[x] Followed the style guidelines of this project
[x] Unit tests have been added
[x] Documentation has been updated

Hi, thanks for your effort on thi PR, there is any prediction or deadline for this to be merged?
Thanks in advance.

Hi, thanks for your effort on thi PR, there is any prediction or deadline for this to be merged?
Thanks in advance.

That depends on #3549.

cc @dyladan @pichlermarc

I am still a bit confused about the purpose of Logs. Do I need to implement an exporter for winston, bunyan, pino etc? Or would I call logs-api in a custom transporter of these libraries and then create a logs exporter for the logs backend of choice e.g. Cloud Logging or Loki?

I am still a bit confused about the purpose of Logs. Do I need to implement an exporter for winston, bunyan, pino etc? Or would I call logs-api in a custom transporter of these libraries and then create a logs exporter for the logs backend of choice e.g. Cloud Logging or Loki?

This is just another logging framework like bunyan/winston/pino, which supports different backends by exporters.

@weyert The Logs API is currently intended for building appenders for existing logging frameworks, so that they can be exported to OTLP backends. The API is NOT intended to be called directly in instrumentations or user code. This is why it's currently called "Bridge API".
https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/bridge-api.md

Thanks, I'll refine the docs ASAP.
BTW, I see a lot of Copyright [yyyy] [name of copyright owner] in the LICENSE files, is it necessary to fix them?

BTW, I see a lot of Copyright [yyyy] [name of copyright owner] in the LICENSE files, is it necessary to fix them?

We can keep those as-is. As far as I know, modifying it would mean that we're modifying the Apache 2.0 license, which we should not do. The suggestion from the appendix there is actually applied in the eslint config :slightly_smiling_face:

Question, is this a http exporter as well?

Question, is this a http exporter as well?

No, only gRPC.

Question, is this a http exporter as well?

This PR publishes a draft of pre-merge operation!
https://github.com/open-telemetry/opentelemetry-js/pull/3755


Potential infinite loop detected - no handler for negative numbers - decimals to binary converter project

Describe the Issue
STEPS TO REPRODUCE:

Add a negative number to your app

RESULT:
Negative numbers are displayed as isNaN = false but the app displays NaN on the result field.
The user can see on the console if the application running through the website of freeCodeCamp
Potential infinite loop detected on line 32. Tests may fail if this is not changed.
If I copy html, css and js file to vc and run it stand-alone on the browser I see this on the console
Uncaught RangeError: Maximum call stack size exceeded
    at decimalToBinary (script.js:33:3)
    at decimalToBinary (script.js:36:12)
    at decimalToBinary (script.js:36:12)
    at decimalToBinary (script.js:36:12)
    at decimalToBinary (script.js:36:12)
    at decimalToBinary (script.js:36:12)
    at decimalToBinary (script.js:36:12)
    at decimalToBinary (script.js:36:12)
    at decimalToBinary (script.js:36:12)
    at decimalToBinary (script.js:36:12)
decimalToBinary @ script.js:33
decimalToBinary @ script.js:36
decimalToBinary @ script.js:36
decimalToBinary @ script.js:36
decimalToBinary @ script.js:36
...

Affected Page
https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures-v8/learn-recursion-by-building-a-decimal-to-binary-converter/step-109
Your code
const numberInput = document.getElementById("number-input");
const convertBtn = document.getElementById("convert-btn");
const result = document.getElementById("result");
const animationContainer = document.getElementById("animation-container");
const animationData = [
  {
    inputVal: 5,
    marginTop: 300,
    addElDelay: 1000,
    msg: 'decimalToBinary(5) returns "10" + 1 (5 % 2). Then it pops off the stack.',
    showMsgDelay: 15000,
    removeElDelay: 20000,
  },
  {
    inputVal: 2,
    marginTop: -200,
    addElDelay: 1500,
    msg: 'decimalToBinary(2) returns "1" + 0 (2 % 2) and gives that value to the stack below. Then it pops off the stack.',
    showMsgDelay: 10000,
    removeElDelay: 15000,
  },
  {
    inputVal: 1,
    marginTop: -200,
    addElDelay: 2000,
    msg: 'decimalToBinary(1) returns "1" (base case) and gives that value to the stack below. Then it pops off the stack.',
    showMsgDelay: 5000,
    removeElDelay: 10000,
  }
];

const decimalToBinary = (input) => {
  if (input === 0 || input === 1) {
    console.log("input ", input)
    console.log("input === 0 ", input === 0)
    console.log("input === 1 ", input === 1)

    return String(input);
  } else {
    const result = decimalToBinary(Math.floor(input / 2)) + (input % 2);
    console.log("result = >>>>>> ", result)
    return result
  }
};

const showAnimation = () => {
  result.innerText = "Call Stack Animation";

  animationData.forEach((obj) => {
    setTimeout(() => {
      animationContainer.innerHTML += `
        <p id="${obj.inputVal}" style="margin-top: ${obj.marginTop}px;" class="animation-frame">
          decimalToBinary(${obj.inputVal})
        </p>
      `;
    }, obj.addElDelay);

    setTimeout(() => {
      document.getElementById(obj.inputVal).textContent = obj.msg;
    }, obj.showMsgDelay);

    setTimeout(() => {
      document.getElementById(obj.inputVal).remove();
    }, obj.removeElDelay);
  });

  setTimeout(() => {

  }, 20000);
};

const checkUserInput = () => {
  const inputInt = parseInt(numberInput.value);
    console.log("inputInt=>>>>>", inputInt, " isNaN =>>>> ",isNaN(inputInt))
  if (!numberInput.value || isNaN(inputInt)) {
    alert("Please provide a decimal number");
    return;
  }

  if (inputInt === 5) {
    showAnimation();
    return;
  }

  result.textContent = decimalToBinary(inputInt);

  numberInput.value = "";
};

convertBtn.addEventListener("click", checkUserInput);

numberInput.addEventListener("keydown", (e) => {
  if (e.key === "Enter") {
    checkUserInput();
  }
});

Expected behavior
As far as I read on Google negative numbers can be converted to binary but it's the whole process,
Here is a clear example of how to do it at the bottom of the article: https://sciencing.com/calculate-binary-numbers-8267989.html
Screenshots
RESULT ON FREECODECAMP

RESULT WHEN COPIED TO LOCAL

System
Device: Laptop
OS: Windows 11 Home
Browser: Chrome
Version: 124.0.6367.61
Additional context
No response

hello ,
i want to ask ,
what output do you prefer for negative numbers for example :- take the number
"-7"
1st->-0111(this will be easy and changes in code will be less)
2nd->1001(2's complement , This method requires additional code. we can also try to make this recursive (non recursive is easy to understand ,clean and efficient but its recursion tutorial)   because we have to show recursive stack animation  ).
"Please reply to this. What output do you prefer for negative numbers?"

@Asadali00000
The first option is easy but I think that it's not right to teach people to do anything the wrong way. Campers come here to learn and they trust the system and what is given to them.
What output is preferred is the question to those brilliant minds of the people who created and worked on this project in the first place.
I'm still on the stage of making my brain comprehend how binaries work :) and it all thanks to this project to begin with.

If I remember correctly, I believe the originally design was to only account for positive numbers.
@scissorsneedfoodtoo  will probably know better about that then me.
But IMO, I think we should just add a not in the beginning for step 1 that this project will build out a binary converter for positive numbers.
Because the real goal is to reach recursion and not so much of teaching an in depth lesson on binary if that makes sense.
I will open this up for discussion so the rest of the team can chime in

Thanks for bringing this to our attention, @code-liana, and for taking the time to open up this issue.
As cool as it would be to update the algorithm to work with negative numbers, I agree with @jdwilkin4 that this project should focus more on recursion rather than going too much into decimal to binary conversion.
Like Jessica mentioned, we could adjust the text in step 1 to emphasize that this project will only convert positive numbers into binary. And while this would involve more changes, we could adjust the first if statement in the checkUserInput function to check if the number entered is less than 0, and tweak the alert message slightly.
Towards the beginning of the project the if statement could be something like the following:
if (!numberInput.value || isNaN(parseInt(numberInput.value)) || parseInt(numberInput.value) < 0) {
  alert("Please provide a decimal number greater than or equal to 0");
  return;
}

Then later after refactoring to use the inputInt variable, it could be something like:
if (!numberInput.value || isNaN(inputInt) || inputInt < 0) {
  alert("Please provide a decimal number greater than or equal to 0");
  return;
}

That seems like an easier solution than adding in another if statement to that function, and should prevent the loop protection from triggering.

I like that approach @scissorsneedfoodtoo
Let's go ahead and open this up for contribution


WIP: try getting hdf5 1.10.5

So that the hdf5 DLL shipped with morphio is compatible with the one shipped in h5py

retest this please


EC public key missing without no_public option

When converting private key with ec application without no_public option, output file is not containing public key if input file did not.
Example with following files:

key_pair.pem contains both keys
private_key_only.pem only contains private key

Running command:

openssl ec -in private_key_only.pem -out both_key_expected.pem

key_pair.pem:

-----BEGIN EC PARAMETERS-----
BggqhkjOPQMBBw==
-----END EC PARAMETERS-----
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIOXmWxnk7VKcouPkESKVJVGfallDUCt1gXxm8LtrtiKIoAoGCCqGSM49
AwEHoUQDQgAE5HuLUM0UTvDj2lNPLVaRpI3ekX4NJtpRSJ5A2M86OKqATBoOo0ZT
hclNG7WOC+fkuF71eTUdQKt+Ped+0n628g==
-----END EC PRIVATE KEY-----

private_key_only.pem:

-----BEGIN EC PRIVATE KEY-----
MDECAQEEIOXmWxnk7VKcouPkESKVJVGfallDUCt1gXxm8LtrtiKIoAoGCCqGSM49
AwEH
-----END EC PRIVATE KEY-----

both_key_expected.pem:

-----BEGIN EC PRIVATE KEY-----
MDECAQEEIOXmWxnk7VKcouPkESKVJVGfallDUCt1gXxm8LtrtiKIoAoGCCqGSM49
AwEH
-----END EC PRIVATE KEY-----

Output both_key_expected.pem only contains private key.

@richsalz moved pull request #5980 which fixes this issue to the 'Post 1.1.1' milestone six days ago . There was no reaction from @ugorenner  since then. So I'm going to move this issue, too.

This is already fixed in current master.

This is already fixed in current master.

This is already fixed in current master.

How was this fixed? There's no way to do this in the tree-master, 1.1.1k release, or 3.0.0-alpha13 release. The original bug report still behaves identically.
Just ran into this exact issue so I'm wondering if there was a new option added to force-enable the public key portion when writing out a private key from the command-line "openssl ec" tool, or is that only possible internally from the API at this time and just the tool needs updating with a new option?

There was AFAIK an autogeneration of the public key implemented in master at some point. But it is not there anymore. Reopening.

As the original patch submitted appears to have been entirely abandoned and it's author unresponsive entirely for years now, would a patch that actively re-constructs the public key on read if it's not included and the 'strip public' flag is not set be appropriate to submit w/ the appropriate CLA, etc?

Yes, PR would be considered. It should be done in the app as doing it in the library could have unwanted consequences.

Thank you again @t8m for encouraging me to dive in and fix this, the process was shockingly painless. Look forward to contributing again!

I hope that we do not give an impression that first-time contributions to OpenSSL are extraordinarily hard.
Closing the issue as it is resolved on master. Thank you again @WolfWings for the pull request.


Not installing on Node.js v4

Description
Node.js v4 does not support multiple es6 syntaxes used thought the helper methods
Steps to Reproduce

Install the package via npm i es6g-init or via cloning the repository

Expected behavior: Install the package
Actual behavior: Crashes with syntax error
Environment

OS: Windows 7 x64 Professional
Node: 4.4.2
Package version: 0.1.0
Dependencies versions: not applicable

This can be solved with either:

transpiling the install / helpers code (which means more dependencies)
removing support for Node v4 (which would make sense, since it's not longer the LTS)


feat(storage/benchmarks): control CRC32C/MD5 options

Sometimes we want to run a benchmark with fixed values for CRC32C and/or
MD5 hashing. This adds command line options to run the benchmarks with
either these options fixed to some value from the command-line, or to
chose a random value on each iteration (the default, as before).

This change is

google/cloud/storage/benchmarks/storage_throughput_vs_cpu_benchmark.cc, line 558 at r1 (raw file):

         options.enable_crc32c.clear();
         std::set<bool> crc32c;
         for (auto& token : absl::StrSplit(val, ',')) {

IIUC the argument is a list of bool, and the number of times "true" appears controls the probability that it will be enabled?
If we want to be able to control the probabilities, I'd have the flag take a number directly.
If we don't, limit the list size to 1 or 2 values, or maybe use "enabled, disabled, random" (so you don't have to spell the last one like "false,true")

running out for a bit but LG on my comment, I'll let greg LG the whole thing


[4.1][FEATURE] Allow delay on ajax calls for select fields

References #2387
Also select2 4.X deprecated quietMillis in favor of delay.

A new inspection was created.


"Delayed timebomb" bug in the Explorer module

Bug report:
OS: Windows Server 2012 R2
Sia version: Daemon 1.3.0
My Sia daemon with the explorer module active crashed when it reached a block around 133570 with this log:

(0/7) Loading siad...
(1/7) Loading gateway...
(2/7) Loading consensus...
(3/7) Loading explorer...
(4/7) Loading transaction pool...
(5/7) Loading wallet...
(6/7) Loading host...
(7/7) Loading renter...
Finished loading in 2.185519 seconds
panic: page 1095537 already freed
goroutine 8 [running]:
github.com/NebulousLabs/bolt.(*freelist).free(0xc042064b10, 0x209df, 0x38b761000
)
/home/luke/go/src/github.com/NebulousLabs/bolt/freelist.go:121 +0x2a1
github.com/NebulousLabs/bolt.(*node).spill(0xc047505f10, 0xc0447b3dc0, 0xde0d20)
/home/luke/go/src/github.com/NebulousLabs/bolt/node.go:363 +0x1e7
github.com/NebulousLabs/bolt.(*node).spill(0xc047505ea0, 0xc0447b3da0, 0xde0d20)
/home/luke/go/src/github.com/NebulousLabs/bolt/node.go:350 +0xbb
github.com/NebulousLabs/bolt.(*node).spill(0xc047505e30, 0x0, 0x0)
/home/luke/go/src/github.com/NebulousLabs/bolt/node.go:350 +0xbb
github.com/NebulousLabs/bolt.(*node).spill(0xc049ecc7e0, 0xc0481bad80, 0xc046f94
8f0)
/home/luke/go/src/github.com/NebulousLabs/bolt/node.go:350 +0xbb
github.com/NebulousLabs/bolt.(*Bucket).spill(0xc0463ef5c0, 0xc046f94a00, 0x8)
/home/luke/go/src/github.com/NebulousLabs/bolt/bucket.go:570 +0x182
github.com/NebulousLabs/bolt.(*Bucket).spill(0xc04485fdd8, 0x34df4998, 0xee9fe0)
/home/luke/go/src/github.com/NebulousLabs/bolt/bucket.go:537 +0x8ff
github.com/NebulousLabs/bolt.(*Tx).Commit(0xc04485fdc0, 0x0, 0x0)
/home/luke/go/src/github.com/NebulousLabs/bolt/tx.go:163 +0x12c
github.com/NebulousLabs/bolt.(*DB).Update(0xc0421623c0, 0xc044ce8dd0, 0x0, 0x0)
/home/luke/go/src/github.com/NebulousLabs/bolt/db.go:610 +0xfe
github.com/NebulousLabs/Sia/modules/explorer.(*Explorer).ProcessConsensusChange(
0xc042039f80, 0x98a776341c844602, 0xf976e5d2a600250, 0x89a266b20e335c9c, 0x9b4a5
c6db45bf4b1, 0x0, 0x0, 0x0, 0xc042143260, 0x1, ...)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/explorer/update.go
:280 +0x91
github.com/NebulousLabs/Sia/modules/consensus.(*ConsensusSet).updateSubscribers(
0xc04242c000, 0x0, 0x0, 0x0, 0xc0444dc260, 0x1, 0x1)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/consensus/subscrib
e.go:114 +0x17a
github.com/NebulousLabs/Sia/modules/consensus.(*ConsensusSet).managedAcceptBlock
s(0xc04242c000, 0xc0460fd800, 0xa, 0xa, 0x0, 0x0, 0x0)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/consensus/accept.g
o:338 +0x750
github.com/NebulousLabs/Sia/modules/consensus.(*ConsensusSet).managedReceiveBloc
ks(0xc04242c000, 0xde41c0, 0xc04b753100, 0x0, 0x0)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/consensus/synchron
ize.go:225 +0x5be
github.com/NebulousLabs/Sia/modules/consensus.(*ConsensusSet).(github.com/Nebulo
usLabs/Sia/modules/consensus.managedReceiveBlocks)-fm(0xde41c0, 0xc04b753100, 0x
0, 0x0)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/consensus/synchron
ize.go:445 +0x45
github.com/NebulousLabs/Sia/modules/gateway.(*Gateway).managedRPC(0xc042172000,
0xc042360780, 0x12, 0xaddb78, 0xa, 0xc042cbb070, 0x0, 0x0)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/gateway/rpc.go:66
+0x339
github.com/NebulousLabs/Sia/modules/gateway.(*Gateway).RPC(0xc042172000, 0xc0423
60780, 0x12, 0xaddb78, 0xa, 0xc042cbb070, 0x0, 0x0)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/gateway/rpc.go:76
+0xd8
github.com/NebulousLabs/Sia/modules/consensus.(*ConsensusSet).threadedInitialBlo
ckchainDownload.func1(0xc04242c000, 0xc046f95ef0, 0xc046f95eb0, 0xc046f95eb8, 0x
0, 0x0)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/consensus/synchron
ize.go:580 +0x133
github.com/NebulousLabs/Sia/modules/consensus.(*ConsensusSet).threadedInitialBlo
ckchainDownload(0xc04242c000, 0x0, 0x0)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/consensus/synchron
ize.go:601 +0x30e
github.com/NebulousLabs/Sia/modules/consensus.New.func1(0x1, 0xc04249fc60, 0xc04
242c000, 0xde4440, 0xc042172000)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/consensus/consensu
sset.go:151 +0x404
created by github.com/NebulousLabs/Sia/modules/consensus.New
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/consensus/consensu
sset.go:182 +0x641

Trying to start Sia again with the explorer module results in this crash:

(0/7) Loading siad...
(1/7) Loading gateway...
(2/7) Loading consensus...
(3/7) Loading explorer...
Closing consensus...
Closing gateway...
panic: page 554940 already freed
goroutine 1 [running]:
github.com/NebulousLabs/bolt.(*freelist).free(0xc0420d43c0, 0x209ff, 0x3077ac000
)
/home/luke/go/src/github.com/NebulousLabs/bolt/freelist.go:121 +0x2a1
github.com/NebulousLabs/bolt.(*node).spill(0xc0420765b0, 0xc04273cba0, 0xde0d20)
/home/luke/go/src/github.com/NebulousLabs/bolt/node.go:363 +0x1e7
github.com/NebulousLabs/bolt.(*node).spill(0xc042076540, 0xc04273cb80, 0xde0d20)
/home/luke/go/src/github.com/NebulousLabs/bolt/node.go:350 +0xbb
github.com/NebulousLabs/bolt.(*node).spill(0xc0420764d0, 0x0, 0x0)
/home/luke/go/src/github.com/NebulousLabs/bolt/node.go:350 +0xbb
github.com/NebulousLabs/bolt.(*node).spill(0xc042076460, 0x0, 0x0)
/home/luke/go/src/github.com/NebulousLabs/bolt/node.go:350 +0xbb
github.com/NebulousLabs/bolt.(*node).spill(0xc042054230, 0xc042b7ea58, 0x20)
/home/luke/go/src/github.com/NebulousLabs/bolt/node.go:350 +0xbb
github.com/NebulousLabs/bolt.(*Bucket).spill(0xc04200c780, 0xc042b7ec00, 0xc)
/home/luke/go/src/github.com/NebulousLabs/bolt/bucket.go:570 +0x182
github.com/NebulousLabs/bolt.(*Bucket).spill(0xc04215cd38, 0x1e67a5ac, 0xee9fe0)
/home/luke/go/src/github.com/NebulousLabs/bolt/bucket.go:537 +0x8ff
github.com/NebulousLabs/bolt.(*Tx).Commit(0xc04215cd20, 0x0, 0x0)
/home/luke/go/src/github.com/NebulousLabs/bolt/tx.go:163 +0x12c
github.com/NebulousLabs/bolt.(*DB).Update(0xc0420f4000, 0xc042027098, 0x0, 0x0)
/home/luke/go/src/github.com/NebulousLabs/bolt/db.go:610 +0xfe
github.com/NebulousLabs/Sia/modules/explorer.(*Explorer).ProcessConsensusChange(
0xc0420d4030, 0xa6e5609c3fc2d260, 0xdcbe9b5509c7e616, 0x2390483e255b3ec, 0xa0a18
c2f53730b90, 0x0, 0x0, 0x0, 0xc0423ba3c0, 0x1, ...)
/home/luke/go/src/github.com/NebulousLabs/Sia/modules/explorer/update.go
:280 +0x91
github.com/NebulousLabs/Sia/modules/consensus.(*ConsensusSet).managedInitializeS
ubscribe.func2(0xc04215c540, 0xb0b578, 0xc04215c540)

Starting Sia without the explorer module does not present any issue, but trying again the explorer will result in a crash. This makes me suspect the issue is not on consensus, but on explorer.
I tried to restore several backups of my Sia node (including the full installation, with consensus and explorer databases). The older one 10 days before the crash. All of them initialized correctly and started to index blocks to catch up the blockchain, however all of them crashed again with the same error at the same blockchain height around 133570. This is why I call this a "delayed timebomb" bug: the bug/corruption can be acquired several days or weeks ago (in my case, more than 10 days ago) and while it will keep working normally, it will provoke the irreversible crash at certain target block.
This has 2 additional pernicious effects:

No backup of a server can possibly restore an application that uses the explorer API and suffers this issue. The only solution is a fresh download and sync of the client. Considering the explorer + consensus syncing can take currently up to 2 days, that is a lot of downtime for applications. This is what is currently happening with SiaStats.info
No bootstrapping of the explorer or public repository of the database (in the same way as the consensus.db is kept by SiaHub) can be trusted, as it can be already corrupted and provoke a crash after some time.

Tbenz suggested me on Discord this issue could be related to #2413
The issue I am presenting, together with issue #2432  ,  are making me make very difficult to keep SiaStats.info reliably.

@aerrejon thanks for opening this, you describe the problem well and it's always useful to get a variety of logs for bugs like this.  I believe this is a duplicate of #2413 and this issue will likely be closed as a duplicate in an effort to keep GitHub relatively organized.  If you don't think this is a duplicate, please comment below.
Recommendation to devs: close as duplicate of #2413.

Sounds good @tbenz9. Thank you


Semantic errors in infer_ops.rs

Description in
https://github.com/adsharma/py2many/commit/8b90aba3d1f0e2814232356c22ed5f1a107a529d

To clarify, infer_ops output is copmared against the Python, however very little of the logic in infer_ops is checked by the runnable/printed code, so the results can be different for each language, and the test rig wont notice.  The fix for this issue needs to be expanded logic in infer_ops.py to verify all of the logic within it.

Rules C uses for integer conversions:
https://wiki.sei.cmu.edu/confluence/display/c/INT02-C.+Understand+integer+conversion+rules

This is further complicated by the fact that Rust and C use different rules for integer conversions:
#include <stdio.h>
#include <stdint.h>

int16_t add1(int8_t c1, int8_t c2) {
    return c1 + c2;
}

int main()
{
	int8_t c1 = 127;
	int8_t c2 = 100;

        printf("%d\n", add1(c1, c2));  // 227
}

fn add1(c1: i8, c2: i8) -> i16 {
    return (c1 + c2) as i16;
}

fn main()
{
	let c1: i8 = 127;
	let c2: i8 = 100;

        println!("{}", add1(c1, c2));  // -29
}

 'cpp' PASSED
 'dart' PASSED
 'go' FAILED
 'julia' FAILED
 'kotlin' FAILED
 'nim' FAILED
 'rust' FAILED

One possibility is to generate code in the other 5 languages to have semantics similar to C. Widen to int, perform the operation and then truncate. But the choice of "int" in the C standard seems arbitrary. We could widen to the next integer type with a greater rank that prevents overflow or underflow.
For this case:
def add3(c1: i32, c2: i32):
    return c1 + c2

int64_t add3(int32_t c1, int32_t c2) {
    return (int64_t) c1 + (int64_t) c2;
}

I was completely unaware of the "integer rank" concept in the C language. Glad that the concept matches what I came up with for py2many (RUST_WIDTH_RANK)


Total number of call log items decrease during the backup operation

Expected behaviour
One would expect that the app detects the number of items that need to be backed up and then backup them all.
Actual behaviour
In my case the total number of items decreases over time in a backup operation for call log. The backup operation started for 1057 items, but at the end that number downed to 1035.
Steps to reproduce the behaviour
In the attached archive is a recording of the phone screen during the backup operation.
You can see that number decreases from 1047 to 1044.
SVID_20180421_113621.zip

Please specify the following:

Android version: 8.0.0
Phone model / brand: Huawei P10
SMS Backup+ version installed: 1.5.10
Messaging app: Default

Log: https://gist.github.com/vladutm/a68f60bff490130c1cf4f45f8de6f03c
Only logs from 21-04 are relevant to this issue.

Is this the same behaviour as described in https://github.com/jberkel/sms-backup-plus/issues/716#issuecomment-368059096 ff?

I'm not sure it is the same behaviour since my issue is with call logs, not sms.
Even if the same logic as described in the comment you referenced would apply in this case, I would say that 22(1057-1035, the counter decreased by this amount) is quite small given i have ~1k call log items and only a hundred or so phone contacts and a few contacts with whom I talk multiple times a day, so there would be a lot more "Multi call log items".


Freezing of variables without quantifiers is broken

Following recent discussions about isMonoInst predicate I've been investigating examples bad3 and bad4. These examples should fail due to monomorphic instantiation constraint on non-GVal let-bound terms. But these examples have been failing even when this constraint was not implemented. It seems like the problem comes from a bug in freezing that leads to inserting bogus forall quantifiers:
Freezing variable f : {id=4, rank=1}.
 Trying to unifying variables:
  {id=38, structure=forall []. {id=4, rank=1}, rank=1}
  {id=20, structure=forall [{id=18, rank=-1}]. {id=19, structure=({id=18, rank=-1} -> {id=18, rank=-1}), rank=-1}, rank=1}

Freezing f results in forall []. {id=4, rank=1}, which in turn does not unify with forall [{id=18, rank=-1}]. .... This is wrong.

Fixed. bad3 is now rejected only if we apply the monomorphic instantiation constraint. Without that constraint it is incorrectly accepted.

Fixed. bad3 is now rejected only if we apply the monomorphic instantiation constraint. Without that constraint it is incorrectly accepted.

I am reopening this as a reminder to test freezing of types without quantifiers a bit more once #35 has been properly implemented. We need to make sure that freezing works correctly for unquantified types coming from monomorphising lets.


[Doc] Fix display issue of swagger doc

Incorrect display:

Fixed in https://github.com/apache/pulsar/pull/4901#event-2548070643


Access secured WebAPIs in Android

I am creating an Android application which uses Azure AD for authentication. I need to access some WebAPIs on the Azure server which is secured using Azure AD authentication. I am able to generate the token. When I try to access the WebAPI it gives an 401 unauthorized error.

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

ID: aecf9610-b6e2-75fc-a674-869d9b95702c
Version Independent ID: 360def71-eacf-185b-4f6d-41e60e57e610
Content: Getting started with Android - Microsoft identity platform
Content Source: articles/active-directory/develop/tutorial-v2-android.md
Service: active-directory
Sub-service: develop
GitHub Login: @danieldobalian
Microsoft Alias: jmprieur

@mfbhatt Can you please provide us the URL of the Azure doc that you are having issues with? We look forward to your reply.

https://github.com/Azure-Samples/ms-identity-android-native

Hi Bryan,
please find the link below
https://github.com/Azure-Samples/ms-identity-android-native
On Thu, May 30, 2019 at 6:34 PM Bryan Trach<EMAIL_ADDRESS>wrote:

@mfbhatt https://github.com/mfbhatt Can you please provide us the URL
of the Azure doc that you are having issues with? We look forward to your
reply.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/32431?email_source=notifications&email_token=AGHYHGBZAU3S5TPA62D5IADPYAF33A5CNFSM4HRFUQE2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWS7HSY#issuecomment-497415115,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGHYHGFIAHET42KFPDWIHA3PYAF33ANCNFSM4HRFUQEQ
.

--
Thanks & Regards,
Mohmmad Farooq Bhat
+91-9871720477

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

@mfbhatt I believe you have not given the permissions to your web api under "Web API" while registering your app.  Also, you need to make sure consent for any admin permissions if require.  I have tested the sample and it worked fine for me.

@mfbhatt We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Adding the library breaks build

adding your library breaks my build,
the log in output is
Invoke-customs are only supported starting with Android O (--min-api 26)
Message{kind=ERROR, text=Invoke-customs are only supported starting with Android O (--min-api 26), sources=[Unknown source file], tool name=Optional.of(D8)}

I would have to say my application is quite large and I already am using multidex
Info Required

Which version of the library do you actually use?
4.0.2
Do you have the localization permission granted?
yes
Are you sending parameters to the activity through the bundle?
N/A

appearantly library only works with Java 1.8
adding following line to build.gradle solved my problem
compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }


releases on curseforge not version marked

releases are marked Fabric and Java8 but not with compatible minecraft versions making them not show up on the right side of the curseforge release page.

Fixed


update renovate config to batch all non minor updates for Go and Python

ok to skip that check, we need to update to latest


Validation of QT-Opt

Hi Machina,
Great job in implementing the QT-Opt algorithm. This repo is the only full implementation of QT-Opt I found. Do you have validation results on the current implementation?
Thanks,
Lei

We tried QT-Opt on Pendulum and reacher (ReacherBulletEnv-v0), and we confirmed to learn as these graphs show (compared with TRPO). Input information is not image but default input information of the envs in these experiments.


(edgar) Fix compiling issues with latest GCC

With GCC >= 5, there are some new warnings/errors.  These are fixed by:

Adding -std=gnu89, since the default changed to -std=gnu11 in GCC 5
Some general code cleanup, to get GCC to stop complaining

personally, I've found too many issues compiling with host toolchains, that I only build inside a ChromiumOS chroot with Google's toolchain. Far lower risk of bricking that way.