Add bk, zk securityContext to support upgrade to non-root docker image

Master Issue: https://github.com/apache/pulsar/issues/11269
Motivation
Apache Pulsar's docker images for 2.10.0 and above are non-root by default. In order to ensure there is a safe upgrade path, we need to expose the securityContext for the Bookkeeper and Zookeeper StatefulSets. Here is the relevant k8s documentation on this k8s feature: https://kubernetes.io/docs/tasks/configure-pod-container/security-context.
Once released, all deployments using the default values.yaml configuration for the securityContext will pay a one time penalty on upgrade where the kubelet will recursively chown files to be root group writable. It's possible to temporarily avoid this penalty by setting securityContext: {}.
Modifications

Add config blocks for the bookkeeper.securityContext and zookeeper.securityContext.
Default to fsGroup: 0. This is already the default group id in the docker image, and the docker image assumes the user has root group permission.
Default to fsGroupChangePolicy: "OnRootMismatch". This configuration will work for all deployments where the user id is stable. If the user id switches between restarts, like it does in OpenShift, please set to Always.
Remove gc configuration writing to directory that the user lacks permission. (Perhaps we want to write to /pulsar/log/bookie-gc.log?)
Add documentation to the README.

Verifying this change
I first attempted verification of this change with minikube. It did not work because minikube uses hostPath volumes by default. I then tested on EKS v1.21.9-eks-0d102a7. I tested by deploying the current, latest version of the helm chart (2.9.3) and then upgrading to this PR's version of the helm chart along with using the 2.10.0 docker image. I also tested upgrading from a default version
Test 1 is a plain upgrade using the default 2.9.3 version of the chart, then upgrading to this PR's version of the chart with the modification to use the 2.10.0 docker images. It worked as expected.
$ helm install test apache/pulsar
$ # Wait for chart to deploy, then run the following, which uses Pulsar version 2.10.0:
$  helm upgrade test -f charts/pulsar/values.yaml charts/pulsar/

Test 2 is a plain upgrade using the default 2.9.3 version of the chart, then an upgrade to this PR's version of the chart, then an upgrade to this PR's version of the chart using 2.10.0 docker images. There is a minor error described in the README.md. The solution is to chown the bookie's data directory.
$ helm install test apache/pulsar
$ # Wait for chart to deploy, then run the following, which uses Pulsar version 2.9.2:
$  helm upgrade test -f charts/pulsar/values.yaml charts/pulsar/
$ # Upgrade using Pulsar version 2.10.0
$  helm upgrade test -f charts/pulsar/values.yaml charts/pulsar/

GC Logging
In my testing, I ran into the following errors when using -Xlog:gc:/var/log/bookie-gc.log:
pulsar-bookkeeper-verify-clusterid [0.008s] Error opening log file '/var/log/bookie-gc.log': Permission denied
pulsar-bookkeeper-verify-clusterid [0.008s] Initialization of output 'file=/var/log/bookie-gc.log' using options '(null)' failed.
pulsar-bookkeeper-verify-clusterid [0.005s] Error opening log file '/var/log/bookie-gc.log': Permission denied
pulsar-bookkeeper-verify-clusterid [0.006s] Initialization of output 'file=/var/log/bookie-gc.log' using options '(null)' failed.
pulsar-bookkeeper-verify-clusterid Invalid -Xlog option '-Xlog:gc:/var/log/bookie-gc.log', see error log for details.
pulsar-bookkeeper-verify-clusterid Error: Could not create the Java Virtual Machine.
pulsar-bookkeeper-verify-clusterid Error: A fatal exception has occurred. Program will exit.
pulsar-bookkeeper-verify-clusterid Invalid -Xlog option '-Xlog:gc:/var/log/bookie-gc.log', see error log for details.
pulsar-bookkeeper-verify-clusterid Error: Could not create the Java Virtual Machine.
pulsar-bookkeeper-verify-clusterid Error: A fatal exception has occurred. Program will exit.

I resolved the error by removing the setting.
OpenShift Observations
I wanted to seamlessly support OpenShift, so I investigated using configuring the bookkeeper and zookeeper process with umask 002 so that they would create files and directories that are group writable (OpenShift has a stable group id, but gives the process a random user id). That worked for most tools when switching the user id, but not for RocksDB, which creates a lock file at /pulsar/data/bookkeeper/ledgers/current/ledgers/LOCK with the permission 0644 ignoring the umask. Here is the relevant error:
2022-05-14T03:45:06,903+0000  ERROR org.apache.bookkeeper.server.Main - Failed to build bookie server
java.io.IOException: Error open RocksDB database
    at org.apache.bookkeeper.bookie.storage.ldb.KeyValueStorageRocksDB.<init>(KeyValueStorageRocksDB.java:199) ~[org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
    at org.apache.bookkeeper.bookie.storage.ldb.KeyValueStorageRocksDB.<init>(KeyValueStorageRocksDB.java:88) ~[org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
    at org.apache.bookkeeper.bookie.storage.ldb.KeyValueStorageRocksDB.lambda$static$0(KeyValueStorageRocksDB.java:62) ~[org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
    at org.apache.bookkeeper.bookie.storage.ldb.LedgerMetadataIndex.<init>(LedgerMetadataIndex.java:68) ~[org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
    at org.apache.bookkeeper.bookie.storage.ldb.SingleDirectoryDbLedgerStorage.<init>(SingleDirectoryDbLedgerStorage.java:169) ~[org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
    at org.apache.bookkeeper.bookie.storage.ldb.DbLedgerStorage.newSingleDirectoryDbLedgerStorage(DbLedgerStorage.java:150) ~[org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
    at org.apache.bookkeeper.bookie.storage.ldb.DbLedgerStorage.initialize(DbLedgerStorage.java:129) ~[org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
    at org.apache.bookkeeper.bookie.Bookie.<init>(Bookie.java:818) ~[org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
    at org.apache.bookkeeper.proto.BookieServer.newBookie(BookieServer.java:152) ~[org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
    at org.apache.bookkeeper.proto.BookieServer.<init>(BookieServer.java:120) ~[org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
    at org.apache.bookkeeper.server.service.BookieService.<init>(BookieService.java:52) ~[org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
    at org.apache.bookkeeper.server.Main.buildBookieServer(Main.java:304) ~[org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
    at org.apache.bookkeeper.server.Main.doMain(Main.java:226) [org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
    at org.apache.bookkeeper.server.Main.main(Main.java:208) [org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
Caused by: org.rocksdb.RocksDBException: while open a file for lock: /pulsar/data/bookkeeper/ledgers/current/ledgers/LOCK: Permission denied
    at org.rocksdb.RocksDB.open(Native Method) ~[org.rocksdb-rocksdbjni-6.10.2.jar:?]
    at org.rocksdb.RocksDB.open(RocksDB.java:239) ~[org.rocksdb-rocksdbjni-6.10.2.jar:?]
    at org.apache.bookkeeper.bookie.storage.ldb.KeyValueStorageRocksDB.<init>(KeyValueStorageRocksDB.java:196) ~[org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
    ... 13 more

As such, in order to support OpenShift, I exposed the fsGroupChangePolicy, which allows for OpenShift support, but not necessarily seamless support.

The error comes from the bookie-init job in the Zookeeper TLS tests. We're seeing similar errors in https://github.com/apache/pulsar-helm-chart/pull/260. It fails running this code:
bin/apply-config-from-env.py conf/bookkeeper.conf; /pulsar/keytool/keytool.sh toolset ${HOSTNAME}.pulsar-ci-toolset.pulsar.svc.cluster.local true; if bin/bookkeeper shell whatisinstanceid; then
  echo "bookkeeper cluster already initialized";
else
  bin/bookkeeper shell initnewcluster;
fi

Specifically, the logs show that bin/bookkeeper shell whatisinstanceid connects to zookeeper, fails to find the instance id, and then bin/bookkeeper shell initnewcluster is run and times out while opening a connection to zookeeper. I looked at this a bit tonight, but couldn't find anything relevant. The one oddity in the bookie init logs is the last log line where it logs that it handles a new connection. That time is somewhat close to the time that the zookeeper expires an old connection. It could just be a coincidence.
Bookie init logs:
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 2022-05-14T04:49:40,679+0000 [main] INFO  org.apache.zookeeper.ClientCnxnSocket - jute.maxbuffer value is 1048575 Bytes
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 2022-05-14T04:49:40,919+0000 [main] INFO  org.apache.zookeeper.ClientCnxn - zookeeper.request.timeout value is 0. feature enabled=false
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 2022-05-14T04:49:41,161+0000 [main-SendThread(pulsar-ci-zookeeper:2281)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server pulsar-ci-zookeeper/<IP_ADDRESS>:2281.
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 2022-05-14T04:49:41,161+0000 [main-SendThread(pulsar-ci-zookeeper:2281)] INFO  org.apache.zookeeper.ClientCnxn - SASL config status: Will not attempt to authenticate using SASL (unknown error)
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 2022-05-14T04:50:21,359+0000 [main-SendThread(pulsar-ci-zookeeper:2281)] WARN  org.apache.zookeeper.ClientCnxn - Client session timed out, have not heard from server in 40358ms for session id 0x0
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 2022-05-14T04:50:22,663+0000 [main-SendThread(pulsar-ci-zookeeper:2281)] WARN  org.apache.zookeeper.ClientCnxn - An exception was thrown while closing send thread for session 0x0.
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] org.apache.zookeeper.ClientCnxn$SessionTimeoutException: Client session timed out, have not heard from server in 40358ms for session id 0x0
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 	at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1258) [org.apache.zookeeper-zookeeper-3.6.3.jar:3.6.3]
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 2022-05-14T04:50:27,458+0000 [main] INFO  org.apache.zookeeper.ClientCnxnSocketNetty - channel is told closing
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 2022-05-14T04:50:27,677+0000 [main] INFO  org.apache.zookeeper.ZooKeeper - Session: 0x0 closed
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 2022-05-14T04:50:27,776+0000 [main] ERROR org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase - Failed to create zookeeper client to pulsar-ci-zookeeper:2281
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 	at org.apache.zookeeper.KeeperException.create(KeeperException.java:102) ~[org.apache.zookeeper-zookeeper-3.6.3.jar:3.6.3]
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 	at org.apache.bookkeeper.zookeeper.ZooKeeperWatcherBase.waitForConnection(ZooKeeperWatcherBase.java:159) ~[org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 	at org.apache.bookkeeper.zookeeper.ZooKeeperClient$Builder.build(ZooKeeperClient.java:260) ~[org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 	at org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase.initialize(ZKMetadataDriverBase.java:207) [org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 	at org.apache.bookkeeper.meta.zk.ZKMetadataBookieDriver.initialize(ZKMetadataBookieDriver.java:60) [org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 	at org.apache.bookkeeper.meta.MetadataDrivers.runFunctionWithMetadataBookieDriver(MetadataDrivers.java:345) [org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 	at org.apache.bookkeeper.meta.MetadataDrivers.runFunctionWithRegistrationManager(MetadataDrivers.java:372) [org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 	at org.apache.bookkeeper.client.BookKeeperAdmin.initNewCluster(BookKeeperAdmin.java:1278) [org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 	at org.apache.bookkeeper.tools.cli.commands.bookies.InitCommand.apply(InitCommand.java:56) [org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 	at org.apache.bookkeeper.bookie.BookieShell$InitNewCluster.runCmd(BookieShell.java:334) [org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 	at org.apache.bookkeeper.bookie.BookieShell$MyCommand.runCmd(BookieShell.java:238) [org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 	at org.apache.bookkeeper.bookie.BookieShell.run(BookieShell.java:2278) [org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 	at org.apache.bookkeeper.bookie.BookieShell.main(BookieShell.java:2369) [org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 2022-05-14T04:50:27,432+0000 [globalEventExecutor-1-1] WARN  org.apache.zookeeper.ClientCnxnSocketNetty - future isn't success.
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] io.netty.util.concurrent.DefaultPromise$LeanCancellationException: null
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 	at io.netty.util.concurrent.DefaultPromise.cancel(...)(Unknown Source) ~[io.netty-netty-common-4.1.74.Final.jar:4.1.74.Final]
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 2022-05-14T04:50:27,722+0000 [main-EventThread] INFO  org.apache.zookeeper.ClientCnxn - EventThread shut down for session: 0x0
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] Exception in thread "main" com.google.common.util.concurrent.UncheckedExecutionException: Failed to create zookeeper client to pulsar-ci-zookeeper:2281
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 	at org.apache.bookkeeper.tools.cli.commands.bookies.InitCommand.apply(InitCommand.java:58)
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 	at org.apache.bookkeeper.bookie.BookieShell$InitNewCluster.runCmd(BookieShell.java:334)
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 	at org.apache.bookkeeper.bookie.BookieShell$MyCommand.runCmd(BookieShell.java:238)
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 	at org.apache.bookkeeper.bookie.BookieShell.run(BookieShell.java:2278)
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 	at org.apache.bookkeeper.bookie.BookieShell.main(BookieShell.java:2369)
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] Caused by: org.apache.bookkeeper.meta.exceptions.MetadataException: Failed to create zookeeper client to pulsar-ci-zookeeper:2281
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 	at org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase.initialize(ZKMetadataDriverBase.java:227)
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 	at org.apache.bookkeeper.meta.zk.ZKMetadataBookieDriver.initialize(ZKMetadataBookieDriver.java:60)
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 	at org.apache.bookkeeper.meta.MetadataDrivers.runFunctionWithMetadataBookieDriver(MetadataDrivers.java:345)
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 	at org.apache.bookkeeper.meta.MetadataDrivers.runFunctionWithRegistrationManager(MetadataDrivers.java:372)
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 	at org.apache.bookkeeper.client.BookKeeperAdmin.initNewCluster(BookKeeperAdmin.java:1278)
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 	at org.apache.bookkeeper.tools.cli.commands.bookies.InitCommand.apply(InitCommand.java:56)
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 	... 4 more
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] Caused by: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 	at org.apache.zookeeper.KeeperException.create(KeeperException.java:102)
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 	at org.apache.bookkeeper.zookeeper.ZooKeeperWatcherBase.waitForConnection(ZooKeeperWatcherBase.java:159)
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 	at org.apache.bookkeeper.zookeeper.ZooKeeperClient$Builder.build(ZooKeeperClient.java:260)
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 	at org.apache.bookkeeper.meta.zk.ZKMetadataDriverBase.initialize(ZKMetadataDriverBase.java:207)
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 	... 9 more
[pod/pulsar-ci-bookie-init-ffxw6/pulsar-ci-bookie-init] 2022-05-14T04:50:28,965+0000 [epollEventLoopGroup-2-1] INFO  org.apache.zookeeper.ClientCnxnSocketNetty - SSL handler added for channel: [id: 0xbcd9c9b9]

Zookeeper logs during the above timeout:
[pod/pulsar-ci-zookeeper-0/pulsar-ci-zookeeper] 2022-05-14T04:49:40,253+0000 [SessionTracker] INFO  org.apache.zookeeper.server.ZooKeeperServer - Expiring session 0x10000059c2e001f, timeout of 30000ms exceeded
[pod/pulsar-ci-zookeeper-0/pulsar-ci-zookeeper] 2022-05-14T04:49:44,255+0000 [SessionTracker] INFO  org.apache.zookeeper.server.ZooKeeperServer - Expiring session 0x10000059c2e0020, timeout of 30000ms exceeded
[pod/pulsar-ci-zookeeper-0/pulsar-ci-zookeeper] 2022-05-14T04:49:49,717+0000 [epollEventLoopGroup-7-2] INFO  org.apache.zookeeper.server.auth.X509AuthenticationProvider - Authenticated Id 'CN=pulsar-ci-bookie,OU=IT Department,O=StreamNative,ST=San Francisco,C=US' for Scheme 'x509'
[pod/pulsar-ci-zookeeper-0/pulsar-ci-zookeeper] 2022-05-14T04:49:49,900+0000 [epollEventLoopGroup-7-1] INFO  org.apache.zookeeper.server.auth.X509AuthenticationProvider - Authenticated Id 'CN=pulsar-ci-broker,OU=IT Department,O=StreamNative,ST=San Francisco,C=US' for Scheme 'x509'
[pod/pulsar-ci-zookeeper-0/pulsar-ci-zookeeper] 2022-05-14T04:49:52,254+0000 [SessionTracker] INFO  org.apache.zookeeper.server.ZooKeeperServer - Expiring session 0x10000059c2e0022, timeout of 30000ms exceeded
[pod/pulsar-ci-zookeeper-0/pulsar-ci-zookeeper] 2022-05-14T04:49:52,575+0000 [epollEventLoopGroup-7-2] INFO  org.apache.zookeeper.server.auth.X509AuthenticationProvider - Authenticated Id 'CN=pulsar-ci-bookie,OU=IT Department,O=StreamNative,ST=San Francisco,C=US' for Scheme 'x509'
[pod/pulsar-ci-zookeeper-0/pulsar-ci-zookeeper] 2022-05-14T04:49:52,643+0000 [epollEventLoopGroup-7-1] INFO  org.apache.zookeeper.server.auth.X509AuthenticationProvider - Authenticated Id 'CN=pulsar-ci-bookie,OU=IT Department,O=StreamNative,ST=San Francisco,C=US' for Scheme 'x509'
[pod/pulsar-ci-zookeeper-0/pulsar-ci-zookeeper] 2022-05-14T04:49:54,252+0000 [SessionTracker] INFO  org.apache.zookeeper.server.ZooKeeperServer - Expiring session 0x10000059c2e0025, timeout of 30000ms exceeded
[pod/pulsar-ci-zookeeper-0/pulsar-ci-zookeeper] 2022-05-14T04:49:54,582+0000 [epollEventLoopGroup-7-2] INFO  org.apache.zookeeper.server.auth.X509AuthenticationProvider - Authenticated Id 'CN=pulsar-ci-zookeeper,OU=IT Department,O=StreamNative,ST=San Francisco,C=US' for Scheme 'x509'
[pod/pulsar-ci-zookeeper-0/pulsar-ci-zookeeper] 2022-05-14T04:49:54,586+0000 [epollEventLoopGroup-7-2] INFO  org.apache.zookeeper.server.NettyServerCnxn - Processing ruok command from /<IP_ADDRESS>:43088
[pod/pulsar-ci-zookeeper-0/pulsar-ci-zookeeper] 2022-05-14T04:49:58,254+0000 [SessionTracker] INFO  org.apache.zookeeper.server.ZooKeeperServer - Expiring session 0x10000059c2e0026, timeout of 30000ms exceeded
[pod/pulsar-ci-zookeeper-0/pulsar-ci-zookeeper] 2022-05-14T04:49:59,714+0000 [epollEventLoopGroup-7-1] INFO  org.apache.zookeeper.server.auth.X509AuthenticationProvider - Authenticated Id 'CN=pulsar-ci-broker,OU=IT Department,O=StreamNative,ST=San Francisco,C=US' for Scheme 'x509'
[pod/pulsar-ci-zookeeper-0/pulsar-ci-zookeeper] 2022-05-14T04:50:00,398+0000 [epollEventLoopGroup-7-2] INFO  org.apache.zookeeper.server.auth.X509AuthenticationProvider - Authenticated Id 'CN=pulsar-ci-zookeeper,OU=IT Department,O=StreamNative,ST=San Francisco,C=US' for Scheme 'x509'
[pod/pulsar-ci-zookeeper-0/pulsar-ci-zookeeper] 2022-05-14T04:50:00,413+0000 [epollEventLoopGroup-7-2] INFO  org.apache.zookeeper.server.NettyServerCnxn - Processing ruok command from /<IP_ADDRESS>:43090
[pod/pulsar-ci-zookeeper-0/pulsar-ci-zookeeper] 2022-05-14T04:50:03,414+0000 [epollEventLoopGroup-7-1] INFO  org.apache.zookeeper.server.auth.X509AuthenticationProvider - Authenticated Id 'CN=pulsar-ci-bookie,OU=IT Department,O=StreamNative,ST=San Francisco,C=US' for Scheme 'x509'
[pod/pulsar-ci-zookeeper-0/pulsar-ci-zookeeper] 2022-05-14T04:50:08,145+0000 [epollEventLoopGroup-7-2] INFO  org.apache.zookeeper.server.auth.X509AuthenticationProvider - Authenticated Id 'CN=pulsar-ci-bookie,OU=IT Department,O=StreamNative,ST=San Francisco,C=US' for Scheme 'x509'
[pod/pulsar-ci-zookeeper-0/pulsar-ci-zookeeper] 2022-05-14T04:50:08,252+0000 [SessionTracker] INFO  org.apache.zookeeper.server.ZooKeeperServer - Expiring session 0x10000059c2e0028, timeout of 30000ms exceeded
[pod/pulsar-ci-zookeeper-0/pulsar-ci-zookeeper] 2022-05-14T04:50:08,331+0000 [epollEventLoopGroup-7-1] INFO  org.apache.zookeeper.server.auth.X509AuthenticationProvider - Authenticated Id 'CN=pulsar-ci-bookie,OU=IT Department,O=StreamNative,ST=San Francisco,C=US' for Scheme 'x509'
[pod/pulsar-ci-zookeeper-0/pulsar-ci-zookeeper] 2022-05-14T04:50:10,202+0000 [epollEventLoopGroup-7-1] INFO  org.apache.zookeeper.server.auth.X509AuthenticationProvider - Authenticated Id 'CN=pulsar-ci-broker,OU=IT Department,O=StreamNative,ST=San Francisco,C=US' for Scheme 'x509'
[pod/pulsar-ci-zookeeper-0/pulsar-ci-zookeeper] 2022-05-14T04:50:10,254+0000 [SessionTracker] INFO  org.apache.zookeeper.server.ZooKeeperServer - Expiring session 0x10000059c2e002b, timeout of 30000ms exceeded
[pod/pulsar-ci-zookeeper-0/pulsar-ci-zookeeper] 2022-05-14T04:50:15,393+0000 [epollEventLoopGroup-7-2] INFO  org.apache.zookeeper.server.auth.X509AuthenticationProvider - Authenticated Id 'CN=pulsar-ci-bookie,OU=IT Department,O=StreamNative,ST=San Francisco,C=US' for Scheme 'x509'
[pod/pulsar-ci-zookeeper-0/pulsar-ci-zookeeper] 2022-05-14T04:50:19,342+0000 [epollEventLoopGroup-7-2] ERROR org.apache.zookeeper.server.NettyServerCnxnFactory - Unsuccessful handshake with session 0x0
[pod/pulsar-ci-zookeeper-0/pulsar-ci-zookeeper] 2022-05-14T04:50:20,254+0000 [SessionTracker] INFO  org.apache.zookeeper.server.ZooKeeperServer - Expiring session 0x10000059c2e002e, timeout of 30000ms exceeded
[pod/pulsar-ci-zookeeper-0/pulsar-ci-zookeeper] 2022-05-14T04:50:20,255+0000 [SessionTracker] INFO  org.apache.zookeeper.server.ZooKeeperServer - Expiring session 0x10000059c2e002c, timeout of 30000ms exceeded
[pod/pulsar-ci-zookeeper-0/pulsar-ci-zookeeper] 2022-05-14T04:50:22,179+0000 [epollEventLoopGroup-7-1] INFO  org.apache.zookeeper.server.auth.X509AuthenticationProvider - Authenticated Id 'CN=pulsar-ci-broker,OU=IT Department,O=StreamNative,ST=San Francisco,C=US' for Scheme 'x509'
[pod/pulsar-ci-zookeeper-0/pulsar-ci-zookeeper] 2022-05-14T04:50:23,699+0000 [epollEventLoopGroup-7-2] INFO  org.apache.zookeeper.server.auth.X509AuthenticationProvider - Authenticated Id 'CN=pulsar-ci-bookie,OU=IT Department,O=StreamNative,ST=San Francisco,C=US' for Scheme 'x509'
[pod/pulsar-ci-zookeeper-0/pulsar-ci-zookeeper] 2022-05-14T04:50:24,531+0000 [epollEventLoopGroup-7-1] INFO  org.apache.zookeeper.server.auth.X509AuthenticationProvider - Authenticated Id 'CN=pulsar-ci-bookie,OU=IT Department,O=StreamNative,ST=San Francisco,C=US' for Scheme 'x509'
[pod/pulsar-ci-zookeeper-0/pulsar-ci-zookeeper] 2022-05-14T04:50:24,713+0000 [epollEventLoopGroup-7-2] INFO  org.apache.zookeeper.server.auth.X509AuthenticationProvider - Authenticated Id 'CN=pulsar-ci-zookeeper,OU=IT Department,O=StreamNative,ST=San Francisco,C=US' for Scheme 'x509'
[pod/pulsar-ci-zookeeper-0/pulsar-ci-zookeeper] 2022-05-14T04:50:24,721+0000 [epollEventLoopGroup-7-2] INFO  org.apache.zookeeper.server.NettyServerCnxn - Processing ruok command from /<IP_ADDRESS>:43092
[pod/pulsar-ci-zookeeper-0/pulsar-ci-zookeeper] 2022-05-14T04:50:28,256+0000 [SessionTracker] INFO  org.apache.zookeeper.server.ZooKeeperServer - Expiring session 0x10000059c2e0031, timeout of 30000ms exceeded
[pod/pulsar-ci-zookeeper-0/pulsar-ci-zookeeper] 2022-05-14T04:50:28,630+0000 [epollEventLoopGroup-7-1] INFO  org.apache.zookeeper.server.auth.X509AuthenticationProvider - Authenticated Id 'CN=pulsar-ci-bookie,OU=IT Department,O=StreamNative,ST=San Francisco,C=US' for Scheme 'x509'
[pod/pulsar-ci-zookeeper-0/pulsar-ci-zookeeper] 2022-05-14T04:50:30,253+0000 [SessionTracker] INFO  org.apache.zookeeper.server.ZooKeeperServer - Expiring session 0x10000059c2e0032, timeout of 30000ms exceeded

After talking with @lhotari, it looks like the issues are the known TLS/ZK 3.6.3 issues. I'll retry the tests a few times to see if they pass.

@maxsxu - thank you for testing. Do you know if OpenShift works when you set securityContext: {} for zookeeper and bookkeeper? I had assumed (perhaps incorrectly) the PR's current security context would work because the OpenShift documentation for how to create a docker image to run on OpenShift explicitly says:

Because the container user is always a member of the root group, the container user can read and write these files.

By setting securityContext: {}, the user should be a member of the root group, but I'm not sure that OpenShift will recursively make the persistent volumes root group writable.

@michaeljmarshall Unfortunately, still not work while setting securityContext: {}.
The Broker and Proxy keep initializing due to below error:
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
Node does not exist: /admin/clusters/pulsar
2022-05-21T07:45:10,734+0000 [main] ERROR org.apache.zookeeper.util.ServiceUtils - Exiting JVM with code 1
pulsar cluster pulsar isn't initialized yet ... check in 3 seconds ...

Logs from the ZK Pod:
org.apache.zookeeper.server.ServerCnxn$EndOfStreamException: Unable to read additional data from client, it probably closed the socket: address = /<IP_ADDRESS>:38320, session = 0x2002e4f5ac42ab8
at org.apache.zookeeper.server.NIOServerCnxn.handleFailedRead(NIOServerCnxn.java:163) ~[org.apache.zookeeper-zookeeper-3.6.3.jar:3.6.3]
at org.apache.zookeeper.server.NIOServerCnxn.doIO(NIOServerCnxn.java:326) [org.apache.zookeeper-zookeeper-3.6.3.jar:3.6.3]
at org.apache.zookeeper.server.NIOServerCnxnFactory$IOWorkRequest.doWork(NIOServerCnxnFactory.java:522) [org.apache.zookeeper-zookeeper-3.6.3.jar:3.6.3]
at org.apache.zookeeper.server.WorkerService$ScheduledWorkRequest.run(WorkerService.java:154) [org.apache.zookeeper-zookeeper-3.6.3.jar:3.6.3]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:829) [?:?]
2022-05-21T10:05:52,110+0000 [SessionTracker] INFO org.apache.zookeeper.server.ZooKeeperServer - Expiring session 0x2002e4f5ac42aa7, timeout of 30000ms exceeded
2022-05-21T10:05:52,110+0000 [SessionTracker] INFO org.apache.zookeeper.server.ZooKeeperServer - Expiring session 0x3002e4f34832aa7, timeout of 30000ms exceeded
2022-05-21T10:05:52,110+0000 [RequestThrottler] INFO org.apache.zookeeper.server.ZooKeeperServer - Submitting global closeSession request for session 0x2002e4f5ac42aa7
2022-05-21T10:05:52,110+0000 [RequestThrottler] INFO org.apache.zookeeper.server.ZooKeeperServer - Submitting global closeSession request for session 0x3002e4f34832aa7
2022-05-21T10:05:52,614+0000 [CommitProcessor:2] INFO org.apache.zookeeper.server.quorum.LeaderSessionTracker - Committing global session 0x2002e4f5ac42ab9
2022-05-21T10:05:52,956+0000 [NIOWorkerThread-1] WARN org.apache.zookeeper.server.NIOServerCnxn - Unexpected exception

From my observation, OpenShift will generates a random non-zero fsGroup for Pod when unspecified. So the group of PV (/pulsar/data directory) will be that random non-zero fsGroup, rather the root group.
We can observe the following inside the ZK Pod:
$ id
uid=1001060000(1001060000) gid=0(root) groups=0(root),1001060000
$ ls -al
total 84
drwxrwxr-x. 1 root       root          42 May 21 12:10 .
dr-xr-xr-x. 1 root       root          53 May 21 12:10 ..
-rw-r--r--. 1 root       root       32333 Jan 22  2020 LICENSE
-rw-r--r--. 1 root       root        6612 Jan 22  2020 NOTICE
-rw-r--r--. 1 root       root        1269 Jan 22  2020 README
drwxr-xr-x. 3 root       root        4096 Mar 26 04:02 bin
drwxrwxr-x. 1 root       root          28 Jan 22  2020 conf
drwxr-xr-x. 2 root       root        4096 Mar 26 04:05 connectors
drwxrwsr-x. 4 root<PHONE_NUMBER>  4096 May 21 03:12 data
drwxr-xr-x. 3 root       root         132 Mar 26 04:02 examples
drwxr-xr-x. 4 root       root          66 Mar 26 04:02 instances
drwxr-xr-x. 3 root       root       20480 Mar 26 04:02 lib
drwxr-xr-x. 2 root       root        4096 Jan 22  2020 licenses
drwxr-xr-x. 2<PHONE_NUMBER> root          50 May 21 12:10 logs
drwxr-xr-x. 2 root       root          91 Mar 26 04:05 offloaders
drwxr-xr-x. 2 root       root          66 Mar 26 04:02 pulsar-client

So, as for the  "the container user is always a member of the root group...", yes indeed, but not for the PV group.

@maxsxu - thanks for testing out my theory. I realize now that the fsGroup does not technically need to be 0 or root in this configuration. A user deploying to OpenShift can choose any user that is acceptable. The docker image will work correctly, because the .conf files are writable by the root group, and the configured fsGroup will own the PVCs. Essentially, OpenShift users will just need to select an fsGroup that passes the security context requirements.

Thanks @michaeljmarshall shouldn't the helm chart version change?

@frankjkelly good question. I know our recent release procedure has tied individual PRs with version bumps, but it seems more appropriate to me that we should separate releases and features into separate PRs.
Regarding releases, I think the Pulsar Community needs to revisit Helm Chart release procedures. We're operating in a gray area by performing releases that are not first voted upon on the dev mailing list. By my understanding, all Apache project releases are supposed to have a vote.

@michaeljmarshall I'm not sure if a new helm chart release is made even if the version number has not changed. But either way - even if no release is done - it's a source for confusion.


Gather feedback from users on KafkaSink API

KafkaSink has been around for some releases but it's still a v1alpha1 API.
We need to gather feedback from users so that we can decide what to do regarding its API.
Whatever method to get users' feedback (mailing list, slack, etc) might be used.
Exit criteria
We have a list of feedbacks from users.
/help
/area api

/good-first-issue

/remove-lifecycle stale
/lifecycle frozen


cmd-ref: document update with revision specified

https://github.com/iterative/dvc/pull/3337 was merged.  We need to update Command Reference and perhaps mention this feature on User Guide as well.

@skshetry thanks. In case you're not fully aware of the current process, please just send a PR (it can be draft or §normal but please use a branch directly on this repo) with some basic changes in all the appropriate docs you can find that are relevant to this but don't worry too much about the language if you're not interested in writing docs, we'll take over based on your suggestions. There's also this resourece about it: https://github.com/iterative/dvc.org/wiki/2.-dvc.org-pull-requests-for-core-repo-changes Thanks!


feat(hermes,grpc-sdk): route field descriptions support

Conduit did not support description in route parameters.
Now , both GraphQL and Swagger parsers in hermes library support it.
Also field descriptions inside route responses supported.
What kind of change does this PR introduce?

[ ] Bugfix
[x] Feature
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[ ] Other (please describe)

Does this PR introduce a breaking change?

[ ] Yes
[x] No

The PR fulfills these requirements:

[x] It's submitted to the main branch
[ ] When resolving a specific issue, it's referenced in the PR's description  (e.g. fix #xxx, where "xxx" is the issue number)

This should probably introduce an optional description field in Conduit*Constructor field utility classes' Optional() and Required() getters so that descriptions can be conveniently provided without reverting to the object field definition format.
example: status: ConduitString.Required("Updates the user's status")

field descriptions inside route responses supported

I was unable to reproduce this. Can you provide an example as to how to provide these?

 new ConduitRouteReturnDefinition('GetUsers', {
        users: { type:  [User.name], description: 'some description' } ,
        count: ConduitNumber.Required,
      }),

Tried just that. No description showed up in Swagger-UI.


services.virtualboxGuest.enable obsolete warning after updated in config

I am building nixos against the latest head
4fecf15 master syncthing: Fix top-level expression

and I get this warning message when running my Makefile command in my configuration https://github.com/ryantm/nixfiles
`services.virtualboxGuest.enable' is used. It was renamed to `virtualisation.virtualbox.guest.enable'.

It seems like it warns you about the obsolete option even after you've removed it from your configuration.

That's because it's used internally https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/virtualisation/virtualbox-image.nix#L131.

It should be fine now, I believe. Thanks.


dvargas to roamjs

There's also this
https://github.com/RoamJS/query-builder/blob/608d13440552912e4cedfcad341bdcd28ad5dcc6/src/components/CytoscapePlayground.tsx#L65-L68
How do you want to handle Playground going forward?


build: add option to force rebuild of extensions

Description
yarn build:extensions --force will now force a rebuild of all the extensions.
Task Item
#minor

Coverage decreased (-0.009%) to 54.768% when pulling ce8bfbdd1024e66cb70bd2140facd2c07fab24d9 on abrown/force-extension-rebuild into 699f95561a442f0f51e9e0bd74c0387aa127a0bb on main.


Database GUI Installer

Is Database GUI Installer.exe meant to be a standalone, "plug-and-play" installer, or do the instructions in the README file need to be followed before running the installer?
Tried installing using Database GUI installer.exe (336.65 MB) via figshare link, but saw this as soon as it installed:

Not a whole lot to go off of unfortunately.

Hi, the error should be the system compatibility issue which will be solved soon. Currently you can use Python to run the GUI app following the instructions provided. Thanks!

Thanks!


Allow marker clawback

Description
closes: #1368
Add the ability to allow clawback of restricted marker coins.

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[ ] Targeted PR against correct branch (see CONTRIBUTING.md)
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Wrote unit and integration tests
[ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/)
[ ] Added relevant godoc comments.
[ ] Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
[ ] Re-reviewed Files changed in the Github PR explorer
[ ] Review Codecov Report in the comment section below once CI passes

Along the same lines of clawback ... if we keep this naming then we should narrow the transfer capability such that the token can literally only be "clawed back" into the Marker.  This would allow a nice interaction with the Withdraw grant because it would be a separate permission to subsequently redeploy the tokens that were clawed back.

After a bit of discussion, we're going to take this in a slightly different direction. So I'm going to close this PR and will make a new one later.

Replaced by #1426


Cannot drag a node to make it the last node in the tree if the last node is collapsed

Do you want to request a feature or report a bug?
Bug
What is the current behavior?
I am not able to drag a node as the last node in the tree, if the current node is collapsed or does not have any children.
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via https://plnkr.co or similar.

Go to http://angular-ui-tree.github.io/angular-ui-tree/#/basic-example
Click on Collapse all
Try to drag node 1 under to node 3 to make it the last node in the tree.
There is no drop-zone after node 3 to drop node 1 to make it the last child

What is the expected behavior?
There should be a drop zone after the node 3 to allow node 1 to be dropped as the last node in the tree.

Following.

I also struggled with this issue. Try setting 'appendChildOnHover' to false and see if that works more intuitively for you. It had the exact effect that my clients wanted.


disable prepare for restore cleanup

Signed-off-by: Valentina Birsan<EMAIL_ADDRESS>Removed the clean up of resources before restore
The oadp 1.1 update of existing resources is enabled now
Need to implement a delete of delta resources, post restore

/test unit-tests

/test unit-tests


CASM-3678 Move host directory from /etc/iuf to /opt/cray/iuf

Description

Checklist Before Merging

[ ] If I added any command snippets, the steps they belong to follow the prompt conventions (see example).
[ ] If I added a new directory, I also updated .github/CODEOWNERS with the corresponding team in Cray-HPE.
[ ] My commits or Pull-Request Title contain my JIRA information, or I do not have a JIRA.

I am closing this PR because it is invalid now given the changes we will be making after the fresh install triage issue.


refine vpa api and add ResourceRecommend api

What type of PR is this?

Enhancements
What this PR does / why we need it:
The Katalyst VPA API encompasses both resource recommendation and resource update policy configuration. However, its ability to extend resource recommendations is limited due to the VPA recommendation API only indicating the recommendation result. To calculate the recommendation result, the extended recommender must utilize both the VPA and VPA recommendation CR, making it impossible to decouple resource recommendation and resource update. Therefore, we should refine the VPA API and introduce a new ResourceRecommend API to effectively separate resource recommendation and resource update functions.

overall looks good to me. Just a few comments about the wordings


Allow bundler to generate sourcemaps files without uploading

I'm using the webpack plugin and I wanted to delay the upload of the sourcemaps to after the tagging of our release in our CI. Unfortunately, as I need to generate the files with the debug IDs as part of the build process to generate our integrity hashes, I currently have no choice but to also upload those files during that build process. If I were to run sentry-cli to inject the debug IDs after the fact, different IDs would be generated.
One way to allow for this specific need would be to be able to provide a destination folder for those files, and also disable the upload, e.g.:
	sentryWebpackPlugin({
		sourcemaps: {
			destinationFolder: './sentry-files', // to be uploaded later using sentry-cli
			upload: false, // to disable the upload within the plugin
		},
	})

Hi @jlowcs thanks for writing in! I'd love to learn more about your use case as to why the delaying of uploading really is necessary.
At this time, there's no "clean" way to specifically disable the upload of source maps but still inject debugIds. We also would like to avoid adding an upload option as suggested because whenever we add such API it will surely be missunderstood and people might use it for the wrong reasons. Generally we want to provide a clear and minimal path how uploading source maps (probably the biggest pain point for Sentry users) can be done.
For the moment, you can work around the issue fairly easily: Specify a non-existing URL in the url option of the plugin. This will make the plugin apply build-time transformations, like injecting the debugIds, but it'll fail during upload. However, "fail" in this case only means that you get an error message. The process will still exit successfully, so it shouldn't impact your CI job.

For the moment, you can work around the issue fairly easily: Specify a non-existing URL in the url option of the plugin. This will make the plugin apply build-time transformations, like injecting the debugIds, but it'll fail during upload. However, "fail" in this case only means that you get an error message. The process will still exit successfully, so it shouldn't impact your CI job.

It does add the debugIds to the source code, but not to the sourcemaps unfortunately. From what I understand reading the sentry code, the sourcemaps are only modified in a /tmp folder for the sole purpose of being uploaded. The original sourcemaps from my build remain without debugIds.

That's a good point - I missed the second part about the source maps debugId injection. We talked about this a bit and it's unfortunately not trivial to introduce an flag only to inject into source maps but not upload. We're gonna backlog this as a To Do for later.
In the meantime, we're always happy to review PRs for this. Though a PR would need to implement this behaviour in all four plugins.

As an intermediate solution, having a way to pass the destination folder for those generated sourcemaps as an option would be helpful. Then that solution you suggested for the url would work.

It's a SoC issue within our CI and a concern around multiple build trying to upload the sourcemaps with the same release name.

For what it's worth, you don't need to set a release name for debug id-based source map upload. We can match source maps and error stack frames solely on debugId's and don't need to rely on release names anymore. I'm not entirely sure about your setup or how/where you "tag" releases but this is the first time what we're aware of such a setup.

having a way to pass the destination folder for those generated sourcemaps as an option would be helpful.

The problem is that this requires another option as well because we clean up the directory when uploading succeeds but also if it fails. So either way you need to

define a directory
disable cleanup of this directory

Again, the problem here is introducing public API for a use case we haven't seen much demand for. I'm sorry that this is affecting you but for now we'll backlog this.

@Lms24 I'm building a Next.js app in a Docker image. During the build process, there is no access to environment variables (including the Sentry auth token). I'd like to upload the source maps as soon as the Docker container runs – right after the application starts.
I'm considering using sentry-cli, but as I understand, all source maps created during the build will be deleted. Is that correct?

@jarosik10 I would rather refer to build secrets for accessing secrets during your build

Actually, @s1gr1d and I just found a use case for this too.
For the Nuxt and SolidStart SDKs we use the vite plugin to build and upload sourcemaps, but we also need to use the rollup plugin for the final nitro build step.
Now the problem is that the rollup plugin would detect the previously uploaded sourcemaps as well. At the same time, we cannot tell the vite plugin to ignore the nitro output because the nitro output varies from build preset to build preset.
So we'd like to build but not upload sourcemaps with the vite plugin and then have the rollup plugin upload all detected maps.

I also have a use case for this where we use Bazel. Bazel is sandboxed and ideally has no network access during it's build phase. It would be nice have the generated source maps with debug IDs available for uploading in a separate step.

I will move this to our backlog since there seems t be demand for this functionality.


Add method to send message with attributes

See https://github.com/ccm-innovation/react-native-twilio-ip-messaging/issues/74.
Basically, we need to expose a method to construct a new message instance and then send that inside the sendMessage call. That way, you don't have to send message and then immediately update with attributes.

@bradbumbalough we have such functionality: https://github.com/ccm-innovation/react-native-twilio-chat/pull/7
Usage is as simple as:
await this.channel.sendAttributedMessage(text, {
  'foo': 'bar',
  'baz': 'qux'
});

@svlaev thanks! yeah I forgot to cross reference the issue with your PR.

Fixed in #17.

Released in 0.2.0.


Remove unnecessary dependencies on asynctest

Remove an unnecessary dependency on asynctest which is deprecated and not maintained.
This was raised in https://github.com/allenporter/python-google-nest-sdm/pull/490 as not compatible with python 3.11 and failing with: https://github.com/allenporter/python-google-nest-sdm/actions/runs/3779295241/jobs/6424441899

Codecov Report

Merging #512 (740593a) into main (4ebaeb2) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #512   +/-   ##
=======================================
  Coverage   92.33%   92.33%
=======================================
  Files          18       18
  Lines        2061     2061
=======================================
  Hits         1903     1903
  Misses        158      158

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


docs(readme): fix markdown linting problems with proper markdown etiquette

Lint readme.md, README_JA.md.

Thank you :)


[WIP] Enhance UnwrapError messaging

see #98

I only made updates to the Err() class' .unwrap() & .except() methods, because like https://github.com/rustedpy/result/issues/37 says i'm not convinced that the Ok class should even have those methods in the first place if we're striving for the best developer experience with type-checkers.

Continuing this PR here https://github.com/rustedpy/result/pull/132


Fix faulty free

On error, i2o_SCT() frees a pointer that may have wandered off from
the start of the allocated block.  To avoid this, save away the start
of the allocated block and free that instead.
Fixes #2322

Ah, thanks for the reminder.  Commit message amended.
... and merged.
master: d85d3c993e322d3e4c3f00be2910faa8c55b40e3
1.1.0: ae45175406f8dbda8cb77abcc9da5374c35a25ba


Team email typecheck

in should not be used for type checking, as it will not resolve
subclass relationships. isinstance is the correct way to go.

Coverage decreased (-0.006%) to 72.962% when pulling 040df29bc21cd21889b97c7e0395bb34cd2ce045 on tabletcorry:team_email_typecheck into 03c8e85c36b5e727bcf8ea0d8f2ea91e0770b6db on Netflix:develop.


“flutter build apk” for release crashes when opening on device

I already set up for build app release like pro-guard, icon, manifest etc without flavor. I migrated dir /android to AndroidX because if not, failed to build app release when run flutter build apk. So I migrate it and success. Like below:
rifafauzi6@Anonymous-X456UR:/media/rifafauzi6/NM/Materi/BackUp Aplikasi Android/Flutter Project/vallery$ flutter build apk
You are building a fat APK that includes binaries for android-arm, android-arm64.
If you are deploying the app to the Play Store, it's recommended to use app bundles or split the APK to reduce the APK size.
    To generate an app bundle, run:
        flutter build appbundle --target-platform android-arm,android-arm64
        Learn more on: https://developer.android.com/guide/app-bundle
    To split the APKs per ABI, run:
        flutter build apk --target-platform android-arm,android-arm64 --split-per-abi
        Learn more on:  https://developer.android.com/studio/build/configure-apk-splits#configure-abi-split
Initializing gradle...                                              1.3s
Resolving dependencies...                                           2.9s
Running Gradle task 'assembleRelease'...
Running Gradle task 'assembleRelease'... Done                      59.6s
Built build/app/outputs/apk/release/app-release.apk (16.1MB).

Then after success, I install it with two ways:
Using flutter install
rifafauzi6@Anonymous-X456UR:/media/rifafauzi6/NM/Materi/BackUp Aplikasi Android/Flutter Project/vallery$ flutter install
Initializing gradle...                                              1.3s
Resolving dependencies...                                           2.5s
Installing app.apk to SM A600G...
Installing build/app/outputs/apk/app.apk...                        16.4s

Using manual, go to that dir, and install it.

I already try flutter build apk --split-per-abi then like above I install it with two ways too. But still crashing when I open the app before showing the splash screen. This is the manifest for release apps in dir main:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="my_package">

    <!-- io.flutter.app.FlutterApplication is an android.app.Application that
         calls FlutterMain.startInitialization(this); in its onCreate method.
         In most cases you can leave this as-is, but you if you want to provide
         additional functionality it is fine to subclass or reimplement
         FlutterApplication and put your custom class here. -->
    <uses-permission android:name="android.permission.INTERNET"/>

    <application
        android:name="io.flutter.app.FlutterApplication"
        android:label="Vallery"
        android:usesCleartextTraffic="true"
        android:icon="@mipmap/ic_vallery">
        <activity
            android:name=".MainActivity"
            android:launchMode="singleTop"
            android:theme="@style/LaunchTheme"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
            android:hardwareAccelerated="true"
            android:windowSoftInputMode="adjustResize">
            <!-- This keeps the window background of the activity showing
                 until Flutter renders its first frame. It can be removed if
                 there is no splash screen (such as the default splash screen
                 defined in @style/LaunchTheme). -->
            <meta-data
                android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"
                android:value="true" />
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>
</manifest>

And this is the output of flutter doctor -v:
[✓] Flutter (Channel stable, v1.7.8+hotfix.4, on Linux, locale en_US.UTF-8)
    • Flutter version 1.7.8+hotfix.4 at /media/rifafauzi6/NM/Materi/flutter
    • Framework revision 20e59316b8 (8 weeks ago), 2019-07-18 20:04:33 -0700
    • Engine revision fee001c93f
    • Dart version 2.4.0

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /home/rifafauzi6/Android/Sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.2
    • Java binary at: /opt/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    • All Android licenses accepted.

[✓] Android Studio (version 3.5)
    • Android Studio at /opt/android-studio
    • Flutter plugin version 39.0.3
    • Dart plugin version 191.8423
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

[✓] VS Code (version 1.38.0)
    • VS Code at /usr/share/code
    • Flutter extension version 3.3.0

[✓] Connected device (1 available)
    • SM A600G • 5200e3e7f01e45f3 • android-arm • Android 9 (API 28)

• No issues found!

Can someone help me? Because I need to install it (release apk) first into real device before I upload to Play Store.

Unfortunately we didn't get to this in time and this is likely out of date. In the future, reports of crashes or errors need to include those crashes otherwise help is unlikely. In this case, adb could be used to pull devicelogs while opening the crashing app


Time stamp for UF2 file of current games

Wrong timestamp for UF2 files
Describe the bug
When trying to copy games done by participants on their meowbit to the computer we discovered that the generated "Current.uf2" file is time-stamped to 1969
To Reproduce
Steps to reproduce the behavior:

Go to a mewobit device running TileCode
Make any changes to an existing game or create a new game
Connect the device to the computer and put it in sync mode
Open arcade folder on the desktop and check the timestamp of "Current.uf2" file

Expected behavior
The file should have a current timestamp
Screenshots
Desktop (please complete the following information):

OS: MacOS
Version [e.g. 22]

Arcade device (please complete the following information):

Device: Meowbit

Comment if this is still an issue!


android/packagingOptions tag in package.json

Certain third-party libraries require you to exclude duplicate  META-INF files using packagingOptoins tag in build.gradle. Right now the only option is to manually modify the generated build.gradle file.
There should be a way to specify them using package.json for a plugin so that when project is being prepared it copies them inside build.gradle file.
packagingOptions {
        exclude 'META-INF/ASL2.0'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'
}

fixed with: https://github.com/NativeScript/android-runtime/commit/77ab0cc446a7ee113d10c34ad04ecc2f309bd8c4
Now you can use an include.gradle file to make this additional configuration. You can read about the include.gradle file and how to implement it inside a plugin from the docs:
https://docs.nativescript.org/plugins#includegradle-specification


Full fledged implementation of SMPPServerSimulator

The current implementation of SMPPServerSimulator does not simulate all the scenarios. For-example, it does not uses any of the following constants
    public static final int STAT_ESME_RBINDFAIL = 0x0000000D;
    public static final int STAT_ESME_RINVPASWD = 0x0000000E;
    public static final int STAT_ESME_RINVSYSID = 0x0000000F;
    public static final int STAT_ESME_RCANCELFAIL = 0x00000011;
    public static final int STAT_ESME_RREPLACEFAIL = 0x00000013;

Therefore SMPPServerSimulator does not show full usage of it. It should simulate all the scenarios.

I implemented scenarios in the SMPP server simulator. You can specify a valid system id and password to be accepted by the server simulator.


It's most likely an anti-virus issue. You can eithe try disabling it or running from source


Update junit-jupiter-engine to 5.10.1

About this PR
📦 Updates org.junit.jupiter:junit-jupiter-engine from 5.8.2 to 5.10.1
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.junit.jupiter", artifactId = "junit-jupiter-engine" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.junit.jupiter", artifactId = "junit-jupiter-engine" }
}]

labels: test-library-update, early-semver-minor, semver-spec-minor, commit-count:1

Superseded by #1625.


Multiple instances get created and deleted when activating services that have healthcheck enabled.

Steps to reproduce the problem:
Create a service with scale 3 and health check enabled.
In my case , I also use the following labels for containers within the service to be hosted in different hosts - io.rancher.scheduler.affinity:container_label_ne = io.rancher.service.name=
Activate the service.
Service gets activated successfully and 3 containers are deployed in 3 different containers.
But there are lot more instances that were created and deleted before the scale adjusts to 3.
Seems like even when the instances are in the process of starting , health monitoring reports it as being unhealthy causing these instances to be removed.Why is there health monitoring enabled when the instances are still coming up?
mysql> select id,name,state,health_state from instance where name like "%testme%";
+----+---------------+----------+--------------------+
| id | name          | state    | health_state       |
+----+---------------+----------+--------------------+
|  8 | test_testme_1 | running  | healthy            |
|  9 | test_testme_2 | starting | updating-unhealthy |
| 10 | test_testme_3 | starting | updating-unhealthy |
+----+---------------+----------+--------------------+
mysql> select id,name,state,health_state from instance where name like "%testme%";
+----+---------------+---------+--------------+
| id | name          | state   | health_state |
+----+---------------+---------+--------------+
|  8 | test_testme_1 | running | healthy      |
|  9 | test_testme_2 | running | healthy      |
| 10 | test_testme_3 | removed | healthy      |
| 11 | test_testme_4 | removed | healthy      |
| 12 | test_testme_4 | removed | healthy      |
| 13 | test_testme_3 | running | healthy      |
+----+---------------+---------+--------------+
6 rows in set (0.00 sec)

The same issue is also observed when scaling up a service. I scaled a service with scale 3 to 6.
The scale took a very long time to adjust and many instances were created / marked unhealthy / removed in the process.
mysql> select  id,name,state from instance where name like "%test_health1%";
+----+----------------+---------+
| id | name           | state   |
+----+----------------+---------+
|  1 | test_health1_1 | running |
|  2 | test_health1_2 | purged  |
|  3 | test_health1_3 | purged  |
|  7 | test_health1_4 | running |
|  8 | test_health1_2 | purged  |
|  9 | test_health1_5 | purged  |
| 10 | test_health1_6 | purged  |
| 11 | test_health1_2 | purged  |
| 12 | test_health1_5 | purged  |
| 13 | test_health1_6 | purged  |
| 14 | test_health1_2 | purged  |
| 15 | test_health1_5 | purged  |
| 16 | test_health1_6 | purged  |
| 17 | test_health1_2 | purged  |
| 18 | test_health1_5 | purged  |
| 19 | test_health1_6 | running |
| 20 | test_health1_2 | purged  |
| 21 | test_health1_5 | purged  |
| 22 | test_health1_7 | purged  |
| 23 | test_health1_2 | purged  |
| 24 | test_health1_5 | purged  |
| 25 | test_health1_2 | purged  |
| 26 | test_health1_5 | purged  |
| 27 | test_health1_2 | running |
| 28 | test_health1_5 | running |
| 29 | test_health1_7 | running |
+----+----------------+---------+

Reopening this issue after testing with build from master jun/10
I still see instances being deleted and recreated when service with health check enabled is activated.
mysql> select id, state,health_state , name from instance where name like "%test456%";
+----+---------+--------------+----------------------+
| id | state   | health_state | name                 |
+----+---------+--------------+----------------------+
| 79 | running | healthy      | test_test456health_1 |
| 80 | purged  | healthy      | test_test456health_2 |
| 81 | purged  | healthy      | test_test456health_3 |
| 82 | purged  | initializing | test_test456health_4 |
| 83 | purged  | initializing | test_test456health_5 |
| 84 | running | healthy      | test_test456health_2 |
| 85 | purged  | healthy      | test_test456health_3 |
| 86 | purged  | initializing | test_test456health_4 |
| 87 | running | healthy      | test_test456health_3 |
+----+---------+--------------+----------------------+
9 rows in set (0.00 sec)
mysql>

Tested with server version - V0.24.0-rc1.
I still see many instances being created and removed when starting a service with health check turned on.
18 instances were created before scaling to 5.
mysql> select id,name,state, health_state, created from instance where name like  "%testnew%";
+----+----------------+---------+--------------+---------------------+
| id | name           | state   | health_state | created             |
+----+----------------+---------+--------------+---------------------+
| 52 | prj1_testnew_1 | purged  | healthy      | 2015-06-11 23:27:33 |
| 53 | prj1_testnew_2 | purged  | healthy      | 2015-06-11 23:27:33 |
| 54 | prj1_testnew_3 | purged  | healthy      | 2015-06-11 23:27:33 |
| 55 | prj1_testnew_4 | purged  | healthy      | 2015-06-11 23:27:33 |
| 56 | prj1_testnew_5 | running | healthy      | 2015-06-11 23:27:33 |
| 57 | prj1_testnew_2 | running | healthy      | 2015-06-11 23:27:49 |
| 58 | prj1_testnew_3 | running | healthy      | 2015-06-11 23:27:49 |
| 59 | prj1_testnew_4 | purged  | unhealthy    | 2015-06-11 23:27:49 |
| 60 | prj1_testnew_6 | purged  | unhealthy    | 2015-06-11 23:27:49 |
| 61 | prj1_testnew_7 | purged  | unhealthy    | 2015-06-11 23:27:49 |
| 62 | prj1_testnew_4 | purged  | healthy      | 2015-06-11 23:28:01 |
| 63 | prj1_testnew_6 | purged  | unhealthy    | 2015-06-11 23:28:01 |
| 64 | prj1_testnew_7 | purged  | unhealthy    | 2015-06-11 23:28:01 |
| 65 | prj1_testnew_1 | running | healthy      | 2015-06-11 23:28:13 |
| 66 | prj1_testnew_4 | purged  | unhealthy    | 2015-06-11 23:28:13 |
| 67 | prj1_testnew_4 | purged  | unhealthy    | 2015-06-11 23:28:21 |
| 68 | prj1_testnew_6 | purged  | unhealthy    | 2015-06-11 23:28:21 |
| 69 | prj1_testnew_4 | running | healthy      | 2015-06-11 23:28:29 |
+----+----------------+---------+--------------+---------------------+
18 rows in set (0.00 sec)
mysql>

Tested with build from master.
There are no extra containers that get removed and recreated when trying to do the following for service with health check enabled:

Start a service with scale 5.
Stop few containers of the service.
Destroy containers of the service.
Make container unhealthy.
Deactivate service and Activate service.
Scale up service to 10.
Scale down service.

In all the above scenarios , when the scale of the service is adjusted we do not see extra containers being removed and recreated .


Boruvka Algorithm for finding MST

I want to add a C++ code for Boruvka Algorithm for finding minimum spanning tree .

/assign


New version stayed in dock

Shouldn't it be menu bar only?

Yes, I have the same issue. Please fix this!

Yeah so strange cause I didn't change anything related to this. I'll fix it shortly though.

Fixed. Will be uploading a build shortly.

Re-download from the same Gumroad email and you'll get the fix. Apologies.

Confirm fixed for the docking issue


feat(Rest): add property 'endpoint'

makes life easier if Rest knows which endpoint it is for

@RWOverdijk that

:+1: if we move the docs. Perhaps also remove the docs dir and add a README in the dir that links to the documentation?

pretty sure i removed all spoonx/ in the rename PR. my plan wa first to merge this and the recheck the renaming.
explain me that docs thing on gitter
ps: what about the changelog in docs?

pps: mind merging this and go on from there?


Run webnn-polyfill JS tests via node.js binding

There are 455 JS test cases that test APIs, ops and models for webnn-polyfill. Thanks to mocha, developers can also use npm test to run these tests by node.js, e.g. for continuous integration.
To avoid the duplicated work and porting of these tests to C++, it would be useful to run these JS tests against webnn-native. As webnn.h is a one-to-one mapping of WebNN spec, this is possible to add a node.js binding to webnn-native and expose the WebNN JS API through this binding.

closed by https://github.com/webmachinelearning/webnn-native/pull/11


Built in Attributes need to be updated in doc..number and specify that they are required to have values

Built in Attributes need to be updated in doc..number and specify that they are required to have values

The doc says 8 attributes but lists 11
The doc does not clearly state if all 11 are required to have values

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

ID: a006b62e-b3a3-18f9-cb26-1fd91b4cf9bd
Version Independent ID: e9ab2116-d1eb-bf34-709a-667582372094
Content: Understand business glossary features in Microsoft Purview - Microsoft Purview
Content Source: articles/purview/concept-business-glossary.md
Service: purview
Sub-service: purview-data-catalog
GitHub Login: @evangelinew
Microsoft Alias: evwhite

@tifischer
Thanks for your feedback! We will investigate and update as appropriate.

Quite right! I'll get that fixed today!

Only "Name" is mandatory when defining and attribute. None of the others are mandatory.
You should see those changes later today!

#please-close


chore: Improves the native filters UI/UX - iteration 4

SUMMARY
Improves the native filters UI/UX - iteration 4.

Handle the correct tab selection when validating
Add a required icon and validation to the controllers when their checkbox is checked
The controls with affectsDataMask are disabled unless the default value picker is enabled

This work is part of the Native dashboard filter project
The items below will be handled in the next iterations:

Add a scroll bar to the left panel
Fix left panel layout when the scroll is active
Adjust fonts and colors to match the design
Make the tabs stick to the top while scrolling
Remove horizontal scroll when the column select is too wide

The iterations below are optional but recommended:

Split the FiltersConfigForm into smaller components to make it easier to read
Unify the select components to use the AntD one. Currently, we have different selects with different themes and interactions.

@villebro @rusackas @junlincc
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
https://user-images.githubusercontent.com/70410625/119733570-1db51580-be50-11eb-859e-eed98805bd2a.mp4
https://user-images.githubusercontent.com/70410625/119733621-2dccf500-be50-11eb-9a46-bdcce7056b01.mp4
TESTING INSTRUCTIONS
1 - Enable native filters feature flag
2 - Enter in a dashboard
3 - Add a native filter
4 - Check the screen
ADDITIONAL INFORMATION

[ ] Has associated issue:
[x] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

Remove horizontal scroll when the column select is too wide - Across the product, correct?
If we truncate, we HAVE to offer tooltip.
Another solution is to make the modal resizable, like Explore Metrics popover(see icon in popover bottom right corner)

Unify the select components to use the AntD one. Currently, we have different selects with different themes and interactions.

Unify the select components to use the AntD one. Currently, we have different selects with different themes and interactions.

please do work on it after Product signoff of this project. 🙏

Remove horizontal scroll when the column select is too wide - Across the product, correct?

@junlincc I'm going to implement this behaviour in the NEW select component using AntD. This select will also have the +4 and the selected items sorted first features. This will be the official select component.
Then we have two options:
1 - Duplicate work and try to implement ONLY the width handling in react-select (used by the majority of selects in the application
2 - Slowly replace the react-select instances with the NEW select with all the features.
We can do 1 and 2 or just 2.
@villebro


[VS Code] Starting collaboration session: Invalid root scheme: vsls, expected 'file'

Error:
Starting collaboration session: Invalid root scheme: vsls, expected 'file'
Steps to Reproduce:

Version Data

extensionName
VSLS

extensionVersion
0.3.1151

protocolVersion
2.2

applicationName
VSCode

applicationVersion
1.30.2

platformName
Windows

platformVersion
10.0.16299

@RudsonA We're tracking this issue via #1568, so I'm going to close this as a duplicate. If you could run the Live Share: Export Logs command, and attach the resulting zip to #1568, that would be hugely appreciated. Thanks!


feat: request for the fingerprint anytime an http url is passed

Fixed the nits, and tested that everything works as expected


Wrong order of get_profile and get_wordlist in workflow

text.get_profile(clts=args.clts.api, filename=ds.dir / 'output' / 'automated-orthography.tsv') should come before wl = text.get_wordlist(doculect='Qiang', profile=ds.etc_dir / 'orthography.tsv'), since orthography.tsv is based on automated-orthography.

Yes and no. To run the workflow from zero, yes, you will have to make the profile first. But in our case, we had the manually annotated profile, and only added this line in order to show how it can be done if one wants an automated profile. I agree it may be confusing, but the illustration of the automated profile works, so I see no direct need to change the code here, rather modifying the explanation in NOTES.md.


TRÅDFRI Remote control as universal button via deConz

Issue

I’m running deConz (2.5.38) headless on Ubuntu 18.04 server. I connect it via this plug-in with HomeKit. I added a TRÅDFRI Remote control to deConz and it shows up and recognise the button presses in HomeKit. But it does not trigger the in HomeKit assigned action after pressing. Is this a homebridge or a deConz problem?
Log Messages

Debug Files

If the button presses are registered in HomeKit (tile flashes in Home app), but the assciated actions don’t get fired, the problem is with your HoneKit hub.  Most likely, the HomeKit configuration hasn’t yet been synced (over iCloud) with your AppleTV or HomePod.  In Eve (which shows the button actions under automations), you can try to disable the automation on one iDevice, wait for that change to get propagated to your other iDevices, re-enable it, and, again, wait for that change to be propagated.  Unfortunately, there’s no way to check the configuration in the AppleTV.


Change test suite to Node 14 and up

This unblocks the ?? and ?. operators (amongst other features) that need at least Node 14. Since all major browsers support these operators now, it's safe to require and we can make the compiler a bit easier to read in certain circumstances.

does it also make sense to change the .nvmrc version to v16?

does it also make sense to change the .nvmrc version to v16?

I'm not sure. Node 16 is so new features it supports aren't supported on all browsers, so it would be annoying if we used a feature that worked in local testing but then fails during the BDD testing.
I'm tempted to have it rolling in this way: 1 version is the version we actually use, and 1 version ahead for verifying that everything will still work when we migrate up a major release, with that gated on some new feature in the major release we want to use finally having major browser support?


Nginx post request pending

Hi,
I've encounterd no problems while developing with ng-flow, NodeJS and Express, although I'm not able to configure Nginx properly as a reverse proxy in order to make it run smoothly with ng-flow and Express.
Here you'll find a request example that is getting a pending status:
Remote Address:<IP_ADDRESS>:80
Request URL:http://itl.lan/api/v1/flow-upload/
Request Method:POST
Status Code:200 OK
Response Headers
view source
Cache-Control:private, no-cache, no-store, must-revalidate
Connection:close
Date:Mon, 03 Aug 2015 20:24:56 GMT
Expires:-1
Pragma:no-cache
X-Powered-By:Express
Request Headers
view source
Accept:*/*
Accept-Encoding:gzip, deflate
Accept-Language:en-US,en;q=0.8,it;q=0.6
App-Session-Hash:df9b1ac0-3a10-11e5-af61-af8fb284004c
Connection:keep-alive
Content-Length:1049741
Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryY2FVUSE0oIcye77i
Host:itl.lan
Origin:http://itl.lan
Referer:http://itl.lan/webapp/
User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36
Request Payload
------WebKitFormBoundaryY2FVUSE0oIcye77i
Content-Disposition: form-data; name="flowChunkNumber"

9
------WebKitFormBoundaryY2FVUSE0oIcye77i
Content-Disposition: form-data; name="flowChunkSize"

1048576
------WebKitFormBoundaryY2FVUSE0oIcye77i
Content-Disposition: form-data; name="flowCurrentChunkSize"

1048576
------WebKitFormBoundaryY2FVUSE0oIcye77i
Content-Disposition: form-data; name="flowTotalSize"

12515925
------WebKitFormBoundaryY2FVUSE0oIcye77i
Content-Disposition: form-data; name="flowIdentifier"

12515925-showcase_001_20150802T2239tgz
------WebKitFormBoundaryY2FVUSE0oIcye77i
Content-Disposition: form-data; name="flowFilename"

showcase_0.0.1_20150802T2239.tgz
------WebKitFormBoundaryY2FVUSE0oIcye77i
Content-Disposition: form-data; name="flowRelativePath"

showcase_0.0.1_20150802T2239.tgz
------WebKitFormBoundaryY2FVUSE0oIcye77i
Content-Disposition: form-data; name="flowTotalChunks"

11
------WebKitFormBoundaryY2FVUSE0oIcye77i
Content-Disposition: form-data; name="file"; filename="showcase_0.0.1_20150802T2239.tgz"
Content-Type: application/x-compressed-tar

Here's my directive in NGINX server.conf:
upstream itl_node_app {
    server <IP_ADDRESS>:5000;
    keepalive 8;
}

server  {
...

    location /api/v1/flow-upload/ {
      proxy_set_header Access-Control-Allow-Origin *;
      proxy_set_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE';
      proxy_set_header 'Access-Control-Allow-Headers' 'X-Requested-With,Accept,Content-Type, Origin$

      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $http_host;
      proxy_set_header X-NginX-Proxy true;
      proxy_pass http://itl_node_app;
      proxy_redirect off;
    }
}

Checking nginx error.log you'll find:
2015/08/03 22:34:28 [error] 8004#0: *792 upstream sent no valid HTTP/1.0 header while reading response header from upstream, client: <IP_ADDRESS>, server: itl.lan, request: "POST /api/v1/flow-upload/ HTTP/1.1", upstream: "http://<IP_ADDRESS>:5000/api/v1/flow-upload/", host: "itl.lan", referrer: "http://itl.lan/webapp/"

Any help appreciated.
Cheers,
Luca

I wrote the Express.js "/api/v1/flow-upload/" route taking as a model and example the flow.js Node sample app, which you can find it here. The issue I described pops up on line 23. The status parameter might be a string literal. I learned the hard way that Nginx manages it way strictly than Express does, raising the error.
A simple and secure way to go is just passing for instance:
res.status(200).send();


New release

It would be great if there were a new release to pip so that we could use the enforce_whitespace option.
Thanks!

@timothycrosley Are there issues that need to be fixed before a new release that we could help with?

Sorry for the delays everyone! I wanted to make sure all outstanding bugs where fixed before pushing out a new release. 4.2.8 was just pushed out tonight.
Cheers!
~Timothy


HTMLUnit does not process JavaScript fetch

I am trying to write a scraping tool to obtain the string COC1=CC2=C(C=C1)NC3=C2CCNC3 from the section titled "Canonical SMILES" from the following website (it uses some sort of dynamic JavaScript content loading when you scroll to the aforementioned "Canonical SMILES" section of the page): https://pubchem.ncbi.nlm.nih.gov/compound/1868
Until about 2 days ago, I had functioning code (thanks Ronald), but it appears that the webmaster of the above site has very recently introduced a new JavaScript library that uses some server request/response facilitator called "fetch" which renders my present code unusable.  Now, instead of printing out my target string (COC1=CC2=C(C=C1)NC3=C2CCNC3), running the HTMLUnit code instead returns:
SEVERE: ReferenceError: "fetch" is not defined
I tried including the following in order to supress this error and see if my code would run anyways:
webClient.getOptions().setThrowExceptionOnScriptError(false);
but I still got the error.
After discussing the situation on the mailing list, I have thus decided to post this issue here.
Will this situation ultimately require a new version of HTMLUnit?  Below is the main method I am using.  Thanks.
`
public static void main(String[] args) throws Exception {
String uri = "https://pubchem.ncbi.nlm.nih.gov/compound/1868";
    try (final WebClient webClient = new WebClient(BrowserVersion.FIREFOX)) {
      // do not stop on js errors
      webClient.getOptions().setThrowExceptionOnScriptError(false);
      // do not log js errors (usually using this is a bad idea, at least
      // if you are hunting for problems).
      webClient.setJavaScriptErrorListener(new SilentJavaScriptErrorListener());

      HtmlPage page = webClient.getPage(uri);
      webClient.waitForBackgroundJavaScriptStartingBefore(10_000);

      final DomNodeList<DomNode> divs = page.querySelectorAll("#Canonical-SMILES .section-content .section-content-item p");
      for (DomNode div : divs) {
          System.out.println("----------------");
          System.out.println(div.asXml());
          System.out.println("----------------");
          System.out.println(div.asText());
          System.out.println("----------------");
      }
    }
}`

Wil lhave a look

Dup of https://github.com/HtmlUnit/htmlunit/issues/78?

Yes this is a duplicate of #78. Did not found the time to work on this. Any help is welcome.


Persistence Marshaller

https://issues.jboss.org/browse/ISPN-7409

The following failures are fixed by this commit in the forthcoming Protostream release:
org.infinispan.test.integration.as.jms.SearchNewEntityJmsMasterSlaveUsingInfinispanAs2ndCacheAndModulesIT.org.infinispan.test.integration.as.jms.SearchNewEntityJmsMasterSlaveUsingInfinispanAs2ndCacheAndModulesIT
org.infinispan.test.integration.as.jms.infinispan.SearchNewEntityJmsMasterSlaveUsingInfinispanAndModulesIT.org.infinispan.test.integration.as.jms.infinispan.SearchNewEntityJmsMasterSlaveUsingInfinispanAndModulesIT
org.infinispan.test.integration.as.wildfly.DirectoryProviderModuleMemberRegistrationIT.org.infinispan.test.integration.as.wildfly.DirectoryProviderModuleMemberRegistrationIT
org.infinispan.test.integration.as.wildfly.InfinispanModuleMemberRegistrationIT.org.infinispan.test.integration.as.wildfly.InfinispanModuleMemberRegistrationIT

@galderz Agreed that we need some kind of test/build-step to ensure that any changes are backwards compatible. There is already tooling out there todo this for static *.proto files, so I will investigate a solution for our generated proto files. Ideally it'll be something that is executed on a per-module basis, but worst case an integration test could be used for the entire build.

@ryanemerson needs rebase. Also, we should run PerfAck, even without stores.

I would have liked to have an explicit user marshaller, not just PersistenceMarshaller.marshallUserObject/unmarshallUserBytes

Do you mean something like PersistenceUserMarshaller that simply has the wrapper class and an instance of the configured user marshaller?

Ideally I would have liked each cache to have its own user marshaller, so that our key/value types don't mix with the user types unless they want to. Of course, atomic maps can exist in any cache so they break my ideal scenario.

If AtomicMaps didn't exist we wouldn't have to worry about that :stuck_out_tongue_winking_eye:
But more seriously, I'm not sure what you mean by our key/value types don't mix with the user types unless they want to, how does having a user-marshaller per cache solve that issue? also, remember that user marshaller configuration is currently global not per cache.

Probably off-topic for your PR, but I was hoping this would be a chance to abstract away the persistent state from memory storage, so we could change memory storage and restart with the same store, or similarly add/remove indexing and restart with the same store (switching in memory between ByteArrayWrapper and ProtobufValueWrapper).

I think that's a good goal to aim for, but I think that's out of scope for this work considering how long this has been going on for.

Was this rebased to latest master @ryanemerson ?  Also, commit name "Upgrade to protostream 4.3.0.Alpha5" should say Alpha6

Was this rebased to latest master @ryanemerson ?

Not since AtomicMap was removed. On it

I would have liked to have an explicit user marshaller, not just PersistenceMarshaller.marshallUserObject/unmarshallUserBytes

Do you mean something like PersistenceUserMarshaller that simply has the wrapper class and an instance of the configured user marshaller?

Looking at the code again, I think what I wanted was basically to rename PersistenceMarshaller to UserMarshaller :)
I was hoping to put hard barrier between our types and user types, so the decision whether to switch to another marshaller would be done only in specific places in our MessageMarshallers and not every time writeObject/readObject is called. But I realize that may be messy, if there are a lot more places where the switch is needed than I'm imagining now.

Ideally I would have liked each cache to have its own user marshaller, so that our key/value types don't mix with the user types unless they want to. Of course, atomic maps can exist in any cache so they break my ideal scenario.

If AtomicMaps didn't exist we wouldn't have to worry about that stuck_out_tongue_winking_eye

Actually it's almost the same with entry metadata, I believe we can have either fully custom metadata, fully standard metadata, or standard metadata with custom version.

But more seriously, I'm not sure what you mean by our key/value types don't mix with the user types unless they want to, how does having a user-marshaller per cache solve that issue? also, remember that user marshaller configuration is currently global not per cache.

I was imagining each cache's user marshaller to start with an empty serialization context and include only the classes the user adds.
It would kind of require the ability to set a custom marshaller per cache as well, and I was also ignoring the metadata that goes in the same cache.

Probably off-topic for your PR, but I was hoping this would be a chance to abstract away the persistent state from memory storage, so we could change memory storage and restart with the same store, or similarly add/remove indexing and restart with the same store (switching in memory between ByteArrayWrapper and ProtobufValueWrapper).

I think that's a good goal to aim for, but I think that's out of scope for this work considering how long this has been going on for.

Agree.

@danberindei Feedback addressed in https://github.com/infinispan/infinispan/pull/6906/commits/50f5c37b2de306f4fc5bb28f23bc25491fbcc0f1
I have removed the store migrator changes from this PR and will issue a separate one, work tracked here: https://issues.jboss.org/browse/ISPN-10276
Similarly, I have also removed the proto-schema-compatibility-plugin from this PR and will issue later. Work tracked here: https://issues.jboss.org/browse/ISPN-10246

run performance tests please

run performance tests please

@danberindei @anistor No noticeable regression in performance.

I think I have addressed all concerns. If you're happy with the changes, let me know and I'll squash the commits.

I've reverted back to protostream Alpha6 as 7 introduced test failures

Squashed and commit messages updated.

Integrated, thanks Ryan!


bugFix: Add ability to handle events with unexisted eventTypes

Codecov Report

Merging #146 into master will not change coverage.
The diff coverage is 50%.

@@           Coverage Diff           @@
##           master     #146   +/-   ##
=======================================
  Coverage   61.65%   61.65%
=======================================
  Files          96       96
  Lines        1442     1442
=======================================
  Hits          889      889
  Misses        553      553

Impacted Files
Coverage Δ

...rc/components/Timeline/Playbook/DisplayPlaybook.js
50% <0%> (ø)
:arrow_up:

src/components/Timeline/Event/EventCard.js
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Coverage decreased (-0.06%) to 57.535% when pulling fd8da6a192015c237aa28c8466e8a224835d0143 on yingzhao-1:yizha/handleEventsWithUnexistingEventTypes into acecbb4b54829b57f0627083c23334c2b6e3e3ec on Azure:master.


Endpoints via _system

Allow accessing _api/cluser/endpoints as authenticated user via the _system database.
Port of #7342

http://jenkins01.arangodb.biz:8080/job/arangodb-matrix-pr/2062/


Realtime execution issue

When app is in background and another app is launched (ie : browser) a sound microcut happens most of the time.
App should run with higher realtime priority.

Doze disabled :)

I've been able to run this on an $80 tablet running android 8 with no issues. What hardware are you using that is having problems?

wake lock and foreground service was added back. If it still pauses when you lock your phone, I recommend grabbing the code and raise an MR

Problem wasn't at lock time. It was realtime prio problem versus other apps.
It seems better with 0.2.3.
Great job


segmentation fault when call libinput_device_ref(device);

I try to use your code, but it get a segmentation fault when call the libinput_devec_ref function. Can you help me to solve the problem? Or the error occurs on the particular device? Thanks.

It's fixed, thanks


SOLR-16150 Provide correct bound zookeeper interface

Instead of always giving localhost, we can return the interface that ZK
actually listens on.
https://issues.apache.org/jira/browse/SOLR-16150

This is great, I've seen this noise output and always find it "alarming" to see!

This needs to be tested with docker containers before merging.


feat: add save as copy in new file menu

Adds a new file menu
Adds a "Save a Copy"

https://github.com/user-attachments/assets/6005ae41-5013-4bdd-9369-33b878eaeb01

Closes https://github.com/holxsam/tldraw-in-obsidian/issues/27

I can confirm this works as intended.

Any news for this feature?

@visualcode Yes, this feature will be included in a new release shortly so stay tuned!

@cdierkens This PR will be closed. But have no fear, PR #33 will be merged to main and this commit is included in that PR!

Great! Thanks. Is the open .tld file also included in the feature?

@jon-dez thanks!
@visualcode I did not include the import feature in this PR. This update was only exporting.
The path forward should be very similar, and should be pretty straightforward.


Disable Redis RDB snapshots

Overview
The default Redis configuration persists data to the Pod that is not saved to persistent storage. The frequency and size of snapshots both increase as keys are added to Redis:

every hour, if at least 1 change was performed
every 5 minutes, if at least 100 changes were performed
every minute, if at least 10,000 changes were performed

While the full impact is not known and has not been investigated, it's suspected that writing the full database to disk may be causing performance issues at scale for large provisioning events. Since Redis is configured as a data cache, this data is not needed or expected to be backed up or restored, and these snapshots are not persisted to disk anyway, the snapshots are redundant at best, and can be disabled with no risk to performance or integrity.
Changes

Added a line (and associated comment) to the Redis configuration in values.yaml to disable RDB snapshots.

Checklist

[X] review the guide to contributing

Thanks Adam! Confirmed that we do not rely on any snapshots in the SCIM bridge. If the data is not present in the cache, we fetch it from API and then populate the cache, never utilizing snapshots.


Drop the behavior of adding a default content-type: application/json

I'm dropping this default as the content-type could vary a lot depending on the type of the body and most browsers already set the correct content-type.
This is a breaking change and will probably be published only on V3.
This should fix #44

@iamandrewluca , WDYT?


NIFI-11900 Added catch for IllegalStateException

Summary
NIFI-00000
Tracking
Please complete the following tracking steps prior to pull request creation.
Issue Tracking

[ ] Apache NiFi Jira issue created

Pull Request Tracking

[ ] Pull Request title starts with Apache NiFi Jira issue number, such as NIFI-00000
[ ] Pull Request commit message starts with Apache NiFi Jira issue number, as such NIFI-00000

Pull Request Formatting

[ ] Pull Request based on current revision of the main branch
[ ] Pull Request refers to a feature branch with one commit containing changes

Verification
Please indicate the verification steps performed prior to pull request creation.
Build

[ ] Build completed using mvn clean install -P contrib-check

[ ] JDK 17

Licensing

[ ] New dependencies are compatible with the Apache License 2.0 according to the License Policy
[ ] New dependencies are documented in applicable LICENSE and NOTICE files

Documentation

[ ] Documentation formatting appears as expected in rendered files

@exceptionfactory fair point. Updated

@exceptionfactory fair point. Updated

Thanks @MikeThomsen, looks good, will plan on merging pending successful builds.

@exceptionfactory  we're good on the builds


Create helm chart and OCM package for watcher

As discussed in our call, I have removed the scripts and applied your suggestions. 👍

/retest-required

/retest

/test pre-main-kyma-watcher-skr-lint

Looks good 🔥  but the lint test it still failing.
Also the helm chart path looks like kyma-watcher/skr/skr-watcher-helm-chart
Can we make it a bit simpler like kyma-watcher/skr/chart?

Looks good 🔥 but the lint test it still failing. Also the helm chart path looks like kyma-watcher/skr/skr-watcher-helm-chart Can we make it a bit simpler like kyma-watcher/skr/chart?

Thanks for the feedback! I have simplified the chart path as you suggested 😄
Lint test looks green now as issues were fixed by #34 👍


Seems to have issues with touch even handling?

It looks like this component on iOS passes touch events through it.
When I scroll down on the date-time picker, the elements behind it scroll as well.
Any ideas?

I just started using it and am not experiencing this. Paste some code so we can have a look


Add AWS Session Token support for Bedrock API

Resolves #88
This pull request adds support for the AWS Session Token when using the Bedrock API. This value is needed when using temporary AWS credentials.
I was able to test locally with my aws credentials

Fun fact, I made this PR with aider:

I use dynamic aws credentials, that requires AWS_SESSION_TOKEN in addition to the key id and secret access key. Can we adjust the ApiHandlerOptions type and the bedrock client creation to include this?

Tokens: 5.8k sent, 657 received. Cost: $0.03 message, $0.03 session.

Let's add the concept to ApiOptions and ClaudeDevProvider too

Tokens: 16k sent, 1.3k received. Cost: $0.07 message, $0.10 session.

did we miss anything? onDidReceiveMessage?

Tokens: 16k sent, 538 received. Cost: $0.06 message, $0.15 session.

v1.5.19 implemented this properly 🙌


Allow users to choose between SVG or WebGL front ends.

Allow users to choose between using the original SVG clustergrammer-js and the new WebGL clustergrammer-gl when generating a widget. The default will be WebGL. This will allow me to make updates to the original SVG visualization that will not effect the original clustergrammer-widget (e.g. no further releases). Clustergrammer2 will take over as the default widget and clustergrammer-widget will effectively be deprecated.
This will also enable the SVG widget to be used in cloud based jupyter notebooks.
The only downside is the requirement of downloading additional JavaScript code. But I think the benefits outweigh the costs.

We're not going to do this after all. Users will be forced to use Clustergrammer-Widget for this. We may rebuid a separate Clustergrammer-SVG widget if enough people need this feature.


Invalid option: --skip_upload_apk:

I'm using fastlane version 2.137.0 and i'm trying to promote from beta to production track.
#!/bin/bash
fastlane env
fastlane supply
--track beta
--track_promote_to production
--rollout 0.02
--package_name com.something
--skip_upload_apk: true
--skip_upload_metadata: true,
--skip_upload_images: true,
--skip_upload_screenshots: true
--json_key "${}" ;
invalid option: --skip_upload_apk:
Please update using sudo gem install fastlane
ERROR: Job failed: exit code 1
It's working for deployment scripts but not for promotion... any clue?

Yes including the output is a must here. Try it once and you should get the solution

[09:57:04]: $ bundle exec fastlane supply --track beta --track_promote_to production --rollout 0.02 --package_name com.something p --json_key /builds/android/SUPPLY_JSON_KEY --skip_upload_apk: true --skip_upload_metadata: true, --skip_upload_images: true, --skip_upload_screenshots: true ;
[09:57:04]:
[09:57:04]: Get started using a Gemfile for fastlane https://docs.fastlane.tools/getting-started/ios/setup/#use-a-gemfile
invalid option: --skip_upload_apk:
#######################################################################
fastlane 2.148.1 is available.
You should use the latest version.
Please update using sudo gem install fastlane.
#######################################################################
2.148.1 Improvements for plugin searching

[fastlane] fix searching for plugins where the name contains “action” in it (#16470) via Josh Holtz
2.148.0 Improvements
[deliver] add fix for app_version and build_number matching (#16091) via onurpolattimur
[fastlane] load additional .env files from within CLIToolsDistributor (#16096) via Liam Nichols
[match] improve match macOS support (#16456) via Davide De Rosa
[gym] move AppStoreInfo.plist to build output directory if generated … (#16133) via Ashton Williams
[actions] push_to_git_remote - raise an error if get current branch failed (#16141) via Jierong Li
[deliver] fix crash when metadata_path is outside of the fastlane path (#16146) via Bruno Virlet
[Fastlane.swift] add options to beforeAll (#16220) via Niil Öhlin
[supply] added in_app_update_priority option to set the InAppUpdatePriority … (#16452) via jomisj
[Ruby 2.7] fix deprecated warnings (#16409) via Jakub Kašpar
[snapshot] fix warning in SnapshotHelper.swift (#16244) via Cédric Luthi
[sigh][match] add :fail_on_name_taken in sigh, use in match (#16281) via Michal Laskowski
[snapshot] erase simulator only when erase_simulator is true (#16299) via Theodore Gonzalez
[spaceship][pilot] expire TestFlight Builds (#16332) via Steven Sherry
[gym] add info on passing plist into export_options on gym (#16345) via Bahadır Öncel
[doc][crashlytics] remove duplicated deprecation message (#16363) via JAEHYUN OH
[scan] add only_test_configurations and skip_test_configurations options for use with test plans (#16367) via Rob Nadin
[snapshot] add -only-testing and -skip-testing options from scan (#16312) via Jean Mainguy
[screengrab] adding locales in all the paths where screenshots could be saved (#16370) via Nicolas Brosy
[action] upload_symbols_to_crashlytics include Path Suggested by Carthage Instructions (#16401) via Stefan Herold
[action] dd missing env_names to swiftlint action (#16445) via Tóth Balázs
2.147.0 Dropped support for Ruby <= 2.3 and other improvements
[action] updating TestFairy action, based upon documentation and endpoint test. (#16425) via cdm2012
[frameit] automatically determine platform from fastfile (#16428) via Miloš Černilovský
[snapshot] add override_status_bar option (#16419) via Bouke van der Bijl
[action] fix shellescape in set_pod_key (#16421) via Arnaud Dorgans
[spaceship] add to_json for ConnectAPI models (#16422) via Theodore Dubois
[frameit] add iPad Pro 12.9 4th generation (#16444) via Bouke van der Bijl
[match] prompt for keychain password to set partition list for certificates to disable xcode prompt for password on sign (#16448) via Josh Holtz
[action] cocoapods: replace clean -> clean_install in example (#16435) via Marcin Stepnowski
[fastlane] drop Ruby 2.0, 2.1, 2.2 and 2.3 from gemspec (#16408) via Jakub Kašpar
[scan] add disable_xcpretty option that skips it post-xcodebuild too (#16375) via Marcelo Gobetti
[verify_xcode] add entry with TeamIdentifier=APPLECOMPUTER (#16395) via Teameh
[Fastlane.swift] adding --port setter to socket_server (#16381) via Ray Deck
[spaceship] fix error "can't modify frozen String" (#16403) via bill2004158
[git_branch] adding AppCenter for ENV variable check (#16404) via matemoln
[match] profile name parameter to specify your own provisioning profile name (#16386) via Josh Slebodnik
[Ruby 2.7] allow Faraday 1.0.0 and Faraday-middleware 1.0.0 with Ruby 2.7 fixes, fix base Ruby 2.3 tests (#16399) via Jakub Kašpar
[spaceship] add retrieve-create of iap shared secret to Spaceship::Tunes (#16326) via Michael Galperin
[frameit] change framefile.json load path to support Screengrab and Supply (#16306) via Wellington Avelino dos Santos
[fastlane] remove trailing spaces from custom_action_template file (#16366) via Akira Fukunaga
[snapshot] add -testPlan option from scan (#16350) via Jean Mainguy

Migration Notes

Support for Ruby 2.0, 2.1, 2.2, and 2.3 has been dropped

Ruby 2.3 officially ended support March 31, 2019

match will now prompt for keychain password when importing a new certificate

This will prevent the blocking prompt when Xcode signs a build
The password will only need to be entered once and will be stored in the keychain for future uses
To see all new releases, open https://github.com/fastlane/fastlane/releases
Please update using sudo gem install fastlane
ERROR: Job failed: exit code 1

Here is my lane to update rollout percentage on production track:
desc "Update production rollout - Usage: fastlane rollout_prod rollout:0.25"
lane :rollout_prod do |options|
  supply(
      track: 'production',
      rollout: options[:rollout], # 0.25
      skip_upload_apk: true,
      skip_upload_metadata: true,
      skip_upload_images: true,
      skip_upload_screenshots: true,
      skip_upload_changelogs: true,
    )
end

Nice collection keep up the good work. walgreenslistens