Use proper options when running CATs on Eirini

Is your feature request related to a problem? Please describe.
CATs fail on Eirini. We need to run only CATs that make sense and should be green when running on Eirini deployments.
Describe the solution you'd like
Look here on how this can be implemented:
(https://github.com/SUSE/catapult/blob/master/modules/tests/kubecf-test.sh#L139).

Upstream eirini team was using these: https://github.com/cloudfoundry-incubator/eirini-ci/blob/09dcce6d9e900f693dfc1a6da70b5a526cf7de18/pipelines/dhall-modules/jobs/run-core-cats.dhall#L52-L86

Started adding support for the Eirini cats suite here: https://github.com/SUSE/catapult/commits/cats_eirini

capi_experimental has been removed: https://github.com/cloudfoundry/cf-acceptance-tests/pull/383/commits/00fe329ab742a9ce31039d627e3aa62c95e607a1
Running v3 should be enough.

credhub has been replaced by: credhub_mode, credhub_location, credhub_client, credhub_secret
https://github.com/cloudfoundry/cf-acceptance-tests/commit/0823b205764bdedb720f5a94a627b6e6c1f0beba
https://github.com/cloudfoundry/cf-acceptance-tests/commit/e28bfaed9e5fd2154580ae53b223ecd865eed131

I'm debugging and fixing various CAT failures here: https://github.com/jimmykarily/cf-acceptance-tests/compare/master..fix_eirini_cats
For now I'm finding workarounds trying to understand what the problem is. Before we try to upstream we need proper fixes for all problems (e.g. the loggregator bridge missing logs).

Test results summary so far:
`Summarizing 11 Failures:
[Fail] [apps] Environment Variables Groups Staging environment variable groups [It] Applies environment variables while staging apps
/../cf-acceptance-tests/apps/environment_variables_group.go:135
[Fail] [apps] Healthcheck when the healthcheck is set to none [It] starts up successfully
/../cf-acceptance-tests/apps/healthcheck.go:50
[Fail] [credhub] service bindings during staging [BeforeEach] [non-assisted credhub]  still contains CredHub references in VCAP_SERVICES
/../cf-acceptance-tests/credhub/service_bindings.go:121
[Fail] [credhub] service bindings during staging [BeforeEach] [assisted credhub]  has CredHub references in VCAP_SERVICES interpolated
/../cf-acceptance-tests/credhub/service_bindings.go:121
[Fail] [credhub] service bindings during runtime service bindings to credhub enabled broker [assisted credhub]  [BeforeEach] the broker returns credhub-ref in the credentials block
/../cf-acceptance-tests/credhub/service_bindings.go:121
[Fail] [credhub] service bindings during runtime service bindings to credhub enabled broker [assisted credhub]  [BeforeEach] the bound app gets CredHub refs in VCAP_SERVICES interpolated
/../cf-acceptance-tests/credhub/service_bindings.go:121
[Fail] [credhub] service keys when a service key for a service instance is requested from a CredHub-enabled broker [It] Cloud Controller retrieves the value from CredHub for the service key
/../cf-acceptance-tests/credhub/service_keys.go:96
[Fail] [apps] loggregator cf logs [It] exercises basic loggregator behavior
/Users/jeffreybunagan/lahat/workspace/cf-acceptance-tests/apps/loggregator.go:84
[Fail] [apps] loggregator cf logs --recent [It] makes loggregator buffer and dump log messages
/../cf-acceptance-tests/apps/loggregator.go:94
[Fail] [apps] Logging Syslog drains [It] forwards app messages to registered syslog drains
/../cf-acceptance-tests/apps/syslog_drain.go:141
[Fail] [apps] Buildpack cache [It] uses the buildpack cache after first staging
/../cf-acceptance-tests/apps/buildpack_cache.go:144
Ran 57 of 211 Specs in 1962.438 seconds
FAIL! -- 46 Passed | 11 Failed | 1 Pending | 153 Skipped`
Using config json:
{   "api": "api.kubecf-ci-more-cats-eirini-0-0-3.gcpenv.dev",   "apps_domain": "kubecf-ci-more-cats-eirini-0-0-3.gcpenv.dev",   "admin_user": "admin",   "admin_password": "..",   "artifacts_directory": "logs",   "skip_ssl_validation": true,   "timeout_scale": 4,   "use_http": true,   "use_log_cache": true,   "include_apps": true,   "include_backend_compatibility": false,   "include_capi_no_bridge": false,   "include_container_networking": false,   "credhub_mode" : "assisted",   "credhub_client": "credhub_admin_client",   "credhub_secret": "..",   "include_detect": false,   "include_docker": false,   "include_internet_dependent": false,   "include_internetless": false,   "include_isolation_segments": false,   "include_private_docker_registry": false,   "include_route_services": false,   "include_routing": false,   "include_tcp_routing": false,   "include_routing_isolation_segments": false,   "include_security_groups": false,   "include_service_discovery": false,   "include_services": false,   "include_service_instance_sharing": false,   "include_ssh": false,   "include_sso": false,   "include_tasks": false,   "include_v3": false,   "include_zipkin": false,   "include_credhub": false,   "include_volume_services": false,   "stacks": [     "sle15"   ] }

cf tail is not a command available for eirini.
Needed to add entry to config json to force to use cf logs
  "use_log_cache": false
Test results summary after fix:
Summarizing 6 Failures:

[Fail] [credhub] service bindings during staging [BeforeEach] [non-assisted credhub]  still contains CredHub references in VCAP_SERVICES
/../cf-acceptance-tests/credhub/service_bindings.go:121

[Fail] [credhub] service bindings during staging [BeforeEach] [assisted credhub]  has CredHub references in VCAP_SERVICES interpolated
/../cf-acceptance-tests/credhub/service_bindings.go:121

[Fail] [credhub] service bindings during runtime service bindings to credhub enabled broker [assisted credhub]  [BeforeEach] the broker returns credhub-ref in the credentials block
/../cf-acceptance-tests/credhub/service_bindings.go:121

[Fail] [credhub] service bindings during runtime service bindings to credhub enabled broker [assisted credhub]  [BeforeEach] the bound app gets CredHub refs in VCAP_SERVICES interpolated
/../cf-acceptance-tests/credhub/service_bindings.go:121

[Fail] [apps] Buildpack cache [It] uses the buildpack cache after first staging
/../cf-acceptance-tests/apps/buildpack_cache.go:144

[Fail] [credhub] service keys when a service key for a service instance is requested from a CredHub-enabled broker [It] Cloud Controller retrieves the value from CredHub for the service key
/../cf-acceptance-tests/credhub/service_keys.go:96

Ran 57 of 211 Specs in 1794.535 seconds
FAIL! -- 51 Passed | 6 Failed | 1 Pending | 153 Skipped

Tried recreating scenario of creating credhub service-broker, create service, binding service that results in failing /../cf-acceptance-tests/credhub/service_bindings.go:121
cf bind-service fails and the logs of the service broker is:
2020-07-08T17:53:29.00+0100 [APP/PROC/WEB/0] OUT credhub client configuration failed: Get https://credhub.service.cf.internal:8844/info: dial tcp: lookup credhub.service.cf.internal on <IP_ADDRESS>:53: no such host
   2020-07-08T17:53:29.00+0100 [APP/PROC/WEB/0] OUT 2020/07/08 16:53:29 http: panic serving <IP_ADDRESS>:57704: runtime error: invalid memory address or nil pointer dereference
   2020-07-08T17:53:29.00+0100 [APP/PROC/WEB/0] OUT goroutine 111 [running]:
   2020-07-08T17:53:29.00+0100 [APP/PROC/WEB/0] OUT net/http.(*conn).serve.func1(0xc000182320)
   2020-07-08T17:53:29.00+0100 [APP/PROC/WEB/0] OUT /tmp/contents119306453/deps/0/go1.13.10/src/net/http/server.go:1767 +0x13b
   2020-07-08T17:53:29.00+0100 [APP/PROC/WEB/0] OUT panic(0x55de4b9bfc60, 0x55de4bc1db60)
   2020-07-08T17:53:29.00+0100 [APP/PROC/WEB/0] OUT /tmp/contents119306453/deps/0/go1.13.10/src/runtime/panic.go:679 +0x1b6
   2020-07-08T17:53:29.00+0100 [APP/PROC/WEB/0] OUT go-online/vendor/code.cloudfoundry.org/credhub-cli/credhub.(*CredHub).Request(...)
   2020-07-08T17:53:29.00+0100 [APP/PROC/WEB/0] OUT /tmp/gobuildpack.gopath670427482/.go/src/go-online/vendor/code.cloudfoundry.org/credhub-cli/credhub/request.go:22
   2020-07-08T17:53:29.00+0100 [APP/PROC/WEB/0] OUT go-online/vendor/code.cloudfoundry.org/credhub-cli/credhub.(*CredHub).setCredential(0x0, 0xc00024c120, 0x13, 0x55de4b67ef71, 0x4, 0x55de4b9bf7e0, 0xc00022a450, 0x55de4b994360, 0xc0002360f0, 0x0, ...)
   2020-07-08T17:53:29.00+0100 [APP/PROC/WEB/0] OUT /tmp/gobuildpack.gopath670427482/.go/src/go-online/vendor/code.cloudfoundry.org/credhub-cli/credhub/set.go:83 +0x1be
   2020-07-08T17:53:29.00+0100 [APP/PROC/WEB/0] OUT go-online/vendor/code.cloudfoundry.org/credhub-cli/credhub.(*CredHub).SetJSON(...)
   2020-07-08T17:53:29.00+0100 [APP/PROC/WEB/0] OUT /tmp/gobuildpack.gopath670427482/.go/src/go-online/vendor/code.cloudfoundry.org/credhub-cli/credhub/set.go:24
   2020-07-08T17:53:29.00+0100 [APP/PROC/WEB/0] OUT main.(*ServiceBroker).Bind(0xc0000a4030, 0x55de4ba3a240, 0xc0001660e0, 0xc000179d00)
   2020-07-08T17:53:29.00+0100 [APP/PROC/WEB/0] OUT /tmp/gobuildpack.gopath670427482/.go/src/go-online/main.go:126 +0x4ed
   2020-07-08T17:53:29.00+0100 [APP/PROC/WEB/0] OUT net/http.HandlerFunc.ServeHTTP(0xc000087020, 0x55de4ba3a240, 0xc0001660e0, 0xc000179d00)
   2020-07-08T17:53:29.00+0100 [APP/PROC/WEB/0] OUT /tmp/contents119306453/deps/0/go1.13.10/src/net/http/server.go:2007 +0x46
   2020-07-08T17:53:29.00+0100 [APP/PROC/WEB/0] OUT go-online/vendor/github.com/gorilla/mux.(*Router).ServeHTTP(0xc0000a8190, 0x55de4ba3a240, 0xc0001660e0, 0xc000179d00)
   2020-07-08T17:53:29.00+0100 [APP/PROC/WEB/0] OUT /tmp/gobuildpack.gopath670427482/.go/src/go-online/vendor/github.com/gorilla/mux/mux.go:114 +0xdd
   2020-07-08T17:53:29.00+0100 [APP/PROC/WEB/0] OUT net/http.(*ServeMux).ServeHTTP(0x55de4bc68240, 0x55de4ba3a240, 0xc0001660e0, 0xc000179b00)
   2020-07-08T17:53:29.00+0100 [APP/PROC/WEB/0] OUT /tmp/contents119306453/deps/0/go1.13.10/src/net/http/server.go:2387 +0x1bf
   2020-07-08T17:53:29.00+0100 [APP/PROC/WEB/0] OUT net/http.serverHandler.ServeHTTP(0xc00012e000, 0x55de4ba3a240, 0xc0001660e0, 0xc000179b00)
   2020-07-08T17:53:29.00+0100 [APP/PROC/WEB/0] OUT /tmp/contents119306453/deps/0/go1.13.10/src/net/http/server.go:2802 +0xa6
   2020-07-08T17:53:29.00+0100 [APP/PROC/WEB/0] OUT net/http.(*conn).serve(0xc000182320, 0x55de4ba3aa80, 0xc000063dc0)
   2020-07-08T17:53:29.00+0100 [APP/PROC/WEB/0] OUT /tmp/contents119306453/deps/0/go1.13.10/src/net/http/server.go:1890 +0x877
   2020-07-08T17:53:29.00+0100 [APP/PROC/WEB/0] OUT created by net/http.(*Server).Serve
   2020-07-08T17:53:29.00+0100 [APP/PROC/WEB/0] OUT /tmp/contents119306453/deps/0/go1.13.10/src/net/http/server.go:2928 +0x386
   2020-07-08T17:53:29.01+0100 [RTR/0] OUT CATS-3-BRKR-CH-cf4f5d96b93cbeb6.ocp-ic-test-sm.kubecf.dev - [2020-07-08T16:53:28.989763357Z] "PUT /v2/service_instances/b421f961-ee37-4655-86af-4fb0cdbc3eae/service_bindings/4db6b3d3-7c09-469c-b186-3a830ef24f41?accepts_incomplete=true HTTP/1.1" 502 585 67 "-" "HTTPClient/1.0 (2.8.3, ruby 2.5.5 (2019-03-15))" "<IP_ADDRESS>:39748" "<IP_ADDRESS>:8080" x_forwarded_for:"<IP_ADDRESS>, <IP_ADDRESS>" x_forwarded_proto:"https" vcap_request_id:"7a231a17-ffd8-4e18-742e-8b825ec12712" response_time:0.022398 gorouter_time:0.000239 app_id:"3eb8c0f2-7882-4bb9-94a9-0a6b9ee4015c" app_index:"-" x_b3_traceid:"c8111d3de536c178" x_b3_spanid:"c8111d3de536c178" x_b3_parentspanid:"-" b3:"c8111d3de536c178-c8111d3de536c178"
   2020-07-08T17:53:29.01+0100 [RTR/0] OUT
   2020-07-08T17:53:30.00+0100 [APP/PROC/WEB/0] OUT credhub client configuration failed: Get https://credhub.service.cf.internal:8844/info: dial tcp: lookup credhub.service.cf.internal on <IP_ADDRESS>:53: no such host

What's interesting is that CATs in eirini runs through this scenario but it doesn't with diego.

Tried running tests only with include_tasks=true.
Test results summary:
Summarizing 7 Failures:

[Fail] [tasks] v3 tasks tasks lifecycle When cancelling a task [It] should show task is in FAILED state
/../cf-acceptance-tests/tasks/task.go:210

[Fail] [tasks] v3 tasks tasks lifecycle [It] can successfully create and run a task
/../cf-acceptance-tests/tasks/task.go:175

[Fail] [credhub] service bindings during staging [BeforeEach] [non-assisted credhub]  still contains CredHub references in VCAP_SERVICES
/../cf-acceptance-tests/credhub/service_bindings.go:121

[Fail] [credhub] service bindings during staging [BeforeEach] [assisted credhub]  has CredHub references in VCAP_SERVICES interpolated
/../cf-acceptance-tests/credhub/service_bindings.go:121

[Fail] [credhub] service bindings during runtime service bindings to credhub enabled broker [assisted credhub]  [BeforeEach] the broker returns credhub-ref in the credentials block
/../cf-acceptance-tests/credhub/service_bindings.go:121

[Fail] [credhub] service bindings during runtime service bindings to credhub enabled broker [assisted credhub]  [BeforeEach] the bound app gets CredHub refs in VCAP_SERVICES interpolated
/../cf-acceptance-tests/credhub/service_bindings.go:121

[Fail] [credhub] service keys when a service key for a service instance is requested from a CredHub-enabled broker [It] Cloud Controller retrieves the value from CredHub for the service key
/../cf-acceptance-tests/credhub/service_keys.go:96

Ran 7 of 211 Specs in 638.465 seconds
FAIL! -- 0 Passed | 7 Failed | 1 Pending | 203 Skipped

Recreated the tests locally and failing at the same point with task stuck in CANCELING after cf terminate-task and task stuck in RUNNING when it should have been finished:
cf tasks CATS-3-APP-3a340794b7d6d78a
Getting tasks for app CATS-3-APP-3a340794b7d6d78a in org CATS-3-ORG-1d0f1d17e8ed40bd / space CATS-3-SPACE-5a4573542cf3c9e8 as admin...
OK

id   name        state       start time                      command
5    meeeeowww   RUNNING     Thu, 09 Jul 2020 14:59:44 UTC   sleep 10;
4    meowww      RUNNING     Thu, 09 Jul 2020 14:53:06 UTC   sleep 100;
3    meow        CANCELING   Thu, 09 Jul 2020 14:29:27 UTC   sleep 100;
2    mreow       CANCELING   Thu, 09 Jul 2020 14:22:17 UTC   sleep 100;
1    ab8d0e40    CANCELING   Thu, 09 Jul 2020 14:20:29 UTC   sleep

As previously noted this tests only exists in eirini cats but not in diego cats.
cf terminate-task in eirni cats:
https://concourse.suse.dev/teams/main/pipelines/kubecf/jobs/cf-acceptance-tests-eirini-master/builds/18#L5efb51ba:15235
Diego cats (none):
https://concourse.suse.dev/teams/main/pipelines/kubecf/jobs/cf-acceptance-tests-diego-master/builds/18

credhub can't be disabled anymore?
cloudfoundry/cf-acceptance-tests@0823b20
cloudfoundry/cf-acceptance-tests@e28bfae

@jimmykarily removing the config entries for credhub in config json seems to be the way to disable credhub tests, although not very obvious from docs.
https://github.com/jimmykarily/cf-acceptance-tests/blob/master/cats_suite_helpers/cats_suite_helpers.go#L256
This reduced the number of failings tests from 16 down to 10:
Summarizing 10 Failures:

[Fail] [v3] buildpack With a single buildpack app [It] Downloads the correct user specified git buildpack
/../cf-acceptance-tests/v3/buildpacks.go:88

[Fail] [v3] buildpack With a single buildpack app [It] uses buildpack cache for staging
/../cf-acceptance-tests/v3/buildpacks.go:108

[Fail] [v3] v3 docker app lifecycle [It] can run apps
/../cf-acceptance-tests/helpers/v3_helpers/v3.go:478

[Fail] [tcp routing] TCP Routing external ports [It] maps a single external port to an application's container port
/../cf-acceptance-tests/tcp_routing/tcp_routing.go:74

[Fail] [tcp routing] TCP Routing external ports with a second external port [It] maps both ports to the same application
/../cf-acceptance-tests/tcp_routing/tcp_routing.go:127

[Fail] [tcp routing] TCP Routing external ports with two different apps [It] maps single external port to both applications
/../cf-acceptance-tests/tcp_routing/tcp_routing.go:112

[Fail] [apps] Buildpack cache [It] uses the buildpack cache after first staging
/../cf-acceptance-tests/apps/buildpack_cache.go:144

[Fail] [docker] Docker Application Lifecycle [JustBeforeEach] running a docker app with a start command retains its start command through starts and stops
/../cf-acceptance-tests/docker/docker_lifecycle.go:30

[Fail] [docker] Docker Application Lifecycle [JustBeforeEach] running a docker app without a start command handles docker-defined metadata and environment variables correctly
/../cf-acceptance-tests/docker/docker_lifecycle.go:30

[Fail] [docker] Docker Application Lifecycle [JustBeforeEach] running a docker app without a start command when env vars are set with 'cf set-env' prefers the env vars from cf set-env over those in the Dockerfile
/../cf-acceptance-tests/docker/docker_lifecycle.go:30

Ran 92 of 211 Specs in 3150.533 seconds
FAIL! -- 82 Passed | 10 Failed | 1 Pending | 118 Skipped

After enabling diego_docker, got more tests to pass.
Latest results:
Summarizing 5 Failures:

[Fail] [apps] Buildpack cache [It] uses the buildpack cache after first staging
/Users/jeffreybunagan/lahat/workspace/cf-acceptance-tests/apps/buildpack_cache.go:144

[Fail] [tcp routing] TCP Routing external ports [It] maps a single external port to an application's container port
/Users/jeffreybunagan/lahat/workspace/cf-acceptance-tests/tcp_routing/tcp_routing.go:74

[Fail] [tcp routing] TCP Routing external ports with a second external port [It] maps both ports to the same application
/Users/jeffreybunagan/lahat/workspace/cf-acceptance-tests/tcp_routing/tcp_routing.go:127

[Fail] [tcp routing] TCP Routing external ports with two different apps [It] maps single external port to both applications
/Users/jeffreybunagan/lahat/workspace/cf-acceptance-tests/tcp_routing/tcp_routing.go:112

[Fail] [v3] buildpack With a single buildpack app [It] uses buildpack cache for staging
/Users/jeffreybunagan/lahat/workspace/cf-acceptance-tests/v3/buildpacks.go:108

Ran 92 of 211 Specs in 2854.609 seconds
FAIL! -- 87 Passed | 5 Failed | 1 Pending | 118 Skipped

Tcp routing doesn't seem to work. We tried with @jbuns to deploy the fixture app manually and follow the same steps like the test in order to setup a tcp route. Turns out that the route is never registered thus the haproxy configuration inside the tcp_router pod never gets updated. We compared the results between a (working) diego deployment and Eirini using these steps:

- First make sure you add externalIPs to the uaa-0 service so you can talk to it
- Install uaac: `gem install cf-uaac`
- Find the tcp_emitter secret: `kubectl get secrets -n scf var-uaa-clients-tcp-emitter-secret -o json | jq -r .data.password | base64 -d`
- Set the target: `/usr/lib64/ruby/gems/2.5.0/gems/cf-uaac-4.2.0/bin/uaac target --skip-ssl-validation https://uaa.<IP_ADDRESS>.omg.howdoi.website:8443`
- Authenticate: `/usr/lib64/ruby/gems/2.5.0/gems/cf-uaac-4.2.0/bin/uaac token client get tcp_emitter` (use the secret you found above)
- Get a token: `/usr/lib64/ruby/gems/2.5.0/gems/cf-uaac-4.2.0/bin/uaac context` (copy the token)
- Set the TOKEN variable: `export TOKEN=the_token_you_copied`
- Get the routes: `curl api.<IP_ADDRESS>.omg.howdoi.website/routing/v1/tcp_routes -H "Authorization: bearer ${TOKEN}"`

Example output from a working diego deployment:

[{"router_group_guid":"7976de96-9cbd-419e-766b-f4e65c8cd53e","backend_port":61001,"backend_ip":"<IP_ADDRESS>","port":20001,"modification_tag":{"guid":"50fdd0c2-600b-4ad7-6301-e60147edd598","index":283},"ttl":120,"isolation_segment":""},{"router_group_guid":"7976de96-9cbd-419e-766b-f4e65c8cd53e","backend_port":61001,"backend_ip":"<IP_ADDRESS>","port":20005,"modification_tag":{"guid":"64094981-1083-4f5d-7172-1bcbe21481e3","index":490},"ttl":120,"isolation_segment":""}]

This is how the haproxy configuration gets updates inside the tcp_router pod (`ps aux | more` to find the path to tha haproxy.conf).```

The result for Eirini is an empty Array : `[]`.

Turns out Eirini doesn't support tcp routing yet: https://cloudfoundry.slack.com/archives/C8RU3BZ26/p1595429386415200
We should then just disable those tests.
Relevant link for what's coming next: https://github.com/cloudfoundry-incubator/eirini/issues/72 (in case someone wants to pursue this more).

Regarding the buildpack cache failing test, this env variable has to be set somewhere: https://github.com/cloudfoundry-incubator/eirini-staging/blob/master/eirini_models.go#L21
(It all starts here: https://github.com/cloudfoundry-incubator/eirini-staging/blob/master/builder/runner.go#L49)
The cache dir probably gets cleaned up because it is not defined as "needed cache" through that env var. I described a staging pod and it doesn't have the EIRINI_BUILD_ARTIFACTS_CACHE_DIR var set and this code doesn't complain: https://github.com/cloudfoundry-incubator/eirini-staging/blob/master/cmd/executor/executor.go#L26)
Checking relevant lines with git blame, it seems that buildpack caching was implemented ~4 months ago: https://github.com/cloudfoundry-incubator/eirini-staging/commit/f64ac536b6077882aef38bf8e72180d7ca86c7c9 .
In the 1.5.0 branch (which is what we use right now) code doesn't complain about missing env vars: https://github.com/cloudfoundry-incubator/eirini-staging/blob/1.5.0/cmd/executor/executor.go
We will probably get this test fixed for free after we upgrade Eirini: https://github.com/cloudfoundry-incubator/kubecf/issues/843
We can either disable the test of just let it fail until we complete the Eirini bump.

We discussed some ideas to fix this:
https://github.com/jimmykarily/cf-acceptance-tests/compare/master..fix_eirini_cats#diff-732c88eb5fd838cc0fb2332e15279683R194
here: https://cloudfoundry.slack.com/archives/CQ2U3L6DC/p1595577637235400

Watching this for a resolution:
https://github.com/cloudfoundry-incubator/kubecf/blob/master/doc/cf_deployment/bump.md#bump-cats-release
Or until config changes eirini bumps catapult

I managed to get green CATs with the steps below.
Install kubecf from master (sha: #91f19111)
$ export MAGIC_DNS_SERVICE=omg.howdoi.website
$ export EIRINI_FEATURE=true
$ make kind-start all

Clone the CATs
$ git clone git git@github.com:cloudfoundry/cf-acceptance-tests.git
$ cd cf-acceptance-tests
$ git co cf13.8

Apply changes to CATs
The changes below need to be properly upstreamed but for now we need these to make it work with our stack and the latest cf cli.
$ cat > patch.patch <<EOF
diff --git a/apps/admin_buildpack_lifecycle.go b/apps/admin_buildpack_lifecycle.go
index bedeac63..8616384e 100644
--- a/apps/admin_buildpack_lifecycle.go
+++ b/apps/admin_buildpack_lifecycle.go
@@ -271,7 +271,7 @@ exit 1

 		Expect(push).To(Exit(0))
 		appOutput := cf.Cf("app", appName).Wait()
-		Expect(appOutput).To(Say("buildpacks?:\\s+Simple"))
+		Expect(appOutput).To(Say("buildpacks?:.*\\n.+\\n.*Simple"))
 	}

 	itDoesNotDetectForEmptyApp := func() {
@@ -344,7 +344,7 @@ exit 1
 			Expect(cf.Cf("push", appName, "-b", buildpackName, "-m", DEFAULT_MEMORY_LIMIT, "-p", appPath).Wait(Config.CfPushTimeoutDuration())).To(Exit(0))

 			appOutput := cf.Cf("app", appName).Wait()
-			Expect(appOutput).To(Say("buildpacks?:\\s+" + buildpackName))
+			Expect(appOutput).To(Say("buildpacks?:.*\\n.+\\n.*" + buildpackName))
 		})

 		It("fails if the specified buildpack is disabled", func() {
diff --git a/helpers/config/config_struct.go b/helpers/config/config_struct.go
index 05880eb9..5ee5883e 100644
--- a/helpers/config/config_struct.go
+++ b/helpers/config/config_struct.go
@@ -222,7 +222,7 @@ func getDefaults() config {

 	defaults.NamePrefix = ptrToString("CATS")

-	defaults.Stacks = &[]string{"cflinuxfs3"}
+	defaults.Stacks = &[]string{"sle15"}
 	return defaults
 }

@@ -656,8 +656,8 @@ func validateStacks(config *config) error {
 	}

 	for _, stack := range config.GetStacks() {
-		if stack != "cflinuxfs3" {
-			return fmt.Errorf("* Invalid configuration: unknown stack '%s'. Only 'cflinuxfs3' is supported for the 'stacks' property", stack)
+		if stack != "sle15" {
+			return fmt.Errorf("* Invalid configuration: unknown stack '%s'. Only 'sle15' is supported for the 'stacks' property", stack)
 		}
 	}
EOF

$ git apply patch.patch

Get latest cf cli v7
https://github.com/cloudfoundry/cli/blob/master/doc/installation-instructions/installation-instructions-v7.md#installers-and-compressed-binaries
(I got green CATs with this version: cf version 7.1.0+4c3168f9a.2020-09-09)
Create cats.json
Get the IP of your kind container:
$ export kind_ip=$(docker inspect kubecf-control-plane | jq -r '.[0]["NetworkSettings"]["IPAddress"]')
```

Get the admin password:

```
$ export admin_password=$(kubectl get secrets -n kubecf var-cf-admin-password -o json | jq -r .data.password)
```

Login to cf (to enable docker feature):

```
$ cf api --skip-ssl-validation https://api.${kind_ip}.omg.howdoi.website
$ cf login (user: admin, password: $admin_password)
```

Enable docker feature (needed?):

```
$ cf enable-feature-flag diego_docker
```

Create cats.json:

```
$ cat > cats.json <<EOF
{
  "api": "api.${kind_ip}.omg.howdoi.website",
  "apps_domain": "${kind_ip}.omg.howdoi.website",
  "admin_user": "admin",
  "admin_password": "${admin_password}",
  "artifacts_directory": "logs",
  "skip_ssl_validation": true,
  "timeout_scale": 4,
  "use_http": false,
  "use_log_cache": true,
  "include_apps": true,
  "include_backend_compatibility": false,
  "include_capi_no_bridge": false,
  "include_container_networking": false,
  "credhub_mode": "skip-tests",
  "credhub_client": "credhub_admin_client",
  "credhub_secret": "..",
  "include_detect": false,
  "include_docker": true,
  "include_internet_dependent": false,
  "include_internetless": false,
  "include_isolation_segments": false,
  "include_private_docker_registry": false,
  "include_route_services": false,
  "include_routing": false,
  "include_tcp_routing": false,
  "include_routing_isolation_segments": false,
  "include_security_groups": false,
  "include_service_discovery": false,
  "include_services": false,
  "include_service_instance_sharing": false,
  "include_ssh": false,
  "include_sso": false,
  "include_tasks": false,
  "include_v3": true,
  "include_zipkin": false,
  "include_credhub": false,
  "include_volume_services": false,
  "stacks": [
    "sle15"
  ]
}
EOF
```

## Follow the instruction in the cf-acceptance-tests README

```
$ cf install-plugin -r CF-Community "log-cache"
$ ./bin/update_submodules
$ source .envrc
$ go mode vendor
```

## Run the tests

If you use too many ginkgo nodes you may get failures because of low resources.
Better be conservative. It will take more time to finish but the results will
reflect reality better and you won't need to run them one by one to see if they
really fail.

```
$ ./bin/test -node=1
```

@jeff-hobbs @jimmykarily closing this one. Feel free to disagree and to reopen again.


[NETBEANS-210] Setting tmp directory

See https://issues.apache.org/jira/browse/NETBEANS-210 for details on issue 210.
This seems to be working properly in my Debian box, and should also work on default Ubuntu boxes and others with limited /tmp space.
May need testing on Windows & OS/X environments, though.

At patch level, it might be better to define a netbeans_default_tmpdir next to netbeans_default_cachedir above.
I feel conflictual about this fix.
On one side, it's good that NetBeans started respecting the OS cache dir. Long ago it did not and it was annoying on macOS, for example, because the user couldn't decide which data is safe to remove (to recover disk space) and which not. I also assume a lot of useless cache got backed up to Time Machine which is not good.
macOS is pretty OK about setting (and clearing) the temp folder and it's rarely on another partition.
On the other hand I can see how from a configuration or security standpoint it might be good not to have NetBeans leak files into various folders. But it feels like a user-configuration thing. (2GB for a temp folder doesn't seem like much, I'll compare with my machines).
So, speaking of NETBEANS-210 I believe NetBeans should have some better user level message about needing extra disk space (it probably throws some error, no?).
In order to help the (minority, I guess, of) users that are in this situation the script could use netbeans_default_tmpdir but initialize it by default with $TMPDIR.
Thus, nothing should change for existing users. But users with smaller $TMPDIRs would just tweak netbeans_default_tmpdir in the script instead of learning about java.io.tmpdir and -J-D

Hi,
(I've edited the title to see if this sends stuff to JIRA).
Good points, Emilian, thanks.
Maybe the problem is with the Maven indexer itself. Instead of trying to fill the java.io.tmpdir until exhaustion and then fail (for those systems where java.io.tmpdir lives in memory this is very bad) it should probably check first if there's enough space to proceed.
Since that's tough to do in a portable way maybe the best workaround is to have the maven indexer to use Places to create a  specific working directory in the "cache directory" and ensure that it's cleaned up once it's done.
On startup we could check if that working directory exists (because of previous fatal exit, for instance) and clean it up too.
The "tmp" partition space is the default Debian installation size, so I assume many Debian users will suffer the problem. I may want to see if Debian derivatives are also affected. Will report back.

Wait, so the Maven indexer first unzips everything into java.io.tmpdir then moves everything to the cachedir? That can't be good, especially if the two folders are on separate partitions and a move means copy.
Let's figure out first how to fix this from the Maven support side.

I can't tell if the indexer unzips or just creates temporary indexes. Anyway I agree, let's figure out the internals.

There was a "TODO" comment on NexusRepositoryIndexerImpl to use Places.getCacheDirectory instead of a temporary file.
I've tested this in my box and indexing is faster (not flooding tmp is a good think, I assume).
I'd appreciate a review.

Much better fix!
+1

Thanks Emilian.
I think I'll do some more clean up (there's no point in computing "java.io.tmpdir" free space on failure) and will then rearrange commits for a final review.

Thank for the feedback, Emilian!
Agreed: removing the check for free space is a bad idea see 250365 for a case of a big atlassian repo. I've restored it and updated the messages (including now the folder).

Perfect!
+1


GitHub Actions workflow to validate pull requests

Expected Behaviour
An event-driven GitHub Actions workflow that validates pull requests to the main branch to ensure contributions don't get merged with the production branch and break the production build.
Actual Behaviour
There is no automated validation for pull requests to the main branch. A contribution could break the build, but you might not know until after merging with main and attempting to deploy. Requiring a reviewer to check out a branch and run a build locally is unreliable. We should use automation to catch breaking changes before they get into the production branch.
Reproduce Scenario (including but not limited to)
Delete a required file or add invalid syntax to a required file.
Steps to Reproduce
n/a
Platform and Version
n/a
Sample Code that illustrates the problem
Here's a simple workflow that builds the Gatsby project for pull requests to the main branch:
# Validate pull requests to the main branch

name: CI

# Controls when the workflow will run
on:
  # Triggers the workflow on pull request events but only for the main branch
  pull_request:
    branches: [ main ]

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
  # This workflow contains a single job called "build"
  build:
    # The type of runner that the job will run on
    runs-on: ubuntu-latest

    # Steps represent a sequence of tasks that will be executed as part of the job
    steps:
      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
      - name: Check out repo
        uses: actions/checkout@v2

      - name: Install dependencies
        uses: bahmutov/npm-install@v1

      - name: Build site
        run: npm run build

Logs taken while reproducing problem
n/a

Sure @jeff-matthews this sounds like a pretty good addition to the doc template. Just send a PR and once that's in, I'll close this issue.


Release a new version

The latest version (v1.5.0) is almost 2 years old. I think a new official release including Windows build could benefit from 2 years of improvements.

may happen soon-ish

was thinking of releasing something like v2.0.0 with multiple crypto/filter implementations bundled together & selectable at runtime, but that's kinda hard to finish, & im not even sure how filter selectivity would work.
one of reasons i haven't been releasing more often is because i sorta lost windows bin building scripts due to drive failure (thanks to not putting them in git repo).
so yeah idk may just do v1.6.0 & think about v2 later.
have a nice picture meanwhile

done https://github.com/cathugger/mkp224o/releases/tag/v1.6.0

i ended up re-tagging because fixed some annoying warning spam i shouldnt have left in & win64 x amd64 routines, hopefully that won't trip anything/anyone up


Cookies set to expire in HTTP response are not removed from session file

When using the --session option and storing a session in a file, when the response includes a Set-Cookie header that sets a cookie to a date in the past, the cookie is not cleared out of the session file as I would expect.  Because of this, for example, cookies that are set to expire remain in the session and are still sent in subsequent requests.
Thank you.

@iamcathal and @csr will be working on this!

Sweet, @juped. I've just written some suggestions   on another sessions-related issue that will be useful here as well:
https://github.com/jakubroztocil/httpie/issues/662#issuecomment-641023598


Document updates

Most notable: Beta Rewards explanation.

Pls do not merge yet!!! We need to clarify a point about the duration.


Support for DropCursor extension?

First off, this library seems amazing. I've struggled in the past with RN WYSIWYGs, so thank you for your work in bringing a dedicated & robust experience to the framework.
I'm working on a new app, and 10tap seems very promising after only playing with it for 10 minutes. The TaskList support is a deal-maker for us!
Do you plan to add support for the DropCursor extension? That would help a lot in making this thing feel like Notion et al.

Thank you so much for your feedback!
It should be simple to add this extension, I can add this


Remove non-working Banana Pi code

Successfully tested with a Pi 4.

This PR is blocking further PRs, e.g. for tickets like #1092, because these tickets require this PR to be merged first in order to save me from a code conflict hell.
@rdmark @dialtr Any help is appreciated. Since this ticket essentially only removes unused code, just testing whether piscsi still works on a Raspberry Pi should be sufficient. I have already tested this for the Pi 4.

Thank you @dialtr. This has paved the way for PR #1261.


Params conversion tests.

Add ranged checked OSSL_PARAM conversions between the native types.  A conversion is legal only if the value can be exactly represented by the target type.
Includes a test case that reads a stanza test case file and verified that param
conversions are processed properly.

[x] documentation is added or updated
[x] tests are added or updated

The rationale for adding narrowing conversions is for compatibility with old providers.
Assume we've a call foo(int) into a FIPS provider at version A and we later need to change this to foo(long) in version B.  Without supporting narrowing conversions from the beginning, the A FIPS provider would stop working with the B libcrypto.  Being able to run with older versions of the FIPS provider is one of the requirements.
Only having widening conversions isn't sufficient, narrowing is required too.  Unless all types are chosen correctly initially (precognition anyone?).

Only having widening conversions isn't sufficient, narrowing is required too. Unless all types are chosen correctly initially (precognition anyone?).

Or you do the same thing as with any public API without version bumping, choose a new name for the new size.

A new API guarantees incompatibility unless special code is written to handle it.

Test failures look like alloced but not freed memory.

You have a memory leak with the stanzas.

I don't accept the rationale.  If you change the API then things are broken.  Why does a provider get special treatment when the ABI changes?  At least you can write a wrapper shim for compatibility that interposes itself before the older provider.
The complexity trade-off is wrong, IMO.  It is harder to reason that things are working correctly.
The point of the parameter stuff, as documented in the design, is to avoid exposes private data structures. Not to be a Corba-like "any" invocation.
Please reconsider all wide/narrow stuff and pull it out.

Why we have to use corba as an argument, I do not understand...
int32_t i32 = 123;
int64_t i64 = i32;
i32 = i64;

Perfectly valid C, even though you may be warned about possible data loss. If I understand correctly, this is what @paulidale tries to mimic.
I do agree that changing the specs of a parameter isn't advisable. However, consider this code, where "foo" was underspecified as 32-bit and "foo2" was introduced as a 64-bit replacement, and the author wants to use the same variable to take both (for backward compatibility):
if ((p = OSSL_PARAM_locate(params, "foo")) != NULL
    || (p = OSSL_PARAM_locate(params, "foo2")) != NULL)
    if (!OSSL_PARAM_get_int64(p, &foo64))
        goto err;

If "foo" was found, the 32-bit value will be widened, if "foo2" was found, 64 bits are used as is.

Your first fragment is exactly my point: in the provider (or app or core or whatever is on the "other side" of an OSSL_PARAM), use explicit casting and masks to fit the ABI. Magically coercing things in case of ABI changes IMO is wrong; previous comments of yours in this PR seemed to agree with that.
Corba was a poor analogy.
This is complicated inelegant code that adds byte-order dependencies (not sure why it can't be written portably but maybe I'm missing something) to address a use-case that OpenSSL has previously solved in other ways.

What byte order dependencies?
Think of params as containing a number not an int, unsigned or whatever.  One side provides a number, the other reads it.  The internal formatting isn't relevant and doesn't need to be known -- it's a number.  If any number doesn't fit the actual storage, errors happen.
The amount of knowledge at both ends is minimised and it stays safe.

I was thinking of #8629.

That was testing that the params were being stored in the appropriate byte order -- the design document specified such and checking it proved to be fairly painful :(
Apart from that, nothing should need to worry about byte orderings (thankfully).  It ought to just work going forward.  Okay, old Digital machines exempted since they are neither big nor little endian.

Thanks for the correction, @pauli.  My mistake.

Review @openssl/committers ?

Review @openssl/committers ?

From a style perspective, where an API returns a value I tend to always ensure the value is cleared and not left as-is for error paths. As a "safety" approach when callers may not check the return value. We don't have that defined anywhere as yet (coding style) but I think is is a good practice for these sorts of functions.
i.e. this at the start of the functions ...
if (val!=NULL)
  (*val)=0;

Other views?
Otherwise I think this code looks ready to go in ... but I haven't marked it for approval as I think @levitte needs to express his view here.

That's a good question.  I've been avoiding touching return parameters on error but setting them to a sensible default is very reasonable.

Other views?

Yup, I'd rather leave the value untouched on error. I see no particular reason why an error would essentially be the same as "set to zero", conceptually speaking.

A fairly typical usage pattern is to call functions initialising with a stack allocated variable - and if you omit the error checking code then you end up using uninitialised data. It's one of those situations where you are choosing a pattern to fail more gracefully on usage mistakes. And it isn't an uncommon one.
Think of the number of places in OpenSSL code where we didn't check the return values and the number of snippets of code out there that omit error checking. Sure we can tell everyone they need to not make such mistakes - but a simple pattern of initialising return values always helps to catch a whole class of common errors.
It is a please-place-the-answer-to-this-question-here context. We don't actually state the value isn't set (or is cleared) on error so the usage currently is "undefined/undocumented" as such.
BTW I think @paulidale isn't saying he disagrees with the suggestion - just that he hasn't taken that approach and I think he sees merit in changing to it with what he has written.

My opinion is not a strong one, so if someone wants to do init-to-zero-on-error, I won't bat an eye.  Do document that behaviour, though...
I might have stronger opinions if we're talking about it in terms of policy, though.

I rather suspect such a policy decision is for a later date: this weekend perhaps?
In the meantime, I'll leave the code alone here.

Irrespective of the discussion about setting/not setting result arguments, could this please be reviewed...

Pinging @levitte

Did a read just now, will do another more detailed one later today.  General impression is good, though.

Merged to master thanks.


[New chain]: Aleph Zero Testnet 1.4.1

Summary

https://github.com/safe-global/safe-deployments/pull/515
https://github.com/ethereum-lists/chains/blob/master/_data/chains/eip155-2039.json

Chain ID
2039
Chain detail URL
https://chainlist.org/chain/2039
RPC URL
https://rpc.alephzero-testnet.gelato.digital/
Blockscout Client URL
No response
Etherscan Client URL
No response
Etherscan Client API URL
No response
Version
1.4.1
Address (Master copy)
0x41675C099F32341bf84BFc5382aF534df5C7461a
Deployment Tx hash (Master copy)
0x3aa7c6da5fc637aea562c1c6a7e68df37df0941b6c46c4ab5e83883a1ce4a6ef
Block explorer URL (Master copy)
No response
Address (Master copy L2)
0x29fcB43b46531BcA003ddC8FCB67FFE91900C762
Deployment Tx hash (Master copy L2)
0x300c076a461d6d81c03fd756f76707c07072f86bfa92107aabc4b2f2200adc3f
Block explorer URL (Master copy L2)
No response
Address (Proxy factory)
0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67
Deployment Tx hash (Proxy factory)
0x3b276c8d35a50033a0eae89823c6e252f788cfff639da38525f482e8228e2e49
Block explorer URL (Proxy factory)
No response

/execute


The future of ROLE_TOBIRA_MODERATOR?

Some recent changes affected what "Tobira moderators" can do:

#1097 made it so that moderators cannot anymore just edit any non-user page.
The fix for https://github.com/elan-ev/tobira/security/advisories/GHSA-f9jh-r227-r9qg lead to moderators no longer being able to find unlisted videos (this might have been an unintended side effect...)

Currently, having ROLE_TOBIRA_MODERATOR grants the following privileges:

Use uploader (also granted via ROLE_TOBIRA_UPLOAD)
Use Studio (also granted via ROLE_TOBIRA_STUDIO)
Use the Editor (also granted via ROLE_TOBIRA_EDITOR)
Find unlisted series, when adding a new series block
"Mount series" (the thing the admin UI does, not really important here)

For completeness, also note that users with ROLE_ADMIN can do absolutely anything in Tobira.
Finding unlisted items
The semantics of searchAll{Series/Events} (used in the content block editor) are as follows:

The search never returns items that the user has no read access to. (Note: series read_roles are completely ignored right now, see #398, so everyone has read access to all series.)
The search always returns all videos/series that the user has write access to.
Additional, the search also returns all videos/series that are listed.

And only for the series search and if the user is moderator, the search also returns unlisted series. So effectively all series are returned if you are moderator. That's kind of inconsistent.
Having the ability to find unlisted items can be very useful, e.g. for users that don't necessarily have write access to all videos but can be trusted to manage the home page for example.
The future?
So what to do? I have the following thoughts/ideas:

Having a role per individual privilege sounds like a good idea, to be able to grant those individually. So I think we should add a ROLE_TOBIRA_CAN_FIND_UNLISTED or something like that. Or even two roles for series/events separately?

Having a simple role that grants all Tobira-internal privileges also sound convenient. But does that include the ability to edit all non-user pages? And: is ROLE_TOBIRA_MODERATOR that role? Or do we want to introduce a new ROLE_TOBIRA_ADMIN role? I can easily imagine use cases where you want to give full Tobira privileges, without using ROLE_ADMIN, which would also give full Opencast privileges (with read & write access to everything).

Opinions, input and feedback welcome!

I don't really have an opinion here right now, but in general

Having a role per individual privilege sounds like a good idea, to be able to grant those individually

sounds like a good idea.
In regards to

I can easily imagine use cases where you want to give full Tobira privileges, without using ROLE_ADMIN

I wonder if this can also be achieved by adding a user to an Opencast group that grants all individual rights necessary?

No, unless you are using auth.session.from_login_credentials = "opencast" or are otherwise contacting Opencast for roles in your custom auth integration.

Ah, thx.

is it useful to add a ROLE_TOBIRA_GLOBAL_PAGE_ADMIN that grants the right to edit all non-user pages, like moderators could previously do?

Yeah, why not. I like granular roles. :D
But in hat case, having a role that grants all those privileges without being an Opencast Admin is probably also a nice thing.

I now opened https://github.com/elan-ev/tobira/pull/1137. Please let me know (comment in the PR) whether you think that's a good change. You only need to read the PR description.


Single quote makes timetravelling crash

If i have a single quote inside a string like this: variable = "Hello I'm Marc", redux-devtools don't work anymore. The string can be deep inside an object, but the timetravel functionality stops working immediately. Very strange. does anyone have an idea why and how to solve it?
just adding a \ before does not help.
edit: the application itself works just fine.

Could you please provide a minimal repo or jsfiddle to reproduce it? I just tried to add this string in our todomvc example and don't see any problems with the slider monitor.

I'm not able to post the repo.
But the error is gone. I don't know why. Issue can be closed, sorry.


Require is not supported in the browser..

Full message:
Require is not supported in the browser, you need a commonjs environment such as node.js/io.js, browserify/webpack etc

What needs to be done to get this to work?
import { foo } from "./bar";

You cannot use babel-standalone in this case. babel-standalone is able to compile individual files, but it has no support for modular code. For modules to work, you would need to use a normal Babel workflow using something like Webpack or Browserify to bundle all of your files into a single file to execute in the browser.

Thank you, Logan :)


Ability to run only against staff teams?

@nirlipo has added a feature in 2019 to play teams only against staff_teams, but I cannot see that in the script or doc.
Can we check it and document it in the README?

This has been solved in #58


сode font-size in Projects

Hi Amy,
I'm facing another issue that I can't seem to solve. I can't increase the font size in the code block on the project pages. I was able to do it for the blog and the homepage, but it doesn't work for the project pages. Could you please help me with this?
https://neonode.cc/blog/backup_article/
https://neonode.cc/projects/bench/

Here's a workaround for the text size issue. You'll need to add the !important for it to apply. Alternatively, you could use tailwind to keep the font sizes consistent. If using tailwind, remember to prefix with a ! -> !text-lg.
Add this CSS selector to .prose-sm :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) in styles/global.css.
It'll look like this:
  .prose-cody :where(code):not(:where([class~=not-prose], [class~=not-prose] *)),
  .prose-sm :where(code):not(:where([class~="not-prose"], [class~="not-prose"] *)) {
     /* if using tailwindcss, add the font-size here */
    @apply bg-accent !text-surface px-1 py-0 !text-lg;

    /* OR
    font-size: 20px !important;
    */
  }

Nope
It dosnt help (

Maybe do a bit of CSS inspection in the browser to get the right CSS selector. I was only able to get it working if I appended the font size with !important

I put !text-lg to this code:

in project.astro ;)


rename switchAll to switch

The All is implied, really. Since it was just switch in previous versions of Rx, I think we can leave it switch. (this is similar to not wanting zipMap and just having zip)

👍


Issue 33 - after Swift 3

For Issue 33.
Tracking the remaining Swift 3 proposals to see what gets merged by the deadline:

SE-0134: https://github.com/apple/swift/pull/3816
SE-0129: https://github.com/apple/swift-package-manager/pull/566
SE-0000: https://github.com/apple/swift/pull/3796
SE-0133: https://github.com/apple/swift/pull/3809 / https://github.com/apple/swift/pull/3838
SE-0111: https://github.com/apple/swift/pull/3837
SE-0089: https://github.com/apple/swift/pull/3761
SE-0042: https://github.com/apple/swift/pull/3836
SE-0103: https://github.com/apple/swift/pull/3853
SE-0101: https://github.com/apple/swift/pull/3854
SE-0096: https://github.com/apple/swift/pull/3878
SE-0068: https://github.com/apple/swift/pull/3866

[x] Merged apple/swift#3816
[x] Merged apple/swift-package-manager#566
[x] Merged apple/swift#3809 / apple/swift#3838
[x] Merged apple/swift#3837
[x] Merged apple/swift#3761
[ ] Open apple/swift#3836
[x] Merged apple/swift#3853
[x] Merged apple/swift#3854
[x] Merged apple/swift#3878
[ ] Closed apple/swift#3866

Thanks @mominul ! 👍 😄

SE-0000: apple/swift#3796 also remains open

@karwa SE-0000 ?

@karwa SE-0000 ?

That's what the first post calls it; it's actually SE-0104.
https://github.com/apple/swift-evolution/blob/master/proposals/0104-improved-integers.md

Thank you @karwa for your clarification!


⚠ Bofrost.nl has degraded performance

In d06aaab, Bofrost.nl (https://www.bofrost.nl) experienced degraded performance:

HTTP code: 200
Response time: 1085 ms

Resolved: Bofrost.nl performance has improved in 4781ba3.


Build application in sdk-nrf-toolchain docker image

Please, do not merge without further approvals. This was merged without commits following a proper structure, nor reviewed with the maintainers of this repository.


Private Apps Use Different Authentication

There are two different types of applications that can access the Shopify APIs.  Both types use different authentication.
Public applications
Public applications authenticate to Shopify by providing the X-Shopify-Access-Token header field in each HTTP request to the Shopify API. This access token is obtained through an OAuth handshake.  That looks to be what go-shopify supports currently.
Private applications
Private applications can interact with the Shopify API on behalf of only one particular store. These applications authenticate with Shopify through basic HTTP authentication. The required credentials must be generated from the Shopify admin of the store that you want to connect with your application. Details
Making Requests
Would it be better to have PublicApp/PrivateApp and PublicClient/PrivateClient types to handle both types of authentication?

@sudomake Thanks for reaching out. I think the current client could accommodate private apps by simply including a password field in the App structure. The proposal would be:

Add a Password field of type string to the App struct
Add basic auth headers as an alternative to the token here.

For 2., something like this should probably work:
if c.token != "" {
  req.Header.Add("X-Shopify-Access-Token", c.token)
} else if c.app.Password != "" {
  // add the basic auth headers for c.app.ApiKey and c.app.Password
}

I don't have time to implement this right now, but what do you think of the proposal?

@sudomake, @jared-fraser added private app functionality in #29. The readme has an example of how to initialize private app credentials. I hope this works for you.
I'll close this issue for now :)


Upload screenshots as artifacts when tests fail

See b285dd28333fd26414234f39cdecd4e08ca6171c for an example of how this works!

I've removed this from the milestone, as it's entirely a CI-related change, and doesn't impact users.


Handle revision

Ⅰ. Describe what this PR did
update README.md
Ⅱ. Does this pull request fix one issue?

no
Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
ci pass

Codecov Report

Merging #889 into develop will decrease coverage by 0.16%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             develop     #889      +/-   ##
=============================================
- Coverage      38.83%   38.67%   -0.17%
+ Complexity      1028     1026       -2
=============================================
  Files            220      220
  Lines           8507     8507
  Branches        1028     1028
=============================================
- Hits            3304     3290      -14
- Misses          4813     4826      +13
- Partials         390      391       +1

Impacted Files
Coverage Δ
Complexity Δ

...ain/java/io/seata/core/rpc/netty/ShutdownHook.java
56.25% <0%> (-25%)
6% <0%> (-2%)

...eata/core/rpc/netty/AbstractRpcRemotingClient.java
17.7% <0%> (-2.88%)
7% <0%> (ø)

Continue to review full report at Codecov.

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

conflict files resolved.

conflict files resolved.
Now the https://github.com/seata/seata/pull/890 is merged , so this is a duplicate


rippled error (Version: 1.6.0)

Issue Description

I'm running a Rippled node for a exchange service.
I created new account and I attempted to get info from new account.
But it occurs Error : Account not found.
Steps to Reproduce

I created new account by using ripple-lib API : api.generateAddress()
Result is like that :
{
"xAddress": "X7u2KCKEogy378o4ce8AoVWXKWKe7aiti4yzfrxko8w4FJj",
"secret": "ssaSa7JPQM9itJj3M7pRUVHSSjuW6",
"classicAddress": "r3zEUKWcNqK6w1aFVhNr8Pf8iRuJZaLkA7",
"address": "r3zEUKWcNqK6w1aFVhNr8Pf8iRuJZaLkA7"
}
Then I implement this API api.getAccountInfo( )
Expected Result

general result is like that :
{
"sequence": 1406,
"xrpBalance": "13315.612685",
"ownerCount": 17,
"previousAffectingTransactionID": "D2FA1C28EF87E53029327AA832C378674B3ACA0551CF9EA1F65BB8CA34913FAB",
"previousAffectingTransactionLedgerVersion": 55180009
}
Actual Result

But my side it returns follow error data :
{
"name": "RippledError",
"data": {
"account": "rQNiyZJcwRedEyJPn45iJejDvVAP8L15MN",
"error": "actNotFound",
"error_code": 19,
"error_message": "Account not found.",
"id": 41,
"ledger_hash": "96CA53BBD23D6527A35D6621CB265C83F5EC53E070C6ED873DEF28A9D9E01EC9",
"ledger_index": 59506222,
"request": {
"account": "rQNiyZJcwRedEyJPn45iJejDvVAP8L15MN",
"command": "account_info",
"id": 41,
"ledger_index": "validated"
},
"status": "error",
"type": "response",
"validated": true
}
}
Supporting Files

server info is like that :
{
"buildVersion": "1.6.0",
"completeLedgers": "58202879-59506257",
"ioLatencyMs": 1,
"jqTransOverflow": "0",
"lastClose": {
"convergeTimeS": 3.003,
"proposers": 38
},
"loadFactor": 1,
"peerDisconnects": "198934",
"peerDisconnectsResources": "7175",
"peers": 169,
"pubkeyNode": "n9MPjx9wEEidR7ysZUkfsaqCrLVn8uAMgRwXAQToqQXFsE3x16Ke",
"serverState": "full",
"serverStateDurationUs": "7319598897265",
"stateAccounting": {
"connected": {
"durationUs": "241188800",
"transitions": 1
},
"disconnected": {
"durationUs": "2135406",
"transitions": 1
},
"full": {
"durationUs": "7319598897265",
"transitions": 1
},
"syncing": {
"durationUs": "3231803",
"transitions": 1
},
"tracking": {
"durationUs": "16",
"transitions": 1
}
},
"time": "2020-Nov-12 19:00:11.639723 UTC",
"uptime": 7319845,
"validatedLedger": {
"age": 1,
"hash": "AD767C0E4910FADF3CC04CDB3FE6BEC5416513F8A3AEA98BE09287FB78D9F23D",
"baseFeeXRP": "0.00001",
"reserveBaseXRP": "20",
"reserveIncrementXRP": "5",
"ledgerVersion": 59506257
},
"validationQuorum": 31,
"hostID": "TED"
}

@wc-codebase api.generateAddress() generates a new address that does not yet exist on the ledger. To actually create the account, you need to fund the account by sending at least 20 XRP to it.
(20 XRP is the current base reserve.)
Does that help?

(Also please NEVER use that account you just posted outside the Test Net, since its secret is now no longer secret)

@intelliot
Thanks for the reply.
By the way, to fund first charge, I need XRP address and tag.
How can I get tag ?

@wc-codebase api.generateAddress() generates a new address that does not yet exist on the ledger. To actually create the account, you need to fund the account by sending at least 20 XRP to it.
(20 XRP is the current base reserve.)
Does that help?

@intelliot
Thanks for the reply.
By the way, to fund first charge, I need XRP address and tag.
How can I get tag ?
And when I create new account, it provides 2 types of addresses - typical address and X-address.
Can I use X-address for funding ?

By the way, to fund first charge, I need XRP address and tag.
How can I get tag ?

A destination tag is just a number; it has no special meaning unless the owner of the address uses it to do something. It's kind of like an apartment number or a phone extension number. So if you're using an interface or something that requires you to input a destination tag when sending to an address you fully control, you can just input 0. If the address belongs to an exchange or some other multi-user thing, then you need to know what your own destination tag is.

And when I create new account, it provides 2 types of addresses - typical address and X-address.
Can I use X-address for funding ?

That depends on the interface you are using. An X-address is actually just a combination of a classic address and a destination tag rolled into one thing. The XRP Ledger protocol doesn't natively understand X-addresses, but there are several wallets and tools that do, so you can use X-addresses if your tool understands them, and if not you'll have to use the classic address and destination tag as a pair.

By the way, to fund first charge, I need XRP address and tag.
How can I get tag ?

A destination tag is just a number; it has no special meaning unless the owner of the address uses it to do something. It's kind of like an apartment number or a phone extension number. So if you're using an interface or something that requires you to input a destination tag when sending to an address you fully control, you can just input 0. If the address belongs to an exchange or some other multi-user thing, then you need to know what your own destination tag is.

And when I create new account, it provides 2 types of addresses - typical address and X-address.
Can I use X-address for funding ?

That depends on the interface you are using. An X-address is actually just a combination of a classic address and a destination tag rolled into one thing. The XRP Ledger protocol doesn't natively understand X-addresses, but there are several wallets and tools that do, so you can use X-addresses if your tool understands them, and if not you'll have to use the classic address and destination tag as a pair.


adding legacy image endpoint

DESCRIPTION
Adds a legacy image endpoint to give us a smoother migration path for customer data.  This doesn't add a legacy endpoint to the admin tool -- seeing the broken images there will help us find any paths to migrate.
TO TEST:  (simple manual steps for confirming core behavior -- used for pre-release checks)

Redeploy apiParticipantApp
check out a past version of the codebase prior to Connor's image updates (e.g. 6c64d25f45c800b1074eb6a6eaba78546b9f40ba)
go to sandbox.ourhealth.localhost:3001
confirm images are loaded, despite the api requests going to .../siteImages/...

Sorry, I should have clarified the issue, but I don't think this solves the problem. I don't think we hardcode any references to the endpoint itself, but we do hardcode {siteImageBaseUrl} which seems to be replaced in the frontend at EmailTemplateEditor.tsx and in EnrolleeEmailSubstitutor.java, and I think if we make both of those allow either siteMediaBaseUrl or siteImageBaseUrl then we will be backwards compatible.


feat(curriculum): add music filter workshop to FSDC

Checklist:

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Closes https://github.com/freeCodeCamp/CurriculumExpansion/issues/622

I see you've not requested any review. Is this ready for reviews?

Yes @Ksound22 it's ready

Thanks for taking a look @moT01 Is it blocked for some reasons other than the requested changes?

No, I found those few issues and added the blocked label before I finished reviewing so it didn't get merged before I finished.


Text updates

Update run.py to bind to localhost by default
Add an AnchorListMixin to avoid manually updating lists of links for sidebar pages
Small updates to about text and readme
Add a section to explain all the files in static.case.law to docs
Update Terms and Privacy to reflect non-login site, and add CC0 license to our data

Note: I didn't extend the AnchorListMixin to other pages besides Terms and Privacy because I wasn't 100% sure I'd done it right, but if it works for others it would make sense to apply it to the other pages that import "../components/cap-anchor-list.js".

A couple of comments:

The navigation is missing on the privacy page.
I see you replaced instances of API with site. There are two more that you might want to replace. One in terms page (.. governs your access to and use of the API) and one in about page (.. Caselaw Access Project API).
Favicons are missing in terms and privacy pages, and also in docs and gallery pages (in case you want to fix these as well while at it).

Thanks! I fixed the missing nav, updated references to "API", and added favicons for those two pages. Also fixed lints.


Feature/add drop combine filters

This change is

Reviewed 49 of 50 files at r1, 6 of 6 files at r2, 2 of 2 files at r3.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


⚠ Jenkins Plugins Artifactory has degraded performance

In b0dc625, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 2436 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 81dc3ea.


Adjust margins for lists with card like items (DEV)

Follow up PR to our previous UX/UI meeting.
We have lists of cards in 3 places, the margins on each where different.

HomeFragment: 16,16,16,16
DiaryOverview: 24,8,24,8
DiaryPerson/Location: 24,16,24,16
CheckIns: 24,16,24,16

I've adjusted the margin to match the home fragment, so when moving from home fragment to diary/checkins the transitions looks nicer because the card sizes match. We also get more estate for texts and titles, which were a bit crunched.

Is there a reason why you only considered this for lists? E.g. Contact Diary -> Add place: the input field or also indented. Could be part of another refactoring round.

Only the lists came up so far, when I find time, I can check the other margings too, but AFAICT, the add person/location margin is correct at 24dp.


upgrade says " Dependency idna not found"

version: rebar 3.0.0-beta-1 on Erlang/OTP 17 Erts 6.4
How to reproduce:

delete _build folder
rebar3 compile
rebar3 upgrade

PS: rebar3 update was executed already.

What project are you using? This stuff does not work on an empty project:
λ /tmp → rebar3 new app
===> Writing mylib/src/mylib_app.erl
===> Writing mylib/src/mylib_sup.erl
===> Writing mylib/src/mylib.app.src
===> Writing mylib/rebar.config
===> Writing mylib/.gitignore
===> Writing mylib/LICENSE
===> Writing mylib/README.md
λ /tmp → cd mylib
λ mylib → rebar3 compile
===> Verifying dependencies...
===> Compiling mylib
λ mylib → rm -rf _build
λ mylib → rebar3 compile
===> Verifying dependencies...
===> Compiling mylib
λ mylib → rebar3 upgrade
===> Verifying dependencies...

I'm using hackney.
{erl_opts, [debug_info]}.
{deps, [
        {hackney, ".*",
         {git, "https://github.com/benoitc/hackney.git",
          {tag, "1.3.0"}}}
       ]}.

Is idna in the lock file? It should complain that it is a transitive dep. Have you tried on master branch of rebar3?

@tsloughter Yes, it's in the lock file. I've tried master branch and it remains the same.
/t/mylib ❯❯❯ cat rebar.lock
[{<<"idna">>,{pkg,<<"idna">>,<<"1.0.2">>},0},
 {<<"ssl_verify_hostname">>,{pkg,<<"ssl_verify_hostname">>,<<"1.0.5">>},0},
 {<<"hackney">>,
  {git,"https://github.com/benoitc/hackney.git",
       {ref,"e8d3b09ac5e74c414b696639d8b966f621a89855"}},
  0}].

/t/mylib ❯❯❯ ./rebar3 deps
hackney (locked git source)
idna (locked package 1.0.2)
ssl_verify_hostname (locked package 1.0.5)

FYI, My project is https://github.com/goofansu/wechat-center

If I use package dependencies, it's no problem.
~/S/wechat-center git:master ❯❯❯ ./rebar3 compile                             ✱
===> Verifying dependencies...
===> Fetching hackney ({pkg,<<"hackney">>,<<"1.3.0">>})
===> Fetching jsx ({pkg,<<"jsx">>,<<"2.6.2">>})
===> Fetching ssl_verify_hostname ({pkg,<<"ssl_verify_hostname">>,
                                           <<"1.0.5">>})
===> Fetching eredis ({pkg,<<"eredis">>,<<"1.0.8">>})
===> Fetching idna ({pkg,<<"idna">>,<<"1.0.2">>})
===> Compiling jsx
===> Compiling ssl_verify_hostname
===> Compiling idna
===> Compiling hackney
===> Compiling eredis
===> Compiling wc
~/S/wechat-center git:master ❯❯❯ cat rebar.lock                               ✱
[{<<"idna">>,{pkg,<<"idna">>,<<"1.0.2">>},1},
 {<<"eredis">>,{pkg,<<"eredis">>,<<"1.0.8">>},0},
 {<<"ssl_verify_hostname">>,{pkg,<<"ssl_verify_hostname">>,<<"1.0.5">>},1},
 {<<"jsx">>,{pkg,<<"jsx">>,<<"2.6.2">>},0},
 {<<"hackney">>,{pkg,<<"hackney">>,<<"1.3.0">>},0}].
~/S/wechat-center git:master ❯❯❯ ./rebar3 upgrade                             ✱
===> Verifying dependencies...
===> No upgrade needed for hackney
===> No upgrade needed for jsx
===> No upgrade needed for ssl_verify_hostname
===> No upgrade needed for eredis
===> No upgrade needed for idna
~/S/wechat-center git:master ❯❯❯

@goofansu I see the issue. In the version that doesn't work for you it somehow has idna at level 0 even though it isn't a top level dep and in the version that works it correctly has idna at level 1.
We can do better with the error message but your config and lock file did not match.

Maybe we just need to subtract the top level deps from the level 0 locks... I'll try that.

Oh! I think I figured out the bug. Because hackney is used as a git repo and idna is a package dep of that dep it is getting a 0 instead of 1 level! Ok, will work on this bug.

I tested #679 and it's ok now.
/t/mylib ❯❯❯ cat rebar.config
{erl_opts, [debug_info]}.
{deps, [
        {hackney,
        {git, "https://github.com/benoitc/hackney.git",
        {tag, "1.3.0"}}}
 ]}.
/t/mylib ❯❯❯ cat rebar.lock
[{<<"idna">>,{pkg,<<"idna">>,<<"1.0.2">>},1},
 {<<"ssl_verify_hostname">>,{pkg,<<"ssl_verify_hostname">>,<<"1.0.5">>},1},
 {<<"hackney">>,
  {git,"https://github.com/benoitc/hackney.git",
       {ref,"e8d3b09ac5e74c414b696639d8b966f621a89855"}},
  0}].
/t/mylib ❯❯❯ ./rebar3 upgrade
===> Verifying dependencies...
===> No upgrade needed for hackney
===> No upgrade needed for ssl_verify_hostname
===> No upgrade needed for idna
/t/mylib ❯❯❯

Thanks!


conformance-dcr run unit tests as part of CI pipeline

An issue has been raised regarding unit tests being broken on the sbat-master branch.
https://github.com/SecureApiGateway/SecureApiGateway/issues/928
It looks like this PR has introduced changes which broke the tests: https://github.com/SecureApiGateway/conformance-dcr/pull/29
The tests are run as part of the PR checks, but these checks failing do not seem to have prevent the PR from being merged. https://github.com/SecureApiGateway/conformance-dcr/pull/29/checks
Improve CI pipeline to prevent PRs from being merged if they have failing checks.

@dbadham-fr @jorgesanchezperez if there's no upcoming work for DCR this week let me know and I'll create a dummy PR to get this pushed through

@dbadham-fr @jorgesanchezperez if there's no upcoming work for DCR this week let me know and I'll create a dummy PR to get this pushed through

Please do that, not sure when we'll get a chance to work on this project.

All three of the steps within buildAndTest.yml are now required to pass before you can merge
The steps include, checking the changes, building the docker image and testing the docker image within devenvs via the CF pipeline
This pipeline only runs when merging to sbat-master there is a separate pipeline called build.yml which runs when merging to branches other than sbat-master think the two have been implemented to avoid having to wait for the tests to run when not merging to main branch


streaming the screen

Why can't I stream the screen? Its a feature but I cant seem to figure out how? Is there an example?

I am looking for the same feature!

I need to record screen and stream it using RTMP, is it possible to do so using your sdk ???


Remove feature flag check from payload write

Educated guess for fixing the top crash, based on the stack trace.

Hrm, this "Outgoing" log message is pretty useful, no?


Initial schema of form builder tables based on json structures.

Small set of tables - no test data yet & no tests as we are waiting to define our java interfaces which will inform the schemas of these objects somewhat.

One problem - the test database doesn't know about the jsonb data type.  I guess it's not a great mock of postgres.  That's going to make unit tests very irritating.

One problem - the test database doesn't know about the jsonb data type.  I guess it's not a great mock of postgres.  That's going to make unit tests very irritating.

One problem - the test database doesn't know about the jsonb data type. I guess it's not a great mock of postgres. That's going to make unit tests very irritating.

That's a bummer, but I'd be super surprised if there weren't a solution for this given the popularity of postgres/jsonb

One problem - the test database doesn't know about the jsonb data type. I guess it's not a great mock of postgres. That's going to make unit tests very irritating.

That's a bummer, but I'd be super surprised if there weren't a solution for this given the popularity of postgres/jsonb

This is going to require a revamp of testing - I'll swap us to using the Testcontainers framework most likely, to get a real postgres db - and will make the naming changes once I get that running.

This is going to require a revamp of testing - I'll swap us to using the Testcontainers framework most likely, to get a real postgres db - and will make the naming changes once I get that running.

Okay - got the tests running, got the builder revamped to work better with this new model.
Had many problems getting this to work, which ultimately seem to have been caused by a mismatch between my local machine's versions of several plugins and java and the containers'.  Many confusing errors caused by that.

Okay - got the tests running, got the builder revamped to work better with this new model.
Had many problems getting this to work, which ultimately seem to have been caused by a mismatch between my local machine's versions of several plugins and java and the containers'.  Many confusing errors caused by that.


Godot games do not set windowing hints

Operating system or device, Godot version, GPU Model and driver (if graphics related):
Linux, Godot 2.1.4
Issue description:
Certain window managers such as i3 default to "tiling" mode, where they set the width,height, and position of windows. In order for applications to set their own width and height, they must enter "floating" mode, which can be done by setting _NET_WM_WINDOW_TYPE to DIALOG, UTILITY, SPLASH, or TOOLBAR.
Godot games do not set _NET_WM_WINDOW_TYPE, thus default to NORMAL. Tiling window managers will force the window larger, exposing more of the scene than would ever be expected.
Based on https://standards.freedesktop.org/wm-spec/wm-spec-latest.html#idm140200472629520, I would suggest UTILITY as being the most relevant and having the least side effects.
Steps to reproduce:
Use a tiling window manager (such as i3wm)
Run a godot game
Running the xprop utility on the window shows a lack of WINDOW_TYPE

Setting it to UTILITY does not work well at all. Only tested this quickly under Budgie (Mutter WM) but you could no longer minimize nor maximize the window anymore. It also does not show up on the taskbar anymore.
SPLASH removes the window decorations and makes the windows unmovable. DIALOG is like UTILITY but the windows show up in the taskbar. TOOLBAR is like SPLASH but also removes it from the taskbar.
Not anyone of them seems like a good candidate and this feels like a hackish solution. Does tiling wm:s not set the size to the WM_SIZE_HINTS if both min and max values have been set?

As far as i3 goes, here's the block that specifies this:
https://github.com/i3/i3/blob/55bc6741796e8b179b6111a721a3e9631934bb86/src/manage.c#L435
It seems that setting max and min will work, but I'm not sure about anything else.

Can you try going in to project settings and setting the game window to not resizeable. It worls by setting min & max to the same value

Turning "Resizable" off means that the window is still tiled, but when set to floating does not snap back to it's normal width/height

i3 does not expose a cross-platform way to enable floating for the window beyond the above, nor is it in the scope of Godot to include WM-specific code to enable such a function, or to set the WM_TYPE to an incorrect value.
If i3 users want a resizable Godot window to start out floating, then they may add a rule in their i3 config; it's simple (I've done it myself) and well within the minimum technical knowledge required to use i3.
Can you confirm with the latest Godot 3 / master that setting resizable off does not result in the window becoming floating?

Confirming continued behaviour with 3.0.6.stable.official.8314054, both the lack of auto-floating, and turning resizing off still causes the window size to be set at what i3 initialized it to. (I will admit, Web's comment makes enough sense that they may have the correct answer here)

Will attempt to track down the resizing issue. It may be an issue in i3 (at which point I am unable to resolve the issue), or it may be an issue in Godot's platform initialization.
Regarding auto-floating, I must reaffirm my original stance - it is not achievable without engine changes specific to a WM, (and the changes are arguably incorrect with regards to the scope and purpose of the WM_TYPE hints) and thus is outside of the scope of Godot.
If/when Godot gains multi-window support, setting the window's type hint may well be possible for developers to do without recompiling the engine; it will then be up to individual Godot users to determine what type hint they set on windows they create.

Is this still an issue with the recent DisplayServer merge?

I'll close this as nobody else has been able to reproduce this recently. Please comment (with the issue template filled) if you can still reproduce this.


Loess -- Returning NaNs.

I have run into an issue with loess where, for a set of points, all the weights are becoming 0, thus leaving NaN as the result for a piece of the fit. I'm going to try to put together a simple test case.

Ok -- found the issue. Array.prototype.sort, as called on line 117 of loess.js, sorts lexicographically by default, not numerically. Occasionally this might not be detectable, as when finding the median, plenty of values that may be randomly returned are "good enough".

Hi @joearasin , is this issue fixed? Actually I still got the same issue of returning NaNs.
Please see my following code,
x = [336, 348, 359, 370, 381, 392, 403, 414, 425, 436, 447, 459, 470, 481, 492, 503, 514, 525, 535, 546, 556, 568, 579, 590, 601, 612, 623, 634, 645, 656, 667, 668, 671];
y = [74424, 80523, 76017, 79656, 80387, 85514, 83565, 82273, 85214, 85977, 71245, 73222, 70282, 73039, 75512, 108677, 83249, 83261, 85322, 85880, 82211, 89690, 85743, 83391, 85897, 106901, 108514, 110311, 89848, 89238, 90288, 96918, 94159];
weight1 = [0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1];

var loess2 = science.stats.loess(); loess2.bandwidth(0.08);
 yValuesSmoothed = loess2(x, y, weight1);

This will return all NaNs.
[NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN]
Using another weight, it will return several NaNs.
x = [336, 348, 359, 370, 381, 392, 403, 414, 425, 436, 447, 459, 470, 481, 492, 503, 514, 525, 535, 546, 556, 568, 579, 590, 601, 612, 623, 634, 645, 656, 667, 668, 671];
y = [74424, 80523, 76017, 79656, 80387, 85514, 83565, 82273, 85214, 85977, 71245, 73222, 70282, 73039, 75512, 108677, 83249, 83261, 85322, 85880, 82211, 89690, 85743, 83391, 85897, 106901, 108514, 110311, 89848, 89238, 90288, 96918, 94159];
weight2 = [1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1];

var loess2 = science.stats.loess(); loess2.bandwidth(0.08);
 yValuesSmoothed = loess2(x, y, weight2);

The result is
[74424, 80523, 76017, 79656, 80387, 85514, NaN, 82273, 82273, 71245, 71245, 73222, 70282, 73039, 75512, 108677, 83249, 83261, 85322, 85880, 82211, 89690, NaN, 83391, 85897, 106901, 108514, 110311, NaN, 89238, 90288, 96918, 94159]


[WIP]sync and use of ESXi template

这个 PR 实现什么功能/修复什么问题:

是否需要 backport 到之前的 release 分支:

Codecov Report

Merging #8265 into master will decrease coverage by 1.00%.
The diff coverage is 0.00%.

@@            Coverage Diff            @@
##           master   #8265      +/-   ##
=========================================
- Coverage    6.11%   5.11%   -1.01%
=========================================
  Files         762     375     -387
  Lines      118035   70438   -47597
=========================================
- Hits         7213    3600    -3613
+ Misses     110168   66579   -43589
+ Partials      654     259     -395

Flag
Coverage Δ

#aFlag
5.11% <0.00%> (-1.01%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/multicloud/esxi/datacenter.go
0.00% <0.00%> (ø)

pkg/multicloud/esxi/host.go
0.84% <ø> (+<0.01%)
:arrow_up:

pkg/multicloud/esxi/storagecache.go
0.00% <0.00%> (ø)

pkg/appsrv/response.go
64.40% <0.00%> (-3.39%)
:arrow_down:

pkg/compute/regiondrivers/aliyun.go

pkg/cloudcommon/db/update.go

pkg/cloudcommon/db/owner.go

pkg/compute/guestdrivers/baremetals.go

pkg/util/fileutils2/exists.go

pkg/multicloud/aws/dnstrafficpolicy.go

... and 381 more

Continue to review full report at Codecov.

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

/lgtm

/lgtm

/approve


Exam 17 - Question 9

Which of the following is an advantage of using AWS?
A. AWS audits user data.
B. Data is automatically secure.
C. There is no guessing on capacity needs.
D. AWS manages compliance needs.
The given answer is D, however I think that C is a better one.

@StefH https://docs.aws.amazon.com/whitepapers/latest/aws-overview/six-advantages-of-cloud-computing.html
I think C as as well;
Trade fixed expense for variable expense – Instead of having to invest heavily in data centers and servers before you know how you’re going to use them, you can pay only when you consume computing resources, and pay only for how much you consume.
Benefit from massive economies of scale – By using cloud computing, you can achieve a lower variable cost than you can get on your own. Because usage from hundreds of thousands of customers is aggregated in the cloud, providers such as AWS can achieve higher economies of scale, which translates into lower pay as-you-go prices.
Stop guessing capacity – Eliminate guessing on your infrastructure capacity needs. When you make a capacity decision prior to deploying an application, you often end up either sitting on expensive idle resources or dealing with limited capacity. With cloud computing, these problems go away. You can access as much or as little capacity as you need, and scale up and down as required with only a few minutes’ notice.
Increase speed and agility – In a cloud computing environment, new IT resources are only a click away, which means that you reduce the time to make those resources available to your developers from weeks to just minutes. This results in a dramatic increase in agility for the organization, since the cost and time it takes to experiment and develop is significantly lower.
Stop spending money running and maintaining data centers – Focus on projects that differentiate your business, not the infrastructure. Cloud computing lets you focus on your own customers, rather than on the heavy lifting of racking, stacking, and powering servers.
Go global in minutes – Easily deploy your application in multiple regions around the world with just a few clicks. This means you can provide lower latency and a better experience for your customers at minimal cost.


[T2A3][T6-Unknown]Song Kai

Ready for review.

Good job in following the instructions for this excercise!


[Jetchat] Avoid leaving VM in a wrong state when open is interrupted

@googlebot I signed it!

#675

1


TC2 Support

Will support for TC2 Elite also become available?

The module is build on the official API so the TC2 should be supported. At this moment I programmed some stuff fixed like amount of ddr players etc. Might need to change that for different switchers. I'll close this one and please reopen if you model doesn't work.


Is there a way to detect when text effect is completed (e.g. if typing - detect if typing is finished).

I think you could probably calculate this yourself right now using the text_progress attribute of the typing effect class, but I expect I could make this a lot cleaner and likely consistent across all the effects so you can just call a simple function on any of them to see if they are done or not.

@MyreMylar another feature would be useful: to have a callback when effect is done?

This was added as a new UI event in 0.6.0:
https://pygame-gui.readthedocs.io/en/latest/events.html#uitextbox-ui-text-effect-finished


Replace Basic Auth with OAuth2 (JWT)

Remove basic-auth from the security config, and instead utilize OAuth2 using JWT tokens.

This should also remove the adminPassword property or otherwise emit a warning if the server starts-up with this in-use. For dev purposes, it would be nice to not have to specify this value, but we want to make sure real Connectors don't get deployed with this turned on.
A better way to make this happen potentially is to optionally disable admin-api security if running in "dev-mode". That way, if you download the connector and just run it, you should be able to administer it as a toy-connector. But if you tried to deploy it for real, the default profile would not be dev_mode, so this functionality would never work in production.

Closing this for now unless there are Canny votes for it. See


Creating files and directories not working

When using f create <filename> and the Pastebin commands it doesn't seem to create a file. It also doesn't create a folder for the computer when you place one. When trying to run it with python <filename> it gives a Python error saying that the file does not exist. You can still create a folder for the computer yourself and add the python file and it runs fine, it just doesn't create files or folders itself.
Using version 1.20.4, paper

Edit: I get this error when I restart my server, I think it is related to a permission error.
[16:37:03 WARN]: java.io.IOException: Permission denied
[16:37:03 WARN]:        at java.base/java.io.UnixFileSystem.createFileExclusively(Native Method)
[16:37:03 WARN]:        at java.base/java.io.File.createNewFile(File.java:1043)
[16:37:03 WARN]:        at MCC-1.2-SNAPSHOT.jar//mcc.storage.Storage.uploadComputer(Storage.java:34)
[16:37:03 WARN]:        at MCC-1.2-SNAPSHOT.jar//mcc.MCC.onDisable(MCC.java:56)
[16:37:03 WARN]:        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:290)
[16:37:03 WARN]:        at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.disablePlugin(PaperPluginInstanceManager.java:223)
[16:37:03 WARN]:        at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.disablePlugins(PaperPluginInstanceManager.java:147)
[16:37:03 WARN]:        at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.disablePlugins(PaperPluginManagerImpl.java:92)
[16:37:03 WARN]:        at org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginManager.java:528)
[16:37:03 WARN]:        at org.bukkit.craftbukkit.v1_20_R3.CraftServer.disablePlugins(CraftServer.java:570)
[16:37:03 WARN]:        at net.minecraft.server.MinecraftServer.t(MinecraftServer.java:974)
[16:37:03 WARN]:        at net.minecraft.server.dedicated.DedicatedServer.t(DedicatedServer.java:822)
[16:37:03 WARN]:        at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:1265)
[16:37:03 WARN]:        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319)
[16:37:03 WARN]:        at java.base/java.lang.Thread.run(Thread.java:840)

Sorry for the late response, haven't spent much time on this plugin in a while. Yes, it is most likely a permission problem. I don't get this error on my pc. Maybe try running the server with admin permissions. So for Linux sudo run.sh or whatever it is. Please let me know if this works and I will try my best to fix it if it doesn't.


Video Describing Central Logging Solution

Video to describe central logging solution, covering the hows and whys of each technology used.

First draft released yesterday, comments collected working on a final draft for review.

Done, reviewed, ready for upload to YouTube. Waiting on official YouTube channel.

Finished: https://www.youtube.com/watch?v=hWbo2EfEciI&feature=youtu.be


Consolidate the two redundant/conflicting cloud.gov incident response pages (March 13)

In order for an IC to be able to follow an orderly incident process, we need to have one single cloud.gov IR page instead of two pages (to accompany the 18F IR page).
Background information
We have 3 pages to consult for security incident responses.

cloud.gov IR checklist
cloud.gov IR guide
18F ir guide

They are in some cases redundant and in some cases contradictory, they contain circular references to each other, and in all cases it's a lot to look at.
We should either turn the checklist page into an actual checklist template, or merge it back into the incident response page
Acceptance criteria

[ ] We have one single cloud.gov IR page that has a linear section for an IR to follow in an incident
[ ] The deleted one redirects to the central one

Our work is dependent on the work that is being done by TTS Infrastructure around incident response. Once they deconflict, then we'll be able to be added to the TTS plan. Blocked for now.

blocked by 18F/tts-tech-portfolio#77

TTS has committed to having these de-conflicted by the end of January 2020.

@hillaryj -- to clarify, when you mention contractors, you mean contractors supporting cloud.gov and not an application owner, correct?

Correct - we have contractors on our platform engineering team.

This will eventually need to be split into two pieces of work- TTS stuff and cloud.gov stuff. We're verifying the proposed workflow and continuing to refine. Probably 3-4 more sprints before we have a proposed workflow.

Bumping this onto the Project Planning board since we need to still run an IR exercise and our IR guides

need to be more be more helpful
need to have dates for "last updated/reviewed"

Related: these notes from routes w/o routers follow up yesterday:
StatusPage has been helpful and when we have serious long-running issues, we pick a person to keep things communicated out and noise to the team down
We’ve been getting better about this, but need to be on top of:
    Notes doc started
    Incident process kicked off
    IC determined

Notes related to 🎃 Halloween activity

[ ] We need a "suspicious activity" support path, e.g. we let gsa-ir know.


Loosen return type docs

Description
Return types are not specified on the RESTful controllers but they are in the doc blocks. Frequently an endpoint will need to return a RedirectResponse or ResponseInterface which will cause static analysis complaints. This PR loosens the return type doc completely to allow developers to set their own.
Checklist:

[X] Securely signed commits
[X] Component(s) with PHPdocs
[ ] Unit testing, with >80% coverage
n/a User guide updated
[X] Conforms to style guide

Yep! Working on it. I was trying to do it from GitHub UI bc I was lazy but that didn't work out...

Yep! Working on it. I was trying to do it from GitHub UI bc I was lazy but that didn't work out...

I must try GitHub UI once in a while. The ads looks exquisite though. 😂


Add ASM specific resource classes

Resource and UnnamedResource classes need their ASM variation to accommodate for ASM endpoint proper functionality

Is there a consistency among the other modules like AFM, APM, AAM with regards to the special cases, or are they all different in how the API is formulated for resource modification?

never tested those, I am focusing on ASM, I would expect APM to differ as well, since both products have separate sections in the REST guides

this has been merged


'Update Committee Pages “governingBoard”'
Signed-off-by: Wes Wilson

Automatically generated by Netlify CMS

Testing signed commits through Netlify CMS, still running into issues


Keyword categorization (i.e. tagging) support

Originally submitted to Google Code by imranoftherings on 4 Aug 2011

Many time you can bunch keywords in natural categories. In these cases you want to be able to specify the category and the usage doc to be created in a categorized manner.
Keyword 1
[Category]  category1
Keyword 2
[Category]  category1
Keyword New 1
[Category]  category2
Documentation
category1
|---- Keyword 1
|---- Keyword 2
category2
|---- Keyword New 1

A related idea (should this be its own issue?):
Once keywords can be tagged, it would be nice if we could use tag: with the --flattenkeywords and --removekeywords options.

Using tags w/ flatten/remove is a good idea. Would be good to have it as a separate issue. Can you submit it?

We still need to document this, but otherwise it should be ready.

Small doc enhancements in a1378ee350dd4c0801dc7ad36d9e0f15605282b4. This issue is done!!


Feature/project development

This project is a clone of the newsweek.com site. It features the following:

Responsive elements using mostly Bootstrap on HTML, and complimented with SASS.
Different configurations for mobile, tablet and desktop views
Responsive and sticky navbars.

Added missing parts
Added all 3 views
Corrected Lintern errors

Fixed every issue proposed

Subscribe section alignment has been fixed

Fixed requested issues

This Pull Request is under review by descholar-ceo :eyes: :eyes:
Please wait a bit ...


🐛 Unable to create FlutterView; no MTLDevice or MTLCommandQueue available on MacOS

Describe the bug
Empty window instead of widgets on MacOS with flutter >= 3.7.0
To Reproduce
Steps to reproduce the behavior:

Get last version of Flutter
Get last version of Fluent UI example from git
Run example application on MacOS
Application started with empty window. Console says:

Launching lib/main.dart on macOS in debug mode...
Building macOS application...
2023-02-15 18:01:07.952 example[6306:44562] Could not acquire Metal device.
2023-02-15 18:01:07.954 example[6306:44562] Unable to create FlutterView; no MTLDevice or MTLCommandQueue available.

Flutter doctor says:
[✓] Flutter (Channel stable, 3.7.3, on macOS 13.2 22D49 darwin-x64, locale en-UA)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
[✗] Chrome - develop for the web (Cannot find Chrome executable at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
[!] Android Studio (not installed)
[✓] VS Code (version 1.75.1)
[✓] Connected device (1 available)
[✓] HTTP Host Availability

This looks like a bug in flutter itself. See https://github.com/flutter/flutter/issues/120154. Closing as invalid


Plugging in the charger on my laptop triggers the lid switch

Hyprland Version
 System/Version info
➜  ~ hyprctl version
Hyprland, built from branch HEAD at commit 84ab8d11e8951a6551d1e1bf87796a8589da6d47  (props: bump ver to 0.35.0).
Date: Mon Feb 5 01:59:02 2024
Tag: v0.35.0

flags: (if any)

➜  ~ hyprctl systeminfo
Hyprland, built from branch HEAD at commit 84ab8d11e8951a6551d1e1bf87796a8589da6d47  (props: bump ver to 0.35.0).
Date: Mon Feb 5 01:59:02 2024
Tag: v0.35.0

flags: (if any)

System Information:
System name: Linux
Node name: HayyanVivobook
Release: 6.7.8-arch1-1
Version: #1 SMP PREEMPT_DYNAMIC Sun, 03 Mar 2024 00:30:36 +0000

GPU information:
0000:00:02.0 VGA compatible controller [0300]: Intel Corporation Raptor Lake-P [Iris Xe Graphics] [8086:a7a0] (rev 04) (prog-if 00 [VGA controller])
	DeviceName: VGA

os-release: NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo

plugins:
  hycov by DreamMaoMao ver 0.2

Bug or Regression?
Bug
Description
Hyprland is running bindl = switch:on:lid Switch on plugging in my laptop's charger
How to reproduce
So on my laptop (Asus Vivobook X1605VA), just put bindl = switch:on:lid Switch, exec, touch test in the config file, and every time you plugin the charger it will execute touch hi.
Crash reports, logs, images, videos
No response

#4836
kernel bug I believe. Samo on my asus.

Is there a work around for this? My camera toggle is toggling my lid switch on my laptop which logs it out and suspends it. That's not what I want my camera toggle to do.

IIRC no, only thing you can do is wait a second and check if the lid state wasnt toggled again


chore(auth): Auth fixes and method additions

This PR closes:
#71, #107, #124, #112, #106.
Changelog:

fix: af.auth.login({ email: 'email', password: 'pass' }) fails with just credentials. #71, #107
fix: Populate expires to field in FirebaseAuthState. #112
feature: Added af.auth.getAuth(). #124
feature: Added af.auth.createUser({ email: 'email', password: 'pass' }) #106

LGTM with a little cleanup!

Whenever I use the af.auth.getAuth() anywhere in my Ionic2 app I get an error saying:
Unhandled Promise rejection: EXCEPTION: Error in :0:0 ORIGINAL EXCEPTION: TypeError: Cannot read property 'uid' of null ORIGINAL STACKTRACE: TypeError: Cannot read property 'uid' of null     at Object.authDataToAuthState (http://localhost:8100/build/js/app.bundle.js:36482:23)     at FirebaseSdkAuthBackend.getAuth (http://localhost:8100/build/js/app.bundle.js:36565:31)     at AngularFireAuth.getAuth (http://localhost:8100/build/js/app.bundle.js:36389:34)     at new MyApp (http://localhost:8100/build/js/app.bundle.js:19:17)     at DebugAppView._View_MyApp_Host0.createInternal (MyApp_Host.template.js:15:21)     at DebugAppView.AppView.create (http://localhost:8100/build/js/app.bundle.js:25627:21)     at DebugAppView.create (http://localhost:8100/build/js/app.bundle.js:25820:44)     at ComponentFactory.create (http://localhost:8100/build/js/app.bundle.js:24941:36)     at http://localhost:8100/build/js/app.bundle.js:20224:44     at http://localhost:8100/build/js/app.bundle.js:20202:26
Is there something that needs to be imported? I'm trying to do this in my app.ts:
import {Component} from '@angular/core';
import {ionicBootstrap, Platform} from 'ionic-angular';
import {StatusBar} from 'ionic-native';
import {TabsPage} from './pages/tabs/tabs';
import {LoginPage} from './pages/login/login';
import {IntroPage} from './pages/intro/intro';

import {FIREBASE_PROVIDERS,
  defaultFirebase,
  AngularFire,
  AuthMethods,
  AuthProviders,
  firebaseAuthConfig,
  FirebaseAuthState} from 'angularfire2';

@Component({
  template: '<ion-nav [root]="rootPage"></ion-nav>',
})
export class MyApp {
  rootPage: any;
  public fireAuth: any;

  constructor(platform: Platform, public af: AngularFire) {
    this.fireAuth = af.auth.getAuth();

    if (this.fireAuth) {
      this.rootPage = TabsPage;
    } else {
      this.rootPage = LoginPage;
    }

    platform.ready().then(() => {

      StatusBar.styleDefault();
    });
  }
}

ionicBootstrap(MyApp, [
  FIREBASE_PROVIDERS,
  defaultFirebase({
    apiKey: "",
    authDomain: "",
    databaseURL: "",
    storageBucket: ""
  }),
  firebaseAuthConfig({
    provider: AuthProviders.Password,
    method: AuthMethods.Password,
  })
], {});


Unable to add Profile Component to Profile

When I try to add a profile component I get an error message "Select an item" and cannot go ahead any further.

@stan-thomas could you help provide the steps to reproduce this error?


New version: InteratomicPotentials v0.1.15

Registering package: InteratomicPotentials
Repository: https://github.com/cesmix-mit/InteratomicPotentials.jl
Created by: @jrdegreeff
Version: v0.1.15
Commit: 3090ec0d757802237d8009023ece0d348d1df522
Reviewed by: @jrdegreeff
Reference: https://github.com/cesmix-mit/InteratomicPotentials.jl/commit/3090ec0d757802237d8009023ece0d348d1df522#commitcomment-69654155
Description: Contains methods and types for a variety interatomic potentials.

Reasoning for the skip in publicly released version numbers from 0.1.2 to 0.1.15:
We have been using  a private local registry during development of new features over the last couple of months for which we used version numbers 0.1.3 - 0.1.14. We want to publicly release the newest version (0.1.15), but it doesn't have any breaking changes, so we don't want to give it a 0.2.0 number.