[Bug] kyuubi loads the Listener to start an error

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Search before asking

[X] I have searched in the issues and found no similar issues.

Describe the bug
kyuubi loads the Listener to start an error. When I use yarn client mode, it is normal, but cluster mode fails to start.
Affects Version(s)
1.5.1
Kyuubi Server Log Output
09:20:04.816 INFO org.apache.zookeeper.ClientCnxn: Session establishment complete on server HZ3-BD-2204-V2809.lianlianpay-dc.com/<IP_ADDRESS>:2181, sessionid = 0x100faf3ff4b0001, negotiated timeout = 60000
09:20:04.817 INFO org.apache.zookeeper.server.ZooKeeperServer: Established session 0x100faf3ff4b0001 with negotiated timeout 60000 for client /<IP_ADDRESS>:37874
09:20:04.818 INFO org.apache.curator.framework.state.ConnectionStateManager: State change: CONNECTED
09:20:04.845 INFO org.apache.kyuubi.engine.EngineRef: Launching engine:
/home/dubbo/spark-3.2.1-bin-hadoop2.7/bin/spark-submit \
	--class org.apache.kyuubi.engine.spark.SparkSQLEngine \
	--conf spark.kyuubi.session.engine.idle.timeout=PT30M \
	--conf spark.kyuubi.session.engine.check.interval=PT5M \
	--conf spark.sql.hive.convertMetastoreParquet=false \
	--conf spark.hive.server2.thrift.resultset.default.fetch.size=1000 \
	--conf spark.kyuubi.ha.zookeeper.quorum=HZ3-BD-2204-V280:2181 \
	--conf spark.kyuubi.sparklens.jars.location=/home/dubbo/apache-kyuubi-1.5.1-incubating-bin/external_jars/lens_2.12-1.0.2-SNAPSHOT.jar \
	--conf spark.extraListeners=com.lly.lens.JobListener \
	--conf spark.kyuubi.client.ip=<IP_ADDRESS> \
	--conf spark.yarn.queue=llyt \
	--conf spark.kyuubi.engine.submit.time=1655342404826 \
	--conf spark.app.name=dwd_evt_payout_deposit_di \
	--conf spark.executorEnv.HADOOP_USER_NAME=hdfs \
	--conf spark.driver.memory=4G \
	--conf spark.executor.instances=20 \
	--conf spark.kyuubi.ha.engine.ref.id=964041b0-08c9-4663-9d02-ed5e4001bf54 \
	--conf spark.executorEnv.SPARK_USER=hdfs \
	--conf spark.kyuubi.session.conf.advisor=org.apache.kyuubi.plugin.HSessionConfAdvisor \
	--conf spark.driver.cores=2 \
	--conf spark.kyuubi.ha.zookeeper.auth.type=NONE \
	--conf spark.submit.deployMode=cluster \
	--conf spark.master=yarn \
	--conf spark.yarn.tags=KYUUBI \
	--conf spark.kyuubi.engine.share.level=CONNECTION \
	--conf spark.kyuubi.ha.zookeeper.namespace=/kyuubi_1.5.1-SNAPSHOT_CONNECTION_SPARK_SQL/hdfs/964041b0-08c9-4663-9d02-ed5e4001bf54 \
	--conf spark.executor.memory=15G \
	--conf spark.executor.cores=4 \
	--conf spark.yarn.executor.memoryOverhead=6G \
	--conf spark.memory.fraction=0.8 \
	--conf spark.kyuubi.engine.type=SPARK_SQL \
	--conf spark.executor.memory=12 \
	--conf spark.sql.shuffle.partitions=300 \
	--jars /home/dubbo/apache-kyuubi-1.5.1-incubating-bin/external_jars/sparklens_2.12-1.0.2-SNAPSHOT.jar \
	--proxy-user hdfs /home/dubbo/apache-kyuubi-1.5.1-incubating-bin/externals/engines/spark/kyuubi-spark-sql-engine_2.12-1.5.1-SNAPSHOT.jar
09:20:04.857 INFO org.apache.kyuubi.engine.ProcBuilder: Logging to /home/dubbo/apache-kyuubi-1.5.1-incubating-bin/work/hdfs/kyuubi-spark-sql-engine.log.2
09:20:24.644 INFO org.apache.curator.framework.imps.CuratorFrameworkImpl: backgroundOperationsLoop exiting
09:20:24.646 INFO org.apache.zookeeper.server.PrepRequestProcessor: Processed session termination for sessionid: 0x100faf3ff4b0001
09:20:24.648 INFO org.apache.zookeeper.ZooKeeper: Session: 0x100faf3ff4b0001 closed
09:20:24.648 INFO org.apache.zookeeper.ClientCnxn: EventThread shut down for session: 0x100faf3ff4b0001
09:20:24.649 INFO org.apache.zookeeper.server.NIOServerCnxn: Closed socket connection for client /<IP_ADDRESS>:37874 which had sessionid 0x100faf3ff4b0001
09:20:24.654 INFO org.apache.kyuubi.operation.LaunchEngine: Processing hdfs's query[71bbed2b-6424-4db3-b771-a2eaf8012f8c]: RUNNING_STATE -> ERROR_STATE, statement: LAUNCH_ENGINE, time taken: 19.854 seconds
09:20:24.677 INFO org.apache.kyuubi.server.KyuubiTBinaryFrontendService: Received request of closing SessionHandle [f07458c0-c2f0-4af8-89db-0c6d3e321e64]
09:20:24.679 INFO org.apache.kyuubi.session.KyuubiSessionManager: SessionHandle [f07458c0-c2f0-4af8-89db-0c6d3e321e64] is closed, current opening sessions 0
09:20:24.683 INFO org.apache.kyuubi.operation.LaunchEngine: Processing hdfs's query[71bbed2b-6424-4db3-b771-a2eaf8012f8c]: ERROR_STATE -> CLOSE

Kyuubi Engine Log Output
22/06/16 09:20:18 INFO Client: Application report for application_1654630917149_16762 (state: ACCEPTED)
22/06/16 09:20:19 INFO Client: Application report for application_1654630917149_16762 (state: ACCEPTED)
09:20:24.644 INFO org.apache.curator.framework.imps.CuratorFrameworkImpl: backgroundOperationsLoop exiting
09:20:24.648 INFO org.apache.zookeeper.ZooKeeper: Session: 0x100faf3ff4b0001 closed
09:20:24.648 INFO org.apache.zookeeper.ClientCnxn: EventThread shut down for session: 0x100faf3ff4b0

22/06/16 09:20:15 INFO Client: Application report for application_1654630917149_16762 (state: ACCEPTED)
22/06/16 09:20:16 INFO Client: Application report for application_1654630917149_16762 (state: ACCEPTED)
22/06/16 09:20:17 INFO Client: Application report for application_1654630917149_16762 (state: ACCEPTED)
22/06/16 09:20:18 INFO Client: Application report for application_1654630917149_16762 (state: ACCEPTED)
22/06/16 09:20:19 INFO Client: Application report for application_1654630917149_16762 (state: ACCEPTED)
09:20:24.644 INFO org.apache.curator.framework.imps.CuratorFrameworkImpl: backgroundOperationsLoop exiting
09:20:24.648 INFO org.apache.zookeeper.ZooKeeper: Session: 0x100faf3ff4b0001 closed
09:20:24.648 INFO org.apache.zookeeper.ClientCnxn: EventThread shut down for session: 0x100faf3ff4b0001
09:20:24.654 INFO org.apache.kyuubi.operation.LaunchEngine: Processing hdfs's query[71bbed2b-6424-4db3-b771-a2eaf8012f8c]: RUNNING_STATE -> ERROR_STATE, statement: LAUNCH_ENGINE, time taken: 19.854 seconds
22/06/16 09:20:20 INFO Client: Application report for application_1654630917149_16762 (state: ACCEPTED)
22/06/16 09:20:21 INFO Client: Application report for application_1654630917149_16762 (state: ACCEPTED)
22/06/16 09:20:22 INFO Client: Application report for application_1654630917149_16762 (state: ACCEPTED)
22/06/16 09:20:23 INFO Client: Application report for application_1654630917149_16762 (state: FAILED)
22/06/16 09:20:23 INFO Client:
	 client token: N/A
	 diagnostics: Application application_1654630917149_16762 failed 2 times due to AM Container for appattempt_1654630917149_16762_000002 exited with  exitCode: 13
Failing this attempt.Diagnostics: [2022-06-16 09:20:23.053]Exception from container-launch.
Container id: container_e82_1654630917149_16762_02_000001
Exit code: 13

[2022-06-16 09:20:23.054]Container exited with a non-zero exit code 13. Error file: prelaunch.err.
Last 4096 bytes of prelaunch.err :
Last 4096 bytes of stderr :
e.hadoop.util.ShutdownHookManager.addShutdownHook(ShutdownHookManager.java:152)
	at org.apache.hadoop.tracing.SpanReceiverHost.get(SpanReceiverHost.java:79)
	at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:634)
	at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:619)
	at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:149)
	at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2669)
	at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:94)
	at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2703)
	at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2685)
	at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:373)
	at org.apache.hadoop.fs.Path.getFileSystem(Path.java:295)
	at org.apache.spark.deploy.yarn.ApplicationMaster.cleanupStagingDir(ApplicationMaster.scala:683)
	at org.apache.spark.deploy.yarn.ApplicationMaster.$anonfun$run$2(ApplicationMaster.scala:267)
	at org.apache.spark.util.SparkShutdownHook.run(ShutdownHookManager.scala:214)
	at org.apache.spark.util.SparkShutdownHookManager.$anonfun$runAll$2(ShutdownHookManager.scala:188)
	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
	at org.apache.spark.util.Utils$.logUncaughtExceptions(Utils.scala:2019)
	at org.apache.spark.util.SparkShutdownHookManager.$anonfun$runAll$1(ShutdownHookManager.scala:188)
	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
	at scala.util.Try$.apply(Try.scala:213)
	at org.apache.spark.util.SparkShutdownHookManager.runAll(ShutdownHookManager.scala:188)
	at org.apache.spark.util.SparkShutdownHookManager$$anon$2.run(ShutdownHookManager.scala:178)
	at org.apache.hadoop.util.ShutdownHookManager$1.run(ShutdownHookManager.java:54)
22/06/16 09:20:22 INFO ShutdownHookManager: Shutdown hook called
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data8/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-310f70f7-060b-4c37-9b40-29c68f8737aa
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data2/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-a2725161-0f29-470d-95d4-ad7762057e4b
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data3/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-49c7dee2-2a77-49d0-b307-73a72cf4e5dc
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data1/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-0dd13a24-0c92-4ec6-a5da-e21de71588e3
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data5/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-51ee1773-aa91-4f56-b43a-697a6a1e02a0
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data6/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-28474654-2043-4f6e-8f4d-1e5481ae9b05
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data7/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-771f67ef-3ac4-41fe-9cef-0daffc55865a
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data11/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-55c32301-2f79-4138-bb0a-1ad037b26df5
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data10/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-b4b76b3a-1207-4f00-a12b-3a569c8e500d
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data12/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-aab310b3-23d5-4ee9-a60b-b95e39313d77
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data9/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-a50fa878-0fe5-48df-9e18-d710167a2cac
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data4/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-505d373b-94f1-4292-8b01-dbbaf301eecc

[2022-06-16 09:20:23.055]Container exited with a non-zero exit code 13. Error file: prelaunch.err.
Last 4096 bytes of prelaunch.err :
Last 4096 bytes of stderr :
e.hadoop.util.ShutdownHookManager.addShutdownHook(ShutdownHookManager.java:152)
	at org.apache.hadoop.tracing.SpanReceiverHost.get(SpanReceiverHost.java:79)
	at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:634)
	at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:619)
	at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:149)
	at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2669)
	at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:94)
	at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2703)
	at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2685)
	at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:373)
	at org.apache.hadoop.fs.Path.getFileSystem(Path.java:295)
	at org.apache.spark.deploy.yarn.ApplicationMaster.cleanupStagingDir(ApplicationMaster.scala:683)
	at org.apache.spark.deploy.yarn.ApplicationMaster.$anonfun$run$2(ApplicationMaster.scala:267)
	at org.apache.spark.util.SparkShutdownHook.run(ShutdownHookManager.scala:214)
	at org.apache.spark.util.SparkShutdownHookManager.$anonfun$runAll$2(ShutdownHookManager.scala:188)
	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
	at org.apache.spark.util.Utils$.logUncaughtExceptions(Utils.scala:2019)
	at org.apache.spark.util.SparkShutdownHookManager.$anonfun$runAll$1(ShutdownHookManager.scala:188)
	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
	at scala.util.Try$.apply(Try.scala:213)
	at org.apache.spark.util.SparkShutdownHookManager.runAll(ShutdownHookManager.scala:188)
	at org.apache.spark.util.SparkShutdownHookManager$$anon$2.run(ShutdownHookManager.scala:178)
	at org.apache.hadoop.util.ShutdownHookManager$1.run(ShutdownHookManager.java:54)
22/06/16 09:20:22 INFO ShutdownHookManager: Shutdown hook called
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data8/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-310f70f7-060b-4c37-9b40-29c68f8737aa
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data2/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-a2725161-0f29-470d-95d4-ad7762057e4b
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data3/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-49c7dee2-2a77-49d0-b307-73a72cf4e5dc
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data1/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-0dd13a24-0c92-4ec6-a5da-e21de71588e3
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data5/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-51ee1773-aa91-4f56-b43a-697a6a1e02a0
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data6/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-28474654-2043-4f6e-8f4d-1e5481ae9b05
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data7/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-771f67ef-3ac4-41fe-9cef-0daffc55865a
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data11/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-55c32301-2f79-4138-bb0a-1ad037b26df5
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data10/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-b4b76b3a-1207-4f00-a12b-3a569c8e500d
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data12/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-aab310b3-23d5-4ee9-a60b-b95e39313d77
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data9/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-a50fa878-0fe5-48df-9e18-d710167a2cac
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data4/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-505d373b-94f1-4292-8b01-dbbaf301eecc

For more detailed output, check the application tracking page: http://HZ3-BD-2004-P1392:8088/cluster/app/application_1654630917149_16762 Then click on links to logs of each attempt.
. Failing the application.
	 ApplicationMaster host: N/A
	 ApplicationMaster RPC port: -1
	 queue: ll
	 start time:<PHONE_NUMBER>537
	 final status: FAILED
	 tracking URL: http://HZ3-BD-2004-P1392:8088/cluster/app/application_1654630917149_16762
	 user: hdfs
22/06/16 09:20:23 INFO Client: Deleted staging directory hdfs://hz3bdcrossborder01/user/hdfs/.sparkStaging/application_1654630917149_16762
22/06/16 09:20:23 ERROR Client: Application diagnostics message: Application application_1654630917149_16762 failed 2 times due to AM Container for appattempt_1654630917149_16762_000002 exited with  exitCode: 13
Failing this attempt.Diagnostics: [2022-06-16 09:20:23.053]Exception from container-launch.
Container id: container_e82_1654630917149_16762_02_000001
Exit code: 13

[2022-06-16 09:20:23.054]Container exited with a non-zero exit code 13. Error file: prelaunch.err.
Last 4096 bytes of prelaunch.err :
Last 4096 bytes of stderr :
e.hadoop.util.ShutdownHookManager.addShutdownHook(ShutdownHookManager.java:152)
	at org.apache.hadoop.tracing.SpanReceiverHost.get(SpanReceiverHost.java:79)
	at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:634)
	at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:619)
	at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:149)
	at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2669)
	at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:94)
	at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2703)
	at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2685)
	at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:373)
	at org.apache.hadoop.fs.Path.getFileSystem(Path.java:295)
	at org.apache.spark.deploy.yarn.ApplicationMaster.cleanupStagingDir(ApplicationMaster.scala:683)
	at org.apache.spark.deploy.yarn.ApplicationMaster.$anonfun$run$2(ApplicationMaster.scala:267)
	at org.apache.spark.util.SparkShutdownHook.run(ShutdownHookManager.scala:214)
	at org.apache.spark.util.SparkShutdownHookManager.$anonfun$runAll$2(ShutdownHookManager.scala:188)
	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
	at org.apache.spark.util.Utils$.logUncaughtExceptions(Utils.scala:2019)
	at org.apache.spark.util.SparkShutdownHookManager.$anonfun$runAll$1(ShutdownHookManager.scala:188)
	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
	at scala.util.Try$.apply(Try.scala:213)
	at org.apache.spark.util.SparkShutdownHookManager.runAll(ShutdownHookManager.scala:188)
	at org.apache.spark.util.SparkShutdownHookManager$$anon$2.run(ShutdownHookManager.scala:178)
	at org.apache.hadoop.util.ShutdownHookManager$1.run(ShutdownHookManager.java:54)
22/06/16 09:20:22 INFO ShutdownHookManager: Shutdown hook called
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data8/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-310f70f7-060b-4c37-9b40-29c68f8737aa
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data2/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-a2725161-0f29-470d-95d4-ad7762057e4b
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data3/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-49c7dee2-2a77-49d0-b307-73a72cf4e5dc
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data1/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-0dd13a24-0c92-4ec6-a5da-e21de71588e3
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data5/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-51ee1773-aa91-4f56-b43a-697a6a1e02a0
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data6/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-28474654-2043-4f6e-8f4d-1e5481ae9b05
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data7/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-771f67ef-3ac4-41fe-9cef-0daffc55865a
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data11/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-55c32301-2f79-4138-bb0a-1ad037b26df5
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data10/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-b4b76b3a-1207-4f00-a12b-3a569c8e500d
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data12/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-aab310b3-23d5-4ee9-a60b-b95e39313d77
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data9/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-a50fa878-0fe5-48df-9e18-d710167a2cac
22/06/16 09:20:22 INFO ShutdownHookManager: Deleting directory /data4/hadoop/yarn/local/usercache/hdfs/appcache/application_1654630917149_16762/spark-505d373b-94f1-4292-8b01-dbbaf301eecc

Kyuubi Server Configurations
No response
Kyuubi Engine Configurations
No response
Additional context
No response
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

@yaooqinn can you help me

--conf spark.kyuubi.sparklens.jars.location=/home/dubbo/apache-kyuubi-1.5.1-incubating-bin/external_jars/lens_2.12-1.0.2-SNAPSHOT.jar \

maybe related to this, your jar is unreachable for cluster mode

--conf spark.kyuubi.sparklens.jars.location=/home/dubbo/apache-kyuubi-1.5.1-incubating-bin/external_jars/lens_2.12-1.0.2-SNAPSHOT.jar \

maybe related to this, your jar is unreachable for cluster mode

This is my --jars input

you can check the am log first


Update README.md

corrected mentioned format of a file

Well done! Many thanks for your contribution!


permission denied : Multi tenant partitioning base on namespace and role

Use case
I am trying to perform mutli tenant partitionning.
Each tenant has it's own kubernetes names space.
They all share 1 vault instance.
Example
namespaces :

app1 : Tenant 1 namespace
app2 : Tenant 2 namespace
test-vaut : Vault namespace

vault secrets :

secrets/data/app1/* : Tenant 1 secrets
secrets/data/app2/* : Tenant 2 secrets

app1 should have access to secrets/data/app1/*
app1 should not have acces to secrets/data/app2/*
Expected working configuration
vault.yaml
apiVersion: "vault.banzaicloud.com/v1alpha1"
kind: "Vault"
metadata:
  name: "vault"
  namespace: test-vault
spec:
  size: 1
  image: vault:1.2.3
  bankVaultsImage: banzaicloud/bank-vaults:0.9.0

  # Common annotations for all created resources
  annotations:
    common/annotation: "true"

  # Vault Pods , Services and TLS Secret annotations
  vaultAnnotations:
    type/instance: "vault"

  # Vault Configurer Pods and Services annotations
  vaultConfigurerAnnotations:
    type/instance: "vaultconfigurer"

  # Vault Pods , Services and TLS Secret labels
  vaultLabels:
    example.com/log-format: "json"

  # Vault Configurer Pods and Services labels
  vaultConfigurerLabels:
    example.com/log-format: "string"

  # Specify the ServiceAccount where the Vault Pod and the Bank-Vaults configurer/unsealer is running
  serviceAccount: vault

  serviceType: ClusterIP

  # Request an Ingress controller with the default configuration
  ingress:
    # Specify Ingress object annotations here, if TLS is enabled (which is by default)
    # the operator will add NGINX, Traefik and HAProxy Ingress compatible annotations
    # to support TLS backends
    annotations:
    # Override the default Ingress specification here
    # This follows the same format as the standard Kubernetes Ingress
    # See: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.13/#ingressspec-v1beta1-extensions
    spec: {}

  # Use local disk to store Vault file data, see config section.
  volumes:
    - name: vault-file
      emptyDir: {}

  volumeMounts:
    - name: vault-file
      mountPath: /vault/file

  # Support for distributing the generated CA certificate Secret to other namespaces.
  # Define a list of namespaces or use ["*"] for all namespaces.
  caNamespaces:
    - app1
    - app2

  # Describe where you would like to store the Vault unseal keys and root token.
  unsealConfig:
    options:
      # The preFlightChecks flag enables unseal and root token storage tests
      # This is true by default
      preFlightChecks: true
    kubernetes:
      secretNamespace: test-vault

  # A YAML representation of a final vault config file.
  # See https://www.vaultproject.io/docs/configuration/ for more information.
  config:
    storage:
      file:
        path: "${ .Env.VAULT_STORAGE_FILE }" # An example how Vault config environment interpolation can be used
    listener:
      tcp:
        address: "<IP_ADDRESS>:8200"
        # Uncommenting the following line and deleting tls_cert_file and tls_key_file disables TLS
        # tls_disable: true
        tls_cert_file: /vault/tls/server.crt
        tls_key_file: /vault/tls/server.key
    telemetry:
      statsd_address: localhost:9125
    ui: true

  # See: https://github.com/banzaicloud/bank-vaults#example-external-vault-configuration for more details.
  externalConfig:
    policies:
      - name: allow_secrets
        rules: path "secret/*" {
          capabilities = ["create", "read", "update", "delete", "list"]
          }
      - name: app1
        rules: path "secret/data/app1/*" {
            capabilities = ["create", "read", "update", "delete", "list"]
            }
      - name: app2
        rules: path "secret/data/app2/*" {
            capabilities = ["create", "read", "update", "delete", "list"]
            }

    auth:
      - type: kubernetes
        roles:
        #- name: default
        #  bound_service_account_names: ["default", "vault", "test-vault-vault-secrets-webhook" ]
        #  bound_service_account_namespaces: [ "test-vault", "app1", "app2" ]
        #  policies: ["allow_secrets"]
        #  ttl: 1h
        - name: app1
          bound_service_account_names: [ "default", "vault", "test-vault-vault-secrets-webhook" ]
          bound_service_account_namespaces: [ "test-vault", "app1" ]
          policies: [ "app1" ]
          ttl: 1h
        #- name: app2
        #  bound_service_account_names: [ "default", "vault", "test-vault-vault-secrets-webhook" ]
        #  bound_service_account_namespaces: [ "test-vault", "app2" ]
        #  policies: [ "app2" ]
        #  ttl: 1h

    secrets:
      - path: secret
        type: kv
        description: General secrets.
        options:
          version: 2

    # Allows writing some secrets to Vault (useful for development purposes).
    # See https://www.vaultproject.io/docs/secrets/kv/index.html for more information.
    startupSecrets:
      - type: kv
        path: secret/data/app1
        data:
          data:
            APP_SECRET: APP1_VALUE
      - type: kv
        path: secret/data/app2
        data:
          data:
            APP_SECRET: APP2_VALUE

  vaultEnvsConfig:
    - name: VAULT_LOG_LEVEL
      value: debug
    - name: VAULT_STORAGE_FILE
      value: "/vault/file"

  # Marks presence of Istio, which influences things like port namings
  istioEnabled: false

app1.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: app1
  namespace: app1
spec:
  replicas: 1
  selector:
    matchLabels:
      app: hello-secrets
  template:
    metadata:
      labels:
        app: hello-secrets
      annotations:
        vault.security.banzaicloud.io/vault-addr: "https://vault.test-vault.svc.cluster.local:8200"
        vault.security.banzaicloud.io/vault-tls-secret: "vault-tls"
        vault.security.banzaicloud.io/vault-role: "app1"
    spec:
      serviceAccountName: default
      containers:
      - name: alpine
        image: alpine
        command: ["sh", "-c", "echo $APP_SECRET && echo going to sleep... && sleep 10000"]
        env:
        - name: APP_SECRET
          value: "vault:secret/data/app1#APP_SECRET"

app1 logs
time="2020-02-14T14:26:35Z" level=info msg="Received new Vault token"
time="2020-02-14T14:26:35Z" level=info msg="Initial Vault token arrived"
time="2020-02-14T14:26:35Z" level=fatal msg="failed to read secret from path: secret/data/app1 Error making API request.\n\nURL: GET https://vault.test-vault.svc.cluster.local:8200/v1/secret/data/app1?version=-1\nCode: 403. Errors:\n\n* 1 error occurred:\n\t* permission denied\n\n" app=vault-env

Working example without partioning
vault.yaml
...
    auth:
      - type: kubernetes
        roles:
        - name: default
          bound_service_account_names: ["default", "vault", "test-vault-vault-secrets-webhook" ]
          bound_service_account_namespaces: [ "test-vault", "app1", "app2" ]
          policies: ["allow_secrets"]
          ttl: 1h
        #- name: app1
        #  bound_service_account_names: [ "default", "vault", "test-vault-vault-secrets-webhook" ]
        #  bound_service_account_namespaces: [ "test-vault", "app1" ]
        #  policies: [ "app1" ]
        #  ttl: 1h
...

app1.yaml
...
      annotations:
        vault.security.banzaicloud.io/vault-addr: "https://vault.test-vault.svc.cluster.local:8200"
        vault.security.banzaicloud.io/vault-tls-secret: "vault-tls"
        #vault.security.banzaicloud.io/vault-role: "app1"
...

app1 logs
time="2020-02-14T14:37:14Z" level=info msg="Failed to request new Vault token Error making API request.\n\nURL: PUT https://vault.test-vault.svc.cluster.local:8200/v1/auth/kubernetes/login\nCode: 400. Errors:\n\n* missing client token"
time="2020-02-14T14:37:15Z" level=info msg="Failed to request new Vault token Error making API request.\n\nURL: PUT https://vault.test-vault.svc.cluster.local:8200/v1/auth/kubernetes/login\nCode: 400. Errors:\n\n* missing client token"
time="2020-02-14T14:37:16Z" level=info msg="Received new Vault token"
time="2020-02-14T14:37:16Z" level=info msg="Initial Vault token arrived"
APP1_VALUE
going to sleep...

Test n°2
vault.yaml
...
    auth:
      - type: kubernetes
        roles:
        - name: default
          bound_service_account_names: ["default", "vault", "test-vault-vault-secrets-webhook" ]
          bound_service_account_namespaces: [ "test-vault", "app1", "app2" ]
          policies: ["app1"] # app1 only
          ttl: 1h
        #- name: app1
        #  bound_service_account_names: [ "default", "vault", "test-vault-vault-secrets-webhook" ]
        #  bound_service_account_namespaces: [ "test-vault", "app1" ]
        #  policies: [ "app1" ]
        #  ttl: 1h
...

app1.yaml
...
      annotations:
        vault.security.banzaicloud.io/vault-addr: "https://vault.test-vault.svc.cluster.local:8200"
        vault.security.banzaicloud.io/vault-tls-secret: "vault-tls"
        #vault.security.banzaicloud.io/vault-role: "app1"
...

app1 logs
time="2020-02-14T14:43:17Z" level=info msg="Received new Vault token"
time="2020-02-14T14:43:17Z" level=info msg="Initial Vault token arrived"
time="2020-02-14T14:43:17Z" level=info msg="Renewed Vault Token"
time="2020-02-14T14:43:17Z" level=fatal msg="failed to read secret from path: secret/data/app1 Error making API request.\n\nURL: GET https://vault.test-vault.svc.cluster.local:8200/v1/secret/data/app1?version=-1\nCode: 403. Errors:\n\n* 1 error occurred:\n\t* permission denied\n\n" app=vault-env

Test3 - Several secrets
vault.yaml
...
  externalConfig:
    policies:
      - name: app1
        rules: path "secret/app1/*" {
            capabilities = ["create", "read", "update", "delete", "list"]
            }
      - name: app2
        rules: path "secret/app2/*" {
            capabilities = ["create", "read", "update", "delete", "list"]
            }

    auth:
      - type: kubernetes
        roles:
        - name: app1
          bound_service_account_names: [ "default", "vault", "test-vault-vault-secrets-webhook" ]
          bound_service_account_namespaces: [ "test-vault", "app1" ]
          policies: [ "app1" ]
          ttl: 1h
        - name: app2
          bound_service_account_names: [ "default", "vault", "test-vault-vault-secrets-webhook" ]
          bound_service_account_namespaces: [ "test-vault", "app2" ]
          policies: [ "app2" ]
          ttl: 1h

    secrets:
      - path: secret/app1
        type: kv
        description: General secrets.
        options:
          version: 2
      - path: secret/app2
        type: kv
        description: General secrets.
        options:
          version: 2

    # Allows writing some secrets to Vault (useful for development purposes).
    # See https://www.vaultproject.io/docs/secrets/kv/index.html for more information.
    startupSecrets:
      - type: kv
        path: secret/app1/data/app1
        data:
          data:
            APP_SECRET: APP1_VALUE
      - type: kv
        path: secret/app2/data/app2
        data:
          data:
            APP_SECRET: APP2_VALUE
...

app1.yaml
...
      annotations:
        vault.security.banzaicloud.io/vault-addr: "https://vault.test-vault.svc.cluster.local:8200"
        vault.security.banzaicloud.io/vault-tls-secret: "vault-tls"
        vault.security.banzaicloud.io/vault-role: "app1"
    spec:
      serviceAccountName: default
      containers:
      - name: alpine
        image: alpine
        command: ["sh", "-c", "echo $APP_SECRET && echo going to sleep... && sleep 10000"]
        env:
        - name: APP_SECRET
          value: "vault:secret/app1/data/app1#APP_SECRET"
...

app1 logs
time="2020-02-14T14:50:48Z" level=info msg="Received new Vault token"
time="2020-02-14T14:50:48Z" level=info msg="Initial Vault token arrived"
time="2020-02-14T14:50:48Z" level=info msg="Renewed Vault Token"
APP1_VALUE
going to sleep...

Conclusion
What am I misunderstanding ?
Is creating multiple secrets the only way to go ?
Thank's in advance

in the first example this the policy is wrong I think because it allows one level deeper in the path, instead of where the actual secret is relies:
- name: app1
        rules: path "secret/data/app1/*" {
            capabilities = ["create", "read", "update", "delete", "list"]
            }

vs.
startupSecrets:
      - type: kv
        path: secret/data/app1
        data:
          data:
            APP_SECRET: APP1_VALUE
      - type: kv
        path: secret/data/app2
        data:
          data:
            APP_SECRET: APP2_VALUE

For this you would need:
- name: app1
        rules: path "secret/data/app1" {
            capabilities = ["create", "read", "update"]
            }
- name: app2
        rules: path "secret/data/app2" {
            capabilities = ["create", "read", "update"]
            }

Oh yes, you might be right ! I am going to try it.
If it works which one is the good practice (and what are the consequences) between having 1 big secret in which i manage subpath VS multiple secrets ?
Thanks in advance,
Regards,

Did it help @sparqueur ?

Yes, thanks a lot @bonifaido , i now add 2 policy path /app1 and /app1/* and it works like a charm.
Moreover, I previously talk about an invalid role name. It was due to the use of "_" or "/" characters in the name.

Great, so I guess we can close this one.

Thank's again for the helm

No problem!


had issue when running the cli

./uvindex-cli                                                                                [14:11:21] thread 'main' panicked at 'called Result::unwrap()on anErrvalue: reqwest::Error { kind: Decode, source: Error("EOF while parsing a value", line: 1, column: 0) }', src/main.rs:53:75 note: run withRUST_BACKTRACE=1 environment variable to display a backtrace

Thanks for reporting this! I'll look into it this week

I'm no longer seeing this issue when I run uvindex. I'll still try to add better handling of API responses so we get a nicer error message in the future should this error show up again.


Pylance not working in vs code interactive window

Discussed in https://github.com/microsoft/pylance-release/discussions/1585

Originally posted by dataagile-ema July 22, 2021
Hi!
Whenever pylance detects a problem when i am in the interactive window in vs code, it just stops working. It no longer gives autocomplete (to make things worse, pylance detects problem even when there is no problem). I hope the attached image shows the problem.
I would greatly appreciate help on ths, it i really irritating. Pylance autocomplete really speads up development.

Would you please provide logs and repro steps as described in the troubleshooting guide, please?

pylance version v2021.7.5
g_environment_yml.txt
'Python 3.9.6 64-bit
The code is pretty much what you see in the image I attached, but the code could be anything, e.g:
import pandas as pd
import altair as alt
df = pd. does give any suggestions for methods in pandas module. Sometimes autocomplete works for a short while, then it stops.
I set VS Code tol loggning Trace, but the the debud console does not output anything.
Hope that helps.

The logs we are interested in are printed in the Python Language Server output window, here:

langserverlog.txt
here is the log

Things aren't working because the LS is crashing.
TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received null
    at validateString (internal/validators.js:124:11)
    at Object.basename (path.js:671:5)
    at Object.getFileName (c:\Users\nikla.DESKTOP-78VQUGU\.vscode\extensions\ms-python.vscode-pylance-2021.7.5\dist\pyright-internal\src\common\pathUtils.ts:535:17)
    at listener (c:\Users\nikla.DESKTOP-78VQUGU\.vscode\extensions\ms-python.vscode-pylance-2021.7.5\dist\pyright-internal\src\analyzer\service.ts:1282:38)
    at FSWatcher.<anonymous> (c:\Users\nikla.DESKTOP-78VQUGU\.vscode\extensions\ms-python.vscode-pylance-2021.7.5\dist\pyright-internal\src\common\realFileSystem.ts:387:25)
    at FSWatcher.emit (events.js:315:20)
    at FSEvent.FSWatcher._handle.onchange (internal/fs/watchers.js:186:12)

The logs show that one of your paths is apparently empty:
Search paths for
  c:\Users\nikla.DESKTOP-78VQUGU\.vscode\extensions\ms-python.vscode-pylance-2021.7.5\dist\typeshed-fallback\stdlib

  typings
  c:\Users\nikla.DESKTOP-78VQUGU\.vscode\extensions\ms-python.vscode-pylance-2021.7.5\dist\typeshed-fallback\stubs\...
  c:\Users\nikla.DESKTOP-78VQUGU\.vscode\extensions\ms-python.vscode-pylance-2021.7.5\dist\bundled\stubs
  c:\Users\nikla.DESKTOP-78VQUGU\Anaconda3\DLLs
  c:\Users\nikla.DESKTOP-78VQUGU\Anaconda3\Lib
  c:\Users\nikla.DESKTOP-78VQUGU\Anaconda3
  c:\Users\nikla.DESKTOP-78VQUGU\Anaconda3\Lib\site-packages
  c:\Users\nikla.DESKTOP-78VQUGU\Anaconda3\Lib\site-packages\win32
  c:\Users\nikla.DESKTOP-78VQUGU\Anaconda3\Lib\site-packages\win32\lib
  c:\Users\nikla.DESKTOP-78VQUGU\Anaconda3\Lib\site-packages\pythonwin

Potentially null. I think this is because you are not opening a folder (open file mode has a few known issues), but we shouldn't be crashing or adding an empty workspace path as a search path (or then try to watch it).

Things aren't working because the LS is crashing.
TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received null
    at validateString (internal/validators.js:124:11)
    at Object.basename (path.js:671:5)
    at Object.getFileName (c:\Users\nikla.DESKTOP-78VQUGU\.vscode\extensions\ms-python.vscode-pylance-2021.7.5\dist\pyright-internal\src\common\pathUtils.ts:535:17)
    at listener (c:\Users\nikla.DESKTOP-78VQUGU\.vscode\extensions\ms-python.vscode-pylance-2021.7.5\dist\pyright-internal\src\analyzer\service.ts:1282:38)
    at FSWatcher.<anonymous> (c:\Users\nikla.DESKTOP-78VQUGU\.vscode\extensions\ms-python.vscode-pylance-2021.7.5\dist\pyright-internal\src\common\realFileSystem.ts:387:25)
    at FSWatcher.emit (events.js:315:20)
    at FSEvent.FSWatcher._handle.onchange (internal/fs/watchers.js:186:12)
[Info  - 20:14:54] Connection to server got closed. Server will restart.
[Info  - 20:14:55] Pylance language server 2021.7.5 (pyright 06d75c6c) starting

The logs show that one of your paths is apparently empty:
Search paths for
  c:\Users\nikla.DESKTOP-78VQUGU\.vscode\extensions\ms-python.vscode-pylance-2021.7.5\dist\typeshed-fallback\stdlib

  typings
  c:\Users\nikla.DESKTOP-78VQUGU\.vscode\extensions\ms-python.vscode-pylance-2021.7.5\dist\typeshed-fallback\stubs\...
  c:\Users\nikla.DESKTOP-78VQUGU\.vscode\extensions\ms-python.vscode-pylance-2021.7.5\dist\bundled\stubs
  c:\Users\nikla.DESKTOP-78VQUGU\Anaconda3\DLLs
  c:\Users\nikla.DESKTOP-78VQUGU\Anaconda3\Lib
  c:\Users\nikla.DESKTOP-78VQUGU\Anaconda3
  c:\Users\nikla.DESKTOP-78VQUGU\Anaconda3\Lib\site-packages
  c:\Users\nikla.DESKTOP-78VQUGU\Anaconda3\Lib\site-packages\win32
  c:\Users\nikla.DESKTOP-78VQUGU\Anaconda3\Lib\site-packages\win32\lib
  c:\Users\nikla.DESKTOP-78VQUGU\Anaconda3\Lib\site-packages\pythonwin

Potentially null. I think this is because you are not opening a folder (open file mode has a few known issues), but we shouldn't be crashing or adding an empty workspace path as a search path (or then try to watch it).

I could do another log, when actually opening an repo and then going into interactive window. I am pretty sure that was what I did when I posted the problem yesterday (see original post and image). Would it be of help to have that log too?

I think we have enough info.
You should be able to work around this by using Open Folder, rather than just opening up your notebook file. Can you confirm that it works when you do that?

First the workaround  works, i get the autocomplete as expeted, and then i stops, see image

langserverlog_part2.txt

The other thing to confirm is that the interpreter that you've selected is the same one that is running the kernel. Pylance uses the interpreter that the Python extension chooses, but Jupyter uses a separate selection that isn't always synchronized.
Try creating a plain python file in that folder and write the same code, and see if alt works.

When a create a plain python file, everything works, a get autcomplete for alt. And that is my experience, I have this problem when running interactive window.

Same issues here in Version: 1.59.0-insider (apple silicon native)
Really annoying!

The next version should fix various errors / bad behaviors caused by open-file mode; we weren't being too careful about handling an unrooted execution environment in a number of places (but now handle it explicitly).

This issue has been fixed in version 2021.9.2, which we've just released. You can find the changelog here: https://github.com/microsoft/pylance-release/blob/main/CHANGELOG.md#202192-16-september-2021


Maintenance status?

Hi,
This crate looks like exactly what we need in zbus but looks like this maybe unmaintained. @Enet4 could you please let me know about the status?

Hello! If there is something specific that I can do to make it seem more reliable, feel free to let me know.
For what it's worth, this project is a small component that hasn't required a lot of maintenance. It is also used by other active projects of mine.

Hello! If there is something specific that I can do to make it seem more reliable, feel free to let me know.

Not specifically, no. I just wanted to know if you're still around and if there is any issue, you'll have the time to review and merge etc.

For what it's worth, this project is a small component that hasn't required a lot of maintenance. It is also used by other active projects of mine.

Right, that's very understandable. I'm glad to hear you're still around and available. :+1:
Having said that, I realized my needs are different. With your library, I still need to have the endianness in the type itself. That means, any of my type keeping ByteOrdered inside it, has to have a generic on it. In my case, that becomes an long chain. :disappointed:
I need something more like:
enum ByteOrder {
    Little(byteorder::LE),
    Big(byteorder::BE),
}

impl ByteOrder {
    // Same API as byteorder::ByteOrder
}

With your library, I still need to have the endianness in the type itself. That means, any of my type keeping ByteOrdered inside it, has to have a generic on it. In my case, that becomes an long chain. :disappointed:

That is not quite true! Endianness implements Endian, so you should be able to set the parameter type B to Endianness.
let endianness = Endianness::Little;
let reader = ByteOrdered::<_, Endianness>::runtime(source, endianness);

This one can be used in contexts where monomorphisation isn't possible (although it might negatively affect performance due to the extra branching).

That is not quite true! Endianness implements Endian, so you should be able to fix the parameter type E to Endianness.

Ah, I misunderstood then.

This one can be used in contexts where monomorphisation isn't possible (although it might negatively affect performance due to the extra branching).

Right. I think I'll use Endianness directly through Endian. That way at least there is no dynamic dispatch and hopefully compiler can optimize away the match branching, if I'm very lucky. :)


Pull chef-client from the stable channel rather than current.

:+1: if you want to do the debt cleanup separately.

The change to tasks/dependencies.rb looks good but I question wheather this PR should contain all the Gemfile* and .bundle* changes.

I thought I saw mention of "fixing" BUNDLE_WITHOUT somewhere so it didn't happen anymore, but I can't find it in email or slack. @jkeiser, ring any bells?

I think @schisamo is right. I'll wipe that commit and merge the current->stable change only.

:+1:


Instructions for copying WinPE images to UFD and creating BCD entries would be helpful

Current instructions say to use the .iso file and ignore the .wim files created during the update.
Instructions on how to create the entry in BCD here are nearly complete:
https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-7/dd744541(v=ws.10)
This page gives a thorough cookbook-like explanation of the BCD editing process for various entry types:
http://supportishere.com/manually-updating-creating-bcd-files-for-windows-78/
I suggest combining them (with original author's permission) into a document that thoroughly explains the process for making a BCD menu for one or more .wim files.

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

ID: 050dc241-8019-e6b2-1cfd-39f95f6fb41d
Version Independent ID: 7d358f76-efc4-7492-d416-106523d17181
Content: Quick Start - Lite Touch Installation - Microsoft Deployment Toolkit
Content Source: sccm/mdt/lite-touch-installation-guide.md
Service: unspecified
GitHub Login: @aczechowski
Microsoft Alias: aaroncz

https://github.com/MicrosoftDocs/SCCMdocs/blob/master/sccm/mdt/lite-touch-installation-guide.md
Step 4-1
To be fair, there's not much instruction on how to create bootable optical media either; it would seem experience in doing so is assumed.  It just feels incomplete without acknowledging UFDs (which I created today) and I'm used to PXE booting with WDS, so I had to manually create the BCD entry for the LTI wim.  That is to say, I forced myself to create a new entry rather than rename the LTI wim and lose my preciousss vanilla boot.wim.

(Edited original comment to add metadata block for linkage with target article)

I think MDT  can be installed on windows 10 also . But  windows 10  deployment methods are not given in this  article.

Thanks again for the feedback. We recently moved this content to a new GitHub repository, so this issue is no longer tracked with the original article. As part of that process, we reviewed our backlog of feedback, and made some tough decisions on items that we don't think we'll realistically ever address. If you're passionate about this specific feedback, please refile it on the current article, now under docs.microsoft.com/mem/configmgr.


Environment variables

Is your feature request related to a problem? Please describe.
I work with Symanto's API to enrich my textual data with e.g. communication style or personality traits. I store the token in my functions, but that feels cumbersome to manage as soon as I have multiple heuristics, all calling the same token.
Describe the solution you'd like
A simple Python script or YAML/JSON file which I can use to access environment variables. Lookup lists could be displayed here, too (if they are not far too large)
Describe alternatives you've considered
See above - writing the tokens into each specific function
Additional context
-

Possible solution (since yml/json files might have some issues)
create table "project_constants" with id, project_id, name, python_access, type, data

project_id -> indexed
name -> string field to identify the data
python_access -> variable name used in python to access the value (unique per project_id)
type -> e.g API_TOKEN
data -> token value abc123

The data from the table should be prepared for the exec env on demand similar to lookup lists.
//possible addition: options column

options -> JSON field with options for that constant
- e.g. "HideInApplication" -> not visible in the UI after it is set and only passed through the backend (might cause some issues since the code would still be able to access the value e.g. with a print)


noEther modifier

// Prevents methods from perfoming any value transfer
modifier noEther() {if (msg.value > 0) throw; _}
Should we add this to all the methods?

I suspect for HumanStandardToken implementation, it would be useful, since there's no way to resend the eth out in there. However, for StandardToken, it could changed/implemented for functions to include eth.
eg, if you want to transfer tokens you have to send a special tx fee of an additional 1 eth.
but, yes. Would be useful to add in the HumanStandardToken.sol

No longer needed since payable is required by Solidity.


Module Request: Martini

nice …
as eris users …
with DAO in mind …
we design in go …
with martini in mind …


[firebase_messaging]: My background handler doesn't get triggered, what am I missing?

Is there an existing issue for this?

[X] I have searched the existing issues.

Are you aware of the differences between iOS and Android background message handling?

[X] I understand that iOS and Android background messages behave differently, and I've designed my application with that in mind.

Do you have an active Apple Developer account?

[X] I have an active Apple Developer account.

Are you using a physical iOS device to test background messages?

[X] I am using a physical iOS device to test background messages.

Have you enabled "Remote Notifications" & "Background Mode" (Checking options for "Background Processing" & "Remote Notifications") in your app's Xcode project?

Have you created an APNs key in your Apple Developer account & uploaded this APNs key to your Firebase console?

Have you disabled method swizzling for Firebase in your app?
(Key FirebaseAppDelegateProxyEnabled is at the very bottom)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CADisableMinimumFrameDurationOnPhone</key>
    <true/>
    <key>CFBundleDevelopmentRegion</key>
    <string>$(DEVELOPMENT_LANGUAGE)</string>
    <key>CFBundleDisplayName</key>
    <string>Remonon</string>
    <key>CFBundleExecutable</key>
    <string>$(EXECUTABLE_NAME)</string>
    <key>CFBundleIdentifier</key>
    <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>remonon</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleShortVersionString</key>
    <string>$(MARKETING_VERSION)</string>
    <key>CFBundleSignature</key>
    <string>????</string>
    <key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>ShareMedia</string>
                <string>myapp</string>
            </array>
        </dict>
    </array>
    <key>CFBundleVersion</key>
    <string>$(CURRENT_PROJECT_VERSION)</string>
    <key>FlutterDeepLinkingEnabled</key>
    <true/>
    <key>ITSAppUsesNonExemptEncryption</key>
    <false/>
    <key>LSApplicationQueriesSchemes</key>
    <array>
        <string>itms-beta</string>
        <string>itms</string>
        <string>file</string>
        <string>https</string>
        <string>mailto</string>
        <string>sms</string>
        <string>tel</string>
    </array>
    <key>LSRequiresIPhoneOS</key>
    <true/>
    <key>NFCReaderUsageDescription</key>
    <string>This app needs access to your NFC reader for identity verification.</string>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    <key>NSAppTransportSecurity</key>
    <true/>
    <key>NSAppleMusicUsageDescription</key>
    <string>This permission is not needed by the app, but it is required by an underlying API. If you see this dialog, contact us.</string>
    <key>NSCameraUsageDescription</key>
    <string>This app needs access to your camera to scan documents and identity verification.</string>
    <key>NSFaceIDUsageDescription</key>
    <string>Use Face ID lock Remonon at start-up.</string>
    <key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
    <string>We use your approximate location to sort suggestions in the app by distance.</string>
    <key>NSLocationWhenInUseUsageDescription</key>
    <string>We use your approximate location to sort suggestions in the app by distance.</string>
    <key>NSMicrophoneUsageDescription</key>
    <string>This app needs access to your microphone for identity verification.</string>
    <key>NSPhotoLibraryUsageDescription</key>
    <string>Allow this permission to save photos to your gallery.</string>
    <key>UIApplicationSupportsIndirectInputEvents</key>
    <true/>
    <key>UIBackgroundModes</key>
    <array>
        <string>fetch</string>
        <string>processing</string>
        <string>remote-notification</string>
    </array>
    <key>BGTaskSchedulerPermittedIdentifiers</key>
    <array>
        <string>com.remonon.remonon</string>
    </array>
    <key>UILaunchStoryboardName</key>
    <string>LaunchScreen</string>
    <key>UIMainStoryboardFile</key>
    <string>Main</string>
    <key>UIRequiresFullScreen</key>
    <false/>
    <key>UIStatusBarStyle</key>
    <string>UIStatusBarStyleLightContent</string>
    <key>UISupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>
    <key>UISupportedInterfaceOrientations~ipad</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationPortraitUpsideDown</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
        <string>UIInterfaceOrientationLandscapeLeft</string>
    </array>
    <key>UIViewControllerBasedStatusBarAppearance</key>
    <false/>
    <key>com.apple.developer.nfc.readersession.formats</key>
    <array>
        <string>NDEF</string>
        <string>TAG</string>
    </array>
    <key>com.apple.developer.nfc.readersession.iso7816.select-identifiers</key>
    <array>
        <string>A0000002471001</string>
    </array>
    <key>FirebaseAppDelegateProxyEnabled</key>
    <true/>
</dict>
</plist>

Are you sending messages to your app from the Firebase Admin SDK?
Via Firebase Functions:
const receivers = [
  // list of notification token strings
];

const admin = require('firebase-admin');
admin.initializeApp();

const result = await admin.messaging().sendToDevice(receivers, {
  notification: {
    title: 'some title',
    body: 'some body',
    clickAction: 'FLUTTER_NOTIFICATION_CLICK',
  },
  data: {
    some_param: 'some value',
  },
}, {
  contentAvailable: true,
  priority: 'high',
});
functions.logger.info(result, {structuredData: true});

Have you requested permission from the user to receive notifications?

[X] I have the relevant permission to receive notifications.

Have you used the 'Console' application on your macOS device to check if the iOS device's system is throttling your background messages?
I'm sorry, but as I am not able to connect my phone to my Mac I cannot give you any logs.
Additional context and comments
I do receive the background notification, just only my handler does not get triggered. Here is how I implemented it:
@pragma('vm:entry-point')
Future<void> onBackgroundMessage(RemoteMessage message) async {
  WidgetsFlutterBinding.ensureInitialized();

  await FlutterAppBadger.updateBadgeCount(1);

  final FlutterLocalNotificationsPlugin plugin =
      FlutterLocalNotificationsPlugin();
  await plugin.initialize(const InitializationSettings(
    android: AndroidInitializationSettings('ic_appicon'),
    iOS: DarwinInitializationSettings(),
  ));
  await plugin.show(
    20022002,
    'FlutterLocalNotificationsPlugin',
    'FlutterLocalNotificationsPlugin.show() succeeded.',
    const NotificationDetails(),
  );
}

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
  FirebaseMessaging.onBackgroundMessage(onBackgroundMessage);

  final FirebaseMessaging messaging = FirebaseMessaging.instance;
  final NotificationSettings settings = await messaging.requestPermission();
  if (settings.authorizationStatus == AuthorizationStatus.denied) {
    print('FirebaseMessaging: permissions have been denied');
  }
  final String? token = await messaging.getToken();
  console.log('Firebase messaging token: $token');

  runApp(const _MyApp());
}

Neither the App Badge "1" nor the custom notification appears. Am I missing something?

@xonaman
I think you are hitting https://github.com/firebase/flutterfire/issues/10082, so please check the underlying comments and see if it helps in your case.

@xonaman
I think you are hitting #10082, so please check the underlying comments and see if it helps in your case.

Am I understanding this right? I should be setting FirebaseAppDelegateProxyEnabled to NO? I the docs it says explicitly that one should either remove it or set it to YES. Am I missing something?

Am I understanding this right? I should be setting FirebaseAppDelegateProxyEnabled to NO? I the docs it says explicitly that one should either remove it or set it to YES. Or am I missing something?

From the linked issue, I'd look at following comments and check if they help in your case or not:
https://github.com/firebase/flutterfire/issues/10082#issuecomment-1424548878
https://github.com/firebase/flutterfire/issues/10082#issuecomment-1424557519
https://github.com/firebase/flutterfire/issues/10082#issuecomment-1429849229
https://github.com/firebase/flutterfire/issues/10082#issuecomment-1432787038
https://github.com/firebase/flutterfire/issues/10082#issuecomment-1434029834

@xonaman are you found any solution ?

Had not time yet to look into it, as I am very busy developing other more important features on my project right now. I will come back and keep you updated as soon as possible!

@darshankawar, I found out that the handler does work on a device of a friend of mine, but not on my device. We both have an iPhone, both iOS 16.X. Is there maybe any system setting that prevents the handler from working, or is there any permission I have to request extra?
This is a screenshot from my friend:

And this from my device:

See, no "FlutterLocalNotificationsPlugin.show() succeeded." notification appeared.
(Note: this is both with FirebaseAppDelegateProxyEnabled set to NO)
final NotificationSettings settings = await messaging.requestPermission();
if (settings.authorizationStatus == AuthorizationStatus.denied) {
  print('FirebaseMessaging: permissions have been denied');
}

Does not print 'FirebaseMessaging: permissions have been denied' on my device, and I also receive the notifications.

@xonaman in my case ,
FirebaseMesseging.onBackgroundMessaging(handler)

Not registered on the system ,
Can you sure if it started in your case .

@Joseph-Nathan it definitely did, because my handler works when sending notifications via the firebase NodeJS admin sdk.

@darshankawar tested if sending notifications to my device from the firebase nodejs admin sdk works. It does not. So the error is not with the firebase functions, but with my device.

@Joseph-Nathan how can I test if it was successfully registered on my system? I am calling the method directly in main(), like this:
Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
  FirebaseMessaging.onBackgroundMessage(onBackgroundMessage);
  runApp(const MyApp());
}

@xonaman i used cloud function to send data message ,
from the previous December, it work foreground & background ,
now the same project , it work foreground only ,
if background registered on the system , you should seen this message on run your app
I/FLTFireMsgService(xxxxx): FlutterFirebaseMessagingBackgroundService started!

@Joseph-Nathan I do not see this message. What can I do about this now?
Here is my complete output, if that is of interest:
Warning: Error creating LLDB target at path '/Users/robertmainzer/Library/Developer/Xcode/DerivedData/Runner-bweogbxawfcxheaptknkephekeuq/Build/Products/Debug-iphonesimulator/Runner.app'- using an empty LLDB target which can cause slow memory reads from remote devices.
2023-05-06 23:18:29.255026+0200 Runner[52855:5390829] Metal API Validation Enabled
2023-05-06 23:18:29.899798+0200 Runner[52855:5391059] 10.7.0 - [FirebaseCore][I-COR000005] No app has been configured yet.
2023-05-06 23:18:29.926991+0200 Runner[52855:5390829] <SKPaymentQueue: 0x600000798350>: No observers found that respond to "paymentQueue:shouldAddStorePayment:forProduct:", will not check for purchase intents
2023-05-06 23:18:30.073488+0200 Runner[52855:5391062] 10.7.0 - [FirebaseAnalytics][I-ACS023007] Analytics v.10.7.0 started
2023-05-06 23:18:30.074298+0200 Runner[52855:5391062] 10.7.0 - [FirebaseAnalytics][I-ACS023008] To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled (see http://goo.gl/RfcP7r)
2023-05-06 23:18:30.086975+0200 Runner[52855:5391059] 10.7.0 - [FirebaseAnalytics][I-ACS025036] App Delegate Proxy is disabled
2023-05-06 23:18:30.092221+0200 Runner[52855:5391067] 10.7.0 - [FirebaseAnalytics][I-ACS023013] Analytics collection disabled
2023-05-06 23:18:30.107397+0200 Runner[52855:5391067] [Client] Synchronous remote object proxy returned error: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.commcenter.coretelephony.xpc was invalidated: failed at lookup with error 3 - No such process." UserInfo={NSDebugDescription=The connection to service named com.apple.commcenter.coretelephony.xpc was invalidated: failed at lookup with error 3 - No such process.}
2023-05-06 23:18:30.107401+0200 Runner[52855:5391062] [Client] Updating selectors failed with: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.commcenter.coretelephony.xpc was invalidated: failed at lookup with error 3 - No such process." UserInfo={NSDebugDescription=The connection to service named com.apple.commcenter.coretelephony.xpc was invalidated: failed at lookup with error 3 - No such process.}
2023-05-06 23:18:30.108383+0200 Runner[52855:5391067] [Client] Synchronous remote object proxy returned error: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.commcenter.coretelephony.xpc was invalidated: failed at lookup with error 3 - No such process." UserInfo={NSDebugDescription=The connection to service named com.apple.commcenter.coretelephony.xpc was invalidated: failed at lookup with error 3 - No such process.}
2023-05-06 23:18:30.108440+0200 Runner[52855:5391062] [Client] Updating selectors failed with: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.commcenter.coretelephony.xpc was invalidated: failed at lookup with error 3 - No such process." UserInfo={NSDebugDescription=The connection to service named com.apple.commcenter.coretelephony.xpc was invalidated: failed at lookup with error 3 - No such process.}
2023-05-06 23:18:30.108822+0200 Runner[52855:5391067] [Client] Synchronous remote object proxy returned error: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.commcenter.coretelephony.xpc was invalidated: failed at lookup with error 3 - No such process." UserInfo={NSDebugDescription=The connection to service named com.apple.commcenter.coretelephony.xpc was invalidated: failed at lookup with error 3 - No such process.}
2023-05-06 23:18:30.108853+0200 Runner[52855:5391062] [Client] Updating selectors failed with: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.commcenter.coretelephony.xpc was invalidated: failed at lookup with error 3 - No such process." UserInfo={NSDebugDescription=The connection to service named com.apple.commcenter.coretelephony.xpc was invalidated: failed at lookup with error 3 - No such process.}
2023-05-06 23:18:30.110533+0200 Runner[52855:5390829] [Firebase/Crashlytics] Version 10.7.0
2023-05-06 23:18:30.113924+0200 Runner[52855:5391062] [Client] Updating selectors failed with: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.commcenter.coretelephony.xpc was invalidated: failed at lookup with error 3 - No such process." UserInfo={NSDebugDescription=The connection to service named com.apple.commcenter.coretelephony.xpc was invalidated: failed at lookup with error 3 - No such process.}
2023-05-06 23:18:30.114214+0200 Runner[52855:5391062] [Client] Updating selectors after delegate addition failed with: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.commcenter.coretelephony.xpc was invalidated: failed at lookup with error 3 - No such process." UserInfo={NSDebugDescription=The connection to service named com.apple.commcenter.coretelephony.xpc was invalidated: failed at lookup with error 3 - No such process.}
2023-05-06 23:18:30.229120+0200 Runner[52855:5391120] flutter: The Dart VM service is listening on http://<IP_ADDRESS>:64608/n8D9fDs4xz0=/
2023-05-06 23:18:31.192594+0200 Runner[52855:5391059] [connection] nw_connection_copy_connected_local_endpoint_block_invoke [C2] Client called nw_connection_copy_connected_local_endpoint on unconnected nw_connection
2023-05-06 23:18:31.193219+0200 Runner[52855:5391059] [connection] nw_connection_copy_connected_remote_endpoint_block_invoke [C2] Client called nw_connection_copy_connected_remote_endpoint on unconnected nw_connection
2023-05-06 23:18:31.193800+0200 Runner[52855:5391059] [connection] nw_connection_copy_protocol_metadata_internal_block_invoke [C2] Client called nw_connection_copy_protocol_metadata_internal on unconnected nw_connection
2023-05-06 23:18:31.199291+0200 Runner[52855:5391059] [connection] nw_connection_copy_connected_local_endpoint_block_invoke [C3] Client called nw_connection_copy_connected_local_endpoint on unconnected nw_connection
2023-05-06 23:18:31.199395+0200 Runner[52855:5391059] [connection] nw_connection_copy_connected_remote_endpoint_block_invoke [C3] Client called nw_connection_copy_connected_remote_endpoint on unconnected nw_connection
2023-05-06 23:18:31.199448+0200 Runner[52855:5391059] [connection] nw_connection_copy_protocol_metadata_internal_block_invoke [C3] Client called nw_connection_copy_protocol_metadata_internal on unconnected nw_connection
2023-05-06 23:18:31.322196+0200 Runner[52855:5391058] 10.7.0 - [FirebaseAnalytics][I-ACS023013] Analytics collection disabled
2023-05-06 23:18:35.328977+0200 Runner[52855:5391062] [connection] nw_connection_copy_connected_local_endpoint_block_invoke [C14] Client called nw_connection_copy_connected_local_endpoint on unconnected nw_connection
2023-05-06 23:18:35.329116+0200 Runner[52855:5391062] [connection] nw_connection_copy_connected_remote_endpoint_block_invoke [C14] Client called nw_connection_copy_connected_remote_endpoint on unconnected nw_connection
2023-05-06 23:18:35.329237+0200 Runner[52855:5391062] [connection] nw_connection_copy_protocol_metadata_internal_block_invoke [C14] Client called nw_connection_copy_protocol_metadata_internal on unconnected nw_connection
2023-05-06 23:18:37.259372+0200 Runner[52855:5391093] flutter: INFO  | Auth       | Device is already remembered
2023-05-06 23:18:39.444084+0200 Runner[52855:5391058] 10.7.0 - [FirebaseFirestore][I-FST000001] AppCheck failed: 'The operation couldn’t be completed. (com.apple.devicecheck.error error 1.)'
2023-05-06 23:18:39.777073+0200 Runner[52855:5391060] 10.7.0 - [FirebaseAnalytics][I-ACS013000] User property value is too long. The maximum supported length is 36: {id: 4b0ff2a9-5d2f-4ed7-b2d0-2a539e98c603, notificationTokens: [{id: 64dcef65-4171-4626-9284-daad77468f88, token: d7RqZKPZFkUyqkHtyuAb1o:APA91bEGrkQBrt43L4G4fMG-fTqzoqRx_7aWztAF8XhA3I6oQ1FBtmlem48yzlF0zZG3QeFm5gF65zmHdwbqcb81eAojUs1iilkYm5UmGPuOH835LKzpcSW_Mverpz9ZLe8rLSUU3HaY, badge: 8, enabledForReceipts: null, enabledForClaims: null}], identityID: eu-central-1:500db282-bff6-4179-a07d-4d19a9e92b70, acceptedTermsAndConditionsID: null, acceptedPrivacyPolicyID: null, readAppNewsID: L12EWzdZ5kuhk7cHSPNW, systemVersion: iOS 16.5, createdAt: 2023-04-28T20:41:12.970000000Z, updatedAt: 2023-05-06T20:57:25.752000000Z}

tested if sending notifications to my device from the firebase nodejs admin sdk works. It does not. So the error is not with the firebase functions, but with my device.

@xonaman I suggest you to reach out to firebase support or apple support since it seems to be device specific issue.


[5.3] Throws exception instead of rendering error page if app is on testing env

Hi guys,
This is something that always bothers me and I do not find intuitive at all. When running integration tests sometimes you'll not get an exception thrown or will receive a giant HTML page (the error page). IIRC @adamwathan has a post about this.
For instance, if you write a simple test that just posts to foobar, e.g $this->post('foobar') it passes even though the route does not exist.
I'm not sure if this is the best solution and I know this can be done in app/Exceptions/Handler.php just fine but I just don't find this intuitive at all.
Let me know what you think!

Unfortunately it's not quite this simple because sometimes you are relying on the exception handling to work properly in the test environment.
One example would be this sort of thing:
function test_users_cannot_see_other_users_journal_entries()
{
    $userA = factory(User::class)->create();
    $userB = factory(User::class)->create();
    $journalEntry = factory(JournalEntry::class)->make();
    $userA->journalEntries()->save($journalEntry);

    $this->actingAs($userB)->get('/journal-entries/' . $journalEntry->id);

    $this->assertResponseStatus(404);
}

If you rely on something like findOrFail which throws a ModelNotFoundException, the exception handler will convert that into the 404 response that's expected:
function test_users_cannot_see_other_users_journal_entries()
{
    $userA = factory(User::class)->create();
    $userB = factory(User::class)->create();
    $journalEntry = factory(JournalEntry::class)->make();
    $userA->journalEntries()->save($journalEntry);

    $this->actingAs($userB)->get('/journal-entries/' . $journalEntry->id);

    $this->assertResponseStatus(404);
}

If you always have exception handling disabled altogether, the exception will bubble up to the test instead of being converted to a 404.
I think the best approach for this is to be able to explicitly enable or disable exception handling at the beginning of a particular test as needed.

@adamwathan you are correct... completely forgot about this. Maybe providing a way to disable exception handling out of the box would be good?

I think Adam has a trait for this he can share.

https://gist.github.com/adamwathan/c9752f61102dc056d157


Remove branch name references from README

As noted in #263, setting GIT_TAG to a branch name results in unexpected and unreproducible build behaviour, as it does not automatically update when the HEAD changes.

Not sure whether just removing the refs is enough. Using a branch name still (kinda) works. Shouldn't there be a mention of that?

Well I was thinking of adding an option BRANCH_NAME in the future to fall back to the old (non offline) behaviour for branches, and for now only encouraging the use of tags or commit hashs as branches lead to unexpected caching behaviour. But I see your point and will document it later!

Well I was thinking of adding an option BRANCH_NAME in the future to fall back to the old (non offline) behaviour for branches, and for now only encouraging the use of tags or commit hashs as branches lead to unexpected caching behaviour. But I see your point and will update the PR later!

I really like the option BRANCH_NAME, it is probably same as TAG with NO_CACHE option, so looks easy to add.


Brackets suddenly started writing in Greek

All of a sudden as I was typing the English letters turned to Greek alphabet.  I must have hit some keys together that changed it to Greek and after trying out different combinations it is still in Greek.  I'm a sloppy typer.
--Release 1.12 build 1.12.0-17621
--Win 7
--I already restarted without extensions
How can I change it back?

The language settings are in Debug > Switch Languages. Have you tried that?

I just started Brackets again today and now it is fine.  Yesterday, when I went to  Debug > Switch Language it was set to System Default, then I changed it to English (US) and restarted, but it was still coming up in Greek.  Today, though, it is back to English.  I ended up just downloading Sublime Text 3 so I'm gonna try that one out for a bit.  But I think I still like Brackets better.  Thanks for the reply.