[WIP] Multicluster test fixes

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: ymesika
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: zackbutcher
If they are not already assigned, you can assign the PR to them by writing /assign @zackbutcher in a comment when ready.
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:

tests/e2e/tests/pilot/OWNERS

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

@ymesika: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
612f6db40fe2fe11f017c53a93d4bf29a141ba68
link
/test istio-integ-k8s-tests

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.

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
612f6db40fe2fe11f017c53a93d4bf29a141ba68
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
612f6db40fe2fe11f017c53a93d4bf29a141ba68
link
/test istio-pilot-multicluster-e2e

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.

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
612f6db40fe2fe11f017c53a93d4bf29a141ba68
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
175f0ddd361e3043e60a082d722f5a9da4ad0e4a
link
/test istio-integ-k8s-tests

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.

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
612f6db40fe2fe11f017c53a93d4bf29a141ba68
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
175f0ddd361e3043e60a082d722f5a9da4ad0e4a
link
/test istio-integ-k8s-tests

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
175f0ddd361e3043e60a082d722f5a9da4ad0e4a
link
/test istio-pilot-e2e-envoyv2-v1alpha3

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.

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
612f6db40fe2fe11f017c53a93d4bf29a141ba68
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
175f0ddd361e3043e60a082d722f5a9da4ad0e4a
link
/test istio-integ-k8s-tests

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
175f0ddd361e3043e60a082d722f5a9da4ad0e4a
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/e2e_pilotv2_auth_sds.sh
175f0ddd361e3043e60a082d722f5a9da4ad0e4a
link
/test istio_auth_sds_e2e

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.

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
175f0ddd361e3043e60a082d722f5a9da4ad0e4a
link
/test istio-integ-k8s-tests

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
175f0ddd361e3043e60a082d722f5a9da4ad0e4a
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/e2e_pilotv2_auth_sds.sh
175f0ddd361e3043e60a082d722f5a9da4ad0e4a
link
/test istio_auth_sds_e2e

prow/istio-pilot-multicluster-e2e.sh
175f0ddd361e3043e60a082d722f5a9da4ad0e4a
link
/test istio-pilot-multicluster-e2e

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 NOT APPROVED
This pull-request has been approved by: ymesika
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: hklai
If they are not already assigned, you can assign the PR to them by writing /assign @hklai in a comment when ready.
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:

prow/OWNERS

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

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
175f0ddd361e3043e60a082d722f5a9da4ad0e4a
link
/test istio-integ-k8s-tests

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
175f0ddd361e3043e60a082d722f5a9da4ad0e4a
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/istio-pilot-multicluster-e2e.sh
175f0ddd361e3043e60a082d722f5a9da4ad0e4a
link
/test istio-pilot-multicluster-e2e

prow/e2e_pilotv2_auth_sds.sh
bc5f0c0662e28d09ab2149729ea09dcb1773f5b8
link
/test istio_auth_sds_e2e

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.

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e_pilotv2_auth_sds.sh
bc5f0c0662e28d09ab2149729ea09dcb1773f5b8
link
/test istio_auth_sds_e2e

prow/istio-pilot-multicluster-e2e.sh
bc5f0c0662e28d09ab2149729ea09dcb1773f5b8
link
/test istio-pilot-multicluster-e2e

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 NOT APPROVED
This pull-request has been approved by: ymesika
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: sebastienvas
If they are not already assigned, you can assign the PR to them by writing /assign @sebastienvas in a comment when ready.
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:

prow/OWNERS
tests/e2e/tests/pilot/OWNERS

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

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e_pilotv2_auth_sds.sh
bc5f0c0662e28d09ab2149729ea09dcb1773f5b8
link
/test istio_auth_sds_e2e

prow/istio-pilot-multicluster-e2e.sh
bc5f0c0662e28d09ab2149729ea09dcb1773f5b8
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
dcb914b65aa28e34e0be46c9e57ff964c1286bf2
link
/test istio-integ-k8s-tests

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.

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e_pilotv2_auth_sds.sh
bc5f0c0662e28d09ab2149729ea09dcb1773f5b8
link
/test istio_auth_sds_e2e

prow/istio-pilot-multicluster-e2e.sh
bc5f0c0662e28d09ab2149729ea09dcb1773f5b8
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
dcb914b65aa28e34e0be46c9e57ff964c1286bf2
link
/test istio-integ-k8s-tests

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
dcb914b65aa28e34e0be46c9e57ff964c1286bf2
link
/test istio-pilot-e2e-envoyv2-v1alpha3

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.

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
dcb914b65aa28e34e0be46c9e57ff964c1286bf2
link
/test istio-integ-k8s-tests

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
dcb914b65aa28e34e0be46c9e57ff964c1286bf2
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/istio-pilot-multicluster-e2e.sh
dcb914b65aa28e34e0be46c9e57ff964c1286bf2
link
/test istio-pilot-multicluster-e2e

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.

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
dcb914b65aa28e34e0be46c9e57ff964c1286bf2
link
/test istio-integ-k8s-tests

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
dcb914b65aa28e34e0be46c9e57ff964c1286bf2
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/istio-pilot-multicluster-e2e.sh
dcb914b65aa28e34e0be46c9e57ff964c1286bf2
link
/test istio-pilot-multicluster-e2e

prow/istio-unit-tests.sh
e4043926f69abb814578d33cade148b17203c30d
link
/test istio-unit-tests

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.

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
e4043926f69abb814578d33cade148b17203c30d
link
/test istio-unit-tests

prow/istio-pilot-multicluster-e2e.sh
e4043926f69abb814578d33cade148b17203c30d
link
/test istio-pilot-multicluster-e2e

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.

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
e4043926f69abb814578d33cade148b17203c30d
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
ff0795514d92aa7a6e78153a5c08f50be6089665
link
/test istio-integ-k8s-tests

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.

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
ff0795514d92aa7a6e78153a5c08f50be6089665
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
ff0795514d92aa7a6e78153a5c08f50be6089665
link
/test istio-pilot-multicluster-e2e

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.

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
ff0795514d92aa7a6e78153a5c08f50be6089665
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
aa615dc331e558a7813a7bd1da55bd41c408872e
link
/test istio-integ-k8s-tests

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 NOT APPROVED
This pull-request has been approved by: ymesika
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: sebastienvas
If they are not already assigned, you can assign the PR to them by writing /assign @sebastienvas in a comment when ready.
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:

prow/OWNERS
tests/OWNERS

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

@ymesika: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
a589a3283221a08be36c05fddfd4874d13470cac
link
/test istio-integ-k8s-tests

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.

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
a589a3283221a08be36c05fddfd4874d13470cac
link
/test istio-integ-k8s-tests

prow/e2e_pilotv2_auth_sds.sh
a589a3283221a08be36c05fddfd4874d13470cac
link
/test istio_auth_sds_e2e

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.

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
a589a3283221a08be36c05fddfd4874d13470cac
link
/test istio-integ-k8s-tests

prow/e2e_pilotv2_auth_sds.sh
a589a3283221a08be36c05fddfd4874d13470cac
link
/test istio_auth_sds_e2e

prow/istio-pilot-multicluster-e2e.sh
a589a3283221a08be36c05fddfd4874d13470cac
link
/test istio-pilot-multicluster-e2e

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.

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
a589a3283221a08be36c05fddfd4874d13470cac
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
7fc08ba2faa3628a669b48938592b6bfbeb88dca
link
/test istio-integ-k8s-tests

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.

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
7fc08ba2faa3628a669b48938592b6bfbeb88dca
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
7fc08ba2faa3628a669b48938592b6bfbeb88dca
link
/test istio-pilot-multicluster-e2e

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 NOT APPROVED
This pull-request has been approved by: ymesika
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: hklai
If they are not already assigned, you can assign the PR to them by writing /assign @hklai in a comment when ready.
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:

prow/OWNERS

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

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
7fc08ba2faa3628a669b48938592b6bfbeb88dca
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
afe6e5dbe6b72b29421555df707dddb37efd7e56
link
/test istio-integ-k8s-tests

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.

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
afe6e5dbe6b72b29421555df707dddb37efd7e56
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
afe6e5dbe6b72b29421555df707dddb37efd7e56
link
/test istio-pilot-multicluster-e2e

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 NOT APPROVED
This pull-request has been approved by: ymesika
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: sebastienvas
If they are not already assigned, you can assign the PR to them by writing /assign @sebastienvas in a comment when ready.
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:

install/OWNERS [ymesika]
prow/OWNERS

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

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
afe6e5dbe6b72b29421555df707dddb37efd7e56
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
20a882ddc34fc6c59394e3c124d0d2acc6991f31
link
/test istio-integ-k8s-tests

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.

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
20a882ddc34fc6c59394e3c124d0d2acc6991f31
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
20a882ddc34fc6c59394e3c124d0d2acc6991f31
link
/test istio-pilot-multicluster-e2e

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 NOT APPROVED
This pull-request has been approved by: ymesika
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: hklai
If they are not already assigned, you can assign the PR to them by writing /assign @hklai in a comment when ready.
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:

prow/OWNERS

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

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
20a882ddc34fc6c59394e3c124d0d2acc6991f31
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
717035d9d575b5ec4b4d9740f399d22762e4c2f5
link
/test istio-integ-k8s-tests

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.

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
717035d9d575b5ec4b4d9740f399d22762e4c2f5
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
717035d9d575b5ec4b4d9740f399d22762e4c2f5
link
/test istio-pilot-multicluster-e2e

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 NOT APPROVED
This pull-request has been approved by: ymesika
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: sebastienvas
If they are not already assigned, you can assign the PR to them by writing /assign @sebastienvas in a comment when ready.
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:

prow/OWNERS
tests/OWNERS

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

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
717035d9d575b5ec4b4d9740f399d22762e4c2f5
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
e62b79c949ddec68463c63630fc4ad3c84bebed1
link
/test istio-integ-k8s-tests

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.

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
e62b79c949ddec68463c63630fc4ad3c84bebed1
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
e62b79c949ddec68463c63630fc4ad3c84bebed1
link
/test istio-pilot-multicluster-e2e

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.

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
e62b79c949ddec68463c63630fc4ad3c84bebed1
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
74da074f3129341fbc486b30d89e4e63479cd78d
link
/test istio-integ-k8s-tests

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.

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
74da074f3129341fbc486b30d89e4e63479cd78d
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
74da074f3129341fbc486b30d89e4e63479cd78d
link
/test istio-pilot-multicluster-e2e

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.

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
74da074f3129341fbc486b30d89e4e63479cd78d
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
acb7d0a6e0eeb45cc72fd87894da97f8461bee96
link
/test istio-integ-k8s-tests

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.

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
acb7d0a6e0eeb45cc72fd87894da97f8461bee96
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
acb7d0a6e0eeb45cc72fd87894da97f8461bee96
link
/test istio-pilot-multicluster-e2e

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.

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
acb7d0a6e0eeb45cc72fd87894da97f8461bee96
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
acb7d0a6e0eeb45cc72fd87894da97f8461bee96
link
/test istio-pilot-multicluster-e2e

prow/e2e-simpleTests.sh
3ba96a696527ec01388c976c4f3b29629b9e79e2
link
/test e2e-simpleTests

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.

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
acb7d0a6e0eeb45cc72fd87894da97f8461bee96
link
/test istio-pilot-multicluster-e2e

prow/e2e-simpleTests.sh
3ba96a696527ec01388c976c4f3b29629b9e79e2
link
/test e2e-simpleTests

prow/istio-integ-k8s-tests.sh
3ba96a696527ec01388c976c4f3b29629b9e79e2
link
/test istio-integ-k8s-tests

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.

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests.sh
3ba96a696527ec01388c976c4f3b29629b9e79e2
link
/test e2e-simpleTests

prow/istio-integ-k8s-tests.sh
3ba96a696527ec01388c976c4f3b29629b9e79e2
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
3ba96a696527ec01388c976c4f3b29629b9e79e2
link
/test istio-pilot-multicluster-e2e

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 NOT APPROVED
This pull-request has been approved by: ymesika
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: hklai
If they are not already assigned, you can assign the PR to them by writing /assign @hklai in a comment when ready.
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:

install/OWNERS [ymesika]
prow/OWNERS
tests/OWNERS

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

@ymesika: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
3ba96a696527ec01388c976c4f3b29629b9e79e2
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
51338d521a22559da635d3ea6358b740a6e03c46
link
/test istio-integ-k8s-tests

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.


docs: add instructions with Rescript syntax

Since the old syntax doesn't compile in Rescript files, I added an example for a basic Styled Component with the rescript syntax. Did not figure out how to make the interpolation work, though.

I will refactor all the code-snippets and make the library ReScript ready. Thanks for the contribution, but It will touch all documentation and README.

Alright, gotcha! Just thought it'd help newcomers like myself get started with the library. This example would've saved me a bit of frustration and time. Even if it's not exhaustive as I presume your refactor is.
Thanks!


Improve accessibility

closes #735
NB: These changes were tested manually on chrome using the chromevox screen reader/extension

Note that a full-page form also doesn't focus on the first question. Is that also a problem with screen readers?

Forgive me, I'm jumping in here without a lot of context but this happened to catch my eye. I've found this slightly annoying myself. On a computer pressing tab once gets the expected focus but that's not very discoverable. On mobile it would be very nice to have the keyboard out and ready to go when starting a new record.
A related issue that I find even more problematic is what happens after submission in a non-single context. We're left at the bottom of the screen and have to manually scroll up and put focus on the first question to start a new record. Forms can have hundreds or thousands of questions so this can add a lot of friction. Even knowing this behavior I get confused so I expect it's an accessibility issue. I would expect that after a successful submission, the page scrolls to the top and the first question has focus. If this is worth following up on but doesn't feel related to this work, I'm happy to file a separate issue.

thanks @lognaturel!

e left at the bottom of the screen and have to manually scroll up and put focus on the first question

Interestingly, I never realized that and am not sure if this ever worked! I've added an issue here just in case, for scrolling: https://github.com/enketo/enketo-express/issues/248 (the scrolling likely needs a code change in enketo-express).
Wrt to focusing on the first question, I hadn't thought of the keyboard popping up on mobile browsers. I would have thought that undesirable (and that's maybe why we don't have this). So good to know that seems like a helpful thing to you, and I'd have no problem introducing this. We can always easily remove it again if it causes issues.
So if you agree @FrankApiyo, and if it is within your scope, please focus a one-page form on the first question as well.


”Lăpugiu de Jos” is listed in the drop-down menu

Description:
"Lăpugiu de Jos" is listed in the drop-down menu alongside its corresponding county and commune, according to the law.
Precondition:
The website is up an running.

Step 1
Type "Lăpugiu de Jos" in the search bar.

Expected results
The location is listed in the drop-down menu as "Comuna Lăpugiu de Jos, HUNEDOARA".


Handle relative image paths

Hi there,
It would be really useful to have relative image paths automatically resolved:
![image](./image.png)

I see the lib uses MarkdownIt; perhaps a plugin exists, or could be written?
I'm happy to take input, research and potentially PR this.

In the meantime, adding something to the docs on the recommended way to handle images would be great.
I think for now probably the best option is to put images in the public folder and refer to them with an absolute URL (but removing /public/. This is obviously not ideal though...

I am using the plugin within an Electron environment and thus have different absolute image path during development and after deploy. I would be fine with replacing image src on-the-fly before or after loading the markdown as Vue component. I was experimenting with the markdown option of the plugin, yet, it seems to replace the entire markdown rendering process? Anyway, handling relative image path properly would be a huge plus!


not able to sign in

Hi, I am interested in your tool and hope to install it. I saw in the README that I need to sign in and initialize the database.

However, when Ii try to sign in with the username and password you provided, it tells me the password is wrong.

Could you please help me solve this problem? Thanks in advance!
Best

Hi Hongxianglics,
I just tested this on my machine and worked as expected.  Not sure why its not working for you.
Maybe try manually settings the ADMIN_EMAIL and ADMIN_PASSWORD config parameters to something else and trying again?
Kind regards,
Will


BREAKING CHANGE - v3.0.0 - moved 'active' property to active-tab-id to defend against multiple active tabs etc

active-tab-id is now a 2-way binding allowing the active tab to be set and retrieved.
Fixed defect where the tab content elements didn't exist when updating the tab list.

BREAKING CHANGE:

Removed 'active' from the tab data, as allowed the possibility of more
than one 'active' tab.

(aside - I think this also fixes the issues from the other 2 auto generated PRs)


Question: where does the make-header come from?

Hi,
This is a question rather than issue.
Could you help me point out where does the make-header come from? It was used twice, but I didn't find where it is defined/imported.
https://github.com/rmculpepper/iracket/blob/9af0e87d61565a9ecb41119c481e7e36c0c5287d/private/jupyter.rkt#L33-L38

It's defined later in the same file by (define-struct/contract header ___).

Ah, yes, thanks!! I kind-of forgot that the define-struct syntax automatically defines make-XXX.


 As these strings are not used throughout the app I think we should remove them.
The main benefit is that it'll be easier to search for failures in the logs as the string resources have the text 'failed' in them which is annoying when going through Travis logs trying to find useful info.
Steps to reproduce:
Run a process manifest gradle task.
Logs:
> Task :app:processBetaReleaseManifest
warn: removing resource fr.free.nrw.commons.beta:string/contributions_subtitle without required default value.
warn: removing resource fr.free.nrw.commons.beta:string/login_failed_password without required default value.
warn: removing resource fr.free.nrw.commons.beta:string/login_failed_username without required default value.
warn: removing resource fr.free.nrw.commons.beta:string/media_detail_media_title without required default value.
warn: removing resource fr.free.nrw.commons.beta:string/multiple_uploads_title without required default value.
warn: removing resource fr.free.nrw.commons.beta:string/preference_tracking without required default value.
warn: removing resource fr.free.nrw.commons.beta:string/preference_tracking_summary without required default value.
warn: removing resource fr.free.nrw.commons.beta:string/share_license_summary without required default value.
warn: removing resource fr.free.nrw.commons.beta:string/starting_multiple_uploads without required default value.
warn: removing resource fr.free.nrw.commons.beta:string/upload_image_problem_duplicate without required default value.
warn: removing resource fr.free.nrw.commons.beta:string/uploads_pending_notification_indicator without required default value.
warn: removing resource fr.free.nrw.commons.beta:string/use_wikidata without required default value.

> Task :app:processProdDebugManifest
warn: removing resource fr.free.nrw.commons:string/contributions_subtitle without required default value.
warn: removing resource fr.free.nrw.commons:string/login_failed_password without required default value.
warn: removing resource fr.free.nrw.commons:string/login_failed_username without required default value.
warn: removing resource fr.free.nrw.commons:string/media_detail_media_title without required default value.
warn: removing resource fr.free.nrw.commons:string/multiple_uploads_title without required default value.
warn: removing resource fr.free.nrw.commons:string/preference_tracking without required default value.
warn: removing resource fr.free.nrw.commons:string/preference_tracking_summary without required default value.
warn: removing resource fr.free.nrw.commons:string/share_license_summary without required default value.
warn: removing resource fr.free.nrw.commons:string/starting_multiple_uploads without required default value.
warn: removing resource fr.free.nrw.commons:string/upload_image_problem_duplicate without required default value.
warn: removing resource fr.free.nrw.commons:string/uploads_pending_notification_indicator without required default value.
warn: removing resource fr.free.nrw.commons:string/use_wikidata without required default value.

Would you like to work on the issue?
No, but I would be happy to review.

Hey I am working on this

As these strings are not used throughout the app I think we should remove them.

As these strings are not used throughout the app I think we should remove them.

@domdomegg Do you mean removing their declaration in strings.xml.  Because on removing one of the listed string from strings.xml  contributions_subtitle . I found that it was used in some classes(like MainActivity for contributions_subtitle)
Have I misunderstood the Issue?

Ah I didn't know they were used - if that's the case a default value for them should be added to strings.xml so it stops complaining.

OK I'll do that :+1:

warn: removing resource fr.free.nrw.commons.beta:string/login_failed_password without required default value.
warn: removing resource fr.free.nrw.commons.beta:string/login_failed_username without required default value.

@domdomegg I didn't find these declarations in the latest master. Are you working on a different version?

I think these are in master. e.g. login_failed_username is present in values-af/strings.xml

@domdomegg I have raised a PR for this here. Kindly review :)


Adding RAABBVI to bbvi

#47

Codecov Report

Merging #48 (2743872) into master (1217425) will decrease coverage by 0.30%.
The diff coverage is 32.38%.

@@            Coverage Diff             @@
##           master      #48      +/-   ##
==========================================
- Coverage   89.87%   89.57%   -0.31%
==========================================
  Files          12       12
  Lines        1383     1477      +94
==========================================
+ Hits         1243     1323      +80
- Misses        140      154      +14

Impacted Files
Coverage Δ

viabel/approximations.py
72.49% <18.60%> (-17.74%)
:arrow_down:

viabel/convenience.py
89.33% <85.71%> (-0.81%)
:arrow_down:

viabel/tests/test_convenience.py
100.00% <100.00%> (ø)

viabel/optimization.py
94.82% <0.00%> (+13.41%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Allow multiple projects per issue

Feature Description
https://github.com/go-gitea/gitea/issues/12974
Screenshots
No response

Template commit in cc11e8f


Upstream part of smarter way to pick endpoints for dual-stack IPv4/v6 support

As @mattklein123 said at https://github.com/envoyproxy/envoy/issues/16123#issuecomment-825250584 the issue https://github.com/envoyproxy/envoy/issues/16123 can be separated into two parts: upstream and downstream.
The downstream part is about Support multiple addresses in the listener https://github.com/envoyproxy/envoy/issues/11184, and it is under review.
So it is time to look at the upstream part.
A little background here:
With multiple addresses in listener, it gets rid of the duplicated listeners. but since people want to choose endpoint smartly (ipv4 request choose ipv4 endpoint, ipv6 request choose ipv6 endpoint), still have to add duplicated config.

One way is using two duplicated filter chains to choose two duplicated clusters.
Another way is using the endpoint metadata to get rid of the duplicated clusters, it is a little improved but still, has two duplicated filter chains. The example config can be referenced here https://github.com/envoyproxy/envoy/pull/19367#issuecomment-1111613214

So I'm thinking there need three things to reach the final goal:

Choose a correct endpoint
This still can base on the endpoint metadata, but it needs to set the different metadata based on the downstream connection's IP version automatically. We can extend the HTTP Set-Metadata filter https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/set_metadata/v3/set_metadata.proto to support converting some variables (the variables like this https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_conn_man/headers#custom-request-response-headers) to the metadata. Like a new %IPVERSION% variable, then convert that variable to specific metadata. (maybe add a network filter also to support the TCP use case)
Choose a correct upstream local address
Since Istio using the upstream_bind_config in Cluster (https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/address.proto#envoy-v3-api-msg-config-core-v3-bindconfig) to set the upstream local address as <IP_ADDRESS> for the connection to the App, it will do the same thing for the IPv6 also. So we also need a way to choose the correct upstream local address. We can implement this by adding a new policy to the upstream_bind_config, allowing the binding of different local addresses based on the IP version.
Choose a correct endpoint for the dynamic proxy case or use the DNS name for the endpoint address.
I think this can be done by the HappyEyeballConnection. The dns_lookup_family will be set as ALL as the HappyEyeballConnection requirement https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/cluster/v3/cluster.proto#envoy-v3-api-enum-config-cluster-v3-cluster-dnslookupfamily
The HappyEyeballConnection will get both ipv4 and ipv6 addresses from the DNS, then we can add a new policy to allow it to choose the address based on the downstream IP version.
And this PR is on my radar https://github.com/envoyproxy/envoy/pull/21539, we can a new connection provider for it.

Appreciate any feedback and comments on this, let me know whether those proposals are enough for this use-case and correct for this usecase!

My 2 cents:

downstream metadata
Now that this v4/v6 selection is across protocols on top of TCP, it might worth encode metadata or filter state in listener.

upstream bind
Upstream bind need to be extended to provide multiple bind address for sure. In terms of consuming the new addresses, IMHO it is natual to bind v4 address if the v4 upstream address.

Not sure how much this is "entire driven by Istio" vs "Istio also had a use case", but IIUC we actually hadn't concluded on whether the correct approach was to ensure v4 downstream goes to v4 upstream or if they are decoupled.

Not sure how much this is "entire driven by Istio" vs "Istio also had a use case", but IIUC we actually hadn't concluded on whether the correct approach was to ensure v4 downstream goes to v4 upstream or if they are decoupled.

Thanks for the feedback! At least I think I shouldn't move this forward before istio has a conclusion here.
@jacob-delgado @zhlsunshine probably needs you guys' help to move the discussion on the istio side.

Envoy should allow a way for users to pick what's best for their project. There are other projects besides Istio that may need this capability and each should choose a way that fits their needs. I'm not sure if that's possible or if I just increased the scope by a lot, however.

In my opinion, it will make sense if the solution can help to reduce the consume and improve performance of Envoy for Istio dual stack support.

Our customers would like a "native ip" solution. IPv4 downstream should go to IPv4 upstream, if possible. Same for IPv6. There is some concern about underlying network issues by proxying across protocols.

I prefer to add a network filter to add metadata, it is generic and can be used for other usecase.

May I get some feedback from you @mattklein123 @ggreenway ? also @RyanTheOptimist for HappyEyeBallConnection, thanks in advance!

My understanding is that the use case is to support both v4 and v6 downstream and upstream, and use the matching version for the downstream and upstream connection. BUT, don't have two mostly-duplicate listeners and clusters. Is that summary correct?
Assuming it is correct, I'd say that this should be implemented with a downstream filter, as suggested by @soulxu, and subset load balancer in the cluster that has 2 subsets for the two IP versions.

My understanding is that the use case is to support both v4 and v6 downstream and upstream, and use the matching version for the downstream and upstream connection. BUT, don't have two mostly-duplicate listeners and clusters. Is that summary correct?

Yes, that is what I said also, thanks!

I guess this makes sense, though I still wonder why this is really necessary upstream. I get why we need it downstream.

Yes, this is good question. Therea are two cases I can imagine are:

An Ipv4 Application doesn't support Ipv6 client well
The Application tracking the clients based on the IP address. The loadbalance will switch the client address randomly between the ipv4 and ipv6 address.

@jacob-delgado append anything if you have.

Assuming it is correct, I'd say that this should be implemented with a downstream filter, as suggested by @soulxu, and subset load balancer in the cluster that has 2 subsets for the two IP versions.

This would work, though I wouldn't be against more first class support in which we have a mode in which we remember the downstream version (I guess this is really the point that we want them to match?), and use that to engage dual stack support for upstream sockets?

I thought the major thing is we need a way to create subset load balance and choose the correct subset. And the dynamic metadata endpoint is a mechanism to generate subset and select the subset in the existing envoy, so we can reuse it. The setting of metadata can be done at the listener directly or by a network filter.
Both their works for this case. If we do that with the listener, then it will be less code change although it core code change. If we do it with a filter, it will be a more generic feature, that can be used in different use cases if people want to select different endpoints based on the downstream variables.
Also note, that item #1 and #3 are for the use case of ipv4-to-ipv4 and ipv6-to-ipv6. Item #2 is used for people who want to bind a specific local address for upstream. For istio, it wants to bind to <IP_ADDRESS> for ipv4, there should be an Ipv6 address want to bind also, and that should be able to be selected automatically in a specified ipv4 address and a specified ipv6 address.  Otherwise, people still have to create duplicated clusters to bind different local addresses. Item #2 can be thought about separately.

I talked with a respected network solutions architect at F5, here's what he had to say as he understands the topic a lot better than I ever would:

A primary use-case is for those who support dual-stack with the goal of transitioning from IPv4 to IPv6.  In other words, they eventually want to migrate everything to IPv6, but there are legacy workloads that cannot be lifted.  IPv6 semantics are quite different from IPv4, so it's not as simple as just flipping a switch and getting to IPv6 on clients.  In this use-case, it is desirable to force as much traffic to utilize IPv6 as possible, rather than relying on an essentially arbitrary choice by the mesh.
As has been mentioned elsewhere, one may also wish to use IPv6 capabilities if the client knows that they are available.  For example, IPv6 header support is considerably more flexible than IPv4.  At some point, one may wish to utilize SRv6 -- for example -- in their system.  This is likely to be uncommon for typical application use-cases, but could be very relevant to Service Providers that are using Kubernetes workloads for value-added-service realization.  Moreover, the route path for IPv6 may differ from IPv4 if the traffic is leaving the cluster.  If the client "knows" this and wishes to take advantage of the path difference (for example, if there are different service available along the two paths), it needs to ensure IPv6 egressing the Pod.  Once again, this is likely to matter more to Service Providers than other consumers, but it is useful in that context.  For example, there is a provider in the real-world that has existing assets outside K8s that are nearly all IPv6-only.  Some K8s workloads are IPv4-only.  There are exposed services outside the cluster that these workloads must reach.
This provider, therefore, provides a stateful DNS46/NAT46 bridge for traffic exiting the cluster.  While useful, it adds considerable complexity.  If the client is IPv6 capable, it can bypass this extra proxied hop, and that is the desired eventual goal for all workloads in that cluster.

@mattklein123 gently ping

@mattklein123 gently ping

Sorry what input are you looking for?

@mattklein123 gently ping

Sorry what input are you looking for?

Sorry, both I and @jacob-delgado give some input at above for the reason why people want the ipv4 to ipv4 and ipv6 to ipv6. Do those reasons make sense and are something we want to support?

Sorry, both I and @jacob-delgado give some input at above for the reason why people want the ipv4 to ipv4 and ipv6 to ipv6. Do those reasons make sense and are something we want to support?

Kind of? Is there an actual customer that has a use case? I would rather not make changes here unless there is a blocked use case and then I would like to hear more about that specific use case.

Sorry, both I and @jacob-delgado give some input at above for the reason why people want the ipv4 to ipv4 and ipv6 to ipv6. Do those reasons make sense and are something we want to support?

Kind of? Is there an actual customer that has a use case? I would rather not make changes here unless there is a blocked use case and then I would like to hear more about that specific use case.

I believe AspenMesh/F5 has customer wants that, I leave this to @jacob-delgado
I think I can begin to prepare the item 2, it is a blocker for the dual-stack if people want to choose a local bind ipv4 and ipv6 address for upstream.

Yes I agree working on (2) makes sense to me and seems independent. For the rest I would prefer to wait until we here about a specific blocked use case? Is that ok?

Yes I agree working on (2) makes sense to me and seems independent. For the rest I would prefer to wait until we here about a specific blocked use case? Is that ok?

Thanks for all the feedback! that sounds good to me. For the rest, we also can see if @jacob-delgado has more input here.

We've been working lately with large telecommunication companies that have expressed apprehension about an approach that uses IPv4 downstream and IPv6 upstream.
These customers have setup packet captures endpoints both before and after each proxy to understand the behavior of their system (and to look for opportunities to optimize various settings even at the kernel level). Some settings, such things as MTU minimum requirements being 576 for IPv4 and 1280 bytes for IPv6, being different between the two protocols are concerning to them; for instance, what would this mean for buffering at the Recv-Q and Send-Q for Envoy in instances of short-lived, but high bandwidth connections as well as long-lived, but many short transactions connections?
They also aren't strictly using http/h2 for all services, but also need to handle raw TCP and TLS over TCP tunneled connections. There is some concern that it would be difficult for them to troubleshoot end to end connections and optimize for a long-term strategy of deprecating IPv4 within their systems.
However, I also think that this use case may be limited to them and those in this sector as they transition their networks to align with a CNCF ecosystem. That is why I'm suggesting this be user configurable, if possible. To the majority of users, they do not care if their connection is proxied over a different protocol upstream, as long as it works.

Yes I agree working on (2) makes sense to me and seems independent. For the rest I would prefer to wait until we here about a specific blocked use case? Is that ok?

It doesn't sound like there's any blocked use-case; it's just that to configure envoy to behave how they want, they would need an ipv4 listener -> ipv4 cluster, and ipv6 listener -> ipv6 cluster. So it sounds like the concern is the doubling of config size. So does it make sense to add a mechanism to avoid the duplicate config for this specific use-case, and is there anything more generally useful from this mechanism?

Yes I agree working on (2) makes sense to me and seems independent. For the rest I would prefer to wait until we here about a specific blocked use case? Is that ok?

It doesn't sound like there's any blocked use-case; it's just that to configure envoy to behave how they want, they would need an ipv4 listener -> ipv4 cluster, and ipv6 listener -> ipv6 cluster. So it sounds like the concern is the doubling of config size. So does it make sense to add a mechanism to avoid the duplicate config for this specific use-case, and is there anything more generally useful from this mechanism?

For the item1, I think it is enough to resolve the @jacob-delgado usecase, since their control plane is istio. The item 3 I added for completion for this case if people want to use it with DNS host name, but I think istio won't need that.
For the item1, as I propose above, we can add a network filter here, it will convert some l4 stream info into dynamic metadata, then people can use that for choosing the endpoint. It seems like a very generic mechanism, and seems can be used in many different use cases.


List of AudioSignal objects should be summable

Currently a list of AudioSignal objects is not summable. The behavior should be such that:
sum([signal1, signal2, signal3]) = signal1 + signal2 + signal3

Right now, it throws an error.

Fixed.


.same() doesn't use == to compare the scalars null and undefined

Docs https://github.com/isaacs/node-tap#samefound-wanted-message-extra say uses == for scalars.  Actually:
% cat _.js
var tap = require('tap');

tap.test('null same as undefined', function(t) {
  t.assert(null == undefined, 'eqeq');
  t.same(null, undefined, 'same');
  t.end();
});
% TAP_BAIL=1 node _.js
TAP version 13
    # Subtest: null same as undefined
    ok 1 - eqeq
    not ok 2 - same
      ---
      found: null
      wanted: null
      at:
        file: _.js
        line: 5
        column: 5
      source: |
        t.same(null, undefined, 'same');
      stack: |
        _.js:5:5
        Test.test (node_modules/tap/lib/test.js:346:27)
        Object.<anonymous> (_.js:3:5)
        node.js:948:3
      ...
    Bail out! # same
Bail out! # same

I wonder if this is triggered by the odd-ball typeof null being "object"?

fwiw, I'm looking to do t.XXX(x, null), instead of t.assert(x == null), so on failure what failed to meet expectations is printed. same() looked like the right one.


Bump to Xcode 14.3 and swift 5.8

Summary of changes

Bump to Xcode 14.3 and Swift 5.8 for our GA release

Checklist

[x] Added a changelog entry

Authors

@KunJeongPark

Can't figure out why Build/Swift Package Manager is failing.

This SDK supports Swift 5.7+. This SDK is written in Swift.

This line in the README needs to be updated, and this PR also needs a CHANGELOG entry

Note for future reference.
The issue was when we bumped the Swift version to 5.8, the deprecated function parameters for fetching paypalcheckout-ios didn't work properly. ( .package(name: "PayPalCheckout", url: "https://github.com/paypal/paypalcheckout-ios", .exact("1.1.0"))) When we used the new parameters (.package(url: "https://github.com/paypal/paypalcheckout-ios", from: "1.1.0")), there was no association between the package fetched and the package name declared in the Package.swift of native checkout package. So solution was explicit association  of the product and package names  in the dependency list for the PayPalNativePayments target.


Server crashes at startup

Describe the bug
Server crashes at startup
Steps to reproduce
Launch the server with forge 47.1.3 in 1.20.1
Logs
https://pastebin.com/apf1PB1D
Additional context
Hello,
We have a problem when adding ForgifiedFabricAPI to the server.
This seems to be linked to a compatibility problem with the waystone mod, which causes the server to crash on startup.
We are on version forge 47.1.3 in 1.20.1.
Thanks a lot!

By the looks of it, Balm makes a naughty move by registering creative tabs inside the deferred register value getter. Vanilla itself has a check for duplicate registry entries, but it only triggers in minecraft dev environments.
Our solution is pretty simple - ignoring duplicate ID checks for non-custom registries. In the Forgified FAPI, these should be handled by Forge / Vanilla. We should care about duplicate entries in custom registries we control.


I can`t set full html content with css

@vueup/vue-quill 1.0.0-beta.8
@vue 3.2.29
I want to edit in textarea field(with QuillEditor)  content from API which i get in HTML format with CSS classes.
I tried many solutions which i found on the internet. But no one works good.
I set in template:
<QuillEditor
                   ref="mainContent"
                   v-model:content="form.content"
                   style="min-height: 300px"
                   :options="editorOptions"
                   theme="snow"
                   content-type="html"
                                />

When i use:
this.$refs.mainContent.setHTML("
lol
");

I have error Uncaught TypeError: this.emitter is undefined and field are empty.
but when i use:
this.$refs.mainContent.pasteHTML("
lol
");

I get field content in html but css classes are striped and
 was swapped to
.
Can someone help me and tell what I need to do?

I believe this issue has to do with the way Quill handles pasted html. Not specific to this Vue wrapper library.
With that said, one workaround is to set your editor's default block type to 'DIV' before using setHTML.
const Block = Quill.import('blots/block');
Block.tagName = 'DIV';
Quill.register(Block, true);

this.$refs.mainContent.setHTML("
lol
");

If more configuration is needed, the Quill clipboard module is where I would start digging https://quilljs.com/docs/modules/clipboard


Error when muted destination sound channel

The quest queue works incorrectly when the selected sound output channel is muted. The models move endlessly, and pressing the play/pause button causes an error. Also, the button texture doesn't change. After unmuting the channel, nothing changes and heads continue infinitely animation.
You can mute the destination sound channel to reproduce this, just try to accept, turn in any quest or press the play button in the quest log.

Error on play/pause press

16x AI_VoiceOver/SoundQueue.lua:92: Usage: StopSound(soundHandleID, [optional: fadeout time in ms])
[string "=[C]"]: in function `StopSound'
[string "@AI_VoiceOver/SoundQueue.lua"]:92: in function `pauseQueue'
[string "@AI_VoiceOver/SoundQueueUI.lua"]:210: in function <AI_VoiceOver/SoundQueueUI.lua:205>

Locals:
(*temporary) = nil

Error on next sound in queue play after manually removing current sound from the queue

9x AI_VoiceOver/SoundQueue.lua:124: Usage: StopSound(soundHandleID, [optional: fadeout time in ms])
[string "=[C]"]: in function `StopSound'
[string "@AI_VoiceOver/SoundQueue.lua"]:124: in function `removeSoundFromQueue'
[string "@AI_VoiceOver/SoundQueue.lua"]:76: in function <AI_VoiceOver/SoundQueue.lua:75>

Locals:
(*temporary) = nil

Could someone confirm if this is still an issue?


The note refers to January 2024 in the future tense

Code of Conduct

[X] I have read and agree to the GitHub Docs project's Code of Conduct

What article on docs.github.com is affected?
https://docs.github.com/en/education/manage-coursework-with-github-classroom/teach-with-github-classroom/create-an-assignment-from-a-template-repository#:~:text=In January 2024%2C GitHub Classroom will change the way student repositories are created from starter code repositories
What part(s) of the article would you like to see updated?
Here is a sentence, "In January 2024, GitHub Classroom will change the way...".
But January 2024 has already passed, so we can't talk about it in the future tense
Additional information
it uses a reusable file - https://github.com/github/docs/blob/main/data/reusables/classroom/note-on-assignment-changes.md

@Denis-GH Apologies, didn't see this new issue until after your previous had been reopened. I'll go ahead and close out this issue given we've reopened https://github.com/github/docs/issues/33078 - thank you for submitting a new issue, though! 💛


Add GME for video game music support

This is a partial merge of the work by @Wohlstand referenced in #233.

~Grabs the latest GME from https://bitbucket.org/mpyne/game-music-emu/src/master/ (commit b3d158)~
Grabs music_gme.c and edits to music.c from https://github.com/WohlSoft/SDL-Mixer-X (commit bed335)
Modifies music_gme.c to use a new GME_StartTrack, which is simpler to work with than the "process string args" approach that exists in the fork. With this, a single Mix_Music handle can be used and its track changed at any time
Modifies music_gme.c to better match the code style in other files (probably could use more work here)

This is working for me when compiling with Emscripten and running in the browser. I verified these formats work:

gbs
nsf
spc
vgm

I don't have an m3u. There are probably other formats, but I couldn't find a list of what GME supports.
Unfortunately I'm not sure how to verify this would work on other platforms, hopefully someone can help out there. Particularly, I have no idea how to edit the configure file.

Don't worry about M3U at all, it's Playlist format. The Mixer intended to play individual files, not playlists. Also, keep a note that the proper support for multi-track files the path arguments sub-system is needed to be ported too. I made it to allow per-song settings being written as a small appendix to the input file path, or being passes as a separated string if using specific API calls and/or memory reading based stuff.

I thought it'd make the PR simpler for SDL_mixer maintainers to review without the path stuff. I'll wait for their input before either adding it back in this PR or doing it as a followup.

Adjusting configury is the easy part - and since you asked, here it is: patch_configure.txt
However: I don't think that this is acceptable as it is:

Adding a horde of someone else's c++ code to this tree is too much.
What might possibly be acceptable would be linking to a libgme: That part
is a new feature, and @slouken and/or @icculus should decide whether
they want that feature.

The c++ code doesn't even compile for me as it is: it seems to have a
lot of assumptions about c++0x (I guess), and with my old g++-4.9 with
-std=c++0x still doesn't accept the code. Not to mention its utterly broken
debug_printf macro. So, my arguments from the first part about adding
someone else's large amount of c++ crapola repeat here.

Warnings from music_gme.c
../src/codecs/music_gme.c:426: warning: ‘GME_SetTempo’ defined but not used
../src/codecs/music_gme.c:437: warning: ‘GME_GetTempo’ defined but not used
../src/codecs/music_gme.c:446: warning: ‘GME_GetTracksCount’ defined but not used
../src/codecs/music_gme.c:455: warning: ‘GME_SetTrackMute’ defined but not used

The c++ side: Without c++0x:
In file included from ../src/codecs/gme/Ay_Apu.h:7:0,
                 from ../src/codecs/gme/Ay_Apu.cpp:3:
../src/codecs/gme/blargg_common.h:55:2: warning: identifier 'nullptr' is a keyword in C++11 [-Wc++0x-compat]
  void clear() { free( begin_ ); begin_ = nullptr; size_ = 0; }
  ^
../src/codecs/gme/blargg_common.h: In member function 'void blargg_vector<T>::clear()':
../src/codecs/gme/blargg_common.h:55:42: error: 'nullptr' was not declared in this scope
  void clear() { free( begin_ ); begin_ = nullptr; size_ = 0; }
                                          ^
../src/codecs/gme/blargg_common.h: In member function 'T& blargg_vector<T>::operator[](size_t) const':
../src/codecs/gme/blargg_common.h:58:22: error: there are no arguments to 'assert' that depend on a template parameter, so a declaration of 'assert' must be available [-fpermissive]
   assert( n <= size_ ); // <= to allow past-the-end value
                      ^
../src/codecs/gme/blargg_common.h:58:22: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
In file included from ../src/codecs/gme/Ay_Apu.h:8:0,
                 from ../src/codecs/gme/Ay_Apu.cpp:3:
../src/codecs/gme/Blip_Buffer.h: At global scope:
../src/codecs/gme/Blip_Buffer.h:236:79: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11
  Blip_Synth<quality, range>           (const Blip_Synth<quality, range>  &) = delete;
                                                                               ^
../src/codecs/gme/Blip_Buffer.h:237:73: error: expected ',' or '...' before '&&' token
  Blip_Synth<quality, range>           (      Blip_Synth<quality, range> &&) = delete;
                                                                         ^
../src/codecs/gme/Blip_Buffer.h:237:79: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11
  Blip_Synth<quality, range>           (      Blip_Synth<quality, range> &&) = delete;
                                                                               ^
../src/codecs/gme/Blip_Buffer.h:237:79: error: invalid constructor; you probably meant 'Blip_Synth<quality, range> (const Blip_Synth<quality, range>&)'
../src/codecs/gme/Blip_Buffer.h:238:79: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11
  Blip_Synth<quality, range>& operator=(const Blip_Synth<quality, range> &)  = delete;
                                                                               ^
../src/codecs/gme/Blip_Buffer.h: In member function 'void Blip_Synth<quality, range>::offset_resampled(blip_resampled_time_t, int, Blip_Buffer*) const':
../src/codecs/gme/Blip_Buffer.h:347:78: error: there are no arguments to 'assert' that depend on a template parameter, so a declaration of 'assert' must be available [-fpermissive]
  assert( (blip_long) (time >> BLIP_BUFFER_ACCURACY) < blip_buf->buffer_size_ );
                                                                              ^
In file included from ../src/codecs/gme/Ay_Apu.cpp:3:0:
../src/codecs/gme/Ay_Apu.h: In member function 'void Ay_Apu::osc_output(int, Blip_Buffer*)':
../src/codecs/gme/Ay_Apu.h:86:35: error: 'assert' was not declared in this scope
  assert( (unsigned) i < osc_count );
                                   ^
../src/codecs/gme/Ay_Apu.h: In member function 'void Ay_Apu::end_frame(blip_time_t)':
../src/codecs/gme/Ay_Apu.h:102:28: error: 'assert' was not declared in this scope
  assert( last_time >= time );
                            ^
../src/codecs/gme/Ay_Apu.cpp: In member function 'void Ay_Apu::write_data_(int, int)':
../src/codecs/gme/Ay_Apu.cpp:122:38: error: 'assert' was not declared in this scope
  assert( (unsigned) addr < reg_count );
                                      ^
../src/codecs/gme/Ay_Apu.cpp:127:52: warning: left operand of comma operator has no effect [-Wunused-value]
    debug_printf( "Wrote to I/O port %02X\n", (int) addr );
                                                    ^
In file included from ../src/codecs/gme/Ay_Apu.cpp:16:0:
../src/codecs/gme/Ay_Apu.cpp: In member function 'void Ay_Apu::run_until(blip_time_t)':
../src/codecs/gme/blargg_source.h:19:38: error: 'assert' was not declared in this scope
 #define require( expr ) assert( expr )
                                      ^
../src/codecs/gme/Ay_Apu.cpp:166:2: note: in expansion of macro 'require'
  require( final_end_time >= last_time );
  ^
In file included from ../src/codecs/gme/Ay_Apu.h:8:0,
                 from ../src/codecs/gme/Ay_Apu.cpp:3:
../src/codecs/gme/Blip_Buffer.h: In instantiation of 'void Blip_Synth<quality, range>::offset_resampled(blip_resampled_time_t, int, Blip_Buffer*) const [with int quality = 12; int range = 1; blip_resampled_time_t = unsigned int]':
../src/codecs/gme/Blip_Buffer.h:457:64:   required from 'void Blip_Synth<quality, range>::offset(blip_time_t, int, Blip_Buffer*) const [with int quality = 12; int range = 1; blip_time_t = int]'
../src/codecs/gme/Ay_Apu.cpp:278:51:   required from here
../src/codecs/gme/Blip_Buffer.h:347:78: error: 'assert' was not declared in this scope
  assert( (blip_long) (time >> BLIP_BUFFER_ACCURACY) < blip_buf->buffer_size_ );
                                                                              ^
make: *** [build/Ay_Apu.lo] Error 1

With c++0x:
In file included from ../src/codecs/gme/Ay_Apu.h:7:0,
                 from ../src/codecs/gme/Ay_Apu.cpp:3:
../src/codecs/gme/blargg_common.h:55:2: warning: identifier 'nullptr' is a keyword in C++11 [-Wc++0x-compat]
  void clear() { free( begin_ ); begin_ = nullptr; size_ = 0; }
  ^
../src/codecs/gme/blargg_common.h: In member function 'void blargg_vector<T>::clear()':
../src/codecs/gme/blargg_common.h:55:42: error: 'nullptr' was not declared in this scope
  void clear() { free( begin_ ); begin_ = nullptr; size_ = 0; }
                                          ^
../src/codecs/gme/blargg_common.h: In member function 'T& blargg_vector<T>::operator[](size_t) const':
../src/codecs/gme/blargg_common.h:58:22: error: there are no arguments to 'assert' that depend on a template parameter, so a declaration of 'assert' must be available [-fpermissive]
   assert( n <= size_ ); // <= to allow past-the-end value
                      ^
../src/codecs/gme/blargg_common.h:58:22: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
In file included from ../src/codecs/gme/Ay_Apu.h:8:0,
                 from ../src/codecs/gme/Ay_Apu.cpp:3:
../src/codecs/gme/Blip_Buffer.h: At global scope:
../src/codecs/gme/Blip_Buffer.h:236:79: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11
  Blip_Synth<quality, range>           (const Blip_Synth<quality, range>  &) = delete;
                                                                               ^
../src/codecs/gme/Blip_Buffer.h:237:73: error: expected ',' or '...' before '&&' token
  Blip_Synth<quality, range>           (      Blip_Synth<quality, range> &&) = delete;
                                                                         ^
../src/codecs/gme/Blip_Buffer.h:237:79: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11
  Blip_Synth<quality, range>           (      Blip_Synth<quality, range> &&) = delete;
                                                                               ^
../src/codecs/gme/Blip_Buffer.h:237:79: error: invalid constructor; you probably meant 'Blip_Synth<quality, range> (const Blip_Synth<quality, range>&)'
../src/codecs/gme/Blip_Buffer.h:238:79: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11
  Blip_Synth<quality, range>& operator=(const Blip_Synth<quality, range> &)  = delete;
                                                                               ^
../src/codecs/gme/Blip_Buffer.h: In member function 'void Blip_Synth<quality, range>::offset_resampled(blip_resampled_time_t, int, Blip_Buffer*) const':
../src/codecs/gme/Blip_Buffer.h:347:78: error: there are no arguments to 'assert' that depend on a template parameter, so a declaration of 'assert' must be available [-fpermissive]
  assert( (blip_long) (time >> BLIP_BUFFER_ACCURACY) < blip_buf->buffer_size_ );
                                                                              ^
In file included from ../src/codecs/gme/Ay_Apu.cpp:3:0:
../src/codecs/gme/Ay_Apu.h: In member function 'void Ay_Apu::osc_output(int, Blip_Buffer*)':
../src/codecs/gme/Ay_Apu.h:86:35: error: 'assert' was not declared in this scope
  assert( (unsigned) i < osc_count );
                                   ^
../src/codecs/gme/Ay_Apu.h: In member function 'void Ay_Apu::end_frame(blip_time_t)':
../src/codecs/gme/Ay_Apu.h:102:28: error: 'assert' was not declared in this scope
  assert( last_time >= time );
                            ^
../src/codecs/gme/Ay_Apu.cpp: In member function 'void Ay_Apu::write_data_(int, int)':
../src/codecs/gme/Ay_Apu.cpp:122:38: error: 'assert' was not declared in this scope
  assert( (unsigned) addr < reg_count );
                                      ^
../src/codecs/gme/Ay_Apu.cpp:127:52: warning: left operand of comma operator has no effect [-Wunused-value]
    debug_printf( "Wrote to I/O port %02X\n", (int) addr );
                                                    ^
In file included from ../src/codecs/gme/Ay_Apu.cpp:16:0:
../src/codecs/gme/Ay_Apu.cpp: In member function 'void Ay_Apu::run_until(blip_time_t)':
../src/codecs/gme/blargg_source.h:19:38: error: 'assert' was not declared in this scope
 #define require( expr ) assert( expr )
                                      ^
../src/codecs/gme/Ay_Apu.cpp:166:2: note: in expansion of macro 'require'
  require( final_end_time >= last_time );
  ^
In file included from ../src/codecs/gme/Ay_Apu.h:8:0,
                 from ../src/codecs/gme/Ay_Apu.cpp:3:
../src/codecs/gme/Blip_Buffer.h: In instantiation of 'void Blip_Synth<quality, range>::offset_resampled(blip_resampled_time_t, int, Blip_Buffer*) const [with int quality = 12; int range = 1; blip_resampled_time_t = unsigned int]':
../src/codecs/gme/Blip_Buffer.h:457:64:   required from 'void Blip_Synth<quality, range>::offset(blip_time_t, int, Blip_Buffer*) const [with int quality = 12; int range = 1; blip_time_t = int]'
../src/codecs/gme/Ay_Apu.cpp:278:51:   required from here
../src/codecs/gme/Blip_Buffer.h:347:78: error: 'assert' was not declared in this scope
  assert( (blip_long) (time >> BLIP_BUFFER_ACCURACY) < blip_buf->buffer_size_ );
                                                                              ^
make: *** [build/Ay_Apu.lo] Error 1

Removed the GME folder, having the user link against the library is better.
re: the unused functions for tempo, is there a preference for adding additional methods to Mix_MusicInterface in this PR to expose setting the speed, or as a separate PR?

A separate PR would be best.

P.S. Late reply to @sezero about GME compilation: it requires the C++11 support by the compiler side, and elder GCCs obviously lack the support for it. The -std=c++11 is mainly used to build the thing. Also, using CMake build provided by the mainstream version, or my custom minified CMake build at my AudioCodecs aggregation repo. I don't remind, but something worked at GCC 4.8 or not, I do remind about my other C++11 project, not speaking about GME that probably also failed, and I installed the system-wide version from packages or something also...

P.S. Late reply to @sezero about GME compilation: it requires the C++11

The mainstream code does compile for me using gcc4.9 (its cmake specifically adds -std=c++11)

Here are some clean-ups:

gme_disable_echo is not in mainstream yet, only a pull request: remove.
GME_HAS_SET_AUTOLOAD_PLAYBACK_LIMIT isn't defined anywhere: Safest way
would be a GME_VERSION check. And unlike what is documented in gme.h, it
is in 0.6.3 and newer, not 0.6.2.
Followin commit ecce55a in master, the macOS case needs revising.

Patch attached: patch1.txt, and also inlined below:
diff --git a/src/codecs/music_gme.c b/src/codecs/music_gme.c
index 841a86c..3b44ef8 100644
--- a/src/codecs/music_gme.c
+++ b/src/codecs/music_gme.c
@@ -44,7 +44,6 @@ typedef struct {
     void (*gme_set_fade)(Music_Emu*, int start_msec);
 #endif
     void (*gme_set_autoload_playback_limit)(Music_Emu*, int do_autoload_limit);
-    void (*gme_disable_echo)(Music_Emu*, int disable);
     gme_err_t (*gme_track_info)(Music_Emu const*, gme_info_t** out, int track);
     void (*gme_free_info)(gme_info_t*);
     gme_err_t (*gme_seek)(Music_Emu*, int msec);
@@ -61,7 +60,8 @@ static gme_loader gme;
     if (gme.FUNC == NULL) { SDL_UnloadObject(gme.handle); return -1; }
 #else
 #define FUNCTION_LOADER(FUNC, SIG) \
-    gme.FUNC = FUNC;
+    gme.FUNC = FUNC; \
+    if (gme.FUNC == NULL) { Mix_SetError("Missing GME.framework"); return -1; }
 #endif

 static int GME_Load(void)
@@ -72,13 +72,6 @@ static int GME_Load(void)
         if (gme.handle == NULL) {
             return -1;
         }
-#elif defined(__MACOSX__)
-        extern gme_err_t gme_open_data(void const*,long,Music_Emu**,int) __attribute__((weak_import));
-        if (gme_open_data == NULL) {
-            /* Missing weakly linked framework */
-            Mix_SetError("Missing GME.framework");
-            return -1;
-        }
 #endif
         FUNCTION_LOADER(gme_open_data, gme_err_t (*)(void const*,long,Music_Emu**,int))
         FUNCTION_LOADER(gme_track_count, int (*)(Music_Emu const*))
@@ -100,19 +93,11 @@ static int GME_Load(void)
         FUNCTION_LOADER(gme_delete, void (*)(Music_Emu*))
 #if defined(GME_DYNAMIC)
         gme.gme_set_autoload_playback_limit = (void (*)(Music_Emu*,int)) SDL_LoadFunction(gme.handle, "gme_set_autoload_playback_limit");
-#elif defined(GME_HAS_SET_AUTOLOAD_PLAYBACK_LIMIT)
+#elif (GME_VERSION >= 0x000603)
         gme.gme_set_autoload_playback_limit = gme_set_autoload_playback_limit;
 #else
         gme.gme_set_autoload_playback_limit = NULL;
 #endif
-
-#if defined(GME_DYNAMIC)
-        gme.gme_disable_echo = (void (*)(Music_Emu*,int)) SDL_LoadFunction(gme.handle, "gme_disable_echo");
-#elif defined(GME_HAS_DISABLE_ECHO)
-        gme.gme_disable_echo = gme_disable_echo;
-#else
-        gme.gme_disable_echo = NULL;
-#endif
     }
     ++gme.loaded;

GME_HAS_SET_AUTOLOAD_PLAYBACK_LIMIT

This is a part of the CMake-side auto-check result I wrote to detect compatible ABI, there are older GME versions that lack this call, and without this call, on newer GME some songs won't loop when expected they will loop.

GME_HAS_SET_AUTOLOAD_PLAYBACK_LIMIT

This is a part of the CMake-side auto-check result I wrote to detect compatible ABI,

In any case, the GME_VERSION check I used above should be equivalent and enough.

there are older GME versions that lack this call, and without this call, on newer GME some songs won't loop when expected they will loop.

Should require at least version 0.6.3 and newer then? (I guess that would be too much but...)

Should we require at least version 0.6.3 and newer then? (I guess that would be too much but...)

There are several copies of the 0.6.3 version without this call, I know that because I long time watching for the GME side, and I met compilation errors at some machines when using GME out of my own build (taken from the mainstream repo and later)

There are several copies of the 0.6.3 version without this call,

Eh?? Can you give links?

(taken from the mainstream repo and later)

I can't even download release tarballs linked at main bitbucket site (OpenSSL errors)

Eh?? Can you give links?

Can't remind, you if they were found at package managers or there are was middle versions of 0.6.3 while its development process

Looked at fedora and ubuntu sources for 0.6.3, they have the gme_set_autoload_playback_limit
call, and so does the 0.6.3 tag in mainstream git, therefore the above check should be good.

Some news: no need to remove SPC Echo-related usage, because my pull request got been finally merged: https://bitbucket.org/mpyne/game-music-emu/pull-requests/30, now it's the mainstream part.

The OP (@connorjclark) seems to have lost interest?

I'll try to find the time this evening to apply the suggested patches.

Some news: no need to remove SPC Echo-related usage, because my pull request got been finally merged: bitbucket.org/mpyne/game-music-emu/pull-requests/30, now it's the mainstream part.

Would you like to handle this in a new PR? I wouldn't know how to test this.

I'll try to find the time this evening to apply the suggested patches.

OK good.
While doing that I suggest that you drop changes to configure itself:
I will regenerate that for you, so only concern yourself with configure.ac

Some news: no need to remove SPC Echo-related usage, because my pull request got been finally merged: bitbucket.org/mpyne/game-music-emu/pull-requests/30, now it's the mainstream part.

Would you like to handle this in a new PR? I wouldn't know how to test this.

There is no code at all using gme_disable_echo in here: we remove it for
the time being. If music_gme.c gets real use of it then we can think about
what to do with that.
Here are the patches that need applying (same as above but repeated here
for convenience, and with changes to generated configure file dropped):

Fixes to configure.ac: patch-01.txt
Fixes / cleanups to music_gme.c (patch file has explanations): patch-02.txt

There is no code at all using gme_disable_echo in here: we remove it for
the time being. If music_gme.c gets real use of it then we can think about
what to do with that.

On my side I already use it: I do apply various sound effects using Mix_SetPostMix() call and siblings, and when I play SPC files, their built-in echo conflicts with effects I do apply on my side, they result in the mess. So, that option I introduced, allows disabling the native echo effect of SPC files, making them play in plain form. This resolves the conflict with custom sound effects of the echo and reverb family.

@slouken: Do we want this feature?

I'm not opposed to it, although the official library page says that it's on maintenance life support rather than being actively maintained. Do we have examples of games that use this music format? Are there good test files that we can use to verify the functionality?

The Zelda Classic game engine (github) uses GME to enable its game creators to leverage tons of video game music in their own games. I recently ported this engine to the web, using SDL as the backend (and a fork of SDL_mixer with this patch to support GME).
Here's one example game using gbs music: https://hoten.cc/zc/play/?quest=623/Rite+of+the+Storm/Rite+of+the+Storm.qst . You'll see the gbs file is downloaded once the title sequence for the game loads (sorry, you'll have to wait for the page to download some things first)

I have access to a few dozen files in these various formats, should I add a few for test cases?

The set of test files, crafted by various people (and two of them crafted by me a while ago):
test-spc-files.zip
Also, very important note, I forgot to tell you: on my side, through path arguments its possible to set the so-called "gaining factor" - its multiplier of the volume level, it allows to make too silent music sound louder and allows to calm down too loud music, making it a bit quite. Initially, I also hadn't the gaining factor, but with a time people noticed that it's VERY important to add it because there are lots of chiptunes that sound too quiet with default output. The constant gaining factor is not suitable, because, among silent files, there are opposite loud files that may cause clip-on integer output formats.

Any other changes needed?

Looking at this again, every music interface other than music_gme have
the StartTrack and GetNumTracks fields uninitialized: they should be.
Here is a patch (attached and also inlined below) which does that, and
also makes a tiny clean-up in music_gme. patch-03.txt
diff -u a/src/codecs/music_gme.c b/src/codecs/music_gme.c
--- a/src/codecs/music_gme.c
+++ b/src/codecs/music_gme.c
@@ -1,6 +1,6 @@
 /*
   SDL_mixer:  An audio mixer library based on the SDL library
-  Copyright (C) 1997-2020 Sam Lantinga<EMAIL_ADDRESS>+  Copyright (C) 1997-2022 Sam Lantinga<EMAIL_ADDRESS>
   This software is provided 'as-is', without any express or implied
   warranty.  In no event will the authors be held liable for any damages
@@ -124,7 +124,6 @@
     Music_Emu* game_emu;
     int freesrc;
     SDL_bool has_track_length;
-    int echo_disabled;
     int track_length;
     int intro_length;
     int loop_length;
@@ -432,7 +431,7 @@
     GME_Play,
     NULL,   /* IsPlaying */
     GME_PlayAudio,
-    NULL,       /* Jump */
+    NULL,   /* Jump */
     GME_Seek,
     GME_Tell,
     GME_Duration,
@@ -449,6 +448,5 @@
-
     GME_StartTrack,
-    GME_GetNumTracks,
+    GME_GetNumTracks
 };

-#endif /* MUSIC_GME */
\ No newline at end of file
+#endif /* MUSIC_GME */
diff --git a/src/codecs/music_cmd.c b/src/codecs/music_cmd.c
index a293f92..444f342 100644
--- a/src/codecs/music_cmd.c
+++ b/src/codecs/music_cmd.c
@@ -298,7 +298,9 @@ Mix_MusicInterface Mix_MusicInterface_CMD =
     MusicCMD_Stop,
     MusicCMD_Delete,
     NULL,   /* Close */
-    NULL    /* Unload */
+    NULL,   /* Unload */
+    NULL,   /* StartTrack   */
+    NULL    /* GetNumTracks */
 };

 #endif /* MUSIC_CMD */
diff --git a/src/codecs/music_drflac.c b/src/codecs/music_drflac.c
index 635e975..67f6fce 100644
--- a/src/codecs/music_drflac.c
+++ b/src/codecs/music_drflac.c
@@ -414,7 +414,9 @@ Mix_MusicInterface Mix_MusicInterface_DRFLAC =
     DRFLAC_Stop,
     DRFLAC_Delete,
     NULL,   /* Close */
-    NULL    /* Unload */
+    NULL,   /* Unload */
+    NULL,   /* StartTrack   */
+    NULL    /* GetNumTracks */
 };

 #endif /* MUSIC_FLAC_DRFLAC */
diff --git a/src/codecs/music_drmp3.c b/src/codecs/music_drmp3.c
index 7af022d..5f75f2f 100644
--- a/src/codecs/music_drmp3.c
+++ b/src/codecs/music_drmp3.c
@@ -287,7 +287,9 @@ Mix_MusicInterface Mix_MusicInterface_DRMP3 =
     DRMP3_Stop,
     DRMP3_Delete,
     NULL,   /* Close */
-    NULL    /* Unload */
+    NULL,   /* Unload */
+    NULL,   /* StartTrack   */
+    NULL    /* GetNumTracks */
 };

 #endif /* MUSIC_MP3_DRMP3 */
diff --git a/src/codecs/music_flac.c b/src/codecs/music_flac.c
index 2e19d80..60b2e54 100644
--- a/src/codecs/music_flac.c
+++ b/src/codecs/music_flac.c
@@ -748,13 +748,15 @@ Mix_MusicInterface Mix_MusicInterface_FLAC =
     FLAC_LoopStart,
     FLAC_LoopEnd,
     FLAC_LoopLength,
-    FLAC_GetMetaTag,/* GetMetaTag */
+    FLAC_GetMetaTag,
     NULL,   /* Pause */
     NULL,   /* Resume */
     FLAC_Stop,   /* Stop */
     FLAC_Delete,
     NULL,   /* Close */
-    FLAC_Unload
+    FLAC_Unload,
+    NULL,   /* StartTrack   */
+    NULL    /* GetNumTracks */
 };

 #endif /* MUSIC_FLAC_LIBFLAC */
diff --git a/src/codecs/music_fluidsynth.c b/src/codecs/music_fluidsynth.c
index 49d9699..39c633a 100644
--- a/src/codecs/music_fluidsynth.c
+++ b/src/codecs/music_fluidsynth.c
@@ -368,7 +368,9 @@ Mix_MusicInterface Mix_MusicInterface_FLUIDSYNTH =
     FLUIDSYNTH_Stop,
     FLUIDSYNTH_Delete,
     NULL,   /* Close */
-    FLUIDSYNTH_Unload
+    FLUIDSYNTH_Unload,
+    NULL,   /* StartTrack   */
+    NULL    /* GetNumTracks */
 };

 #endif /* MUSIC_MID_FLUIDSYNTH */
diff --git a/src/codecs/music_modplug.c b/src/codecs/music_modplug.c
index aca5d5e..f1744eb 100644
--- a/src/codecs/music_modplug.c
+++ b/src/codecs/music_modplug.c
@@ -368,7 +368,9 @@ Mix_MusicInterface Mix_MusicInterface_MODPLUG =
     MODPLUG_Stop,
     MODPLUG_Delete,
     NULL,   /* Close */
-    MODPLUG_Unload
+    MODPLUG_Unload,
+    NULL,   /* StartTrack   */
+    NULL    /* GetNumTracks */
 };

 #endif /* MUSIC_MOD_MODPLUG */
diff --git a/src/codecs/music_mpg123.c b/src/codecs/music_mpg123.c
index a8198d8..4b23c34 100644
--- a/src/codecs/music_mpg123.c
+++ b/src/codecs/music_mpg123.c
@@ -539,7 +539,9 @@ Mix_MusicInterface Mix_MusicInterface_MPG123 =
     MPG123_Stop,
     MPG123_Delete,
     MPG123_Close,
-    MPG123_Unload
+    MPG123_Unload,
+    NULL,   /* StartTrack   */
+    NULL    /* GetNumTracks */
 };

 #endif /* MUSIC_MP3_MPG123 */
diff --git a/src/codecs/music_nativemidi.c b/src/codecs/music_nativemidi.c
index 22fbcc0..408881e 100644
--- a/src/codecs/music_nativemidi.c
+++ b/src/codecs/music_nativemidi.c
@@ -113,7 +113,9 @@ Mix_MusicInterface Mix_MusicInterface_NATIVEMIDI =
     NATIVEMIDI_Stop,
     NATIVEMIDI_Delete,
     NULL,   /* Close */
-    NULL    /* Unload */
+    NULL,   /* Unload */
+    NULL,   /* StartTrack   */
+    NULL    /* GetNumTracks */
 };

 #endif /* MUSIC_MID_NATIVE */
diff --git a/src/codecs/music_ogg.c b/src/codecs/music_ogg.c
index 16af47b..15688ac 100644
--- a/src/codecs/music_ogg.c
+++ b/src/codecs/music_ogg.c
@@ -548,7 +548,9 @@ Mix_MusicInterface Mix_MusicInterface_OGG =
     OGG_Stop,
     OGG_Delete,
     NULL,   /* Close */
-    OGG_Unload
+    OGG_Unload,
+    NULL,   /* StartTrack   */
+    NULL    /* GetNumTracks */
 };

 #endif /* MUSIC_OGG */
diff --git a/src/codecs/music_ogg_stb.c b/src/codecs/music_ogg_stb.c
index b33f38e..c19e523 100644
--- a/src/codecs/music_ogg_stb.c
+++ b/src/codecs/music_ogg_stb.c
@@ -477,7 +477,9 @@ Mix_MusicInterface Mix_MusicInterface_OGG =
     OGG_Stop,
     OGG_Delete,
     NULL,   /* Close */
-    NULL    /* Unload */
+    NULL,   /* Unload */
+    NULL,   /* StartTrack   */
+    NULL    /* GetNumTracks */
 };

 #endif /* MUSIC_OGG */
diff --git a/src/codecs/music_opus.c b/src/codecs/music_opus.c
index c298095..d1048a8 100644
--- a/src/codecs/music_opus.c
+++ b/src/codecs/music_opus.c
@@ -519,7 +519,9 @@ Mix_MusicInterface Mix_MusicInterface_Opus =
     OPUS_Stop,
     OPUS_Delete,
     NULL,   /* Close */
-    OPUS_Unload
+    OPUS_Unload,
+    NULL,   /* StartTrack   */
+    NULL    /* GetNumTracks */
 };

 #endif /* MUSIC_OPUS */
diff --git a/src/codecs/music_timidity.c b/src/codecs/music_timidity.c
index 5822c4b..cdc3916 100644
--- a/src/codecs/music_timidity.c
+++ b/src/codecs/music_timidity.c
@@ -289,7 +289,9 @@ Mix_MusicInterface Mix_MusicInterface_TIMIDITY =
     TIMIDITY_Stop,
     TIMIDITY_Delete,
     TIMIDITY_Close,
-    NULL    /* Unload */
+    NULL,   /* Unload */
+    NULL,   /* StartTrack   */
+    NULL    /* GetNumTracks */
 };

 #endif /* MUSIC_MID_TIMIDITY */
diff --git a/src/codecs/music_xmp.c b/src/codecs/music_xmp.c
index 39d46c3..057ac7f 100644
--- a/src/codecs/music_xmp.c
+++ b/src/codecs/music_xmp.c
@@ -431,7 +431,9 @@ Mix_MusicInterface Mix_MusicInterface_XMP =
     XMP_Stop,
     XMP_Delete,
     NULL,   /* Close */
-    XMP_Unload
+    XMP_Unload,
+    NULL,   /* StartTrack   */
+    NULL    /* GetNumTracks */
 };

 #endif /* MUSIC_MOD_XMP */
diff --git a/src/codecs/music_wav.c b/src/codecs/music_wav.c
index e4140c2..11b92af 100644
--- a/src/codecs/music_wav.c
+++ b/src/codecs/music_wav.c
@@ -931,8 +931,7 @@ static SDL_bool LoadWAVMusic(WAV_Music *wave)
         if (chunk_length == 0)
             break;

-        switch (chunk_type)
-        {
+        switch (chunk_type) {
         case FMT:
             found_FMT = SDL_TRUE;
             if (!ParseFMT(wave, chunk_length))
@@ -1135,7 +1134,6 @@ static SDL_bool LoadAIFFMusic(WAV_Music *wave)
         return SDL_FALSE;
     }

-
     wave->samplesize = channels * (samplesize / 8);
     wave->stop = wave->start + channels * numsamples * (samplesize / 8);

@@ -1259,7 +1257,9 @@ Mix_MusicInterface Mix_MusicInterface_WAV =
     WAV_Stop, /* Stop */
     WAV_Delete,
     NULL,   /* Close */
-    NULL    /* Unload */
+    NULL,   /* Unload */
+    NULL,   /* StartTrack   */
+    NULL    /* GetNumTracks */
 };

 #endif /* MUSIC_WAV */

OK, I have nothing further.
The source files and any necessary defines & etc will still need adding to
cmake, msvc and xcode project files, but those can be done later.

OK, I have nothing further.
The source files and any necessary defines & etc will still need adding to cmake, msvc and xcode project files, but those can be done later.

@slouken: Further review and final decision is for you.

New conflict now... But good for merging otherwise?

Speaking about security, some year ago I watched Michael Pyne made a lot of tweaks and updates to resolve such problems, and I also helped him to fix the HES support that was broken accidentally. The topic you linked was made in 2016 and marked as resolved.

@smcv As I understand it, for every subsystem of SDL_mixer the code is only compiled if requested. So by default, this wouldn't be introducing any security vulnerabilities. In other words, it's to the discretion of the library user, and if they want GME at all they are already fine with the risk.

@slouken branch updated.

Updated!

Build failure seems unrelated: Could NOT find libxmp

I recently pushed libxmp related updates for the cmake script.
So perhaps you need to rebase on top of current master.

Anything else I can do?

music_wavpack.c:Mix_MusicInterface_WAVPACK is missing the NULL entries
for the new GetNumTracks and StartTrack members.

@slouken: Is this good to go?

@slouken: Is this good to go?

Yep!

@madebr: this will need cmake'ry from you. Note that gme is disabled by default in autotools, gme git repo is https://bitbucket.org/mpyne/game-music-emu.git and it requires C++11 to build.

Will libsdl-org vendor it?

Note that gme is disabled by default in autotools

It can be used if installed into the system as a shared library, isn't it a problem?

Will libsdl-org vendor it?

If we want it? And I guess we do, since we do that for all other libs, and it's also possible that we may apply patches: @slouken?

Note that gme is disabled by default in autotools

It still can be used if installed into the system as a shared library, isn't it a problem?

I don't understand the question here? Are we talking about the same thing?
GME option is disabled by default, because it isn't a very common necessity.
It can be enabled at build time by --enable-music-gme configury switch.

Vendoring would allow us to include it in a sdl_mixer android archive, if we ever publish it on a public maven server.

Vendoring would allow us to include it in a sdl_mixer android archive, if we ever publish it on a public maven server.

OK, I went ahead and imported that bitbucket repository as https://github.com/libsdl-org/game-music-emu
No SDL-specific branch there: To be created, tweaked, etc, by whoever.


Command Line Database Installation Error: Mismatched Versions and Central Directory Problem

Describe the bug
I am encountering an error while attempting to create a database using the command line.
To Reproduce
Steps to reproduce the behavior:

Clone the repository.
Navigate to the dancinggoat folder.
Run the command dotnet restore.
Execute the command to install the database. (i.e, dotnet kentico-xperience-dbmanager -- -s "<sql_server_name>" -d "<database_name>" -a "<admin_password>" --hash-string-salt "<hash_string_salt>" --license-file "<license_file_path>")
See error.

Expected behavior
I expected the database to be installed successfully without any errors.
Library Version
The full version of the library or integration you experienced the issue with 29.3.3
Desktop (please complete the following information):

OS: Windows 11
Browser: chrome
Version: 130.0.6723.59 (Official Build) (64-bit)

Additional context
The error message I received is: "Error installing the database. Original message: Number of entries expected in End Of Central Directory does not correspond to number of entries in Central Directory."
After encountering the error, the database is created but with database version '28.4.3'. While running the project, I am getting the exception: System.NotSupportedException: 'The database version '28.4.3' does not match the project version '29.3.3', please check your connection string.'

Hello!
Your issue is unrelated to the Lucene integration which provides search functionality for Xperience by Kentico projects. Please contact support with your issue.


Fix icon package leak

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 95.575%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
177

Relevant Lines:
182

💛  - Coveralls


name a was shadowed

Warning found:
in module Data.List.Lazy.Types
at .psc-package/psc-0.12.3/lists/v5.4.0/src/Data/List/Lazy/Types.purs:199:12 - 199:13 (line 199, column 12 - line 199, column 13)

  Name a was shadowed.

See https://github.com/purescript/documentation/blob/master/errors/ShadowedName.md for more information,
or to contribute content related to this warning.

It looks like you might be using a 0.12.3 package set with 0.13. This warning was fixed as part of the 5.4.1 releas of purescript-lists.

tnx for quick reply)


Inconsistent ordering of recs

@swh00tw did you preserve the ordering of articles from the previous frontend?
#36  is the issue where we set the ordering to be fixed and consistent
Currently, the feed ordering is not consistent. See images below. Even refreshes of exactly the same page can return the different orderings.

This is the right ordering fort his feed from the old interface:


[GPII-4057]: Use bundler with Stackdriver

Merge after https://github.com/gpii-ops/exekube/pull/67.

LGTM

LGTM, but will need a new tag (0.9.3 has been used already).


Manage app - "add app" button looks broken in FF

In firefox, the button to add custom apps looks broken in Firefox
Firefox 77, Win10
URL: https://safe-team-mainnet.staging.gnosisdev.com/app/#

What screen resolution do you have? It looks fine for me in Firefox on a 4k screen

I think it's applicable for all browser if you make window size smaller

Oh, this must be because of window's scrollbar width

Yes, that's why

I would close this one since it's too minor too fix right now. I think our layout isn't responsive in many places since we never put emphasis on it.