JsonRpcExecutorHandler | Error streaming JSON-RPC response

I started receiving the below error after the merge
execution_1           | 2022-09-15 14:03:47.422+00:00 | vert.x-worker-thread-1 | ERROR | JsonRpcExecutorHandler | Error streaming JSON-RPC response
execution_1           | io.netty.channel.StacklessClosedChannelException
execution_1           | 	at io.netty.channel.AbstractChannel$AbstractUnsafe.write(Object, ChannelPromise)(Unknown Source)
Frequency: every few minutes
besu besu/v22.7.2/linux-x86_64/openjdk-java-11 via eth-docker
ubuntu 22.04
docker : 20.10.12

also seeing this
execution_1           | 2022-09-15 14:10:39.575+00:00 | vert.x-worker-thread-0 | INFO  | EngineForkchoiceUpdated | VALID for fork-choice-update: head: 0x3033e6cdbafa6907b10fc704d38b4a2177b34926b15a79af4ced9165ff799b8b, finalized: 0x9aa91ed7cbb4327905efde1f89d8b86e77f1db3a4ac99236748dd28abf1cf25d, safeBlockHash: 0xcdf9ed89b0c43cda17398dc4da9cfc505e5ccd19f7c39e3b43474180f1051e01

The distribution is not even:
jank@rp:~$ besu-log | grep "Error streaming JSON-RPC response" | awk '{print $6,$7}'
2022-09-15 09:35:01.728+02:00
2022-09-15 09:59:49.370+02:00
2022-09-15 10:04:49.155+02:00
2022-09-15 10:23:25.363+02:00
2022-09-15 10:23:25.395+02:00
2022-09-15 10:23:25.417+02:00
2022-09-15 10:23:25.463+02:00
2022-09-15 10:35:26.097+02:00
2022-09-15 10:37:25.836+02:00
2022-09-15 10:37:25.870+02:00
2022-09-15 10:43:01.326+02:00
2022-09-15 10:43:01.353+02:00
2022-09-15 10:43:01.392+02:00
2022-09-15 10:43:01.415+02:00
2022-09-15 11:13:13.835+02:00
2022-09-15 11:15:37.339+02:00
2022-09-15 11:15:37.385+02:00
2022-09-15 11:51:25.617+02:00
2022-09-15 11:51:25.656+02:00
2022-09-15 12:05:51.125+02:00
2022-09-15 12:09:26.868+02:00
2022-09-15 12:10:37.443+02:00
2022-09-15 12:46:36.924+02:00
2022-09-15 12:46:36.966+02:00
2022-09-15 12:46:36.989+02:00
2022-09-15 12:46:37.003+02:00
2022-09-15 12:46:37.019+02:00
2022-09-15 12:46:37.046+02:00
2022-09-15 12:46:37.070+02:00
2022-09-15 12:50:25.287+02:00
2022-09-15 12:50:25.290+02:00
2022-09-15 12:50:25.316+02:00
2022-09-15 12:50:48.927+02:00
2022-09-15 12:50:48.946+02:00
2022-09-15 12:50:48.981+02:00
2022-09-15 12:50:48.999+02:00
2022-09-15 12:58:13.577+02:00
2022-09-15 13:42:49.320+02:00
2022-09-15 13:42:49.341+02:00
2022-09-15 14:00:49.709+02:00
2022-09-15 14:02:01.363+02:00
2022-09-15 14:29:25.113+02:00
2022-09-15 15:10:49.711+02:00
2022-09-15 15:17:01.790+02:00
2022-09-15 15:17:01.819+02:00
2022-09-15 15:28:49.284+02:00
2022-09-15 15:28:49.302+02:00
2022-09-15 15:28:49.321+02:00
2022-09-15 15:28:49.356+02:00
2022-09-15 15:28:49.371+02:00
2022-09-15 15:28:49.382+02:00
2022-09-15 15:28:49.395+02:00
2022-09-15 15:42:54.749+02:00
2022-09-15 15:51:14.097+02:00
2022-09-15 16:01:02.239+02:00
2022-09-15 16:06:14.089+02:00
2022-09-15 16:10:37.245+02:00

At the same time the BC (Lighthouse) complains:
Sep 15 16:01:01 rp lighthouse[2584988]: Sep 15 14:01:01.872 ERRO Execution engine call failed            error: Reqwest(reqwest::Error { kind: Request, url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("localhost")), port: Some(8551), path: "/", query: None, fragment: None }, source: TimedOut }), service: exec
Sep 15 16:01:01 rp lighthouse[2584988]: Sep 15 14:01:01.872 ERRO Error fetching block for peer           error: ExecutionLayerErrorPayloadReconstruction(0xe26b2e770de1d171459c80035de4fcb73fc6151fe40c01d1c7920bf2e13692c0, EngineError(Api { error: Reqwest(reqwest::Error { kind: Request, url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("localhost")), port: Some(8551), path: "/", query: None, fragment: None }, source: TimedOut }) })), block_root: 0xe96120879d21bf45ed82918fee444678fbf38ae7af5ae34856bff18ce1ad9a7d

+1 Besu + Lighthouse
Results in missed attestations periodically.

Seeing this a lot on Rocket Pool nodes. Affects all CLs. Powerful servers and small machines alike.

+1 Besu/Lighthouse on RocketPool. Seems to happen every few hours.

Same with Besu + Lighthouse in a RP node using latest opensdk Docker image

+1 Besu/Lighthouse - been experiencing this since Merge, with occasional missed attestations, potentially when they happen at the same time as the issue.

Besu/Nimbus seeing this as well.  I was synchronizing fine this morning and then suddenly it began spitting out the fork-choice-update logs.  The variables within that log change with each iteration.  I have restarted Besu multiple times without any change in behavior.
After restarting both Besu and Nimbus, I'm now seeing the following on start
eth1_1           | 2022-09-15 18:32:12.793+00:00 | vert.x-worker-thread-9 | ERROR | JsonRpcExecutorHandler | Error streaming JSON-RPC response eth1_1           | java.io.IOException: io.vertx.core.http.HttpClosedException: Connection was closed eth1_1           |      at org.hyperledger.besu.ethereum.api.jsonrpc.JsonResponseStreamer.stopOnFailureOrClosed(JsonResponseStreamer.java:85) eth1_1           |      at org.hyperledger.besu.ethereum.api.jsonrpc.JsonResponseStreamer.write(JsonResponseStreamer.java:57) eth1_1           |      at com.fasterxml.jackson.core.json.UTF8JsonGenerator._flushBuffer(UTF8JsonGenerator.java:2171) eth1_1           |      at com.fasterxml.jackson.core.json.UTF8JsonGenerator.close(UTF8JsonGenerator.java:1214) eth1_1           |      at com.fasterxml.jackson.databind.ObjectWriter._writeValueAndClose(ObjectWriter.java:1224) eth1_1           |      at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:1044) eth1_1           |      at org.hyperledger.besu.ethereum.api.handlers.JsonRpcExecutorHandler.lambda$handler$6(JsonRpcExecutorHandler.java:90) eth1_1           |      at io.vertx.ext.web.impl.BlockingHandlerDecorator.lambda$handle$0(BlockingHandlerDecorator.java:48) eth1_1           |      at io.vertx.core.impl.ContextImpl.lambda$null$0(ContextImpl.java:159) eth1_1           |      at io.vertx.core.impl.AbstractContext.dispatch(AbstractContext.java:100) eth1_1           |      at io.vertx.core.impl.ContextImpl.lambda$executeBlocking$1(ContextImpl.java:157) eth1_1           |      at io.vertx.core.impl.TaskQueue.run(TaskQueue.java:76) eth1_1           |      at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) eth1_1           |      at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) eth1_1           |      at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) eth1_1           |      at java.base/java.lang.Thread.run(Thread.java:833) eth1_1           | Caused by: io.vertx.core.http.HttpClosedException: Connection was closed th1_1           | 2022-09-15 18:32:22.323+00:00 | nioEventLoopGroup-3-1 | INFO  | BackwardSyncStep | Saved headers 15540889 -> 15540690 (head: 15540195) eth1_1           | 2022-09-15 18:32:28.430+00:00 | nioEventLoopGroup-3-7 | INFO  | BackwardSyncStep | Saved headers 15540657 -> 15540657 (head: 15540195) eth1_1           | 2022-09-15 18:32:29.008+00:00 | nioEventLoopGroup-3-7 | INFO  | BackwardSyncStep | Saved headers 15540657 -> 15540657 (head: 15540195) eth1_1           | 2022-09-15 18:32:50.009+00:00 | nioEventLoopGroup-3-8 | INFO  | BackwardSyncStep | Saved headers 15540657 -> 15540657 (head: 15540195) eth1_1           | 2022-09-15 18:33:13.843+00:00 | vert.x-worker-thread-0 | INFO  | EngineForkchoiceUpdated | SYNCING for fork-choice-update: head: 0xb79e1c60d5321c4b01ba350c3d13f098d7cb1c2d74132ef2945b458d364146a6, finalized: 0x68b25c0ce9a92e58db89aaa940f225a7f828dc045eda946a94c1bf10eea07360, safeBlockHash: 0x8f91686df892319c53f5ded180b4cce7da588768f0cf10ad3aaf617fbdd49c12
...and it cycles through the fork-choice-update logs never making any progress.

Same issue here - Besu with Lighthouse
Results in occasional missed attestations.
I also see "uncaught exception in thread" and "Unable to load trie node value for hash" errors:
Sep 15 14:55:38 [196971]: io.netty.channel.StacklessClosedChannelException Sep 15 14:55:38 [196971]:         at io.netty.channel.AbstractChannel$AbstractUnsafe.write(Object, ChannelPromise)(Unknown Source) Sep 15 14:55:51 [196971]: 2022-09-15 14:55:51.098+03:00 | vert.x-worker-thread-0 | INFO  | EngineNewPayload | Imported #15,538,936 / 680 tx / base fee 8.05 gwei / 29,990,742 (1> Sep 15 14:56:01 [196971]: 2022-09-15 14:56:01.370+03:00 | vert.x-worker-thread-0 | INFO  | EngineNewPayload | Imported #15,538,937 / 198 tx / base fee 9.06 gwei / 16,785,997 (5> Sep 15 14:56:01 [196971]: 2022-09-15 14:56:01.625+03:00 | vert.x-worker-thread-0 | INFO  | EngineForkchoiceUpdated | VALID for fork-choice-update: head: 0x2f65339df81189ce28883> Sep 15 14:56:11 [196971]: 2022-09-15 14:56:11.973+03:00 | vert.x-worker-thread-0 | INFO  | EngineNewPayload | Imported #15,538,938 / 91 tx / base fee 9.19 gwei / 6,845,947 (22.> Sep 15 14:56:25 [196971]: 2022-09-15 14:56:25.542+03:00 | vert.x-worker-thread-0 | INFO  | EngineNewPayload | Imported #15,538,939 / 316 tx / base fee 8.57 gwei / 24,726,134 (8> Sep 15 14:56:35 [196971]: 2022-09-15 14:56:35.792+03:00 | vert.x-worker-thread-0 | INFO  | EngineNewPayload | Imported #15,538,940 / 74 tx / base fee 9.26 gwei / 4,610,794 (15.> Sep 15 14:56:51 [196971]: 2022-09-15 14:56:51.068+03:00 | vert.x-worker-thread-0 | INFO  | EngineNewPayload | Imported #15,538,941 / 294 tx / base fee 8.46 gwei / 29,392,790 (9> Sep 15 14:56:51 [196971]: 2022-09-15 14:56:51.101+03:00 | vert.x-worker-thread-18 | ERROR | JsonRpcExecutorHandler | Error streaming JSON-RPC response Sep 15 14:56:51 [196971]: io.netty.channel.StacklessClosedChannelException Sep 15 14:56:51 [196971]:         at io.netty.channel.AbstractChannel$AbstractUnsafe.write(Object, ChannelPromise)(Unknown Source) Sep 15 14:56:51 [196971]: 2022-09-15 14:56:51.127+03:00 | vert.x-worker-thread-18 | ERROR | JsonRpcExecutorHandler | Error streaming JSON-RPC response Sep 15 14:56:51 [196971]: io.netty.channel.StacklessClosedChannelException Sep 15 14:56:51 [196971]:         at io.netty.channel.AbstractChannel$AbstractUnsafe.write(Object, ChannelPromise)(Unknown Source) Sep 15 14:57:00 [196971]: 2022-09-15 14:57:00.432+03:00 | vert.x-worker-thread-0 | INFO  | EngineNewPayload | Imported #15,538,942 / 87 tx / base fee 9.48 gwei / 6,022,132 (20.> Sep 15 14:57:12 [196971]: 2022-09-15 14:57:12.979+03:00 | vert.x-worker-thread-0 | INFO  | EngineNewPayload | Imported #15,538,943 / 181 tx / base fee 8.77 gwei / 16,485,584 (5> Sep 15 14:57:13 [196971]: 2022-09-15 14:57:13.191+03:00 | vert.x-worker-thread-0 | INFO  | EngineForkchoiceUpdated | VALID for fork-choice-update: head: 0xc4242af2d7443f63a0db0> Sep 15 14:57:26 [196971]: 2022-09-15 14:57:26.347+03:00 | vert.x-worker-thread-0 | INFO  | EngineNewPayload | Imported #15,538,944 / 707 tx / base fee 8.88 gwei / 25,421,922 (8> Sep 15 14:57:36 [196971]: 2022-09-15 14:57:36.385+03:00 | vert.x-worker-thread-0 | INFO  | EngineNewPayload | Imported #15,538,945 / 141 tx / base fee 9.65 gwei / 8,955,856 (29> Sep 15 14:57:49 [196971]: 2022-09-15 14:57:49.228+03:00 | vert.x-worker-thread-0 | INFO  | EngineNewPayload | Imported #15,538,946 / 159 tx / base fee 9.16 gwei / 14,309,509 (4> Sep 15 14:58:01 [196971]: 2022-09-15 14:58:01.329+03:00 | vert.x-worker-thread-0 | INFO  | EngineNewPayload | Imported #15,538,947 / 255 tx / base fee 9.11 gwei / 18,604,610 (6> Sep 15 14:58:11 [196971]: 2022-09-15 14:58:11.917+03:00 | vert.x-worker-thread-0 | INFO  | EngineNewPayload | Imported #15,538,948 / 28 tx / base fee 9.38 gwei / 1,787,814 (6.0> Sep 15 14:58:14 [196971]: 2022-09-15 14:58:14.027+03:00 | EthScheduler-Transactions-4 | ERROR | Besu | Uncaught exception in thread "EthScheduler-Transactions-4" Sep 15 14:58:14 [196971]: org.hyperledger.besu.ethereum.trie.MerkleTrieException: Unable to load trie node value for hash 0x48890e3357468f90672a3bdd8ec3cd7b61bb6a373251fb3f903c> Sep 15 14:58:14 [196971]:         at org.hyperledger.besu.ethereum.trie.StoredNode.lambda$load$0(StoredNode.java:133) Sep 15 14:58:14 [196971]:         at java.base/java.util.Optional.orElseThrow(Optional.java:408) Sep 15 14:58:14 [196971]:         at org.hyperledger.besu.ethereum.trie.StoredNode.load(StoredNode.java:131) Sep 15 14:58:14 [196971]:         at org.hyperledger.besu.ethereum.trie.StoredNode.accept(StoredNode.java:63) Sep 15 14:58:14 [196971]:         at org.hyperledger.besu.ethereum.trie.StoredMerklePatriciaTrie.get(StoredMerklePatriciaTrie.java:119) Sep 15 14:58:14 [196971]:         at org.hyperledger.besu.ethereum.bonsai.BonsaiWorldStateKeyValueStorage.getAccount(BonsaiWorldStateKeyValueStorage.java:110) Sep 15 14:58:14 [196971]:         at org.hyperledger.besu.ethereum.bonsai.BonsaiPersistedWorldState.get(BonsaiPersistedWorldState.java:340) Sep 15 14:58:14 [196971]:         at org.hyperledger.besu.ethereum.bonsai.BonsaiLayeredWorldState.get(BonsaiLayeredWorldState.java:232) Sep 15 14:58:14 [196971]:         at org.hyperledger.besu.ethereum.eth.transactions.TransactionPool.lambda$validateTransaction$2(TransactionPool.java:282) Sep 15 14:58:14 [196971]:         at java.base/java.util.Optional.map(Optional.java:265) Sep 15 14:58:14 [196971]:         at org.hyperledger.besu.ethereum.eth.transactions.TransactionPool.validateTransaction(TransactionPool.java:280) Sep 15 14:58:14 [196971]:         at org.hyperledger.besu.ethereum.eth.transactions.TransactionPool.validateRemoteTransaction(TransactionPool.java:213) Sep 15 14:58:14 [196971]:         at org.hyperledger.besu.ethereum.eth.transactions.TransactionPool.addRemoteTransactions(TransactionPool.java:153) Sep 15 14:58:14 [196971]:         at org.hyperledger.besu.ethereum.eth.transactions.TransactionsMessageProcessor.processTransactionsMessage(TransactionsMessageProcessor.java:11> Sep 15 14:58:14 [196971]:         at org.hyperledger.besu.ethereum.eth.transactions.TransactionsMessageProcessor.processTransactionsMessage(TransactionsMessageProcessor.java:85) Sep 15 14:58:14 [196971]:         at org.hyperledger.besu.ethereum.eth.transactions.TransactionsMessageHandler.lambda$exec$0(TransactionsMessageHandler.java:48) Sep 15 14:58:14 [196971]:         at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) Sep 15 14:58:14 [196971]:         at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) Sep 15 14:58:14 [196971]:         at java.base/java.lang.Thread.run(Thread.java:829)

Here are the cleanest Besu logs I can get for one of these instances of ERROR | JsonRpcExecutorHandler | Error streaming JSON-RPC response, with associated Lighthouse logs. Also an inclusion of a graph of rate(execution_layer_get_payload_by_block_hash_time_sum{}[5m])/rate(execution_layer_get_payload_by_block_hash_time_count{}[5m]) which a lighthouse dev thought might be informative, but which doesn't show much at the time of the error.
Note: No attestation was actually missed at this time by validator xxxxxx, but it had a possibly-related invalid head/target vote which resulted in effectively a missed attestation.
As for env details: i7 NUC with 32GB RAM and 2TB Samsung EVO 970 SSD. All metrics were well in the green at the time of the error, with no suspicious bumps of any kind.
besulogs2022-09-15.txt

https://discord.com/channels/905194001349627914/938504958909747250/1019905431054864434

I'm getting this error every few min:
ERROR | JsonRpcExecutorHandler | Error streaming JSON-RPC response
Sep 15 09:20:26  besu[186377]: io.netty.channel.StacklessClosedChannelException
Sep 15 09:20:26  besu[186377]:         at io.netty.channel.AbstractChannel$AbstractUnsafe.write(Object, ChannelPromise)(Unknown Source)

No negative impcat on metrics or missed attestations

+1 Besu + Lighthouse
Results in missed attestations periodically.

@SomerEsat please can you explain how you came to the conclusion that Json RPC error leads to missed attestations please? Some users have this but without missed attestations

No missed attestations on my side, but switched to a geth/lighthouse fallback node as precaution for now, so I only have ~10h of logs/attesting experience with this issue.

@siladu
I went from 99% to 83% effectiveness pre to post Merge. No changes to setup. Software latest versions. Fully synced prior to the merge.
I'm not sure what actual cause is, but it seems to happen when I see this (Besu):
Sep 16 00:15:48 ETH-STAKER-001 besu[15568]: 2022-09-16 00:15:48.739+00:00 | vert.x-worker-thread-0 | INFO  | EngineNewPayload | Imported #15,542,582 / 68 tx / base fee 5.71 gwei / 5,253,353 (17.5%) gas / (0xbc47e7bb19b48e0ccefbabc23732c561950ffb2690ffcd900d4c97057bcee90d) in 0.639s. Peers: 27
Sep 16 00:16:02 ETH-STAKER-001 besu[15568]: 2022-09-16 00:16:02.831+00:00 | vert.x-worker-thread-0 | INFO  | EngineNewPayload | Imported #15,542,583 / 172 tx / base fee 5.25 gwei / 25,984,191 (86.6%) gas / (0xc945270ba8b55b9766fa448b9833e96233f2f2bdf123c707f068cecea0b316f3) in 2.857s. Peers: 27
Sep 16 00:16:02 ETH-STAKER-001 besu[15568]: 2022-09-16 00:16:02.851+00:00 | vert.x-worker-thread-4 | ERROR | JsonRpcExecutorHandler | Error streaming JSON-RPC response
Sep 16 00:16:02 ETH-STAKER-001 besu[15568]: io.netty.channel.StacklessClosedChannelException
Sep 16 00:16:02 ETH-STAKER-001 besu[15568]:         at io.netty.channel.AbstractChannel$AbstractUnsafe.write(Object, ChannelPromise)(Unknown Source)
Sep 16 00:16:16 ETH-STAKER-001 besu[15568]: 2022-09-16 00:16:16.481+00:00 | vert.x-worker-thread-0 | INFO  | EngineNewPayload | Imported #15,542,584 / 252 tx / base fee 5.73 gwei / 25,152,721 (83.8%) gas / (0x2d35535e8b50744f65cbb1c3954977563ae0f9c2770eb5607051a045703cbec8) in 3.795s. Peers: 27
Sep 16 00:16:17 ETH-STAKER-001 besu[15568]: 2022-09-16 00:16:17.247+00:00 | vert.x-worker-thread-0 | INFO  | EngineForkchoiceUpdated | VALID for fork-choice-update: head: 0x2d35535e8b50744f65cbb1c3954977563ae0f9c2770eb5607051a045703cbec8, finalized: 0x4d44e27519f1de4e0a833e29c9cde1665677376b3612d4e46f9cd8d525ac001f, safeBlockHash: 0xa66da527c8fbefb5d76507c310d08419714fde0598aca0beb5e62ff569a3fcb3
Sep 16 00:16:33 ETH-STAKER-001 besu[15568]: 2022-09-16 00:16:33.331+00:00 | vert.x-worker-thread-0 | INFO  | EngineNewPayload | Imported #15,542,585 / 312 tx / base fee 6.21 gwei / 29,989,032 (100.0%) gas / (0xcc7ea7216e0184910630134f8445b2ad1e0ef72f67498c9dd2e9fbef50e86938) in 4.350s. Peers: 27
Sep 16 00:16:33 ETH-STAKER-001 besu[15568]: 2022-09-16 00:16:33.367+00:00 | vert.x-worker-thread-2 | ERROR | JsonRpcExecutorHandler | Error streaming JSON-RPC response
Sep 16 00:16:33 ETH-STAKER-001 besu[15568]: io.netty.channel.StacklessClosedChannelException
Sep 16 00:16:33 ETH-STAKER-001 besu[15568]:         at io.netty.channel.AbstractChannel$AbstractUnsafe.write(Object, ChannelPromise)(Unknown Source)
Sep 16 00:16:40 ETH-STAKER-001 besu[15568]: 2022-09-16 00:16:40.613+00:00 | vert.x-worker-thread-0 | INFO  | EngineNewPayload | Imported #15,542,586 / 173 tx / base fee 6.99 gwei / 16,130,211 (53.8%) gas / (0xc0afa3352469c8f02db410b2d0bed4afe7e211c1b06220775fb8e9fd52c1e757) in 4.089s. Peers: 27

And then this (lighthouse beacon):
Sep 16 00:16:02 ETH-STAKER-001 besu[15568]: 2022-09-16 00:16:02.831+00:00 | vert.x-worker-thread-0 | INFO  | EngineNewPayload | Imported #15,542,583 / 172 tx / base fee 5.25 gwei / 25,984,191 (86.6%) gas / (0xc945270ba8b55b9766fa448b9833e96233f2f2bdf123c707f068cecea0b316f3) in 2.857s. Peers: 27
Sep 16 00:16:02 ETH-STAKER-001 besu[15568]: 2022-09-16 00:16:02.851+00:00 | vert.x-worker-thread-4 | ERROR | JsonRpcExecutorHandler | Error streaming JSON-RPC response
Sep 16 00:16:02 ETH-STAKER-001 besu[15568]: io.netty.channel.StacklessClosedChannelException
Sep 16 00:16:02 ETH-STAKER-001 besu[15568]:         at io.netty.channel.AbstractChannel$AbstractUnsafe.write(Object, ChannelPromise)(Unknown Source)

Note the timing:
-- Lighthouse reports a "Execution engine call failed" & "Error fetching block for peer" at 00:16:00.999
-- Lighthouse reports a "Error during execution engine upcheck" at 00:16:02.001
-- Besu reports a "Error streaming JSON-RPC response" at 00:16:02.851
Around that time, if an attestation is scheduled, it tends to fail. Having said that, the last attestation to fail (across multiple validators) is approx. 1 hour ago from now.

@ibootstrapper @JanKalin @ronaldjmaas @lfinbob @risasoft @gamell
Please can you confirm if you are getting frequent missed attestations and how your chains are progressing generally? Are you seeing this error but everything else is fine?

I've personally only missed 1 attestation per validator after the merge, despite 126 JSON-RPC errors:
# docker logs rocketpool_eth1 |& grep "Error streaming JSON-RPC response" | wc -l
126

It's a fast server, Ryzen 5950X, 128GB RAM, 2x4 TB NVMe. Many other Besu users in Rocket Pool discord #support see more missed attestations or no attestations at all, especially on weaker devices.
My rated.network effectiveness seems to be still fine as well:

I am getting missed attestations with this error and lighthouse. was not getting any before the merge.

@ibootstrapper @JanKalin @ronaldjmaas @lfinbob @risasoft @gamell

Please can you confirm if you are getting frequent missed attestations and how your chains are progressing generally? Are you seeing this error but everything else is fine?

I've personally only missed 1 attestation per validator after the merge, despite 126 JSON-RPC errors:

# docker logs rocketpool_eth1 |& grep "Error streaming JSON-RPC response" | wc -l

126

It's a fast server, Ryzen 5950X, 128GB RAM, 2x4 TB NVMe. Many other Besu users in Rocket Pool discord #support see more missed attestations or no attestations at all, especially on weaker devices.
My rated.network effectiveness seems to be still fine as well:

Yes, missing many today

@ibootstrapper @JanKalin @ronaldjmaas @lfinbob @risasoft @gamell
Please can you confirm if you are getting frequent missed attestations and how your chains are progressing generally? Are you seeing this error but everything else is fine?

Chain is progressing, but this results in one missed attestation every few hours. Here is an example miss:
Lighthouse
Sep 15 21:35:00.783 INFO New block received                      root: 0x4877fa38a814b534a13b4f4fc6387454517362899269f624909b0f1b8215d03f, slot: 4704473
Sep 15 21:35:02.081 ERRO Execution engine call failed            error: Reqwest(reqwest::Error { kind: Request, url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("eth1")), port: Some(8551), path: "/", query: None, fragment: None }, source: TimedOut }), service: exec
Sep 15 21:35:02.081 ERRO Error fetching block for peer           error: ExecutionLayerErrorPayloadReconstruction(0x83eda8c5d447c958100c731fd38c6bca6ddf01e0cd620879050db3c3d5a97cf6, EngineError(Api { error: Reqwest(reqwest::Error { kind: Request, url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("eth1")), port: Some(8551), path: "/", query: None, fragment: None }, source: TimedOut }) })), block_root: 0x1ef5478c465d73a6c116b8d11ca8322629ec577f440c1ed36a6636dc16bf6901
Sep 15 21:35:05.000 INFO Synced                                  slot: 4704473, block: 0x4877…d03f, epoch: 147014, finalized_epoch: 147012, finalized_root: 0xa47e…7db3, exec_hash: 0xd52e…7fbd (verified), peers: 88, service: slot_notifier
Sep 15 21:35:12.196 INFO New block received                      root: 0x635cab6529683e845a778725b3bc212ff508034d57ac5c1f257a6efccb8bfb79, slot: 4704474
Sep 15 21:35:17.000 INFO Synced                                  slot: 4704474, block: 0x635c…fb79, epoch: 147014, finalized_epoch: 147012, finalized_root: 0xa47e…7db3, exec_hash: 0x77f4…2917 (verified), peers: 88, service: slot_notifier
Sep 15 21:35:24.469 INFO New block received                      root: 0xd295d95de95210eb4f22f900b0b1736e5caf68635d4001677bddf301389047b8, slot: 4704475
Sep 15 21:35:29.001 INFO Synced                                  slot: 4704475, block: 0xd295…47b8, epoch: 147014, finalized_epoch: 147012, finalized_root: 0xa47e…7db3, exec_hash: 0x2db3…be0c (verified), peers: 88, service: slot_notifier
Sep 15 21:35:36.269 INFO New block received                      root: 0x29fd729042a57ef1274b2399d17ec8880c9e2f98ec3634032f25b5e6cfff6635, slot: 4704476
Sep 15 21:35:41.001 INFO Synced                                  slot: 4704476, block: 0x29fd…6635, epoch: 147014, finalized_epoch: 147012, finalized_root: 0xa47e…7db3, exec_hash: 0xa79a…6fe5 (verified), peers: 88, service: slot_notifier
Sep 15 21:35:48.291 INFO New block received                      root: 0xc3c107468d514bf185df9015ea155acfd799e6da20123901837ebae8cd4b2515, slot: 4704477
Sep 15 21:35:53.001 INFO Synced                                  slot: 4704477, block: 0xc3c1…2515, epoch: 147014, finalized_epoch: 147012, finalized_root: 0xa47e…7db3, exec_hash: 0x6a73…618a (verified), peers: 88, service: slot_notifier
Sep 15 21:35:59.640 INFO New block received                      root: 0x93be335807c55b00d05fc8b18d951f91f01b45e9c4763b2c39e14f6c7cd9a8ef, slot: 4704478

Besu
2022-09-15 21:35:02.557+00:00 | vert.x-worker-thread-0 | INFO  | EngineNewPayload | Imported #15,541,793 / 295 tx / base fee 10.15 gwei / 24,501,866 (81.7%) gas / (0xd52ebae0959ff920cb4c134418796d3b0c266853cb76bc3b903b858c4d217fbd) in 1.613s. Peers: 31
2022-09-15 21:35:02.653+00:00 | vert.x-worker-thread-4 | ERROR | JsonRpcExecutorHandler | Error streaming JSON-RPC response
2022-09-15 21:35:02.912+00:00 | vert.x-worker-thread-0 | INFO  | EngineForkchoiceUpdated | VALID for fork-choice-update: head: 0xd52ebae0959ff920cb4c134418796d3b0c266853cb76bc3b903b858c4d217fbd, finalized: 0x1822b4ad60df1b5ff7ba3ef0c5a2b364ad8fa6b10e85aec645a5de608c99331d, safeBlockHash: 0x5360f100463f5583d0f363a69f52bbcabe16c0dea2f2f1aaccb23b635390e4d3
2022-09-15 21:35:13.014+00:00 | vert.x-worker-thread-0 | INFO  | EngineNewPayload | Imported #15,541,794 / 123 tx / base fee 10.95 gwei / 13,220,761 (44.1%) gas / (0x77f4b903afd5ad093eeb3ec5281cadf67a23c64f0a2e3222f87195da61f22917) in 0.700s. Peers: 31
2022-09-15 21:35:26.007+00:00 | vert.x-worker-thread-0 | INFO  | EngineNewPayload | Imported #15,541,795 / 219 tx / base fee 10.79 gwei / 20,635,640 (68.8%) gas / (0x2db376c30e6da6a4dff5830d3e2190692ca57358e474a7defa1b83029dcdbe0c) in 1.407s. Peers: 31
2022-09-15 21:35:36.913+00:00 | vert.x-worker-thread-0 | INFO  | EngineNewPayload | Imported #15,541,796 / 120 tx / base fee 11.30 gwei / 9,326,028 (31.1%) gas / (0xa79a442a9770a68f901a8b0cc3704d645e5a41b40ce93ac608bbfa186a696fe5) in 0.528s. Peers: 31
2022-09-15 21:35:49.201+00:00 | vert.x-worker-thread-0 | INFO  | EngineNewPayload | Imported #15,541,797 / 167 tx / base fee 10.76 gwei / 12,233,151 (40.8%) gas / (0x6a73b3b9882561b7e5b34b9b005d1668fbc01cef178379d2531a9633e5c2618a) in 0.792s. Peers: 3100:00 | vert.x-worker-thread-0 | INFO  | EngineNewPayload | Imported #15,543,062 / 408 tx / base fee 5.72 gwei / 19,633,855 (65.4%) gas / (0x2ff9b26b1f5f9d642820b0cbdf18dedd

mainnet-nightly-fast-sync:
LH:
Sep 13 20:03:21.111 ERRO Error updating deposit contract cache   error: "All fallbacks errored: http://<IP_ADDRESS>:8551/, auth=true => BlockDownloadFailed(\"eth_getBlockByNumber call failed Reqwest(reqwest::Error { kind: Request, url: Url { scheme: \\\"http\\\", cannot_be_a_base: false, username: \\\"\\\", password: None, host: Some(Ipv4(<IP_ADDRESS>)), port: Some(8551), path: \\\"/\\\", query: None, fragment: None }, source: hyper::Error(Connect, ConnectError(\\\"tcp connect error\\\", Os { code: 111, kind: ConnectionRefused, message: \\\"Connection refused\\\" })) })\")", retry_millis: 60000, service: deposit_contract_rpc
Besu:
eth_getBlockByHash - Error streaming JSON-RPC response

@silado Since merge I missed 13 attestations. Although I see a lot of RPC JSON related errors in both Besu and Lighthouse BN log, I do not see any errors in the Lighthouse VC. Lighthouse VC log always shows 'Successfully published attestations' regardless if attestations were missed or not.
Besu + Lighthouse clients are successfully synced to chain. No issues there.
Note before merge I only missed 1 or 2 attestations during monthly upgrade / system reboot. Node has been running rock solid for many months until today.

same

We added logging and see that lighthouse (which I think most users on this issue are using) sending eth_getBlockByHash is behind the streaming JSON-RPC response error, at least on our canary node.
https://github.com/hyperledger/besu/issues/4398#issuecomment-1248976250

There is something odd in the Lighthouse VC logs for the published attestations that miss. Not sure if it is relevant or not:
Missed attestations:
Sep 16 01:41:15.022 INFO Successfully published attestations     type: unaggregated, slot: 4705704, committee_index: 48, head_block: 0xfe6b1636baa39acc3b4d3b35bb46fc4a8540df4c065b186eaee5092d84b3b5af, validator_indices: [XXXXXX], count: 1, service: attestation
Sep 16 03:58:27.019 INFO Successfully published attestations     type: unaggregated, slot: 4706390, committee_index: 21, head_block: 0xc1e1d0cdacea21a3de2c9ea6ea36ccf595e9a81f9440b949b9ad5dafe3996749, validator_indices: [XXXXXX], count: 1, service: attestation
Sep 16 04:17:15.041 INFO Successfully published attestations     type: unaggregated, slot: 4706484, committee_index: 21, head_block: 0x0a891eb8da184a2817b098a7d86c9e0dc6c2de8707892ef1db1b847ebc9e97d4, validator_indices: [XXXXXX], count: 1, service: attestation
Sep 16 06:39:39.035 INFO Successfully published attestations     type: unaggregated, slot: 4707196, committee_index: 32, head_block: 0x8dbae33da336fadf013121763835c2c44dee95dd371c92823e471840b79254d0, validator_indices: [XXXXXX], count: 1, service: attestation
Sep 16 07:06:15.023 INFO Successfully published attestations     type: unaggregated, slot: 4707329, committee_index: 11, head_block: 0x4d64715e4bbf8586f3c26a7f0d53505a80ccca4283ec5dc68a5db302c463f1ed, validator_indices: [XXXXXX], count: 1, service: attestation
There is a mismatch between the slot # and head_block. So if I understand correctly, the head_block values should have been:
Sep 16 01:41:15.022 INFO Successfully published attestations     type: unaggregated, slot: 4705704, committee_index: 48, head_block: 0x1b63f6cb9807b7199abeb84dc719e7afc3ada69977df395718737fc81f4cdacd, validator_indices: [XXXXXX], count: 1, service: attestation
Sep 16 03:58:27.019 INFO Successfully published attestations     type: unaggregated, slot: 4706390, committee_index: 21, head_block: 0x120f1de35c70dd7efe7492900dbf5b81e05242f37bbda786a4ddcfe6052f48f0, validator_indices: [XXXXXX], count: 1, service: attestation
Sep 16 04:17:15.041 INFO Successfully published attestations     type: unaggregated, slot: 4706484, committee_index: 21, head_block: 0x181ae05b4dceecf4445cec54b651ebd6cb3ce4ea053c23de350521396b06b007, validator_indices: [XXXXXX], count: 1, service: attestation
Sep 16 06:39:39.035 INFO Successfully published attestations     type: unaggregated, slot: 4707196, committee_index: 32, head_block: 0x977e52ad454edbe5de23f967decbc3861c8ab754d71435216fca38ee7dcca548, validator_indices: [XXXXXX], count: 1, service: attestation
Sep 16 07:06:15.023 INFO Successfully published attestations     type: unaggregated, slot: 4707329, committee_index: 11, head_block: 0xef2ad9a4e387468d5a7cfc5921c56e78f3e50140bfbb54d9087b75d46e625ba5, validator_indices: [XXXXXX], count: 1, service: attestation

Here some update from the team.
We find a bug in the code where all the calls that come through the engine API port (8551) are sequential. For example, especially for the pair Lighthouse/Besu, all the errors io.netty.channel.StacklessClosedChannelException on eth calls are thrown because they have to wait to some engine_newPayloadV1 call to finish its execution, and this may take more than 1 second, which is the timeout set from the CL side.
We're currently working to make ETH calls parallel to the engine API calls, even if these ETH calls are made on port 8551.

Still an issue with new update


[TC-295] Invalid DS regex causes nasty exception and unexpected results Github Issue #514

If a host regex (probably others) is specified as a plain string, rather than a real regex (e.g.: test vs ..mydeliveryservice..), the following exception occurs in Traffic Router, and the user would have to be watching the logs to see that something went wrong. Additionally, it is not clear why the failure occurred.
Improve TO in general such that the regex is clearly defined (documented?) and potentially checked so that it doesn't get added to the CRConfig until it is what we expect to see. Additionally, discuss whether we want to support specific strings (e.g.: test) instead of a full regex. Doing so seems to be counter to the intent of the regex in the first place, so I do not think that this is a viable option at this time.
WARN 2015-09-01T14:25:07.237 New I/O worker #1 com.comcast.cdn.traffic_control.traffic_router.core.util.PeriodicResourceUpdater - 1 java.lang.ArrayIndexOutOfBoundsException: 1 at com.comcast.cdn.traffic_control.traffic_router.core.dns.ZoneManager.populateZoneMap(ZoneManager.java:311) at com.comcast.cdn.traffic_control.traffic_router.core.dns.ZoneManager.generateZones(ZoneManager.java:132)
Author: Dewayne Richardson
JIRA Link: https://issues.apache.org/jira/browse/TC-295

Going to piggyback on this issue because it's along the same lines:
If you don't create a HOST_REGEXP at all in the TO UI (i.e. leave it blank), TO will give you a blank HOST_REGEXP and will not throw any errors when generating the CRConfig. However, Traffic Router will reject the newly snapshotted CRConfig because an exception will occur when parsing it:
WARN  2017-08-31T22:54:51.969 [New I/O worker #2] com.comcast.cdn.traffic_control.traffic_router.core.util.PeriodicResourceUpdater - No match found
java.lang.IllegalStateException: No match found
        at java.util.regex.Matcher.group(Matcher.java:536)
        at com.comcast.cdn.traffic_control.traffic_router.core.request.RequestMatcher.<init>(RequestMatcher.java:45)
        at com.comcast.cdn.traffic_control.traffic_router.core.ds.DeliveryServiceMatcher.addMatch(DeliveryServiceMatcher.java:48)
        at com.comcast.cdn.traffic_control.traffic_router.core.config.ConfigHandler.parseDeliveryServiceMatchSets(ConfigHandler.java:420)
        at com.comcast.cdn.traffic_control.traffic_router.core.config.ConfigHandler.processConfig(ConfigHandler.java:192)
        at com.comcast.cdn.traffic_control.traffic_router.core.monitor.TrafficMonitorWatcher$2.update(TrafficMonitorWatcher.java:114)
        at com.comcast.cdn.traffic_control.traffic_router.core.util.PeriodicResourceUpdater.updateDatabase(PeriodicResourceUpdater.java:154)
        at com.comcast.cdn.traffic_control.traffic_router.core.util.PeriodicResourceUpdater$UpdateHandler.onCompleted(PeriodicResourceUpdater.java:260)
        at com.comcast.cdn.traffic_control.traffic_router.core.util.PeriodicResourceUpdater$UpdateHandler.onCompleted(PeriodicResourceUpdater.java:245)

TO UI is going to be deprecated soon so I wouldn't worry about fixing that.
TP (or more specifically the TO API) creates a ds regex of type= HOST_REGEXP with value = ..xml-id.. for you in position zero however, you can change the value of that regex and cause problems so TP probably needs some better validation to ensure the proper format for the ds regex in position zero.


Make it explicit that users have to run warp_template or vert labeling

If they don't they get:
FileNotFoundError: No such file or no access: './label/template/PAM50_levels.nii.gz'

and they don't know what to do with it (some copy the PAM50/ folder from SCT dir, which they should absolutely not do)

The course material + forum support should be enough.


Please disable :quotes in general

Title Of Issue
Please disable :quotes in general
A description of the issue:
It spams chat too much and there's a reason we have #overflow or #bot-commands
Proposed Solution:
Block it in general
Additional Comments:
Please for the sake of anyone wanting to actually use general

no u

Bar a few occasions where it has a resurgence, it rarely gets overly used, and it should have a cooldown to prevent it being spammed. However, if people wanted we can block it entirely; something tells me, from prior experience, that may not be overly popular though...

Closing for inactivity, but if people do feel strongly about this then it can be reopened.


BitShuffle#shuffle for arrays of primitive datatypes does not consider the byte-order (leading to wrong results)

The underlying BitShuffle library works internally with an algorithm that was designed for the little-endian format. For this reason, the input data must always be passed in little-endian format.
However, the snappy-java wrapper directly passes an int[] array with the native byte order. Thus the Java implementation does not give the same results on little-endian and big-endian platforms for the shuffle / unshuffle methods.
The shuffle/unshuffle methods still work bijective so this issue is not easily noticeable.
How to fix:
The data array based on primitive types (e.g. int[], short[], long[], etc.) must be converted to little-endian format in the Java implementation if executed on big-endian platforms (before passing the buffer to the external library).

Related #443


Fixtures autoloading into DB

Based on this guide (http://www.yiiframework.com/doc-2.0/guide-test-fixture.html) i generated simple fixture for unit test.
in my test class
class UserTest extends DbTestCase
{
...

i use:
 public function fixtures()
    {
        return ['users' => UserFixture::className() ];
    }

where UserFixture:
class UserFixture extends ActiveFixture
{
    public $modelClass = 'app\models\User';
}

Fixture data file is generated with 2 records and in place. Then i try unit testing:
$model = new User;
        $query = new Query;
        $this->specify('Model validation should FAIL in first scenario', function () use ($model, $query){
            expect('Should be 2 users in DB',  $query->from($model->tableName())->count() )->equals(2);
        });

And is failing: 0 records instead of 2.
Question: should'n fixtures autoloaded into DB before each test?

Closed, unless more infromation arrives.


Handling Jr. in generated cite keys

I generate my cite keys using the following pattern:
[auth:fold][year][Title:nopunct:skipwords:select,1,1:fold:capitalize]

Now, I have some authors that contain ", Jr." in their last names (because there is no better place to put the Jr. in Zotero). This results in keys like HalsteadJr.1985Multilisp or BakerJr.1977Incremental, which is suboptimal.
I have tried the following pattern to strip the Jr. away:
[auth:select,1,1:fold][year][Title:nopunct:skipwords:select,1,1:fold:capitalize]

However, this does not play well with last names like "von Praun", as it results in keys like von2007Implicit.
One way to solve this issue would be to always remove Jr. from author names, but I'm not sure this is a good idea. Another solution would be to let the user customize the skipwords list (either using some syntax or by providing an about:config option), so that one could use:
[auth:skipwords:fold][year][Title:nopunct:skipwords:select,1,1:fold:capitalize]

Customizing skipwords would also be nice for articles written in other languages than english.

I've moved the skipwords to a preference, so you  should just be able to add ,jr to the end. Note that skipwords is also applied to title and shorttitle.

There isn't a UI for this btw, you can edit the string in about:config; the setting is extensions.zotero.translators.better-bibtex.skipWords.

This wil be released as part of .12

Thank you for this! For anyone with the same problem: I had to use :nopunct to make it work:
[auth:nopunct:skipwords:fold][year][Title:nopunct:skipwords:select,1,1:fold:capitalize]

My pleasure -- I've added your example to the docs.

Somehow this has stopped working for me. I haven't used Better Bibtex in a long time, and now that I need it again, I realized that Jr is not stripped away anymore. In fact, a quick test showed that the extensions.zotero.translators.better-bibtex.skipWords setting seems to be ignored completely (I removed the from the list but it didn't show up in titles).

Hm, I'm starting to wonder whether I really did something wrong. Now I have two auto-generated keys, one that contains a the in the title, an done that doesn't. How could this possibly happen?


Adds chrome 2.0 support🤪🤷♀⏱

Codecov Report

Merging #2 (7e805f5) into master (65820f5) will not change coverage.
The diff coverage is 0.00%.

@@          Coverage Diff           @@
##           master      #2   +/-   ##
======================================
  Coverage    0.00%   0.00%
======================================
  Files          25      26    +1
  Lines         180     182    +2
  Branches        9      10    +1
======================================
- Misses        171     172    +1
- Partials        9      10    +1

Impacted Files
Coverage Δ

src/AppEntry.js
0.00% <0.00%> (ø)

src/Routes.js
0.00% <0.00%> (ø)

src/entry-dev.js
0.00% <0.00%> (ø)

src/entry.js
0.00% <0.00%> (ø)

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 65820f5...7e805f5. Read the comment docs.

Codecov Report

Merging #2 (7e805f5) into master (65820f5) will not change coverage.
The diff coverage is 0.00%.

@@          Coverage Diff           @@
##           master      #2   +/-   ##
======================================
  Coverage    0.00%   0.00%
======================================
  Files          25      26    +1
  Lines         180     182    +2
  Branches        9      10    +1
======================================
- Misses        171     172    +1
- Partials        9      10    +1

Impacted Files
Coverage Δ

src/AppEntry.js
0.00% <0.00%> (ø)

src/Routes.js
0.00% <0.00%> (ø)

src/entry-dev.js
0.00% <0.00%> (ø)

src/entry.js
0.00% <0.00%> (ø)

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 65820f5...7e805f5. Read the comment docs.


Stubbing in @BeforeAll

I'm currently upgrading to the latest spring-boot 3.x version and my tests fails now with the following exception:
wiremock.org.apache.hc.client5.http.HttpHostConnectException: Connect to http://localhost:8080 [localhost/<IP_ADDRESS>] failed: Connection refused

	at java.base/sun.nio.ch.Net.pollConnect(Native Method)
	at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:672)
	at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:547)
	at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602)
	at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)
	at java.base/java.net.Socket.connect(Socket.java:633)
	at wiremock.org.apache.hc.client5.http.socket.PlainConnectionSocketFactory$1.run(PlainConnectionSocketFactory.java:87)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:569)
	at wiremock.org.apache.hc.client5.http.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:84)
	at wiremock.org.apache.hc.client5.http.impl.io.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:148)
	at wiremock.org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:396)
	at wiremock.org.apache.hc.client5.http.impl.classic.InternalExecRuntime.connectEndpoint(InternalExecRuntime.java:158)
	at wiremock.org.apache.hc.client5.http.impl.classic.InternalExecRuntime.connectEndpoint(InternalExecRuntime.java:168)
	at wiremock.org.apache.hc.client5.http.impl.classic.ConnectExec.execute(ConnectExec.java:136)
	at wiremock.org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)
	at wiremock.org.apache.hc.client5.http.impl.classic.ExecChainElement$1.proceed(ExecChainElement.java:57)
	at wiremock.org.apache.hc.client5.http.impl.classic.ProtocolExec.execute(ProtocolExec.java:175)
	at wiremock.org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)
	at wiremock.org.apache.hc.client5.http.impl.classic.InternalHttpClient.doExecute(InternalHttpClient.java:170)
	at wiremock.org.apache.hc.client5.http.impl.classic.CloseableHttpClient.execute(CloseableHttpClient.java:75)
	at wiremock.org.apache.hc.client5.http.impl.classic.CloseableHttpClient.execute(CloseableHttpClient.java:89)
	at com.github.tomakehurst.wiremock.client.HttpAdminClient.safelyExecuteRequest(HttpAdminClient.java:514)
	at com.github.tomakehurst.wiremock.client.HttpAdminClient.executeRequest(HttpAdminClient.java:497)
	at com.github.tomakehurst.wiremock.client.HttpAdminClient.executeRequest(HttpAdminClient.java:474)
	at com.github.tomakehurst.wiremock.client.HttpAdminClient.addStubMapping(HttpAdminClient.java:146)
	at com.github.tomakehurst.wiremock.client.WireMock.register(WireMock.java:418)
	at com.github.tomakehurst.wiremock.client.WireMock.register(WireMock.java:413)
	at com.github.tomakehurst.wiremock.client.WireMock.givenThat(WireMock.java:115)
	at com.github.tomakehurst.wiremock.client.WireMock.stubFor(WireMock.java:119)

My Test is annotated with
@AutoConfigureMockMvc
@AutoConfigureWireMock(port = 0)
@SpringBootTest(
    classes = ApplicationInitializer.class,
    webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)

In the @BeforeAll Method I stub the endpoints.
When I move the stubs into e.g. @BeforeEach everythink works fine.
Used dependency:
testImplementation 'org.springframework.cloud:spring-cloud-starter-contract-stub-runner:4.1.1'
When I use in addition the testImplementation 'org.springframework.cloud:spring-cloud-contract-wiremock:4.0.4' the tests run as before the upgrade.

I have the same issue, 4.0.x works fine 4.1.x generate this error, it's like the ramdom port ${wiremock.server.port} is the default one in the setup method (@BeforeAll)

Please double check that you're using the latest version cause we did fix this problem

I've update to the latest 4.1.2 version and got the error described in the description

@marcingrzejszczak did you have a chance to look into this?


New OverrideLocale function doesn't work on Android

The new overrideLocale function (with 4.2 version of this plugin) doesn't work with Android

P.S. If i change the language and I use overrideLocale it doesn't change the old translations, even if I use
this.cdr.detectChanges();
Any suggestion?

Nobody?

any suggestion ?

@panagulis72 - found any work around for this?

@harshitjain0803 I'm sorry, I didn't

@panagulis72 - Try to call androidLaunchEventLocalizationHandler() after overrideLocale().

@emog call androidLaunchEventLocalizationHandler() after overrideLocale(). make it works. but after kill the app and reopen again, the app language back to default device's language. how to make it display with the language selected instead of showing default device's language?

@wyong95
Try adding this in app.component.ts
import { on, launchEvent } from '@nativescript/core/application';
import { androidLaunchEventLocalizationHandler } from 'nativescript-localize/localize';
on(launchEvent, (args) => {
if (args.android) {
androidLaunchEventLocalizationHandler();
}
});
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
.......
i am able to see the changed language after killing the app and again reopening it, but there is jerk on screen

Possible solution for this (worked for me and someone else, too) can be found here: https://github.com/EddyVerbruggen/nativescript-localize/issues/98


First priority: collapse all action buttons, except barcode scanner, into an expandable button

We've already been discussing this on discord.  Here are the pics we showed there:

@HunnySajid how are things? Will you be able to attend our UI meeting on Friday?


Added --quiet to readme

This PR was created from the command line

command used:
pyhub_pr --organisation julienpalard --repo powrap --token TOKEN --title "Added --quiet to readme" --body "This PR was created from the command line" --head "seluj78:fix-readme"

:+1:


Internal server Error

An error Occurred while connecting to data source.
after selecting the objects and Hitting 'Go get it' button i am getting 'Internal server error'.

Hi @PrajaktaBirnale,
Can you share more details, please? Which Web Data Connector are you trying?

No answer, closing the issue


Added assert and took out exceptions

More microcontroller compatibility.


SOLR-15152: Export Tool should export nested docs cleanly in .json, .jsonl, and javabin

Description
Export tool says it uses json, but it's actually a json lines format.   It ignores anonymous and nested docs.
Solution

Tweaked the writer to properly handle anonymous and regular nested docs when exporting data.
Renamed the existing json format to jsonl, and introduced a proper json format.
Introduce explicit DocSinks per format, json, jsonl, and javabin.
Create new configsets for testing under nested/anonymous and nested/regular for testing.
added nested products example that was used in the Ref guide to the example/exampledocs/office_products.json.
Changed sample_techproducts_configs to used explicit nested docs, not anonymous nested docs, and then fixed various tests that assumed anonymous children.  This was tough!
Updates to the Ref Guide.

Now, with the json format you can export and then reimport the Solr docs, including with child docs!
Tests
I've added a new TestExportToolWithNestedDocs, and extended the existing TestExportTool tests.  The setup for the tests was quite different, so I didn't make them all one file.  I've updated the existing tests that
Checklist
Please review the following and check all that apply:

[X ] I have reviewed the guidelines for How to Contribute and my code conforms to the standards described there to the best of my ability.
[ X] I have created a Jira issue and added the issue ID to my pull request title.
[ X] I have given Solr maintainers access to contribute to my PR branch. (optional but recommended)
[ X] I have developed this patch against the main branch.
[ X] I have run ./gradlew check.
[ X] I have added tests for my changes.
[ X] I have added documentation for the Reference Guide

There is a lot of good commentary on https://github.com/apache/lucene-solr/pull/2356 that should be reviewed!

I'm working up the energy to tackle this again!

This PR is very out of date, and many parts of it have been merged in other PR's.  I am closing it in favour of new PR: https://github.com/apache/solr/pull/2636


Be able to choose what types of network modes you want to use

Description
Would be useful to be able to choose what type of network modes you want to see in sunstone.
Use case
When you create a network, you only can restrict the network modes comment the drivers in oned.conf
Progress Status

[ ] Branch created
[ ] Code committed to development branch
[ ] Testing - QA
[ ] Documentation
[ ] Release notes - resolved issues, compatibility, known issues
[ ] Code committed to upstream release/hotfix branches
[ ] Documentation committed to upstream release/hotfix branches

oned.conf mechanism is general for all drivers, adding this functionality will overly complicate the logic.


failed to reload NGINX: failed to send the HUP signal to NGINX main: operation not permitted

Describe the bug
I ran nginx-gateway and demo with the guide, but I couldn't get the correct results.
Get Error: failed to reload NGINX: failed to send the HUP signal to NGINX main: operation not permitted
I have no idea why this problem occurs, and I don't know how to solve it. Look for help.
Gateway.Status:
status:
  addresses:
    - type: IPAddress
      value: <IP_ADDRESS>
  conditions:
    - lastTransitionTime: '2023-09-13T06:09:28Z'
      message: Gateway is accepted
      observedGeneration: 1
      reason: Accepted
      status: 'True'
      type: Accepted
    - lastTransitionTime: '2023-09-13T06:09:28Z'
      message: >-
        The Gateway is not programmed due to a failure to reload nginx with the
        configuration
      observedGeneration: 1
      reason: Invalid
      status: 'False'
      type: Programmed
  listeners:
    - attachedRoutes: 0
      conditions:
        - lastTransitionTime: '2023-09-13T06:09:28Z'
          message: Listener is accepted
          observedGeneration: 1
          reason: Accepted
          status: 'True'
          type: Accepted
        - lastTransitionTime: '2023-09-13T06:09:28Z'
          message: All references are resolved
          observedGeneration: 1
          reason: ResolvedRefs
          status: 'True'
          type: ResolvedRefs
        - lastTransitionTime: '2023-09-13T06:09:28Z'
          message: No conflicts
          observedGeneration: 1
          reason: NoConflicts
          status: 'False'
          type: Conflicted
        - lastTransitionTime: '2023-09-13T06:09:28Z'
          message: >-
            The Listener is not programmed due to a failure to reload nginx with
            the configuration
          observedGeneration: 1
          reason: Invalid
          status: 'False'
          type: Programmed
      name: http
      supportedKinds:
        - group: gateway.networking.k8s.io
          kind: HTTPRoute

nginx-gateway pod error logs:
{
  "level": "error",
  "ts": "2023-09-13T06:09:51Z",
  "logger": "eventHandler",
  "msg": "Failed to update NGINX configuration",
  "error": "failed to reload NGINX: failed to send the HUP signal to NGINX main: operation not permitted",
  "stacktrace": "github.com/nginxinc/nginx-kubernetes-gateway/internal/mode/static.(*eventHandlerImpl).HandleEventBatch
    /home/runner/work/nginx-kubernetes-gateway/nginx-kubernetes-gateway/internal/mode/static/handler.go:95
   github.com/nginxinc/nginx-kubernetes-gateway/internal/framework/events.(*EventLoop).Start.func1.1
    /home/runner/work/nginx-kubernetes-gateway/nginx-kubernetes-gateway/internal/framework/events/loop.go:68"
}

Info:

OS: linux (amd64)
OS Image: Ubuntu 22.04 LTS
Kernel version: 5.15.0-56-generic
Container runtime: docker:20.10.13
Kubelet version: v1.27.2
Gateway API: 0.8.0 standard-install
Nginx Gateway: 0.6

Hi @poneding, did you install version 0.6 using the latest released manifest or helm chart? https://github.com/nginxinc/nginx-kubernetes-gateway/tree/v0.6.0/deploy

Hi @poneding, did you install version 0.6 using the latest released manifest or helm chart? https://github.com/nginxinc/nginx-kubernetes-gateway/tree/v0.6.0/deploy

Hi @sjberman , I install v0.6 and main branch following docs/installation.md with manifest，but got same error both.

Can you provide the deployment manifest that you used to install? Also, are you running this in a cloud-provided kubernetes environment or in a local kubernetes environment?

Can you provide the deployment manifest that you used to install? Also, are you running this in a cloud-provided kubernetes environment or in a local kubernetes environment?

In a cloud virtual machine
apiVersion: v1
kind: Namespace
metadata:
  name: nginx-gateway
---
# Source: nginx-kubernetes-gateway/templates/rbac.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: nginx-gateway
  namespace: nginx-gateway
  labels:
    app.kubernetes.io/name: nginx-gateway
    app.kubernetes.io/instance: nginx-gateway
    app.kubernetes.io/version: "0.6.0"
  annotations:
    {}
---
# Source: nginx-kubernetes-gateway/templates/rbac.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: nginx-gateway
  labels:
    app.kubernetes.io/name: nginx-gateway
    app.kubernetes.io/instance: nginx-gateway
    app.kubernetes.io/version: "0.6.0"
rules:
- apiGroups:
  - ""
  resources:
  - namespaces
  - services
  - secrets
  verbs:
  - list
  - watch
- apiGroups:
  - ""
  resources:
  - events
  verbs:
  - create
  - patch
- apiGroups:
  - discovery.k8s.io
  resources:
  - endpointslices
  verbs:
  - list
  - watch
- apiGroups:
  - gateway.networking.k8s.io
  resources:
  - gatewayclasses
  - gateways
  - httproutes
  - referencegrants
  verbs:
  - list
  - watch
- apiGroups:
  - gateway.networking.k8s.io
  resources:
  - httproutes/status
  - gateways/status
  - gatewayclasses/status
  verbs:
  - update
- apiGroups:
  - gateway.nginx.org
  resources:
  - nginxgateways
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - gateway.nginx.org
  resources:
  - nginxgateways/status
  verbs:
  - update
---
# Source: nginx-kubernetes-gateway/templates/rbac.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: nginx-gateway
  labels:
    app.kubernetes.io/name: nginx-gateway
    app.kubernetes.io/instance: nginx-gateway
    app.kubernetes.io/version: "0.6.0"
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: nginx-gateway
subjects:
- kind: ServiceAccount
  name: nginx-gateway
  namespace: nginx-gateway
---
# Source: nginx-kubernetes-gateway/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-gateway
  namespace: nginx-gateway
  labels:
    app.kubernetes.io/name: nginx-gateway
    app.kubernetes.io/instance: nginx-gateway
    app.kubernetes.io/version: "0.6.0"
spec:
  # We only support a single replica for now
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: nginx-gateway
      app.kubernetes.io/instance: nginx-gateway
  template:
    metadata:
      labels:
        app.kubernetes.io/name: nginx-gateway
        app.kubernetes.io/instance: nginx-gateway
      annotations:
        prometheus.io/scrape: "true"
        prometheus.io/port: "9113"
    spec:
      containers:
      - args:
        - static-mode
        - --gateway-ctlr-name=gateway.nginx.org/nginx-gateway-controller
        - --gatewayclass=nginx
        - --config=nginx-gateway-config
        - --metrics-port=9113
        env:
        - name: POD_IP
          valueFrom:
            fieldRef:
              fieldPath: status.podIP
        - name: MY_NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace
        image: ghcr.io/nginxinc/nginx-kubernetes-gateway:0.6.0
        imagePullPolicy: IfNotPresent
        name: nginx-gateway
        ports:
        - name: metrics
          containerPort: 9113
        securityContext:
          allowPrivilegeEscalation: false
          capabilities:
            add:
            - KILL
            drop:
            - ALL
          readOnlyRootFilesystem: true
          runAsUser: 102
          runAsGroup: 1001
        volumeMounts:
        - name: nginx-conf
          mountPath: /etc/nginx/conf.d
        - name: nginx-secrets
          mountPath: /etc/nginx/secrets
        - name: nginx-run
          mountPath: /var/run/nginx
      - image: ghcr.io/nginxinc/nginx-kubernetes-gateway/nginx:0.6.0
        imagePullPolicy: IfNotPresent
        name: nginx
        ports:
        - containerPort: 80
          name: http
        - containerPort: 443
          name: https
        securityContext:
          capabilities:
            add:
            - NET_BIND_SERVICE
            drop:
            - ALL
          readOnlyRootFilesystem: true
          runAsUser: 101
          runAsGroup: 1001
        volumeMounts:
        - name: nginx-conf
          mountPath: /etc/nginx/conf.d
        - name: nginx-secrets
          mountPath: /etc/nginx/secrets
        - name: nginx-run
          mountPath: /var/run/nginx
        - name: nginx-cache
          mountPath: /var/cache/nginx
        - name: nginx-lib
          mountPath: /var/lib/nginx
      serviceAccountName: nginx-gateway
      shareProcessNamespace: true
      securityContext:
        fsGroup: 1001
        runAsNonRoot: true
      volumes:
      - name: nginx-conf
        emptyDir: {}
      - name: nginx-secrets
        emptyDir: {}
      - name: nginx-run
        emptyDir: {}
      - name: nginx-cache
        emptyDir: {}
      - name: nginx-lib
        emptyDir: {}
---
# Source: nginx-kubernetes-gateway/templates/gatewayclass.yaml
apiVersion: gateway.networking.k8s.io/v1beta1
kind: GatewayClass
metadata:
  name: nginx
  labels:
    app.kubernetes.io/name: nginx-gateway
    app.kubernetes.io/instance: nginx-gateway
    app.kubernetes.io/version: "0.6.0"
spec:
  controllerName: gateway.nginx.org/nginx-gateway-controller
---
# Source: nginx-kubernetes-gateway/templates/nginxgateway.yaml
apiVersion: gateway.nginx.org/v1alpha1
kind: NginxGateway
metadata:
  name: nginx-gateway-config
  namespace: nginx-gateway
  labels:
    app.kubernetes.io/name: nginx-gateway
    app.kubernetes.io/instance: nginx-gateway
    app.kubernetes.io/version: "0.6.0"
spec:
  logging:
    level: info

I install kubernetes by kubeadm

If you attempt to deploy v0.5.0 using that branch and installation guide, does it succeed?

If you attempt to deploy v0.5.0 using that branch and installation guide, does it succeed?

Ok, let me try it and tell you result later🤩

Deploy release-0.5, this time i got the correct result:
root@cloud ~$ k describe gateways.gateway.networking.k8s.io gateway
Name:         gateway
Namespace:    default
Labels:       domain=k8s-gateway.nginx.org
Annotations:  <none>
API Version:  gateway.networking.k8s.io/v1beta1
Kind:         Gateway
Metadata:
  Creation Timestamp:  2023-09-14T01:14:11Z
  Generation:          1
  Resource Version:    15010726
  UID:                 3d4e252e-4ede-4c9d-8181-bc8572be63e2
Spec:
  Gateway Class Name:  nginx
  Listeners:
    Allowed Routes:
      Namespaces:
        From:  Same
    Hostname:  *.example.com
    Name:      http
    Port:      80
    Protocol:  HTTP
Status:
  Addresses:
    Type:   IPAddress
    Value:  <IP_ADDRESS>
  Conditions:
    Last Transition Time:  2023-09-14T01:17:20Z
    Message:               Gateway is accepted
    Observed Generation:   1
    Reason:                Accepted
    Status:                True
    Type:                  Accepted
    Last Transition Time:  2023-09-14T01:17:20Z
    Message:               Gateway is programmed
    Observed Generation:   1
    Reason:                Programmed
    Status:                True
    Type:                  Programmed
  Listeners:
    Attached Routes:  2
    Conditions:
      Last Transition Time:  2023-09-14T01:17:20Z
      Message:               Listener is accepted
      Observed Generation:   1
      Reason:                Accepted
      Status:                True
      Type:                  Accepted
      Last Transition Time:  2023-09-14T01:17:20Z
      Message:               Listener is programmed
      Observed Generation:   1
      Reason:                Programmed
      Status:                True
      Type:                  Programmed
      Last Transition Time:  2023-09-14T01:17:20Z
      Message:               All references are resolved
      Observed Generation:   1
      Reason:                ResolvedRefs
      Status:                True
      Type:                  ResolvedRefs
      Last Transition Time:  2023-09-14T01:17:20Z
      Message:               No conflicts
      Observed Generation:   1
      Reason:                NoConflicts
      Status:                False
      Type:                  Conflicted
    Name:                    http
    Supported Kinds:
      Group:  gateway.networking.k8s.io
      Kind:   HTTPRoute
Events:       <none>
root@cloud ~$ curl --resolve cafe.example.com:$GW_PORT:$GW_IP http://cafe.example.com:$GW_PORT/coffee
Server address: <IP_ADDRESS>:8080
Server name: coffee-7dd75bc79b-2fldc
Date: 14/Sep/2023:01:19:23 +0000
URI: /coffee
Request ID: 6afc2955400ccfc25574c9696a9fa792

And then, i retry deloy latest main branch, but as the same, error log and cant not access.

Ok, our security contexts in the manifest for the Pod/containers have changed since our last release. Using the v0.6 release, could you try messing around with those? For example, setting runAsNonRoot to false or setting allowPrivilegeEscalation to true?

Ok, our security contexts in the manifest for the Pod/containers have changed since our last release. Using the v0.6 release, could you try messing around with those? For example, setting runAsNonRoot to false or setting allowPrivilegeEscalation to true?

The fact is that I get the correct result when I set allowPrivilegeEscalation to true. runAsNonRoot does not affect to the result. Will allowPrivilegeEscalation be set to true by default in future releases?

Here is our plan for addressing this issue:

attempt to reproduce the permissions issue on other k8s environments. We currently do not see this issue on kind clusters or GKE
unless this is seen as a common issue in other environments, we'll likely keep this as the default value since it is the more secure option
allow for the value to be configurable in our helm chart
document for users of the direct manifest (non-helm users) to update this value if they see permissions issues

@poneding In initial testing, we aren't seeing the permissions issues in other k8s environments, so I'm curious if there is a setting that you have configured in your kubeadm deployment that would require privilege escalation for system calls.


Got stuck on Downloading dependency: core 1.3.1

Goals
Install Realm, not Realm-Swift
Expected Results
Install successfully
Actual Results
Same with #2240
I've got stuck at Downloading dependency: core 1.3.1.
pod install --no-repo-update --verbose

Preparing
[!] Unable to load a specification for the plugin /Library/Ruby/Gems/2.0.0/gems/cocoapods-deintegrate-1.0.0

Analyzing dependencies

Inspecting targets to integrate
Using ARCHS setting to build architectures of target Pods: () Using `ARCHS` setting to build architectures of target `Pods-PackageCLI`: ()
Using ARCHS setting to build architectures of target Pods-PackageDecode: () Using `ARCHS` setting to build architectures of target `Pods-PackageCLITest`: ()

Finding Podfile changes

Expecta
MSPackageManager
Specta
Fetching external sources
-> Fetching podspec for MSPackageManager from ../

Resolving dependencies of Podfile

Comparing resolved specification to the sandbox manifest
A Realm
M MSPackageManager

AFNetworking
Expecta
Specta
Downloading dependencies

-> Using AFNetworking (3.1.0)

-> Using Expecta (1.0.5)

-> Installing MSPackageManager 0.1.0 (was 0.1.0)

-> Installing Realm (1.0.2)

Git download
Git download
$ /usr/local/opt/git/libexec/git-core/git clone https://github.com/realm/realm-cocoa.git
/var/folders/zp/g4lt8dzj4p3b1tb8jwl702m40000gp/T/d20160722-69260-j26dzn --single-branch --depth
1 --branch v1.0.2
Cloning into '/var/folders/zp/g4lt8dzj4p3b1tb8jwl702m40000gp/T/d20160722-69260-j26dzn'...
Note: checking out '10ef693b9935694f58f49b264008f6cf3ccccf61'.
 You are in 'detached HEAD' state. You can look around, make experimental
 changes and commit them, and you can discard any commits you make in this
 state without impacting any branches by performing another checkout.

 If you want to create a new branch to retain commits you create, you may
 do so (now or later) by using -b with the checkout command again. Example:

   git checkout -b <new-branch-name>
Running prepare command
$ /bin/bash -c set -e sh build.sh cocoapods-setup
core is not a symlink. Deleting...
Downloading dependency: core 1.3.1

Steps to Reproduce
Code Sample
It's an issue before coding
Version of Realm and Tooling
In the CONTRIBUTING guidelines, you will find a script,
which will help determining these versions.
Realm version:  Any Realm in OC, not Swift is OK, actually it's checking out core 1.3.1
Xcode version:
iOS/OSX version: 7.0+
Dependency manager + version: CocoaPods 0.39.0
Addition
I've found other's solution like this
curl https://static.realm.io/downloads/core/realm-core-1.0.1.tar.bz2 -O
mkdir $TMPDIR/core_bin
mv realm-core-1.0.1.tar.bz2 $TMPDIR/core_bin

文／demoker（简书作者）
原文链接：http://www.jianshu.com/p/0fd0a32a1074
著作权归作者所有，转载请联系作者获得授权，并标注“简书作者”。
Then I tried to modify the link to https://static.realm.io/downloads/core/realm-core-1.3.1.tar.bz2, but there is no resource of it.

Thanks for filing a new issue, @aelam!
How long are you waiting after the Downloading dependency: core 1.3.1  message appears during pod install? The core library is around 35MB in size, so depending on your network connection it may take a few minutes to download.

Then I tried to modify the link to https://static.realm.io/downloads/core/realm-core-1.3.1.tar.bz2, but there is no resource of it.

We changed the file extension recently from .tar.bz2 to .tar.xz for better compression.

Oh, maybe that is the problem. I am trying download the tar.xz now. The connection from here China is super slow, though we have a good bandwidth. It needs at least 40 minutes.

Sorry for these issues @aelam, we're aware of connection issues with China and are tracking that generally in #2713.

Thank you!
2016-07-26 20:24 GMT+00:00 JP Simard<EMAIL_ADDRESS>
Sorry for these issues @aelam https://github.com/aelam, we're aware of
connection issues with China and are tracking that generally in #2713
https://github.com/realm/realm-cocoa/issues/2713.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/realm/realm-cocoa/issues/3904#issuecomment-235393282,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOLkcvjmkQT8bEwx-MVpTixNcSdhsTAks5qZmzygaJpZM4JSaX5
.


[SCIM] Value of 'location' HTTP header is incorrect in tenant mode

Description
I noticed the above mentioned issue while creating a user via SCIM where the 'location' HTTP header does not include the tenant domain in the URL. However the value of the 'location' meta attribute is correct. Both the 'location' meta attribute and the 'location' HTTP header should have the same value. See the example below.
'location' meta attribute:

https://localhost:9853/t/wso2.com/scim2/Users/ecea2770-fa2b-48a3-b33f-c43ae36e1aad

'location' HTTP header:

https://localhost:9853/scim2/Users/ecea2770-fa2b-48a3-b33f-c43ae36e1aad

Steps to Reproduce

Create a tenant (e.g. wso2.com).
Create a user with SCIM.
Compare the values of the 'location' meta attribute and the 'location' HTTP header.

Post Actions

Enable the test[1] after fixing this issue.

Affected Versions

5.9

[1] https://github.com/wso2/product-is/blob/6593b883b0f5c0531c6c84f275a345cf91e419b2/modules/integration/tests-integration/tests-backend/src/test/java/org/wso2/identity/integration/test/scim2/rest/api/SCIMUtils.java#L80

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


Use our current Admin users in our faked admin checker

We are actually using two admin users: rasmus and roodmin. This commit
reflects current usage, which makes development a little easier.

Coverage increased (+0.05%) to 46.252% when pulling e66238242630d34ed6a34c869de8f4273f121957 on update-fake-admin-list into 29f7614aed6ebf1a9d6a98ebc587a90d26615c72 on master.

This is no longer valid, since we've changed domains on our Azure test account.


Error when trying to restore from history

When trying to restore from history, I get the following error:
AttributeError: 'NoneType' object has no attribute 'tree_id'
I am using Django CMS 3.0.3
Traceback (most recent call last):

  File "/srv/env-master/lib/python2.6/site-packages/django/core/handlers/base.py", line 112, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)

  File "/srv/env-master/lib/python2.6/site-packages/django/utils/decorators.py", line 99, in _wrapped_view
    response = view_func(request, *args, **kwargs)

  File "/srv/env-master/lib/python2.6/site-packages/django/views/decorators/cache.py", line 52, in _wrapped_view_func
    response = view_func(request, *args, **kwargs)

  File "/srv/env-master/lib/python2.6/site-packages/django/contrib/admin/sites.py", line 198, in inner
    return view(request, *args, **kwargs)

  File "/srv/env-master/lib/python2.6/site-packages/reversion/revisions.py", line 300, in do_revision_context
    return func(*args, **kwargs)

  File "/srv/env-master/lib/python2.6/site-packages/cms/admin/pageadmin.py", line 748, in revision_view
    response = super(PageAdmin, self).revision_view(request, object_id, version_id, extra_context)

  File "/srv/env-master/lib/python2.6/site-packages/django/db/transaction.py", line 431, in inner
    return func(*args, **kwargs)

  File "/srv/env-master/lib/python2.6/site-packages/reversion/admin.py", line 406, in revision_view
    return self.render_revision_form(request, obj, version, context, revert=True)

  File "/srv/env-master/lib/python2.6/site-packages/cms/admin/pageadmin.py", line 772, in render_revision_form
    return super(PageAdmin, self).render_revision_form(request, obj, version, context, revert, recover)

  File "/srv/env-master/lib/python2.6/site-packages/reversion/admin.py", line 292, in render_revision_form
    self.save_model(request, new_object, form, change=True)

  File "/srv/env-master/lib/python2.6/site-packages/cms/admin/pageadmin.py", line 209, in save_model
    revert_plugins(request, obj.version.pk, obj)

  File "/srv/env-master/lib/python2.6/site-packages/cms/admin/views.py", line 52, in revert_plugins
    p.save()

  File "/srv/env-master/lib/python2.6/site-packages/cms/models/pluginmodel.py", line 243, in save
    super(CMSPlugin, self).save()

  File "/srv/env-master/lib/python2.6/site-packages/mptt/models.py", line 782, in save
    getattr(self, opts.tree_id_attr) != getattr(parent, opts.tree_id_attr) or

AttributeError: 'NoneType' object has no attribute 'tree_id'

@petzlux Does this still happens in latest 3.0.12?

This has been fixed


[BUG]

Dear,
I am trying to play with Malpolon without great experience in CNN.
My objective is to generate a distribution model for one species and compare the result with other SDM engine.
I have 42 environmental variable (without sentinel data)
For the configuration, I was inspired by this example (https://github.com/plantnet/malpolon/tree/main/examples/custom_train/sentinel-2a-rgbnir_bioclim) and I custom the configuration file like this :
hydra:
  run:
    dir: outputs/${hydra.job.name}/${now:%Y-%m-%d_%H-%M-%S}

run:
  predict: false
  #checkpoint_path: 'outputs/and.cyl/train_binary/last.ckpt'
  checkpoint_path: null

data:
  num_classes: &num_classes 5
  train_batch_size: 2
  inference_batch_size: 2
  num_workers: 8
  dataset_kwargs:
    - callable: "RasterBioclim"
      kwargs:
        root: "dataset/env_data/"
        labels_name: "../20240212-Extraction_GN-and.cyl-subset.csv"
        query_units: "pixel"
        query_crs: 4326
        patch_size: 128
        filename_regex: '(?P<band>bio_[\d])_crop_sample'  # single quotes are mandatory
        bands: ["bio_1", "bio_2", "bio_3", "bio_4", "bio_5", "bio_6", "bio_7", "bio_8", "bio_9", "bio_10", "bio_11", "bio_12", "bio_13", "bio_14", "bio_15", "bio_16", "bio_17", "bio_18", "bio_19", "bio_20", "bio_21", "bio_22", "bio_23", "bio_24", "bio_25", "bio_26", "bio_27", "bio_28", "bio_29", "bio_30", "bio_31", "bio_32", "bio_33", "bio_34", "bio_35", "bio_36", "bio_37", "bio_38", "bio_39", "bio_40", "bio_41", "bio_42"]
        obs_data_columns: {'x': 'longitude',
                           'y': 'latitude',
                           'index': 'index',
                           'species_id': 'species_id',
                           'split': 'subset'}
    #- callable: "PatchesDataset"
    #  kwargs:
    #    occurrences: "dataset/20240212-Extraction_GN-and.cyl-subset.csv"
    #    providers:
    #      - callable: "JpegPatchProvider"
    #        kwargs:
    #          root_path: "dataset/satellite_patches/"
    #          dataset_stats: 'jpeg_patches_sample_stats.csv'
    #          id_getitem: "surveyId"
    #          size: 128
    #          select: ['red', 'green', 'blue', 'nir']
    #    item_columns: ['longitude', 'latitude', 'surveyId']

task:
  task: "classification_binary" # ['classification_binary', 'classification_multiclass', 'classification_multilabel']

trainer:
  #accelerator: "gpu"
  accelerator: "cpu"
  devices: 'auto'
  max_epochs: 5
  # val_check_interval: 2
  check_val_every_n_epoch: 1
  log_every_n_steps: 10

model:
  provider_name: "timm" # choose from ["timm", "torchvision"]
  model_name: "resnet18"
  model_kwargs:
    pretrained: true # Deprecated in torchvision since 0.13 (replaced by "weights") but used by timm
    num_classes:
    in_chans:
    output_stride:
    global_pool:
  modifiers:
    change_first_convolutional_layer:
      num_input_channels: 42 # nombre de couche de donnnées d'environnement
    change_last_layer:
      num_outputs: *num_classes

optimizer:
  lr: 1e-2
  weight_decay: 0
  momentum: 0.9
  nesterov: true
  metrics:
    # binary_accuracy:
    #   # callable: 'Fmetrics.accuracy'
    #   kwargs: {}
    # multiclass_accuracy:
    #   # callable: 'Fmetrics.classification.multiclass_accuracy'
    #   kwargs:
    #     num_classes: *num_classes
    multilabel_accuracy:
      # callable: 'Fmetrics.classification.multilabel_accuracy'
      kwargs:
        num_labels: *num_classes

I didn't change the python script (https://github.com/plantnet/malpolon/blob/main/examples/custom_train/sentinel-2a-rgbnir_bioclim/cnn_on_rgbnir_concat.py) except changing the name of the file to "cnn_on_varenv.py"
When i try to run the python script, i have error returned
Matplotlib created a temporary cache directory at /tmp/matplotlib-5e8sftwq because the default path (/home/geonatureadmin/.config/matplotlib) is not a writable directory; it is highly recommended to set the MPLCONFIGDIR environment variable to a writable directory, in particular to speed up the import of Matplotlib and to better support multiprocessing.
/home/geonatureadmin/malpolon/venv/lib/python3.10/site-packages/lightning_fabric/loggers/csv_logs.py:268: Experiment logs directory /home/geonatureadmin/malpolon/outputs/cnn_on_varenv/2024-09-13_15-32-49/ exists and is not empty. Previous log files in this directory will be deleted when the new ones are saved!
[2024-09-13 15:32:49,616][timm.models._builder][INFO] - Loading pretrained weights from Hugging Face hub (timm/resnet18.a1_in1k)
[2024-09-13 15:32:49,785][timm.models._hub][INFO] - [timm/resnet18.a1_in1k] Safe alternative available for 'pytorch_model.bin' (as 'model.safetensors'). Loading weights using safetensors.
GPU available: False, used: False
TPU available: False, using: 0 TPU cores
HPU available: False, using: 0 HPUs
/home/geonatureadmin/malpolon/venv/lib/python3.10/site-packages/pytorch_lightning/callbacks/model_checkpoint.py:654: Checkpoint directory /home/geonatureadmin/malpolon/outputs/cnn_on_varenv/2024-09-13_15-32-49 exists and is not empty.

  | Name  | Type              | Params | Mode
----------------------------------------------------
0 | model | ResNet            | 11.2 M | train
1 | loss  | BCEWithLogitsLoss | 0      | train
----------------------------------------------------
11.2 M    Trainable params
0         Non-trainable params
11.2 M    Total params
44.779    Total estimated model params size (MB)
95        Modules in train mode
0         Modules in eval mode
Sanity Checking DataLoader 0:   0%|                                                                                | 0/2 [00:00<?, ?it/s]Error executing job with overrides: []
Traceback (most recent call last):
  File "/home/geonatureadmin/malpolon/cnn_on_varenv.py", line 91, in main
    trainer.fit(classif_system, datamodule=datamodule, ckpt_path=classif_system.checkpoint_path)
  File "/home/geonatureadmin/malpolon/venv/lib/python3.10/site-packages/pytorch_lightning/trainer/trainer.py", line 538, in fit
    call._call_and_handle_interrupt(
  File "/home/geonatureadmin/malpolon/venv/lib/python3.10/site-packages/pytorch_lightning/trainer/call.py", line 47, in _call_and_handle_interrupt
    return trainer_fn(*args, **kwargs)
  File "/home/geonatureadmin/malpolon/venv/lib/python3.10/site-packages/pytorch_lightning/trainer/trainer.py", line 574, in _fit_impl
    self._run(model, ckpt_path=ckpt_path)
  File "/home/geonatureadmin/malpolon/venv/lib/python3.10/site-packages/pytorch_lightning/trainer/trainer.py", line 981, in _run
    results = self._run_stage()
  File "/home/geonatureadmin/malpolon/venv/lib/python3.10/site-packages/pytorch_lightning/trainer/trainer.py", line 1023, in _run_stage
    self._run_sanity_check()
  File "/home/geonatureadmin/malpolon/venv/lib/python3.10/site-packages/pytorch_lightning/trainer/trainer.py", line 1052, in _run_sanity_check
    val_loop.run()
  File "/home/geonatureadmin/malpolon/venv/lib/python3.10/site-packages/pytorch_lightning/loops/utilities.py", line 178, in _decorator
    return loop_run(self, *args, **kwargs)
  File "/home/geonatureadmin/malpolon/venv/lib/python3.10/site-packages/pytorch_lightning/loops/evaluation_loop.py", line 135, in run
    self._evaluation_step(batch, batch_idx, dataloader_idx, dataloader_iter)
  File "/home/geonatureadmin/malpolon/venv/lib/python3.10/site-packages/pytorch_lightning/loops/evaluation_loop.py", line 396, in _evaluation_step
    output = call._call_strategy_hook(trainer, hook_name, *step_args)
  File "/home/geonatureadmin/malpolon/venv/lib/python3.10/site-packages/pytorch_lightning/trainer/call.py", line 319, in _call_strategy_hook
    output = fn(*args, **kwargs)
  File "/home/geonatureadmin/malpolon/venv/lib/python3.10/site-packages/pytorch_lightning/strategies/strategy.py", line 411, in validation_step
    return self.lightning_module.validation_step(*args, **kwargs)
  File "/home/geonatureadmin/malpolon/venv/lib/python3.10/site-packages/malpolon/models/standard_prediction_systems.py", line 169, in validation_step
    return self._step("val", batch, batch_idx)
  File "/home/geonatureadmin/malpolon/venv/lib/python3.10/site-packages/malpolon/models/standard_prediction_systems.py", line 149, in _step
    loss = self.loss(y_hat, self._cast_type_to_loss(y))  # Shape mismatch for binary: need to 'y = y.unsqueeze(1)' (or use .reshape(2)) to cast from [2] to [2,1] and cast y to float with .float()
  File "/home/geonatureadmin/malpolon/venv/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1553, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/geonatureadmin/malpolon/venv/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1562, in _call_impl
    return forward_call(*args, **kwargs)
  File "/home/geonatureadmin/malpolon/venv/lib/python3.10/site-packages/torch/nn/modules/loss.py", line 734, in forward
    return F.binary_cross_entropy_with_logits(input, target,
  File "/home/geonatureadmin/malpolon/venv/lib/python3.10/site-packages/torch/nn/functional.py", line 3242, in binary_cross_entropy_with_logits
    raise ValueError(f"Target size ({target.size()}) must be the same as input size ({input.size()})")
ValueError: Target size (torch.Size([2, 1])) must be the same as input size (torch.Size([2, 5]))

Set the environment variable HYDRA_FULL_ERROR=1 for a complete stack trace.

I don't know what is the problem and I arrive at the limit of what my current knowledge permit me to do.
Do you think you can give me help ?
Thank you in advance,

Sorry, I got it !
I was needed to change the data.num_classes parameter like this :
num_classes: &num_classes 1
because I work on one only one species.
It's running hope everything gonna be alright


Please release 6.2.2 version

for deployment reasons i need to have the #2111 fixed library on maven central.
i cannot do it with the dev version for security reasons

are you serious?


Name collision with active record model named Factory

As title, it creates error: 'Factory is not a class', the project has been developed for a while, with the dependency required renaming my own model doesn't sound too feasible, what's the solution for me?

Can you paste both the model, the factory definition, the spec, and the full backtrace of the failure? I just ran this spec within the factory girl suite without issue:
require "spec_helper"

describe "factory named Factory" do
  before do
    define_model("Factory", :name => :string)
    FactoryGirl.define do
      factory :factory
    end
  end

  it "works correctly" do
    FactoryGirl.build(:factory, :name => "Awesome Factory").name.should == "Awesome Factory"
  end
end

Thanks!


[BUG]

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
open swagger page, and open one interface, can't see token header in request parameter
Expected Behavior
have a token header
Steps To Reproduce
No response
Environment
ShenYu version(s): latest

Debug logs
No response
Anything else?
No response

Please assign to me


RFE: Support Helios KWL Modbus implementation

Please support the fancy Helios KWL implementation of Modbus. https://www.heliosventilatoren.de/mbv/kwl-modbus_gateway_82269_0714_d_e_f.pdf
They require that at first the desired variable is written into a register and with the subsequential read from the holding registers, the value is returned.
Setting of values looks similar, just enter the variable name = value, e.g. v00102=1 to set the fan to level 1.
helios.txt
Example:
Temperatur Zuluft = v00105
First step: Write this into the register after the payload has been encoded. The documentation about the number of registers to read is either wrong or I don't get it ;-)
builder = BinaryPayloadBuilder(endian=Endian.Little)
builder.add_string('v00105\0')
REGISTERS_TO_READ = 32
payload = builder.build()
client.write_registers(FIRST_REGISTER_ADDR, payload, skip_encode=True, unit=SLAVE_ID)

Second step: retrieve values:
result = client.read_holding_registers(FIRST_REGISTER_ADDR, REGISTERS_TO_READ, unit=SLAVE_ID)
print(BinaryPayloadDecoder.fromRegisters(result.registers, endian=Endian.Little).decode_string(REGISTERS_TO_READ))

Output:
homeassistant@homeassistant:~/.homeassistant/helios$ python helios.py
v00105=17.7

Working example file attached.

Updated version of my script. Python noob, please excuse 😄
#!/usr/bin/env python

from pymodbus.client.sync import ModbusTcpClient as ModbusClient
from pymodbus.constants import Endian
from pymodbus.payload import BinaryPayloadDecoder
from pymodbus.payload import BinaryPayloadBuilder
import logging
import argparse
import fcntl, sys, os
import re

SLAVE_ID = 180
FIRST_REGISTER_ADDR = 0x01

# testing modbus communication
def main(ip, variable, rtr):
    logging.basicConfig()
    log = logging.getLogger()
    log.setLevel(logging.ERROR)

    # stupid workaround to use the correct number of registers
    rtr = rtr + 3
    if rtr < 8:
	rtr = 8

    client = ModbusClient(ip, 502)
    client.connect()

    builder = BinaryPayloadBuilder(endian=Endian.Little)
    builder.add_string(variable + '\0')

    payload = builder.build()
    client.write_registers(FIRST_REGISTER_ADDR, payload,
                           skip_encode=True, unit=SLAVE_ID)

    result = client.read_holding_registers(
        FIRST_REGISTER_ADDR, rtr, unit=SLAVE_ID)

    output = BinaryPayloadDecoder.fromRegisters(result.registers,
                                             endian=Endian.Little).decode_string(rtr)

    # get rid of null bytes http://chase-seibert.github.io/blog/2011/05/20/stripping-control-characters-in-python.html
    output = re.sub(u'([\u0000])', "", output)
    print(output)

if __name__ == "__main__":
    pid_file = '/tmp/helios.pid'
    fp = open(pid_file, 'w')
    try:
        fcntl.lockf(fp, fcntl.LOCK_EX | fcntl.LOCK_NB)
    except IOError:
        # another instance is running
        sys.exit(1)
    fp.write(str(os.getpid()))

    parser = argparse.ArgumentParser(description = 'Helios KWL Modbus interface')
    parser.add_argument('ip', help='IP address of Modbus slave')
    parser.add_argument('registers', help='Number of registers to read. Can be obtained from the KWL documentation.')
    parser.add_argument('variable', help='Variable to read. If value should be set, append =value, e.g. v00102=1 to set fan to level 1.')

    args = parser.parse_args()
    main(args.ip, args.variable, int(args.registers))
    fp.close()
    os.unlink(pid_file)

Working with this sensor config:
# documentation: https://www.heliosventilatoren.de/mbv/kwl-modbus_gateway_82269_0714_d_e_f.pdf
- platform: command_line
  name: Betriebsart
  value_template: "{% if value.split ('=')[1] == '1' %}manuell{% elif value.split ('=')[1] == '0' %}automatisch{% endif %}"
  command: '/home/homeassistant/.homeassistant/helios/helios.py helios.fritz.box 5 v00101'
- platform: command_line
  name: Lüfterstufe
  value_template: "{{value.split ('=')[1]}}"
  command: '/home/homeassistant/.homeassistant/helios/helios.py helios.fritz.box 5 v00102'
- platform: command_line
  name: Temperatur Außenluft
  value_template: "{{value.split ('=')[1]}}"
  unit_of_measurement: '°C'
  command: '/home/homeassistant/.homeassistant/helios/helios.py helios.fritz.box 8 v00104'
- platform: command_line
  name: Temperatur Zuluft
  value_template: "{{value.split ('=')[1]}}"
  unit_of_measurement: '°C'
  command: '/home/homeassistant/.homeassistant/helios/helios.py helios.fritz.box 8 v00105'
- platform: command_line
  name: Temperatur Fortluft
  value_template: "{{value.split ('=')[1]}}"
  unit_of_measurement: '°C'
  command: '/home/homeassistant/.homeassistant/helios/helios.py helios.fritz.box 8 v00106'
- platform: command_line
  name: Temperatur Abluft
  value_template: "{{value.split ('=')[1]}}"
  unit_of_measurement: '°C'
  command: '/home/homeassistant/.homeassistant/helios/helios.py helios.fritz.box 8 v00107'
- platform: command_line
  name: Lüfter Zuluft RPM
  value_template: "{{value.split ('=')[1]}}"
  command: '/home/homeassistant/.homeassistant/helios/helios.py helios.fritz.box 8 v00348'
- platform: command_line
  name: Lüfter Abluft RPM
  value_template: "{{value.split ('=')[1]}}"
  command: '/home/homeassistant/.homeassistant/helios/helios.py helios.fritz.box 8 v00349'

Nevertheless it would be nice if there existed a better way of doing this.
Home Assistant is great 😃

Important fact: due to the fancy nature of the Helios KWL Modbus implementation, only one script at a time must be executed. Otherwise the values are overwritten in the register and hence wrong values retrieved. This is the reason for the locking mechanism in the python script - If this gets implemented into HA, this needs to be maintained as well!

I am also fine if this is closed and can be found here as a reference. Demand does not seem too high ;-)


Fix error

In certain random times I am having the following error:
sizeof(): Parameter must be an array or an object that implements Countable```

This fixes this issue by setting the value also when `$this->countries` is unset|null

+1

fixed via PR #92


Make Evidence Size available in Redis

We have a function in mount_local.py named GetDiskSize that will grab the size of a given Disk or File path and adds to the evidence object a size value to use however this value is not queryable through Redis/API so filing to get it added so we can track evidence size across our processing requests.

Completed in #1295


Active maintainers?

Hey @GeorgeKaraszi it looks like you're the only member of elevatorup, is this repo actively maintained?

@thejbsmith?

For posterity @joshua-honig seems to be working on this repo now :)

hey @jacobherrington I thought I'd jump in and give ya a quick update. We built this for a project we did awhile back and wanted to release what we did to everyone else. @joshua-honig @GeorgeKaraszi and @altereagle are developers here that you can bug on things and they'll be jumping into this project here soon.
Sorry for the radio silence.


Enable voice management of consolidated csv settings

Goal: provide voice commands for supplementing user vocabulary files, e.g. 'additional word' to add a new word.
Inspired by code shared by @pokey some time back.
A secondary goal is to consolidate user vocabulary settings in one place (under the settings folder).
This change makes use of the user's default application mapping to open the .csv files. I tried to avoid security pitfalls common for this sort of use case. It seems to work on windows and (Ubuntu 21.04) linux, have not tested on mac though.
I included code to move to the end of the newly-opened file and start a new line. This code is sensitive to timing variations, however. I'm looking for suggestions on how to do this better...I tried using a 'win_focus' callback, but that fails when the default application already has focus.

I just pushed a change to make edit_talon_user_csv() more flexible by allowing both absolute and relative paths, as long as they are within the talon user directory. Also added a check to make sure the target path actually exists before trying to 'execute' it.

Travelling so haven't had a chance to look in detail, but worth mentioning https://github.com/knausj85/knausj_talon/issues/792 in case you've not seen it

@pokey I hadn't seen that, thanks for sharing it.
I found the code from @wolfmanstout instructive, on multiple levels. It seems to be very well done and has some sophisticated features.
I suppose the two approaches are complementary, in that both the interactive and fully-automated use cases are valid. I don't think they should conflict with each other, as long as the voice commands are kept distinct.

@codecat555 Thanks! I do plan to upstream that code. I continue to make improvements, so make sure you are looking at the latest version if you want to use any of it yourself.

I was hoping to get to this today but I didn't have time. Hopefully I'll be able to take a look at it at the next knausj maintenance session in two weeks.

@rntz Item #1 in your list is the core of what I wanted to contribute with this PR.
The other two things were sort of incidental. My longer-term goal with these was to consolidate all the user-customizable csv files in one place, as a first step on the path toward providing some mechanism for keeping those things in a location outside of knausj_talon...so users could keep them in their own personal repos.
Since I submitted this PR, I have read through the other issues open on knausj_talon and see there has been some ongoing discussion and work related to csv files in general. Also, there seems to be a Talon bug related to the function I used in this change (get_list_from_csv).
Given all that, perhaps it best to just let this one go. The changes I suggested here might fit into the other csv work that is already in process.


[feature] Demo - copy name/tag on double click

Thanks for providing this package! :)
Would it be possible to copy the HTML tag when you click on a symbol?
It's now a bit difficult to copy the symbol name.

This is possible with a few lines of JavaScript and has nothing to do with this library. I think it is unnecessary to give a demo for common unrelated issues.
@marella, do you agree?


fix bug

./node_modules/material-ui-pickers/_shared/ModalDialog.js
Module not found: Can't resolve '@material-ui/core/Button' in '/home/leandro/DEV/TUTORIALS/react-point-of-sale/pos-ui/node_modules/material-ui-pickers/_shared'

Closing this for now. I am going to start active development in a new branch with React hooks and updated version of material ui. So will fix there.


Can you include external snippets (like in this example) ?

Hi,
I want to replicate what is done with spring restdocs, where they generate snippets of documentation based on the tests in the code, and include those snippets in slate documentation. See an example here: https://github.com/spring-projects/spring-restdocs/blob/v1.1.2.RELEASE/samples/rest-notes-slate/slate/source/api-guide.md.erb
Would it be possible to include external snippets like what is done there with <%= ERB.new(File.read) %> using shins?

Not looking for ruby support btw. Just looking for a way to have one document that can include snippets from elsewhere.

Yes, I think it should be possible, either in a similar way (allowing a html.md.ejs extension for embedded Javascript) or by supporting a markdown pre-processor - such as markdown-pp-js which supports a !INCLUDE directive.

asciidoc could be nice (http://asciidoctor.org/docs/asciidoc-syntax-quick-reference/#include-files), but I'll leave that entirely up to you :)

Both include::filename[] and !INCLUDE filename syntaxes are supported in shins v2.1.1-2.
This currently only works for local files, not urls. The html.md.ejs option is also not supported yet.
Thanks for the suggestion!


React 15 support

not expecting a merge - but if someone ran into the same issue I did, it might be useful
Issue
react-photonkit crashed out for me due to getDOMNode having been removed in React 15
Upstream PR
There's a pull request at https://github.com/RubaXa/Sortable/pull/754/files to fix this upstream.
Where this came from
Clone react-photonkit, run npm install, then edit curl https://raw.githubusercontent.com/Folkloreatelier/Sortable/b24a0216562b20dbd862bda3fca35ac4843a4877/react-sortable-mixin.js > node_modules/sortablejs/react-sortable-mixin.js then npm run build.
Workaround
This PR/branch just contains a temporary workaround for those needing to react-photonkit with react 15 it in the meantime.
Thanks!

Close it now and we will bumup soon. thanks


RES.c

The Ripple Effect Scheduling (RES) algorithm prioritizes tasks based on their priority level, aiming to minimize disruptions to lower-priority tasks. It first sorts tasks by priority and calculates waiting and turnaround times. A "ripple effect" adjustment slightly reduces waiting time for lower-priority tasks when preceded by higher-priority tasks. This approach ensures high-priority tasks are handled efficiently while minimizing the impact on lower-priority ones.

@pankaj-bind please check it once.

@pankaj-bind Please Review it once.

@pankaj-bind please check it once.
Made the required changes.


fix: hydration ID mismatch with nested Suspense

@nicoburniske This does seem to fix the nested Suspense issue in the reproduction case you shared with me (I think) but it also seems like kind of a stupid solution to me, so I'd appreciate it if you could help test it in your initial use case.

@gbj What do you think about this?

I think this one's just broken for other cases, will close for now.